summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbviyer <bviyer@138bc75d-0d04-0410-961f-82ee72b054a4>2013-01-07 16:42:49 +0000
committerbviyer <bviyer@138bc75d-0d04-0410-961f-82ee72b054a4>2013-01-07 16:42:49 +0000
commit5391d40fb4321a779e2a0fcb7353b421a20121ba (patch)
tree270c2cd1491c40f8ae4b82d95b25b0e914a1f0a8
parenta94856bbd406ecad873946beeeeabec5db7eb7ac (diff)
downloadgcc-5391d40fb4321a779e2a0fcb7353b421a20121ba.tar.gz
Merged with trunk at revision 194958.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/cilkplus@194982 138bc75d-0d04-0410-961f-82ee72b054a4
-rwxr-xr-xcontrib/check_GNU_style.sh2
-rw-r--r--contrib/check_makefile_deps.sh2
-rwxr-xr-xcontrib/compare-debug2
-rwxr-xr-xcontrib/repro_fail2
-rw-r--r--fixincludes/Makefile.in2
-rw-r--r--fixincludes/fixincl.c2
-rw-r--r--fixincludes/fixlib.h2
-rw-r--r--fixincludes/fixopts.c2
-rw-r--r--fixincludes/fixtests.c3
-rwxr-xr-xfixincludes/genfixes2
-rw-r--r--gcc/ChangeLog35593
-rw-r--r--gcc/ChangeLog-201235421
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/LANGUAGES2
-rw-r--r--gcc/ada/ChangeLog9231
-rw-r--r--gcc/ada/ChangeLog-20128694
-rw-r--r--gcc/ada/Makefile.rtl20
-rw-r--r--gcc/ada/a-assert.adb2
-rw-r--r--gcc/ada/a-cbmutr.ads2
-rw-r--r--gcc/ada/a-chacon.adb2
-rw-r--r--gcc/ada/a-chacon.ads2
-rw-r--r--gcc/ada/a-envvar.adb2
-rw-r--r--gcc/ada/a-exetim-mingw.ads2
-rw-r--r--gcc/ada/a-numaux-vms.ads2
-rw-r--r--gcc/ada/a-suenco.adb2
-rw-r--r--gcc/ada/a-suenst.adb2
-rw-r--r--gcc/ada/a-suewst.adb2
-rw-r--r--gcc/ada/a-suezst.adb2
-rw-r--r--gcc/ada/a-textio.ads2
-rw-r--r--gcc/ada/a-tienio.adb4
-rw-r--r--gcc/ada/a-tirsfi.adb2
-rw-r--r--gcc/ada/a-tirsfi.ads2
-rw-r--r--gcc/ada/a-wichha.adb2
-rw-r--r--gcc/ada/a-wichun.ads2
-rw-r--r--gcc/ada/a-witeio.ads2
-rw-r--r--gcc/ada/a-zchhan.adb2
-rw-r--r--gcc/ada/a-zchuni.adb2
-rw-r--r--gcc/ada/a-zchuni.ads2
-rw-r--r--gcc/ada/a-zrstfi.adb2
-rw-r--r--gcc/ada/a-zrstfi.ads2
-rw-r--r--gcc/ada/a-ztexio.ads2
-rw-r--r--gcc/ada/adaint.c48
-rw-r--r--gcc/ada/adaint.h1
-rw-r--r--gcc/ada/arit64.c57
-rw-r--r--gcc/ada/aspects.adb2
-rw-r--r--gcc/ada/aspects.ads10
-rw-r--r--gcc/ada/atree.adb990
-rw-r--r--gcc/ada/atree.ads509
-rw-r--r--gcc/ada/checks.adb72
-rw-r--r--gcc/ada/checks.ads7
-rw-r--r--gcc/ada/einfo.adb322
-rw-r--r--gcc/ada/einfo.ads132
-rw-r--r--gcc/ada/exp_aggr.adb87
-rw-r--r--gcc/ada/exp_attr.adb1
-rw-r--r--gcc/ada/exp_ch11.adb2
-rw-r--r--gcc/ada/exp_ch3.adb46
-rw-r--r--gcc/ada/exp_ch4.adb6
-rw-r--r--gcc/ada/exp_ch5.adb18
-rw-r--r--gcc/ada/exp_disp.adb2
-rw-r--r--gcc/ada/exp_intr.adb3
-rw-r--r--gcc/ada/exp_prag.adb35
-rw-r--r--gcc/ada/exp_util.adb411
-rw-r--r--gcc/ada/exp_util.ads19
-rw-r--r--gcc/ada/freeze.adb75
-rw-r--r--gcc/ada/freeze.ads2
-rw-r--r--gcc/ada/g-encstr.adb2
-rw-r--r--gcc/ada/g-md5.adb2
-rw-r--r--gcc/ada/g-md5.ads2
-rw-r--r--gcc/ada/g-sothco-dummy.adb2
-rw-r--r--gcc/ada/g-tastus.ads2
-rw-r--r--gcc/ada/g-trasym.ads15
-rw-r--r--gcc/ada/gcc-interface/Make-lang.in18
-rw-r--r--gcc/ada/gcc-interface/Makefile.in11
-rw-r--r--gcc/ada/gcc-interface/decl.c76
-rw-r--r--gcc/ada/gcc-interface/lang.opt3
-rw-r--r--gcc/ada/gcc-interface/trans.c10
-rw-r--r--gcc/ada/gnat_rm.texi27
-rw-r--r--gcc/ada/gnat_ugn.texi115
-rw-r--r--gcc/ada/gnatcmd.adb14
-rw-r--r--gcc/ada/gnatvsn.ads4
-rw-r--r--gcc/ada/i-cexten.ads2
-rw-r--r--gcc/ada/i-cpoint.adb2
-rw-r--r--gcc/ada/i-cpoint.ads2
-rw-r--r--gcc/ada/i-cstrin.adb2
-rw-r--r--gcc/ada/i-cstrin.ads2
-rw-r--r--gcc/ada/layout.adb53
-rw-r--r--gcc/ada/lib-xref.ads7
-rw-r--r--gcc/ada/makeutl.ads24
-rw-r--r--gcc/ada/mlib-tgt-specific-darwin.adb2
-rw-r--r--gcc/ada/mlib-tgt-specific-vms-alpha.adb2
-rw-r--r--gcc/ada/mlib-tgt-specific-vms-ia64.adb2
-rw-r--r--gcc/ada/mlib-tgt-vms_common.adb2
-rw-r--r--gcc/ada/mlib-tgt-vms_common.ads2
-rw-r--r--gcc/ada/namet-sp.adb2
-rw-r--r--gcc/ada/namet-sp.ads2
-rw-r--r--gcc/ada/opt.ads14
-rw-r--r--gcc/ada/par-ch13.adb7
-rw-r--r--gcc/ada/par-ch6.adb25
-rw-r--r--gcc/ada/par-ch9.adb2
-rw-r--r--gcc/ada/par-prag.adb2
-rw-r--r--gcc/ada/par-tchk.adb14
-rw-r--r--gcc/ada/par-util.adb9
-rw-r--r--gcc/ada/prepcomp.ads2
-rw-r--r--gcc/ada/prj-attr.adb6
-rw-r--r--gcc/ada/prj-conf.adb872
-rw-r--r--gcc/ada/prj-conf.ads10
-rw-r--r--gcc/ada/prj-nmsc.adb32
-rw-r--r--gcc/ada/prj.adb22
-rw-r--r--gcc/ada/prj.ads8
-rw-r--r--gcc/ada/projects.texi64
-rw-r--r--gcc/ada/rtsfind.adb2
-rw-r--r--gcc/ada/s-arit64.ads7
-rw-r--r--gcc/ada/s-asthan-vms-ia64.adb2
-rw-r--r--gcc/ada/s-auxdec-vms-ia64.adb2
-rw-r--r--gcc/ada/s-auxdec-vms_64.ads2
-rw-r--r--gcc/ada/s-auxdec.ads2
-rw-r--r--gcc/ada/s-chepoo.ads5
-rw-r--r--gcc/ada/s-except.adb2
-rw-r--r--gcc/ada/s-fore.ads2
-rw-r--r--gcc/ada/s-imenne.ads2
-rw-r--r--gcc/ada/s-intman-vxworks.ads2
-rw-r--r--gcc/ada/s-memory-vms_64.adb2
-rw-r--r--gcc/ada/s-memory-vms_64.ads2
-rw-r--r--gcc/ada/s-osinte-dummy.ads2
-rw-r--r--gcc/ada/s-osinte-hpux-dce.ads2
-rw-r--r--gcc/ada/s-osinte-kfreebsd-gnu.ads4
-rw-r--r--gcc/ada/s-osinte-mingw.ads2
-rw-r--r--gcc/ada/s-osinte-vxworks.adb2
-rw-r--r--gcc/ada/s-poosiz.ads2
-rw-r--r--gcc/ada/s-rpc.ads2
-rw-r--r--gcc/ada/s-stalib.ads2
-rw-r--r--gcc/ada/s-string.adb2
-rw-r--r--gcc/ada/s-string.ads2
-rw-r--r--gcc/ada/s-stusta.ads2
-rw-r--r--gcc/ada/s-tasdeb-vms.adb2
-rw-r--r--gcc/ada/s-taspri-hpux-dce.ads2
-rw-r--r--gcc/ada/s-tassta.adb9
-rw-r--r--gcc/ada/s-tpobop.adb4
-rw-r--r--gcc/ada/s-tpopsp-rtems.adb2
-rw-r--r--gcc/ada/s-tposen.ads2
-rw-r--r--gcc/ada/s-traceb-hpux.adb2
-rw-r--r--gcc/ada/s-utf_32.ads2
-rw-r--r--gcc/ada/s-wchcon.adb2
-rw-r--r--gcc/ada/s-win32.ads18
-rw-r--r--gcc/ada/sem_aggr.adb19
-rw-r--r--gcc/ada/sem_aggr.ads2
-rw-r--r--gcc/ada/sem_ch10.adb63
-rw-r--r--gcc/ada/sem_ch12.adb2
-rw-r--r--gcc/ada/sem_ch13.adb226
-rw-r--r--gcc/ada/sem_ch3.adb63
-rw-r--r--gcc/ada/sem_ch4.adb15
-rw-r--r--gcc/ada/sem_ch7.adb2
-rw-r--r--gcc/ada/sem_ch8.adb82
-rw-r--r--gcc/ada/sem_ch8.ads5
-rw-r--r--gcc/ada/sem_disp.adb29
-rw-r--r--gcc/ada/sem_disp.ads8
-rw-r--r--gcc/ada/sem_elab.adb10
-rw-r--r--gcc/ada/sem_prag.adb636
-rw-r--r--gcc/ada/sem_res.adb9
-rw-r--r--gcc/ada/sem_util.adb188
-rw-r--r--gcc/ada/sem_util.ads3
-rw-r--r--gcc/ada/sem_warn.adb109
-rw-r--r--gcc/ada/sem_warn.ads2
-rw-r--r--gcc/ada/sinfo.ads35
-rw-r--r--gcc/ada/snames.ads-tmpl10
-rw-r--r--gcc/ada/switch-c.ads2
-rw-r--r--gcc/ada/system-darwin-ppc64.ads2
-rw-r--r--gcc/ada/table.adb12
-rw-r--r--gcc/ada/tracebak.c25
-rw-r--r--gcc/ada/types.ads6
-rw-r--r--gcc/ada/uname.adb2
-rw-r--r--gcc/ada/usage.adb22
-rw-r--r--gcc/ada/validsw.ads2
-rw-r--r--gcc/ada/warnsw.adb22
-rw-r--r--gcc/ada/xref_lib.adb11
-rw-r--r--gcc/addresses.h2
-rw-r--r--gcc/alloc-pool.c2
-rw-r--r--gcc/attribs.c2
-rw-r--r--gcc/auto-inc-dec.c3
-rw-r--r--gcc/basic-block.h3
-rw-r--r--gcc/bb-reorder.h2
-rw-r--r--gcc/builtin-attrs.def2
-rw-r--r--gcc/builtin-types.def4
-rw-r--r--gcc/c/c-errors.c3
-rw-r--r--gcc/c/c-lang.h2
-rw-r--r--gcc/c/c-objc-common.c2
-rw-r--r--gcc/c/c-objc-common.h2
-rw-r--r--gcc/c/gccspec.c3
-rw-r--r--gcc/caller-save.c2
-rw-r--r--gcc/cfghooks.c2
-rw-r--r--gcc/cfghooks.h2
-rw-r--r--gcc/cfgloop.c2
-rw-r--r--gcc/cfgloop.h3
-rw-r--r--gcc/cfgloopanal.c4
-rw-r--r--gcc/cfgloopmanip.c2
-rw-r--r--gcc/collect2-aix.h2
-rw-r--r--gcc/collect2.h2
-rw-r--r--gcc/compare-elim.c2
-rw-r--r--gcc/config.build2
-rw-r--r--gcc/config/aarch64/aarch64.c13
-rw-r--r--gcc/config/alpha/alpha-protos.h4
-rw-r--r--gcc/config/alpha/constraints.md2
-rw-r--r--gcc/config/alpha/elf.h2
-rw-r--r--gcc/config/alpha/ev6.md2
-rw-r--r--gcc/config/alpha/predicates.md2
-rw-r--r--gcc/config/alpha/sync.md3
-rw-r--r--gcc/config/arm/README-interworking2
-rw-r--r--gcc/config/arm/aout.h4
-rw-r--r--gcc/config/arm/arm-c.c2
-rw-r--r--gcc/config/arm/arm-cores.def2
-rw-r--r--gcc/config/arm/arm-fixed.md2
-rw-r--r--gcc/config/arm/arm-fpus.def2
-rw-r--r--gcc/config/arm/arm-generic.md2
-rw-r--r--gcc/config/arm/arm-ldmstm.ml4
-rw-r--r--gcc/config/arm/arm-modes.def2
-rw-r--r--gcc/config/arm/arm-protos.h2
-rw-r--r--gcc/config/arm/arm-tables.opt2
-rw-r--r--gcc/config/arm/arm.opt3
-rw-r--r--gcc/config/arm/arm1020e.md2
-rw-r--r--gcc/config/arm/arm1026ejs.md2
-rw-r--r--gcc/config/arm/arm1136jfs.md2
-rw-r--r--gcc/config/arm/arm926ejs.md2
-rw-r--r--gcc/config/arm/bpabi.h2
-rw-r--r--gcc/config/arm/constraints.md3
-rw-r--r--gcc/config/arm/cortex-a15.md2
-rw-r--r--gcc/config/arm/cortex-a5.md2
-rw-r--r--gcc/config/arm/cortex-a8.md2
-rw-r--r--gcc/config/arm/cortex-a9.md2
-rw-r--r--gcc/config/arm/cortex-m4-fpu.md2
-rw-r--r--gcc/config/arm/cortex-m4.md2
-rw-r--r--gcc/config/arm/cortex-r4.md2
-rw-r--r--gcc/config/arm/driver-arm.c2
-rw-r--r--gcc/config/arm/fa526.md2
-rw-r--r--gcc/config/arm/fa606te.md2
-rw-r--r--gcc/config/arm/fa626te.md2
-rw-r--r--gcc/config/arm/fa726te.md2
-rw-r--r--gcc/config/arm/fmp626.md2
-rwxr-xr-xgcc/config/arm/genopt.sh4
-rw-r--r--gcc/config/arm/iterators.md2
-rw-r--r--gcc/config/arm/iwmmxt.md2
-rw-r--r--gcc/config/arm/ldmstm.md2
-rw-r--r--gcc/config/arm/linux-eabi.h2
-rw-r--r--gcc/config/arm/linux-elf.h2
-rw-r--r--gcc/config/arm/neon-docgen.ml2
-rw-r--r--gcc/config/arm/neon-gen.ml2
-rw-r--r--gcc/config/arm/neon-testgen.ml3
-rw-r--r--gcc/config/arm/neon.md2
-rw-r--r--gcc/config/arm/neon.ml3
-rw-r--r--gcc/config/arm/predicates.md3
-rw-r--r--gcc/config/arm/sync.md2
-rw-r--r--gcc/config/arm/thumb2.md2
-rw-r--r--gcc/config/arm/uclinux-eabi.h2
-rw-r--r--gcc/config/arm/vec-common.md2
-rw-r--r--gcc/config/arm/vfp.md2
-rw-r--r--gcc/config/arm/vxworks.h2
-rw-r--r--gcc/config/avr/avr-c.c2
-rw-r--r--gcc/config/avr/avr-devices.c2
-rw-r--r--gcc/config/avr/avr-dimode.md2
-rw-r--r--gcc/config/avr/avr-log.c2
-rw-r--r--gcc/config/avr/avr-mcus.def2
-rw-r--r--gcc/config/avr/avr-protos.h2
-rw-r--r--gcc/config/avr/avr-tables.opt2
-rw-r--r--gcc/config/avr/avr.c2
-rw-r--r--gcc/config/avr/avr.h2
-rw-r--r--gcc/config/avr/avr.md2
-rw-r--r--gcc/config/avr/avr.opt3
-rw-r--r--gcc/config/avr/constraints.md2
-rw-r--r--gcc/config/avr/driver-avr.c2
-rw-r--r--gcc/config/avr/elf.h2
-rw-r--r--gcc/config/avr/genmultilib.awk2
-rwxr-xr-xgcc/config/avr/genopt.sh4
-rw-r--r--gcc/config/avr/predicates.md2
-rw-r--r--gcc/config/avr/rtems.h2
-rw-r--r--gcc/config/avr/t-avr2
-rw-r--r--gcc/config/avr/t-multilib2
-rw-r--r--gcc/config/bfin/bfin.c2
-rw-r--r--gcc/config/bfin/bfin.h2
-rw-r--r--gcc/config/bfin/bfin.md3
-rw-r--r--gcc/config/bfin/elf.h2
-rw-r--r--gcc/config/c6x/elf-common.h2
-rw-r--r--gcc/config/c6x/elf.h2
-rw-r--r--gcc/config/cris/cris-protos.h2
-rw-r--r--gcc/config/cris/cris.c2
-rw-r--r--gcc/config/cris/cris.h2
-rw-r--r--gcc/config/cris/cris.md2
-rw-r--r--gcc/config/cris/cris.opt2
-rw-r--r--gcc/config/cris/linux.opt2
-rw-r--r--gcc/config/darwin-c.c2
-rw-r--r--gcc/config/darwin-driver.c2
-rw-r--r--gcc/config/darwin-sections.def2
-rw-r--r--gcc/config/darwin.h2
-rw-r--r--gcc/config/darwin.opt2
-rw-r--r--gcc/config/elfos.h2
-rw-r--r--gcc/config/epiphany/epiphany-sched.md3
-rw-r--r--gcc/config/fr30/fr30.c2
-rw-r--r--gcc/config/fr30/fr30.md2
-rw-r--r--gcc/config/frv/constraints.md2
-rw-r--r--gcc/config/frv/frv.c2
-rw-r--r--gcc/config/frv/frv.h2
-rw-r--r--gcc/config/frv/frv.md2
-rw-r--r--gcc/config/frv/predicates.md2
-rw-r--r--gcc/config/gnu-user.h2
-rw-r--r--gcc/config/h8300/genmova.sh4
-rw-r--r--gcc/config/h8300/h8300-protos.h2
-rw-r--r--gcc/config/h8300/h8300.md2
-rw-r--r--gcc/config/h8300/h8300.opt2
-rw-r--r--gcc/config/h8300/mova.md2
-rw-r--r--gcc/config/h8300/predicates.md2
-rw-r--r--gcc/config/host-linux.c3
-rw-r--r--gcc/config/host-solaris.c2
-rw-r--r--gcc/config/i386/athlon.md2
-rw-r--r--gcc/config/i386/atom.md2
-rw-r--r--gcc/config/i386/avx2intrin.h2
-rw-r--r--gcc/config/i386/avxintrin.h2
-rw-r--r--gcc/config/i386/biarch64.h2
-rw-r--r--gcc/config/i386/constraints.md2
-rw-r--r--gcc/config/i386/core2.md3
-rw-r--r--gcc/config/i386/cpuid.h41
-rw-r--r--gcc/config/i386/cygming.h2
-rw-r--r--gcc/config/i386/cygming.opt3
-rw-r--r--gcc/config/i386/cygwin.h2
-rw-r--r--gcc/config/i386/djgpp.h2
-rw-r--r--gcc/config/i386/emmintrin.h2
-rw-r--r--gcc/config/i386/gas.h2
-rw-r--r--gcc/config/i386/gnu-user.h2
-rw-r--r--gcc/config/i386/gnu-user64.h4
-rw-r--r--gcc/config/i386/host-mingw32.c2
-rw-r--r--gcc/config/i386/i386-c.c26
-rw-r--r--gcc/config/i386/i386-opts.h2
-rw-r--r--gcc/config/i386/i386.c68
-rw-r--r--gcc/config/i386/i386.opt2
-rw-r--r--gcc/config/i386/i386elf.h4
-rw-r--r--gcc/config/i386/ia32intrin.h2
-rw-r--r--gcc/config/i386/immintrin.h2
-rw-r--r--gcc/config/i386/lzcntintrin.h2
-rw-r--r--gcc/config/i386/mingw-w64.opt2
-rw-r--r--gcc/config/i386/mingw.opt2
-rw-r--r--gcc/config/i386/mingw32.h2
-rw-r--r--gcc/config/i386/mm3dnow.h2
-rw-r--r--gcc/config/i386/mmx.md2
-rw-r--r--gcc/config/i386/openbsdelf.h2
-rw-r--r--gcc/config/i386/pentium.md2
-rw-r--r--gcc/config/i386/ppro.md3
-rw-r--r--gcc/config/i386/smmintrin.h3
-rw-r--r--gcc/config/i386/sync.md2
-rw-r--r--gcc/config/i386/t-i3862
-rw-r--r--gcc/config/i386/t-linux642
-rw-r--r--gcc/config/i386/tbmintrin.h2
-rw-r--r--gcc/config/i386/winnt-cxx.c2
-rw-r--r--gcc/config/i386/winnt.c3
-rw-r--r--gcc/config/i386/x86intrin.h2
-rw-r--r--gcc/config/i386/xmmintrin.h2
-rw-r--r--gcc/config/ia64/hpux.h2
-rw-r--r--gcc/config/ia64/ia64-protos.h2
-rw-r--r--gcc/config/ia64/ia64.c2
-rw-r--r--gcc/config/ia64/ia64.h2
-rw-r--r--gcc/config/ia64/ia64.md2
-rw-r--r--gcc/config/ia64/itanium2.md3
-rw-r--r--gcc/config/ia64/linux.h2
-rw-r--r--gcc/config/ia64/predicates.md2
-rw-r--r--gcc/config/ia64/sync.md2
-rw-r--r--gcc/config/ia64/t-ia642
-rw-r--r--gcc/config/ia64/vect.md3
-rw-r--r--gcc/config/ia64/vms.h2
-rw-r--r--gcc/config/iq2000/iq2000.c2
-rw-r--r--gcc/config/iq2000/iq2000.h2
-rw-r--r--gcc/config/iq2000/iq2000.md3
-rw-r--r--gcc/config/linux.h2
-rw-r--r--gcc/config/lm32/lm32-protos.h2
-rw-r--r--gcc/config/lm32/lm32.c2
-rw-r--r--gcc/config/lm32/lm32.md2
-rw-r--r--gcc/config/m32c/bitops.md2
-rw-r--r--gcc/config/m32c/blkmov.md2
-rw-r--r--gcc/config/m32c/cond.md2
-rw-r--r--gcc/config/m32c/m32c-pragma.c2
-rw-r--r--gcc/config/m32c/m32c-protos.h2
-rw-r--r--gcc/config/m32c/m32c.c2
-rw-r--r--gcc/config/m32c/m32c.h2
-rw-r--r--gcc/config/m32c/predicates.md2
-rw-r--r--gcc/config/m32c/prologue.md2
-rw-r--r--gcc/config/m32c/t-m32c2
-rw-r--r--gcc/config/m32r/m32r.c2
-rw-r--r--gcc/config/m32r/m32r.h3
-rw-r--r--gcc/config/m32r/m32r.md2
-rw-r--r--gcc/config/m68k/cf.md2
-rw-r--r--gcc/config/m68k/constraints.md2
-rwxr-xr-xgcc/config/m68k/genopt.sh4
-rw-r--r--gcc/config/m68k/linux.h2
-rw-r--r--gcc/config/m68k/m68k-devices.def2
-rw-r--r--gcc/config/m68k/m68k-protos.h4
-rw-r--r--gcc/config/m68k/m68k-tables.opt2
-rw-r--r--gcc/config/m68k/m68k.md2
-rw-r--r--gcc/config/m68k/m68k.opt2
-rw-r--r--gcc/config/m68k/t-linux2
-rw-r--r--gcc/config/mcore/mcore.h2
-rw-r--r--gcc/config/mcore/mcore.md2
-rw-r--r--gcc/config/mep/mep-pragma.c5
-rw-r--r--gcc/config/mep/mep-protos.h4
-rw-r--r--gcc/config/mep/mep.c2
-rw-r--r--gcc/config/mep/mep.h2
-rw-r--r--gcc/config/mep/mep.md4
-rw-r--r--gcc/config/mep/mep.opt3
-rw-r--r--gcc/config/mep/t-mep2
-rw-r--r--gcc/config/microblaze/microblaze-protos.h2
-rw-r--r--gcc/config/microblaze/microblaze.c2
-rw-r--r--gcc/config/microblaze/microblaze.h2
-rw-r--r--gcc/config/microblaze/microblaze.md2
-rw-r--r--gcc/config/mips/10000.md2
-rw-r--r--gcc/config/mips/20kc.md2
-rw-r--r--gcc/config/mips/24k.md2
-rw-r--r--gcc/config/mips/4130.md2
-rw-r--r--gcc/config/mips/4k.md2
-rw-r--r--gcc/config/mips/5400.md3
-rw-r--r--gcc/config/mips/5500.md3
-rw-r--r--gcc/config/mips/5k.md2
-rw-r--r--gcc/config/mips/7000.md2
-rw-r--r--gcc/config/mips/74k.md2
-rw-r--r--gcc/config/mips/9000.md2
-rw-r--r--gcc/config/mips/constraints.md3
-rw-r--r--gcc/config/mips/generic.md2
-rwxr-xr-xgcc/config/mips/genopt.sh4
-rw-r--r--gcc/config/mips/loongson.h2
-rw-r--r--gcc/config/mips/loongson.md2
-rw-r--r--gcc/config/mips/loongson2ef.md2
-rw-r--r--gcc/config/mips/loongson3a.md2
-rw-r--r--gcc/config/mips/mips-dspr2.md2
-rw-r--r--gcc/config/mips/mips-modes.def3
-rw-r--r--gcc/config/mips/mips-ps-3d.md2
-rw-r--r--gcc/config/mips/mips-tables.opt2
-rw-r--r--gcc/config/mips/mips.opt3
-rw-r--r--gcc/config/mips/octeon.md2
-rw-r--r--gcc/config/mips/predicates.md2
-rw-r--r--gcc/config/mips/sb1.md3
-rw-r--r--gcc/config/mips/sr71k.md3
-rw-r--r--gcc/config/mips/sync.md2
-rw-r--r--gcc/config/mips/t-linux643
-rw-r--r--gcc/config/mips/t-vxworks2
-rw-r--r--gcc/config/mips/xlr.md2
-rw-r--r--gcc/config/mmix/mmix-protos.h2
-rw-r--r--gcc/config/mmix/mmix.c2
-rw-r--r--gcc/config/mmix/mmix.h4
-rw-r--r--gcc/config/mmix/mmix.md2
-rw-r--r--gcc/config/mmix/predicates.md2
-rw-r--r--gcc/config/mn10300/constraints.md2
-rw-r--r--gcc/config/mn10300/mn10300-modes.def2
-rw-r--r--gcc/config/mn10300/mn10300-protos.h2
-rw-r--r--gcc/config/mn10300/mn10300.c3
-rw-r--r--gcc/config/mn10300/mn10300.h2
-rw-r--r--gcc/config/mn10300/mn10300.md2
-rw-r--r--gcc/config/mn10300/predicates.md2
-rw-r--r--gcc/config/moxie/moxie.h2
-rw-r--r--gcc/config/moxie/moxie.md2
-rw-r--r--gcc/config/moxie/t-moxie2
-rw-r--r--gcc/config/openbsd.h2
-rw-r--r--gcc/config/pa/constraints.md2
-rw-r--r--gcc/config/pa/elf.h2
-rw-r--r--gcc/config/pa/pa-hpux.opt2
-rw-r--r--gcc/config/pa/pa-hpux10.h2
-rw-r--r--gcc/config/pa/pa-hpux11.h4
-rw-r--r--gcc/config/pa/pa-hpux1131.h2
-rw-r--r--gcc/config/pa/pa.c12
-rw-r--r--gcc/config/pa/pa.h2
-rw-r--r--gcc/config/pa/pa.md6
-rw-r--r--gcc/config/pa/pa.opt2
-rw-r--r--gcc/config/pa/pa32-regs.h2
-rw-r--r--gcc/config/pa/pa64-hpux.h2
-rw-r--r--gcc/config/pa/pa64-hpux.opt2
-rw-r--r--gcc/config/pa/pa64-linux.h2
-rw-r--r--gcc/config/pa/pa64-regs.h2
-rw-r--r--gcc/config/pa/predicates.md2
-rw-r--r--gcc/config/pdp11/pdp11-protos.h2
-rw-r--r--gcc/config/pdp11/pdp11.c2
-rw-r--r--gcc/config/pdp11/pdp11.h2
-rw-r--r--gcc/config/pdp11/pdp11.md2
-rw-r--r--gcc/config/picochip/picochip.c3
-rw-r--r--gcc/config/picochip/picochip.h3
-rw-r--r--gcc/config/picochip/picochip.md2
-rw-r--r--gcc/config/picochip/picochip.opt2
-rw-r--r--gcc/config/rl78/rl78.h2
-rw-r--r--gcc/config/rs6000/476.md2
-rw-r--r--gcc/config/rs6000/8540.md2
-rw-r--r--gcc/config/rs6000/a2.md2
-rw-r--r--gcc/config/rs6000/aix53.h1
-rw-r--r--gcc/config/rs6000/aix61.h1
-rw-r--r--gcc/config/rs6000/aix64.opt2
-rw-r--r--gcc/config/rs6000/altivec.md4
-rw-r--r--gcc/config/rs6000/darwin.opt2
-rw-r--r--gcc/config/rs6000/darwin7.h2
-rw-r--r--gcc/config/rs6000/e500.h4
-rw-r--r--gcc/config/rs6000/freebsd.h2
-rwxr-xr-xgcc/config/rs6000/genopt.sh4
-rw-r--r--gcc/config/rs6000/linux.h2
-rw-r--r--gcc/config/rs6000/linux64.h2
-rw-r--r--gcc/config/rs6000/paired.md2
-rw-r--r--gcc/config/rs6000/power4.md2
-rw-r--r--gcc/config/rs6000/power5.md2
-rw-r--r--gcc/config/rs6000/power6.md2
-rw-r--r--gcc/config/rs6000/power7.md2
-rw-r--r--gcc/config/rs6000/rs6000-modes.def3
-rw-r--r--gcc/config/rs6000/rs6000-tables.opt2
-rw-r--r--gcc/config/rs6000/rtems.h4
-rw-r--r--gcc/config/rs6000/sysv4.opt2
-rw-r--r--gcc/config/rs6000/t-fprules3
-rw-r--r--gcc/config/rs6000/t-linux642
-rw-r--r--gcc/config/rs6000/t-rtems2
-rw-r--r--gcc/config/rs6000/t-spe2
-rw-r--r--gcc/config/rs6000/titan.md2
-rw-r--r--gcc/config/rs6000/vector.md2
-rw-r--r--gcc/config/rs6000/xcoff.h2
-rw-r--r--gcc/config/rx/predicates.md2
-rw-r--r--gcc/config/rx/rx-modes.def2
-rw-r--r--gcc/config/rx/t-rx2
-rw-r--r--gcc/config/s390/2084.md2
-rw-r--r--gcc/config/s390/2097.md2
-rw-r--r--gcc/config/s390/constraints.md2
-rw-r--r--gcc/config/s390/predicates.md2
-rw-r--r--gcc/config/s390/s390-opts.h2
-rw-r--r--gcc/config/s390/s390-protos.h4
-rw-r--r--gcc/config/s390/s390.h2
-rw-r--r--gcc/config/s390/s390.md2
-rw-r--r--gcc/config/s390/s390.opt3
-rw-r--r--gcc/config/score/constraints.md3
-rw-r--r--gcc/config/score/score-generic.md2
-rw-r--r--gcc/config/score/score-modes.def2
-rw-r--r--gcc/config/score/score-protos.h2
-rw-r--r--gcc/config/score/score.c2
-rw-r--r--gcc/config/score/score.md2
-rw-r--r--gcc/config/sh/newlib.h2
-rw-r--r--gcc/config/sh/predicates.md2
-rw-r--r--gcc/config/sh/sh-c.c2
-rw-r--r--gcc/config/sh/sh.opt2
-rw-r--r--gcc/config/sparc/constraints.md2
-rw-r--r--gcc/config/sparc/linux.h2
-rw-r--r--gcc/config/sparc/linux64.h2
-rw-r--r--gcc/config/sparc/long-double-switch.opt2
-rw-r--r--gcc/config/sparc/niagara.md2
-rw-r--r--gcc/config/sparc/niagara2.md2
-rw-r--r--gcc/config/sparc/predicates.md3
-rw-r--r--gcc/config/sparc/sol2.h2
-rw-r--r--gcc/config/sparc/sparc-modes.def2
-rw-r--r--gcc/config/sparc/sparc-protos.h4
-rw-r--r--gcc/config/sparc/sparc.opt2
-rw-r--r--gcc/config/sparc/sync.md2
-rw-r--r--gcc/config/sparc/t-linux642
-rw-r--r--gcc/config/sparc/t-sparc2
-rw-r--r--gcc/config/sparc/ultra1_2.md2
-rw-r--r--gcc/config/sparc/ultra3.md2
-rw-r--r--gcc/config/spu/predicates.md2
-rw-r--r--gcc/config/spu/spu-builtins.def3
-rw-r--r--gcc/config/spu/spu-builtins.md2
-rw-r--r--gcc/config/spu/spu-c.c3
-rw-r--r--gcc/config/spu/spu.c2
-rw-r--r--gcc/config/spu/spu.h2
-rw-r--r--gcc/config/spu/spu.md3
-rw-r--r--gcc/config/spu/t-spu-elf2
-rw-r--r--gcc/config/stormy16/predicates.md2
-rw-r--r--gcc/config/stormy16/stormy16.c2
-rw-r--r--gcc/config/stormy16/stormy16.h2
-rw-r--r--gcc/config/stormy16/stormy16.md2
-rw-r--r--gcc/config/t-darwin4
-rw-r--r--gcc/config/tilepro/gen-mul-tables.cc6
-rw-r--r--gcc/config/v850/predicates.md2
-rw-r--r--gcc/config/v850/v850-modes.def2
-rw-r--r--gcc/config/v850/v850.md4
-rw-r--r--gcc/config/vax/constraints.md2
-rw-r--r--gcc/config/vax/elf.h2
-rw-r--r--gcc/config/vax/predicates.md2
-rw-r--r--gcc/config/vax/vax-protos.h2
-rw-r--r--gcc/config/vax/vax.c2
-rw-r--r--gcc/config/vax/vax.md2
-rw-r--r--gcc/config/vax/vax.opt2
-rw-r--r--gcc/config/vms/make-crtlmap.awk2
-rw-r--r--gcc/config/vms/t-vms2
-rw-r--r--gcc/config/vms/t-vmsnative2
-rw-r--r--gcc/config/vms/vms-c.c2
-rw-r--r--gcc/config/vms/vms-ld.c2
-rw-r--r--gcc/config/vms/vms-protos.h2
-rw-r--r--gcc/config/vms/vms.c2
-rw-r--r--gcc/config/vms/vms.h2
-rw-r--r--gcc/config/vms/vms.opt2
-rw-r--r--gcc/config/vms/xm-vms.h2
-rw-r--r--gcc/config/vxworks-dummy.h2
-rw-r--r--gcc/config/vxworks.h2
-rw-r--r--gcc/config/xtensa/xtensa.c4
-rw-r--r--gcc/config/xtensa/xtensa.h4
-rw-r--r--gcc/config/xtensa/xtensa.md4
-rw-r--r--gcc/coverage.h2
-rw-r--r--gcc/cp/ChangeLog3094
-rw-r--r--gcc/cp/ChangeLog-20123067
-rw-r--r--gcc/cp/NEWS2
-rw-r--r--gcc/cp/call.c22
-rw-r--r--gcc/cp/config-lang.in2
-rw-r--r--gcc/cp/cp-lang.c2
-rw-r--r--gcc/cp/cp-objcp-common.h2
-rw-r--r--gcc/cp/cp-tree.h1
-rw-r--r--gcc/cp/cxx-pretty-print.h2
-rw-r--r--gcc/cp/decl.c24
-rw-r--r--gcc/cp/decl.h2
-rw-r--r--gcc/cp/dump.c4
-rw-r--r--gcc/cp/friend.c2
-rw-r--r--gcc/cp/init.c4
-rw-r--r--gcc/cp/name-lookup.c6
-rw-r--r--gcc/cp/name-lookup.h2
-rw-r--r--gcc/cp/operators.def2
-rw-r--r--gcc/cp/optimize.c2
-rw-r--r--gcc/cp/parser.c10
-rw-r--r--gcc/cp/parser.h2
-rw-r--r--gcc/cp/pt.c2
-rw-r--r--gcc/cp/repo.c2
-rw-r--r--gcc/cp/semantics.c11
-rw-r--r--gcc/cp/tree.c2
-rw-r--r--gcc/cppbuiltin.h2
-rw-r--r--gcc/data-streamer-in.c2
-rw-r--r--gcc/data-streamer-out.c2
-rw-r--r--gcc/data-streamer.h2
-rw-r--r--gcc/dbgcnt.c3
-rw-r--r--gcc/dbgcnt.def2
-rw-r--r--gcc/dbxout.h2
-rw-r--r--gcc/ddg.h2
-rw-r--r--gcc/diagnostic.h2
-rw-r--r--gcc/doc/arm-neon-intrinsics.texi2
-rw-r--r--gcc/doc/contrib.texi5
-rw-r--r--gcc/doc/cppinternals.texi2
-rw-r--r--gcc/doc/cppopts.texi2
-rw-r--r--gcc/doc/gcov.texi2
-rw-r--r--gcc/doc/generic.texi2
-rw-r--r--gcc/doc/gimple.texi2
-rw-r--r--gcc/doc/gty.texi2
-rw-r--r--gcc/doc/libgcc.texi2
-rw-r--r--gcc/doc/loop.texi2
-rw-r--r--gcc/doc/lto.texi3
-rw-r--r--gcc/doc/options.texi2
-rw-r--r--gcc/doc/plugins.texi2
-rw-r--r--gcc/doc/rtl.texi2
-rw-r--r--gcc/doc/standards.texi2
-rw-r--r--gcc/doc/tree-ssa.texi2
-rw-r--r--gcc/dominance.c2
-rw-r--r--gcc/domwalk.c4
-rw-r--r--gcc/domwalk.h3
-rw-r--r--gcc/dwarf2asm.c4
-rw-r--r--gcc/dwarf2out.h2
-rw-r--r--gcc/emit-rtl.h3
-rw-r--r--gcc/et-forest.c4
-rw-r--r--gcc/except.h2
-rw-r--r--gcc/explow.c2
-rw-r--r--gcc/file-find.c1
-rw-r--r--gcc/file-find.h1
-rw-r--r--gcc/fixed-value.c3
-rw-r--r--gcc/flag-types.h2
-rw-r--r--gcc/flags.h2
-rw-r--r--gcc/fold-const.c17
-rw-r--r--gcc/fortran/ChangeLog2859
-rw-r--r--gcc/fortran/ChangeLog-20122798
-rw-r--r--gcc/fortran/arith.c2
-rw-r--r--gcc/fortran/bbt.c2
-rw-r--r--gcc/fortran/class.c794
-rw-r--r--gcc/fortran/constructor.c2
-rw-r--r--gcc/fortran/cpp.c2
-rw-r--r--gcc/fortran/data.c4
-rw-r--r--gcc/fortran/decl.c38
-rw-r--r--gcc/fortran/dependency.c4
-rw-r--r--gcc/fortran/dependency.h4
-rw-r--r--gcc/fortran/dump-parse-tree.c2
-rw-r--r--gcc/fortran/error.c2
-rw-r--r--gcc/fortran/expr.c5
-rw-r--r--gcc/fortran/f95-lang.c2
-rw-r--r--gcc/fortran/gfortran.h1
-rw-r--r--gcc/fortran/gfortranspec.c4
-rw-r--r--gcc/fortran/intrinsic.c10
-rw-r--r--gcc/fortran/intrinsic.h3
-rw-r--r--gcc/fortran/intrinsic.texi2
-rw-r--r--gcc/fortran/io.c2
-rw-r--r--gcc/fortran/ioparm.def2
-rw-r--r--gcc/fortran/iresolve.c11
-rw-r--r--gcc/fortran/iso-c-binding.def3
-rw-r--r--gcc/fortran/iso-fortran-env.def3
-rw-r--r--gcc/fortran/match.c23
-rw-r--r--gcc/fortran/match.h2
-rw-r--r--gcc/fortran/matchexp.c4
-rw-r--r--gcc/fortran/mathbuiltins.def3
-rw-r--r--gcc/fortran/module.c13
-rw-r--r--gcc/fortran/openmp.c2
-rw-r--r--gcc/fortran/parse.h2
-rw-r--r--gcc/fortran/resolve.c24
-rw-r--r--gcc/fortran/scanner.c2
-rw-r--r--gcc/fortran/st.c4
-rw-r--r--gcc/fortran/target-memory.c2
-rw-r--r--gcc/fortran/target-memory.h2
-rw-r--r--gcc/fortran/trans-array.c125
-rw-r--r--gcc/fortran/trans-array.h4
-rw-r--r--gcc/fortran/trans-const.c2
-rw-r--r--gcc/fortran/trans-expr.c54
-rw-r--r--gcc/fortran/trans-intrinsic.c33
-rw-r--r--gcc/fortran/trans-io.c4
-rw-r--r--gcc/fortran/trans-stmt.h2
-rw-r--r--gcc/fortran/trans-types.c33
-rw-r--r--gcc/fortran/trans-types.h2
-rw-r--r--gcc/fortran/trans.c112
-rw-r--r--gcc/fortran/trans.h7
-rw-r--r--gcc/fortran/types.def2
-rw-r--r--gcc/gcc.c4
-rw-r--r--gcc/gcov-dump.c4
-rw-r--r--gcc/gcov-io.c2
-rw-r--r--gcc/gcov-io.h2
-rw-r--r--gcc/gcov-iov.c3
-rw-r--r--gcc/gcov.c5
-rw-r--r--gcc/genattr.c2
-rw-r--r--gcc/genattrtab.c2
-rw-r--r--gcc/genautomata.c4
-rw-r--r--gcc/genemit.c3
-rw-r--r--gcc/genextract.c2
-rw-r--r--gcc/gengenrtl.c4
-rw-r--r--gcc/gengtype-lex.l2
-rw-r--r--gcc/gengtype-parse.c2
-rw-r--r--gcc/gengtype-state.c2
-rw-r--r--gcc/genpreds.c2
-rw-r--r--gcc/ggc-common.c2
-rw-r--r--gcc/ggc-internal.h2
-rw-r--r--gcc/ggc-none.c2
-rw-r--r--gcc/ggc-page.c2
-rw-r--r--gcc/ggc-zone.c2
-rw-r--r--gcc/ggc.h2
-rw-r--r--gcc/gimple-fold.h2
-rw-r--r--gcc/gimple-low.c2
-rw-r--r--gcc/gimple-pretty-print.h2
-rw-r--r--gcc/gimple-streamer-in.c2
-rw-r--r--gcc/gimple-streamer-out.c2
-rw-r--r--gcc/gimple.def2
-rw-r--r--gcc/go/config-lang.in2
-rw-r--r--gcc/go/go-system.h2
-rw-r--r--gcc/graph.h2
-rw-r--r--gcc/graphds.c2
-rw-r--r--gcc/graphite-blocking.c2
-rw-r--r--gcc/graphite-clast-to-gimple.c2
-rw-r--r--gcc/graphite-clast-to-gimple.h2
-rw-r--r--gcc/graphite-dependences.c2
-rw-r--r--gcc/graphite-interchange.c13
-rw-r--r--gcc/graphite-poly.c9
-rw-r--r--gcc/graphite-poly.h2
-rw-r--r--gcc/graphite-scop-detection.c2
-rw-r--r--gcc/graphite-scop-detection.h2
-rw-r--r--gcc/graphite-sese-to-poly.c2
-rw-r--r--gcc/graphite.c2
-rw-r--r--gcc/hard-reg-set.h2
-rw-r--r--gcc/hw-doloop.c2
-rw-r--r--gcc/hw-doloop.h2
-rw-r--r--gcc/hwint.h2
-rw-r--r--gcc/ifcvt.c2
-rw-r--r--gcc/input.h4
-rw-r--r--gcc/insn-addr.h2
-rw-r--r--gcc/intl.h2
-rw-r--r--gcc/ipa-inline-transform.c2
-rw-r--r--gcc/ipa-inline.c2
-rw-r--r--gcc/ipa-inline.h2
-rw-r--r--gcc/ipa-prop.h2
-rw-r--r--gcc/ipa-pure-const.c2
-rw-r--r--gcc/ipa-ref-inline.h2
-rw-r--r--gcc/ipa-utils.c2
-rw-r--r--gcc/ipa-utils.h2
-rw-r--r--gcc/ipa.c2
-rw-r--r--gcc/ira-build.c2
-rw-r--r--gcc/ira-emit.c2
-rw-r--r--gcc/ira-int.h2
-rw-r--r--gcc/ira-lives.c2
-rw-r--r--gcc/java/ChangeLog4
-rw-r--r--gcc/java/Make-lang.in3
-rw-r--r--gcc/java/boehm.c2
-rw-r--r--gcc/java/builtins.c2
-rw-r--r--gcc/java/class.c2
-rw-r--r--gcc/java/constants.c2
-rw-r--r--gcc/java/decl.c3
-rw-r--r--gcc/java/except.c2
-rw-r--r--gcc/java/expr.c2
-rw-r--r--gcc/java/java-gimplify.c2
-rw-r--r--gcc/java/java-tree.h2
-rw-r--r--gcc/java/javaop.def2
-rw-r--r--gcc/java/jcf-dump.c5
-rw-r--r--gcc/java/jcf-io.c2
-rw-r--r--gcc/java/jcf-parse.c3
-rw-r--r--gcc/java/jcf-reader.c2
-rw-r--r--gcc/java/jcf.h2
-rw-r--r--gcc/java/jvgenmain.c2
-rw-r--r--gcc/java/lang.c2
-rw-r--r--gcc/java/mangle.c4
-rw-r--r--gcc/java/resource.c2
-rw-r--r--gcc/java/verify-glue.c2
-rw-r--r--gcc/java/verify-impl.c2
-rw-r--r--gcc/java/verify.h2
-rw-r--r--gcc/java/win32-host.c2
-rw-r--r--gcc/langhooks.c2
-rw-r--r--gcc/lcm.c2
-rw-r--r--gcc/loop-doloop.c2
-rw-r--r--gcc/loop-init.c2
-rw-r--r--gcc/loop-invariant.c2
-rw-r--r--gcc/loop-iv.c6
-rw-r--r--gcc/loop-unroll.c2
-rw-r--r--gcc/lto-cgraph.c2
-rw-r--r--gcc/lto-section-out.c2
-rw-r--r--gcc/lto-streamer-in.c2
-rw-r--r--gcc/lto-streamer-out.c2
-rw-r--r--gcc/lto-streamer.c2
-rw-r--r--gcc/lto-streamer.h2
-rw-r--r--gcc/lto-symtab.c10
-rw-r--r--gcc/lto-wrapper.c2
-rw-r--r--gcc/lto/ChangeLog7
-rw-r--r--gcc/lto/Make-lang.in2
-rw-r--r--gcc/lto/common.c2
-rw-r--r--gcc/lto/common.h2
-rw-r--r--gcc/lto/lang.opt2
-rw-r--r--gcc/lto/lto-object.c2
-rw-r--r--gcc/lto/lto-tree.h2
-rw-r--r--gcc/lto/lto.h2
-rw-r--r--gcc/machmode.def2
-rw-r--r--gcc/machmode.h2
-rw-r--r--gcc/mcf.c2
-rw-r--r--gcc/mode-switching.c2
-rw-r--r--gcc/opt-functions.awk2
-rw-r--r--gcc/optabs.h2
-rw-r--r--gcc/opts-common.c3
-rw-r--r--gcc/opts-global.c4
-rw-r--r--gcc/opts.c8
-rw-r--r--gcc/opts.h2
-rw-r--r--gcc/params.def10
-rw-r--r--gcc/plugin.c2
-rw-r--r--gcc/plugin.def2
-rw-r--r--gcc/plugin.h2
-rw-r--r--gcc/pointer-set.c2
-rw-r--r--gcc/postreload-gcse.c2
-rw-r--r--gcc/predict.c4
-rw-r--r--gcc/predict.def3
-rw-r--r--gcc/prefix.c2
-rw-r--r--gcc/prefix.h2
-rw-r--r--gcc/pretty-print.c2
-rw-r--r--gcc/pretty-print.h2
-rw-r--r--gcc/print-rtl.c2
-rw-r--r--gcc/print-tree.c2
-rw-r--r--gcc/profile.h2
-rw-r--r--gcc/read-md.c2
-rw-r--r--gcc/read-rtl.c2
-rw-r--r--gcc/real.c2
-rw-r--r--gcc/realmpfr.c2
-rw-r--r--gcc/realmpfr.h2
-rw-r--r--gcc/recog.h3
-rw-r--r--gcc/reg-notes.def2
-rw-r--r--gcc/regcprop.c2
-rw-r--r--gcc/regrename.c2
-rw-r--r--gcc/regrename.h2
-rw-r--r--gcc/regset.h3
-rw-r--r--gcc/regstat.c2
-rw-r--r--gcc/reorg.c2
-rw-r--r--gcc/resource.c2
-rw-r--r--gcc/rtl.c2
-rw-r--r--gcc/rtl.def2
-rw-r--r--gcc/sched-rgn.c2
-rw-r--r--gcc/sel-sched-dump.c3
-rw-r--r--gcc/sese.c2
-rw-r--r--gcc/sese.h2
-rw-r--r--gcc/sparseset.c2
-rw-r--r--gcc/stack-ptr-mod.c2
-rw-r--r--gcc/statistics.c2
-rw-r--r--gcc/statistics.h2
-rw-r--r--gcc/store-motion.c2
-rw-r--r--gcc/streamer-hooks.h2
-rw-r--r--gcc/stringpool.c4
-rw-r--r--gcc/sync-builtins.def2
-rw-r--r--gcc/target-globals.c2
-rw-r--r--gcc/target-hooks-macros.h2
-rw-r--r--gcc/targhooks.c2
-rw-r--r--gcc/targhooks.h2
-rw-r--r--gcc/testsuite/ChangeLog11259
-rw-r--r--gcc/testsuite/ChangeLog-201211183
-rw-r--r--gcc/testsuite/g++.dg/bprob/bprob.exp3
-rw-r--r--gcc/testsuite/g++.dg/charset/charset.exp2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-ctor11.C16
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-ctor12.C14
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/parse2.C3
-rw-r--r--gcc/testsuite/g++.dg/debug/dwarf2/dwarf2.exp2
-rw-r--r--gcc/testsuite/g++.dg/dfp/dfp.exp2
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_constructor-2.C7
-rw-r--r--gcc/testsuite/g++.dg/ext/visibility/anon11.C13
-rw-r--r--gcc/testsuite/g++.dg/gcov/gcov.exp2
-rw-r--r--gcc/testsuite/g++.dg/gomp/gomp.exp2
-rw-r--r--gcc/testsuite/g++.dg/graphite/graphite.exp2
-rw-r--r--gcc/testsuite/g++.dg/init/array34.C15
-rw-r--r--gcc/testsuite/g++.dg/plugin/plugin.exp2
-rw-r--r--gcc/testsuite/g++.dg/tls/tls.exp2
-rw-r--r--gcc/testsuite/g++.dg/tm/tm.exp2
-rw-r--r--gcc/testsuite/g++.dg/tree-prof/tree-prof.exp2
-rw-r--r--gcc/testsuite/g++.dg/vect/vect.exp2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash28.C2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr55832.c23
-rw-r--r--gcc/testsuite/gcc.dg/fold-reassoc-2.c14
-rw-r--r--gcc/testsuite/gcc.dg/gomp/gomp.exp2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/graphite.exp2
-rw-r--r--gcc/testsuite/gcc.dg/pr55838.c13
-rw-r--r--gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp2
-rw-r--r--gcc/testsuite/gcc.dg/tm/tm.exp2
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr55755.c43
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr55862.c31
-rw-r--r--gcc/testsuite/gcc.dg/torture/tls/tls-reload-1.c3
-rw-r--r--gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr45144.c2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/sra-13.c114
-rw-r--r--gcc/testsuite/gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp2
-rw-r--r--gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp2
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr55857-1.c17
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr55857-2.c21
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/bprob.exp3
-rw-r--r--gcc/testsuite/gcc.misc-tests/gcov.exp2
-rw-r--r--gcc/testsuite/gcc.misc-tests/linkage.exp4
-rw-r--r--gcc/testsuite/gcc.target/aarch64/cmp-1.c15
-rw-r--r--gcc/testsuite/gcc.target/arm/arm.exp2
-rw-r--r--gcc/testsuite/gcc.target/avr/avr.exp2
-rw-r--r--gcc/testsuite/gcc.target/avr/torture/avr-torture.exp2
-rw-r--r--gcc/testsuite/gcc.target/bfin/builtins/bfin-builtins.exp2
-rw-r--r--gcc/testsuite/gcc.target/mips/mips.exp3
-rw-r--r--gcc/testsuite/gcc.target/sparc/sparc.exp2
-rw-r--r--gcc/testsuite/gcc.target/tic6x/builtins/c6x-builtins.exp2
-rw-r--r--gcc/testsuite/gcc.target/tic6x/tic6x.exp2
-rw-r--r--gcc/testsuite/gcc.target/x86_64/abi/callabi/callabi.exp2
-rw-r--r--gcc/testsuite/gfortran.dg/assignment_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/assignment_4.f9016
-rw-r--r--gcc/testsuite/gfortran.dg/class_array_15.f03116
-rw-r--r--gcc/testsuite/gfortran.dg/graphite/graphite.exp2
-rw-r--r--gcc/testsuite/gfortran.dg/null_7.f9020
-rw-r--r--gcc/testsuite/gfortran.dg/select_type_31.f0352
-rw-r--r--gcc/testsuite/gfortran.dg/unlimited_polymorphic_3.f032
-rw-r--r--gcc/testsuite/gfortran.dg/unlimited_polymorphic_7.f9019
-rw-r--r--gcc/testsuite/gfortran.dg/unlimited_polymorphic_8.f9020
-rw-r--r--gcc/testsuite/gfortran.dg/use_22.f9035
-rw-r--r--gcc/testsuite/gfortran.dg/use_23.f9042
-rw-r--r--gcc/testsuite/gfortran.dg/use_24.f9053
-rw-r--r--gcc/testsuite/gfortran.dg/use_25.f9039
-rw-r--r--gcc/testsuite/gfortran.dg/use_26.f9076
-rw-r--r--gcc/testsuite/gfortran.dg/use_27.f90103
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/compile/compile.exp2
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/execute.exp2
-rw-r--r--gcc/testsuite/gnat.dg/alignment10.adb20
-rw-r--r--gcc/testsuite/gnat.dg/specs/clause_on_volatile.ads85
-rw-r--r--gcc/testsuite/obj-c++.dg/property/property.exp2
-rw-r--r--gcc/timevar.c2
-rw-r--r--gcc/timevar.def2
-rw-r--r--gcc/timevar.h2
-rw-r--r--gcc/tlink.c2
-rw-r--r--gcc/toplev.h2
-rw-r--r--gcc/tracer.c2
-rw-r--r--gcc/trans-mem.h2
-rw-r--r--gcc/tree-affine.c3
-rw-r--r--gcc/tree-affine.h2
-rw-r--r--gcc/tree-call-cdce.c2
-rw-r--r--gcc/tree-chrec.c2
-rw-r--r--gcc/tree-complex.c2
-rw-r--r--gcc/tree-data-ref.c55
-rw-r--r--gcc/tree-dfa.c4
-rw-r--r--gcc/tree-diagnostic.c2
-rw-r--r--gcc/tree-diagnostic.h2
-rw-r--r--gcc/tree-eh.c2
-rw-r--r--gcc/tree-flow-inline.h2
-rw-r--r--gcc/tree-inline.h2
-rw-r--r--gcc/tree-loop-distribution.c2
-rw-r--r--gcc/tree-nested.c2
-rw-r--r--gcc/tree-nomudflap.c2
-rw-r--r--gcc/tree-nrv.c2
-rw-r--r--gcc/tree-object-size.c2
-rw-r--r--gcc/tree-optimize.c2
-rw-r--r--gcc/tree-outof-ssa.c2
-rw-r--r--gcc/tree-pass.h2
-rw-r--r--gcc/tree-phinodes.c2
-rw-r--r--gcc/tree-pretty-print.c2
-rw-r--r--gcc/tree-scalar-evolution.c2
-rw-r--r--gcc/tree-sra.c6
-rw-r--r--gcc/tree-ssa-address.c2
-rw-r--r--gcc/tree-ssa-copyrename.c2
-rw-r--r--gcc/tree-ssa-dse.c2
-rw-r--r--gcc/tree-ssa-ifcombine.c3
-rw-r--r--gcc/tree-ssa-live.c2
-rw-r--r--gcc/tree-ssa-loop-manip.c2
-rw-r--r--gcc/tree-ssa-loop-prefetch.c2
-rw-r--r--gcc/tree-ssa-loop-unswitch.c3
-rw-r--r--gcc/tree-ssa-operands.h2
-rw-r--r--gcc/tree-ssa-phiprop.c3
-rw-r--r--gcc/tree-ssa-pre.c8
-rw-r--r--gcc/tree-ssa-sink.c2
-rw-r--r--gcc/tree-ssa-structalias.c2
-rw-r--r--gcc/tree-ssa-ter.c2
-rw-r--r--gcc/tree-ssa-uncprop.c2
-rw-r--r--gcc/tree-ssa-uninit.c4
-rw-r--r--gcc/tree-ssa.c4
-rw-r--r--gcc/tree-ssanames.c2
-rw-r--r--gcc/tree-stdarg.c2
-rw-r--r--gcc/tree-streamer-in.c2
-rw-r--r--gcc/tree-streamer-out.c2
-rw-r--r--gcc/tree-streamer.h2
-rw-r--r--gcc/tree-vect-data-refs.c30
-rw-r--r--gcc/tree-vect-loop-manip.c2
-rw-r--r--gcc/tree-vect-loop.c4
-rw-r--r--gcc/tree-vect-stmts.c24
-rw-r--r--gcc/tree-vectorizer.c2
-rw-r--r--gcc/tree.def2
-rw-r--r--gcc/treestruct.def2
-rw-r--r--gcc/value-prof.h2
-rw-r--r--gcc/var-tracking.c10
-rw-r--r--gcc/xcoffout.c2
-rw-r--r--gcc/xcoffout.h2
-rw-r--r--libcpp/ChangeLog12
-rw-r--r--libcpp/lex.c15
-rw-r--r--libcpp/line-map.c18
-rw-r--r--libgcc/ChangeLog5
-rw-r--r--libgcc/config/v850/lib1funcs.S37
-rw-r--r--libgfortran/ChangeLog1279
-rw-r--r--libgfortran/ChangeLog-20121276
-rw-r--r--libgfortran/intrinsics/env.c3
-rw-r--r--libiberty/ChangeLog6
-rw-r--r--libiberty/simple-object-mach-o.c5
-rw-r--r--libjava/ChangeLog233
-rw-r--r--libjava/ChangeLog-2012240
-rw-r--r--libjava/classpath/ChangeLog.gcj6
-rw-r--r--libjava/classpath/gnu/java/rmi/registry/RegistryImpl.java4
-rw-r--r--libjava/classpath/tools/gnu/classpath/tools/orbd/Main.java4
-rw-r--r--libjava/defineclass.cc2
-rw-r--r--libjava/gnu/gcj/convert/Convert.java6
-rw-r--r--libjava/gnu/gcj/tools/gcj_dbtool/Main.java4
-rw-r--r--libjava/include/dwarf2-signal.h2
-rw-r--r--libjava/include/jni_md.h2
-rw-r--r--libjava/include/x86_64-signal.h2
-rw-r--r--libjava/shlibpath.m42
-rw-r--r--libmudflap/ChangeLog4
-rw-r--r--libmudflap/mf-runtime.c6
-rw-r--r--libobjc/Makefile.in2
-rw-r--r--libobjc/Object.m2
-rw-r--r--libobjc/Protocol.m2
-rw-r--r--libobjc/class.c2
-rw-r--r--libobjc/error.c2
-rw-r--r--libobjc/gc.c2
-rw-r--r--libobjc/init.c2
-rw-r--r--libobjc/libobjc.def2
-rw-r--r--libobjc/linking.m2
-rw-r--r--libobjc/memory.c2
-rw-r--r--libobjc/objc-private/common.h2
-rw-r--r--libobjc/objc-private/module-abi-8.h2
-rw-r--r--libobjc/objc-private/protocols.h2
-rw-r--r--libobjc/objc-private/runtime.h3
-rw-r--r--libobjc/objc-private/selector.h2
-rw-r--r--libobjc/objc/Object.h3
-rw-r--r--libobjc/objc/Protocol.h2
-rw-r--r--libobjc/objc/message.h2
-rw-r--r--libobjc/objc/objc.h2
-rw-r--r--libobjc/objc/runtime.h2
-rw-r--r--libobjc/objects.c3
-rw-r--r--libobjc/protocols.c2
-rw-r--r--libobjc/sarray.c2
-rw-r--r--libobjc/selector.c2
-rw-r--r--libquadmath/libquadmath.texi2
-rw-r--r--libstdc++-v3/ChangeLog4702
-rw-r--r--libstdc++-v3/ChangeLog-19985
-rw-r--r--libstdc++-v3/ChangeLog-19995
-rw-r--r--libstdc++-v3/ChangeLog-20005
-rw-r--r--libstdc++-v3/ChangeLog-20016
-rw-r--r--libstdc++-v3/ChangeLog-20026
-rw-r--r--libstdc++-v3/ChangeLog-20036
-rw-r--r--libstdc++-v3/ChangeLog-20046
-rw-r--r--libstdc++-v3/ChangeLog-20056
-rw-r--r--libstdc++-v3/ChangeLog-20066
-rw-r--r--libstdc++-v3/ChangeLog-20076
-rw-r--r--libstdc++-v3/ChangeLog-20086
-rw-r--r--libstdc++-v3/ChangeLog-20096
-rw-r--r--libstdc++-v3/ChangeLog-20106
-rw-r--r--libstdc++-v3/ChangeLog-20111
-rw-r--r--libstdc++-v3/ChangeLog-20124693
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver3
-rw-r--r--libstdc++-v3/config/cpu/cris/atomicity.h3
-rw-r--r--libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/hppa/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/i386/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/i486/atomicity.h3
-rw-r--r--libstdc++-v3/config/cpu/ia64/atomic_word.h3
-rw-r--r--libstdc++-v3/config/cpu/m68k/atomicity.h3
-rw-r--r--libstdc++-v3/config/cpu/sh/atomicity.h2
-rw-r--r--libstdc++-v3/config/cpu/sparc/atomicity.h2
-rw-r--r--libstdc++-v3/config/io/basic_file_stdio.h4
-rw-r--r--libstdc++-v3/config/io/c_io_stdio.h2
-rw-r--r--libstdc++-v3/config/locale/darwin/ctype_members.cc4
-rw-r--r--libstdc++-v3/config/locale/generic/c_locale.cc4
-rw-r--r--libstdc++-v3/config/locale/generic/c_locale.h2
-rw-r--r--libstdc++-v3/config/locale/generic/codecvt_members.cc2
-rw-r--r--libstdc++-v3/config/locale/generic/collate_members.cc2
-rw-r--r--libstdc++-v3/config/locale/generic/ctype_members.cc4
-rw-r--r--libstdc++-v3/config/locale/generic/messages_members.cc2
-rw-r--r--libstdc++-v3/config/locale/generic/messages_members.h2
-rw-r--r--libstdc++-v3/config/locale/generic/monetary_members.cc2
-rw-r--r--libstdc++-v3/config/locale/generic/numeric_members.cc3
-rw-r--r--libstdc++-v3/config/locale/generic/time_members.cc2
-rw-r--r--libstdc++-v3/config/locale/generic/time_members.h2
-rw-r--r--libstdc++-v3/config/locale/gnu/c_locale.cc4
-rw-r--r--libstdc++-v3/config/locale/gnu/c_locale.h2
-rw-r--r--libstdc++-v3/config/locale/gnu/codecvt_members.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/collate_members.cc3
-rw-r--r--libstdc++-v3/config/locale/gnu/ctype_members.cc4
-rw-r--r--libstdc++-v3/config/locale/gnu/messages_members.cc3
-rw-r--r--libstdc++-v3/config/locale/gnu/messages_members.h2
-rw-r--r--libstdc++-v3/config/locale/gnu/numeric_members.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/time_members.cc2
-rw-r--r--libstdc++-v3/config/locale/gnu/time_members.h2
-rw-r--r--libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc2
-rw-r--r--libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h3
-rw-r--r--libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc2
-rw-r--r--libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h2
-rw-r--r--libstdc++-v3/config/os/aix/atomicity.h3
-rw-r--r--libstdc++-v3/config/os/aix/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/bionic/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/bionic/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/bsd/darwin/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/bsd/darwin/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/bsd/darwin/os_defines.h2
-rw-r--r--libstdc++-v3/config/os/bsd/freebsd/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/bsd/openbsd/ctype_configure_char.cc2
-rw-r--r--libstdc++-v3/config/os/bsd/openbsd/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/djgpp/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/djgpp/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/djgpp/error_constants.h2
-rw-r--r--libstdc++-v3/config/os/generic/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/generic/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/generic/error_constants.h2
-rw-r--r--libstdc++-v3/config/os/gnu-linux/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/gnu-linux/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/hpux/ctype_base.h3
-rw-r--r--libstdc++-v3/config/os/hpux/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/mingw32-w64/ctype_base.h3
-rw-r--r--libstdc++-v3/config/os/mingw32-w64/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/mingw32/ctype_base.h3
-rw-r--r--libstdc++-v3/config/os/mingw32/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/newlib/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/newlib/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/tpf/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/tpf/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/uclibc/ctype_base.h4
-rw-r--r--libstdc++-v3/config/os/uclibc/ctype_inline.h3
-rw-r--r--libstdc++-v3/config/os/vxworks/ctype_base.h3
-rw-r--r--libstdc++-v3/config/os/vxworks/ctype_inline.h2
-rw-r--r--libstdc++-v3/config/os/vxworks/os_defines.h2
-rw-r--r--libstdc++-v3/doc/xml/manual/abi.xml10
-rw-r--r--libstdc++-v3/doc/xml/manual/status_cxx2011.xml9
-rw-r--r--libstdc++-v3/include/backward/hash_fun.h2
-rw-r--r--libstdc++-v3/include/backward/hash_map2
-rw-r--r--libstdc++-v3/include/backward/hash_set2
-rw-r--r--libstdc++-v3/include/backward/hashtable.h4
-rw-r--r--libstdc++-v3/include/bits/boost_concept_check.h2
-rw-r--r--libstdc++-v3/include/bits/concept_check.h2
-rw-r--r--libstdc++-v3/include/bits/gslice_array.h2
-rw-r--r--libstdc++-v3/include/bits/indirect_array.h4
-rw-r--r--libstdc++-v3/include/bits/ios_base.h2
-rw-r--r--libstdc++-v3/include/bits/localefwd.h2
-rw-r--r--libstdc++-v3/include/bits/mask_array.h4
-rw-r--r--libstdc++-v3/include/bits/stl_raw_storage_iter.h2
-rw-r--r--libstdc++-v3/include/bits/stream_iterator.h3
-rw-r--r--libstdc++-v3/include/bits/unordered_map.h6
-rw-r--r--libstdc++-v3/include/bits/valarray_after.h2
-rw-r--r--libstdc++-v3/include/bits/valarray_array.tcc2
-rw-r--r--libstdc++-v3/include/bits/valarray_before.h2
-rw-r--r--libstdc++-v3/include/c/cmath2
-rw-r--r--libstdc++-v3/include/c/cwchar2
-rw-r--r--libstdc++-v3/include/c_compatibility/complex.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/stdbool.h2
-rw-r--r--libstdc++-v3/include/c_compatibility/tgmath.h2
-rw-r--r--libstdc++-v3/include/c_global/clocale2
-rw-r--r--libstdc++-v3/include/c_global/csetjmp2
-rw-r--r--libstdc++-v3/include/c_global/csignal2
-rw-r--r--libstdc++-v3/include/c_global/cstdarg2
-rw-r--r--libstdc++-v3/include/c_global/cstdbool2
-rw-r--r--libstdc++-v3/include/c_global/cstring2
-rw-r--r--libstdc++-v3/include/c_global/ctgmath2
-rw-r--r--libstdc++-v3/include/c_global/ctime2
-rw-r--r--libstdc++-v3/include/c_std/cctype2
-rw-r--r--libstdc++-v3/include/c_std/clocale2
-rw-r--r--libstdc++-v3/include/c_std/cmath2
-rw-r--r--libstdc++-v3/include/c_std/csetjmp2
-rw-r--r--libstdc++-v3/include/c_std/csignal2
-rw-r--r--libstdc++-v3/include/c_std/cstdarg2
-rw-r--r--libstdc++-v3/include/c_std/cstring2
-rw-r--r--libstdc++-v3/include/c_std/ctime2
-rw-r--r--libstdc++-v3/include/c_std/cwchar2
-rw-r--r--libstdc++-v3/include/c_std/cwctype2
-rw-r--r--libstdc++-v3/include/debug/safe_base.h2
-rw-r--r--libstdc++-v3/include/ext/cast.h2
-rw-r--r--libstdc++-v3/include/ext/codecvt_specializations.h2
-rw-r--r--libstdc++-v3/include/ext/debug_allocator.h2
-rw-r--r--libstdc++-v3/include/ext/enc_filebuf.h3
-rw-r--r--libstdc++-v3/include/ext/iterator3
-rw-r--r--libstdc++-v3/include/ext/memory2
-rw-r--r--libstdc++-v3/include/ext/numeric_traits.h2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp3
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/node.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp2
-rw-r--r--libstdc++-v3/include/ext/rb_tree3
-rw-r--r--libstdc++-v3/include/ext/slist2
-rw-r--r--libstdc++-v3/include/ext/stdio_filebuf.h2
-rw-r--r--libstdc++-v3/include/ext/stdio_sync_filebuf.h2
-rw-r--r--libstdc++-v3/include/ext/type_traits.h2
-rw-r--r--libstdc++-v3/include/ext/vstring_util.h2
-rw-r--r--libstdc++-v3/include/parallel/balanced_quicksort.h2
-rw-r--r--libstdc++-v3/include/parallel/for_each_selectors.h2
-rw-r--r--libstdc++-v3/include/parallel/numeric2
-rw-r--r--libstdc++-v3/include/parallel/numericfwd.h2
-rw-r--r--libstdc++-v3/include/parallel/partition.h2
-rw-r--r--libstdc++-v3/include/parallel/queue.h2
-rw-r--r--libstdc++-v3/include/parallel/random_number.h2
-rw-r--r--libstdc++-v3/include/parallel/sort.h2
-rw-r--r--libstdc++-v3/include/precompiled/extc++.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_algos.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_hashtable_size.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_list_to_slist.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_list_to_vector.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_map_to_unordered_map.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_vector_size.h2
-rw-r--r--libstdc++-v3/include/profile/impl/profiler_vector_to_list.h2
-rw-r--r--libstdc++-v3/include/profile/map2
-rw-r--r--libstdc++-v3/include/profile/set2
-rw-r--r--libstdc++-v3/include/std/functional4
-rw-r--r--libstdc++-v3/include/std/iosfwd2
-rw-r--r--libstdc++-v3/include/std/iostream2
-rw-r--r--libstdc++-v3/include/std/regex2
-rw-r--r--libstdc++-v3/include/std/unordered_map2
-rw-r--r--libstdc++-v3/include/std/unordered_set2
-rw-r--r--libstdc++-v3/include/tr1/array2
-rw-r--r--libstdc++-v3/include/tr1/bessel_function.tcc2
-rw-r--r--libstdc++-v3/include/tr1/beta_function.tcc2
-rw-r--r--libstdc++-v3/include/tr1/cctype2
-rw-r--r--libstdc++-v3/include/tr1/cfenv3
-rw-r--r--libstdc++-v3/include/tr1/cinttypes3
-rw-r--r--libstdc++-v3/include/tr1/cstdint3
-rw-r--r--libstdc++-v3/include/tr1/cstdio2
-rw-r--r--libstdc++-v3/include/tr1/cstdlib3
-rw-r--r--libstdc++-v3/include/tr1/cwchar3
-rw-r--r--libstdc++-v3/include/tr1/cwctype2
-rw-r--r--libstdc++-v3/include/tr1/ell_integral.tcc2
-rw-r--r--libstdc++-v3/include/tr1/exp_integral.tcc2
-rw-r--r--libstdc++-v3/include/tr1/functional_hash.h2
-rw-r--r--libstdc++-v3/include/tr1/gamma.tcc2
-rw-r--r--libstdc++-v3/include/tr1/hypergeometric.tcc2
-rw-r--r--libstdc++-v3/include/tr1/legendre_function.tcc2
-rw-r--r--libstdc++-v3/include/tr1/modified_bessel_func.tcc2
-rw-r--r--libstdc++-v3/include/tr1/poly_laguerre.tcc2
-rw-r--r--libstdc++-v3/include/tr1/random.h2
-rw-r--r--libstdc++-v3/include/tr1/random.tcc2
-rw-r--r--libstdc++-v3/include/tr1/regex2
-rw-r--r--libstdc++-v3/include/tr1/riemann_zeta.tcc2
-rw-r--r--libstdc++-v3/include/tr1/special_function_util.h2
-rw-r--r--libstdc++-v3/include/tr1/tuple3
-rw-r--r--libstdc++-v3/include/tr1/unordered_map.h2
-rw-r--r--libstdc++-v3/include/tr1/unordered_set.h2
-rw-r--r--libstdc++-v3/libsupc++/eh_arm.cc3
-rwxr-xr-xlibstdc++-v3/scripts/extract_symvers.in2
-rw-r--r--libstdc++-v3/src/c++11/functional.cc9
-rw-r--r--libstdc++-v3/src/c++11/shared_ptr.cc5
-rw-r--r--libstdc++-v3/src/c++11/wstring-inst.cc2
-rw-r--r--libstdc++-v3/src/c++98/math_stubs_float.cc2
-rw-r--r--libstdc++-v3/src/c++98/math_stubs_long_double.cc2
-rw-r--r--libstdc++-v3/src/c++98/parallel_settings.cc2
-rw-r--r--libstdc++-v3/src/c++98/wlocale-inst.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/bad_function_call/what.cc33
-rw-r--r--libstdc++-v3/testsuite/20_util/default_delete/cons/constexpr.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/forward/1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc7
-rw-r--r--libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/steady_clock/constexpr_data.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/requirements/dr801.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/6.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/char/28277.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/28277.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/comparison_operators/less.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/requirements/fill.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/bitset/debug/invalidation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/capacity/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/capacity/1.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc3
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/1.h3
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc3
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/2.h3
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc3
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/3.h3
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/1.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/1.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/2.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/3.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/3.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/4.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/4.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/42352.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/5.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operations/5.h2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/24061-multiset.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single_move.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/2.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/34595.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/4.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/fill/4.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/heap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/max/1.cc3
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/min/1.cc3
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/minmax/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/move/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partition/1.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/complex/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed1.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed2.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/moveable.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/pstring.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/range.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string_op.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/range.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_char.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_awk.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_ecma.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_egrep.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_grep.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/default.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/range.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/copy_char.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/constants/error_type.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/constants/match_flag_type.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/constants/syntax_option_type.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/default.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/default.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/default.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/sub_match/cast_wchar_t.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/sub_match/length.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/ctor.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/length.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/lookup_classname.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/lookup_collatename.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/transform.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/transform_primary.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/translate.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/translate_nocase.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/char/value.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/ctor.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/length.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/transform.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate_nocase.cc2
-rw-r--r--libstdc++-v3/testsuite/28_regex/traits/wchar_t/value.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/headers/atomic/macros.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc2
-rw-r--r--libstdc++-v3/testsuite/decimal/operator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/basic_multimap.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/basic_set.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/ranged_hash.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/tree_intervals.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/tree_order_statistics.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/trie_dna.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/example/trie_prefix_search.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/vstring/range_access.cc2
-rw-r--r--libstdc++-v3/testsuite/libstdc++-dg/conformance.exp3
-rw-r--r--libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_find.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_find.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_insert.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/all_text_find.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/hash_zlob_int_find.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find.hpp2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_large.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_small.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert.hpp2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_large.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem.hpp2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_large.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_small.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_small.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push_pop.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify.hpp2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_down.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_up.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_insert.cc2
-rw-r--r--libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/list_update_policy_string_form.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/probe_fn_string_form.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/size_policy_string_form.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/tree_supports_order_statistics.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_order_statistics.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_prefix_search.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/detail/trigger_policy_string_form.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/native_set.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/string_form.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/assoc/template_policy.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/common_type/priority_queue/common_type.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_hash_map.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_hash_multimap.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_hash_set.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_map.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_multimap.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_priority_queue.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/native_type/native_set.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/multimap_common_type.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/common_type.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_find_test.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.h2
-rw-r--r--libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.tcc3
-rw-r--r--libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.tcc3
-rw-r--r--libstdc++-v3/testsuite/util/regression/trait/assoc/native_type_trait.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/trait/assoc/trait.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/regression/trait/assoc/type_trait.hpp2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_api.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_character.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_containers.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_io.h2
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_iterators.h2
1695 files changed, 77212 insertions, 70732 deletions
diff --git a/contrib/check_GNU_style.sh b/contrib/check_GNU_style.sh
index b7f1c9d9378..ef8fdda6ddd 100755
--- a/contrib/check_GNU_style.sh
+++ b/contrib/check_GNU_style.sh
@@ -1,7 +1,7 @@
#!/bin/sh
# Checks some of the GNU style formatting rules in a set of patches.
-# Copyright (C) 2010 Free Software Foundation, Inc.
+# Copyright (C) 2010, 2012 Free Software Foundation, Inc.
# Contributed by Sebastian Pop <sebastian.pop@amd.com>
# This program is free software; you can redistribute it and/or modify
diff --git a/contrib/check_makefile_deps.sh b/contrib/check_makefile_deps.sh
index 74dde333d95..fd739a114b1 100644
--- a/contrib/check_makefile_deps.sh
+++ b/contrib/check_makefile_deps.sh
@@ -2,7 +2,7 @@
#
# Check for accurate dependencies in gcc/Makefile.in.
#
-# Copyright (C) 2008 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2012 Free Software Foundation, Inc.
# Written by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
#
# This script is Free Software, and it can be copied, distributed and
diff --git a/contrib/compare-debug b/contrib/compare-debug
index fb8986dedfd..22870cf8e04 100755
--- a/contrib/compare-debug
+++ b/contrib/compare-debug
@@ -2,7 +2,7 @@
# Compare stripped copies of two given object files.
-# Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation
+# Copyright (C) 2007, 2008, 2009, 2010, 2012 Free Software Foundation
# Originally by Alexandre Oliva <aoliva@redhat.com>
# This file is part of GCC.
diff --git a/contrib/repro_fail b/contrib/repro_fail
index c55d080951f..b28a7127b1e 100755
--- a/contrib/repro_fail
+++ b/contrib/repro_fail
@@ -4,7 +4,7 @@
#
# Contributed by Diego Novillo <dnovillo@google.com>
#
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/fixincludes/Makefile.in b/fixincludes/Makefile.in
index 92b365cc0f9..ce850ffc7b4 100644
--- a/fixincludes/Makefile.in
+++ b/fixincludes/Makefile.in
@@ -1,6 +1,6 @@
# Makefile for fixincludes.
#
-# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2009, 2010
+# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2009, 2010, 2012
# Free Software Foundation, Inc.
#This file is part of fixincludes.
diff --git a/fixincludes/fixincl.c b/fixincludes/fixincl.c
index fecfb19e1b1..5a113c65b36 100644
--- a/fixincludes/fixincl.c
+++ b/fixincludes/fixincl.c
@@ -2,7 +2,7 @@
files which are fixed to work correctly with ANSI C and placed in a
directory that GCC will search.
- Copyright (C) 1997, 1998, 1999, 2000, 2004, 2009
+ Copyright (C) 1997, 1998, 1999, 2000, 2004, 2009, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/fixincludes/fixlib.h b/fixincludes/fixlib.h
index 19df48a8b0f..abbd853d0e7 100644
--- a/fixincludes/fixlib.h
+++ b/fixincludes/fixlib.h
@@ -3,7 +3,7 @@
files which are fixed to work correctly with ANSI C and placed in a
directory that GCC will search.
- Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2009
+ Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2009, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/fixincludes/fixopts.c b/fixincludes/fixopts.c
index 4be36933c8f..0ea32568367 100644
--- a/fixincludes/fixopts.c
+++ b/fixincludes/fixopts.c
@@ -1,6 +1,6 @@
/* Handle options that are passed from environment variables.
- Copyright (C) 2004, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2009, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/fixincludes/fixtests.c b/fixincludes/fixtests.c
index f95dd73bc16..84b6d876e23 100644
--- a/fixincludes/fixtests.c
+++ b/fixincludes/fixtests.c
@@ -3,7 +3,8 @@
Test to see if a particular fix should be applied to a header file.
- Copyright (C) 1997, 1998, 1999, 2000, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999, 2000, 2009, 2012
+ Free Software Foundation, Inc.
= = = = = = = = = = = = = = = = = = = = = = = = =
diff --git a/fixincludes/genfixes b/fixincludes/genfixes
index f186a508246..f0fc5e64f8b 100755
--- a/fixincludes/genfixes
+++ b/fixincludes/genfixes
@@ -1,6 +1,6 @@
#! /bin/sh
-# Copyright (C) 1999, 2000, 2001, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2009, 2012 Free Software Foundation, Inc.
# This file is part of GCC.
# GCC is free software; you can redistribute it and/or modify
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a6c85b730cb..b97fda01821 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,159 @@
+2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
+
+2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
+
+2013-01-05 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
+ to generate profiling.
+ * config/rs6000/aix64.h (LIB_SPEC): Same.
+
+2013-01-04 Andrew Pinski <apinski@cavium.com>
+
+ * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
+ New function.
+ (TARGET_FIXED_CONDITION_CODE_REGS): Define.
+
+2013-01-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
+ unconditionally.
+ (ix86_expand_move): Ditto.
+ (ix86_zero_extend_to_Pmode): Ditto.
+ (ix86_expand_call): Ditto.
+ (ix86_expand_special_args_builtin): Ditto.
+ (ix86_expand_builtin): Ditto.
+
+2013-01-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55862
+ * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
+ translating them through PHI nodes.
+
+2013-01-04 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/55755
+ * tree-sra.c (sra_modify_assign): Do not check that an access has no
+ children when trying to avoid producing a VIEW_CONVERT_EXPR.
+
+2013-01-04 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/55859
+ * opts.c (default_options_optimization): Clarify error message.
+
+2013-01-04 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/55863
+ * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
+ reassociation.
+
+2013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/53789
+ * config/pa/pa.md (movsi): Revert previous change.
+ * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
+ references.
+
+2013-01-03 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_expand_move): Always assign to op1
+ after eliminating TLS symbols.
+
+2013-01-03 Marc Glisse <marc.glisse@inria.fr>
+
+ PR bootstrap/50167
+ * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
+ * graphite-poly.c (debug_gmp_value): Likewise.
+
+2013-01-03 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/55712
+ * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
+ selected code model, define __code_mode_small__, __code_model_medium__,
+ __code_model_large__, __code_model_32__ or __code_model_kernel__.
+ * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
+ xchg temporary register with %k. Declare temporary register as
+ early clobbered.
+ [__x86_64__]: For medium and large code models, preserve %rbx register.
+
+2013-01-03 Richard Biener <rguenther@suse.de>
+
+ * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
+ (dump_subscript): Adjust.
+ (finalize_ddr_dependent): Do not dump redundant info.
+ (analyze_siv_subscript): Adjust.
+ (subscript_dependence_tester): Likewise.
+ (compute_affine_dependence): Likewise.
+
+2013-01-03 Richard Biener <rguenther@suse.de>
+
+ Revert
+ 2013-01-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55857
+ * tree-vect-stmts.c (vectorizable_load): Do not setup
+ re-alignment for invariant loads.
+
+ 2013-01-02 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-stmts.c (vectorizable_load): When vectorizing an
+ invariant load do not generate a vector load from the scalar location.
+
+2013-01-03 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
+ for not vectorizing.
+ * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
+ not build INDIRECT_REFs, call get_name once only.
+ (vect_create_data_ref_ptr): Likewise. Dump base object kind
+ based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
+
+2013-01-03 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55857
+ * tree-vect-stmts.c (vectorizable_load): Do not setup
+ re-alignment for invariant loads.
+
+2013-01-03 Richard Biener <rguenther@suse.de>
+
+ PR lto/55848
+ * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
+ prefer a built-in decl.
+
+2013-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.c (process_command): Update copyright notice dates.
+ * gcov.c (print_version): Likewise.
+ * gcov-dump.c (print_version): Likewise.
+
+ PR rtl-optimization/55838
+ * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
+ iv0.step, iv1.step and step.
+
+2013-01-03 Jakub Jelinek <jakub@redhat.com>
+ Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/55832
+ * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
+ ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
+ integer_{one,zero}_node.
+
+2013-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/54402
+ * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
+ * var-tracking.c (reverse_op): Don't add reverse ops to
+ VALUEs that have already
+ PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
+
+2013-01-02 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/contrib.texi: Note years as release manager for Mark Mitchell.
+
2013-01-02 Teresa Johnson <tejohnson@google.com>
* dumpfile.c (dump_loc): Print filename with location.
@@ -20,19 +176,6 @@
* cfgloop.c (get_loop_location): New function.
* cfgloop.h (get_loop_location): Declare.
- testsuite/
- * gcc.dg/tree-ssa/loop-1.c: Update expected dump message.
- * gcc.dg/tree-ssa/loop-23.c: Ditto.
- * gcc.dg/tree-ssa/cunroll-1.c: Ditto.
- * gcc.dg/tree-ssa/cunroll-2.c: Ditto.
- * gcc.dg/tree-ssa/cunroll-3.c: Ditto.
- * gcc.dg/tree-ssa/cunroll-4.c: Ditto.
- * gcc.dg/tree-ssa/cunroll-5.c: Ditto.
- * gcc.dg/unroll_1.c: Ditto.
- * gcc.dg/unroll_2.c: Ditto.
- * gcc.dg/unroll_3.c: Ditto.
- * gcc.dg/unroll_4.c: Ditto.
-
2013-01-02 Sriraman Tallam <tmsriram@google.com>
* config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
@@ -64,8 +207,7 @@
2013-01-02 Richard Biener <rguenther@suse.de>
* tree-vect-stmts.c (vectorizable_load): When vectorizing an
- invariant load do not generate a vector load from the scalar
- location.
+ invariant load do not generate a vector load from the scalar location.
2013-01-02 Richard Biener <rguenther@suse.de>
@@ -94,35427 +236,8 @@
PR tree-optimization/55831
* tree-vect-loop.c (get_initial_def_for_induction): Use
gsi_after_labels instead of gsi_start_bb.
-
-2012-12-27 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_deligitimze_address): Do not
- delegitimize TLS addresses on AIX.
- (rs6000_legitimize_tls_address_aix): Append TLS symbol qualifier.
- Set SYMBOL_FLAG_LOCAL on module symbol.
- (output_toc): Do not append TLS symbol qualifier here.
- * config/rs6000/rs6000.md (tls_get_addr_internal): Add GPR 4 to
- clobbers.
-
-2012-12-27 Andreas Schwab <schwab@linux-m68k.org>
-
- * target.def (supports_function_versions): Fix typo.
-
-2012-12-26 Sriraman Tallam <tmsriram@google.com>
-
- * doc/tm.texi.in (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Document
- new target hook.
- * doc/tm.texi: Regenerate.
- * c-family/c-common.c (handle_target_attribute): Retain target attribute
- for targets that support versioning.
- * target.def (supports_function_versions): New hook.
- * cp/class.c (add_method): Remove calls
- to DECL_FUNCTION_SPECIFIC_TARGET.
- * config/i386/i386.c (ix86_function_versions): Use target string
- to check for function versions instead of target flags.
- * (ix86_supports_function_versions): New function.
- * (is_function_default_version): Check target string.
- * TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS: New macro.
-
-2012-12-27 Steven Bosscher <steven@gcc.gnu.org>
-
- * cgraph.c (verify_cgraph_node): Don't allocate/free visited_nodes set.
-
-2012-12-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/53789
- * config/pa/pa.md (movsi): Reject expansion of TLS symbol references
- after reload starts.
-
-2012-12-22 Jan Hubicka <jh@suse.cz>
-
- PR lto/54728
- * cgraph.h (symtab_real_symbol_p): Drop code looking for external functions.
- * lto-streamer-out.c (output_symbol_p): New function.
- (produce_symtab) Use it.
-
-2012-12-21 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/55355
- * tree-sra.c (type_internals_preclude_sra_p): Also check that
- bit_position is small enough to fit a single HOST_WIDE_INT.
-
-2012-12-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * rtlanal.c (volatile_insn_p): Delete commented out code.
- (side_effects_p): Likewise.
- (may_trap_p_1) <UNSPEC_VOLATILE>: Return 1 again.
- * target.def (unspec_may_trap_p): Adjust comment.
- * targhooks.c (default_unspec_may_trap_p): Don't handle UNSPEC_VOLATILE.
- * config/ia64/ia64.c (ia64_unspec_may_trap_p): Adjust to above change.
-
-2012-12-21 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/55775
- * lra-assigns.c (improve_inheritance): Do nothing after
- LRA_MAX_INHERITANCE_PASSES pass.
- * lra-constraints.c (MAX_CONSTRAINT_ITERATION_NUMBER): Rename to
- LRA_MAX_CONSTRAINT_ITERATION_NUMBER. Move to lra-int.h.
- (MAX_INHERITANCE_PASSES): Rename to LRA_MAX_INHERITANCE_PASSES.
- Move to lra-int.h.
- * lra-int.h (LRA_MAX_CONSTRAINT_ITERATION_NUMBER): Move from
- lra-constraints.c.
- (LRA_MAX_INHERITANCE_PASSES): Ditto.
-
-2012-12-21 Steve Ellcey <sellcey@mips.com>
-
- PR bootstrap/54128
- * ira.c (build_insn_chain): Check only NONDEBUG instructions for
- register usage.
-
-2012-12-21 David Edelsohn <dje.gcc@gmail.com>
-
- * varasm.c (bss_initializer_p): Remove static.
- * output.h (bss_initializer_p): Declare.
- * xcoffout.c (xcoff_tbss_section_name): Define.
- * xcoffout.h (xcoff_tbss_section_name): Declare.
- * config/rs6000/xcoff.h (TARGET_ENCODE_SECTION_INFO): Define.
- (ASM_OUTPUT_TLS_COMMON): Merge strings.
- * config/rs6000/rs6000.c (tls_private_data_section): New.
- (output_toc): Only output CSECT decoration for TLS.
- Output appropriate CSECT for data or bss.
- (rs6000_xcoff_asm_init_sections) Define tls_private_data_section.
- (rs6000_xcoff_select_section): Handle TLS bss and private data.
- (rs6000_xcoff_file_start): Generate xcoff_tbss_section_name.
- (rs6000_xcoff_encode_section_info): Strip SYMBOL_FLAG_HAS_BLOCK_INFO
- from native TLS symbols.
-
-2012-12-21 Richard Biener <rguenther@suse.de>
-
- PR rtl-optimization/52996
- * cprop.c (bypass_block): When loops are to be preserved
- do not bypass loop headers. Revert earlier kludge to remove
- loops when doing that.
-
-2012-12-21 Richard Biener <rguenther@suse.de>
-
- PR bootstrap/54659
- * system.h: Include gmp.h.
- * tree-ssa-loop-niter.c: Do not include gmp.h here.
- * double-int.h: Likewise.
- * realmpfr.h: Likewise.
-
-2012-12-21 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * config/arm/cortex-a7.md: New file.
- * config/arm/t-arm (MD_INCLUDES): Add cortex-a7.md.
- * config/arm/arm.md: Include cortex-a7.md.
- (generic_sched): Don't use generic scheduler for Cortex-A7.
- (generic_vfp): Likewise.
- * config/arm/arm.c: (TARGET_SCHED_REORDER): Use arm_sched_reorder.
- (arm_sched_reorder,cortexa7_sched_reorder): New function.
- (cortexa7_older_only,cortexa7_younger): Likewise.
- (arm_issue_rate): Add Cortex-A7.
-
-2012-12-20 Ian Bolton <ian.bolton@arm.com>
-
- * gcc/config/aarch64/aarch64.md
- (*addsi3_aarch64_uxtw): New pattern.
- (*addsi3_compare0_uxtw): New pattern.
- (*add_<shift>_si_uxtw): New pattern.
- (*add_<optab><SHORT:mode>_si_uxtw): New pattern.
- (*add_<optab><SHORT:mode>_shft_si_uxtw): New pattern.
- (*add_<optab><SHORT:mode>_mult_si_uxtw): New pattern.
- (*add_<optab>si_multp2_uxtw): New pattern.
- (*addsi3_carryin_uxtw): New pattern.
- (*addsi3_carryin_alt1_uxtw): New pattern.
- (*addsi3_carryin_alt2_uxtw): New pattern.
- (*addsi3_carryin_alt3_uxtw): New pattern.
- (*add_uxtsi_multp2_uxtw): New pattern.
- (*subsi3_uxtw): New pattern.
- (*subsi3_compare0_uxtw): New pattern.
- (*sub_<shift>_si_uxtw): New pattern.
- (*sub_mul_imm_si_uxtw): New pattern.
- (*sub_<optab><SHORT:mode>_si_uxtw): New pattern.
- (*sub_<optab><SHORT:mode>_shft_si_uxtw): New pattern.
- (*sub_<optab>si_multp2_uxtw): New pattern.
- (*sub_uxtsi_multp2_uxtw): New pattern.
- (*negsi2_uxtw): New pattern.
- (*negsi2_compare0_uxtw): New pattern.
- (*neg_<shift>_si2_uxtw): New pattern.
- (*neg_mul_imm_si2_uxtw): New pattern.
- (*mulsi3_uxtw): New pattern.
- (*maddsi_uxtw): New pattern.
- (*msubsi_uxtw): New pattern.
- (*mulsi_neg_uxtw): New pattern.
- (*<su_optab>divsi3_uxtw): New pattern.
-
-2012-12-20 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/55750
- * gimplify.c (gimplify_self_mod_expr): Don't force lvalue to
- pass is_gimple_min_lval.
-
-2012-12-20 Richard Henderson <rth@redhat.com>
- Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/constraints.md (NxxDq, NxxSq): New.
- * config/s390/predicates.md (contiguous_bitmask_operand): New.
- * config/s390/s390.c (print_operand) ['e', 'f', 's', 't']: New
- operand letters.
- * config/s390/s390.md (bfstart, bfend): New mode attrs.
- (*insv<GPR>_zEC12_noshift): Use them.
- (*insv<GPR>_z10_noshift): Likewise.
- (*insv<GPR>_or_z10_noshift): Likewise.
-
- * config/s390/s390.md (*insv_l_di_reg_extimm): Un-macroize from :P.
-
- * config/s390/s390.md (*anddi3_cc): Add risbg alternative.
- (*anddi3_cconly, *anddi3): Likewise.
- (*andsi3, *andsi3_cconly, *andsi3_zarch): Likewise.
-
- * config/s390/s390.md (bitsize): New mode attr.
- (*extzv<GPR>, *extzv<GPR>, *insv<GPR>_zEC12, *insv<GPR>_z10): Use it.
- (extend<HQI><DSI>2, zero_extend<HQI>si2): Likewise.
- (zero_extend<HQI>di2, fixuns_trunc<BFP><GPR>2): Likewise.
-
- * config/s390/predicates.md (nonzero_shift_count_operand): New.
- * config/s390/s390-protos.h (s390_extzv_shift_ok): Declare.
- * config/s390/s390.c (s390_extzv_shift_ok): New function.
- * config/s390/s390.md (extzv): New expander.
- (*extzv<GPR>_zEC12, *extzv<GPR>_z10): New insns.
- (*pre_z10_extzv<GPR>): Rename from *extzv<GPR>; simplify with
- nonzero_shift_count_operand.
- (*extzv_<GPR>_srl, *extzv_<GPR>_sll): New insns.
-
- * config/s390/s390.md (IXOR): New code iterator.
- (*r<IXOR>sbg_<GPR>_noshift): Rename from *insv<GPR>_or_z10_noshift;
- macro-ize to handle XOR too.
- (*r<IXOR>sbg_di_rotl, *r<IXOR>sbg_<GPR>_srl, *r<IXOR>sbg_<GPR>_sll):
- New patterns.
-
- * config/s390/s390.md (*insv_rnsbg_noshift, *insv_rnsbg_srl): New.
-
-2012-12-20 Thomas Schwinge <thomas@codesourcery.com>
-
- PR bootstrap/55202
- * configure.ac <PLUGIN_LD_SUFFIX>: Use POSIX shell syntax.
- * configure: Regenerate.
-
-2012-12-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- PR target/55754
- * config/arm/arm.c (arm_canonicalize_comparison): Remove
- op0_preserve_value check for zero_extend to and transformation.
-
-2012-12-20 Teresa Johnson <tejohnson@google.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR gcov-profile/55734
- * gcov-io.c (gcov_read_summary): Use __builtin_popcount instead
- of __builtin_popcountll when building libgcov.a, otherwise use
- popcount_hwi.
- (gcov_histo_index): When not building libgcov.a, use floor_log2
- instead of __builtin_clzll.
-
-2012-12-20 Richard Biener <rguenther@suse.de>
-
- PR middle-end/55740
- * cfghooks.c (merge_blocks): Properly handle merging of
- two loop headers.
-
-2012-12-20 Roland Stigge <stigge@debian.org>
- Matthias Klose <doko@ubuntu.com>
-
- * config/rs6000/t-spe (MULTIARCH_DIRNAME): Remove.
- * config/rs6000/t-linux (MULTIARCH_DIRNAME): Define name for
- powerpc-linux-gnuspe.
-
-2012-12-19 Matthias Klose <doko@ubuntu.com>
-
- * config/i386/t-kfreebsd (MULTIARCH_DIRNAME): Add comma to
- separate arguments in make function.
-
-2012-12-19 Uros Bizjak <ubizjak@gmail.com>
- Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * config/i386/i386.h (enum ix86_tune_indices): Add
- X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE.
- (TARGET_AVOID_MEM_OPND_FOR_CMOVE): New define.
- * config/i386/i386.c (initial_ix86_tune_features)
- <X86TUNE_AVOID_MEM_OPND_FOR_CMOVE>: Initialize.
- * config/i386/i386.md (splitters to avoid cmove memory operands): New.
- (peephole2s to avoid cmove memory operands): New.
-
-2012-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.md (f_minmaxs, f_minmaxd): New types.
- * config/arm/vfp.md (smax<mode>3): New pattern.
- (smin<mode>3): Likewise.
-
-2012-12-19 Richard Biener <rguenther@suse.de>
-
- * targhooks.h (default_canonicalize_comparison): Fix prototype.
- * targhooks.c (default_canonicalize_comparison): Define.
-
-2012-12-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55736
- PR tree-optimization/55703
- * gimplify.c (prune_expr_location): New function.
- (unshare_expr_without_location): Likewise.
- * tree.h (unshare_expr_without_location): Declare.
- * ipa-prop.c (prune_expression_for_jf): Remove.
- (prune_expression_for_jf_1): Likewise.
- (ipa_set_jf_constant): Use unshare_expr_without_location.
- (ipa_set_jf_arith_pass_through): Likewise.
- (determine_known_aggregate_parts): Likewise.
- * tree-switch-conversion.c (build_constructors): Use
- unshare_expr_without_location on all constructor elements.
-
-2012-12-19 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * target.def: Define canonicalize_comparison hook.
- * targhooks.h (default_canonicalize_comparison): New prototype.
- * targhooks.c (default_canonicalize_comparison): New function.
- * doc/tm.texi: Add documentation for the new target hook.
- * doc/tm.texi.in: Likewise.
- * combine.c (try_combine): Adjust to use the target hook.
- * config/alpha/alpha.h (CANONICALIZE_COMPARISON): Remove macro
- definition.
- * config/alpha/alpha.c (alpha_canonicalize_comparison): New function.
- (TARGET_CANONICALIZE_COMPARISON): New macro definition.
- * config/arm/arm-protos.h (arm_canonicalize_comparison): Remove
- prototype.
- * config/arm/arm.c (arm_canonicalize_comparison): Add new parameter.
- (TARGET_CANONICALIZE_COMPARISON): New macro definition.
- * config/arm/arm.h (CANONICALIZE_COMPARISON): Remove macro definition.
- * config/s390/s390-protos.h (s390_canonicalize_comparison): Remove
- prototype.
- * config/s390/s390.c (s390_canonicalize_comparison): Add new parameter.
- (TARGET_CANONICALIZE_COMPARISON): New macro definition.
- * config/s390/s390.h (CANONICALIZE_COMPARISON): Remove macro definition.
- * config/sh/sh-protos.h (sh_canonicalize_comparison): Remove prototype.
- * config/sh/sh.c (sh_canonicalize_comparison): Add new prototype. New
- function overloading the old one.
- (TARGET_CANONICALIZE_COMPARISON): New macro definition.
- * config/sh/sh.h (CANONICALIZE_COMPARISON): Remove macro definition.
- * config/spu/spu.c (spu_canonicalize_comparison): New function.
- (TARGET_CANONICALIZE_COMPARISON): New macro definition.
- * config/spu/spu.h (CANONICALIZE_COMPARISON): Remove macro definition.
-
-2012-12-19 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/55730
- * dwarf2out.c (mem_loc_descriptor): Ignore CLOBBER.
- * valtrack.c (gen_lowpart_for_debug): New function.
- (propagate_for_debug): Temporarily set rtl_hooks.gen_lowpart_no_emit
- to gen_lowpart_for_debug.
-
-2012-12-18 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/55683
- * ipa-prop.c (try_make_edge_direct_virtual_call): Look into constants
- for binfo.
-
-2012-12-19 Terry Guo <terry.guo@arm.com>
-
- * config/arm/arm.c (thumb_find_work_register): Check argument
- register number based on current PCS.
-
-2012-12-18 Jakub Jelinek <jakub@redhat.com>
-
- PR target/55562
- * sbitmap.c (bitmap_and, bitmap_xor, bitmap_ior): Return whether
- dst sbitmap changed even if it doesn't have popcount.
-
-2012-12-18 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.md (insv_imm<mode>): Add modes
- for source operands.
-
-2012-12-18 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_simd_attr_length_move):
- Remove unused variables.
- (aarch64_split_compare_and_swap): Likewise.
-
-2012-12-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/driver-arm.c (arm_cpu_table): Add Cortex-A7.
-
-2012-12-18 Aldy Hernandez <aldyh@redhat.com>
-
- PR other/54324
- * doc/install.texi (Tools/packages necessary for building GCC):
- Suggest --disable-stage1-checking for older GCC's.
-
-2012-12-18 Aldy Hernandez <aldyh@redhat.com>
-
- PR other/54324
- * tree-ssa-coalesce.c (struct ssa_name_var_hash): Remove "union"
- from template parameter.
-
-2012-12-18 Richard Biener <rguenther@suse.de>
-
- PR middle-end/54838
- * cfgloopmanip.c (fix_loop_structure): Re-discover latch
- edges first and mark loops for removal if no latch edges remain.
- Properly re-create LOOPS_HAVE_FALLTHRU_PREHEADERS.
- * loop-init.c (loop_optimizer_finalize): Set
- LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
-
-2012-12-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55555
- * tree-ssa-loop-niter.c (idx_infer_loop_bounds): Properly
- analyze evolution of the index for the loop it is used in.
- * tree-scalar-evolution.c (instantiate_scev_name): Take
- inner loop we will be creating a chrec for. Generalize
- fix for PR40281 and prune invalid SCEVs.
- (instantiate_scev_poly): Likewise - pass down inner loop
- we will be creating a chrec for.
- (instantiate_scev_binary): Take and pass through inner loop.
- (instantiate_array_ref): Likewise.
- (instantiate_scev_convert): Likewise.
- (instantiate_scev_not): Likewise.
- (instantiate_scev_3): Likewise.
- (instantiate_scev_2): Likewise.
- (instantiate_scev_1): Likewise.
- (instantiate_scev_r): Likewise.
- (resolve_mixers): Adjust.
- (instantiate_scev): Likewise.
-
-2012-12-18 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/55717
- * rtlhooks-def.h (RTL_HOOKS_GEN_LOWPART_NO_EMIT): Define to
- gen_lowpart_if_possible.
- (gen_lowpart_no_emit_general): Remove prototype.
- * rtlhooks.c (gen_lowpart_no_emit_general): Removed.
- * simplify-rtx.c (simplify_unary_operation_1,
- simplify_binary_operation_1): Continue simplifying if
- rtl_hooks.gen_lowpart_no_emit returns NULL_RTX.
- * dwarf2out.c (mem_loc_descriptor) <case TRUNCATE>: Handle
- truncation like lowpart SUBREG.
-
-2012-12-17 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Update Kaveh Ghazi's entry;
- remove broken link to Rutgers University.
-
-2012-12-17 Jan-Benedict Glaw <jbglaw@lug-owl.de>
-
- * varasm.c (pending_assemble_externals_processed): Guard
- with ASM_OUTPUT_EXTERNAL.
-
-2012-12-17 Andrew Stubbs <ams@codesourcery.com>
- Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * config/arm/arm.md (zero_extend<mode>di2): Add extra alternatives
- for NEON registers.
- Add alternative for one-instruction extend-in-place.
- (extend<mode>di2): Likewise.
- Add constraints for Thumb-mode memory loads.
- Prevent extend splitters doing NEON alternatives.
- * config/arm/iterators.md (qhs_extenddi_cstr, qhs_zextenddi_cstr):
- Adjust constraints to add new alternatives.
- * config/arm/neon.md: Add splitters for zero- and sign-extend.
-
-2012-12-17 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * config/arm/arm.md (type): Add "simple_alu_shift" to attribute "type".
- (core_cycles): Update for simple_alu_shift.
- (thumb1_zero_extendhisi2,arm_zero_extendhisi2_v6): Use simple_alu_shift
- instead of a CPU-speicific condition for "type" attribute.
- (thumb1_zero_extendqisi2_v6,arm_zero_extendqisi2_v6): Likewise.
- (thumb1_extendhisi2,arm_extendhisi2_v6,arm_extendqisi_v6): Likewise.
- (thumb1_extendqisi2): Likewise.
- * config/arm/thumb2.md (thumb2_extendqisi_v6): Likewise.
- (thumb2_zero_extendhisi2_v6,thumb2_zero_extendqisi2_v6) Likewise.
- * config/arm/arm1020e.md (alu_shift_op): Use simple_alu_shift.
- * config/arm/arm1026ejs.md (alu_shift_op): Likewise.
- * config/arm/arm1136jfs.md (11_alu_shift_op): Likewise.
- * config/arm/arm926ejs.md (9_alu_op): Likewise.
- * config/arm/cortex-a15.md (cortex_a15_alu_shift): Likewise.
- * config/arm/cortex-a5.md (cortex_a5_alu_shift): Likewise.
- * config/arm/cortex-a8.md (cortex_a8_alu_shift,cortex_a8_mov): Likewise.
- * config/arm/cortex-a9.md (cortex_a9_dp,cortex_a9_dp_shift): Likewise.
- * config/arm/cortex-m4.md (cortex_m4_alu): Likewise.
- * config/arm/cortex-r4.md (cortex_r4_alu_shift): Likewise.
- * config/arm/fa526.md (526_alu_shift_op): Likewise.
- * config/arm/fa606te.md (fa606te_core): Likewise.
- * config/arm/fa626te.md (626te_alu_shift_op): Likewise.
- * config/arm/fa726te.md (726te_alu_shift_op): Likewise.
- * config/arm/fmp626.md (mp626_alu_shift_op): Likewise.
-
-2012-12-17 Richard Biener <rguenther@suse.de>
-
- PR middle-end/54781
- * alias.c (ao_ref_from_mem): More appropriately constrain the
- base object we feed to the tree oracle. Remove dead code.
-
-2012-12-17 James Greenhalgh <james.greenhalgh@arm.com>
- Tejas Belagod <tejas.belagod@arm.com>
-
- * config/aarch64/aarch64.c
- (aarch64_autovectorize_vector_sizes): New.
- (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
-
-2012-12-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR middle-end/55709
- Forward port from 4.7 branch:
- 2012-04-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR middle-end/52894
- * varasm.c (process_pending_assemble_externals): Set
- pending_assemble_externals_processed true.
- (assemble_external): Call assemble_external_real if the pending
- assemble externals have been processed.
-
-2012-12-16 Eric Botcazou <ebotcazou@adacore.com>
- Tomash Brechko <tomash.brechko@gmail.com>
-
- PR target/55673
- * config/sparc/sparc.c (sparc_emit_membar_for_model): Fix reversed
- handling of before and after cases.
- * config/sparc/sync.md (atomic_store): Fix pasto.
-
-2012-12-16 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/55630
- * expr.c (expand_assignment): Do not call copy_blkmode_to_reg to move
- BLKmode return values to the return register.
-
-2012-12-15 Alexandre Oliva <aoliva@redhat.com>
-
- PR libmudflap/53952
- * expr.c (mem_ref_refers_to_non_mem_p): Factor out
- implementation into...
- (addr_expr_of_non_mem_decl_p_1): ... this new function.
- (addr_expr_of_non_mem_decl_p): New.
- * tree.h (addr_expr_of_non_mem_decl_p): Declare.
- * tree-mudflap.c (mf_xform_derefs_1): Don't change MEM_REFs
- and TARGET_MEM_REFs that have an ADDR_EXPR of a non-mem DECL
- as base operand.
-
-2012-12-14 Yvan Roux <yvan.roux@linaro.org>
-
- * optabs.c (expand_atomic_store): Elide redundant model test.
-
-2012-12-14 Teresa Johnson <tejohnson@google.com>
-
- PR gcov-profile/55674
- * lto-cgraph.c (merge_profile_summaries): Set min correctly the
- first time we merge into a histogram entry.
-
-2012-12-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55684
- * tree-ssa-loop-ivcanon.c (remove_redundant_iv_tests): Handle
- gracefully the case where we cannot compute the number of
- iterations at an exit.
-
-2012-12-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55687
- * tree-chrec.h (no_evolution_in_loop_p): Properly use
- tree_contains_chrecs.
-
-2012-12-13 Richard Henderson <rth@redhat.com>
-
- PR middle-end/55492
- * optabs.c (expand_atomic_load): Emit acquire barrier after the load.
-
-2012-12-13 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.c (alpha_pad_function_end): Consider barriers
- when looking for NOTE_INSN_CALL_ARG_LOCATION.
-
-2012-12-13 Richard Biener <rguenther@suse.de>
-
- PR middle-end/53476
- * varpool.c (varpool_remove_unreferenced_decls): Revert to 4.7
- behavior.
-
-2012-12-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/unspecs.md: Add copyright notice.
-
-2012-12-13 Jakub Jelinek <jakub@redhat.com>
-
- * tree-ssa-threadedge.c (propagate_threaded_block_debug_into): Avoid
- -Wsign-compare warning.
-
-2012-12-13 Richard Biener <rguenther@suse.de>
-
- PR lto/55660
- * tree-streamer.c (record_common_node): Check that we are not
- recursively pre-loading nodes we want to skip. Handle
- char_type_node appearing as part of va_list_type_node.
-
-2012-12-13 Jakub Jelinek <jakub@redhat.com>
-
- PR gcov-profile/55650
- * coverage.c (coverage_obj_init): Return false if no functions
- are being emitted.
-
-2012-12-13 Steven Bosscher <steven@gcc.gnu.org>
-
- * bitmap.c (struct bitmap_descriptor): Remove forward declaration.
- (struct bitmap_head_def): Remove desc pointer. Add descriptor_id
- field. Reorder fields for pointer alignment.
- * bitmap.c: Include vec.h.
- (struct bitmap_descriptor): Rename to bitmap_descriptor_d.
- (bitmap_descriptor): New typedef, pointer to bitmap_descriptor_d.
- Update all struct bitmap_descriptor references.
- (next_bitmap_desc_id): New running index for bitmap desciptors.
- (bitmap_descriptors): Vec of all bitmap descriptors by descriptor id.
- (hash_descriptor, eq_descriptor): Update for struct bitmap_descriptor
- change.
- (bitmap_descriptor): Rename function to get_bitmap_descriptor.
- Stuff newly allocated bitmap descriptor into bitmap_descriptors.
- Set the bitmap descriptor id.
- (bitmap_register): Lookup bitmap desciptor and store its ID in
- the passed bitmap.
- (register_overhead): Likewise.
- (bitmap_find_bit): Lookup descriptor by id in bitmap_descriptors.
- (print_statistics): Update for struct bitmap_descriptor change.
-
- * Makefile.in: Fix bitmap.o dependencies.
-
-2012-12-13 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-pre.c (get_representative_for): Adjust dumping.
- Mark created SSA names for release.
- (eliminate_bb): Insert only when expr is not NULL.
-
-2012-12-12 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/55665
- * tree-inline.c (remap_decls): Change nonlocalized_list
- to pointer to pointer to vector from pointer to vector.
- (remap_block): Pass address of BLOCK_NONLOCALIZED_VARS.
-
- PR sanitizer/55508
- * builtin-attrs.def (ATTR_TMPURE_NOTHROW_LEAF_LIST,
- ATTR_TMPURE_NORETURN_NOTHROW_LEAF_LIST): New.
- * asan.c (ATTR_TMPURE_NOTHROW_LEAF_LIST,
- ATTR_TMPURE_NORETURN_NOTHROW_LEAF_LIST): Define.
- * sanitizer.def: Make __asan_report_* and __asan_handle_no_return
- builtins tm pure.
-
-2012-12-12 Steve Ellcey <sellcey@mips.com>
-
- * config/mips/mips.c (mips_option_override): Set
- mips_dbx_regno entries to IGNORED_DWARF_REGNUM by default.
-
-2012-12-12 Steven Bosscher <steven@gcc.gnu.org>
-
- * graph.c: Include sbitmap.h and cfgloop.h.
- (draw_cfg_nodes_no_loops): New function to dump basic blocks in
- topological order if the function does not have a loop tree.
- Handle unreachable blocks also.
- (draw_cfg_nodes_for_loop): New function to dump basic blocks in
- one loop tree node as a named cluster of nodes.
- (draw_cfg_nodes): New function to draw all CFG nodes.
- (draw_cfg_edges): New function to draw all CFG edges.
- (print_graph_cfg): Simplify using the new functions.
- * Makefile.in (graph.o): Fix dependencies.
-
-2012-12-12 Steven Bosscher <steven@gcc.gnu.org>
-
- * dumpfile.h (enum tree_dump_index): Remove TDI_vcg.
- * dumpfile.c (dump_files[]): Remove entry for TDI_vcg.
- * tree-cfg.c (gimple_cfg2vcg): Remove.
- (build_gimple_cfg): Don't call it.
- * doc/invoke.texi (-fdump-tree-vcg): Remove documentation.
- Correct GraphViz documentation, it does handle multiple functions
- in a single dump.
-
-2012-12-12 Zdenek Dvorak <ook@ucw.cz>
-
- PR tree-optimization/55481
- * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fall
- back to general rewriting if we cannot leave an original biv
- definition alone.
-
-2012-12-12 Jakub Jelinek <jakub@redhat.com>
-
- PR target/55659
- Revert
- 2012-12-11 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/43631
- * var-tracking.c (emit_note_insn_var_location): If insn is followed
- by BARRIER, put note after the BARRIER.
- (next_non_note_insn_var_location): Skip over BARRIERs.
- (emit_notes_in_bb): If call is followed by BARRIER, put note after
- the BARRIER.
-
- 2012-12-06 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/43631
- * var-tracking.c (emit_note_insn_var_location, emit_notes_in_bb):
- Clear BLOCK_FOR_INSN on notes emitted in between basic blocks,
- don't adjust BB_END when inserting note after BB_END of some bb.
-
-2012-12-12 Steven Bosscher <steven@gcc.gnu.org>
- Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/52640
- * varasm.c (pending_assemble_externals_set): New pointer set.
- (process_pending_assemble_externals): Destroy the pointer set.
- (assemble_external): See if decl is in pending_assemble_externals_set,
- and add it to pending_assemble_externals if necessary.
- (init_varasm_once): Allocate pending_assemble_externals_set.
-
-2012-12-12 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/55633
- * tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk):
- Ignore bounds on which bound += double_int_one overflowed.
-
-2012-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/54121
- * config/sparc/sparc.md (tldo_stb_sp32): Fix pasto.
- (tldo_stb_sp64): Likewise.
- (tldo_sth_sp32): Likewise.
- (tldo_sth_sp64): Likewise.
- (tldo_stw_sp32): Likewise.
- (tldo_stw_sp64): Likewise.
- (tldo_stx_sp64): Likewise.
-
-2012-12-11 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/55193
- * lra-constraints.c (loc_equivalence_callback): New function.
- (lra_constraints): Call simplify_replace_fn_rtx instead of
- loc_equivalence_change_p on DEBUG_INSNs.
-
-2012-12-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/55642
- * config/arm/thumb2.md (*thumb2_abssi2):
- Set ce_count attribute to 2.
- (*thumb2_neg_abssi2): Likewise.
-
-2012-12-11 Jakub Jelinek <jakub@redhat.com>
-
- * varasm.c (get_variable_section): Don't return lcomm_section
- for asan_protect_global decls.
- * asan.c (asan_protect_global): Only avoid public common variables.
- Don't call get_variable_section here.
-
- PR middle-end/43631
- PR bootstrap/55615
- * var-tracking.c (emit_note_insn_var_location): If insn is followed
- by BARRIER, put note after the BARRIER.
- (next_non_note_insn_var_location): Skip over BARRIERs.
- (emit_notes_in_bb): If call is followed by BARRIER, put note after
- the BARRIER.
-
- * sanitizer.def: Add comment about importance of ordering of
- BUILT_IN_ASAN_REPORT* builtins.
- * cfgcleanup.c (old_insns_match_p): Don't cross-jump __asan_report_*
- builtins.
-
- * sanitizer.def (BUILT_IN_ASAN_HANDLE_NO_RETURN): New builtin.
- * asan.c (instrument_builtin_call): Change is_gimple_builtin_call
- gcc_assert to gcc_checking_assert.
- (maybe_instrument_call): Imit __builtin___asan_handle_no_return ()
- before noreturn calls other than __builtin_trap () and
- __builtin_unreachable ().
-
-2012-12-11 Richard Biener <rguenther@suse.de>
-
- PR other/54324
- * doc/install.texi (Tools/packages necessary for building GCC):
- State ISO C++98 host compiler requirement. Increment minimum
- GCC version required for building all languages for a cross-compiler
- to 3.4 or later.
-
-2012-12-11 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55079
- * tree-vrp.c (extract_range_from_binary_expr_1): Handle MAX/MIN_EXPR
- for more cases.
- (register_edge_assert_for_2): Register asserts for post-in/decrement
- tests.
- (check_array_ref): Dump what expression we emit array bound
- warnings for.
- (search_for_addr_array): Likewise.
-
-2012-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-loop-ivopts.c (prepare_decl_rtl) <ADDR_EXPR>: Generate RTL
- only for a DECL which HAS_RTL_P.
-
-2012-12-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/predicates.md ("execute_operation"): New predicate.
- * config/s390/s390.md ("*execute_rl", "*execute"): Use the new
- predicate.
-
-2012-12-10 Xinliang David Li <davidxl@google.com>
-
- * config/i386/i386.c: Enable push/pop in pro/epilogue for modern CPUs.
-
-2012-12-10 Steve Ellcey <sellcey@mips.com>
-
- * config/mips/gnu-user.h (NO_SHARED_SPECS): Add space before option.
-
-2012-12-10 Steve Ellcey <sellcey@mips.com>
-
- PR target/54061
- * rtl.h (IGNORED_DWARF_REGNUM): New.
- * dwarf2out.c (reg_loc_descriptor): Check for IGNORED_DWARF_REGNUM.
- (mem_loc_descriptor): Ditto.
- * config/mips/mips.h (ALL_COP_REG_FIRST): New.
- (ALL_COP_REG_LAST): New.
- (ALL_COP_REG_NUM): Redefine using above macros.
- * config/mips/mips.c (mips_option_override): Set mips_dbx_regno
- coprocessor entries to IGNORED_DWARF_REGNUM.
-
-2012-12-10 H.J. Lu <hongjiu.lu@intel.com>
-
- PR lto/55466
- * lto-symtab.c (lto_symtab_merge_decls_1): Don't record the
- prevailing variable.
- * lto.c (lto_register_var_decl_in_symtab): Don't record static
- variables.
- (lto_main): Record the global variables if WPA isn't enabled.
-
-2012-12-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55107
- * tree-ssa-pre.c (struct pre_stats): Remove constified field.
- (bitmap_set_replace_value): Add gcc_unreachable.
- (do_regular_insertion): Re-write all_same handling. Insert
- an assignment instead of a PHI in this case.
- (eliminate_bb): Record availability also for SSA names defined
- by a constant.
- (do_pre): Do not record constified events.
- (execute_fre): Likewise.
-
-2012-12-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/spu/spu.md: Replace "operands" with "operands != NULL" in
- insn conditions.
-
-2012-12-10 Jakub Jelinek <jakub@redhat.com>
-
- * asan.c (asan_init_shadow_ptr_types): Move earlier in the file.
- Call initialize_sanitizer_builtins at the end.
- (asan_pp_string): Use TREE_TYPE (shadow_ptr_types[0])
- as character type instead of char_type_node.
- (asan_emit_stack_protection): Call asan_init_shadow_ptr_types
- if shadow_ptr_types isn't initialized.
- (asan_protect_global): Return true for STRING_CSTs except those
- created by asan_pp_string.
- (count_string_csts, add_string_csts): New functions.
- (struct asan_add_string_csts_data): New type.
- (asan_finish_file): Clear flag_asan at the beginning, restore at the
- end. Traverse constant_pool_htab () to look for protected
- STRING_CSTs. Don't call initialize_sanitizer_builtins,
- instead call asan_init_shadow_ptr_types if shadow_ptr_types isn't
- initialized yet.
- (asan_instrument): Don't call initialize_sanitizer_builtins.
- * varasm.c (output_constant_def_contents): If STRING_CST should be
- asan protected, align it sufficiently and emit padding after it.
- (categorize_decl_for_section): If flag_asan, don't put STRING_CSTs
- that should be asan protected into mergeable sections. For
- -fmerge-all-constants, ignore it for -fmudflap or if decl is
- asan protected.
-
-2012-12-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/neon.ml (opcode): Add Vrintn, Vrinta, Vrintp, Vrintm,
- Vrintz to type.
- (type features): Add Requires_arch type constructor.
- (ops): Define Vrintn, Vrinta, Vrintp, Vrintm, Vrintz features.
- * config/arm/neon-docgen.ml (intrinsic_groups): Define Vrintn,
- Vrinta, Vrintp, Vrintm, Vrintz, Vrintx.
- * config/arm/neon-testgen.ml (effective_target): Define check for
- Requires_arch 8.
- * config/arm/neon-gen.ml (print_feature_test_start): Handle
- Requires_arch.
- (print_feature_test_end): Likewise.
- Add 2012 to Copyright notice.
- * doc/arm-neon-intrinsics.texi: Regenerate.
- * config/arm/arm_neon.h: Regenerate.
-
-2012-12-10 Kai Tietz <ktietz@redhat.com>
-
- * stmt.c (expand_sjlj_dispatch_table): Fix off by one.
-
- PR target/53912
- * stmt.c (compute_cases_per_edge): Cast from pointer via intptr_t.
- (expand_case): Likewise.
-
- PR target/53912
- * print-tree.c (print_node): Cast from pointer via uintptr_t.
-
-2012-12-10 Jakub Jelinek <jakub@redhat.com>
-
- * asan.c (instrument_derefs): Handle bitfield COMPONENT_REFs
- accesses as reads/writes to their DECL_BIT_FIELD_REPRESENTATIVE.
-
-2012-12-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * lto-streamer-out.c (lto_write_tree): Do not reset the DECL_INITIAL of
- variables in the global constant pool.
-
-2012-12-08 Steven Bosscher <steven@gcc.gnu.org>
-
- PR rtl-optimization/55158
- * sched-rgn.c (bb_state_array, bb_state): Add some explaining
- comment, and initialize to NULL explicitly.
- (realloc_bb_state_array): New function.
- (free_bb_state_array): New function.
- (schedule_region): Call realloc_bb_state_array after schedule_block.
- (sched_rgn_init): Use realloc_bb_state_array to initialize bb_state.
- (sched_rgn_finish): Use free_bb_state_array to free it.
-
-2012-12-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-loop-im.c (for_each_index) <CONST_DECL>: New case.
-
-2012-12-07 Sriraman Tallan <tmsriram@google.com>
-
- * toplev.c (process_options): Do not warn when -ffunction-sections
- and -fprofile are used together.
-
-2012-12-07 Steven Bosscher <steven@gcc.gnu.org>
-
- * ree.c (struct ext_cand): Remove GTY markers.
-
-2012-12-07 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55141
- * lra-constraints.c (lra_constraints): Use biggest mode for
- df_set_regs_ever_live.
-
-2012-12-07 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Add UPPER_BOUND
- parameter.
- (try_unroll_loop_completely) Update.
-
-2012-12-07 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/55395
- * varpool.c (varpool_remove_node): Don't drop DECL_INITIAL
- for -g for any kind of debug info.
-
-2012-12-07 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/54886
- * graphite-sese-to-poly.c (build_loop_iteration_domains): Properly
- free all memory.
-
-2012-12-07 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/55078
- * ipa-inline-transform.c (inline_call): Turn #if 0 to
- #ifdef ENABLE_CHECKING.
- * ipa-prop.c (try_make_edge_direct_simple_call): Use
- ipa_value_from_jfunc.
- (try_make_edge_direct_virtual_call): Likewise.
- (update_indirect_edges_after_inlining): Lookup new_root_info and pass
- it to the functions above.
-
-2012-12-07 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/55590
- * tree-sra.c (build_ref_for_offset): Use get_object_alignment_1 to
- get base alignment.
-
-2012-12-06 Uros Bizjak <ubizjak@gmail.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/55597
- * config/i386/i386.c (legitimize_tls_address): Zero-extend x to Pmode,
- before using it as insn or call equivalent.
-
-2012-12-06 Peter Bergner <bergner@vnet.ibm.com>
-
- * config/rs6000/sysv4.h (TARGET_ASAN_SHADOW_OFFSET): Define.
- * config/rs6000/rs6000.c (rs6000_asan_shadow_offset): New function.
- * config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Disable if using ASAN.
-
-2012-12-06 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/55395
- * varpool.c (varpool_remove_node): Don't drop DECL_INITIAL
- if -g and emitting DWARF2+.
-
-2012-12-06 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Set
- default loop peeling limits.
-
-2012-12-06 Jason Merrill <jason@redhat.com>
-
- PR c++/55032
- PR c++/55245
- * tree.c (build_array_type_1): Re-layout if we found it in the
- hash table.
-
-2012-12-06 Jack Howarth <howarth@bromo.med.uc.edu>
-
- PR 55599/sanitizer
- * config/darwin.h (LINK_COMMAND_SPEC_A): Remove static libasan support.
-
-2012-12-06 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/43631
- * var-tracking.c (emit_note_insn_var_location, emit_notes_in_bb):
- Clear BLOCK_FOR_INSN on notes emitted in between basic blocks,
- don't adjust BB_END when inserting note after BB_END of some bb.
-
- PR c++/55137
- * fold-const.c (fold_binary_loc) <associate>: Don't introduce
- TREE_OVERFLOW through reassociation. If type doesn't have defined
- overflow, but one or both of the operands do, use the wrapping type
- for reassociation and only convert to type at the end.
-
-2012-12-06 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (fold_stmt_1): Remove code handling folding stmts away.
-
-2012-12-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * doc/sourcebuild.texi: Document arm_v8_neon_ok.
-
-2012-12-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (neon_itype): Define NEON_RINT enum element.
- (neon_builtin_data): Register vrintn, vrinta, vrintp, vrintm,
- vrintz, vrintx neon builtins.
- (arm_init_neon_builtins): Handle NEON_RINT.
- (arm_expand_neon_builtin): Likewise.
- * config/arm/unspecs.md: New file.
- * config/arm/arm.md ("unspec"): Move to unspecs.md.
- * config/arm/iterators.md (NEON_VRINT): New int iterator.
- (nvrint_variant): New int attribute.
- * config/arm/neon.md
- (neon_vrint<NEON_VRINT:nvrint_variant><VCVTF:mode>): New pattern.
- ("unspec"): Move to unspecs.md.
- * config/arm/iwmmxt2.md ("unspec"): Move to unspecs.md.
-
-2012-12-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify
- opaque cond in all call insns.
-
-2012-12-05 Steven Bosscher <steven@gcc.gnu.org>
-
- PR rtl-optimization/55604
- * lra-lives.c (lra_create_live_ranges): If there are no referenced
- pseudos left, do not compute live ranges.
-
-2012-12-05 Steven Bosscher <steven@gcc.gnu.org>
-
- * doc/tm.texi.in (TARGET_CLASS_LIKELY_SPILLED_P): Update documentation.
- * doc/tm.texi: Regenerate.
- * regs.h (REG_LIVE_LENGTH): Update comments to not refer to no longer
- existing files global.c and local-alloc.c.
- * regmove.c (copy_src_to_dest): Likewise.
- * function.h (struct rtl_data): Likewise.
- * ira-color.c (allocno_priority_compare_func): Likewise.
- * regstat.c (regstat_compute_ri): Likewise.
- * config/epiphany/epiphany.h, config/vax/vax.h, config/cris/cris.h,
- config/h8300/h8300.h, config/alpha/alpha.h, config/sparc/sparc.h,
- config/rs6000/rs6000.h, config/pdp11/pdp11.h, config/pa/pa.h,
- config/v850/v850.h, config/mn10300/mn10300.h, config/m32r/m32r.h,
- config/i386/i386.h, config/mcore/mcore.h, config/sh/sh.h,
- config/arm/arm.h (REGNO_OK_FOR_BASE_P): Likewise.
-
-2012-12-05 Aldy Hernandez <aldyh@redhat.com>
-
- PR target/54160
- * config/t-darwin (darwin-c.o): Depend on $(CPP_INTERNAL_H).
- * config/darwin-c.c (darwin_cpp_builtins): Only set __OBJC2__ when
- in obj mode.
- Include libcpp/internal.h.
-
-2012-12-05 Michael Eager <eager@eagercon.com>
-
- PR rtl-optimization/54739
- * config/microblaze/microblaze.md: (anddi3, iordi3, xordi3): Delete
- patterns.
-
-2012-12-05 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def: Add new builtins.
- * config/aarch64/aarch64-simd.md (simd_type): Add uzp.
- (aarch64_<PERMUTE:perm_insn><PERMUTE:perm_hilo><mode>): New.
- * config/aarch64/aarch64.c (aarch64_evpc_trn): New.
- (aarch64_evpc_uzp): Likewise.
- (aarch64_evpc_zip): Likewise.
- (aarch64_expand_vec_perm_const_1): Check for trn, zip, uzp patterns.
- * config/aarch64/iterators.md (unspec): Add neccessary unspecs.
- (PERMUTE): New.
- (perm_insn): Likewise.
- (perm_hilo): Likewise.
-
-2012-12-05 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-protos.h
- (aarch64_split_combinev16qi): New.
- (aarch64_expand_vec_perm): Likewise.
- (aarch64_expand_vec_perm_const): Likewise.
- * config/aarch64/aarch64-simd.md (vec_perm_const<mode>): New.
- (vec_perm<mode>): Likewise.
- (aarch64_tbl1<mode>): Likewise.
- (aarch64_tbl2v16qi): Likewise.
- (aarch64_combinev16qi): New.
- * config/aarch64/aarch64.c
- (aarch64_vectorize_vec_perm_const_ok): New.
- (aarch64_split_combinev16qi): Likewise.
- (MAX_VECT_LEN): Define.
- (expand_vec_perm_d): New.
- (aarch64_expand_vec_perm_1): Likewise.
- (aarch64_expand_vec_perm): Likewise.
- (aarch64_evpc_tbl): Likewise.
- (aarch64_expand_vec_perm_const_1): Likewise.
- (aarch64_expand_vec_perm_const): Likewise.
- (aarch64_vectorize_vec_perm_const_ok): Likewise.
- (TARGET_VECTORIZE_VEC_PERM_CONST_OK): Likewise.
- * config/aarch64/iterators.md
- (unspec): Add UNSPEC_TBL, UNSPEC_CONCAT.
- (V_cmp_result): Add mapping for V2DF.
-
-2012-12-05 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_simd_mangle_map_entry): New
- typedef.
- (aarch64_simd_mangle_map): New table.
- (aarch64_mangle_type): Locate and return the mangled name for
- a given AdvSIMD vector type.
-
-2012-12-05 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_mangle_type): New function.
- (TARGET_MANGLE_TYPE): Define.
-
-2012-12-05 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-builtins.c
- (aarch64_builtin_vectorized_function): New.
- * config/aarch64/aarch64-protos.h
- (aarch64_builtin_vectorized_function): Declare.
- * config/aarch64/aarch64-simd-builtins.def (frintz, frintp): Add.
- (frintm, frinti, frintx, frinta, fcvtzs, fcvtzu): Likewise.
- (fcvtas, fcvtau, fcvtps, fcvtpu, fcvtms, fcvtmu): Likewise.
- * config/aarch64/aarch64-simd.md
- (aarch64_frint_<frint_suffix><mode>): New.
- (<frint_pattern><mode>2): Likewise.
- (aarch64_fcvt<frint_suffix><su><mode>): Likewise.
- (l<fcvt_pattern><su_optab><fcvt_target><VDQF:mode>2): Likewise.
- * config/aarch64/aarch64.c (TARGET_VECTORIZE_BUILTINS): Define.
- (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Likewise.
- * config/aarch64/aarch64.md
- (btrunc<mode>2, ceil<mode>2, floor<mode>2)
- (round<mode>2, rint<mode>2, nearbyint<mode>2): Consolidate as...
- (<frint_pattern><mode>2): ...this.
- (lceil<su_optab><mode><mode>2, lfloor<su_optab><mode><mode>2)
- (lround<su_optab><mode><mode>2)
- (lrint<su_optab><mode><mode>2): Consolidate as...
- (l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): ... this.
- * config/aarch64/iterators.md (fcvt_target): New.
- (FCVT_TARGET): Likewise.
- (FRINT): Likewise.
- (FCVT): Likewise.
- (frint_pattern): Likewise.
- (frint_suffix): Likewise.
- (fcvt_pattern): Likewise.
-
-2012-12-05 Steven Bosscher <steven@gcc.gnu.org>
-
- * passes.c (pass_init_dump_file): Only open a clean graph dump file if
- the dump was not already initialized.
-
- Revert:
- 2012-12-03 Steven Bosscher <steven@gcc.gnu.org>
- * passes.c (finish_optimization_passes): Don't finish graph dumps here.
- (pass_fini_dump_file): Wrap in TV_DUMP. Finish graph dumps.
- (execute_one_pass): Don't set up graph dumps here.
-
-2012-12-05 Richard Biener <rguenther@suse.de>
-
- PR lto/55525
- * gimple-streamer-in.c (input_gimple_stmt): Fixup ARRAY_REFs as well.
-
-2012-12-04 Ian Lance Taylor <iant@google.com>
-
- * godump.c (find_dummy_types): Output a dummy type if we couldn't
- output the real type.
-
-2012-12-04 Steven Bosscher <steven@gcc.gnu.org>
-
- * rtl.h (print_insn_with_notes): Remove prototype.
- (rtl_dump_bb_for_graph): New prototype.
- * sched-vis.c (print_insn_with_notes): Make static again. Fix
- printing of notes.
- (rtl_dump_bb_for_graph): New function.
- * cfghooks.h (struct cfg_hooks) <dump_bb_for_graph>: New hook.
- (dump_bb_for_graph): New prototype.
- * cfghooks.c (dump_bb_for_graph): New function.
- * tree-cfg.c (gimple_cfg_hooks): Register gimple_dump_bb_for_graph
- as dump_bb_for_graph hook implementation for GIMPLE.
- * cfgrtl.c (rtl_cfg_hooks): Likewise for rtl_dump_bb_for_graph.
- (cfg_layout_rtl_cfg_hooks): Likewise.
- * graph.c (draw_cfg_node): Don't include sbitmap.h, rtl.h, tree.h,
- gimple.h, and gimple-pretty-print.h.
- (draw_cfg_node, draw_cfg_node_succ_edges): Use the uniqe function
- definition number instead of the function declaration UID.
- (print_graph_cfg): Take a struct function instead of a tree.
- Use the dump_bb_for_graph hook to dump the basic block content.
- * graph.h (print_graph_cfg): Update prototype.
- * passes.c (execute_function_dump): Update print_graph_cfg call.
- * Makefile.in (graph.o): Fixup dependencies.
-
-2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_build_builtin_va_list): Set
- TYPE_STUB_DECL.
-
-2012-12-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_select_ccmode): Enable using CC of
- x + imm for higher immediates on z9-109 upwards.
-
-2012-12-04 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.opt (cirrus-fix-invalid-insns): Delete option.
- * invoke.texi (cirrus-fix-invalid-insns): Remove documentation.
-
-2012-12-04 Jakub Jelinek <jakub@redhat.com>
-
- * tsan.c (instrument_expr): If expr_ptr isn't a gimple val, first
- store it into a SSA_NAME.
-
- PR sanitizer/55439
- * Makefile.in (tsan.o): Depend on tree-ssa-propagate.h.
- * sanitizer.def: Add __tsan_atomic* builtins.
- * asan.c (initialize_sanitizer_builtins): Adjust to also
- initialize __tsan_atomic* builtins.
- * tsan.c: Include tree-ssa-propagate.h.
- (enum tsan_atomic_action): New enum.
- (tsan_atomic_table): New table.
- (instrument_builtin_call): New function.
- (instrument_gimple): Take pointer to gimple_stmt_iterator
- instead of gimple_stmt_iterator. Call instrument_builtin_call
- on builtin call stmts.
- (instrument_memory_accesses): Adjust instrument_gimple caller.
- * builtin-types.def (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
- BT_FN_BOOL_VPTR_PTR_I2_INT_INT, BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
- BT_FN_BOOL_VPTR_PTR_I8_INT_INT, BT_FN_BOOL_VPTR_PTR_I16_INT_INT): New.
-
-2012-12-04 Tejas Belagod <tejas.belagod@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_simd_vector_alignment,
- aarch64_simd_vector_alignment_reachable): New.
- (TARGET_VECTOR_ALIGNMENT, TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE):
- Define.
-
-2012-12-04 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55124
- * tree-ssa-pre.c (find_or_generate_expression): Instead of
- ICEing when we are not able to generate an expression defer it
- by signalling failure. Fix possible wrong-code issue by
- not picking random REFERENCE expressions as fallback.
- (create_component_ref_by_pieces_1): Adjust. Add failure paths.
- (create_expression_by_pieces): Likewise.
- (insert_into_preds_of_block): When expression generation failed
- for one edge make sure to not insert a PHI node.
-
-2012-12-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
- area if the function allocates dynamic stack space.
- (ia64_initial_elimination_offset): Adjust offsets to above change.
-
-2012-12-03 Steven Bosscher <steven@gcc.gnu.org>
-
- * gcse.c (struct reg_use): Remove unused struct.
- (gcse_emit_move_after): Do not create REG_EQUAL notes that reference
- the SET_DEST of the instruction the note would be attached to.
- * cse.c (cse_main): Add the DF_NOTE problem.
-
-2012-12-03 Jakub Jelinek <jakub@redhat.com>
-
- * sanitizer.def: Add Address Sanitizer builtins.
- Rename BUILT_IN_TSAN_READ_* to BUILT_IN_TSAN_READ* and
- BUILT_IN_TSAN_WRITE_* to BUILT_IN_TSAN_WRITE*.
- * Makefile.in (asan.o): Depend on langhooks.h.
- (tsan.o): Depend on asan.h.
- * asan.h (initialize_sanitizer_builtins): New prototype.
- * asan.c: Include langhooks.h.
- (report_error_func): Use builtin_decl_implicit of corresponding
- BUILT_IN_ASAN_REPORT_{LOAD,STORE}*.
- (asan_init_func): Removed.
- (initialize_sanitizer_builtins): New function.
- (asan_finish_file): Call it. Use builtin_decl_implicit
- on BUILT_IN_ASAN_{INIT,{,UN}REGISTER_GLOBALS}.
- (asan_instrument): Call initialize_sanitizer_builtins.
- * builtins.def (DEF_SANITIZER_BUILTIN): Change condition to
- (flag_asan || flag_tsan).
- * tsan.c: Include asan.h and tsan.h.
- (get_memory_access_decl): Rename BUILT_IN_TSAN_{READ,WRITE}_*
- to BUILT_IN_TSAN_{READ,WRITE}*.
- (tsan_pass): Call initialize_sanitizer_builtins.
- (tsan_gate, tsan_gate_O0): Don't check if
- builtin_decl_implicit_p (BUILT_IN_TSAN_INIT) is true.
- (tsan_finish_file): Call initialize_sanitizer_builtins.
- * builtin-types.def (BT_FN_VOID_PTR_PTRMODE): New fn type.
-
-2012-12-03 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/55401
- * trans-mem.c (get_tm_region_blocks): Exclude uninstrumented
- blocks from vector if requested.
- (collect_bb2reg): Pass new argument to get_tm_region_blocks.
- (get_bb_regions_instrumented): Add INCLUDE_UNINSTRUMENTED_P
- argument, and pass it to expand_regions.
- (execute_tm_mark): Pass new argument to get_bb_regions_instrumented.
- (execute_tm_edges): Same.
-
-2012-12-03 Jakub Jelinek <jakub@redhat.com>
-
- * asan.c (instrument_mem_region_access): Don't instrument
- if base doesn't have pointer type or len integral type.
- Add cast if len doesn't have size_t compatible type.
- (instrument_builtin_call): Don't instrument BUILT_IN_ATOMIC_LOAD,
- BUILT_IN_ATOMIC_TEST_AND_SET, BUILT_IN_ATOMIC_CLEAR,
- BUILT_IN_ATOMIC_EXCHANGE, BUILT_IN_ATOMIC_COMPARE_EXCHANGE
- and BUILT_IN_ATOMIC_STORE.
-
- * asan.c (instrument_assignment): Instrument lhs only
- for gimple_store_p and rhs1 only for gimple_assign_load_p.
-
-2012-12-03 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
-
- * Makefile.in: Add target mddump, build/genmddump.o. Extend
- genprogrtl with mddump.
- * genmddump.c: New.
-
-2012-12-03 Steven Bosscher <steven@gcc.gnu.org>
-
- * rtl.h (print_insn_with_notes): Prototype.
- * sched-vis.c (print_insn_with_notes): Export it.
-
- * gimple-pretty-print.h (gimple_dump_bb_for_graph): Prototype.
- * gimple-pretty-print.c (print_gimple_expr): Flush the buffer.
- (pp_gimple_stmt_1): Don't do it here.
- (gimple_dump_bb_for_graph): New function.
- * tree-pretty-print.c (print_generic_expr): Flush the buffer here.
- (dump_generic_node): Don't flush the buffer here.
-
- * graph.h (print_rtl_graph_with_bb): Rename to print_graph_cfg.
- * graph.c: Include gimple.h, dumpfile.h, and gimple-pretty-print.h.
- (draw_cfg_node): Handle GIMPLE basic blocks also.
- (print_rtl_graph_with_bb): Rename to print_graph_cfg.
- * passes.c (finish_optimization_passes): Don't finish graph dumps here.
- (execute_function_dump): Use print_graph_cfg. Enable dumping the CFG
- for GIMPLE also.
- (pass_init_dump_file): Wrap in TV_DUMP. Set up CFG graph dumps.
- (pass_fini_dump_file): Wrap in TV_DUMP. Finish graph dumps.
- (execute_one_pass): Don't set up graph dumps here.
-
-2012-12-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa.c (warn_uninitialized_var): Use OPT_Wmaybe_uninitialized tag
- in the non-always executed case.
-
-2012-12-03 Sofiane Naci <sofiane.naci@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_build_constant): Update prototype.
- Call emit_move_insn instead of printing movi/movn/movz instructions.
- Call gen_insv_immdi instead of printing movk instruction.
- (aarch64_add_constant): Update prototype.
- Generate RTL instead of printing add/sub instructions.
- (aarch64_output_mi_thunk): Update calls to aarch64_build_constant
- and aarch64_add_constant.
-
-2012-12-03 Kai Tietz <ktietz@redhat.com>
-
- PR target/53912
- * ggc-common.c (POINTER_HASH): Cast from pointer via intptr_t.
-
- PR target/53912
- * tree-dump.c (dump_pointer): Print pointer via HOST_WIDE_INT_PRINT.
-
- PR target/53912
- * pointer-set.c (hash1): Cast from pointer via uintptr_t.
-
-2012-12-02 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/54838
- * cprop.c (bypass_block): Determine number of latches. Return
- when there is more than one latch edge.
-
-2012-12-02 Teresa Johnson <tejohnson@google.com>
-
- PR gcov-profile/55551
- * lto-cgraph.c (merge_profile_summaries): Handle scaled histogram
- entries that map to the same index.
-
-2012-12-02 Steven Bosscher <steven@gcc.gnu.org>
-
- * optabs.c (add_equal_note): Do not create self-referencing REG_EQUAL
- notes.
- * fwprop.c (forward_propagate_and_simplify): Likewise.
-
-2012-12-02 Steven Bosscher <steven@gcc.gnu.org>
-
- * function.h (struct rtl_data): Remove epilogue_delay_list.
- * reorg.c (find_end_label): Simplify always-true test.
- (optimize_skip): Likewise.
- * final.c (leaf_function_p): Don't loop over epilogue_delay_list.
- (leaf_renumber_regs): Likewise.
- * varasm.c (mark_constant_pool): Likewise.
- * except.c (set_nothrow_function_flags): Likewise.
- * cfgrtl.c (print_rtl_with_bb): Likewise.
-
-2012-12-02 Hans-Peter Nilsson <hp@bitrange.com>
-
- * config/mmix/mmix.c (mmix_function_value): Set the mode of the
- returned PARALLEL to that of the return-value, not VOIDmode.
-
-2012-12-02 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi: Various corrections to punctuation and grammar
- throughout the file. Use consistent terminology and proper names.
- Correct some minor markup issues.
-
-2010-12-01 Xinliang David Li <davidxl@google.com>
-
- * config/i386/i386.c: Allow sign extend instructions (cltd etc)
- on modern CPUs.
-
-2012-12-02 Steven Bosscher <steven@gcc.gnu.org>
-
- * reorg.c: Remove an obsolete comment.
- * config/pa/pa.md: Add back the HP-PA comment here, with details.
-
-2012-11-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
- Deal with degenerate cases where the bitsize isn't positive.
- Rework comment.
-
-2012-11-30 David Edelsohn <dje.gcc@gmail.com>
-
- * xcoffout.c (xcoff_tls_data_section_name): Define.
- * xcoffout.h (xcoff_tls_data_section_name): Declare.
- * config/rs6000/rs6000.c (tls_data_section): Define.
- (TARGET_USE_BLOCKS_FOR_DECL_P): Define.
- (rs6000_legitimize_tls_address_aix): New function.
- (rs6000_legitimize_tls_address): Use new function for AIX.
- (rs6000_cannot_force_const_mem): No sum in TLS TOC symbols.
- Allow TLS symbol in constant pool other than ELF.
- (rs6000_legitimate_address_p): Allow TLS symbol other than ELF.
- (rs6000_assemble_visibility): Do not emit anything on AIX.
- (output_toc): Handle alias of TLS general-dynamic symbols.
- Emit TLS decorations on symbols.
- (rs6000_use_blocks_for_decl_p): New function.
- (rs6000_xcoff_output_tls_section_asm_op): New function.
- (rs6000_xcoff_asm_init_sections): Initialize tls_data_section.
- (rs6000_xcoff_select_section): Choose tls_data_section for
- thread-local storage.
- (rs6000_xcoff_file_start): Generate xcoff_tls_data_section_name.
- (rs6000_legitimate_constant_p): Allow TLS symbol other than ELF.
- * config/rs6000/rs6000.md (tls_tls_): Restrict to ELF.
- (tls_get_tpointer): New.
- (tle_get_tpointer_internal): New.
- (tls_get_addr<mode>): New.
- (tls_get_addr_internal<mode>): New.
- * config/rs6000/xcoff.h (ASM_OUTPUT_TLS_COMMON): Define.
-
-2012-11-30 Teresa Johnson <tejohnson@google.com>
-
- * lto-cgraph.c (output_profile_summary): Stream out sum_all
- and histogram.
- (input_profile_summary): Stream in sum_all and histogram.
- (merge_profile_summaries): Merge sum_all and histogram, and
- change to use RDIV.
- (input_symtab): Call compute_working_sets after merging summaries.
- * gcov-io.c (gcov_histo_index): Make extern for compiler.
- * gcov-io.h (gcov_histo_index): Ditto.
- * profile.c (compute_working_sets): Remove static keyword.
- * profile.h (compute_working_sets): Ditto.
- * Makefile.in (lto-cgraph.o): Depend on profile.h.
-
-2012-11-30 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/52890
- PR tree-optimization/55415
- PR tree-optimization/54386
- PR target/55448
- * ipa-prop.c (ipa_modify_call_arguments): Be optimistic when
- get_pointer_alignment_1 returns false and the base was not a
- dereference.
- * tree-sra.c (access_precludes_ipa_sra_p): New parameter req_align,
- added check for required alignment. Update the user.
-
-2012-11-30 Ramana Radhakrishnan <Ramana.Radhakrishnan@arm.com>
- Greta Yorsh <Greta.Yorsh@arm.com>
-
- * config/arm/arm.md (type): Subdivide "alu" into "alu_reg"
- and "simple_alu_imm".
- (core_cycles): Use new names.
- (arm_addsi3): Set type of patterns to use to alu_reg and simple_alu_imm.
- (addsi3_compare0, addsi3_compare0_scratch): Likewise.
- (addsi3_compare_op1, addsi3_compare_op2, compare_addsi2_op0): Likewise.
- (compare_addsi2_op1, arm_subsi3_insn, subsi3_compare0): Likewise.
- (subsi3_compare, arm_decscc,arm_andsi3_insn): Likewise.
- (thumb1_andsi3_insn, andsi3_compare0_scratch): Likewise.
- (zeroextractsi_compare0_scratch,iorsi3_insn,iorsi3_compare0): Likewise.
- (iorsi3_compare0_scratch, arm_xorsi3, thumb1_xorsi3_insn): Likewise.
- (xorsi3_compare0, xorsi3_compare0_scratch): Likewise.
- (thumb1_zero_extendhisi2,arm_zero_extendhisi2_v6): Likewise.
- (thumb1_zero_extendqisi2_v, arm_zero_extendqisi2_v6): Likewise.
- (thumb1_extendhisi2, arm_extendqisi_v6): Likewise.
- (thumb1_extendqisi2, arm_movsi_insn): Likewise.
- (movsi_compare0, movhi_insn_arch4, movhi_bytes): Likewise.
- (arm_movqi_insn, thumb1_movqi_insn, arm_cmpsi_insn): Likewise.
- (movsicc_insn, if_plus_move, if_move_plus): Likewise.
- * config/arm/neon.md (neon_mov<mode>/VDX): Likewise.
- (neon_mov<mode>/VQXMOV): Likewise.
- * config/arm/arm1020e.md (1020alu_op): Likewise.
- * config/arm/fmp626.md (mp626_alu_op): Likewise.
- * config/arm/fa726te.md (726te_alu_op): Likewise.
- * config/arm/fa626te.md (626te_alu_op): Likewise.
- * config/arm/fa606te.md (606te_alu_op): Likewise.
- * config/arm/fa526.md (526_alu_op): Likewise.
- * config/arm/cortex-r4.md (cortex_r4_alu, cortex_r4_mov): Likewise.
- * config/arm/cortex-m4.md (cortex_m4_alu): Likewise.
- * config/arm/cortex-a9.md (cprtex_a9_dp): Likewise.
- * config/arm/cortex-a8.md (cortex_a8_alu, cortex_a8_mov): Likewise.
- * config/arm/cortex-a5.md (cortex_a5_alu): Likewise.
- * config/arm/cortex-a15.md (cortex_a15_alu): Likewise.
- * config/arm/arm926ejs.md (9_alu_op): Likewise.
- * config/arm/arm1136jfs.md (11_alu_op): Likewise.
- * config/arm/arm1026ejs.md (alu_op): Likewise.
-
-2012-11-30 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-pre.c (get_expr_value_id): Do not allocate value-ids here.
-
-2012-11-30 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-sccvn.c (run_scc_vn): Remove iteration propagating
- value_ids.
-
-2012-11-30 Steven Bosscher <steven@gcc.gnu.org>
-
- * coretypes.h (struct pretty_print_info): Make a coretype.
- (typedef pretty_printer): Likewise.
- * pretty-print.h (typedef pretty_printer): Not needed here anymore.
- * pretty-print.c (pp_write_text_as_dot_label_to_stream): New function.
- * rtl.h (str_pattern_slim): New prototype.
- (print_value, print_pattern, print_insn): Adjust prototypes to take
- a pretty-printer rather than a char buffer.
- * sched-vis.c (safe_concat): Remove.
- (print_exp): Print into a pretty-printer.
- (print_value): Likewise.
- (print_pattern): Likewise.
- (print_insn): Likewise.
- (print_insn_with_notes): New static function.
- (init_rtl_slim_pretty_print): New function.
- (dump_value_slim): Simplify. Print into and flush a pretty-printer.
- (dump_insn_slim): Likewise.
- (dump_rtl_slim): Likewise.
- (str_pattern_slim): New function.
- * haifa-sched.c (model_recompute): Use str_pattern_slim instead of
- static buffers.
- (model_record_pressures): Likewise.
- (schedule_insn): Likewise.
- * sel-sched-dump.c (dump_insn_rtx_1): Likewise.
- (sel_prepare_string_for_dot_label): Refer to graph.c CFG dumper code.
- * graph.c: Include pretty-print.h.
- (init_graph_slim_pretty_print): New function.
- (print_escaped_line): Removed here, and reincarnated as
- pp_write_text_as_dot_label_to_stream.
- (draw_cfg_node): Print into a pretty printer.
- (draw_cfg_node_succ_edges): Likewise.
- (print_rtl_graph_with_bb): Likewise.
- * Makefile.in (graph.o): Fix dependencies.
- (tree-optimize.o, toplev.o, sched-vis.o): Likewise.
-
-2012-11-30 Jakub Jelinek <jakub@redhat.com>
-
- * tsan.c (is_load_of_const_p): Removed.
- (instrument_expr): Use result of get_inner_reference
- instead of get_base_address, avoid some unnecessary tests,
- use !pt_solution_includes and !may_be_aliased tests to
- check whether base might escape current function.
-
-2012-11-30 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
-
- * gensupport.c (maybe_eval_c_test): Remove not-null check for expr.
- * read-rtl.c (apply_iterators): Initialize condition with "" instead
- of NULL.
-
-2012-11-30 Kai Tietz <ktietz@redhat.com>
-
- * config/i386/host-mingw32.c (va_granularity): Make none-const.
- (mingw32_gt_pch_alloc_granularity): Return OS' allocation granularity.
- (mingw32_gt_pch_use_address): Retry mapping of used address
- as multiple instances might interfer.
-
- * config/i386/mingw32.h (SHARED_LIBGCC_SPEC): Synchronize with
- cygwin-host.
-
-2012-11-29 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/55321
- * calls.c (emit_library_call_value_1): Mark as no-nonlocal if no-throw.
-
-2012-11-29 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/55456
- * lra-int.h (lra_new_regno_start): New external.
- * lra.c (lra_new_regno_start): New global.
- (lra): Set up lra_new_regno_start.
- * lra-constraints.c (match_reload): Sync values only for original
- pseudos.
-
-2012-11-29 Kai Tietz <ktietz@redhat.com>
-
- PR target/53912
- * prefix.c (lookup_key): Replace xmalloc/xrealloc
- use by XNEWVEC/XRESIZEVEC.
-
-2012-11-29 Richard Earnshaw <rearnsha@arm.com>
-
- PR target/55073
- * config/arm/neon.md (neon_vtrn<mode>_internal): Split into expand
- and insn patterns. Re-order insn arguments to tie inputs to outputs.
- (neon_vzip<mode>_internal): Likewise.
- (neon_vuzp<mode>_internal): Likewise.
-
-2012-11-29 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/53094
- * fold-const.c (fold): Replace a CONSTRUCTOR with a VECTOR_CST.
-
-2012-11-29 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-pre.c (get_expr_value_id): Do not add expr
- to the set of value expressions here.
- (add_to_exp_gen, make_values_for_phi): Fold into ...
- (compute_avail): ... here, and avoid useless work. Dump
- avail sets in processing order.
- (do_pre): Do not dump avail sets here.
-
-2012-11-29 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
-
- PR target/54974
- * config/arm/arm.md (thumb2_pool_range, pool_range): Add comment on
- Thumb pool ranges.
- (thumb1_extendhisi2): Reduce Thumb pool range.
- (arm_movdi): Likewise.
- (thumb1_movdi_insn): Likewise.
- (thumb1_movsi_insn): Likewise.
- (pic_load_addr_unified): Likewise.
- (pic_load_addr_32bit): Likewise.
- (pic_load_addr_thumb1): Likewise.
- (thumb1_movhf): Likewise.
- (arm_movsf_soft_insn): Likewise.
- (thumb1_movsf_soft_insn): Likewise.
- (movdf_soft_insn): Likewise.
- (thumb1_movdf_soft_insn): Likewise.
- * config/arm/neon.md (*neon_mov<mode>): Likewise.
- (*neon_mov<mode>): Likwise.
- * config/arm/thumb2.md: (*thumb2_movsi_insn): Likewise.
- (*thumb2_movhi_insn): Likewise.
- (*thumb2_extendqisi_v6): Likewise.
- (*thumb2_zero_extendqisi_v6): Likewise.
- (*thumb2_zero_extendqisi2_v6): Likewise.
- * config/arm/vfp.md: (*thumb2_movsi_vfp): Likewise.
- (*movdi_vfp): Likewise.
- (*movdi_vfp_cortexa8): Likewise.
- (*thumb2_movsf_vfp): Likewise.
- (*thumb2_movdf_vfp): Likewise.
-
-2012-11-29 Kai Tietz <ktietz@redhat.com>
-
- PR target/55171
- * config/i386/i386.c (get_scratch_register_on_entry): Handle
- thiscall-convention.
- (split_stack_prologue_scratch_regno): Likewise.
- (ix86_static_chain): Likewise.
- (x86_output_mi_thunk): Likewise.
-
-2012-11-29 Marek Polacek <polacek@redhat.com>
-
- * cprop.c (bypass_block): Improve debug message.
-
-2012-11-29 Oleg Raikhman <oleg@adapteva.com>
-
- * config/epiphany/epiphany.h (FIXED_REGISTERS, CALL_USED_REGISTERS):
- Make r40..r43 call-used.
- (REG_ALLOC_ORDER): Sort r40..r43 into the call-used registers.
-
-2012-11-29 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * config/epiphany/predicates.md (addsub_operator): New predicate.
- * config/epiphany/epiphany-sched.md (sched_use_fpu): New attribute.
- * config/epiphany/epiphany.md (isub_i+1): New peephole2.
- * config/epiphany/epiphany-protos.h (get_attr_sched_use_fpu): Declare.
-
- * config/epiphany/epiphany.h (EPIPHANY_LIBRARY_EXTRA_SPEC): Define.
- (EXTRA_SPECS, DRIVER_SELF_SPECS): Likewise.
- * config/epiphany/t-epiphany (SPECS): Set.
- (specs): New rule.
-
- * config/epiphany/epiphany.md (isub_i+1): Work around generator bug.
-
- * config/epiphany/epiphany.c (epiphany_adjust_cost): Use
- reg_overlap_mentioned_p.
-
-2012-11-28 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/36728
- PR debug/55467
- PR middle-end/55507
- PR bootstrap/55511
- * cselib.c (cselib_process_insn): If cselib_preserve_constants,
- don't reset table and exit early on volatile insns and setjmp.
- Reset table afterwards on setjmp.
-
-2012-11-28 Andrew Pinski <apinski@cavium.com>
-
- PR bootstrap/54279
- * Makefile.in (${QMTEST_DIR}/context): Use xg++ instead of g++.
-
-2012-11-28 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR rtl-optimization/55052
- * simplify-rtx.c (simplify_subreg): Restore SCALAR_INT_MODE_P check.
-
-2012-11-28 David Edelsohn <dje.gcc@gmail.com>
-
- * target.def (use_blocks_for_decl_p): New hook.
- * varasm.c (use_blocks_for_decl_p): Apply hook as final condition.
- * doc/tm.texi.in (USE_BLOCKS_FOR_DECL_P): New description.
- * doc/tm.texi: Regenerated.
-
-2012-11-28 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR middle-end/55438
- * expmed.c (simple_mem_bitfield_p): New function, extracted from
- store_bit_field_1 and extract_bit_field_1. Use GET_MODE_ALIGNMENT
- rather than bitsize when checking the alignment.
- (store_bit_field_1, extract_bit_field_1): Call it.
- * stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
- Don't limit ALIGN_. Assume that memory is mapped in chunks of at
- least word size, regardless of BIGGEST_ALIGNMENT.
- (bit_field_mode_iterator::get_mode): Use GET_MODE_ALIGNMENT rather
- than unit when checking the alignment.
- (get_best_mode): Use GET_MODE_ALIGNMENT.
-
-2012-11-28 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55512
- * lra-assigns.c (assign_by_spills): Assigned arbitrary hard regs
- to failed reload pseudos instead of changing asm pattern.
- * lra-constraints.c (MAX_CONSTRAINT_ITERATION_NUMBER): Increase value.
-
-2012-11-28 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- PR other/55358
- * dse.c (rest_of_handle_dse): Remove superfluous clearing.
-
-2012-11-28 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * config/epiphany/predicates.md (move_double_src_operand):
- Check that misaligned addresses are offsettable.
- (move_dest_operand): Likewise.
- * config/epiphany/epiphany.c (REG_OK_FOR_BASE_P): Don't force a
- misaligned stack address to reg+index.
-
- * config/epiphany/epiphany.opt (mfp-iarith): New option.
- * config/epiphany/epiphgany.md (addsi3): Check for TARGET_FP_IARITH.
- (subsi3, iadd, isub): Rename to ..
- (subsi3_i, iadd_i, isub_i): .. This.
- (subsi3, iadd, isub): New define_expands.
-
- * config/epiphany/epiphgany.md (attribute type): Add v2fp.
- (attribute fp_mode): Test for v2fp.
- (<float_operation:insn_opname>v2sf3_i): Change type to v2fp.
- * config/epiphany/epiphany-sched.md (fp_arith_nearest,
- fp_arith_trunc): Combine to ..
- (fp_arith): .. this.
- (v2fp_arith): New insn reservation.
-
- * config/epiphany/epiphgany.md (maddsi_combine): Fix output pattern.
-
-2012-11-28 Oleg Raikhman <oleg@adapteva.com>
-
- * config/epiphany/epiphany.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
-
-2012-11-28 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * config/epiphany/epiphany.h (HARD_REGNO_RENAME_OK): Define.
- * config/epiphany/epiphany-protos.h (epiphany_regno_rename_ok):
- Declare.
- * config/epiphany/epiphany.c (epiphany_regno_rename_ok): New function.
-
- * config/epiphany/epiphany.md (mov<mode>, *mov<mode>_insn): Check
- for misaligned memory operands.
- * config/epiphany/predicates.md (misaligned_operand): New predicate.
-
- * config/epiphany/epiphany.opt (-may-round-for-trunc): New option.
- * config/epiphany/epiphany.md (*fix_truncsfsi2_i): Take it
- into account.
-
-2012-11-28 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/54547
- * tree-vrp.c (set_and_canonicalize_value_range): Handle
- 1-bit anti-ranges explicitely.
- (extract_range_from_assert): Properly canonicalize all
- built anti-ranges.
-
-2012-11-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * stor-layout.c (layout_type) <ARRAY_TYPE>: Do not clear TREE_OVERFLOW
- on overflowed zeroes, except in one specific case.
-
-2012-11-28 Marc Glisse <marc.glisse@inria.fr>
-
- PR middle-end/55266
- * fold-const.c (fold_ternary_loc) [BIT_FIELD_REF]: Handle
- CONSTRUCTOR with vector elements.
- * tree-ssa-propagate.c (valid_gimple_rhs_p): Handle CONSTRUCTOR
- and BIT_FIELD_REF.
-
-2012-11-28 Richard Biener <rguenther@suse.de>
-
- PR c/35634
- * gimple.h (gimplify_self_mod_expr): Declare.
- * gimplify.c (gimplify_self_mod_expr): Export. Take a different
- type for performing the arithmetic in.
- (gimplify_expr): Adjust.
- * tree-vect-loop-manip.c (vect_can_advance_ivs_p): Strip
- sign conversions we can re-apply after adjusting the IV.
-
-2012-11-28 Steven Bosscher <steven@gcc.gnu.org>
-
- PR rtl-optimization/55006
- * loop-unroll.c (struct iv_to_split): Add new 'orig_var' member.
- (analyze_iv_to_split_insn): Record it.
- (maybe_strip_eq_note_for_split_iv): New function to remove REG_EQUAL
- notes that refer to IVs that are being split.
- (apply_opt_in_copies): Use maybe_strip_eq_note_for_split_iv. Twice.
- Use FOR_BB_INSNS_SAFE.
-
-2012-11-27 Steven Bosscher <steven@gcc.gnu.org>
-
- * rtl.h (debug_bb_n_slim, debug_bb_slim, debug_insn_slim): Remove
- prototypes.
- (debug_rtl_slim): Rename to dump_rtl_slim.
- (print_value_slim): Rename to dump_value_slim.
- * ira.c (ira_update_equiv_info_by_shuffle_insn): Update
- print_value_slim user.
- * lra.c (lra_process_new_insns): Use dump_insn_slim to dump single
- insns. Use dump_rtl_slim for insn chains.
- * lra-constraints.c (get_reload_reg): Update print_value_slim user.
- (process_addr_reg): Likewise.
- (equiv_address_substitution): Likewise.
- (inherit_reload_reg): Likewise. Use dump_insn_slim to dump single
- insns.
- (check_and_process_move): Likewise.
- (lra_constraints): Likewise.
- (split_reg): Likewise.
- (update_ebb_live_info): Likewise.
- (remove_inheritance_pseudos): Likewise.
- * sched-vis.c: Don't include sched-int.h.
- Remove #ifdef INSN_SCHEDULING tests.
- (print_value_slim): Rename to dump_value_slim. Simplify a few
- cases using GET_RTX_NAME.
- (print_pattern): Do not handle UNSPEC and UNSPECV here, explain why.
- (print_insn): Reorganize code to be independent of INSN_SCHEDULING.
- Always print CALL_INSN patterns. Harmonize INSN_UID dumping template.
- Handle NOTE_INSN_CALL_ARG_LOCATION.
- (dump_rtl_slim): Copied from debug_rtl_slim.
- (debug_rtl_slim): Wrapper around dump_rtl_slim to stderr.
- * haifa-sched.c (schedule_insn): Update print_insn user.
-
-2012-11-27 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55458
- * lra-assigns.c: Include rtl-error.h.
- (assign_by_spills): Report about asm impossible constraints.
- * Makefile.in (lra-assigns.c): Add $(RTL_ERROR_H).
-
-2012-11-27 Paolo Bonzini <pbonzini@redhat.com>
-
- PR rtl-optimization/55489
- * gcse.c (compute_transp): Precompute a canonical version
- of XEXP (x, 0), and pass it to canon_true_dependence.
-
- * alias.c (init_alias_analysis): Fix allocation of reg_known_value.
-
-2012-11-27 Diego Novillo <dnovillo@google.com>
-
- * vec.h: Replace 'class vec' with 'struct vec' everywhere.
- (ggc_internal_cleared_alloc_stat): Remove.
- (va_gc::reserve): Add PASS_MEM_STAT to ggc_realloc_stat call.
- (va_stack::reserve): Add PASS_MEM_STAT to va_heap::reserve call.
- (vec<T, A, vl_embed>::copy): Replace ALONE_MEM_STAT_DECL with
- ALONE_CXX_MEM_STAT_INFO.
- (vec_safe_reserve): Replace MEM_STAT_DECL with CXX_MEM_STAT_INFO.
- (vec_safe_reserve_exact): Likewise.
- (vec_alloc): Likewise.
- (vec_safe_grow): Likewise.
- (vec_safe_grow_cleared): Likewise.
- (vec_safe_push): Likewise.
- (vec_safe_insert): Likewise.
- (vec_safe_splice): Likewise.
- (vec_alloc): Likewise.
- (vec_check_alloc): Likewise.
-
-2012-11-27 Marc Glisse <marc.glisse@inria.fr>
-
- * tree-cfg.c (verify_gimple_comparison): Verify that vector
- comparison returns a vector.
-
-2012-11-27 Meador Inge <meadori@codesourcery.com>
-
- * collect2.c (main): Call find_file_set_debug.
- (find_a_find, add_prefix, prefix_from_env, prefix_from_string):
- Factor out into ...
- * file-find.c (New file): ... here and ...
- * file-find.h (New file): ... here.
- * gcc-ar.c (standard_exec_prefix): New variable.
- (standard_libexec_prefix): Ditto.
- (tooldir_base_prefix) Ditto.
- (self_exec_prefix): Ditto.
- (self_libexec_prefix): Ditto.
- (self_tooldir_prefix): Ditto.
- (target_version): Ditto.
- (path): Ditto.
- (target_path): Ditto.
- (setup_prefixes): New function.
- (main): Rework how wrapped programs are found.
- * Makefile.in (OBJS-libcommon-target): Add file-find.o.
- (AR_OBJS): New variable.
- (gcc-ar$(exeext)): Add dependency on $(AR_OBJS).
- (gcc-nm$(exeext)): Ditto.
- (gcc-ranlib(exeext)): Ditto.
- (COLLECT2_OBJS): Add file-find.o.
- (collect2.o): Add file-find.h prerequisite.
- (file-find.o): New rule.
-
-2010-11-27 Dehao Chen <dehao@google.com>
-
- * ipa-prop.c (ipa_modify_call_arguments): Set loc correctly.
- * emit-rtl.c (last_location): Remove unused variable.
-
-2012-11-27 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md
- (*jcc<X87MODEF:mode>_<SWI24:mode>_i387 splitters): Remove
- unneeded temporary.
-
-2012-11-27 Dehao Chen <dehao@google.com>
-
- * cfgrtl.c (rtl_merge_blocks): Check with UNKNOWN_LOCATION correctly.
- (cfg_layout_merge_blocks): Likewise.
-
-2012-11-27 Jakub Jelinek <jakub@redhat.com>
-
- * passes.c (init_optimization_passes): Add pass_asan and pass_tsan
- to -Og optimization passes.
-
-2012-11-27 H.J. Lu <hongjiu.lu@intel.com>
- Markus Trippelsdorf <markus@trippelsdorf.de>
-
- PR lto/54795
- * lto-opts.c (lto_write_options): Also handle
- OPT_SPECIAL_unknown, OPT_SPECIAL_ignore and
- OPT_SPECIAL_program_name.
-
- PR lto/55474
- * lto-wrapper.c (merge_and_complain): Handle
- OPT_SPECIAL_unknown, OPT_SPECIAL_ignore,
- OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
-
-2012-11-27 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/52650
- * function.c (instantiate_virtual_regs_in_insn): Don't delete invalid
- asm gotos, instead just clear their template and inputs.
-
- PR tree-optimization/55110
- * tree-vect-loop.c (vectorizable_reduction): Don't assert
- that STMT_VINFO_RELATED_STMT of orig_stmt is stmt.
-
-2012-11-27 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (fold_stmt_1): Remove unnecessary code.
-
-2012-11-27 Bin Cheng <bin.cheng@arm.com>
-
- * config/arm/arm.c (thumb1_reorg): New function.
- (arm_reorg): Call thumb1_reorg.
- (thumb1_final_prescan_insn): Record src operand in thumb1_cc_op0.
- * config/arm/arm.md : Remove peephole2 patterns which rewrite move
- into subtract of ZERO.
-
-2012-11-27 Richard Biener <rguenther@suse.de>
-
- PR middle-end/55331
- * gimple-fold.c (gimplify_and_update_call_from_tree): Replace
- stmt with a NOP instead of removing it.
-
-2012-11-27 Steven Bosscher <steven@gcc.gnu.org>
-
- * loop-invariant.c (check_invariant_table_size): Take sizeof of
- the right type.
-
- * reorg.c (resource_conflicts_p): Use hard_reg_set_intersect_p.
- (rare_destination): Remove.
- (mostly_true_jump): Simplify. Base result on REG_BR_PROP notes if
- available, otherwise assume branches are not taken.
- (fill_eager_delay_slots): Update mostly_true_jump call.
- (relax_delay_slots): Likewise.
-
-2012-11-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * reorg.c (redundant_insn): Do not handle DEBUG_INSNs.
-
-2012-11-26 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/55277
- * lra-constraints.c (in_class_p): Check reg class contents too.
-
-2012-11-26 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-builtins.c (aarch64_builtin_decls): New.
- (aarch64_init_simd_builtins): Store declaration after builtin
- initialisation.
- (aarch64_builtin_decl): New.
- * config/aarch64/aarch64-protos.h (aarch64_builtin_decl): New.
- * config/aarch64/aarch64.c (TARGET_BUILTIN_DECL): Define.
-
-2012-11-26 Steven Bosscher <steven@gcc.gnu.org>
-
- * doc/invoke.texi: Remove -dv documentation. Fix up graph dump related
- documentation. Document the '-graph' dump option. Complete the '-slim'
- dump option documentation.
-
- * common.opt (Variable graph_dump_format): Remove.
- * flag-types.h (enum graph_dump_types): Remove.
- * flags.h (dump_for_graph): Remove.
- * opts.c (decode_d_option): Remove -dv handling.
- * sched-int.h (print_insn, print_pattern, print_value): Move prototypes
- from here ...
- * rtl.h: ...to here. Add note that these functions ought to be in
- another file.
- * sched-vis.c (print_insn): Add detailed dump for insn notes.
- * print-rtl.c (dump_for_graph): Remove.
- (print_rtx): Remove dump_for_graph related code.
- * graph.c: Almost complete re-write to dump DOT (GraphViz) dumps
- instead of VCG dumps.
- * graph.h (print_rtl_graph_with_bb): Update prototype.
- * passes.c (finish_optimization_passes): Fix profile dump finishing.
- Unconditionally loop over graph dumps to finalize.
- (execute_function_dump): Split code to dump graphs to separate block.
- (execute_one_pass): Don't set TDF_GRAPH here, let the dump option
- decoders do their job.
-
- * ddg.c (vcg_print_ddg): Make it a DEBUG_FUNCTION.
- * toplev.c: Don't include graph.h.
- * tree-optimize.c: Don't include graph.h.
-
-2012-11-26 Marek Polacek <polacek@redhat.com>
-
- * cprop.c (hash_set): Remove variable. Use regno variable directly.
-
-2012-11-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.h (DECL_RESTRICTED_P): Delete.
- (DECL_READ_P): Add comment.
- (DECL_NONSHAREABLE): Likewise.
- (TYPE_NO_FORCE_BLK): Fix comment.
- (struct tree_decl_common): Remove decl_restricted_flag, add decl_flag_3.
- * tree-emutls.c (new_emutls_decl): Do not deal with DECL_RESTRICTED_P.
- * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise.
- * tree-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
-
- * alias.c (nonoverlapping_component_refs_p): Fix thinko.
-
-2012-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * doc/sourcebuild.texi: Document arm_v8_vfp_ok.
-
-2012-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.h (TARGET_FPU_ARMV8): New macro.
- * config/arm/arm.md (UNSPEC_VRINTZ, UNSPEC_VRINTP, UNSPEC_VRINTM)
- (UNSPEC_VRINTR, UNSPEC_VRINTX, UNSPEC_VRINTA): New unspecs.
- (f_rints, f_rintd): New types.
- * config/arm/iterators.md (VRINT): New int iterator.
- (F_fma_type): Remove.
- (vfp_type): New mode attribute.
- (vfp_double_cond): Likewise.
- (vrint_pattern, vrint_variant, vrint_predicable): New int attribute.
- * config/arm/vfp.md (fma<SDF:mode>4): Use vfp_type iterator
- instead of F_fma_type.
- (*fmsub<SDF:mode>4, *fnmsub<SDF:mode>4, *fnmadd<SDF:mode>4): Likewise.
- (<vrint_pattern><SDF:mode>2): New pattern.
-
-2012-11-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * fold-const.c (const_binop): Adjust comment.
- (extract_muldiv_1): Likewise.
- (fold_comparison): Likewise.
- * stor-layout.c (place_field): Fix typo.
- * tree.c (double_int_fits_to_tree_p): Remove obsolete comment.
- (force_fit_type_double): Likewise. Fix long line.
-
-2012-11-26 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * config/arm/arm.h (TARGET_LDRD): Reject Thumb1 targets.
-
-2012-11-26 Matthias Klose <doko@ubuntu.com>
-
- * config/rs6000/t-linux (MULTIARCH_DIRNAME): Fix unbalanced
- parentheses.
-
-2012-11-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/54471
- * tree-vrp.c (extract_range_from_binary_expr_1): For MULT_EXPR,
- don't canonicalize range if min2 is zero.
-
-2012-11-26 Hans-Peter Nilsson <hp@bitrange.com>
-
- PR middle-end/55030
- * builtins.c (expand_builtin_setjmp_receiver): Update comment
- regarding purpose of blockage.
- * emit-rtl.c [!HAVE_blockage] (gen_blockage): Similarly for
- the head comment.
- * rtlanal.c (volatile_insn_p): Ditto.
- * doc/md.texi (blockage): Update similarly. Change wording to
- require one of two forms, rather than implying a wider choice.
- * cse.c (cse_insn): Where checking for blocking insns, use
- volatile_insn_p instead of manual check for volatile ASM.
- * dse.c (scan_insn): Ditto.
- * cselib.c (cselib_process_insn): Ditto.
-
-2012-11-25 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (<sse>_loadu<ssemodesuffix><avxsizesuffix>):
- Do not depend on TARGET_SSE_TYPELESS_STORES.
- (<sse2>_loaddqu<avxsizesuffix>): Ditto.
- (<sse>_storeu<ssemodesuffix><avxsizesuffix>): Fix handling of
- TARGET_SSE_TYPELESS_STORES.
- (<sse2>_storedqu<avxsizesuffix>): Ditto.
-
-2012-11-25 Steven Bosscher <steven@gcc.gnu.org>
-
- * doc/tm.texi.in (DELAY_SLOTS_FOR_EPILOGUE): Remove documentation.
- (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
- * doc/tm.texi: Regenerate.
- * reorg.c (fill_simple_delay_slots): Remove code conditional on
- DELAY_SLOTS_FOR_EPILOGUE being defined.
- (make_return_insns, dbr_schedule): Likewise.
- * system.h (DELAY_SLOTS_FOR_EPILOGUE): Poison.
- (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
-
-2012-11-24 Jack Howarth <howarth@bromo.med.uc.edu>
-
- * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fsanitize=address.
-
-2012-11-24 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (multiarch): Use $enableval instead of $withval.
- * configure: Regenerate.
- * config/i386/t-kfreebsd (MULTILIB_OSDIRNAMES): Filter out x32.
- * gcc/config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Use
- x86_64-linux-gnux32 as multiarch name for x32.
-
-2012-11-23 Tobias Burnus <burnus@net-b.de>
-
- * doc/invoke.texi (-fsanitize=address): Remove obsolete remark.
-
-2012-11-23 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/54046
- * Makefile.in (gimple-low.o): Depend on langhooks.h.
- * gimple-low.c: Include langhooks.c.
- (block_may_fallthru): Handle TARGET_EXPR and ERROR_MARK,
- by default call lang_hooks.block_may_fallthru.
- * langhooks.h (struct lang_hooks): Add block_may_fallthru langhook.
- * langhooks-def.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define.
- (LANG_HOOKS_INITIALIZER): Use it.
-
-2012-11-23 Jan Hubicka <jh@suse.cz>
-
- * i386-c.c (ix86_target_macros_internal): Update handling of core
- chips.
- * i386.c (DUMMY_STRINGOP_ALGS): Update
- (*_cost): Update.
- (core_cost): Copy from generic64_cost; fix stringop descriptors.
- (m_CORE2_32, m_CORE2_64, m_COREI7_32, m_COREI7_64, m_CORE2I7_32,
- m_CORE2I7_64): Remove.
- (m_CORE2, m_COREI7, m_CORE2I7): Update.
- (initial_ix86_tune_features): Update.
- (processor_target): Update.
- (ix86_option_override_internal): Update.
- (ix86_option_override_internal): Remove PROCESSOR_CORE2_64,
- PROCESSOR_COREI7_64 special cases.
- (decide_alg): Add noalign parameter; set it.
- (ix86_expand_movmem, ix86_expand_setmem): Update noalign handling.
- (ix86_issue_rate): Update.
- (ia32_multipass_dfa_lookahead): Update.
- (ix86_sched_init_global): Update.
- (get_builtin_code_for_version): Update.
- * i386.h (stringop_strategy): Add noalign flag.
- (TARGET_CORE2_32, TARGET_CORE2_64, TARGET_COREI7_32, TARGET_COREI7_64):
- Remove.
- (TARGET_CORE2, TARGET_COREI7): New.
- (enum processor_type): Remove PROCESSOR_CORE2_32, PROCESSOR_CORE2_64,
- PROCESSOR_COREI7_32, PROCESSOR_COREI7_64; add PROCESSOR_CORE2,
- PROCESSOR_COREI7.
-
-2012-11-23 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/55388
- * alias.c (nonoverlapping_component_refs_p): Handle bitfields.
- * emit-rtl.c (adjust_address_1): Deal with VOIDmode early.
- * expmed.c (store_bit_field): Turn the call to adjust_address
- into a call to adjust_bitfield_address_size.
-
-2012-11-23 Vladimir Makarov <vmakarov@redhat.com>
-
- * lra.c (lra): Move init_reg_info and expand_reg_info calls before
- init_insn_recog_data.
-
-2012-11-23 Jakub Jelinek <jakub@redhat.com>
-
- * tsan.c: Fix up comment formatting.
- (instrument_gimple): Ignore gimple_clobber_p stmts.
- (pass_tsan, pass_tsan_O0): Remove TODO_update_address_taken
- from todo_flags_finish.
-
- PR sanitizer/55435
- * asan.c (gate_asan): Don't instrument functions with
- no_address_safety_analysis attribute.
- (gate_asan_O0): Use !optimize && gate_asan ().
- * doc/extend.texi (no_address_safety_analysis): Document new
- function attribute.
-
-2012-11-22 Teresa Johnson <tejohnson@google.com>
- Jan Hubicka <jh@suse.cz>
-
- * predict.c (maybe_hot_count_p): Use threshold from profiled working
- set instead of hard limit.
- (cgraph_maybe_hot_edge_p): Invoke maybe_hot_count_p() instead of
- directly checking limit.
- * params.def (HOT_BB_COUNT_FRACTION): Remove.
- (HOT_BB_COUNT_WS_PERMILLE): New parameter.
- * doc/invoke.texi (hot-bb-count-fraction): Remove.
- (hot-bb-count-ws-permille): Document.
-
-2012-11-22 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/55430
- * lra.c: Move #include "hard-reg-set.h" before #include "rtl.h".
- (new_insn_reg): Update biggest_mode.
- (collect_non_operand_hard_regs): Check eliminable regs too.
- (initialize_lra_reg_info_element): Initialize biggest_mode.
- (add_regs_to_insn_regno_info): Ignore non-allocatable
- non-eliminable hard regs.
- (lra.c): Move setting lra_no_alloc_regs before
- init_insn_recog_data.
- * lra-constraints.c (simplify_operand_subreg): Add a comment.
- (lra_constraints): Ignore equivalent memory of
- regs occuring in paradoxical subregs.
- * lra-lives.c (lra_create_live_ranges): Add a comment.
-
-2012-11-22 Dmitry Vyukov <dvyukov@google.com>
- Wei Mi <wmi@google.com>
-
- * builtins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins.
- * sanitizer.def: Ditto.
- * Makefile.in (tsan.o): Add tsan.o target.
- (BUILTINS_DEF): Add sanitizer.def.
- * passes.c (init_optimization_passes): Add tsan passes.
- * tree-pass.h (register_pass_info): Ditto.
- * toplev.c (compile_file): Ditto.
- * doc/invoke.texi: Document tsan related options.
- * gcc.c (LINK_COMMAND_SPEC): Add LIBTSAN_SPEC in link command if
- -fsanitize=thread.
- * tsan.c: New file about tsan.
- * tsan.h: Ditto.
- * common.opt: Add -fsanitize=thread.
-
-2012-11-22 Uros Bizjak <ubizjak@gmail.com>
-
- * doc/md.texi (RTL Templates Transformation): Use @pxref for
- cross-reference in parentheses.
-
-2012-11-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
-
- * doc/md.texi (AArch64 family): Remove Utf.
-
-2012-11-22 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*jcc<mode>_0_i387): Macroize insn
- from *fp_jcc_3_387 using X87MODEF mode iterator.
- (*jcc<mode>_0_r_i387): New.
- (*jccxf_i387): Ditto.
- (*jccxf_r_i387): Ditto.
- (*jcc<mode>_i387): Macroize insn from *fp_jcc_1_387 using
- MODEF mode iterator.
- (*jcc<mode>_r_i387): Macroize insn from *fp_jcc_1r_387 using
- MODEF mode iterator.
- (*jccu<mode>_i387): Macroize insn from *fp_jcc_2_387 using
- X87MODEF mode iterator.
- (*jccu<mode>_r_i387): Macroize insn from *fp_jcc_2r_387 using
- X87MODEF mode iterator.
- (*jcc{,u}<mode>_i387 splitters): Macroize splitters using
- X87MODEF mode iterator.
- (*jcc<X87MODEF:mode>_<SWI24:mode>_i387): Macroize insn
- from *fp_jcc_4_<mode>_387 using X87MODEF mode iterator.
- (*jcc<X87MODEF:mode>_<SWI24:mode>_r_i387): New.
- (*jcc<X87MODEF:mode>_<SWI24:mode>_i387 splitters): Macroize
- splitters using X87MODEF and SWI24 mode iterators.
-
-2012-11-22 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (FPCMP): New mode iterator.
- (unord): New mode attribute.
- (*cmp<mode>_0_i387): Macroize insn from *cmpfp_0
- using X87MODEF mode iterator.
- (*cmp<mode>_0_cc_i387): Macroize insn from *cmpfp_0_cc using
- X87MODEF mode iterator.
- (*cmpxf_i387): Rename from *cmpfp_xf.
- (*cmpxf_cc_i387): Rename from *cmpfp_xf_cc.
- (*cmp<mode>_i387): Rename from *cmpfp_<mode>.
- (*cmp<mode>_cc_i387): Rename from *cmpfp_<mode>_cc.
- (*cmpu<mode>_i387): Macroize insn from *cmpfp_u using X87MODEF
- mode iterator.
- (*cmpu<mode>_cc_i387): Macroize insn from *cmpfp_u_cc using X87MODEF
- mode iterator.
- (*cmp<X87MODEF:mode>_<SWI24:mode>_i387): Macroize_insn from
- *cmpfp_<mode> using X87MODEF mode iterator.
- (*cmp<X87MODEF:mode>_<SWI24:mode>_cc_i387): Macroize_insn from
- *cmpfp_<mode>_cc using X87MODEF mode iterator.
- (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Macroize insn from
- *cmpfp_i{,u}_mixed using FPCMP and MODEF mode iterators.
- (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Macroize insn from
- *cmpfp_i{,u}_sse using FPCMP and MODEF mode iterators.
- (*cmpi<CCFPCMP:unord><X87MODEF:mode>_i387): Macroize insn from
- *cmpfp_i{,u}_387 using FPCMP and X87MODEF mode iterators.
-
-2012-11-22 Ian Bolton <ian.bolton@arm.com>
-
- * config/aarch64/aarch64.md (bswaphi2): New pattern.
-
-2012-11-22 H.J. Lu <hongjiu.lu@intel.com>
-
- PR sanitizer/55379
- * gcc.c (LINK_COMMAND_SPEC): Issue an error for -static with
- -fsanitize=address.
-
-2012-11-22 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.c (ADD_STATIC_LIBASAN_LIBS): New macro. Defined
- with STATIC_LIBASAN_LIBS.
- (LIBASAN_SPEC): Add STATIC_LIBASAN_LIBS.
- * config/gnu-user.h (STATIC_LIBASAN_LIBS): New macro.
-
-2012-11-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.md (*arm_abssi2): Define predicable attribute.
- (*arm_neg_abssi2): Likewise.
- * config/arm/thumb2.md (*thumb2_abssi2): Likewise.
- (*thumb2_neg_abssi2): Likewise.
-
-2012-11-22 Jakub Jelinek <jakub@redhat.com>
-
- * ree.c (struct ext_modified): Add ATTRIBUTE_PACKED.
-
-2012-11-22 Georg-Johann Lay <avr@gjlay.de>
-
- Adjust decimal point of signed accum mode to GCC default.
-
- PR target/54222
- * config/avr/avr-modes.def (HA, SA, DA): Remove mode adjustments.
- (TA): Move decimal point one bit to the right.
- * config/avr/avr.c (avr_out_fract): Rewrite.
-
-2012-11-21 Matthias Klose <doko@ubuntu.com>
-
- * config/alpha/t-linux: New file; define MULTIARCH_DIRNAME.
- * config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux.
-
-2012-11-21 Matthias Klose <doko@ubuntu.com>
-
- * config/m68k/t-linux: Define MULTIARCH_DIRNAME.
-
-2012-11-21 Matthias Klose <doko@ubuntu.com>
-
- * config/ia64/t-linux: New file; define MULTIARCH_DIRNAME.
- * config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux.
-
-2012-11-21 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55414
- * lra-constraints.c (Index): New function.
- (lra_constraints): Check dead equiv init insns.
-
-2012-11-21 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.md (extvmisaligndi): Rename from extv; update
- mode of operand 1; remove ancient extract_bit_field workaround.
- (insvmisaligndi): Rename from insv and update similarly.
- (extzvmisaligndi): Rename from extzv and update similarly; split out...
- (extzvdi): New expander.
-
-2012-11-21 H.J. Lu <hongjiu.lu@intel.com>
-
- * doc/cpp.texi: Document __SANITIZE_ADDRESS__.
-
-2012-11-21 H.J. Lu <hongjiu.lu@intel.com>
-
- PR c/55397
- * cppbuiltin.c (define_builtin_macros_for_compilation_flags):
- Define __SANITIZE_ADDRESS__ for flag_asan.
-
-2012-11-21 Wei Mi <wmi@google.com>
-
- * common.opt: Change faddress-sanitizer to fsanitize=address.
- * toplev.c (process_options): Likewise.
- * gcc.c (LINK_COMMAND_SPEC): Likewise.
- * testsuite/lib/asan-dg.exp
- (check_effective_target_faddress_sanitizer): Likewise.
- (asan_init): Likewise.
- * doc/invoke.texi (-fsanitize=address): Document.
-
-2012-11-21 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.h (struct ipa_node_params): Rename clone_for_all_contexts to
- do_clone_for_all_contexts. Update all uses. New flag
- is_all_contexts_clone.
- * ipa-cp.c (cgraph_edge_brings_value_p): Also consider the case when cs
- leads to the clone for all contexts.
- (perhaps_add_new_callers): Likewise.
- (decide_whether_version_node): Remove bogus !plats->aggs test. Set
- is_all_contexts_clone when cloning for all contexts.
-
-2012-11-21 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/55260
- * ipa-cp.c (intersect_aggregates_with_edge): New function.
- (find_aggregate_values_for_callers_subset): Part moved to the function
- above. Call it.
- (cgraph_edge_brings_all_agg_vals_for_node): Reimplemented using
- intersect_aggregates_with_edge.
-
-2012-11-21 Matthias Klose <doko@ubuntu.com>
-
- * config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
-
-2012-11-21 Teresa Johnson <tejohnson@google.com>
-
- PR gcov-profile/55417
- * profile.c (compute_working_sets): Check index first
- to avoid out-of-bounds array access.
-
-2012-11-21 Matthias Klose <doko@ubuntu.com>
-
- * config/aarch64/t-aarch64-linux: Define MULTIARCH_DIRNAME for
- linux target.
-
-2012-11-21 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md
- (*float<SWI48x:mode><MODEF:mode>2_mixed_with_temp): Use SWI48 mode
- iterator instead of SWI48x. Update insn constraint.
- (*float<SWI48x:mode><MODEF:mode>2_mixed_interunit): Ditto.
- (*float<SWI48x:mode><MODEF:mode>2_mixed_nointerunit): Ditto.
- (*float<SWI48x:mode><MODEF:mode>2_sse_with_temp): Ditto.
- (*float<SWI48x:mode><MODEF:mode>2_sse_interunit): Ditto.
- (*float<SWI48x:mode><MODEF:mode>2_sse_nointerunit): Ditto.
- (*float<SWI48x:mode><MODEF:mode>2 splitters): Ditto.
- (lrint<MODEF:mode><SWI48x:mode>2): Ditto.
-
-2012-11-21 Marcus Shawcroft <marcus.shawcroft@arm.com>
-
- * Makefile.in (gengtype-lex.o): Add dependency on $(BCONFIG_H).
-
-2012-11-21 Bin Cheng <bin.cheng@arm.com>
-
- * config/arm/arm-cores.def (cortex-m1, cortex-m0)
- (cortex-m0plus): Use v6m.
- * config/arm/arm-protos.h (tune_params): Add
- logical_op_non_short_circuit.
- * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune)
- (arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune)
- (arm_cortex_tune, arm_cortex_a15_tune, arm_cortex_a5_tune)
- (arm_cortex_a9_tune, arm_fa726te_tune): Set
- logical_op_non_short_circuit field.
- (arm_v6m_tune): New tune_params struct.
- * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Define.
-
-2012-11-20 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac: Substitute `with_cpu'.
- * configure: Regenerate.
- * Makefile.in: Define `with_cpu'.
- * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
- * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
- * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
- to the list.
- (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS.
- * config/rs6000/t-spe: Define MULTIARCH_DIRNAME.
- * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
- Include rs6000/t-linux for 32bit non-biarch configurations.
-
-2012-11-20 Matthias Klose <doko@ubuntu.com>
-
- * doc/install.texi: Move multiarch paragraph out of multilib
- documentation.
-
-2012-11-20 Matthias Klose <doko@ubuntu.com>
-
- * config/arm/t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.
-
-2012-11-20 Richard Sandiford <rdsandiford@googlemail.com>
-
- * stor-layout.c (bit_field_mode_iterator::next_mode): Fix signedness.
-
-2012-11-20 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55396
- * lra-constraints.c (get_reload_reg): Change class if it is
- different from reg class.
-
-2012-11-20 Jakub Jelinek <jakub@redhat.com>
-
- * vec.h (class vec_prefix): Change into struct.
- Rename field alloc_PRIVATE_ back to alloc_.
- Rename field num_PRIVATE_ to num_.
- Update all users.
- (class vec<T, A, vl_embed>): Rename field pfx_PRIVATE_ to vecpfx_.
- Rename field data_PRIVATE_ to vecdata_.
- Update all users.
- (class vec<T, A, vl_ptr>): Make every field public.
- Rename field vec_PRIVATE_ back to vec_.
- Update all users.
-
-2012-11-20 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR middle-end/55403
- PR middle-end/55391
- * expmed.c (store_bit_field_1): Use adjust_bitfield_address_size
- rather than adjust_bitfield_address to change the mode of a reference.
- (extract_bit_field_1): Likewise.
-
-2012-11-20 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
- explaining the register ordering preferences.
-
-2012-11-20 Aldy Hernandez <aldyh@redhat.com>
-
- PR tree-optimization/55350
- * gimple-ssa-strength-reduction.c (replace_dependent): Handle
- POINTER_PLUS_EXPR correctly.
-
-2012-11-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (fix_trunc<MODEF:mode><SWI48:mode>_sse): Macroize
- insn from fix_trunc<mode>{si,di}_sse using SWI48 mode iterator.
- (peephole2 to avoid vector decoded forms): Macroize peephole2
- using MODEF mode iterator. Use SWI48 mode iterator instead of SWI48x.
-
-2012-11-20 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/19398
- * config/i386/i386.md
- (peephole2 to shorten x87->SSE reload sequences): Remove peephole2.
- * config/i386/i386.h (enum ix86_tune_indices)
- <IX86_TUNE_SHORTEN_X87_SSE>: Remove.
- (TARGET_SHORTEN_X87_SSE): Remove.
- * config/i386/i386.c (initial_ix86_tune_features): Update.
-
-2012-11-20 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/19398
- * lra-constraints.c (process_alt_operands): Discourage reloads
- through secondary memory.
-
-2012-11-20 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.md (largetoc_low): Revert.
- (largetoc_low_aix<mode>): New.
-
-2012-11-20 Diego Novillo <dnovillo@google.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * vec.h (struct vnull): Declare.
- (vNULL): Declare.
- * vec.c (vNULL): Define.
- * bb-reorder.c: Replace all vec<T, A>() initializers with vNULL.
- * cfgexpand.c: Likewise.
- * cfgloop.c: Likewise.
- * cfgloopanal.c: Likewise.
- * cfgloopmanip.c: Likewise.
- * cgraph.c: Likewise.
- * config/c6x/c6x.c: Likewise.
- * config/i386/i386.c: Likewise.
- * df-core.c: Likewise.
- * dominance.c: Likewise.
- * dwarf2out.c: Likewise.
- * except.c: Likewise.
- * function.c: Likewise.
- * gcse.c: Likewise.
- * genautomata.c: Likewise.
- * graphds.c: Likewise.
- * graphite-scop-detection.c: Likewise.
- * graphite.c: Likewise.
- * haifa-sched.c: Likewise.
- * ifcvt.c: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * ipa-inline-transform.c: Likewise.
- * ipa-inline.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa-utils.c: Likewise.
- * ira-build.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-symtab.c: Likewise.
- * opts-global.c: Likewise.
- * passes.c: Likewise.
- * ree.c: Likewise.
- * sched-deps.c: Likewise.
- * sel-sched-ir.c: Likewise.
- * sel-sched-ir.h: Likewise.
- * sel-sched.c: Likewise.
- * stor-layout.c: Likewise.
- * trans-mem.c: Likewise.
- * tree-call-cdce.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-data-ref.c: Likewise.
- * tree-diagnostic.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-loop-distribution.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-ssa-loop-im.c: Likewise.
- * tree-ssa-loop-ivcanon.c: Likewise.
- * tree-ssa-loop-manip.c: Likewise.
- * tree-ssa-loop-niter.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-math-opts.c: Likewise.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-propagate.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-ssa-sccvn.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * tree-ssa-threadedge.c: Likewise.
- * tree-ssa-uninit.c: Likewise.
- * tree-stdarg.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * value-prof.c: Likewise.
- * varasm.c: Likewise.
-
-2012-11-20 Diego Novillo <dnovillo@google.com>
-
- * Makefile.in (tlink.o): Add dependency on VEC_H.
-
-2012-11-20 Diego Novillo <dnovillo@google.com>
-
- PR middle-end/55398
- * vec.h (class vec_prefix): Make every field public.
- Rename field alloc_ to alloc_PRIVATE_.
- Rename field num_ to num_PRIVATE_.
- Update all users.
- (class vec<T, A, vl_embed>): Make every field public.
- Rename field pfx_ to pfx_PRIVATE_.
- Rename field data_ to data_PRIVATE_.
- Update all users.
- (class vec<T, A, vl_ptr>): Make every field public.
- Rename field vec_ to vec_PRIVATE_.
- Update all users.
-
-2012-11-20 Kai Tietz <ktietz@redhat.com>
-
- PR target/55268
- * i386.c (ix86_mangle_decl_assembler_name): Use
- SUBTARGET_MANGLE_DECL_ASSEMBLER_NAME if defined.
- * cygming.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Rename
- to SUBTARGET_MANGLE_DECL_ASSEMBLER_NAME.
-
-2012-11-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_expand_call): Emit CLOBBERs in VOIDmode.
-
-2012-11-20 Nick Clifton <nickc@redhat.com>
-
- * config/v850/v850.c (F): New function. Mark the given insn as
- being frame related.
- (v850_all_frame_related): New function. Mark the given push insn
- as being frame related.
- (v850_pass_by_reference): When using the RH850 ABI do not pass
- arguments by reference.
- (v850_strict_argument_naming): Delete function.
- (v850_function_arg): Use word alignment with the RH850 ABI.
- (v850_arg_partial_bytes): Likewise.
- (v850_function_arg_advance): Likewise.
- (v850_print_operand): Handle CONST_INT and CONST_DOUBLE.
- (compute_register_save_size): Use df_regs_ever_live_p.
- (increment_stack): Mark prologue adjustments as being frame related.
- (expand_prologue): Handle pretend args. Mark insns generated as
- being frame related.
- (expand_epilogue): Likewise.
- (v850_return_in_memory): When using the RH850 ABI return
- aggregates in memory.
- (v850_setup_incoming_varargs): Delete function.
- (v850_option_override): New function.
- (TARGET_DEBUG_UNWIND_INFO): Delete definition.
- (TARGET_SETUP_INCOMING_VARARGS): Likewise.
- (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
- (TARGET_OPTION_OVERRIDE): Define.
- * config/v850/v850.h (ASM_SPEC): Pass 8byte-align and gcc-abi
- options on to assembler.
- (LINK_SPEC): Likewise.
- (TARGET_CPU_CPP_BUILTINS): Define __V850_8BYTE_ALIGN__ and
- __V850_GCC_ABI__.
- (STACK_BOUNDARY): Set to BIGGEST_ALIGNMENT.
- (FUNCTION_BOUNDARY): With the RH850 ABI always 32-bit alignment.
- (BIGGEST_ALIGNMENT): With -8byte-align set to 64-bits.
- (BIGGEST_FIELD_ALIGNMENT): Likewise.
- (enum reg_class): Swap EVEN_REGS and GENERAL_REGS.
- (REG_CLASS_NAMES): Likewise.
- (REG_CLASS_CONTENTS): Likewise.
- (struct cum_arg): Delete anonymous_args field.
- (INIT_CUMULATIVE_ARGS): Update.
- (PREFERRED_DEBUG): Set to DWARF2_DEBUG.
- (DWARF2_FRAME_INFO): Define.
- (DWARF2_UNWIND_INFO): Define.
- (INCOMING_RETURN_ADDR_RTX): Define.
- (DWARF_FRAME_RETURN_COLUMN): Define.
- (TARGET_USE_FPU): Define.
- * config/v850/v850.md: Replace TARGET_V850E2V3 in floating point
- insns with TARGET_USE_FPU.
- (fixuns_truncsfsi2): New pattern.
- (fixuns_truncdfsi2): New pattern.
- (fix_truncsfdi2): New pattern.
- (fixuns_truncsfdi2): New pattern.
- (fix_truncdfdi2): New pattern.
- (fixuns_truncdfdi2): New pattern.
- (unsfloatsisf2): New pattern.
- (unsfloatsidf2): New pattern.
- (floatdisf2): New pattern.
- (unsfloatdisf2): New pattern.
- (floatdidf2): New pattern.
- (unsfloatdidf2): New pattern.
- (fnmasf4): Fix RTl description.
- (fnmssf4): Likewise.
- * config/v850/v850.opt (mrelax): New option.
- (mlong-jumps): Likewise.
- (msoft-float): Likewise.
- (mhard-float): Likewise.
- (mrh850-abi): Likewise.
- (mgcc-abi): Likewise.
- (m8byte-align): Likewise.
- * config/v850/t-v850 (MULTILIB_OPTIONS): Update multilib options.
- (MULTILIB_DIRNAMES): Likewise.
-
-2012-11-20 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.c (rx_function_arg_boundary): When using the RX ABI
- align stack arguments to their natural alignment.
- (rx_narrow_volatile_bitfield): New function. Allows narrow
- volatile bitfields.
- (rx_ok_to_inline): New function. Do not inline functions with
- local variables into a naked caller.
- (TARGET_NARROW_VOLATILE_BITFIELD): Define.
- (TARGET_CAN_INLINE_P): Define.
- * config/rx/rx.c (TARGET_CPU_CPP_BUILTINS): Define __RX_ABI__ or
- __RX_GC_ABI__.
- (ASM_SPEC): Pass -mgcc-abi on to the assembler.
- (STRICT_ALIGNMENT): Set to false.
- (CTORS_SECTION_ASM_OP): Add executable attribute.
- (DTORS_SECTION_ASM_OP): Add executable attribute.
- (INIT_ARRAY_SECTION_ASM_OP): Add executable attribute.
- (FINI_ARRAY_SECTION_ASM_OP): Add executable attribute.
- * config/rx/rx.md (subdi3): Don't allow MEMs as the third operand,
- as it causes too much reload pressure.
- * config/rx/rx.opt (mgcc-abi): New option.
- (mrx-abi): New option.
- * config/rx/t-rx (MULTILIB_OPTIONS): Show how to add an ABI multilib.
- (MULTILIB_DIRNAMES): Likewise.
-
-2012-11-20 James Greenhalgh <james.greenhalgh@arm.com>
- Tejas Belagod <tejas.belagod@arm.com>
-
- * config/aarch64/aarch64-builtins.c
- (aarch64_simd_builtin_type_bits): Rename to...
- (aarch64_simd_builtin_type_mode): ...this, make sequential.
- (aarch64_simd_builtin_datum): Refactor members.
- (VAR1, VAR2, ..., VAR12): Update accordingly.
- (aarch64_simd_builtin_data): Include from aarch64-simd-builtins.def.
- (aarch64_builtins): Update accordingly.
- (init_aarch64_simd_builtins): Refactor, rename to...
- (aarch64_init_simd_builtins): ...this.
- (aarch64_simd_builtin_compare): Remove.
- (locate_simd_builtin_icode): Likewise.
- * config/aarch64/aarch64-protos.h (aarch64_init_builtins): New.
- (aarch64_expand_builtin): New.
- * config/aarch64/aarch64-simd-builtins.def: New file.
- * config/aarch64/aarch64.c (aarch64_init_builtins):
- Move to aarch64-builtins.c.
- (aarch64_expand_builtin): Likewise.
- * config/aarch64/aarch64.h
- (aarch64_builtins): Move to aarch64-builtins.c.
-
-2012-11-20 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/55260
- * ipa-cp.c (find_aggregate_values_for_callers_subset): Rename info to
- dest_info, use caller_info instead of info when determining whether
- callee is a clone.
-
-2012-11-20 Andrey Turetskiy <andrey.turetskiy@gmail.com>
-
- * config/i386/sse.md (*<ssse3_avx2>_pmulhrsw<mode>3): Merge
- *avx2_pmulhrswv16hi3 and *ssse3_pmulhrswv8hi3 into one pattern.
-
-2012-11-20 Sofiane Naci <sofiane.naci@arm.com>
-
- * config/aarch64/aarch64.md
- (define_attr "sync_*"): Remove.
- (define_attr "length"): Update.
- Include atomics.md.
- * config/aarch64/aarch64-protos.h
- (aarch64_expand_compare_and_swap): Add function prototype.
- (aarch64_split_compare_and_swap): Likewise.
- (aarch64_split_atomic_op): Likewise.
- (aarch64_expand_sync): Remove function prototype.
- (aarch64_output_sync_insn): Likewise.
- (aarch64_output_sync_lock_release): Likewise.
- (aarch64_sync_loop_insns): Likewise.
- (struct aarch64_sync_generator): Remove.
- (enum aarch64_sync_generator_tag): Likewise.
- * config/aarch64/aarch64.c
- (aarch64_legitimize_sync_memory): Remove function.
- (aarch64_emit): Likewise.
- (aarch64_insn_count): Likewise.
- (aarch64_output_asm_insn): Likewise.
- (aarch64_load_store_suffix): Likewise.
- (aarch64_output_sync_load): Likewise.
- (aarch64_output_sync_store): Likewise.
- (aarch64_output_op2): Likewise.
- (aarch64_output_op3): Likewise.
- (aarch64_output_sync_loop): Likewise.
- (aarch64_get_sync_operand): Likewise.
- (aarch64_process_output_sync_insn): Likewise.
- (aarch64_output_sync_insn): Likewise.
- (aarch64_output_sync_lock_release): Likewise.
- (aarch64_sync_loop_insns): Likewise.
- (aarch64_call_generator): Likewise.
- (aarch64_expand_sync): Likewise.
- (* emit_f): Remove variable.
- (aarch64_insn_count): Likewise.
- (FETCH_SYNC_OPERAND): Likewise.
- (aarch64_emit_load_exclusive): New function.
- (aarch64_emit_store_exclusive): Likewise.
- (aarch64_emit_unlikely_jump): Likewise.
- (aarch64_expand_compare_and_swap): Likewise.
- (aarch64_split_compare_and_swap): Likewise.
- (aarch64_split_atomic_op): Likewise.
- * config/aarch64/iterators.md
- (atomic_sfx): New mode attribute.
- (atomic_optab): New code attribute.
- (atomic_op_operand): Likewise.
- (atomic_op_str): Likewise.
- (syncop): Rename to atomic_op.
- * config/aarch64/sync.md: Delete.
- * config/aarch64/atomics.md: New file.
-
-2012-11-20 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/55094
- * builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note
- on the trap insn for !ACCUMULATE_OUTGOING_ARGS.
- * cfgcleanup.c (outgoing_edges_match): Don't look at debug insns
- on the first old_insns_match_p call. For !ACCUMULATE_OUTGOING_ARGS
- fail if the last real insn doesn't have REG_ARGS_SIZE note.
-
- PR rtl-optimization/54921
- * cselib.h (fp_setter_insn): New prototype.
- * cselib.c (fp_setter_insn): New function.
- (cselib_process_insn): If frame_pointer_needed,
- call cselib_invalidate_rtx (stack_pointer_rtx) after
- processing a frame pointer setter.
- * var-tracking.c (fp_setter): Removed.
- (vt_initialize): Use fp_setter_insn instead of fp_setter.
-
-2012-11-19 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
- constraints so that the traditional floating point loads, stores,
- and moves are done first, then the VSX loads, stores, and moves,
- and finally the GPR loads, stores, and moves so that reload
- chooses FPRs over GPRs, and uses the traditional load/store
- instructions which provide an offset.
- (movdf_hardfloat64): Likewise.
-
-2012-11-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR middle-end/55359
- * simplify-rtx.c (simplify_subreg): Return null for invalid offsets.
-
-2012-11-19 Aldy Hernandez <aldyh@redhat.com>
-
- * trans-mem.c (execute_tm_mark): Release bb_regions.
-
-2012-11-19 Aldy Hernandez <aldyh@redhat.com>
-
- * trans-mem (collect_bb2reg): Stop scanning at irrevocable blocks.
- (get_bb_regions_instrumented): Add new traverse_clone argument and
- use it.
- (expand_regions_1): Same.
- (expand_region): Same.
- (execute_tm_mark): Pass new argument to expand_regions.
- (expand_block_edges): Pass new argument to get_bb_regions_instrumented.
-
-2012-11-19 Sofiane Naci <sofiane.naci@arm.com>
-
- * config/aarch64/aarch64.c
- (aarch64_output_mi_thunk): Refactor to generate RTL patterns.
-
-2012-11-19 Mans Rullgard <mans@mansr.com>
-
- PR target/55276
- * config/rs6000/rs6000.c (rs6000_stack_info): Always set vrsave_mask
- for TARGET_ALTIVEC_ABI. Zero vrsave_save_offset if
- !TARGET_ALTIVEC_VRSAVE.
- (rs6000_emit_prologue): For SAVE_INLINE_VLRs, check vrsave_size
- not vrsave_mask.
-
-2012-11-19 David Edelsohn <dje.gcc@gmail.com>
-
- PR bootstrap/55384
- * system.h (vec_free): Undef.
-
-2012-11-19 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/54630
- * tree-ssa-coalesce.c (coalesce_ssa_name): Remove static
- keyword from ssa_name_hash var.
-
-2012-11-19 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
- Kirill Yukhin <kirill.yukhin@intel.com>
- Michael Zolotukhin <michael.v.zolotukhin@intel.com>
-
- * doc/md.texi: Document define_subst.
- * gensupport.c (MAX_OPERANDS): New define.
- (operand_data): New.
- (match_operand_entries_in_pattern): New.
- (used_operands_numbers): New.
- (subst_true): New.
- (subst_false): New.
- (define_subst_queue): New.
- (define_subst_tail): New.
- (define_subst_attr_queue): New.
- (define_subst_attr_tail): New.
- (has_subst_attribute): New.
- (subst_pattern_match): New.
- (get_alternatives_number): New.
- (alter_output_for_subst_insn): New.
- (alter_attrs_for_subst_insn): New.
- (process_substs_on_one_elem): New.
- (subst_dup): New.
- (process_define_subst): New.
- (duplicate_alternatives): New.
- (duplicate_each_alternative): New.
- (constraints_handler_t): New typedef.
- (alter_constraints): New.
- (adjust_operands_numbers): New.
- (replace_duplicating_operands_in_pattern): New.
- (remove_from_queue): New.
- (process_rtx): Handle define_subst and define_subst_attr.
- (change_subst_attribute): New.
- (alter_predicate_for_insn): Fix formatting.
- (alter_attrs_for_insn): Likewise.
- (alter_output_for_insn): Likewise.
- (mark_operands_from_match_dup): New.
- (mark_operands_used_in_match_dup): New.
- (find_first_unused_number_of_operand): New.
- (renumerate_operands_in_pattern): New.
- (generate_match_dup): New.
- (check_define_attr_duplicates): New.
- (init_rtx_reader_args_cb): Add checking for duplicated attrs and
- processing of define_subst.
- (read_md_rtx): Handle define_subst.
- * read-rtl.c (struct subst_attr_to_iter_mapping): New.
- (substs): New global.
- (apply_subst_iterator): New.
- (bind_subst_iter_and_attr): New.
- (find_subst_iter_by_attr): New.
- (map_attr_string): Handle subst-iterators.
- (add_condition_to_rtx): Handle define_subst.
- (apply_iterators): Likewise.
- (initialize_iterators): Likewise.
- (add_define_attr_for_define_subst): New.
- (add_define_subst_attr): New.
- (read_subst_mapping): New.
- (read_rtx): Handle define_subst_attr.
- (read_rtx_code): Add subst-attributes recognition during reading of
- strings.
- * rtl.def (DEFINE_EXPAND): Add vector of attributes.
- (DEFINE_SUBST): New.
- (DEFINE_SUBST_ATTR): New.
-
-2012-11-19 Tom de Vries <tom@codesourcery.com>
-
- PR rtl-optimization/55315
-
- * rtlanal.c (nonzero_address_p): Don't assume a nonzero address plus a
- const is a nonzero address.
-
-2012-11-18 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi: Use @smallexample consistently. Add @noindent
- when continuing a sentence or paragraph past an example. Change
- tabs to spaces in examples.
-
-2012-11-18 Richard Sandiford <rdsandiford@googlemail.com>
-
- * doc/md.texi (extv@var{m}, extvmisalign@var{m}, extzv@var{m})
- (extzvmisalign@var{m}, insv@var{m}, insvmisalign@var{m}): Document.
- (insv, extv, extzv): Deprecate.
- * optabs.def (insv_optab, extv_optab, extzv_optab)
- (insvmisalign_optab, extvmisalign_optab, extzvmisalign_optab):
- New optabs.
- * optabs.c (get_optab_extraction_insn): New function.
- (get_extraction_insn): Use it.
- * config/mips/mips.md (extv): Split into...
- (extvmisalign<mode>, extv<mode>): ...these new patterns. Rename
- existing extv<mode> pattern to...
- (*extv<mode>): ...this.
- (extzv): Split into...
- (extzvmisalign<mode>, extzv<mode>): ...these new patterns. Rename
- existing extzv<mode> pattern to...
- (*extzv<mode>): ...this.
- (insv): Split into...
- (insvmisalign<mode>, insv<mode>): ...these new patterns. Rename
- existing insv<mode> pattern to...
- (*insv<mode>): ...this. Use const_int_operand rather than
- immediate_operand.
- * config/mips/mips.c (mips_block_move_straight): Use set_mem_size
- to set the size of BLKmode accesses.
- (mips_get_unaligned_mem): Require OP0 to be a BLKmode memory,
- turning it from an "rtx *" to an rtx.
- (mips_expand_ext_as_unaligned_load): Simplify for new optab
- interface. Update call to mips_get_unaligned_mem.
- (mips_expand_ins_as_unaligned_store): Update call to
- mips_get_unaligned_mem.
-
-2012-11-18 Richard Sandiford <rdsandiford@googlemail.com>
-
- * Makefile.in (recog.o): Add insn-codes.h.
- * expr.h (extraction_pattern): Move to optabs.h.
- (mode_for_extraction): Delete.
- * optabs.h (extraction_insn): New structure.
- (extraction_pattern): Moved from expr.h.
- (get_best_reg_extraction_insn, get_best_mem_extraction_insn): Declare.
- * optabs.c (HAVE_insv, CODE_FOR_insv, HAVE_extv, CODE_FOR_extv)
- (HAVE_extzv, CODE_FOR_extzv): Provide defaults.
- (extraction_type): New enum.
- (get_traditional_extraction_insn, get_extraction_insn)
- (get_best_reg_extraction_insn, get_best_mem_extraction_insn):
- New functions.
- * combine.c (make_extraction): Use get_best_reg_extraction_insn
- instead of mode_for_extraction.
- * expmed.c (HAVE_insv, CODE_FOR_insv, gen_insv, HAVE_extv)
- (CODE_FOR_extv, gen_extv, HAVE_extzv, CODE_FOR_extzv, gen_extzv):
- Remove fallback definitions.
- (mode_for_extraction): Delete.
- (adjust_bit_field_mem_for_reg): New function.
- (store_bit_field_using_insv): Replace OP_MODE parameter with
- an extraction_insn. Pass struct_mode to narrow_bit_field_mem.
- (extract_bit_field_using_extv): Likewise EXT_MODE.
- (store_bit_field_1): Use get_best_reg_extraction_insn and
- get_best_mem_extraction_insn instead of mode_for_extraction.
- Use adjust_bit_field_mem_for_reg when forcing memory to a
- register and doing a register insertion. Update calls to
- store_bit_field_using_insv.
- (extract_bit_field_1): Likewise extractions and calls to
- extract_bit_field_using_extv.
- (store_Bit_field): When narrowing to a bitregion, don't use the
- insv mode as a limit.
- * recog.c: (HAVE_extv, CODE_FOR_extv, HAVE_extzv, CODE_FOR_extzv):
- Provide defaults.
- (simplify_while_replacing): Use insn_data instead of
- mode_for_extraction.
-
-2012-11-18 Richard Sandiford <rdsandiford@googlemail.com>
-
- * stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
- Set up a default value of bitregion_end_.
- (bit_field_mode_iterator::next_mode): Always apply bitregion_end_
- check. Include SLOW_UNALIGNED_ACCESS in the alignment check.
- (get_best_mode): Ignore modes that are wider than the alignment.
-
-2012-11-18 Richard Sandiford <rdsandiford@googlemail.com>
-
- * machmode.h (bit_field_mode_iterator): New class.
- (get_best_mode): Change final parameter to bool.
- * stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator)
- (bit_field_mode_iterator::next_mode): New functions, split out from...
- (get_best_mode): ...here. Change final parameter to bool.
- Use bit_field_mode_iterator.
-
-2012-11-18 Richard Sandiford <rdsandiford@googlemail.com>
-
- * expmed.c (narrow_bit_field_mem): New function.
- (store_bit_field_using_insv, store_bit_field_1, store_fixed_bit_field)
- (extract_bit_field_1): Use it.
-
-2012-11-18 Richard Sandiford <rdsandiford@googlemail.com>
-
- * expr.h (adjust_address_1): Add a size parameter.
- (adjust_address, adjust_address_nv, adjust_bitfield_address)
- (adjust_bitfield_address_nv): Adjust accordingly.
- (adjust_bitfield_address_size): Define.
- * emit-rtl.c (adjust_address_1): Add a size parameter.
- Use it to set the size if MODE has no size. Check whether
- the size matches before returning the original memref.
- Require the size to be known for adjust_object.
- (adjust_automodify_address_1, widen_memory_access): Update calls
- to adjust_address_1.
-
-2012-11-18 Richard Sandiford <rdsandiford@googlemail.com>
-
- * combine.c (make_extraction): Handle TRUNCATEd INNERs.
-
-2012-11-18 Richard Sandiford <rdsandiford@googlemail.com>
-
- * expr.c (expand_assignment): Don't set MEM_KEEP_ALIAS_SET_P here.
- * emit-rtl.c (set_mem_attributes_minus_bitpos): Handle DECL_BIT_FIELDs,
- using their size instead of the COMPONENT_REF's.
-
-2012-11-17 Matthias Klose <doko@ubuntu.com>
-
- * config/mips/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
-
-2012-11-17 Diego Novillo <dnovillo@google.com>
-
- VEC API overhaul (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
-
- * vec.c (register_overhead): Convert it into
- member function of vec_prefix.
- (release_overhead): Likewise.
- (calculate_allocation): Likewise.
- (vec_heap_free): Remove.
- (vec_gc_o_reserve_1): Remove.
- (vec_heap_o_reserve_1): Remove.
- (vec_stack_o_reserve_1): Remove.
- (vec_stack_o_reserve_exact): Remove.
- (register_stack_vec): New.
- (stack_vec_register_index): New.
- (unregister_stack_vec): New.
- (vec_assert_fail): Remove.
- * vec.h: Conditionally include ggc.h. Document conditional hackery.
- Update top-level documentation.
- (ALONE_VEC_CHECK_INFO): Remove.
- (VEC_CHECK_INFO): Remove.
- (ALONE_VEC_CHECK_DECL): Remove.
- (VEC_CHECK_DECL): Remove.
- (ALONE_VEC_CHECK_PASS): Remove.
- (VEC_CHECK_PASS): Remove.
- (VEC_ASSERT): Remove.
- (vec_prefix): Add friends va_gc, va_gc_atomic, va_heap and va_stack.
- Mark fields alloc_ and num_ as protected.
- (struct vec_t): Remove. Remove all function members.
- (struct vl_embed): Declare.
- (struct vl_ptr): Declare.
- (free): Remove.
- (reserve_exact): Remove.
- (reserve): Remove.
- (safe_splice): Remove.
- (safe_push): Remove.
- (safe_grow): Remove.
- (safe_grow_cleared): Remove.
- (safe_insert): Remove.
- (DEF_VEC_I): Remove.
- (DEF_VEC_ALLOC_I): Remove.
- (DEF_VEC_P): Remove.
- (DEF_VEC_ALLOC_P): Remove.
- (DEF_VEC_O): Remove.
- (DEF_VEC_ALLOC_O): Remove.
- (DEF_VEC_ALLOC_P_STACK): Remove.
- (DEF_VEC_ALLOC_O_STACK): Remove.
- (DEF_VEC_ALLOC_I_STACK): Remove.
- (DEF_VEC_A): Remove.
- (DEF_VEC_ALLOC_A): Remove.
- (vec_stack_p_reserve_exact_1): Remove.
- (vec_stack_o_reserve): Remove.
- (vec_stack_o_reserve_exact): Remove.
- (VEC_length): Remove.
- (VEC_empty): Remove.
- (VEC_address): Remove.
- (vec_address): Remove.
- (VEC_last): Remove.
- (VEC_index): Remove.
- (VEC_iterate): Remove.
- (VEC_embedded_size): Remove.
- (VEC_embedded_init): Remove.
- (VEC_free): Remove.
- (VEC_copy): Remove.
- (VEC_space): Remove.
- (VEC_reserve): Remove.
- (VEC_reserve_exact): Remove.
- (VEC_splice): Remove.
- (VEC_safe_splice): Remove.
- (VEC_quick_push): Remove.
- (VEC_safe_push): Remove.
- (VEC_pop): Remove.
- (VEC_truncate): Remove.
- (VEC_safe_grow): Remove.
- (VEC_replace): Remove.
- (VEC_quick_insert): Remove.
- (VEC_safe_insert): Remove.
- (VEC_ordered_remove): Remove.
- (VEC_unordered_remove): Remove.
- (VEC_block_remove): Remove.
- (VEC_lower_bound): Remove.
- (VEC_alloc): Remove.
- (VEC_qsort): Remove.
-
- (va_heap): Declare.
- (va_heap::default_layout): New typedef to vl_ptr.
- (va_heap::reserve): New.
- (va_heap::release): New.
- (va_gc): Declare.
- (va_gc::default_layout): New typedef to vl_embed.
- (va_gc::reserve): New.
- (va_gc::release): New.
- (va_gc_atomic): Declare. Inherit from va_gc.
- (va_stack): Declare.
- (va_stack::default_layout): New typedef to vl_ptr.
- (va_stack::alloc): New.
- (va_stack::reserve): New.
- (va_stack::release): New.
- (register_stack_vec): Declare.
- (stack_vec_register_index): Declare.
- (unregister_stack_vec): Declare.
-
- (vec<T, A = va_heap, L = typename A::default_layout>): Declare
- empty vec template.
- (vec<T, A, vl_embed>): Partial specialization for embedded
- layout.
- (vec<T, A, vl_embed>::allocated): New.
- (vec<T, A, vl_embed>::length): New.
- (vec<T, A, vl_embed>::is_empty): New.
- (vec<T, A, vl_embed>::address): New.
- (vec<T, A, vl_embed>::operator[]): New.
- (vec<T, A, vl_embed>::last New.
- (vec<T, A, vl_embed>::space): New.
- (vec<T, A, vl_embed>::iterate): New.
- (vec<T, A, vl_embed>::iterate): New.
- (vec<T, A, vl_embed>::copy): New.
- (vec<T, A, vl_embed>::splice): New.
- (vec<T, A, vl_embed>::quick_push New.
- (vec<T, A, vl_embed>::pop New.
- (vec<T, A, vl_embed>::truncate): New.
- (vec<T, A, vl_embed>::quick_insert): New.
- (vec<T, A, vl_embed>::ordered_remove): New.
- (vec<T, A, vl_embed>::unordered_remove): New.
- (vec<T, A, vl_embed>::block_remove): New.
- (vec<T, A, vl_embed>::qsort): New.
- (vec<T, A, vl_embed>::lower_bound): New.
- (vec<T, A, vl_embed>::embedded_size): New.
- (vec<T, A, vl_embed>::embedded_init): New.
- (vec<T, A, vl_embed>::quick_grow): New.
- (vec<T, A, vl_embed>::quick_grow_cleared): New.
- (vec_safe_space): New.
- (vec_safe_length): New.
- (vec_safe_address): New.
- (vec_safe_is_empty): New.
- (vec_safe_reserve): New.
- (vec_safe_reserve_exact): New.
- (vec_alloc): New.
- (vec_free): New.
- (vec_safe_grow): New.
- (vec_safe_grow_cleared): New.
- (vec_safe_iterate): New.
- (vec_safe_push): New.
- (vec_safe_insert): New.
- (vec_safe_truncate): New.
- (vec_safe_copy): New.
- (vec_safe_splice): New.
-
- (vec<T, A, vl_ptr>): New partial specialization for the space
- efficient layout.
- (vec<T, A, vl_ptr>::exists): New.
- (vec<T, A, vl_ptr>::is_empty): New.
- (vec<T, A, vl_ptr>::length): New.
- (vec<T, A, vl_ptr>::address): New.
- (vec<T, A, vl_ptr>::operator[]): New.
- (vec<T, A, vl_ptr>::operator!=): New.
- (vec<T, A, vl_ptr>::operator==): New.
- (vec<T, A, vl_ptr>::last): New.
- (vec<T, A, vl_ptr>::space): New.
- (vec<T, A, vl_ptr>::iterate): New.
- (vec<T, A, vl_ptr>::copy): New.
- (vec<T, A, vl_ptr>::reserve): New.
- (vec<T, A, vl_ptr>::reserve_exact): New.
- (vec<T, A, vl_ptr>::splice): New.
- (vec<T, A, vl_ptr>::safe_splice): New.
- (vec<T, A, vl_ptr>::quick_push): New.
- (vec<T, A, vl_ptr>::safe_push): New.
- (vec<T, A, vl_ptr>::pop): New.
- (vec<T, A, vl_ptr>::truncate): New.
- (vec<T, A, vl_ptr>::safe_grow): New.
- (vec<T, A, vl_ptr>::safe_grow_cleared): New.
- (vec<T, A, vl_ptr>::quick_grow): New.
- (vec<T, A, vl_ptr>::quick_grow_cleared): New.
- (vec<T, A, vl_ptr>::quick_insert): New.
- (vec<T, A, vl_ptr>::safe_insert): New.
- (vec<T, A, vl_ptr>::ordered_remove): New.
- (vec<T, A, vl_ptr>::unordered_remove): New.
- (vec<T, A, vl_ptr>::block_remove): New.
- (vec<T, A, vl_ptr>::qsort): New.
- (vec<T, A, vl_ptr>::lower_bound): New.
- (vec_stack_alloc): Define.
- (FOR_EACH_VEC_SAFE_ELT): Define.
- * vecir.h: Remove. Update all users.
- * vecprim.h: Remove. Update all users.
- Move uchar to coretypes.h.
-
- * Makefile.in (VEC_H): Add $(GGC_H).
- Remove vecir.h and vecprim.h dependencies everywhere.
-
-2012-11-16 Diego Novillo <dnovillo@google.com>
-
- * gengtype-lex.l (VEC): Remove.
- Add characters in the set [\!\>\.-].
- * gengtype-parse.c (token_names): Remove "VEC".
- (require_template_declaration): Remove handling of VEC_TOKEN.
- (type): Likewise.
- Call create_user_defined_type when parsing GTY((user)).
- * gengtype-state.c (type_lineloc): handle TYPE_UNDEFINED.
- (write_state_undefined_type): New.
- (write_state_type): Call write_state_undefined_type for TYPE_UNDEFINED.
- (read_state_type): Call read_state_undefined_type for TYPE_UNDEFINED.
- * gengtype.c (dbgprint_count_type_at): Handle TYPE_UNDEFINED.
- (create_user_defined_type): Make extern.
- (type_for_name): Factor out of resolve_typedef.
- (create_undefined_type): New
- (resolve_typedef): Call it when we cannot find a previous
- typedef and the type is not a template.
- (find_structure): Accept TYPE_UNDEFINED.
- (set_gc_used_type): Add argument ALLOWED_UNDEFINED_TYPES,
- default to false.
- Emit an error for TYPE_UNDEFINED unless LEVEL is GC_UNUSED or
- ALLOWED_UNDEFINED_TYPES is set.
- Set ALLOWED_UNDEFINED_TYPES to true for TYPE_USER_STRUCT.
- (filter_type_name): Accept templates with more than one argument.
- (output_mangled_typename): Handle TYPE_UNDEFINED
- (walk_type): Likewise.
- (write_types_process_field): Likewise.
- (write_func_for_structure): If CHAIN_NEXT is set, ORIG_S
- should not be a user-defined type.
- (write_types_local_user_process_field): Handle TYPE_ARRAY,
- TYPE_NONE and TYPE_UNDEFINED.
- (write_types_local_process_field): Likewise.
- (contains_scalar_p): Return 0 for TYPE_USER_STRUCT.
- (write_root): Reject user-defined types that are not pointers.
- Handle TYPE_NONE, TYPE_UNDEFINED, TYPE_UNION, TYPE_LANG_STRUCT
- and TYPE_PARAM_STRUCT.
- (output_typename): Handle TYPE_NONE, TYPE_UNDEFINED, and TYPE_ARRAY.
- (dump_typekind): Handle TYPE_UNDEFINED.
- * gengtype.h (enum typekind): Add TYPE_UNDEFINED.
- (create_user_defined_type): Declare.
- (enum gty_token): Remove VEC_TOKEN.
-
-2012-11-16 Diego Novillo <dnovillo@google.com>
-
- Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
-
- * coretypes.h (uchar): Define.
- * alias.c: Use new vec API in vec.h.
- * asan.c: Likewise.
- * attribs.c: Likewise.
- * basic-block.h: Likewise.
- * bb-reorder.c: Likewise.
- * builtins.c: Likewise.
- * calls.c: Likewise.
- * cfg.c: Likewise.
- * cfganal.c: Likewise.
- * cfgcleanup.c: Likewise.
- * cfgexpand.c: Likewise.
- * cfghooks.c: Likewise.
- * cfghooks.h: Likewise.
- * cfgloop.c: Likewise.
- * cfgloop.h: Likewise.
- * cfgloopanal.c: Likewise.
- * cfgloopmanip.c: Likewise.
- * cfgrtl.c: Likewise.
- * cgraph.c: Likewise.
- * cgraph.h: Likewise.
- * cgraphclones.c: Likewise.
- * cgraphunit.c: Likewise.
- * combine.c: Likewise.
- * compare-elim.c: Likewise.
- * coverage.c: Likewise.
- * cprop.c: Likewise.
- * data-streamer.h: Likewise.
- * dbxout.c: Likewise.
- * dce.c: Likewise.
- * df-core.c: Likewise.
- * df-problems.c: Likewise.
- * df-scan.c: Likewise.
- * dominance.c: Likewise.
- * domwalk.c: Likewise.
- * domwalk.h: Likewise.
- * dse.c: Likewise.
- * dwarf2cfi.c: Likewise.
- * dwarf2out.c: Likewise.
- * dwarf2out.h: Likewise.
- * emit-rtl.c: Likewise.
- * except.c: Likewise.
- * except.h: Likewise.
- * expr.c: Likewise.
- * expr.h: Likewise.
- * final.c: Likewise.
- * fold-const.c: Likewise.
- * function.c: Likewise.
- * function.h: Likewise.
- * fwprop.c: Likewise.
- * gcc.c: Likewise.
- * gcse.c: Likewise.
- * genattr.c: Likewise.
- * genattrtab.c: Likewise.
- * genautomata.c: Likewise.
- * genextract.c: Likewise.
- * genopinit.c: Likewise
- * ggc-common.c: Likewise.
- * ggc.h: Likewise.
- * gimple-low.c: Likewise.
- * gimple-ssa-strength-reduction.c: Likewise.
- * gimple-streamer-in.c: Likewise.
- * gimple.c: Likewise.
- * gimple.h: Likewise.
- * gimplify.c: Likewise.
- * graph.c: Likewise.
- * graphds.c: Likewise.
- * graphds.h: Likewise.
- * graphite-blocking.c: Likewise.
- * graphite-clast-to-gimple.c: Likewise.
- * graphite-dependences.c: Likewise.
- * graphite-interchange.c: Likewise.
- * graphite-optimize-isl.c: Likewise.
- * graphite-poly.c: Likewise.
- * graphite-poly.h: Likewise.
- * graphite-scop-detection.c: Likewise.
- * graphite-scop-detection.h: Likewise.
- * graphite-sese-to-poly.c: Likewise.
- * graphite.c: Likewise.
- * godump.c: Likewise.
- * haifa-sched.c: Likewise.
- * hw-doloop.c: Likewise.
- * hw-doloop.h: Likewise.
- * ifcvt.c: Likewise.
- * insn-addr.h: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * ipa-inline-transform.c: Likewise.
- * ipa-inline.c: Likewise.
- * ipa-inline.h: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-prop.h: Likewise.
- * ipa-pure-const.c: Likewise.
- * ipa-ref-inline.h: Likewise.
- * ipa-ref.c: Likewise.
- * ipa-ref.h: Likewise.
- * ipa-reference.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa-utils.c: Likewise.
- * ipa-utils.h: Likewise.
- * ipa.c: Likewise.
- * ira-build.c: Likewise.
- * ira-color.c: Likewise.
- * ira-emit.c: Likewise.
- * ira-int.h: Likewise.
- * ira.c: Likewise.
- * loop-invariant.c: Likewise.
- * loop-unroll.c: Likewise.
- * lower-subreg.c: Likewise.
- * lra-lives.c: Likewise.
- * lra.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-section-out.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * lto-streamer.h: Likewise.
- * lto-symtab.c: Likewise.
- * mcf.c: Likewise.
- * modulo-sched.c: Likewise.
- * omp-low.c: Likewise.
- * opts-common.c: Likewise.
- * opts-global.c: Likewise.
- * opts.c: Likewise.
- * opts.h: Likewise.
- * passes.c: Likewise.
- * predict.c: Likewise.
- * print-tree.c: Likewise.
- * profile.c: Likewise.
- * profile.h: Likewise.
- * read-rtl.c: Likewise.
- * ree.c: Likewise.
- * reg-stack.c: Likewise.
- * regrename.c: Likewise.
- * regrename.h: Likewise.
- * reload.c: Likewise.
- * reload.h: Likewise.
- * reload1.c: Likewise.
- * rtl.h: Likewise.
- * sched-deps.c: Likewise.
- * sched-int.h: Likewise.
- * sdbout.c: Likewise.
- * sel-sched-dump.c: Likewise.
- * sel-sched-ir.c: Likewise.
- * sel-sched-ir.h: Likewise.
- * sel-sched.c: Likewise.
- * sese.c: Likewise.
- * sese.h: Likewise.
- * statistics.h: Likewise.
- * stmt.c: Likewise.
- * stor-layout.c: Likewise.
- * store-motion.c: Likewise.
- * tlink.c: Likewise.
- * toplev.c: Likewise.
- * trans-mem.c: Likewise.
- * tree-browser.c: Likewise.
- * tree-call-cdce.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-cfgcleanup.c: Likewise.
- * tree-chrec.c: Likewise.
- * tree-chrec.h: Likewise.
- * tree-complex.c: Likewise.
- * tree-data-ref.c: Likewise.
- * tree-data-ref.h: Likewise.
- * tree-dfa.c: Likewise.
- * tree-diagnostic.c: Likewise.
- * tree-dump.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-emutls.c: Likewise.
- * tree-flow.h: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-inline.c: Likewise.
- * tree-inline.h: Likewise.
- * tree-into-ssa.c: Likewise.
- * tree-iterator.c: Likewise.
- * tree-loop-distribution.c: Likewise.
- * tree-mudflap.c: Likewise.
- * tree-optimize.c: Likewise.
- * tree-outof-ssa.c: Likewise.
- * tree-parloops.c: Likewise.
- * tree-phinodes.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-scalar-evolution.c: Likewise.
- * tree-sra.c: Likewise.
- * tree-ssa-address.c: Likewise.
- * tree-ssa-alias.c: Likewise.
- * tree-ssa-ccp.c: Likewise.
- * tree-ssa-coalesce.c: Likewise.
- * tree-ssa-dce.c: Likewise.
- * tree-ssa-dom.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-ssa-live.h: Likewise.
- * tree-ssa-loop-im.c: Likewise.
- * tree-ssa-loop-ivcanon.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-ssa-loop-manip.c: Likewise.
- * tree-ssa-loop-niter.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-math-opts.c: Likewise.
- * tree-ssa-operands.c: Likewise.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-phiprop.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-propagate.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-ssa-sccvn.c: Likewise.
- * tree-ssa-sccvn.h: Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * tree-ssa-tail-merge.c: Likewise.
- * tree-ssa-threadedge.c: Likewise.
- * tree-ssa-threadupdate.c: Likewise.
- * tree-ssa-uncprop.c: Likewise.
- * tree-ssa-uninit.c: Likewise.
- * tree-ssa.c: Likewise.
- * tree-ssanames.c: Likewise.
- * tree-stdarg.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * tree-streamer.c: Likewise.
- * tree-streamer.h: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-generic.c: Likewise.
- * tree-vect-loop-manip.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-patterns.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tree-vectorizer.c: Likewise.
- * tree-vectorizer.h: Likewise.
- * tree-vrp.c: Likewise.
- * tree.c: Likewise.
- * tree.h: Likewise.
- * value-prof.c: Likewise.
- * value-prof.h: Likewise.
- * var-tracking.c: Likewise.
- * varasm.c: Likewise.
- * varpool.c: Likewise.
- * vmsdbgout.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/c6x/c6x.c: Likewise.
- * config/darwin.c: Likewise.
- * config/i386/i386.c: Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/mep/mep.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/pa/pa.c: Likewise.
- * config/rs6000/rs6000-c.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/rx/rx.c: Likewise.
- * config/spu/spu-c.c: Likewise.
- * config/vms/vms.c: Likewise.
- * config/vxworks.c: Likewise.
- * config/epiphany/resolve-sw-modes.c: Likewise.
-
-2012-11-17 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/55236
- * fold-const.c (make_range_step) <case NEGATE_EXPR>: For -fwrapv
- and signed ARG0_TYPE, force low and high to be non-NULL.
-
-2012-11-17 H.J. Lu <hongjiu.lu@intel.com>
-
- * common.opt (static-libasan): New option.
- * gcc.c (LIBASAN_SPEC): New macro.
- (LINK_COMMAND_SPEC): Replace -lasan with LIBASAN_SPEC.
- * doc/invoke.texi: Document -static-libasan.
-
-2012-11-17 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55342
- * lra-assigns.c (spill_for): Try to allocate other reload pseudos
- before and after spilling.
-
-2012-11-16 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi: Various copy-edits to comply with GCC coding
- standards for spelling, terminology, and markup, including use of
- American spelling, correct use of terms like "back end" and
- "run time", use correct name for GCC, use "@:" markup.
-
-2012-11-16 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/55329
- * tree-ssa-dom.c (tree_ssa_dominator_optimize): Never clear
- bits in needed_eh_cleanup while iterating over the bitmap.
- Look through all forwarder blocks at once.
-
-2012-11-16 Jan Hubicka <jh@suse.cz>
-
- * params.def (max-peeled-insns, max-completely-peeled-insns): Reduce
- to 100.
-
-2012-11-16 Simon Baldwin <simonb@google.com>
-
- * doc/cppopts.texi: Document -f[no-]canonical-system-headers.
- * doc/install.texi: Document --enable-canonical-system-headers.
-
-2012-11-16 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55330
- * lra-constraints.c (MAX_INHERITANCE_PASSES): New macro.
- (lra_inheritance, lra_undo_inheritance): Use it to limit number of
- the passes.
-
-2012-11-16 Matthias Klose <doko@ubuntu.com>
-
- * config/pa/t-linux: New file; define MULTIARCH_DIRNAME.
- * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file):
- Include pa/t-linux.
-
-2012-11-16 Jakub Jelinek <jakub@redhat.com>
-
- PR target/54073
- * config/i386/i386.md (mov<mode>cc): Use comparison_operator
- instead of ordered_comparison_operator resp.
- ix86_fp_comparison_operator predicates.
- * config/i386/i386.c (ix86_expand_fp_movcc): Reject TImode
- or for -m32 DImode comparisons.
-
-2012-11-16 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/54717
- * tree-ssa-pre.c (do_partial_partial_insertion): Consider also edges
- with ANTIC_IN.
-
-2012-11-16 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386-protos.h (ix86_emit_mode_set): Add third argument.
- * config/i386/i386.h (EMIT_MODE_SET): Update.
- * config/i386/i386.c (ix86_avx_emit_vzeroupper): New function.
- (ix86_emit_mode_set) <AVX_U128>: Call ix86_avx_emit_vzeroupper.
-
-2012-11-16 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
-
- bdver3 Enablement
- * doc/extend.texi: Add details about bdver3.
- * doc/invoke.texi: Add details about bdver3.
- * config.gcc (i[34567]86-*-linux* | ...): Add bdver3.
- (case ${target}): Add bdver3.
- * config/i386/i386.h (TARGET_BDVER3): New definition.
- * config/i386/i386.md (define_attr "cpu"): Add bdver3.
- * config/i386/sse.md (sseshuf, sseshuf1): New type attributes.
- * config/i386/athlon.md: Handle sseshuf attribute.
- * config/i386/atom.md: Likewise.
- * config/i386/ppro.md: Likewise.
- * config/i386/bdver1.md: Likewise.
- * config/i386/i386.opt (flag_dispatch_scheduler): Add bdver3.
- * config/i386/i386-c.c (ix86_target_macros_internal): Add
- bdver3 def_and_undef
- * config/i386/driver-i386.c (host_detect_local_cpu): Let
- -march=native recognize bdver3 processors.
- * config/i386/i386.c (struct processor_costs bdver3_cost): New.
- (m_BDVER3): New definition.
- (m_AMD_MULTIPLE): Includes m_BDVER3.
- (initial_ix86_tune_features): Add bdver3 tune.
- (processor_target_table): Add bdver3 entry.
- (static const char *const cpu_names): Add bdver3 entry.
- (software_prefetching_beneficial_p): Add bdver3.
- (ix86_option_override_internal): Add bdver3 instruction sets.
- (ix86_option_override_internal): Remove XSAVEOPT for bdver1 and bdver2.
- (ix86_issue_rate): Add bdver3.
- (ix86_adjust_cost): Add bdver3.
- (enum target_cpu_default): Add TARGET_CPU_DEFAULT_bdver3.
- (enum processor_type): Add PROCESSOR_BDVER3.
- * config/i386/bdver3.md: New file describing bdver3 pipelines.
-
-2012-11-15 David S. Miller <davem@davemloft.net>
-
- * expmed.c (expand_shift_1): Don't strip non-integral SUBREGs.
-
- * configure.ac: Add check for assembler SPARC4 instruction support.
- * configure: Rebuild.
- * config.in: Add HAVE_AS_SPARC4 section.
- * config/sparc/sparc.opt (mcbcond): New option.
- * doc/invoke.texi: Document it.
- * config/sparc/constraints.md: New constraint 'A' for 5-bit signed
- immediates.
- * doc/md.texi: Document it.
- * config/sparc/sparc.c (dump_target_flag_bits): Handle MASK_CBCOND.
- (sparc_option_override): Likewise.
- (emit_cbcond_insn): New function.
- (emit_conditional_branch_insn): Call it.
- (emit_cbcond_nop): New function.
- (output_ubranch): Use cbcond, remove label arg.
- (output_cbcond): New function.
- * config/sparc/sparc-protos.h (output_ubranch): Update.
- (output_cbcond): Declare it.
- (emit_cbcond_nop): Likewise.
- * config/sparc/sparc.md (type attribute): New types 'cbcond'
- and uncond_cbcond.
- (emit_cbcond_nop): New attribute.
- (length attribute): Handle cbcond and uncond_cbcond.
- (in_call_delay attribute): Reject cbcond and uncond_cbcond.
- (in_branch_delay attribute): Likewise.
- (in_uncond_branch_delay attribute): Likewise.
- (in_annul_branch_delay attribute): Likewise.
- (*cbcond_sp32, *cbcond_sp64): New insn patterns.
- (jump): Rewrite into an expander.
- (*jump_ubranch, *jump_cbcond): New patterns.
- * config/sparc/niagara4.md: Match 'cbcond' in 'n4_cti'.
- * config/sparc/sparc.h (AS_NIAGARA4_FLAG): New macro, use it
- when target default is niagara4.
- (SPARC_SIMM5_P): Define.
- * config/sparc/sol2.h (AS_SPARC64_FLAG): Adjust.
- (AS_SPARC32_FLAG): Define.
- (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Use
- AS_NIAGARA4_FLAG as needed.
-
-2012-11-15 Steve Ellcey <sellcey@mips.com>
-
- * expr.c (expand_cond_expr_using_cmove): Use promoted mode for temp.
-
-2012-11-15 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/54619
- * tree-ssa-loop-ivopts.c (get_use_type): New function.
- (get_computation_at): Use get_use_type.
- (get_computation_cost_at): Declare and set mem_mode. Use mem_mode.
-
-2012-11-15 Jakub Jelinek <jakub@redhat.com>
-
- * asan.c (report_error_func): Set DECL_IGNORED_P, don't touch
- DECL_ASSEMBLER_NAME.
- (asan_init_func): Likewise.
- (asan_finish_file): Use void * instead of __asan_global * as type of
- __asan_{,un}register_globals. Set DECL_IGNORED_P on the decls.
-
-2012-11-15 Matthias Klose <doko@ubuntu.com>
-
- * Makefile.in (if_multiarch): Don't use a GNU make 3.81 feature.
-
-2012-11-14 Jan Hubicka <jh@suse.cz>
-
- PR bootstrap/55051
- * gcov-io.c (gcov_read_summary): Fix array bound check.
-
-2012-11-14 Sterling Augustine <saugustine@google.com>
-
- PR debug/55328
- * dwarf2out.c (index_address_table_entry): Check a node's refcount.
-
-2012-11-14 Jan Hubicka <jh@suse.cz>
-
- PR bootstrap/55051
- * ipa-inline.c (edge_badness): Improve dumping; fix overflow.
-
-2012-11-14 Matthias Klose <doko@ubuntu.com>
-
- * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
- * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME.
- * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux
- for 32bit non-biarch configurations.
-
-2012-11-14 Matthias Klose <doko@ubuntu.com>
-
- * doc/invoke.texi: Document -print-multiarch.
- * doc/install.texi: Document --enable-multiarch.
- * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
- * configure.ac: Add --enable-multiarch option.
- * configure: Regenerate.
- * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib.
- enable_multiarch, with_float: New macros.
- if_multiarch: New macro, define in terms of enable_multiarch.
- * genmultilib: Add new argument for the multiarch name.
- * gcc.c (multiarch_dir): Define.
- (for_each_path): Search for multiarch suffixes.
- (driver_handle_option): Handle multiarch option.
- (do_spec_1): Pass -imultiarch if defined.
- (main): Print multiarch.
- (set_multilib_dir): Separate multilib and multiarch names
- from multilib_select.
- (print_multilib_info): Ignore multiarch names in multilib_select.
- * incpath.c (add_standard_paths): Search the multiarch include dirs.
- * cppdefault.h (default_include): Document multiarch in multilib
- member.
- * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
- include directory for multiarch directories.
- * common.opt: New options --print-multiarch and -imultilib.
- * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
- Include i386/t-linux.
- <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file):
- Include i386/t-kfreebsd.
- <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu.
- * config/i386/t-linux64: Add multiarch names in
- MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME.
- * config/i386/t-gnu: New file.
- * config/i386/t-kfreebsd: Likewise.
- * config/i386/t-linux: Likewise.
-
-2012-11-14 Jan Hubicka <jh@suse.cz>
-
- * tree.c (set_call_expr_flags): New function.
- (local_define_builtin): Use it.
- * tree.h (set_call_expr_flags): Declare.
-
-2012-11-14 Uros Bizjak <ubizjak@gmail.com>
- Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
-
- PR target/47440
- * config/i386/i386.c (gate_insert_vzeroupper): New function.
- (rest_of_handle_insert_vzeroupper): Ditto.
- (struct rtl_opt_pass pass_insert_vzeroupper): New.
- (ix86_option_override): Register vzeroupper insertion pass here.
- (ix86_check_avx256_register): Handle SUBREGs properly.
- (ix86_init_machine_status): Remove optimize_mode_switching[AVX_U128]
- initialization.
-
-2012-11-14 David Edelsohn <dje.gcc@gmail.com>
-
- * configure.ac (HAVE_LD_LARGE_TOC): Add AIX test.
- * configure: Regenerated.
- * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Warn if
- other toc options used with cmodel. Disable TARGET_NO_FP_IN_TOC
- and TARGET_NO_SUM_IN_TOC if not CMODEL_SMALL. CMODEL_MEDIUM means
- CMODEL_LARGE on AIX.
- (ASM_SPEC): -mvsx implies -mpwr6. Add -many.
- (ASM_DEFAULT_SPEC): Use -mpwr4.
- (TARGET_CMODEL): Define.
- (SET_CMODEL): Define.
- * config/rs6000/rs6000.md (largetoc_high_aix<mode>): New.
- (largetoc_high_plus_aix<mode>): New.
- (largetoc_low<mode>): Change to mode iterator. Test TARGET_TOC
- instead of TARGET_ELF.
- (tocref): Remove TARGET_ELF test.
- * config/rs6000/rs6000.c (output_toc): Use [TE] for large TOC
- symbols on AIX.
- * config/rs6000/aix64.opt (mcmodel): New.
-
-2012-11-14 Andreas Tobler <andreast@fgznet.ch>
-
- * config/i386/i386.c (ix86_get_function_versions_dispatcher): Guard
- variables with ASM_OUTPUT_TYPE_DIRECTIVE and
- HAVE_GNU_INDIRECT_FUNCTION where needed.
-
-2012-11-13 Ian Lance Taylor <iant@google.com>
-
- * common.opt (fPIC, fPIE, fpic, fpie): Create a Negative loop such
- that any of these options disables the others.
-
-2012-11-13 Sriraman Tallam <tmsriram@google.com>
-
- * cgraph.c (insert_new_cgraph_node_version): Use cgraph_get_node
- instead of cgraph_get_create_node.
- * config/i386/i386.c (ix86_get_function_versions_dispatcher): Move
- ifunc not supported code to the end.
-
-2012-11-13 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/55253
- * ipa-cp.c (merge_aggregate_lattices): Propagate aggs_contain_variable
- flag.
-
-2012-11-13 Eric Botcazou <ebotcazou@adacore.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/55142
- * config/i386/i386.c (legitimize_pic_address): Properly handle
- REG + CONST.
- (ix86_print_operand_address): Set code to 'k' when forcing
- addr32 prefix. For x32, zero-extend negative displacement if
- it < -16*1024*1024.
-
-2012-11-13 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/41993
- * mode-switching.c (create_pre_exit): Set return_copy to last_insn if
- copy_start is not a function return regno. Skip debug instructions
- in instruction scan loop.
-
-2012-11-13 Andrew Stubbs <ams@codesourcery.com>
- Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * config/arm/arm.c (arm_emit_coreregs_64bit_shift): Fix comment.
- * config/arm/arm.md (opt, opt_enabled): New attributes.
- (enabled): Use opt_enabled.
- (ashldi3, ashrdi3, lshrdi3): Add TARGET_NEON case.
- (ashldi3): Allow general operands for TARGET_NEON case.
- * config/arm/iterators.md (rshifts): New code iterator.
- (shift, shifttype): New code attributes.
- * config/arm/neon.md (UNSPEC_LOAD_COUNT): New unspec type.
- (neon_load_count, ashldi3_neon_noclobber, ashldi3_neon,
- signed_shift_di3_neon, unsigned_shift_di3_neon,
- ashrdi3_neon_imm_noclobber, lshrdi3_neon_imm_noclobber,
- <shift>di3_neon): New patterns.
-
-2012-11-13 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (asan.o): Depend on $(TM_P_H).
-
- PR tree-optimization/55281
- * tree-vect-generic.c (expand_vector_condition): Accept any
- is_gimple_val rather than just SSA_NAME if not COMPARISON_CLASS_P.
- * fold-const.c (fold_ternary_loc): Fold VEC_COND_EXPR if arg0 is
- either integer_all_onesp or integer_zerop.
- * tree-vect-stmts.c (vectorizable_condition): Build the condition
- using corresponding vector integer type instead of vectype.
-
- PR rtl-optimization/54127
- * cfgrtl.c (force_nonfallthru_and_redirect): When redirecting
- asm goto labels from BB_HEAD (e->dest) to target bb, decrement
- LABEL_NUSES of BB_HEAD (e->dest) and increment LABEL_NUSES of
- BB_HEAD (target) appropriately and adjust JUMP_LABEL and/or
- REG_LABEL_TARGET and REG_LABEL_OPERAND.
-
-2012-11-12 Jakub Jelinek <jakub@redhat.com>
-
- * asan.c (instrument_builtin_call) <case BUILT_IN_BCOPY>: Fix up
- dest assignment.
-
-2012-11-13 Hans-Peter Nilsson <hp@axis.com>
-
- PR target/55257
- * config/cris/cris.c (cris_asm_output_mi_thunk): Call
- final_start_function and final_end_function.
-
-2012-11-12 David Edelsohn <dje.gcc@gmail.com>
-
- * asan.c: Include tm_p.h.
-
-2012-11-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/55195
- * config/pa/pa.md (attr type): Add sibcall and sh_func_adrs insn types.
- (in_branch_delay): Don't allow sibcall or sh_func_adrs insns.
- (in_nullified_branch_delay): Likewise.
- (in_call_delay): Likewise.
- Define delay for sibcall insns. Adjust Z3 and Z4 insn reservations for
- new types. Add opaque cond to mark all calls, sibcalls, dyncalls and
- the $$sh_func_adrs call as variable. Update type of sibcalls and
- $$sh_func_adrs call.
- * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated
- length instead of adjustment. Handle negative and undefined call
- adjustments for insn_default_length. Remove adjustment for millicode
- insn with unfilled delay slot.
- (pa_output_millicode_call): Update for revised millicode length.
- * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH.
-
-2012-11-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-ccp.c (dump_lattice_value) <CONSTANT>: Fix duplication.
-
-2012-11-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * common.opt (fvar-tracking-uninit): Document.
- * toplev.c (process_options): Fix handling of flag_var_tracking_uninit.
- * config/darwin.c (darwin_override_options): Likewise.
-
-2012-11-12 Steven Bosscher <steven@gcc.gnu.org>
-
- * sched-vis.c (print_pattern): Handle NULL patterns.
-
-2012-11-12 Steven Bosscher <steven@gcc.gnu.org>
- Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/51447
- * df-scan.c (df_get_entry_block_def_set): Add global regs to the set.
- * df-problems.c (df_lr_local_compute): Make global regs always live.
- * dce.c (deletable_insn_p): Make insns setting a global reg
- inherently necessary.
-
-2012-11-12 Ian Bolton <ian.bolton@arm.com>
-
- * config/aarch64/aarch64.md (cmov<mode>_insn): Emit CSINC when
- one of the alternatives is constant 1.
- * config/aarch64/constraints.md: New constraint.
- * config/aarch64/predicates.md: Rename predicate
- aarch64_reg_zero_or_m1 to aarch64_reg_zero_or_m1_or_1.
-
-2012-11-12 Ian Bolton <ian.bolton@arm.com>
-
- * config/aarch64/aarch64.md (*compare_neg<mode>): New pattern.
-
-2012-11-12 Tobias Burnus <burnus@net-b.de>
-
- * doc/invoke.texi: Move -faddress-sanitizer from Optimization
- Options to Debugging Options.
-
-2012-11-12 Jakub Jelinek <jakub@redhat.com>
-
- * asan.c: Formatting cleanups.
-
-2012-11-12 Wei Mi <wmi@google.com>
-
- * gcc.c (LINK_COMMAND_SPEC): Add -lasan to link command if
- -faddress-sanitizer is on.
-
-2012-11-12 Dodji Seketeli <dodji@redhat.com>
-
- * gimple.h (is_gimple_builtin_call): Declare ...
- * gimple.c (is_gimple_builtin_call): ... new public function.
- * asan.c (insert_if_then_before_iter, instrument_mem_region_access,
- instrument_strlen_call, maybe_instrument_builtin_call,
- instrument_call): New static functions.
- (create_cond_insert_point): Renamed
- create_cond_insert_point_before_iter into this. Add a new
- parameter to decide whether to insert the condition before or
- after the statement iterator.
- (build_check_stmt): Adjust for the new create_cond_insert_point.
- Add a new parameter to decide whether to add the instrumentation
- code before or after the statement iterator.
- (instrument_assignment): Factorize from ...
- (transform_statements): ... here. Use maybe_instrument_call to
- instrument builtin function calls as well.
- (instrument_derefs): Adjust for the new parameter of
- build_check_stmt. Fix detection of bit-field access.
-
-2012-11-12 Dodji Seketeli <dodji@redhat.com>
-
- * asan.c (create_cond_insert_point_before_iter): Factorize out of ...
- (build_check_stmt): ... here.
-
-2012-11-12 Dodji Seketeli <dodji@redhat.com>
-
- * asan.c (create_cond_insert_point_before_iter): Factorize out of ...
- (build_check_stmt): ... here.
-
-2012-11-12 Dodji Seketeli <dodji@redhat.com>
-
- * asan.c (build_check_stmt): Accept the memory access to be
- represented by an SSA_NAME.
-
-2012-11-12 Jakub Jelinek <jakub@redhat.com>
- Wei Mi <wmi@google.com>
-
- * varasm.c: Include asan.h.
- (assemble_noswitch_variable): Grow size by asan_red_zone_size
- if decl is asan protected.
- (place_block_symbol): Likewise.
- (assemble_variable): If decl is asan protected, increase
- DECL_ALIGN if needed, and for decls emitted using
- assemble_variable_contents append padding zeros after it.
- * Makefile.in (varasm.o): Depend on asan.h.
- * asan.c: Include output.h.
- (asan_pp, asan_pp_initialized, asan_ctor_statements): New variables.
- (asan_pp_initialize, asan_pp_string): New functions.
- (asan_emit_stack_protection): Use asan_pp{,_initialized}
- instead of local pp{,_initialized} vars, use asan_pp_initialize
- and asan_pp_string helpers.
- (asan_needs_local_alias, asan_protect_global,
- asan_global_struct, asan_add_global): New functions.
- (asan_finish_file): Protect global vars that can be protected. Use
- asan_ctor_statements instead of ctor_statements
- * asan.h (asan_protect_global): New prototype.
- (asan_red_zone_size): New inline function.
-
-2012-11-12 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (asan.o): Depend on $(EXPR_H) $(OPTABS_H).
- (cfgexpand.o): Depend on asan.h.
- * asan.c: Include expr.h and optabs.h.
- (asan_shadow_set): New variable.
- (asan_shadow_cst, asan_emit_stack_protection): New functions.
- (asan_init_shadow_ptr_types): Initialize also asan_shadow_set.
- * cfgexpand.c: Include asan.h. Define HOST_WIDE_INT heap vector.
- (partition_stack_vars): If i is large alignment and j small
- alignment or vice versa, break out of the loop instead of continue,
- and put the test earlier. If flag_asan, break out of the loop
- if for small alignment size is different.
- (struct stack_vars_data): New type.
- (expand_stack_vars): Add DATA argument. Change PRED type to
- function taking size_t argument instead of tree. Adjust pred
- calls. Fill DATA in and add needed padding in between variables
- if -faddress-sanitizer.
- (defer_stack_allocation): Defer everything for flag_asan.
- (stack_protect_decl_phase_1, stack_protect_decl_phase_2): Take
- size_t index into stack_vars array instead of the decl directly.
- (asan_decl_phase_3): New function.
- (expand_used_vars): Return var destruction sequence. Adjust
- expand_stack_vars calls, add another one for flag_asan. Call
- asan_emit_stack_protection if expand_stack_vars added anything
- to the vectors.
- (expand_gimple_basic_block): Add disable_tail_calls argument.
- (gimple_expand_cfg): Pass true to it if expand_used_vars returned
- non-NULL. Emit the sequence returned by expand_used_vars after
- return_label.
- * asan.h (asan_emit_stack_protection): New prototype.
- (asan_shadow_set): New decl.
- (ASAN_RED_ZONE_SIZE, ASAN_STACK_MAGIC_LEFT, ASAN_STACK_MAGIC_MIDDLE,
- ASAN_STACK_MAGIC_RIGHT, ASAN_STACK_FRAME_MAGIC): Define.
- (asan_protect_stack_decl): New inline.
- * toplev.c (process_options): Also disable -faddress-sanitizer on
- !FRAME_GROWS_DOWNWARDS targets.
-
-2012-11-12 Jakub Jelinek <jakub@redhat.com>
-
- * asan.c (build_check_stmt): Rename join_bb variable to else_bb.
- (gate_asan_O0): New function.
- (pass_asan_O0): New variable.
- * passes.c (init_optimization_passes): Add pass_asan_O0.
- * tree-pass.h (pass_asan_O0): New declaration.
-
-2012-11-12 Jakub Jelinek <jakub@redhat.com>
- Xinliang David Li <davidxl@google.com>
- Dodji Seketeli <dodji@redhat.com>
-
- * Makefile.in (GTFILES): Add $(srcdir)/asan.c.
- (asan.o): Update the dependencies of asan.o.
- * asan.c (tm.h, tree.h, tm_p.h, basic-block.h, flags.h
- function.h, tree-inline.h, tree-dump.h, diagnostic.h, demangle.h,
- langhooks.h, ggc.h, cgraph.h, gimple.h): Remove these unused but
- included headers.
- (shadow_ptr_types): New variable.
- (report_error_func): Change is_store argument to bool, don't append
- newline to function name.
- (PROB_VERY_UNLIKELY, PROB_ALWAYS): Define.
- (build_check_stmt): Change is_store argument to bool. Emit GIMPLE
- directly instead of creating trees and gimplifying them. Mark
- the error reporting function as very unlikely.
- (instrument_derefs): Change is_store argument to bool. Use
- int_size_in_bytes to compute size_in_bytes, simplify size check.
- Use build_fold_addr_expr instead of build_addr.
- (transform_statements): Adjust instrument_derefs caller.
- Use gimple_assign_single_p as stmt test. Don't look at MEM refs
- in rhs2.
- (asan_init_shadow_ptr_types): New function.
- (asan_instrument): Don't push/pop gimplify context.
- Call asan_init_shadow_ptr_types if not yet initialized.
- * asan.h (ASAN_SHADOW_SHIFT): Adjust comment.
-
-2012-11-12 Jakub Jelinek <jakub@redhat.com>
-
- * toplev.c (process_options): Warn and turn off
- -faddress-sanitizer if not supported by target.
- * asan.c: Include target.h.
- (asan_scale, asan_offset_log_32, asan_offset_log_64,
- asan_offset_log): Removed.
- (build_check_stmt): Use ASAN_SHADOW_SHIFT and
- targetm.asan_shadow_offset ().
- (asan_instrument): Don't initialize asan_offset_log.
- * asan.h (ASAN_SHADOW_SHIFT): Define.
- * target.def (TARGET_ASAN_SHADOW_OFFSET): New hook.
- * doc/tm.texi.in (TARGET_ASAN_SHADOW_OFFSET): Add it.
- * doc/tm.texi: Regenerated.
- * Makefile.in (asan.o): Depend on $(TARGET_H).
- * config/i386/i386.c (ix86_asan_shadow_offset): New function.
- (TARGET_ASAN_SHADOW_OFFSET): Define.
-
-2012-11-12 Wei Mi <wmi@google.com>
- Diego Novillo <dnovillo@google.com>
- Dodji Seketeli <dodji@redhat.com>
-
- * Makefile.in: Add asan.c and its dependencies.
- * common.opt: Add -faddress-sanitizer option.
- * doc/invoke.texi: Document the new flag.
- * passes.c: Add the asan pass.
- * toplev.c (compile_file): Call asan_finish_file.
- * asan.c: New file.
- * asan.h: New file.
- * tree-pass.h: Declare pass_asan.
-
-2012-11-12 Tobias Burnus <burnus@net-b.de>
-
- * diagnostic.c (diagnostic_append_note): Also call va_end when
- inhibit_notes_p is true.
-
-2012-11-12 Bin Cheng <bin.cheng@arm.com>
-
- * gcse.c (struct bb_data): Add new fields, old_pressure, live_in
- and backup.
- (get_regno_pressure_class): Add prototype.
- (update_bb_reg_pressure): New.
- (should_hoist_expr_to_dom): Add new parameter from.
- Monitor the change of reg pressure and use it to drive hoisting.
- (hoist_code): Update LIVE and reg pressure information.
- (calculate_bb_reg_pressure): Initialize live_in and backup.
-
-2012-11-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- * doc/md.texi (Standard Pattern Names For Generation): Fix swapped
- sine and cosine operands in the sincos description.
-
-2012-11-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53512
- * config/sh/sh.md (sincossf3): Fix swapped sin and cos operands.
-
-2012-11-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.md (*movti_internal_rex64): Remove "!" from
- riF->o alternative.
-
-2012-11-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak.
- * config/sparc/sol2.h (TARGET_CPU_niagara4 support): Fix pasto.
-
-2012-11-11 Eric Botcazou <ebotcazou@adacore.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl-optimization/55247
- PR middle-end/55259
- * emit-rtl.c (adjust_address_1): If POINTERS_EXTEND_UNSIGNED > 0,
- handle ZERO_EXTEND.
- * recog.c (offsettable_address_addr_space_p): Likewise.
-
-2012-11-11 Steven Bosscher <steven@gcc.gnu.org>
-
- PR middle-end/55263
- * postreload.c (rest_of_handle_postreload): With non-call exceptions,
- if edges are purged call cleanup_cfg to remove unreachable blocks.
-
-2012-11-11 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi: Copy-edit to use "built-in function" instead
- of "builtin", per GCC coding standards. Also use consistent
- capitalization in titles of sections describing built-in functions.
-
-2012-11-11 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/55238
- * ipa-cp.c (agg_pass_through_permissible_p): New function.
- (propagate_aggs_accross_jump_function): Use it.
- (find_aggregate_values_for_callers_subset): Likewise and relax an
- assert.
-
-2012-11-10 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/47440
- * config/i386/i386.c (check_avx256_stores): Remove.
- (ix86_check_avx256_register): New.
- (ix86_avx_u128_mode_needed): Use ix86_check_avx256_register.
- Check the whole RTX for 256bit registers using for_each_rtx.
- (ix86_check_avx_stores): New.
- (ix86_avx_u128_mode_after): Change mode of CALL RTX to AVX_U128_CLEAN
- if there are no 256bit registers used in the function return register.
- (ix86_avx_u128_mode_entry): Use ix86_check_avx256_register.
- (ix86_avx_u128_mode_exit): Ditto.
-
-2012-11-10 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/48636
- * ipa-inline.c (want_inline_small_function_p): Take aray index hint.
- (edge_badness): Likewise.
- * ipa-inline.h (inline_hints_vals): Add array_index and comments.
- (inline_summary): Add ARRAY_INDEX.
- * ipa-inline-analysis.c (dump_inline_hints): Dump array_index hint.
- (reset_inline_summary): Handle array_index hint.
- (inline_node_duplication_hook): Likewise.
- (dump_inline_summary): Likewise.
- (array_index_predicate): New function.
- (estimate_function_body_sizes): Use it.
- (estimate_node_size_and_time): Use array_index hint.
- (inline_merge_summary, inline_read_section): Likewise.
-
-2012-11-10 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi: Copy-edit to use "bit-field" consistently
- instead of "bitfield" or "bit field".
-
-2012-11-10 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi: Copy-edit to fix incorrect hyphenation phrases
- involving "bit", "byte", "word", "precision", and "floating"
- modifiers.
-
-2012-11-10 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi: Copy-edit to fix incorrect uses of "which"
- and "that" throughout the file.
-
-2012-11-10 Andrew Pinski <apinski@cavium.com>
-
- PR bootstrap/55202
- * configure.ac: Set PLUGIN_LD_SUFFIX to just "ld" if it was "ld-new"
- or "collect-ld".
- * configure: Regenerate.
-
-2012-11-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * expr.c (store_field): Remove TYPE parameter. Remove block of code
- dealing with BLKmode in registers. Reimplement this support using
- pseudo-registers and bit-field techniques.
- (store_constructor_field): Remove TYPE parameter and adjust calls to
- store_field.
- (expand_assignment): Adjust calls to store_field. Add comment.
- (store_expr): Add comment.
- (store_constructor): Adjust calls to store_constructor_field.
- (expand_expr_real_2): Adjust call to store_field.
-
-2012-11-10 Vladimir Makarov <vmakarov@redhat.com>
- Uros Bizjak <ubizjak@gmail.com>
-
- PR target/55247
- * config/i386/i386.md (*movti_internal_rex64): Add "!" to riF->o
- alternative.
-
-2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- PR c++/54413
- * doc/invoke.texi: Document f[no-]ext-numeric-literals flag.
-
-2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/install.texi (sparc64-x-solaris2): Mention MPC as well.
-
-2012-11-09 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386.c (ix86_lra_p): Remove.
- (TARGET_LRA_P): Use hook_bool_void_true.
-
-2012-11-09 Jason Merrill <jason@redhat.com>
-
- * attribs.c (lookup_attribute_spec): Handle getting a TREE_LIST.
-
-2012-11-09 Vladimir Makarov <vmakarov@redhat.com>
-
- PR tree-optimization/55154
- * lra-int.h (LRA_LOSER_COST_FACTOR, LRA_MAX_REJECT): New macros.
- * lra.c (setup_operand_alternative): Use them.
- * lra-constraints.c (LOSER_COST_FACTOR, MAX_OVERALL_COST_BOUND):
- Remove.
- (process_alt_operands): Use LRA_LOSER_COST_FACTOR and LRA_MAX_REJECT.
- Accumulate reject instead of setting for non-const.
- (curr_insn_transform): Initialize best_losers and best_overall by
- INT_MAX.
-
-2012-11-09 Christian Bruel <christian.bruel@st.com>
-
- * config/sh/sh.c (sh_can_use_simple_return_p): Enable with
- -freorder-blocks-and-partition.
-
-2012-11-09 Kenneth Zadeck <zadeck@naturalbridge.com>
-
- * rtl.h (CONST_SCALAR_INT_P): New macro.
- * cfgexpand.c (expand_debug_locations): Changed to use
- CONST_SCALAR_INT_P macro.
- * combine.c (try_combine, subst, make_extraction,
- gen_lowpart_for_combine): Ditto.
- * cselib.c (entry_and_rtx_equal_p, rtx_equal_for_cselib_1): Ditto.
- * dwarf2out.c (loc_descriptor): Ditto.
- * emit-rtl.c (gen_lowpart_common): Ditto.
- * ira-costs.c (record_reg_classes, record_address_regs): Ditto.
- * ira-lives.c (single_reg_class): Ditto.
- * recog.c (simplify_while_replacing, asm_operand_ok,
- constrain_operands): Ditto.
- * reload.c (find_reloads): Ditto.
- * simplify-rtx.c (simplify_unary_operation_1,
- simplify_const_unary_operation, simplify_binary_operation_1,
- simplify_const_binary_operation, simplify_relational_operation_1,
- simplify_subreg): Ditto.
-
-2012-11-09 Steven Bosscher <steven@gcc.gnu.org>
-
- PR middle-end/54385
- * postreload.c (reload_cse_simplify): Return a bool indicating
- whether the CFG was changed.
- (reload_cse_regs_1): Traverse the CFG instead of the insns chain.
- Cleanup the CFG if edges may have been removed.
- (reload_cse_regs): Update.
-
-2012-11-09 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/54472
- * sel-sched-ir.c (has_dependence_note_reg_set): Handle implicit sets.
- (has_dependence_note_reg_clobber, has_dependence_note_reg_use):
- Likewise.
-
-2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/i386/i386.c (release_scratch_register_on_entry): Also adjust
- sp_offset manually.
-
-2012-11-08 Christian Bruel <christian.bruel@st.com>
-
- * tree-ssa-tail-merge.c (replace_block_by): Update bb2 profile count.
- Do not reset dead bb1->frequency.
-
-2012-11-08 Steven Bosscher <steven@gcc.gnu.org>
-
- PR tree-optimization/55191
- * cfganal.c (connect_infinite_loops_to_exit): Call dfs_deadend here.
- (flow_dfs_compute_reverse_execute): Don't call it here.
-
-2012-11-08 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/53145
- * dwarf2out.c (gen_compile_unit_die): Don't call gen_producer_string
- here, instead add "" if producer_string is NULL.
- (dwarf2out_finish): Call gen_producer_string here, unconditionally
- decrease refcount of the old indirect string and set val_str to
- find_AT_string result.
-
- PR debug/54499
- * cgraphunit.c (assemble_thunk): Don't call source_line debug hook
- here, instead call insn_locations_{init,finalize} and initialize
- prologue_location.
-
-2012-11-08 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
-
- PR driver/54789
- * gcc.c (process_command): Use save_switch for synthesized
- -fcompare-debug=* option; mark the switch as known.
-
-2012-11-08 Jakub Jelinek <jakub@redhat.com>
-
- PR target/54308
- * config/rs6000/rs6000.c (legitimate_indirect_address_p): Remove
- inline keyword.
-
-2012-11-08 Bernd Schmidt <bernds@codesourcery.com>
-
- PR rtl-optimization/54850
- * sched-deps.c (find_inc): Add all dependencies from the inc_insn
- to the mem_insn.
-
-2012-11-08 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/48636
- * ipa-inline.c (big_speedup_p): New function.
- (want_inline_small_function_p): Use it.
- (edge_badness): Dump it.
- * params.def (inline-min-speedup): New parameter.
- * doc/invoke.texi (inline-min-speedup): Document.
-
-2012-11-08 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.c (determine_known_aggregate_parts): Skip writes to
- different declarations when tracking writes to a declaration.
-
-2012-11-07 David S. Miller <davem@davemloft.net>
-
- * config/sparc/constraints.md ("U"): Document, in detail,
- which this constraint is necessary.
-
-2012-11-07 Uros Bizjak <ubizjak@gmail.com>
-
- PR middle-end/55235
- * expr.c (store_expr): Do not call emit_block_move for
- non-BLKmode values.
-
-2012-11-07 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/55219
- * fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
- the argument is itself a conditional expression.
-
-2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55122
- * lra-constraints.c (match_reload): Sync values for dead input pseudos.
-
-2012-11-07 Richard Henderson <rth@redhat.com>
-
- * trans-mem.c (pass_ipa_tm): Don't use TODO_update_ssa.
-
-2012-11-07 Peter Bergner <bergner@vnet.ibm.com>
-
- * doc/invoke.texi (-mcpu=power8): Document.
- * config.in (HAVE_AS_POWER8): New.
- * config.gcc: Add cpu_type power8.
- * configure.ac: (HAVE_AS_POWER8): Check for assembler support for
- the POWER8 instructions.
- * configure: Regenerate.
- * config/rs6000/rs6000.h: (ASM_CPU_POWER8_SPEC): Define.
- (ASM_CPU_SPEC): Pass %(asm_cpu_power8) for -mcpu=power8.
- (EXTRA_SPECS): Add asm_cpu_power8 spec string.
- * config/rs6000/rs6000-cpus.def (processor_target_table): Alias
- POWER8 to POWER7.
- * config/rs6000/rs6000-tables.opt: Regenerate.
- * config/rs6000/driver-rs6000.c (ASM_CPU_SPEC): For -mcpu=power8,
- pass %(asm_cpu_power8)/-mpwr8.
- * config/rs6000/aix53.h: Likewise.
- * config/rs6000/aix61.h: Likewise.
-
-2012-11-07 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/55224
- * config/i386/i386.c (ix86_function_ok_for_sibcall): Put back exception
- to make a sibcall if one of the functions has void return type.
-
-2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/53063
- * doc/invoke.texi (Wformat): Update.
-
-2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * optc-gen.awk: Factor code out to...
- * opt-functions.awk (lang_enabled_by): ... this new function.
-
-2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/53063
- * common.opt (Wswitch,Wswitch-default,Wswitch-enum): Move to c.opt.
-
-2012-11-07 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_expand_prologue): Add the missing
- argument 'Pmode' to the 'plus_constant' call.
-
-2012-11-07 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/53787
- * ipa-cp.c (ipcp_value_source): New field offset.
- (ipcp_agg_lattice): New type.
- (ipcp_param_lattices): Likewise, move virt_call from ipcp_lattice here.
- (ipcp_agg_lattice_pool): New variable.
- (ipa_get_parm_lattices): New function.
- (ipa_get_lattice): Turned into ipa_get_scalar_lat, use the above.
- Adjusted all callers.
- (print_lattice): New function.
- (print_all_lattices): Use the above, also print aggregate lattices.
- (set_agg_lats_to_bottom): New function.
- (set_agg_lats_contain_variable): Likewise.
- (set_all_contains_variable): Likewise.
- (initialize_node_lattices): Also handle aggregate lattices, set
- virt_call in ipcp_param_lattices.
- (add_value_source): Handle offsets.
- (add_value_to_lattice): Likewise.
- (add_scalar_value_to_lattice): New function.
- (propagate_vals_accross_pass_through): Use add_scalar_value_to_lattice.
- (propagate_vals_accross_ancestor): Likewise.
- (propagate_accross_jump_function): Renamed to
- propagate_scalar_accross_jump_function, use
- add_scalar_value_to_lattice.
- (set_check_aggs_by_ref): New function.
- (merge_agg_lats_step): Likewise.
- (set_chain_of_aglats_contains_variable): Likewise.
- (merge_aggregate_lattices): Likewise.
- (propagate_constants_accross_call): Also handle aggregate lattices.
- (hint_time_bonus): New function.
- (context_independent_aggregate_values): Likewise.
- (gather_context_independent_values): Also handle agggregate values.
- (agg_jmp_p_vec_for_t_vec): New function.
- (estimate_local_effects): Also handle agggregate values.
- (add_all_node_vals_to_toposort): Likewise.
- (ipcp_propagate_stage): Use struct ipcp_param_lattices.
- (get_clone_agg_value): New function.
- (cgraph_edge_brings_value_p): Also handle agggregate values.
- (create_specialized_node): Likewise.
- (find_more_values_for_callers_subset): Rename to
- find_more_scalar_values_for_callers_subset. Modify dump.
- (copy_plats_to_inter): New function.
- (intersect_with_plats): Likewise.
- (agg_replacements_to_vector): Likewise.
- (intersect_with_agg_replacements): Likewise.
- (find_aggregate_values_for_callers_subset): Likewise.
- (known_aggs_to_agg_replacement_list): Likewise.
- (cgraph_edge_brings_all_scalars_for_node): Likewise.
- (cgraph_edge_brings_all_agg_vals_for_node): Likewise.
- (perhaps_add_new_callers): Old functionality moved to
- cgraph_edge_brings_all_scalars_for_node, call it and
- cgraph_edge_brings_all_agg_vals_for_node.
- (ipcp_val_in_agg_replacements_p): New function.
- (decide_about_value): New function.
- (decide_whether_version_node): A lot of functionality moved to
- decide_about_value. Also handle agggregate values.
- (ipcp_driver): Also allocate ipcp_agg_lattice_pool.
- (pass_ipa_cp): Fill in new entries.
- * ipa-prop.c (ipa_node_agg_replacements): New variable.
- (free_parms_ainfo): New function.
- (ipa_analyze_node): Use free_parms_ainfo to free stuff.
- (ipa_find_agg_cst_for_param): Do not rely on offset ordering.
- (ipa_set_node_agg_value_chain): New function.
- (ipa_node_removal_hook): Also handle ipa_node_agg_replacements.
- (ipa_node_duplication_hook): Likewise.
- (ipa_free_all_structures_after_ipa_cp): Also free ipcp_agg_lattice_pool.
- (ipa_free_all_structures_after_iinln): Likewise.
- (ipa_dump_agg_replacement_values): New function.
- (write_agg_replacement_chain): Likewise.
- (read_agg_replacement_chain): Likewise.
- (ipa_prop_write_all_agg_replacement): Likewise.
- (read_replacements_section): Likewise.
- (ipa_prop_read_all_agg_replacement): Likewise.
- (adjust_agg_replacement_values): Likewise.
- (ipcp_transform_function): Likewise.
- * ipa-prop.h: Also define heap vector of ipa_agg_jf_item_t and of
- ipa_agg_jump_function_t.
- (ipa_node_params): Make lattices an array of ipcp_param_lattices.
- (ipa_agg_replacement_value): New type and its vector.
- (ipa_set_node_agg_value_chain) Declare.
- (ipa_node_agg_replacements): Likewise.
- (ipa_get_agg_replacements_for_node): New function.
- (ipcp_agg_lattice_pool): Declare.
- (ipa_dump_agg_replacement_values): Likewise.
- (ipa_prop_write_all_agg_replacement): Likewise.
- (ipa_prop_read_all_agg_replacement): Likewise.
- (ipcp_transform_function): Likewise.
- * ipa-inline-analysis.c (estimate_ipcp_clone_size_and_time): Pass around
- known aggregates and hints.
- * ipa-inline.h: include ipa-prop.h.
- (estimate_ipcp_clone_size_and_time): Adjust declaration.
- * lto-streamer.h (lto_section_type): New item
- LTO_section_ipcp_transform.
- * lto-section-in.c (lto_section_name): New element ipcp_trans.
- * params.def (PARAM_IPA_CP_LOOP_HINT_BONUS): New parameter.
- * Makefile.in (IPA_INLINE_H): New. Use everywhee instead of
- ipa-inline.h.
-
-2012-11-07 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (enum upper_128bits_state): Remove.
- (check_avx256_store): Use bool pointer argument.
- (ix86_avx_u128_mode_needed): Use note_stores also for CALL insns.
- * config/i386/predicates.md (vzeroupper_operation): Use match_test.
-
-2012-11-07 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_expand_prologue): For the
- load-pair with writeback instruction, replace
- aarch64_set_frame_expr with add_reg_note (REG_CFA_ADJUST_CFA);
- add new local variable 'cfa_reg' and use it.
-
-2012-11-07 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR middle-end/49220
- * mode-switching.c (create_pre_exit): Set short_block if there
- are no copy insns.
-
-2012-11-07 Martin Jambor <mjambor@suse.cz>
-
- * lto-cgraph.c: Include tree-pass.h.
- (lto_output_node): Stream node->ipa_transforms_to_apply.
- (input_node): Likewise.
- * tree-pass.h (passes_by_id): Declare.
- (passes_by_id_size): Likewise.
- * Makefile.in (lto-cgraph.o): Add TREE_PASS_H to dependencies.
-
-2012-11-07 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-analysis.c (true_predicate, single_cond_predicate,
- reset_inline_edge_summary): Fix formatting.
- (account_size_time): Bump up the limit on number of size/time
- entries to 256.
- (estimate_function_body_sizes): Work in reverse postorder.
-
-2012-11-07 David S. Miller <davem@davemloft.net>
-
- PR bootstrap/55211
- Revert:
- * config/sparc/constraints.md ("U"): Delete.
- * config/sparc/sparc.md: Use 'r' constraint instead of 'U'.
- * config/sparc/sync.md: Likewise.
- And revert parts of:
- * doc/md.texi: Sync sparc constraint documentation with reality.
-
-2012-11-07 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (ix86_avx_u128_mode_after): Don't
- look for reg in CALL operand.
-
- PR debug/54693
- * tree-flow.h (propagate_threaded_block_debug_into): New prototype.
- * tree-ssa-threadedge.c (propagate_threaded_block_debug_into): No
- longer static.
- * tree-ssa-loop-ch.c (copy_loop_headers): Use it.
-
-2012-11-06 Sterling Augustine <saugustine@google.com>
-
- * dwarf2out.c (output_comdat_type_unit): Check for OBJECT_FORMAT_ELF.
-
-2012-11-06 Aldy Hernandez <aldyh@redhat.com>
- Richard Henderson <rth@redhat.com>
-
- * cfg-flags.def (TM_UNINSTRUMENTED, TM_ABORT): New.
- * trans-mem.c (PROB_VERY_LIKELY, PROB_UNLIKELY, PROB_LIKELY): New.
- (struct tm_region): Add tm_state, restart_block,
- original_transaction_was_outer.
- (tm_region_init_0): Initialize them.
- (collect_bb2reg, get_bb_regions_instrumented): New.
- (tm_log_emit_save_or_restores): Merge into ...
- (expand_transaction): ... here.
- (generate_tm_state, propagate_tm_flags_out): New.
- (execute_tm_mark): Avoid processing blocks more than once.
- (split_bb_make_tm_edge): Split out from ...
- (make_tm_edge): ... here. And merge the rest into ...
- (expand_block_edges): ... here.
- (execute_tm_edges): Avoid processing blocks more than once.
- (ipa_uninstrument_transaction): New.
- (ipa_tm_scan_calls_transaction): Use it. Rebuild cgraph and ssa.
- (ipa_tm_execute): Init and free original_copy_tables.
- * trans-mem.h (PR_MULTIWAYCODE): New.
- * tree-cfg.c (make_edges): Use EDGE_TM_ABORT.
-
-2012-11-06 Aldy Hernandez <aldyh@redhat.com>
-
- * cfghooks.c (copy_bbs): Handle a null loop_father.
-
- * cgraph.c (cgraph_debug_gimple_stmt): Handle a null
- current_function_decl.
-
-2012-11-06 Richard Henderson <rth@redhat.com>
-
- * tree-ssa-tail-merge.c (find_duplicate): Do not consider
- is_tm_ending_fndecl calls as mergable.
-
-2012-11-06 Sterling Augustine <saugustine@google.com>
- Cary Coutant <ccoutant@google.com>
-
- * common.opt (gno-split-dwarf, gsplit-dwarf): New switches.
- * doc/invoke.texi (Debugging Options): Document them.
- * gcc.c (replace_extension_spec_func): New function.
- (ASM_FINAL_SPEC): Adjust.
- (static_spec_functions): Add new field for replace-extension.
- (check_live_switch): Adjust comment. Add case for 'g'.
- * opts.c (finish_options): Set x_debug_generate_pub_sections based on
- x_dwarf_split_debug_info.
- (common_handle_option): Add case for OPT_gsplit_dwarf.
- * dwarf2out.h (addr_table_entry_struct): Add forward declaration.
- (dw_val_struct): Add val_entry pointer.
- * dwarf2out.c (debug_skeleton_info_section,
- debug_skeleton_abbrev_section, debug_addr_section,
- debug_skeleton_line_section, debug_str_offsets_section): New globals.
- (NOT_INDEXED, NO_INDEX_ASSIGNED): New defines.
- (indirect_string_node): New field index.
- (ate_kind): New enum with fields ate_kind_rtc, ate_kind_rtx_dtprel,
- ate_kind_label.
- (addr_table_entry): New structure and type.
- (dw_loc_list_struct): Add field begin_entry.
- (new_loc_desc): Initialize val_entry.
- (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
- Add cases for DW_OP_GNU_addr_index and DW_OP_const_index.
- (build_cfa_loc): Initialize val_entry.
- (AT_index, add_addr_table_entry, remove_addr_table_entry,
- add_AT_lbl_id): New functions.
- (add_AT_addr, add_AT_range_list): New parameter force_direct.
- (output_die_abbrevs): New function.
- (add_ranges_by_labels): New parameter force_direct.
- (output_line_info): New parameter prologue_only.
- (dtprel_bool): New enum with dtprel_false and dtprel_true.
- (dw_addr_op, new_addr_loc_descr): New functions.
- (DEBUG_DWO_INFO_SECTION, DEBUG_DWO_ABBREV_SECTION,
- DEBUG_ADDR_SECTION, DEBUG_NORM_MACINFO_SECTION,
- DEBUG_DWO_MACINFO_SECTION, DEBUG_MACINFO_SECTION,
- DEBUG_NORM_MACRO_SECTION, DEBUG_DWO_MACRO_SECTION,
- DEBUG_MACRO_SECTION, DEBUG_DWO_LINE_SECTION,
- DEBUG_DWO_LOC_SECTION, DEBUG_NORM_STR_OFFSETS_SECTION,
- DEBUG_DWO_STR_OFFSETS_SECTION, DEBUG_STR_OFFSETS_SECTION,
- DEBUG_DWO_STR_SECTION, DEBUG_NORM_STR_SECTION, DEBUG_STR_SECTION,
- DEBUG_MACRO_SECTION_FLAGS, DEBUG_SKELETON_LINE_SECTION_LABEL,
- DEBUG_SKELETON_INFO_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL
- DEBUG_SKELETON_ABBREV_SECTION_LABEL): New macros.
- (DEBUG_STR_SECTION_FLAGS): Adjust.
- (TEXT_SECTION_LABEL, COLD_TEXT_SECTION_LABEL,
- DEBUG_LINE_SECTION_LABEL, DEBUG_INFO_SECTION_LABEL,
- DEBUG_ABBREV_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL,
- DEBUG_LOC_SECTION_LABEL, DEBUG_RANGES_SECTION_LABEL,
- DEBUG_MACINFO_SECTION_LABEL, DEBUG_MACRO_SECTION_LABEL): Adjust
- indentation.
- (debug_skeleton_abbrev_section_label, debug_addr_section_label,
- debug_skeleton_line_section_label, debug_skeleton_info_section_label):
- New global variables.
- (add_AT_flag, add_AT_int, add_AT_unsigned, add_AT_double, add_AT_vec,
- add_AT_data8): Initialize val_entry.
- (add_AT_low_high_pc): New parameter force_direct. Handle
- dwarf_split_debug_info.
- (set_indirect_string, find_AT_string_form): New functions.
- (AT_string_form): Adjust to call find_AT_string_from.
- (add_AT_die_ref, add_AT_fde_ref, add_AT_loc, add_AT_list):
- Initialize val_entry.
- (addr_index_table): New global variable.
- (addr_table_entry_do_hash, addr_table_entry_eq, add_addr_table_entry,
- init_addr_table_entry, remove_addr_table_entry, index_addr_table_entry,
- remove_loc_list_addr_table_entries): New functions.
- (add_AT_addr, add_AT_lbl_id, add_AT_range_list): New parameter
- force_direct. Handle dwarf_split_debug_info.
- (add_AT_file, add_AT_vms_delta, add_AT_lineptr, add_AT_macptr,
- add_AT_offset): Initialize val_entry.
- (UNRELOCATED_OFFSET, RELOCATED_OFFSET): New defines.
- (size_of_die): Handle dwarf_split_debug_info.
- (size_of_aranges, value_format): Call AT_class. Check AT_index.
- (output_die_abbrevs): New function.
- (output_abbrev_section): Call output_die_abbrevs.
- (new_loc_list): Initialize begin_entry.
- (output_loc_list): Handle dwarf_split_debug_info.
- (output_range_list_offset, output_loc_list_offset,
- output_attr_index_or_value, ): New functions.
- (output_die): Fix call to dw2_asm_output_data. Call
- output_attr_index_or_value and output_range_list_offset.
- Adjust logic around dw_val_class_str.
- (add_top_lebel_skeleton_die_attrs, get_skeleton_type_unit,
- output_skeleton_debug_sections): New functions.
- (output_comdat_type_unit, output_pubname, output_aranges): Handle
- dwarf_split_debug_info.
- (add_ranges_by_labels): New parameter force_direct.
- (mem_loc_descriptor, loc_descr): Call new_addr_loc_descr.
- (loc_list_from_tree, add_const_value_attribtue): Use dtprel_bools in
- place of generic integer.
- (dwarf2out_vms_debug_main_pointer, gen_entry_point_die, gen_label_die,
- gen_call_site_die, gen_subprogram_die, gen_variable_die,
- add_high_low_attributes): Adjust calls to add_AT_lbl_id.
- (output_macinfo_op): Adjust indirect_string_logic.
- (save_macinfo_strings): New function.
- (output_macinfo): Adjust.
- (dwarf2out_init): Handle dwarf_split_debug_info.
- (index_string, output_index_string_offset, output_index_string): New
- functions.
- (output_indirect_string): Adjust.
- (output_indirect_strings, output_addr_table_entry, output_addr_table):
- New functions.
- (resolve_addr_in_expr, hash_loc_operands): Handle DW_OP_GNU_addr_index
- and DW_OP_GNU_const_index. Handle dwarf_split_debug_info. Call
- remove_loc_list_addr_table_entries and remove_addr_table_entry.
- (index_location_lists): New function.
- (dwarf2out_finish): Handle dwarf_split_debug_info. New variable
- main_comp_unit_die. Adjust calls to add_AT_low_high_pc,
- add_ranges_by_labels, add_AT_addr, and add_AT_lineptr. Call
- save_macinfo_strings and output_indirect_strings.
-
-2012-11-06 Gerald Pfeifer <gerald@pfeifer.com>
-
- * config/i386/i386.c (make_dispatcher_decl): Guard with
- ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDIRECT_FUNCTION.
-
-2012-11-06 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-analysis.c (estimate_function_body_sizes,
- inline_update_overall_summary): Cap time calculations.
-
-2012-11-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_init_machine_status): Do not
- explicitly clear tls_descriptor_call_expanded_p again.
-
-2012-11-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md
- (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
- as read and written by the instruction.
-
-2012-11-06 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/54693
- * tree-ssa-threadedge.c (propagate_threaded_block_debug_into):
- Use a stack vector before allocating a pointer set.
-
-2012-11-06 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.c (ipa_get_param_decl_index_1): New function.
- (ipa_get_param_decl_index): Just call ipa_get_param_decl_index_1.
- (ipa_populate_param_decls): Accept descriptors parameter rather
- than the whole info.
- (load_from_unmodified_param): Likewise.
- (ipa_load_from_parm_agg_1): Likewise.
- (ipa_load_from_parm_agg): Extract descriptors from info.
- (compute_complex_assign_jump_func): Likewise.
- (ipa_analyze_indirect_call_uses): Likewise.
-
-2012-11-06 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (compute_uninlined_call_time): Return gcov_type.
- (compute_inlined_call_time): Watch overflows.
- (relative_time_benefit): Compute in gcov_type.
-
-2012-11-06 Jan Hubicka <jh@suse.cz>
-
- * cfgloopanal.c (get_loop_hot_path): New function.
- * tree-ssa-lop-ivcanon.c (struct loop_size): Add CONSTANT_IV,
- NUM_NON_PURE_CALLS_ON_HOT_PATH, NUM_PURE_CALLS_ON_HOT_PATH,
- NUM_BRANCHES_ON_HOT_PATH.
- (tree_estimate_loop_size): Compute the new values.
- (try_unroll_loop_completely): Disable unrolling of loops with only
- calls or too many branches.
- (tree_unroll_loops_completely): Deal also with outer loops of hot loops.
- * cfgloop.h (get_loop_hot_path): Declare.
- * params.def (PARAM_MAX_PEEL_BRANCHES): New parameters.
- * invoke.texi (max-peel-branches): Document.
-
-2012-11-06 Jan Hubicka <jh@suse.cz>
-
- * ipa-pure-const.c (check_stmt): Fix debug info formatting.
-
-2012-11-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
- (ix86_instantiate_decls): New function.
- (ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP
- stack slot instead of SLOT_VIRTUAL.
- <case IX86_BUILTIN_STMXCSR>: Ditto.
- (assign_386_stack_local): Do not assert when virtual slot is valid.
- * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
- * config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
- (truncxf<mode>2): Ditto.
- (floatunssi<mode>2): Ditto.
- (isinf<mode>2): Ditto.
- * config/i386/sync.md (atomic_load<mode>): Ditto.
- (atomic_store<mode>): Ditto.
-
-2012-11-06 Jan Hubicka <jh@suse.cz>
-
- * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound,
- vect_do_peeling_for_alignment): Fix loop bound computation.
- * tree-vect-loop.c (vect_transform_loop): Maintain loop bounds.
-
-2012-11-06 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * config/sh/sh.c (and_xor_ior_costs, addsubcosts): Double the costs for
- ops larger than SImode.
- * config/sh/sh.md (rotcl, *rotcl): New insns and splits.
- (ashldi3_k): Convert to insn_and_split and use new rotcl insn.
-
-2012-11-06 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
-
- PR target/47440
- * config/i386/i386-protos.h (emit_i387_cw_initialization): Delete.
- (emit_vzero): Add prototype.
- (ix86_mode_entry): Likewise.
- (ix86_mode_exit): Likewise.
- (ix86_emit_mode_set): Likewise.
-
- * config/i386/i386.c (typedef struct block_info_def): Delete.
- (define BLOCK_INFO): Delete.
- (check_avx256_stores): Add checking for MEM_P.
- (move_or_delete_vzeroupper_2): Delete.
- (move_or_delete_vzeroupper_1): Delete.
- (move_or_delete_vzeroupper): Delete.
- (ix86_maybe_emit_epilogue_vzeroupper): Delete.
- (function_pass_avx256_p): Delete.
- (ix86_function_ok_for_sibcall): Remove sibcall disabling.
- (nit_cumulative_args): Remove initialization of of avx256 fields of
- cfun->machine.
- (ix86_emit_restore_sse_regs_using_mov): Remove vzeroupper generation.
- (ix86_expand_epilogue): Likewise.
- (ix86_avx_u128_mode_needed): New.
- (ix86_i387_mode_needed): Rename from ix86_mode_needed.
- (ix86_mode_needed): New.
- (ix86_avx_u128_mode_after): New.
- (ix86_mode_after): New.
- (ix86_avx_u128_mode_entry): New.
- (ix86_mode_entry): New.
- (ix86_avx_u128_mode_exit): New.
- (ix86_mode_exit): New.
- (ix86_emit_mode_set): New.
- (ix86_expand_call): Delete vzeroupper generation.
- (ix86_split_call_vzeroupper): Delete.
- (ix86_init_machine_status): Initialize optimize_mode_switching.
- (ix86_expand_special_args_builtin): Change.
- (ix86_reorg): Delete a call of move_or_delete_vzeroupper.
-
- * config/i386/i386.h (VALID_AVX256_REG_OR_OI_MODE): New.
- (AVX_U128): New.
- (avx_u128_state): New.
- (NUM_MODES_FOR_MODE_SWITCHING): Added AVX_U128_ANY.
- (MODE_AFTER): New.
- (MODE_ENTRY): New.
- (MODE_EXIT): New.
- (EMIT_MODE_SET): Change.
- (machine_function): Delete avx256 fields.
-
- * config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): Delete.
- (define_insn_and_split "*call_vzeroupper"): Delete.
- (define_insn_and_split "*call_rex64_ms_sysv_vzeroupper"): Delete.
- (define_insn_and_split "*sibcall_vzeroupper"): Delete.
- (define_insn_and_split "*call_pop_vzeroupper"): Delete.
- (define_insn_and_split "*sibcall_pop_vzeroupper"): Delete.
- (define_insn_and_split "*call_value_vzeroupper"): Delete.
- (define_insn_and_split "*sibcall_value_vzeroupper"): Delete.
- (define_insn_and_split "*call_value_rex64_ms_sysv_vzeroupper"): Delete.
- (define_insn_and_split "*call_value_pop_vzeroupper"): Delete.
- (define_insn_and_split "*sibcall_value_pop_vzeroupper"): Delete.
- (define_expand "return"): Remove vzeroupper emitting.
- (define_expand "simple_return"): Delete.
-
- * config/i386/predicates.md (vzeroupper_operation): New.
-
- * config/i386/sse.md (avx_vzeroupper): Change.
-
-2012-11-06 Uros Bizjak <ubizjak@gmail.com>
- Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/41993
- * mode-switching.c (create_pre_exit): Set return_copy to
- last_insn when copy_start is a pseudo reg.
-
-2012-11-06 Andrey Turetskiy <andrey.turetskiy@gmail.com>
-
- * config/i386/i386.c (bdesc_args): Rename CODE_FOR_avx2_umulhrswv16hi3
- to CODE_FOR_avx2_pmulhrswv16hi3.
- * config/i386/predicates.md (const1_operand): Extend for vectors.
- * config/i386/sse.md (ssse3_avx2): Extend.
- (ssedoublemode): Ditto.
- (<sse2_avx2>_uavg<mode>3): Merge avx2_uavgv32qi3, sse2_uavgv16qi3,
- avx2_uavgv16hi3 and sse2_uavgv8hi3 into one.
- (*<sse2_avx2>_uavg<mode>3): Merge *avx2_uavgv32qi3, *sse2_uavgv16qi3,
- *avx2_uavgv16hi3 and *sse2_uavgv8hi3 into one.
- (PMULHRSW): New.
- (<ssse3_avx2>_pmulhrsw<mode>3): Merge avx2_umulhrswv16hi3,
- ssse3_pmulhrswv8hi3 and ssse3_pmulhrswv4hi3 into one.
- (*avx2_pmulhrswv16hi3): Replace const_vector with const1_operand
- predicate.
- (*ssse3_pmulhrswv8hi3): Ditto.
- (*ssse3_pmulhrswv4hi3): Ditto.
-
-2012-11-06 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * config/epiphany/epiphany.c (epiphany_address_cost):
- Use MODE parameter.
-
-2012-11-05 Sriraman Tallam <tmsriram@google.com>
-
- * doc/tm.texi.in (TARGET_OPTION_FUNCTION_VERSIONS): New hook
- description.
- * (TARGET_COMPARE_VERSION_PRIORITY): New hook description.
- * (TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): New hook description.
- * (TARGET_GENERATE_VERSION_DISPATCHER_BODY): New hook description.
- * doc/tm.texi: Regenerate.
- * target.def (compare_version_priority): New target hook.
- * (generate_version_dispatcher_body): New target hook.
- * (get_function_versions_dispatcher): New target hook.
- * (function_versions): New target hook.
- * cgraph.c (cgraph_fnver_htab): New htab.
- (cgraph_fn_ver_htab_hash): New function.
- (cgraph_fn_ver_htab_eq): New function.
- (version_info_node): New pointer.
- (insert_new_cgraph_node_version): New function.
- (get_cgraph_node_version): New function.
- (delete_function_version): New function.
- (record_function_versions): New function.
- * cgraph.h (cgraph_node): New bitfield dispatcher_function.
- (cgraph_function_version_info): New struct.
- (get_cgraph_node_version): New function.
- (insert_new_cgraph_node_version): New function.
- (record_function_versions): New function.
- (delete_function_version): New function.
- (init_lowered_empty_function): Expose function.
- * tree.h (DECL_FUNCTION_VERSIONED): New macro.
- (tree_function_decl): New bit-field versioned_function.
- * cgraphunit.c (cgraph_analyze_function): Generate body of multiversion
- function dispatcher.
- (cgraph_analyze_functions): Analyze dispatcher function.
- (init_lowered_empty_function): Make non-static. New parameter in_ssa.
- (assemble_thunk): Add parameter to call to init_lowered_empty_function.
- * config/i386/i386.c (add_condition_to_bb): New function.
- (get_builtin_code_for_version): New function.
- (ix86_compare_version_priority): New function.
- (feature_compare): New function.
- (dispatch_function_versions): New function.
- (ix86_function_versions): New function.
- (attr_strcmp): New function.
- (ix86_mangle_function_version_assembler_name): New function.
- (ix86_mangle_decl_assembler_name): New function.
- (make_name): New function.
- (make_dispatcher_decl): New function.
- (is_function_default_version): New function.
- (ix86_get_function_versions_dispatcher): New function.
- (make_attribute): New function.
- (make_resolver_func): New function.
- (ix86_generate_version_dispatcher_body): New function.
- (fold_builtin_cpu): Return integer for cpu builtins.
- (TARGET_MANGLE_DECL_ASSEMBLER_NAME): New macro.
- (TARGET_COMPARE_VERSION_PRIORITY): New macro.
- (TARGET_GENERATE_VERSION_DISPATCHER_BODY): New macro.
- (TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): New macro.
- (TARGET_OPTION_FUNCTION_VERSIONS): New macro.
-
-2012-11-05 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * recog.c (extract_insn): Enabled alternative defaults to 1.
-
-2012-11-05 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (print_reg): Replace REX_INT_REG_P with
- REX_INT_REGNO_P.
-
-2012-11-05 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/54986
- * gimple-fold.c (canonicalize_constructor_val): Strip again all no-op
- conversions on entry but add them back on exit if needed.
-
-2012-11-05 Andreas Schwab <schwab@linux-m68k.org>
-
- * final.c (final_scan_insn) [HAVE_cc0]: Handle all comparison
- codes in non-jump and cmove insn.
-
-2012-11-05 Uros Bizjak <ubizjak@gmail.com>
- Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
-
- * mode-switching.c (create_pre_exit): Force late switching if
- __builtin_{apply,return} emitted a load that require mode,
- other than MODE_EXIT.
-
-2012-11-05 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/55204
- * config/i386/i386.c (ix86_address_subreg_operand): Remove stack
- pointer check.
- (print_reg): Use true_regnum rather than REGNO.
- (ix86_print_operand_address): Remove SUBREG handling.
-
-2012-11-05 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-loop-niter.c (finite_loop_p): Revamp to be just wrapper of
- max_loop_iterations.
-
-2012-11-05 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * reorg.c (fill_simple_delay_slots): Avoid calling optimize_skip
- with a return instruction.
-
-2012-11-05 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55151
- * lra-constraints.c (process_alt_operands): Permit putting reg
- value into memory. Increase reject for this case.
-
-2012-11-05 Dehao Chen <dehao@google.com>
-
- * final.c (reemit_insn_block_notes): Do not change scope if insn
- location is UNKNOWN_LOCATION.
-
-2012-11-05 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * doc/md.texi (Defining Attributes): Document that we are defining
- HAVE_ATTR_name macros as 1 for defined attributes, and as 0
- for undefined special attributes.
- * final.c (asm_insn_count, align_fuzz): Always define.
- (insn_current_reference_address): Likewise.
- (init_insn_lengths): Use if (HAVE_ATTR_length) instead of
- #ifdef HAVE_ATTR_length.
- (get_attr_length_1, shorten_branches, final): Likewise.
- (final_scan_insn, output_asm_name): Likewise.
- * genattr.c (gen_attr): Define HAVE_ATTR_name macros for
- defined attributes as 1.
- Remove ancient get_attr_alternative compatibility code.
- For special purpose attributes not provided, define HAVE_ATTR_name
- as 0.
- In case no length attribute is given, provide stub definitions
- for insn_*_length* functions, and also include insn-addr.h.
- In case no enabled attribute is given, provide stub definition.
- * genattrtab.c (write_length_unit_log): Always write a definition.
- * hooks.c (hook_int_rtx_1, hook_int_rtx_unreachable): New functions.
- * hooks.h (hook_int_rtx_1, hook_int_rtx_unreachable): Declare.
- * lra-int.h (struct lra_insn_recog_data): Make member
- alternative_enabled_p unconditional.
- * lra.c (free_insn_recog_data): Use if (HAVE_ATTR_length) instead of
- #ifdef HAVE_ATTR_length.
- (lra_set_insn_recog_data): Likewise. Make initialization of
- alternative_enabled_p unconditional.
- (lra_update_insn_recog_data): Use #if instead of #ifdef for
- HAVE_ATTR_enabled.
- * recog.c [!HAVE_ATTR_enabled] (get_attr_enabled): Don't define.
- (extract_insn): Check HAVE_ATTR_enabled.
- (gate_handle_split_before_regstack): Use #if instead of
- #if defined for HAVE_ATTR_length.
-
-2012-11-05 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (compute_uninlined_call_time,
- compute_inlined_call_time): New functions.
- (RELATIVE_TIME_BENEFIT_RANGE): New macro.
- (relative_time_benefit): Rewrite.
- (edge_badness): Rewrite path with guessed profile and estimated profile.
- * ipa-inline.h (INLINE_HINT_declared_inline, INLINE_HINT_cross_module):
- New hints.
- (struct inline_summary): Add GROWTH filed.
- * ipa-inline-analysis.c (dump_inline_hints): Update.
- (reset_inline_summary): Update.
- (dump_inline_summary): Update.
- (will_be_nonconstant_predicate): Cleanup to use gimple_store_p and
- gimple_assign_load_p predicates.
- (estimate_node_size_and_time): Drop INLINE_HINT_declared_inline hint.
- (simple_edge_hints): New function.
- (do_estimate_edge_time): Return time of invocation of callee rather
- than the time scaled by edge frequency; update hints code.
- (do_estimate_edge_hints): Update.
- (do_estimate_growth): Cleanup.
-
-2012-11-05 Jakub Jelinek <jakub@redhat.com>
-
- PR target/55194
- * dwarf2out.c (value_format) <case dw_val_class_high_pc>: Handle
- also DWARF2_ADDR_SIZE 1 and 2.
-
-2012-11-05 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-loop-niter.c (find_loop_niter): Remove just_once_each_iteration_p.
- (maybe_lower_iteration_bound): Initialize not_executed_last_iteration to NULL
- * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables): Skip
- just_once_each_iteration_p; record estimated bound when loop has only one
- likely exit; test just_once_each_iteration_p before IV canon itself.
-
-2012-11-05 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (leaf_node_p): Rename to ...
- (num_calls) ... this one.
- (want_early_inline_function_p): Allow smal growth on non-leafs.
-
-2012-11-05 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/54402
- * var-tracking.c (fp_setter): Return false if there is REG_CFA_RESTORE
- hfp note.
- (vt_initialize): Look for fp_setter in any bb, not just successor of
- entry bb.
-
-2012-11-05 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.h (TARGET_CACHE32, TARGET_HARVARD): Delete macro.
- (TARGET_SUPERSCALAR): Add TARGET_SH2A.
- (CACHE_LOG): Use TARGET_HARD_SH4 and TARGET_SH5 instead of
- TARGET_CACHE32.
- (TRAMPOLINE_ALIGNMENT): Use TARGET_HARD_SH4 and TARGET_SH5 instead of
- TARGET_HARVARD.
- * config/sh/sh.c (sh_trampoline_init): Likewise.
-
-2012-11-05 David Edelsohn <dje.gcc@gmail.com>
-
- * system.h (loc_t): Poison.
-
-2012-11-05 Marc Glisse <marc.glisse@inria.fr>
-
- * fold-const.c (fold_unary_loc): Disable conversion optimization
- for void type.
-
-2012-11-04 Thomas Schwinge <thomas@codesourcery.com>
-
- * configure: Regenerate.
-
-2012-11-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * combine.c: Adjust toplevel comment.
- (make_extraction): Adjust head comment and move up canonicalization.
-
-2012-11-04 Alexandre Oliva <aoliva@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR debug/54693
- * tree-ssa-loop-ivopts.c (remove_unused_ivs): Emit debug temps
- for dropped IV sets.
-
-2012-11-04 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/54693
- * tree-ssa-threadedge.c (propagate_threaded_block_debug_into):
- New, rewritten from debug stmt copying code...
- (thread_around_empty_block): ... removed from here.
- (thread_across_edge): Call propagate_threaded_block_debug_into.
-
-2012-11-04 Dehao Chen <dehao@google.com>
-
- * expr.c (expand_expr_real_1): Change to not using input_location.
-
-2012-11-03 Jan Hubicka <jh@suse.cz>
-
- * invoke.texi (profile-use): update documentation.
- * opts.c (common_handle_option): Enable tree-vectorize
- and tree-loop-distribute-patterns.
- * tree-loop-distribution.c (tree_loop_distribution): Skip loops
- optimized for size.
- * config/i386/i386.c (ix86_option_override_internal): Enabe
- prefetch_lop_arrays for profile-use.
-
-2012-11-03 Robert Mason <rbmj@verizon.net>
-
- * gcov-io.c (gcov_open): Add file mode to open call (need for VxWorks)
-
-2012-11-03 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi: Copy-edit to use present tense except when
- explicitly describing future or past behavior.
-
-2012-11-03 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.c (output_movedouble, output_far_jump,
- output_ieee_ccmpeq): Use multi-line strings for asm.
- (find_regmode_weight): Wrap lines.
- (sh_optimize_target_register_callee_saved): Remove commented out
- variable.
- (emit_load_ptr): Remove prototype.
-
-2012-11-03 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/sh.md (*cbranch_t): Allow splitting after reload.
- Allow going beyond current basic block before reload when looking for
- the reg set insn.
- * config/sh/sh.c (sh_find_set_of_reg): Don't stop at labels.
-
-2012-11-02 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk): Add
- missing sign to unsigned.
-
-2012-11-02 Andrew Pinski <apinski@cavium.com>
-
- PR rtl-opt/54524
- * simplify-rtx.c (simplify_relational_operation_1): Don't simplify
- (LTU/GEU (PLUS a 0) 0) into (GEU/LTU a 0) since they are not
- equivalent.
-
-2012-11-02 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-loop-niter.c (double_int_cmp, bound_index,
- discover_iteration_bound_by_body_walk): New functions.
- (discover_iteration_bound_by_body_walk): Use it.
-
-2012-11-02 Jan Hubicka <jh@suse.cz>
-
- * predict.c (predict_loops): Predict also exits not dominating latch.
-
-2012-11-02 Jan Hubicka <jh@suse.cz>
-
- * predict.c (predict_loops): Do not predict infinite loops.
-
-2012-11-02 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/55079
- * tree-ssa-loop-niter.c (number_of_iterations_exit): Update
- MAX field if NITER was folded to contant.
- (record_estimate): Sanity check.
- * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): New
- function.
- (remove_redundant_iv_test): New function.
- (loops_to_unloop, loops_to_unloop_nunroll): New static vars.
- (unloop_loops): Break out from ...
- (try_unroll_loop_completely): ... here; Pass in MAXITER; use
- remove_exits_and_undefined_stmts; do not unloop.
- (canonicalize_loop_induction_variables): Compute MAXITER;
- use remove_redundant_iv_test; remove loop_close_ssa_invalidated
- and irred_invalidated arguments.
- (canonicalize_induction_variables): Compute fresh bound estimates;
- unloop; walk from innermost.
- (tree_unroll_loops_completely): Likewise.
-
-2012-11-02 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/55130
- * lra-constraints.c (debug_loc_equivalence_change_p): Rename to
- loc_equivalence_change_p.
- (lra_constraints): Check equiv_insn_bitmap for debug insn. Call
- loc_equivalence_change_p for non-transformed insn.
-
-2012-11-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * cfg-flags.def (ABNORMAL_CALL): Fix comment.
- (EH): Likewise.
- (SIBCALL): Likewise.
- * cfgrtl.c (rtl_verify_flow_info_1): Adjust error messages.
- Deal with EDGE_SIBCALL and fix the EDGE_ABNORMAL check.
-
-2012-11-02 Jakub Jelinek <jakub@redhat.com>
-
- PR target/55147
- * config/i386/i386.md (bswapdi2): Limit to TARGET_64BIT.
- (*bswapdi2_doubleword): Removed.
-
-2012-11-02 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/install.texi (Specific): Remove moxie web reference.
-
-2012-11-01 Marc Glisse <marc.glisse@inria.fr>
-
- PR middle-end/55001
- * tree-vect-generic.c (expand_vector_condition): New function.
- (expand_vector_operations_1): Call it.
-
-2012-11-01 Steve Ellcey <sellcey@mips.com>
-
- * target-globals.c (save_target_globals): Save lra_int struct.
-
-2012-11-01 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/standards.texi (Standards): Adjust reference to Go specification.
-
-2012-11-01 Lawrence Crowl <crowl@google.com>
-
- * ebitmap.h: Remove unused.
- * ebitmap.c: Remove unused.
- * Makefile.in: Remove ebitmap.h and ebitmap.c.
- * sbitmap.h (SBITMAP_SIZE_BYTES): Move to source file.
- (SET_BIT_WITH_POPCOUNT): Remove unused.
- (RESET_BIT_WITH_POPCOUNT): Remove unused.
- (bitmap_copy_n): Remove unused.
- (bitmap_range_empty_p): Remove unused.
- (sbitmap_popcount): Remove unused.
- (sbitmap_verify_popcount): Make private to source file.
- * sbitmap.c (SBITMAP_SIZE_BYTES): Move here from header.
- (bitmap_copy_n): Remove unused.
- (bitmap_range_empty_p): Remove unused.
- (sbitmap_popcount): Remove unused.
- (sbitmap_verify_popcount): Make private to source file.
-
-2012-11-01 Lawrence Crowl <crowl@google.com>
-
- * sbitmap.h (sbitmap_iter_init): Rename bmp_iter_set_init and add
- unused parameter to match bitmap iterator. Update callers.
- (sbitmap_iter_cond): Rename bmp_iter_set. Update callers.
- (sbitmap_iter_next): Rename bmp_iter_next and add unused parameter to
- match bitmap iterator. Update callers.
- (EXECUTE_IF_SET_IN_SBITMAP_REV): Remove unused.
- (EXECUTE_IF_SET_IN_SBITMAP): Rename EXECUTE_IF_SET_IN_BITMAP and
- adjust to be identical to the definition in bitmap.h. Conditionalize
- the definition based on not having been defined. Update callers.
- * bitmap.h (EXECUTE_IF_SET_IN_BITMAP): Conditionalize the definition
- based on not having been defined. (To match the above.)
-
-2012-11-01 Lawrence Crowl <crowl@google.com>
-
- * sbitmap.h (TEST_BIT): Rename bitmap_bit_p, normalizing parameter
- type. Update callers to match.
- (SET_BIT): Rename bitmap_set_bit, normalizing parameter type. Update
- callers to match.
- (SET_BIT_WITH_POPCOUNT): Rename bitmap_set_bit_with_popcount,
- normalizing parameter type. Update callers to match.
- (RESET_BIT): Rename bitmap_clear_bit, normalizing parameter type.
- Update callers to match.
- (RESET_BIT_WITH_POPCOUNT): Rename bitmap_clear_bit_with_popcount,
- normalizing parameter type. Update callers to match.
- * basic-block.h (sbitmap_intersection_of_succs): Rename
- bitmap_intersection_of_succs. Update callers to match.
- * basic-block.h (sbitmap_intersection_of_preds): Rename
- bitmap_intersection_of_preds. Update callers to match.
- * basic-block.h (sbitmap_union_of_succs): Rename
- bitmap_union_of_succs. Update callers to match.
- * basic-block.h (sbitmap_union_of_preds): Rename
- bitmap_union_of_preds. Update callers to match.
-
-2012-11-01 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/55150
- * lra-constraints.c (lra_constraints): Check only pseudos with
- equivalences. Add insns with equivalence pseudos.
-
-2012-11-01 Sharad Singhai <singhai@google.com>
-
- PR other/55164
- * dumpfile.h (struct dump_file_info): Fix order of flags.
-
-2012-11-01 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/55104
- * ipa-inline-transform.c (inline_call): Silence an sanity check until
- ipa-cp issue if fixed.
-
-2012-11-01 Sharad Singhai <singhai@google.com>
-
- * doc/invoke.texi: Update -fopt-info documentation.
- * dumpfile.c: Move dump_flags here from passes.c.
- Rename opt_info_options to optinfo_verbosity_options.
- Add optgroup_options.
- (dump_files): Add field for optinfo_flags in the static initializer.
- (dump_register): Handle additional parameter for optgroup_flags.
- (opt_info_enable_passes): Renamed opt_info_enable_all. Handle
- optgroup_flags. Fix documentation.
- (opt_info_switch_p_1): Handle optgroup options.
- (opt_info_switch_p): Handle optgroup_flags. Warn on multiple files.
- * dumpfile.h (dump_register): Additional argument for optgroup_flags.
- All callers updated.
- (struct dump_file_info): Add field for optgroup_flags.
- Define OPTGROUP_* flags.
- * tree-pass.h (struct opt_pass): Add addtional field for optinfo_flags.
- All opt_pass static initializers updated.
- * opts-global.c (dump_remap_tree_vectorizer_verbose): Use 'all'
- instead of 'optall'.
- (handle_common_deferred_options): Fix typo in error message.
- * passes.c (register_one_dump_file): Add argument for optgroup_flags.
- Turn on OPTGROUP_IPA for IPA passes.
- Move dump_flags from here to dumpfile.c.
- * statistics.c (statistics_early_init): Use OPTGROUP_NONE in call to
- dump_register.
-
-2012-11-01 Joern Rennecke <joern.rennecke@embecosm.com>
-
- PR target/55160
- * config/sh/sh.md (doloop_end): Use emit_jump_insn.
-
-2012-10-31 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53708
- * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
- user-supplied alignment when used with an explicit section name.
-
-2012-10-31 Dehao Chen <dehao@google.com>
-
- * tree-eh.c (do_return_redirection): Set location for jump statement.
- (do_goto_redirection): Likewise.
- (frob_into_branch_around): Likewise.
- (lower_try_finally_nofallthru): Likewise.
- (lower_try_finally_copy): Likewise.
- (lower_try_finally_switch): Likewise.
- * expr.c (store_expr): Use current insn location instead of expr
- location.
- (expand_expr_real): Likewise.
- (expand_expr_real_1): Likewise.
-
-2012-10-31 Easwaran Raman <eraman@google.com>
-
- PR target/54938
- PR middle-end/54957
- * optabs.c (emit_cmp_and_jump_insn_1): Add REG_BR_PROB note
- only if it doesn't already exist.
- * stmt.c (get_outgoing_edge_probs): Return 0 if BB is NULL.
- (emit_case_dispatch_table): Handle the case where STMT_BB is NULL.
- (expand_sjlj_dispatch_table): Pass BB containing before_case
- to emit_case_dispatch_table.
-
-2012-10-31 Lawrence Crowl <crowl@google.com>
-
- * is-a.h: New.
- (is_a <T> (U*)): New. Test for is-a relationship.
- (as_a <T> (U*)): New. Treat as a derived type.
- (dyn_cast <T> (U*)): New. Conditionally cast based on is_a.
- * cgraph.h (varpool_node): Rename to varpool_node_for_decl.
- Adjust callers to match.
- (is_a_helper <cgraph_node>::test (symtab_node_def *)): New.
- (is_a_helper <varpool_node>::test (symtab_node_def *)): New.
- (symtab_node_def::try_function): New. Change most calls to
- symtab_function_p with calls to dyn_cast <cgraph_node> (p).
- (symtab_node_def::try_variable): New. Change most calls to
- symtab_variable_p with calls to dyn_cast <varpool_node> (p).
- (symtab_function_p): Remove. Change callers to use
- is_a <cgraph_node> (p) instead.
- (symtab_variable_p): Remove. Change callers to use
- is_a <varpool_node> (p) instead.
- * cgraph.c (cgraph_node_for_asm): Remove redundant call to
- symtab_node_for_asm.
- * cgraphunit.c (symbol_finalized_and_needed): New.
- (symbol_finalized): New.
- (cgraph_analyze_functions): Split complicated conditionals out into
- above new functions.
- * Makefile.in (CGRAPH_H): Add is-a.h as used by cgraph.h.
-
-2012-10-31 Steven Bosscher <steven@gcc.gnu.org>
- Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/55018
- * basic-block.h (dfs_find_deadend): New prototype.
- * cfganal.c (dfs_find_deadend): No longer static. Use bitmap
- instead of sbitmap for visited.
- (flow_dfs_compute_reverse_execute): Use dfs_find_deadend here, too.
- * dominance.c (calc_dfs_tree): If saw_unconnected, traverse from
- dfs_find_deadend of unconnected b instead of b directly.
-
-2012-10-31 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/i386/i386.c (ix86_expand_prologue): Emit frame info for the
- special register pushes before frame probing and allocation.
-
-2012-10-31 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/55150
- * lra-constraints.c (lra_constraints): Update debug insn info
- after equivalence change.
-
-2012-10-31 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (ipa_inline): Avoid infinite loop on inlining
- empty virtual functions calling themselves.
-
-2012-10-31 Tom Tromey <tromey@redhat.com>
-
- PR other/50899
- * doc/gcc.texi: Add @direntry for gcov.
-
-2012-10-31 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * expr.c (can_move_by_pieces): Apply ATTRIBUTE_UNUSED to len.
-
-2012-10-31 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/19105
- PR tree-optimization/21643
- PR tree-optimization/46309
- * tree-ssa-reassoc.c (init_range_entry): Add STMT argument
- and use it if EXP is NULL.
- (update_range_test): Handle OPCODE equal to ERROR_MARK and oe->op NULL.
- (optimize_range_tests): Likewise.
- (final_range_test_p, suitable_cond_bb, no_side_effect_bb, get_ops,
- maybe_optimize_range_tests): New functions.
- (reassociate_bb): Call maybe_optimize_range_tests if last
- stmt of bb is GIMPLE_COND that hasn't been visited yet.
-
-2012-10-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/rs6000/rs6000.md (insvsi, insvdi, extvsi, extvdi): Rename
- to...
- (insvsi_internal, insvdi_internal, extvsi_internal)
- (extvdi_internal): ...this.
- (insv, extv): Update accordingly.
-
-2012-10-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * combine.c (simplify_comparison): If BITS_BIG_ENDIAN, always assume
- that zero_extracts of const_ints are doing word-sized extractions.
-
-2012-10-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * combine.c (make_extraction): Remove dead wanted_inner_mode-
- and pos_rtx-related code.
-
-2012-10-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * expmed.c (store_bit_field_1): Move generation of MEM insvs
- to the MEM_P block.
- (extract_bit_field_1): Likewise extvs and extzvs.
-
-2012-10-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * expmed.c (store_bit_field_using_insv): New function,
- split out from...
- (store_bit_field_1): ...here.
- (extract_bit_field_using_extv): New function, split out from...
- (extract_bit_field_1): ...here.
-
-2012-10-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * expmed.c (store_bit_field_1): Use OP_MODE to check whether an
- insv pattern is available. Remove redundant checks for OP_MODE
- being MAX_MACHINE_MODE.
- (extract_bit_field_1): Remove redundant checks for EXT_MODE being
- MAX_MACHINE_MODE.
-
-2012-10-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * expmed.c (store_bit_field_1): Remove test for BLKmode values.
-
-2012-10-31 Ralf Corsépius <ralf.corsepius@rtems.org>,
- Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * config/sparc/t-rtems: New (Custom multilibs).
- * config/sparc/t-rtems-64: New (Custom multilibs).
- * config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64.
- (sparc-*-rtems*): Add sparc/t-rtems.
-
-2012-10-31 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (legitimize_reload_address): Remove code
- handling non-aligned ld/std.
- * config/rs6000/paired.md (movv2sf_paired): Use 'Y' instead of 'o'.
- * config/rs6000/vsx.md (vsx_mov, vsx_movti): Likewise.
- * config/rs6000/altivec.md (altivec_mov, altivec_movti): Likewise.
- * config/rs6000/dfp.md (movtd_internal): Use 'm' instead of 'o'.
-
-2012-10-31 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/linux64.h (TARGET_OS_CPP_BUILTINS): Define _CALL_LINUX.
-
-2012-10-31 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * lra-constraints.c (choose_split_class): Add ATTRIBUTE_UNUSED to
- hard_reg_class.
-
- PR target/52498
- * vmsdbgout.c (vmsdbgout_write_source_line): Comment out names of
- last two parameters.
-
-2012-10-30 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/54551
- PR debug/54693
- * valtrack.c (dead_debug_promote_uses): Assert-check that
- global used bit was clear and initialize entry unconditionally.
-
-2012-10-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in
- head comment.
- (hash_rtx): Likewise.
-
-2012-10-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl-optimization/55093
- * rtlanal.c (simplify_subreg_regno): Remove lra_in_progress
- check for ARG_POINTER_REGNUM.
-
-2012-10-30 Steve Ellcey <sellcey@mips.com>
-
- * config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Change order
- and add mabi=64.
- (DRIVER_SELF_SPECS): Make -n32 the default on mips64* archs.
- * config/mips/t-mti-linux (MULTILIB_OPTIONS): Change order.
- (MULTILIB_DIRNAMES): Ditto.
- (MULTILIB_EXCEPTIONS): New.
-
-2012-10-30 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * lra-constraints.c (check_secondary_memory_needed_p):
- Add ATTRIBUTE_UNUSED to parameters.
-
-2012-10-30 Richard Sandiford <rdsandiford@googlemail.com>
-
- * defaults.h (SLOW_UNALIGNED_ACCESS): Provide default definition.
- * expmed.c (SLOW_UNALIGNED_ACCESS): Remove default definition.
- * expr.c (SLOW_UNALIGNED_ACCESS): Likewise.
- * lra-constraints.c (SLOW_UNALIGNED_ACCESS): Likewise.
- (simplify_operand_subreg): Don't check STRICT_ALIGNMENT here.
-
-2012-10-30 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-analysis.c (eliminated_by_inlining_prob): Cleanup.
-
-2012-10-30 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-loop-niter.c (number_of_iterations_exit): New parameter
- EVERY_ITERATION with implicit value of true.
- (record_estimate): Check dominance relationship of the basic block
- we are estimating on instead of relying on UPPER to be false.
- (struct ilb_data): Drop RELIABLE.
- (idx_infer_loop_bounds): Update.
- (infer_loop_bounds_from_ref): Drop parameter RELIABLE.
- (infer_loop_bounds_from_array): Drop parameter RELIABLE.
- (infer_loop_bounds_from_undefined): Update comments and handling
- of RELIABLE.
- (estimate_numbers_of_iterations_loop): Record all bounds.
-
-2012-10-30 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * lra-eliminations.c (lra_eliminate_regs_1): Use simplify_gen_subreg
- rather than gen_rtx_SUBREG.
-
-2012-10-30 Richard Biener <rguenther@suse.de>
-
- * gimple.h (gimple_store_p): New predicate.
- (gimple_assign_load_p): Likewise.
- * tree-inline.c (estimate_num_insns): Use it.
-
-2012-10-30 Marc Glisse <marc.glisse@inria.fr>
-
- * fold-const.c (fold_binary_op_with_conditional_arg): Handle vectors.
- (fold_binary_loc): Call it for VEC_COND_EXPR.
-
-2012-10-30 James Greenhalgh <james.greenhalgh@arm.com>
- Tejas Belagod <tejas.belagod@arm.com>
-
- * config/aarch64/aarch64-simd.md
- (aarch64_simd_bsl<mode>_internal): New pattern.
- (aarch64_simd_bsl<mode>): Likewise.
- (aarch64_vcond_internal<mode>): Likewise.
- (vcondu<mode><mode>): Likewise.
- (vcond<mode><mode>): Likewise.
- * config/aarch64/iterators.md (UNSPEC_BSL): Add to define_constants.
-
-2012-10-30 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55111
- * tree-ssa-pre.c (eliminate_insert): Properly fold the built stmt.
-
-2012-10-30 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54963
- * config/sh/iterators.md (SIDI): New mode iterator.
- * config/sh/sh.md (negdi2): Use parallel around operation and T_REG
- clobber in expander.
- (*negdi2): Mark output operand as early clobbered. Add T_REG clobber.
- Split after reload. Simplify split code.
- (abssi2, absdi2): Fold expanders into abs<mode>2.
- (*abssi2, *absdi2): Fold into *abs<mode>2 insn_and_split. Split insns
- before reload.
- (*negabssi2, *negabsdi2): Fold into *negabs<mode>2. Add T_REG clobber.
- Split insns before reload.
- (negsi_cond): Reformat. Use emit_move_insn instead of gen_movesi.
- (negdi_cond): Reformat. Use emit_move_insn instead of a pair
- of gen_movsi. Split insn before reload.
-
-2012-10-30 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53988
- * config/sh/sh.md (tstqi_t_zero): Rename to *tstqi_t_zero.
- (*tst<mode>_t_zero): New insns.
- * config/sh/iterators.md (lowpart_be, lowpart_le): New mode attributes.
-
-2012-10-30 H.J. Lu <hongjiu.lu@intel.com>
-
- * gimple-pretty-print.c (dump_gimple_bb_header): Avoid alloca.
-
-2012-10-30 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/54953
- * valtrack.h (DEBUG_TEMP_AFTER_WITH_REG_FORCE): New.
- * valtrack.c (dead_debug_insert_temp): Use emit_debug_insn_after
- even for where == DEBUG_TEMP_AFTER_WITH_REG_FORCE.
- * dce.c (word_dce_process_block, dce_process_block): Pass
- DEBUG_TEMP_AFTER_WITH_REG_FORCE if insn is needed and therefore
- not going to be eliminated.
-
-2012-10-29 Lawrence Crowl <crowl@google.com>
-
- * sbitmap.h (sbitmap_copy): Rename bitmap_copy.
- (sbitmap_copy_n): Rename bitmap_copy_n.
- (sbitmap_equal): Rename bitmap_equal_p.
- (sbitmap_empty_p): Rename bitmap_empty_p.
- (sbitmap_range_empty_p): Rename bitmap_range_empty_p.
- (sbitmap_zero): Rename bitmap_clear.
- (sbitmap_ones): Rename bitmap_ones.
- (sbitmap_vector_zero): Rename bitmap_vector_clear.
- (sbitmap_vector_ones): Rename bitmap_vector_ones.
- (sbitmap_not): Rename bitmap_not.
- (sbitmap_a_and_b_cg): Commented out.
- (sbitmap_a_and_b): Rename bitmap_and. Add bool return.
- (sbitmap_difference): Rename bitmap_and_compl.
- (sbitmap_a_or_b_cg): Commented out.
- (sbitmap_a_or_b): Rename bitmap_xor. Add bool return.
- (sbitmap_a_xor_b_cg): Commented out.
- (sbitmap_a_xor_b): Rename bitmap_xor. Add bool return.
- (sbitmap_a_and_b_or_c_cg): Rename bitmap_and_or.
- (sbitmap_a_and_b_or_c): Commented out.
- (sbitmap_a_or_b_and_c_cg): Rename bitmap_or_and.
- (sbitmap_a_or_b_and_c): Commented out.
- (sbitmap_union_of_diff_cg): Rename bitmap_ior_and_compl.
- (sbitmap_union_of_diff): Commented out.
- (dump_sbitmap): Rename dump_bitmap.
- (dump_sbitmap_file): Rename dump_bitmap_file.
- (debug_sbitmap): Rename debug_bitmap.
- (dump_sbitmap_vector): Rename dump_bitmap_vector.
- (sbitmap_first_set_bit): Rename bitmap_first_set_bit.
- (sbitmap_last_set_bit): Rename bitmap_last_set_bit.
- (sbitmap_a_subset_b_p): Rename bitmap_subset_p.
- (sbitmap_any_common_bits): Rename bitmap_intersect_p.
- (#define sbitmap_free): Reimplement as inline function.
- (#define sbitmap_vector_free): Reimplement as inline function.
- * bitmap.h (#define bitmap_zero): Remove as redundant.
- (#define bitmap_empty_p): Reimplement as inline function.
- (#define dump_bitmap): Reimplement as inline function.
-
-2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/54930
- * doc/invoke.texi (Warning Options): Document -Wno-return-local-addr.
-
-2012-10-29 H.J. Lu <hongjiu.lu@intel.com>
-
- * lra-assigns.c: Remove trailing white spaces.
- * lra-coalesce.c: Likewise.
- * lra-constraints.c: Likewise.
- * lra-eliminations.c: Likewise.
- * lra-int.h: Likewise.
- * lra-spills.c: Likewise.
- * lra.c: Likewise.
-
-2012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/53066
- * tree.h (FUNCTION_POINTER_TYPE_P): New.
-
-2012-10-29 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/54693
- * valtrack.c (dead_debug_insert_temp): Defer rescan of
- newly-emitted debug insn.
-
-2012-10-29 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/54693
- * tree-ssa-threadedge.c (thread_around_empty_block): Copy
- debug temps from predecessor before threading.
-
-2012-10-29 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/54551
- PR debug/54693
- * valtrack.c (dead_debug_global_find): Accept NULL dtemp.
- (dead_debug_global_insert): Return new entry.
- (dead_debug_global_replace_temp): Return early if REG is no
- longer in place, or if dtemp was already substituted.
- (dead_debug_promote_uses): Insert for all defs and replace all
- debug uses at once.
- (dead_debug_local_finish): Release used after promotion.
- (dead_debug_insert_temp): Stop if dtemp is NULL.
-
-2012-10-29 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/54693
- * loop-unroll.c (loop_exit_at_end_p): Skip debug insns.
-
-2012-10-29 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/54693
- * config/i386/i386.c (add_parameter_dependencies): Stop
- backward scan at the insn before the incoming head.
- (ix86_dependencies_evaluation_hook): Skip debug insns. Stop
- if first_arg is head.
-
-2012-10-29 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_load_tp): New proto.
- * config/aarch64/aarch64.c (aarch64_load_tp): Export.
- (aarch64_init_builtins): Don't add __builtin_thread_pointer builtin.
- * config/aarch64/aarch64.h (aarch64_builtins): Delete
- AARCH64_BUILTIN_THREAD_POINTER.
- * config/aarch64/aarch64.md (get_thread_pointerdi): New pattern.
-
-2012-10-29 Marc Glisse <marc.glisse@inria.fr>
-
- PR middle-end/55027
- * tree.c (real_zerop, real_onep, real_twop, real_minus_onep):
- Handle VECTOR_CST.
-
-2012-10-29 Vladimir Makarov <vmakarov@redhat.com>
-
- * rtlanal.c (strip_address_mutation): Use SUBREG_REG instead of XEXP.
-
-2012-10-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_decompose_address): Use simplify_gen_subreg
- for all addresses, zero-extended with AND.
-
-2012-10-29 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/55116
- * rtlanal.c (strip_address_mutation): Add SUBREG case.
-
-2012-10-29 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (want_inline_function_called_once_p): Rename to ...
- (want_inline_function_to_all_callers_p): check also functions with
- multiple callers.
- (ipa_inline): Handle inlining for size into multiple callers.
-
-2012-10-29 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53695
- * tracer.c (tracer): Fixup loop structure.
- * cfgloopmanip.c (force_single_succ_latches): Add assert.
- (fix_loop_structure): Re-compute loop latches and disambiguate
- loops with multiple latches if required.
-
-2012-10-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_decompose_address): Use simplify_gen_subreg
- to check SImode equivalent of address, zero-extended with AND RTX.
- * config/i386/i386.md (ashift to lea splitter): Split to SImode mult.
- (simple lea to add/shift peephole2s): Remove peephole2s that operate
- on subregs of DImode operations.
-
-2012-10-28 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55106
- * lra-constraints.c (skip_usage_debug_insns): New function.
- (check_secondary_memory_needed_p): Ditto.
- (inherit_reload_reg): Use the new functions. Improve debug output.
-
-2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/cpp.texi (Search Path): Fix outdated C++ path.
-
-2012-10-28 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-analysis.c (eliminated_by_inlining_prob): Handle
- &this->field expressions.
-
-2012-10-28 Vladimir Makarov <vmakarov@redhat.com>
-
- * rtl.h (struct rtx_def): Add a comment for member unchanging.
- * lra-int.h (LRA_TEMP_CLOBBER_P): New macro.
- (lra_hard_reg_substitution): Rename to lra_final_code_change.
- * lra-constraints.c (match_reload): Mark temporary clobbers.
- * lra-spill.c (lra_hard_reg_substitution): Rename to
- lra_final_code_change. Remove temporary clobbers.
- * lra.c (lra): Rename to lra_final_code_change.
-
-2012-10-28 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (edge_badness): Fix overflow.
- (inline_small_functions): Initialize SCCs correctly.
- (do_estimate_edge_time, do_estimate_edge_hints): Skip self
- recursive functions in SCC hints.
-
-2012-10-28 Steven Bosscher <steven@gcc.gnu.org>
-
- PR rtl-optimization/38711
- * ira.c (ira): Remove DF_LIVE if the problem is in the stack.
- (do_reload): Add it back at the end for -O2 and higher.
-
- * function.c (thread_prologue_and_epilogue_insns): Use
- REG_SET_TO_HARD_REG_SET instead of CLEAR_HARD_REG_SET and
- reg_set_to_hard_reg_set.
-
-2012-10-28 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (edge_badness): Reduce precision; use scc hints.
- (inline_small_functions): Fix dumps; update all callees after inlining.
- * ipa-inline.h (INLINE_HINT_in_scc, INLINE_HINT_same_scc): New
- constants.
- (inline summary): Add SCC_NO.
- * ipa-inline-analysis.c (dump_inline_hints): Dump SCC hints.
- (reset_inline_summary): Reset scc_no.
- (estimate_node_size_and_time): Set in_scc hint.
- (do_estimate_edge_time): Add same_scc hint.
- (do_estimate_edge_hints): Likewise.
-
-2012-10-28 Andreas Schwab <schwab@linux-m68k.org>
-
- * doc/cppopts.texi: Fix use of @item vs. @itemx inside @table.
- * doc/extend.texi: Likewise.
- * doc/generic.texi: Likewise.
- * doc/invoke.texi: Likewise.
- * doc/md.texi: Likewise.
- * doc/sourcebuild.texi: Likewise.
-
- * doc/tm.texi.in (Misc): Add newline before @end.
- * doc/tm.texi: Update.
-
-2012-10-27 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * lra-assigns.c (find_hard_regno_for): Fix use of WORDS_BIG_ENDIAN.
-
-2012-10-27 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/55034
- * config/avr/avr.c (avr_out_lpm): Remove unused regno_dest.
-
-2012-10-27 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/55042
- * config/sh/sh.c (sh1_builtin_p): Comment out unused function.
-
-2012-10-27 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*lea<mode>): Remove unneeded temporary.
-
-2012-10-26 David S. Miller <davem@davemloft.net>
-
- * config/sparc/constraints.md: Update unused letter list, move
- "w" near other memory constraints. Remove no longer relevant
- comment.
- * doc/md.texi: Sync sparc constraint documentation with reality.
-
-2012-10-26 DJ Delorie <dj@redhat.com>
-
- * config/rl78/rl78.c (rl78_as_legitimate_address): Do not allow
- reg+addend addresses for the _far namespace.
-
-2012-10-26 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/sync.md (ATOMIC): Correct DI condition.
-
-2012-10-26 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/54970
- * cfgexpand.c (expand_debug_expr): Expand &MEM_REF[&var, n]
- as DEBUG_IMPLICIT_PTR + n if &var expands to DEBUG_IMPLICIT_PTR.
- * tree-sra.c (create_access_replacement): Allow also MEM_REFs
- with ADDR_EXPR first operand in DECL_DEBUG_EXPR expressions.
- * var-tracking.c (track_expr_p): Handle MEM_REFs in DECL_DEBUG_EXPR
- expressions.
- * dwarf2out.c (add_var_loc_to_decl): Likewise.
-
-2012-10-26 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadedge.c (cond_arg_set_in_bb): Use last stmt.
-
-2012-10-26 Gunther Nikl <gnikl@users.sourceforge.net>
-
- * common/config/m68k/m68k-common.c (m68k_handle_option): Set
- gcc_options fields of opts_set for -m68020-40 and -m68020-60.
-
-2012-10-26 Teresa Johnson <tejohnson@google.com>
-
- * ree.c (add_removable_extension): Remove unnecessary
- mode check with other extension.
- * testsuite/gcc.c-torture/execute/20111227-2.c: New test.
- * testsuite/gcc.c-torture/execute/20111227-3.c: Ditto.
-
-2012-10-26 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-transform.c (inline_call): Only account size changes
- for !DECL_EXTERNAL.
-
-2012-10-26 Martin Jambor <mjambor@suse.cz>
-
- PR debug/54971
- * tree-sra.c (struct access): New flag grp_to_be_debug_replaced.
- (dump_access): Dump the new flag.
- (analyze_access_subtree): Set the new flag when appropriate.
- (create_access_replacement): Handle debug replacements differently.
- (generate_subtree_copies): Handle the grp_to_be_debug_replaced flag.
- (init_subtree_with_zero): Likewise.
- (sra_modify_expr): Likewise.
- (load_assign_lhs_subreplacements): Likewise.
- (sra_modify_assign): Likewise.
-
-2012-10-23 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * config/i386/i386.c (insn_is_function_arg) : Add check on CALL
- instruction.
- (ix86_dependencies_evaluation_hook): Insert dependencies in all
- predecessors of call block for non-trivial region avoiding creation
- of loop-carried dependency to avoid cross-block motion of HW registers.
-
-2012-10-26 Richard Biener <rguenther@suse.de>
-
- PR middle-end/54824
- * tree-optimize.c (execute_fixup_cfg): Insert __builtin_unreachable
- at the end of blocks with no successors.
-
-2012-10-26 Alexander Ivchenko <alexander.ivchenko@intel.com>
- Uros Bizjak <ubizjak@gmail.com>
-
- * common/config/i386/i386-common.c
- (OPTION_MASK_ISA_FXSR_SET): New.
- (OPTION_MASK_ISA_XSAVE_SET): Likewise.
- (OPTION_MASK_ISA_XSAVEOPT_SET): Likewise.
- (ix86_handle_option): Handle mfxsr, mxsave, mxsaveopt options.
- * config.gcc (i[34567]86-*-*): Add fxsrintrin.h,
- xsaveintrin.h, xsaveoptintrin.h.
- (x86_64-*-*): Likewise.
- * config/i386/fxsrintrin.h: New header.
- * config/i386/xsaveintrin.h: Likewise.
- * config/i386/xsaveoptintrin.h: Likewise.
- * config/i386/driver-i386.c (host_detect_local_cpu): Detect
- FXSR/XSAVE/XSAVEOPT support.
- * config/i386/i386-builtin-types.def
- (VOID_FTYPE_PVOID_INT64): New function type.
- * config/i386/i386-c.c: Define __FXSR__, __XSAVE__
- and __XSAVEOPT__ if needed.
- * config/i386/i386.c (ix86_target_string): Define -mfxsr,
- -mxsave and -mxsaveopt options.
- (PTA_FXSR): New.
- (PTA_XSAVE): Likewise.
- (PTA_XSAVEOPT): Likewise.
- (ix86_option_override_internal): Handle new option.
- (processor_alias_table): Added PTA_FXSR, PTA_XSAVE, PTA_XSAVEOPT.
- (ix86_valid_target_attribute_inner_p): Add OPT_mfxsr,
- OPT_mxsave, OPT_mxsaveopt.
- (ix86_builtins): Add IX86_BUILTIN_FXSAVE, IX86_BUILTIN_FXRSTOR,
- IX86_BUILTIN_FXSAVE64, IX86_BUILTIN_XSAVE, IX86_BUILTIN_XSAVE64,
- IX86_BUILTIN_XRSTOR, IX86_BUILTIN_XRSTOR64, IX86_BUILTIN_XSAVEOPT,
- IX86_BUILTIN_XSAVEOPT64.
- (ix86_expand_builtin): Handle these built-ins.
- * config/i386/i386.h (TARGET_FXSR): New.
- (TARGET_XSAVE): Likewise.
- (TARGET_XSAVEOPT): Likewise.
- * config/i386/i386.md (ANY_XSAVE): New int iterator.
- (ANY_XSAVE64): Likewise.
- (xsave): New int attribute.
- (fxsave): New instruction.
- (fxsave64): Likewise.
- (fxrstor): Likewise.
- (fxrstor64): Likewise.
- (<xsave>): Likewise.
- (<xsave>_rex64): Likewise.
- (xrstor): Likewise.
- (xrstor_rex64): Likewise.
- (xrstor64): Likewise.
- * config/i386/i386.opt (mfxsr): New.
- (mxsave): Likewise.
- (mxsaveopt): Likewise.
- * config/i386/x86intrin.h: Include
- xsaveintrin.h, fxsrintrin.h, xsaveoptintrin.h.
-
-2012-10-26 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * config/avr/t-rtems: Revert previous commit.
-
-2012-10-26 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR bootstrap/55049
- * Makefile.in (rtlanal.o): Add dependency on addresses.h.
- * rtl.h (address_info): New structure.
- (strip_address_mutations, decompose_address, decompose_lea_address)
- (decompose_mem_address, update_address, get_index_scale)
- (get_index_code): Declare.
- * rtlanal.c: Include addresses.h.
- (strip_address_mutations, must_be_base_p, must_be_index_p)
- (set_address_segment, set_address_base, set_address_index)
- (set_address_disp, decompose_incdec_address, decompose_automod_address)
- (extract_plus_operands, baseness, decompose_normal_address)
- (decompose_address, decompose_lea_address, decompose_mem_address)
- (update_address, get_index_scale, get_index_code): New functions.
- * lra-constraints.c (strip_subreg): New function.
- (address, extract_loc_address_regs, extract_address_regs)
- (get_index_scale): Delete.
- (process_addr_reg): Apply strip_subreg to the location.
- (uses_hard_regs_p): Use decompose_mem_address.
- (valid_address_p, base_plus_disp_to_reg, can_add_disp_p)
- (equiv_address_substitution): Take an address_info rather
- than an address. Remove other arguments. Avoid using Pmode.
- (process_address): Use decompose_mem_address and decompose_lea_address.
- Update calls to above functions.
-
-2012-10-26 Richard Sandiford <rdsandiford@googlemail.com>
-
- * lra-constraints.c (process_address): Tighten arguments to
- base_reg_class. Use simplify_gen_binary to generate PLUS rtxes.
-
-2012-10-26 Richard Sandiford <rdsandiford@googlemail.com>
-
- * lra-constraints.c (get_index_scale, can_add_disp_p): New functions.
- (equiv_address_substitution): Use them.
-
-2012-10-26 Richard Sandiford <rdsandiford@googlemail.com>
-
- * lra-constraints.c (valid_address_p): New function, split out from...
- (process_address): ...here.
-
-2012-10-26 Richard Sandiford <rdsandiford@googlemail.com>
-
- * lra-constraints.c (process_address): Describe the kinds of address
- that we might see.
-
-2012-10-25 Vladimir Makarov <vmakarov@redhat.com>
-
- * lra-int.h (lra_assert): Redefine it gcc_checking_assert.
- * lra-constraints.c (check_and_process_move): Remove #if
- ENABLE_ASSERT_CHECKING.
-
-2012-10-26 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
- __USE_INIT_FINI__.
- * config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.
-
-2012-10-25 David S. Miller <davem@davemloft.net>
-
- * config/sparc/constraints.md ("U"): Delete.
- * config/sparc/sparc.md: Use 'r' constraint instead of 'U'.
- * config/sparc/sync.md: Likewise.
-
-2012-10-25 Lawrence Crowl <crowl@google.com>
-
- * hash-table.h: Add usage documentation.
- (template struct typed_free_remove): Clarify documentation.
- Rename template parameter.
- (struct typed_noop_remove): Likewise.
- (descriptor concept): Change typedef T to value_type.
- Add typedef compare_type. Use more precise template parameter name,
- Descriptor instead of Descr. Update users to match.
- (struct hash_table): Change 'find' parameters to use compare_type
- instead of the value type.
-
-2012-10-25 Jan Hubicka <jh@suse.cz>
-
- * ipa-cp.c (ipcp_discover_new_direct_edges): If something was turned
- to direct call update the summary.
- * ipa-inline-transform.c (inline_call): Sanity check that summaries
- match the predicted effect; fix updating of summary after edge
- redirection.
- * ipa-inline-analysis.c (inline_node_duplication_hook): Do not try
- to update the summary and recompute it instead.
- (estimate_function_body_sizes): Fix self size estimation; double
- check that it agrees with inline_update_overall_summary.
- (estimate_edge_size_and_time): Handle devirtualizaiton costs.
- (estimate_edge_devirt_benefit): Update to be called from
- estimate_edge_size_and_time.
- (estimate_calls_size_and_time): Update.
- (estimate_node_size_and_time): Watch overflows.
- (inline_merge_summary): Likewise.
- * ipa-prob.c: Include ipa-inline.h
- (ipa_make_edge_direct_to_target): After redirection update the summary.
-
-2012-10-25 Cary Coutant <ccoutant@google.com>
-
- PR debug/55063
- * dwarf2out.c (prune_unused_types_prune): Check whether DIE is
- already a declaration.
-
-2012-10-25 Vladimir Makarov <vmakarov@redhat.com>
-
- * lra-assigns.c (assign_by_spills): Add non-reload pseudos
- assigned to hard register to changed_pseudo_bitmap.
-
-2012-10-25 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * config.gcc (microblaze*-*-rtems*): New target.
- * config/microblaze/rtems.h: New.
- * config/microblaze/t-rtems: New.
-
-2012-10-25 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimize/54980
- * tree-ssa-loop-ivcanon.c (constant_after_peeling): Fix obvious typo.
- (loop_edge_to_cancel): Be sure that the edge is from an conditional
- so we can cancel it.
-
-2012-10-25 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/54427
- * tree.c (signed_or_unsigned_type_for): Handle vectors.
-
-2012-10-25 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (recursive_inlining): Redirect to master
- clone before testing profitability.
-
-2012-10-25 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/54902
- * tree-ssa-pre.c (fini_eliminate): Return TODO.
- (do_pre): Adjust.
- (execute_fre): Likewise.
- * tree-ssa-tailmerge.c (tail_merge_optimize): Delete unreachable
- blocks before computing dominators.
-
-2012-10-25 Richard Sandiford <rdsandiford@googlemail.com>
-
- * expr.c (emit_block_move_via_loop): Use simplify_gen_binary
- rather than gen_rtx_PLUS.
-
-2012-10-24 Vladimir Makarov <vmakarov@redhat.com>
-
- PR bootstrap/55068
- PR regression/55050
- * ira.c (setup_reg_renumber): Fix assert.
- * ira-emit.c (emit_move_list): Update equivalences only for LRA.
-
-2012-10-24 Vladimir Makarov <vmakarov@redhat.com>
-
- PR bootstrap/55067
- * lra.c: Rename loc to sloc and loc_t to sloc_t.
-
-2012-10-24 Sharad Singhai <singhai@google.com>
-
- * config/rs6000/rs6000.c (rs6000_density_test): Use dump_enabled_p
- instead of dump_kind_p.
-
-2012-10-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c++/54928
- * tree-diagnostic.c (maybe_unwind_expanded_macro_loc):
- Use diagnostic_append_note.
- * diagnostic.c (diagnostic_build_prefix): Make diagnostic const.
- (default_diagnostic_finalizer): Do not destroy prefix here.
- (diagnostic_report_diagnostic): Destroy it here.
- (diagnostic_append_note): New.
- * diagnostic.h (diagnostic_append_note): Declare.
-
-2012-10-24 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55055
- * lra-spills.c (alter_subregs): New function.
- (lra_hard_reg_substitution): Use it.
-
-2012-10-24 Sharad Singhai <singhai@google.com>
-
- * dumpfile.c (dump_enabled_p): Make it inline and move the definition
- to dumpfile.h.
- (dump_kind_p): Deleted. Functionality replaced by dump_enabled_p.
- Make alt_dump_file extern.
- * dumpfile.h (dump_enabled_p): Move inline definition here.
- (dump_kind_p): Delete declaration.
- Add extern declaration of alt_dump_file.
- * toplev.c: Move dump_file and dump_file_name to dumpfile.c.
- * tree-vect-loop-manip.c: Replace all uses of dump_kind_p with
- dump_enabled_p.
- * tree-vectorizer.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-patterns.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tree-vect-slp.c: Likewise.
-
-2012-10-24 Richard Sandiford <rdsandiford@googlemail.com>
-
- * expmed.c (lowpart_bit_field_p): Add missing == 0 check.
-
-2012-10-24 Vladimir Makarov <vmakarov@redhat.com>
-
- PR bootstrap/55049
- * lra-constraints.c (extract_loc_address_regs): Pass top_p for
- ZERO_EXTEND operand.
-
-2012-10-24 Vladimir Makarov <vmakarov@redhat.com>
-
- PR bootstrap/55048
- * lra-constraints.c (update_ebb_live_info): Skip
- non-NOTE_INSN_BASIC_BLOCK notes.
-
-2012-10-24 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/55010
- * cse.c (fold_rtx) <RTX_COMPARE>: Call copy_rtx on folded_arg{0,1}
- before passing it to simplify_relational_operation.
-
- PR debug/54828
- * gimple.h (is_gimple_sizepos): New inline function.
- * gimplify.c (gimplify_one_sizepos): Use it. Remove useless
- final assignment to expr variable.
- * tree.c (RETURN_TRUE_IF_VAR): Return true also if
- !TYPE_SIZES_GIMPLIFIED (type) and _t is going to be gimplified
- into a local temporary.
-
-2012-10-23 David S. Miller <davem@davemloft.net>
-
- * config/sparc/constraints.md ("T", "W"): Change
- definitions to use define_memory_constraint. Do not match 'reg'.
- * config/sparc/sparc.c (memory_ok_for_ldd): Remove all non-MEM
- handling code, update comment.
-
-2012-10-23 Ian Lance Taylor <iant@google.com>
-
- * doc/extend.texi (Extended Asm): The '+' constraint does not
- require a register.
-
-2012-10-23 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadedge.c (thread_across_edge): Remove unused
- parameter in call to cond_arg_set_in_bb.
-
- * tree-ssa-threadedge.c (cond_arg_set_in_bb): Remove unused
- debugging argument.
-
- PR tree-optimization/54985
- * tree-ssa-threadedge.c (cond_arg_set_in_bb): New function extracted
- from thread_across_edge.
- (thread_across_edge): Use it in all cases where we might thread
- across a back edge.
-
-2012-10-23 Vladimir Makarov <vmakarov@redhat.com>
-
- * lra-constraints.c (update_ebb_live_info): Process empty blocks.
-
-2012-10-23 Richard Sandiford <rdsandiford@googlemail.com>
-
- * expmed.c (store_split_bit_field): Update the calls to
- extract_fixed_bit_field. In the big-endian case, always
- use the mode of OP0 to count the number of significant bits.
- (extract_bit_field_1): Remove unit, offset, bitpos and
- byte_offset from the outermost scope. Express conditions in terms
- of bitnum rather than offset, bitpos and byte_offset. Move the
- computation of MODE1 to the block that needs it. Use MODE unless
- the TMODE-based mode_for_size calculation succeeds. Split the
- plain move cases into two, one for memory accesses and one for
- register accesses. Generalize the memory case, freeing it from
- the old register-based endian checks. Move the INT_MODE calculation
- above the code that needs it. Use simplify_gen_subreg to handle
- multiword OP0s. If the field still spans several words, pass it
- directly to extract_split_bit_field. Assume after that point
- that both targets and register sources fit within a word.
- Replace x-prefixed variables with non-prefixed forms.
- Compute the bitpos for ext(z)v register operands directly in the
- chosen unit size, rather than going through an intermediate
- BITS_PER_WORD unit size. Simplify the containment check
- used when forcing OP0 into a register. Update the call to
- extract_fixed_bit_field.
- (extract_fixed_bit_field): Replace the bitpos and offset parameters
- with a single bitnum parameter, of the same form as extract_bit_field.
- Assume that OP0 contains the full field. Simplify the memory offset
- calculation and containment check for volatile bitfields. Make the
- offset explicit when volatile bitfields force a misaligned access.
- Remove WARNED and fix long lines. Assert that the processed OP0
- has an integral mode.
- (store_split_bit_field): Update the call to store_fixed_bit_field.
-
-2012-10-23 Richard Sandiford <rdsandiford@googlemail.com>
-
- * expmed.c (lowpart_bit_field_p): New function.
- (store_bit_field_1): Remove unit, offset, bitpos and byte_offset
- from the outermost scope. Express conditions in terms of bitnum
- rather than offset, bitpos and byte_offset. Split the plain move
- cases into two, one for memory accesses and one for register accesses.
- Allow simplify_gen_subreg to fail rather than calling validate_subreg.
- Move the handling of multiword OP0s after the code that coerces VALUE
- to an integer mode. Use simplify_gen_subreg for this case and assert
- that it succeeds. If the field still spans several words, pass it
- directly to store_split_bit_field. Assume after that point that
- both sources and register targets fit within a word. Replace
- x-prefixed variables with non-prefixed forms. Compute the bitpos
- for insv register operands directly in the chosen unit size, rather
- than going through an intermediate BITS_PER_WORD unit size.
- Update the call to store_fixed_bit_field.
- (store_fixed_bit_field): Replace the bitpos and offset parameters
- with a single bitnum parameter, of the same form as store_bit_field.
- Assume that OP0 contains the full field. Simplify the memory offset
- calculation. Assert that the processed OP0 has an integral mode.
- (store_split_bit_field): Update the call to store_fixed_bit_field.
-
-2012-10-23 Paul Koning <ni1d@arrl.net>
-
- PR debug/54508
- * dwarf2out.c (prune_unused_types_prune): If pruning a class and
- not all its children were marked, add DW_AT_declaration flag.
-
-2012-10-23 Ian Bolton <ian.bolton@arm.com>
- James Greenhalgh <james.greenhalgh@arm.com>
- Jim MacArthur <jim.macarthur@arm.com>
- Marcus Shawcroft <marcus.shawcroft@arm.com>
- Nigel Stephens <nigel.stephens@arm.com>
- Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- Richard Earnshaw <rearnsha@arm.com>
- Sofiane Naci <sofiane.naci@arm.com>
- Stephen Thomas <stephen.thomas@arm.com>
- Tejas Belagod <tejas.belagod@arm.com>
- Yufeng Zhang <yufeng.zhang@arm.com>
-
- * config.gcc: Add AArch64.
- * configure.ac: Add AArch64 TLS support detection.
- * configure: Regenerate.
-
-2012-10-23 Ian Bolton <ian.bolton@arm.com>
- James Greenhalgh <james.greenhalgh@arm.com>
- Jim MacArthur <jim.macarthur@arm.com>
- Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
- Marcus Shawcroft <marcus.shawcroft@arm.com>
- Nigel Stephens <nigel.stephens@arm.com>
- Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- Richard Earnshaw <rearnsha@arm.com>
- Sofiane Naci <sofiane.naci@arm.com>
- Stephen Thomas <stephen.thomas@arm.com>
- Tejas Belagod <tejas.belagod@arm.com>
- Yufeng Zhang <yufeng.zhang@arm.com>
-
- * doc/invoke.texi (AArch64 Options): New.
- * doc/md.texi (Machine Constraints): Add AArch64.
-
-2012-10-23 Ian Bolton <ian.bolton@arm.com>
- James Greenhalgh <james.greenhalgh@arm.com>
- Jim MacArthur <jim.macarthur@arm.com>
- Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
- Marcus Shawcroft <marcus.shawcroft@arm.com>
- Nigel Stephens <nigel.stephens@arm.com>
- Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- Richard Earnshaw <rearnsha@arm.com>
- Sofiane Naci <sofiane.naci@arm.com>
- Stephen Thomas <stephen.thomas@arm.com>
- Tejas Belagod <tejas.belagod@arm.com>
- Yufeng Zhang <yufeng.zhang@arm.com>
-
- * common/config/aarch64/aarch64-common.c: New file.
- * config/aarch64/aarch64-arches.def: New file.
- * config/aarch64/aarch64-builtins.c: New file.
- * config/aarch64/aarch64-cores.def: New file.
- * config/aarch64/aarch64-elf-raw.h: New file.
- * config/aarch64/aarch64-elf.h: New file.
- * config/aarch64/aarch64-generic.md: New file.
- * config/aarch64/aarch64-linux.h: New file.
- * config/aarch64/aarch64-modes.def: New file.
- * config/aarch64/aarch64-option-extensions.def: New file.
- * config/aarch64/aarch64-opts.h: New file.
- * config/aarch64/aarch64-protos.h: New file.
- * config/aarch64/aarch64-simd.md: New file.
- * config/aarch64/aarch64-tune.md: New file.
- * config/aarch64/aarch64.c: New file.
- * config/aarch64/aarch64.h: New file.
- * config/aarch64/aarch64.md: New file.
- * config/aarch64/aarch64.opt: New file.
- * config/aarch64/arm_neon.h: New file.
- * config/aarch64/constraints.md: New file.
- * config/aarch64/gentune.sh: New file.
- * config/aarch64/iterators.md: New file.
- * config/aarch64/large.md: New file.
- * config/aarch64/predicates.md: New file.
- * config/aarch64/small.md: New file.
- * config/aarch64/sync.md: New file.
- * config/aarch64/t-aarch64-linux: New file.
- * config/aarch64/t-aarch64: New file.
-
-2012-10-23 Michael Matz <matz@suse.de>
-
- * tree-ssa-operands.h (struct def_optype_d, def_optype_p): Remove.
- (ssa_operands.free_defs): Remove.
- (DEF_OP_PTR, DEF_OP): Remove.
- (struct ssa_operand_iterator_d): Remove 'defs', add 'flags' members,
- rename 'phi_stmt' to 'stmt', 'phi_i' to 'i' and 'num_phi' to 'numops'.
- * gimple.h (gimple_statement_with_ops.def_ops): Remove.
- (gimple_def_ops, gimple_set_def_ops): Remove.
- (gimple_vdef_op): Don't take const gimple, adjust.
- (gimple_asm_input_op, gimple_asm_input_op_ptr,
- gimple_asm_set_input_op, gimple_asm_output_op,
- gimple_asm_output_op_ptr, gimple_asm_set_output_op): Adjust asserts,
- and rewrite to move def operands to front.
- (gimple_asm_clobber_op, gimple_asm_set_clobber_op,
- gimple_asm_label_op, gimple_asm_set_label_op): Correct asserts.
- * tree-ssa-operands.c (build_defs): Remove.
- (init_ssa_operands): Don't initialize it.
- (fini_ssa_operands): Don't free it.
- (cleanup_build_arrays): Don't truncate it.
- (finalize_ssa_stmt_operands): Don't assert on it.
- (alloc_def, add_def_op, append_def): Remove.
- (finalize_ssa_defs): Remove building of def_ops list.
- (finalize_ssa_uses): Don't mark for SSA renaming here, ...
- (add_stmt_operand): ... but here, don't call append_def.
- (get_indirect_ref_operands): Remove recurse_on_base argument.
- (get_expr_operands): Adjust call to get_indirect_ref_operands.
- (verify_ssa_operands): Don't check def operands.
- (free_stmt_operands): Don't free def operands.
- * gimple.c (gimple_copy): Don't clear def operands.
- * tree-flow-inline.h (op_iter_next_use): Adjust to explicitely
- handle def operand.
- (op_iter_next_tree, op_iter_next_def): Ditto.
- (clear_and_done_ssa_iter): Clear new fields.
- (op_iter_init): Adjust to setup new iterator structure.
- (op_iter_init_phiuse): Adjust.
-
-2012-10-23 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * config/arm/arm.c (offset_ok_for_ldrd_strd): Return false for Thumb1.
-
-2012-10-23 Vladimir Makarov <vmakarov@redhat.com>
-
- * dbxout.c (dbxout_symbol_location): Pass new argument to alter_subreg.
- * dwarf2out.c: Include ira.h and lra.h.
- (based_loc_descr, compute_frame_pointer_to_fb_displacement): Use
- lra_eliminate_regs for LRA instead of eliminate_regs.
- * expr.c (emit_move_insn_1): Pass an additional argument to
- emit_move_via_integer. Use emit_move_via_integer for LRA only if
- the insn is recognized.
- * emit-rtl.c (gen_rtx_REG): Add lra_in_progress.
- (validate_subreg): Don't check offset for LRA and floating point modes.
- * final.c (final_scan_insn, cleanup_subreg_operands): Pass new
- argument to alter_subreg.
- (walk_alter_subreg, output_operand): Ditto.
- (alter_subreg): Add new argument.
- * gcse.c (calculate_bb_reg_pressure): Add parameter to
- ira_setup_eliminable_regset call.
- * ira.c: Include lra.h.
- (ira_init_once, ira_init, ira_finish_once): Call lra_start_once,
- lra_init, lra_finish_once in anyway.
- (ira_setup_eliminable_regset): Add parameter. Remove need_fp.
- Call lra_init_elimination and mark HARD_FRAME_POINTER_REGNUM as
- living forever if frame_pointer_needed.
- (setup_reg_class_relations): Set up ira_reg_class_subset.
- (ira_reg_equiv_invariant_p, ira_reg_equiv_const): Remove.
- (find_reg_equiv_invariant_const): Ditto.
- (setup_reg_renumber): Use ira_equiv_no_lvalue_p instead of
- ira_reg_equiv_invariant_p. Skip caps for LRA.
- (setup_reg_equiv_init, ira_update_equiv_info_by_shuffle_insn): New
- functions.
- (ira_reg_equiv_len, ira_reg_equiv): New externals.
- (ira_reg_equiv): New.
- (ira_expand_reg_equiv, init_reg_equiv, finish_reg_equiv): New
- functions.
- (no_equiv, update_equiv_regs): Use ira_reg_equiv instead of
- reg_equiv_init.
- (setup_reg_equiv): New function.
- (ira_use_lra_p): New global.
- (ira): Set up lra_simple_p and ira_conflicts_p. Set up and
- restore flag_caller_saves and flag_ira_region. Move
- initialization of ira_obstack and ira_bitmap_obstack upper. Call
- init_reg_equiv, setup_reg_equiv, and setup_reg_equiv_init instead
- of initialization of ira_reg_equiv_len, ira_reg_equiv_invariant_p,
- and ira_reg_equiv_const. Call ira_setup_eliminable_regset with a
- new argument. Don't flatten IRA IRA for LRA. Don't reassign
- conflict allocnos for LRA. Call finish_reg_equiv.
- (do_reload): Prepare code for LRA call. Call LRA.
- * ira.h (ira_use_lra_p): New external.
- (struct target_ira): Add members x_ira_class_subset_p
- x_ira_reg_class_subset, and x_ira_reg_classes_intersect_p.
- (ira_class_subset_p, ira_reg_class_subset): New macros.
- (ira_reg_classes_intersect_p): New macro.
- (struct ira_reg_equiv): New.
- (ira_setup_eliminable_regset): Add an argument.
- (ira_expand_reg_equiv, ira_update_equiv_info_by_shuffle_insn): New
- prototypes.
- * ira-color.c (color_pass, move_spill_restore, coalesce_allocnos):
- Use ira_equiv_no_lvalue_p.
- (coalesce_spill_slots, ira_sort_regnos_for_alter_reg): Ditto.
- * ira-emit.c (ira_create_new_reg): Call ira_expand_reg_equiv.
- (generate_edge_moves, change_loop) Use ira_equiv_no_lvalue_p.
- (emit_move_list): Simplify code. Call
- ira_update_equiv_info_by_shuffle_insn. Use ira_reg_equiv instead
- of ira_reg_equiv_invariant_p and ira_reg_equiv_const. Change assert.
- * ira-int.h (struct target_ira_int): Remove x_ira_class_subset_p
- and x_ira_reg_classes_intersect_p.
- (ira_class_subset_p, ira_reg_classes_intersect_p): Remove.
- (ira_reg_equiv_len, ira_reg_equiv_invariant_p): Ditto.
- (ira_reg_equiv_const): Ditto.
- (ira_equiv_no_lvalue_p): New function.
- * jump.c (true_regnum): Always use hard_regno for subreg_get_info
- when lra is in progress.
- * haifa-sched.c (sched_init): Pass new argument to
- ira_setup_eliminable_regset.
- * loop-invariant.c (calculate_loop_reg_pressure): Pass new
- argument to ira_setup_eliminable_regset.
- * lra.h: New.
- * lra-int.h: Ditto.
- * lra.c: Ditto.
- * lra-assigns.c: Ditto.
- * lra-constraints.c: Ditto.
- * lra-coalesce.c: Ditto.
- * lra-eliminations.c: Ditto.
- * lra-lives.c: Ditto.
- * lra-spills.c: Ditto.
- * Makefile.in (LRA_INT_H): New.
- (OBJS): Add lra.o, lra-assigns.o, lra-coalesce.o, lra-constraints.o,
- lra-eliminations.o, lra-lives.o, and lra-spills.o.
- (dwarf2out.o): Add dependence on ira.h and lra.h.
- (ira.o): Add dependence on lra.h.
- (lra.o, lra-assigns.o, lra-coalesce.o, lra-constraints.o): New entries.
- (lra-eliminations.o, lra-lives.o, lra-spills.o): Ditto.
- * output.h (alter_subreg): Add new argument.
- * rtlanal.c (simplify_subreg_regno): Permit mode changes for LRA.
- Permit ARG_POINTER_REGNUM and STACK_POINTER_REGNUM for LRA.
- * recog.c (general_operand, register_operand): Accept paradoxical
- FLOAT_MODE subregs for LRA.
- (scratch_operand): Accept pseudos for LRA.
- * rtl.h (lra_in_progress): New external.
- (debug_bb_n_slim, debug_bb_slim, print_value_slim): New prototypes.
- (debug_rtl_slim, debug_insn_slim): Ditto.
- * sdbout.c (sdbout_symbol): Pass new argument to alter_subreg.
- * sched-vis.c (print_value_slim): New.
- * target.def (lra_p): New hook.
- (register_priority): Ditto.
- (different_addr_displacement_p): Ditto.
- (spill_class): Ditto.
- * target-globals.h (this_target_lra_int): New external.
- (target_globals): New member lra_int.
- (restore_target_globals): Restore this_target_lra_int.
- * target-globals.c: Include lra-int.h.
- (default_target_globals): Add &default_target_lra_int.
- * targhooks.c (default_lra_p): New function.
- (default_register_priority): Ditto.
- (default_different_addr_displacement_p): Ditto.
- * targhooks.h (default_lra_p): Declare.
- (default_register_priority): Ditto.
- (default_different_addr_displacement_p): Ditto.
- * timevar.def (TV_LRA, TV_LRA_ELIMINATE, TV_LRA_INHERITANCE): New.
- (TV_LRA_CREATE_LIVE_RANGES, TV_LRA_ASSIGN, TV_LRA_COALESCE): New.
- * config/arm/arm.c (load_multiple_sequence): Pass new argument to
- alter_subreg.
- (store_multiple_sequence): Ditto.
- * config/i386/i386.h (enum ix86_tune_indices): Add
- X86_TUNE_GENERAL_REGS_SSE_SPILL.
- (TARGET_GENERAL_REGS_SSE_SPILL): New macro.
- * config/i386/i386.c (initial_ix86_tune_features): Set up
- X86_TUNE_GENERAL_REGS_SSE_SPILL for m_COREI7 and m_CORE2I7.
- (ix86_lra_p, ix86_register_priority): New functions.
- (ix86_secondary_reload): Add NON_Q_REGS, SIREG, DIREG.
- (inline_secondary_memory_needed): Change assert.
- (ix86_spill_class): New function.
- (TARGET_LRA_P, TARGET_REGISTER_BANK, TARGET_SPILL_CLASS): New macros.
- * config/m68k/m68k.c (emit_move_sequence): Pass new argument to
- alter_subreg.
- * config/m32r/m32r.c (gen_split_move_double): Ditto.
- * config/pa/pa.c (pa_emit_move_sequence): Ditto.
- * config/sh/sh.md: Ditto.
- * config/v850/v850.c (v850_reorg): Ditto.
- * config/xtensa/xtensa.c (fixup_subreg_mem): Ditto.
- * doc/md.texi: Add new interpretation of hint * for LRA.
- * doc/passes.texi: Describe LRA pass.
- * doc/tm.texi.in: Add TARGET_LRA_P, TARGET_REGISTER_PRIORITY,
- TARGET_DIFFERENT_ADDR_DISPLACEMENT_P, and TARGET_SPILL_CLASS.
- * doc/tm.texi: Update.
-
-2012-10-23 Jan Hubicka <jh@suse.cz>
-
- * loop-unroll.c (decide_peel_simple): Simple peeling makes sense even
- with simple loops; bound number of branches only when FDO is not
- available.
- (decide_unroll_stupid): Mention that num_loop_branches heuristics
- is off.
-
-2012-10-23 Nick Clifton <nickc@redhat.com>
-
- PR target/54660
- * config/iq2000/iq2000.c (iq2000_function_arg_advance): Suppress
- compile time warning about pointer printing.
-
-2012-10-23 Joseph Myers <joseph@codesourcery.com>
-
- * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
- *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu): Use
- glibc-c.o in c_target_objs and cxx_target_objs. Use t-glibc in
- tmake_file. Set target_has_targetcm.
- (tilegx-*-linux*, tilepro-*-linux*): Append to c_target_objs and
- cxx_target_objs rather than overriding previous value.
- * config/glibc-c.c, config/t-glibc: New.
- * doc/tm.texi.in (TARGET_C_PREINCLUDE): New @hook.
- * doc/tm.texi: Regenerate.
- * hooks.c (hook_constcharptr_void_null): New.
- * hooks.h (hook_constcharptr_void_null): Declare.
-
-2012-10-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/mips/linux-common.h (STACK_CHECK_STATIC_BUILTIN): Define.
- (STACK_CHECK_PROTECT): Likewise.
- * config/mips/mips.h (MIPS_PROLOGUE_TEMP2_REGNUM): Likewise.
- (MIPS_PROLOGUE_TEMP2): Likewise.
- * config/mips/mips-protos.h (mips_output_probe_stack_range): Declare.
- * config/mips/mips.c: Include common/common-target.h.
- (mips_emit_probe_stack_range): New function.
- (mips_output_probe_stack_range): Likewise.
- (mips_expand_prologue): Invoke mips_emit_probe_stack_range if static
- builtin stack checking is enabled.
- * config/mips/mips.md (UNSPEC_PROBE_STACK_RANGE): New constant.
- (probe_stack_range_<P:mode>): New insn.
-
-2012-10-23 Marc Glisse <marc.glisse@inria.fr>
-
- * tree-ssa-forwprop.c (forward_propagate_into_cond): Handle vectors.
- * fold-const.c (fold_relational_const): Handle VECTOR_CST.
- * doc/generic.texi (VEC_COND_EXPR): Document current policy.
-
-2012-10-23 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/54937
- * tree-ssa-loop-niter.c (record_estimate): Do not try to lower
- the bound of non-is_exit statements.
- (maybe_lower_iteration_bound): Do it here.
- (estimate_numbers_of_iterations_loop): Call it.
-
-2012-10-23 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/54967
- * cfgloopmanip.c (fix_bb_placements): Add loop_closed_ssa_invalidated;
- track basic blocks that moved out of their loops.
- (unloop): Likewise.
- (remove_path): Update.
- (fix_loop_placements): Update.
- * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add
- loop_closed_ssa_invalidated parameter; pass it around.
- (canonicalize_loop_induction_variables): Update loop closed
- SSA form if needed.
- (tree_unroll_loops_completely): Likewise; do irred update out of
- the outer loop; verify that SSA form is closed.
- * cfgloop.h (unrloop): Update.
-
-2012-10-23 Terry Guo <terry.guo@arm.com>
-
- PR target/55019
- * config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with
- live argument regs.
-
-2012-10-23 Hans-Peter Nilsson <hp@bitrange.com>
-
- PR middle-end/55030
- Revert:
- * stmt.c (expand_nl_goto_receiver): Remove almost-copy of
- expand_builtin_setjmp_receiver.
- (expand_label): Adjust, call expand_builtin_setjmp_receiver
- with NULL for the label parameter.
- * builtins.c (expand_builtin_setjmp_receiver): Don't clobber
- the frame-pointer. Adjust comments.
- [HAVE_builtin_setjmp_receiver]: Emit builtin_setjmp_receiver
- only if LABEL is non-NULL.
-
-2012-10-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/55008
- * gimple-ssa-strength-reduction.c (find_basis_for_candidate):
- Don't allow a candidate to be a basis for itself under another
- interpretation.
-
-2012-10-22 Sharad Singhai <singhai@google.com>
-
- * dumpfile.c (dump_phase_enabled_p): Renamed dump_enabled_p. Update
- all callers.
- (dump_enabled_p): A new function to check if any of the dump files
- is available.
- (dump_kind_p): Remove check for current_function_decl. Add check for
- dumpfile and alt_dump_file.
- * dumpfile.h: Add declaration of dump_enabled_p.
-
-2012-10-22 Richard Biener <rguenther@suse.de>
-
- PR lto/55021
- * tree-streamer-in.c (unpack_ts_int_cst_value_fields): Remove
- bogus truncations.
-
-2012-10-22 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (memory_address_length): Assert that non-null
- base or index RTXes are registers. Do not check for REG RTXes.
- Determine addr32 prefix using SImode_address_operand or
- from original base and index RTXes. Simplify code.
-
-2012-10-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55011
- * tree-vrp.c (update_value_range): For invalid lattice transitions
- drop to VARYING.
-
-2012-10-22 Julian Brown <julian@codesourcery.com>
-
- * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing
- VFP D registers in big-endian mode.
-
-2012-10-22 Georg-Johann Lay <avr@gjlay.de>
-
- * doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
- Note __AVR_<device>__ is not defined for cores.
- Don't point to --help=target.
-
-2012-10-22 Sameera Deshpande <sameera.deshpande@arm.com>
- Greta Yorsh <Greta.Yorsh@arm.com>
-
- * config/arm/arm.c (thumb2_emit_ldrd_pop): New function.
- (arm_expand_epilogue): Use the new function.
-
-2012-10-22 Sameera Deshpande <sameera.deshpande@arm.com>
- Greta Yorsh <Greta.Yorsh@arm.com>
-
- * config/arm/arm.c (thumb2_emit_strd_push): New function.
- (arm_expand_prologue): Use the new function.
-
-2012-10-22 Sameera Deshpande <sameera.deshpande@arm.com>
- Greta Yorsh <Greta.Yorsh@arm.com>
-
- * config/arm/arm-protos.h (offset_ok_for_ldrd_strd): New declaration.
- (operands_ok_ldrd_strd): Likewise.
- * config/arm/arm.c (offset_ok_for_ldrd_strd): New function.
- (operands_ok_ldrd_strd): Likewise.
- * config/arm/arm.md (thumb2_ldrd, thumb2_ldrd_base): New patterns.
- (thumb2_ldrd_base_neg): Likewise.
- (thumb2_strd, thumb2_strd_base, thumb_strd_base_neg): Likewise.
- * predicates.md (ldrd_strd_offset_operand): New predicate.
- * config/arm/constraints.md (Do): New constraint.
-
-2012-10-22 Hans-Peter Nilsson <hp@bitrange.com>
-
- * config/mmix/mmix.md ("nonlocal_goto_receiver"): Refer to the
- frame-pointer as an operand.
- ("*nonlocal_goto_receiver_expanded"): Ditto. Use
- mmix_output_register_setting instead of naked output_asm_insn for
- the offset from the frame-pointer to the saved rO.
- * config/mmix/mmix.c (mmix_output_register_setting): Emit NEGU for
- values -255..0.
- * config/mmix/predicates.md ("frame_pointer_operand"): New.
- * config/mmix/constraints.md ("Yf"): New.
-
- * stmt.c (expand_nl_goto_receiver): Remove almost-copy of
- expand_builtin_setjmp_receiver.
- (expand_label): Adjust, call expand_builtin_setjmp_receiver
- with NULL for the label parameter.
- * builtins.c (expand_builtin_setjmp_receiver): Don't clobber
- the frame-pointer. Adjust comments.
- [HAVE_builtin_setjmp_receiver]: Emit builtin_setjmp_receiver
- only if LABEL is non-NULL.
-
-2012-10-21 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386-protos.h (memory_address_length): Add new bool
- argument. Update all uses.
- * config/i386/i386.c (memory_address_length): If not LEA insn, then
- add length of addr32 prefix based on mode of base or index register.
- (ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
- addresses here. Update call to memory_address_length.
- (ix86_print_address_operand): Use SImode_address_operand predicate.
- * config/i386/predicates.md (SImode_address_operand): New.
- * config/i386/i386.md (lea<mode>): Use SImode_address_operand
- to calculate "mode" attribute. Use SImode_address_operand predicate
- instead of open-coding accepted RTX codes.
-
-2012-10-21 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * rtl.def (ADDR_DIFF_VEC): Fix comment typo.
-
-2012-10-21 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/44194
- * calls.c (expand_call): Allow sibling calls in the PARALLEL case.
-
-2012-10-21 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54725
- * Makefile.in (TARGET_SYSTEM_ROOT_DEFINE): New.
-
-2012-10-21 Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/xtensa/xtensa.c (xtensa_expand_builtin): Remove unused 'arg'
- variable.
-
-2012-10-20 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/54315
- * calls.c (expand_call): Don't deal specifically with BLKmode values
- returned in naked registers.
- * expr.h (copy_blkmode_from_reg): Adjust prototype.
- * expr.c (copy_blkmode_from_reg): Rename first parameter into
- TARGET and make it required. Assert that SRCREG hasn't BLKmode.
- Add a couple of short-circuits for common cases and be prepared
- for sub-word registers.
- (expand_assignment): Call copy_blkmode_from_reg for BLKmode values
- returned in naked registers.
- (store_expr): Likewise.
- (store_field): Likewise.
-
-2012-10-20 Jan Hubicka <jh@suse.cz>
-
- * loop-unroll.c (decide_unroll_constant_iterations): Don't
- perform unrolling for loops with low iterations bounds or estimates.
-
-2012-10-20 Jan Hubicka <jh@suse.cz>
-
- * loop-iv.c (iv_number_of_iterations): Record the upper bound
- only if there are no further conditions on it.
-
-2012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/53063
- PR c/40989
- * opts.c (finish_options): Remove explicit handling from here.
-
-2012-10-20 Joern Rennecke <joern.rennecke@embecosm.com>
- Richard Sandiford <rdsandiford@googlemail.com>
-
- * emit-rtl.c (copy_delay_slot_insn): New function.
- * emit-rtl.h (copy_delay_slot_insn): Declare.
- * reorg.c: Include "emit-rtl.h".
- (steal_delay_list_from_target): Use copy_delay_slot_insn.
- (fill_slots_from_thread, fill_simple_delay_slots): Likewise.
-
- * final.c (shorten_branches): When optimizing, start with small
- length and increase from there, and don't decrease lengths.
-
-2012-10-19 Jan Hubicka <jh@suse.cz>
-
- * builtins.def (BUILT_IN_UNREACHABLE): Make
- ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST.
- * builtin-attrs.def (ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST): Define.
-
-2012-10-19 Michael Meissner <meissner@linux.vnet.ibm.com>
- Dominique Dhumieres <dominiq@lps.ens.fr>
-
- * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Don't assume
- OPTION_MASK_STRICT_ALIGN is defined.
- (MASK_STRICT_ALIGN): If OPTION_MASK_STRICT_ALIGN is not defined,
- define this to 0 for the 3 ports that use it.
-
- * config/rs6000/rs6000.c (OPTION_MASK_STRICT_ALIGN): Don't do
- check for ports not having -mstrict-align here, move test to
- rs6000-cpus.def.
- (MASK_STRICT_ALIGN): Likewise.
- (rs6000_debug_reg_global): Print out correct target flag words if
- -mdebug=reg.
-
-2012-10-19 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/54945
- * fold-const.c (fold_sign_changed_comparison): Punt if folding
- pointer/non-pointer comparison.
-
-2012-10-19 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * doc/sourcebuild.texi (Effective-Target Keywords): Document
- new effective target keyword arm_prefer_ldrd_strd.
-
-2012-10-19 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54981
- * tree-loop-distribution.c (ssa_name_has_uses_outside_loop_p):
- Do not consider debug stmts as uses.
-
-2012-10-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/54976
- * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
- Robustify against odd inner_mode inputs.
-
-2012-10-19 Zhenqiang Chen <zhenqiang.chen@linaro.org>
-
- PR target/54892
- * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
- sure the mode is correct when falling through from above cases.
-
-2012-10-19 Bin Cheng <bin.cheng@arm.com>
-
- * common.opt (flag_ira_hoist_pressure): New.
- * doc/invoke.texi (-fira-hoist-pressure): Describe.
- * ira-costs.c (ira_set_pseudo_classes): New parameter.
- * ira.h: Update copyright dates.
- (ira_set_pseudo_classes): Update prototype.
- * haifa-sched.c (sched_init): Update call.
- * ira.c (ira): Update call.
- * regmove.c: Update copyright dates.
- (regmove_optimize): Update call.
- * loop-invariant.c: Update copyright dates.
- (move_loop_invariants): Update call.
- * gcse.c: (struct bb_data): New structure.
- (BB_DATA): New macro.
- (curr_bb, curr_reg_pressure): New static variables.
- (should_hoist_expr_to_dom): Rename from hoist_expr_reaches_here_p.
- Change parameter expr_index to expr.
- New parameters pressure_class, nregs and hoisted_bbs.
- Use reg pressure to determine the distance expr can be hoisted.
- (hoist_code): Use reg pressure to direct the hoist process.
- (get_regno_pressure_class, get_pressure_class_and_nregs)
- (change_pressure, calculate_bb_reg_pressure): New.
- (one_code_hoisting_pass): Calculate register pressure. Allocate
- and free data.
-
-2012-10-19 Bin Cheng <bin.cheng@arm.com>
-
- * gcse.c: Update copyright dates.
- (hoist_expr_reaches_here_p): Change parameter type from char *
- to sbitmap.
-
-2012-10-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config.gcc
- (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
- "arm*-*-rtemseabi*" to "arm*-*-rtems*".
-
-2012-10-19 Alan Modra <amodra@gmail.com>
-
- * configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
- (HAVE_LD_LARGE_TOC): Likewise.
- * configure: Regenerate.
-
-2012-10-19 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/predicates.md (splat_input_operand): Don't call
- input_operand for MEMs. Instead check for volatile and call
- memory_address_addr_space_p with modified mode.
-
-2012-10-18 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (rdpmc): Remove expander.
- (rdtsc): Ditto.
- (rdtscp): Ditto.
- (rdpmc): Rename from *rdpmc.
- (rdpmc_rex64): Rename from *rdpmc_rex64.
- (rdtsc): Rename from *rdtsc.
- (rdtsc_rex64): Rename from *rdtsc_rex64.
- (rdtscp): Rename from *rdtscp.
- (rdtscp_rex64): Rename from *rdtscp_rex64.
-
- * config/i386/i386.c (struct builtin_description bdesc_special_args)
- <IX86_BUILTIN_RDTSC>: Use CODE_FOR_NOTHING.
- <IX86_BUILTIN_RDTSCP>: Ditto.
- (struct builtin_description bdesc__args) <IX86_BUILTIN_RDPMC>: Ditto.
- (ix86_expand_builtin) <IX86_BUILTIN_{RDPMC,RDTSC,RDTSCP}>: Handle here.
-
-2012-10-18 Jan-Benedict Glaw <jbglaw@lug-owl.de>
-
- * config/sh/sh.c: Fix comment to silence warning.
-
-2012-10-18 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
- Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- Sameera Deshpande <sameera.deshpande@arm.com>
-
- * config/arm/cortex-a15-neon.md: New file.
- * config/arm/cortex-a15.md (cortex_a15_call): Adjust reservation.
- (cortex_a15_load1): Likewise.
- (cortex_a15_load3): Likewise.
- (cortex_a15_store1): Likewise.
- (cortex_a15_store3): Likewise.
- (cortex-a15-neon.md): Include.
-
-2012-10-18 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/altivec.md (altivec_lvsl, altivec_lvsr): Add mode.
- (altivec_vsumsws_nomode): Delete.
- (reduc_splus_<mode>, reduc_uplus_<mode>): Call gen_altivec_vsumsws
- instead of gen_altivec_vsumsws_nomode.
- (altivec_lvlx, altivec_lvlxl, altivec_lvrx, altivec_lvrxl): Add mode.
- * config/rs6000/rs6000.md (probe_stack): Rename to...
- (probe_stack_<mode>): ... this. Add mode. Change pattern to
- use std instead of stw when appropriate.
- (probe_stack): New expander.
- (move_from_CR_ov_bit): Add mode.
- (splitter for compare_plus_ne0_<mode>, splitter for
- compare_plus_ne0_<mode>_1): Remove constraints.
- * config/rs6000/sync.md (loadsync): Rename to...
- (loadsync_<mode>): ... this. Add mode.
- (atomic_load<mode>): Adjust.
-
-2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * loop-invariant.c: Include target.h.
- (check_dependency): Return false for an uninitialized argument register
- that is likely to be spilled.
- * Makefile.in (loop-invariant.o): Add $(TARGET_H).
-
-2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * except.c (sjlj_emit_function_enter): Remove unused variable.
-
-2012-10-18 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
- Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/arm/arm.c (neon_builtin_data): Add vfma and vfms builtins.
- * config/arm/neon-docgen.ml (intrinsic_groups): Add
- fused-multiply-* groups.
- * config/neon-gen.ml (print_feature_test_start): New function.
- (print_feature_test_end): Likewise.
- (print_variant): Print feature test macros.
- * config/arm/neon-testgen.ml (emit_prologue): Allow different
- tests to require different effective targets.
- (effective_target): New function.
- (test_intrinsic): Specify correct effective targets.
- * config/arm/neon.md (fma<VCVTF:mode>4_intrinsic): New pattern.
- (fmsub<VCVTF:mode>4_intrinsic): Likewise.
- (neon_vfma<VCVFT:mode>): New expand.
- (neon_vfms<VCVFT:mode>): Likewise.
- * config/neon.ml (opcode): Add Vfma and Vfms.
- (features): Add Requires_feature.
- (ops): Add VFMA and VFMS intrinsics.
- * config/arm/arm_neon.h: Regenerate.
- * doc/arm-neon-intrinsics.texi: Likewise.
-
-2012-10-18 Richard Guenther <rguenther@suse.de>
-
- * lto-streamer.h (enum LTO_tags): Add LTO_integer_cst.
- * lto-streamer-in.c (lto_input_tree): Use it.
- * lto-streamer-out.c (lto_output_tree): Likewise, for
- !TREE_OVERFLOW integer constants only.
- * tree-streamer-in.c (unpack_ts_int_cst_value_fields): New function.
- (unpack_value_fields): Call it.
- (streamer_read_integer_cst): Simplify.
- * tree-streamer-out.c (pack_ts_int_cst_value_fields): New function.
- (streamer_pack_tree_bitfields): Call it.
- (streamer_write_integer_cst): Adjust.
-
-2012-10-18 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
- Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config.gcc: Add support for ARMv8 for arm*-*-* targets.
- * config/arm/arm-arches.def: Add armv8-a
- * config/arm/arm-fpus.def: Add fp-armv8, neon-fp-armv8,
- crypto-neon-fp-armv8. Add crypto field.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm.c (FL_FOR_ARCH8A): Likewise.
- (arm_arch8): New global variable.
- (ARM_FPU): Add crypto parameter.
- (arm_option_override): Set arm_arch8, update comments.
- * config/arm/arm.h (TARGET_CRYPTO): New macro.
- (arm_fpu_desc): Add crypto field.
- (base_architecture): Add ARMv8 entry.
- (arm_arch8): New variable declaration.
- * config/arm/bpabi.h: ARMv8 supports BE8.
- * doc/invoke.texi: Document ARMv8 options.
-
-2012-10-17 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/54893
- * trans-mem.c (diagnose_tm_1_op): Allow volatiles inside relaxed
- transactions.
-
-2012-10-17 Aldy Hernandez <aldyh@redhat.com>
-
- PR rtl-optimization/54900
- * ifcvt.c (noce_can_store_speculate_p): Call
- memory_must_be_modified_in_insn_p.
- * alias.c (memory_must_be_modified_in_insn_p): New.
- (set_dest_equal_p): New.
- * rtl.h (memory_must_be_modified_in_p): Protoize.
-
-2012-10-17 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.opt (rs6000_isa_flags): New flag word to
- replace target_flags that gives us 63 possible switches.
- (x_rs6000_isa_flags): Save area for rs6000_isa_flags.
- (x_rs6000_isa_flags_explicit): Save area for rs6000_isa_flags_explicit.
- (rs6000_target_flags_explicit): Delete in favor of
- x_rs6000_isa_flags_explicit.
- (-mpowerpc64): Change all switches that used to be in target_flags
- to now be in rs6000_isa_flags. In using rs6000_isa_flags, the
- options machinary will generate names of the form OPITON_<xxx>
- instead of TARGET_<xxx> and OPTION_MASK_<xxx> instead of MASK_<xxx>.
- (-mpowerpc-gpopt): Likewise.
- (-mpowerpc-gfxopt): Likewise.
- (-mmfcrf): Likewise.
- (-mpopcntb): Likewise.
- (-mfprnd): Likewise.
- (-mcmpb): Likewise.
- (-mmfpgpr): Likewise.
- (-maltivec): Likewise.
- (-mhard-dfp): Likewise.
- (-mmulhw): Likewise.
- (-mdlmzb): Likewise.
- (-mmultiple): Likewise.
- (-mstring): Likewise.
- (-msoft-float): Likewise.
- (-mhard-float): Likewise.
- (-mpopcntd): Likewise.
- (-mvsx): Likewise.
- (-mno-update): Likewise.
- (-mupdate): Likewise.
- (-mrecip-precision): Likewise.
- (-mminimal-toc): Likewise.
- (-misel): Likewise.
- * config/rs6000/aix64.opt (-maix64): Likewise.
- (-maix32): Likewise.
- * config/rs6000/sysv4.opt (-mstrict-align): Likewise.
- (-mrelocatable): Likewise.
- (-mlittle-endian): Likewise.
- (-mlittle): Likewise.
- (-mbig-endian): LIkewise.
- (-mbig): Likewise.
- (-meabi): Likewise.
- (-m64): Likewise.
- (-m32): Likewise.
- * config/rs6000/darwin.opt (-m64): Likewise.
- (-m32): Likewise.
-
- * config/rs6000/rs6000-cpus.def (ISA_2_1_MASKS): Move the various
- masks used in rs6000.c here, since they are more logically in this
- file. Convert from being enums to just #defines, since the types
- of these masks is now HOST_WIDE_INT instead of int. For
- POWERPC_MASKS, add MASK_SOFT_FLOAT, since the only use case or'ed
- in the mask. Change the use in rs6000.c not to do the OR of
- MASK_SOFT_FLOAT.
- (ISA_2_1_MASKS): Likewise.
- (ISA_2_2_MASKS): Likewise.
- (ISA_2_4_MASKS): Likewise.
- (ISA_2_5_MASKS_EMBEDDED): Likewise.
- (ISA_2_5_MASKS_SERVER): Likewise.
- (POWERPC_7400_MASK): Likewise.
- (POWERPC_MASKS): Likewise.
- * config/rs6000/rs6000.c (ISA_2_1_MASKS): Likewise.
- (ISA_2_1_MASKS): Likewise.
- (ISA_2_2_MASKS): Likewise.
- (ISA_2_4_MASKS): Likewise.
- (ISA_2_5_MASKS_EMBEDDED): Likewise.
- (ISA_2_5_MASKS_SERVER): Likewise.
- (POWERPC_7400_MASK): Likewise.
- (POWERPC_MASKS): Likewise.
- (rs6000_option_override_internal): Likewise.
-
- * config/rs6000/rs6000.c (darwin_rs6000_override_options): Change
- all uses of target_flags to rs6000_isa_flags. Change all uses of
- target_flags_explicit to rs6000_isa_flags_explicit. Change the
- use of MASK_<xxx> to OPTION_MASK_<xxx> that options.h defines when
- we use a secondary flags word. Save/restore/print the new flags
- word when switching contexts with different target attributes.
- (rs6000_option_override_internal): Likewise.
- (rs6000_darwin_file_start): Likewise.
- (rs6000_opt_masks): Likewise.
- (rs6000_inner_target_options): Likewise.
- (rs6000_pragma_target_parse): Likewise.
- (rs6000_set_current_function): Likewise.
- (rs6000_function_specific_save): Likewise.
- (rs6000_function_specific_restore): Likewise.
- (rs6000_function_specific_print): Likewise.
- (rs6000_can_inline_p): Likewise.
- * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Likewise.
- (rs6000_cpu_cpp_builtins): Likewise.
- * common/config/rs6000/rs6000-driver.c (rs6000_handle_option):
- Likewise.
-
- * config/rs6000/rs6000.h (MASK_ALTIVEC): In moving to using
- Var(...) for all of the isa switches, the options machinery now
- uses OPTION_MASK_<xxx> instead of MASK_<xxx> for the mask name.
- Use #define to map the old name into the new name. For switches
- that are defined in aix64.opt, sysv4.opt, and darwin.opt, only do
- the definition if those switches were defined.
- (MASK_ALTIVEC): Likewise.
- (MASK_CMPB): Likewise.
- (MASK_DFP): Likewise.
- (MASK_DLMZB): Likewise.
- (MASK_EABI): Likewise.
- (MASK_FPRND): Likewise.
- (MASK_HARD_FLOAT): Likewise.
- (MASK_ISEL): Likewise.
- (MASK_MFCRF): Likewise.
- (MASK_MFPGPR): Likewise.
- (MASK_MULHW): Likewise.
- (MASK_MULTIPLE): Likewise.
- (MASK_NO_UPDATE): Likewise.
- (MASK_POPCNTB): Likewise.
- (MASK_POPCNTD): Likewise.
- (MASK_PPC_GFXOPT): Likewise.
- (MASK_PPC_GPOPT): Likewise.
- (MASK_RECIP_PRECISION): Likewise.
- (MASK_SOFT_FLOAT): Likewise.
- (MASK_STRICT_ALIGN): Likewise.
- (MASK_STRING): Likewise.
- (MASK_UPDATE): Likewise.
- (MASK_VSX): Likewise.
- (MASK_POWERPC64): Likewise.
- (MASK_64BIT): Likewise.
- (MASK_RELOCATABLE): Likewise.
- (MASK_LITTLE_ENDIAN): Likewise.
- (MASK_MINIMAL_TOC): Likewise.
- (MASK_REGNAMES): Likewise.
- (MASK_PROTOTYPE): Likewise.
- (rs6000_isa_flags_explicit): Define in terms of the
- global_options_set structure.
-
- * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS):
- Change use of target_flags to rs6000_isa_flags, target_flags_explicit
- to rs6000_isa_flags_explicit, and MASK_<xxx> to OPTION_MASK_<xxx>.
- * config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
- * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
- * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
- * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
- * config/rs6000/freebsd64.h (RELOCATABLE_NEEDS_FIXUP): Likewise.
- (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
- * config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP): Likewise.
- * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Likewise.
- (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
- (OPTION_LITTLE_ENDIAN): Likewise.
- (OPTION_RELOCATABLE): Likewise.
- (OPTION_EABI): Likewise.
- (OPTION_PROTOTYPE): Likewise.
- * config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Likewise.
- * config/rs6000/option-defaults.h (OPTION_MASK_64BIT): Likewise.
- (OPT_ARCH32): Likewise.
- (OPT_ARCH64): Likewise.
- * config/rs6000/sysv4.h (TARGET_TOC): Likewise.
- (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
- (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
- (TARGET_OS_SYSV_CPP_BUILTINS): Likewise.
-
- * config/rs6000/t-rs6000 (rs6000.o): Add rs6000-cpus.def as a
- dependency.
-
-2012-10-17 Jan Hubicka <jh@suse.cz>
-
- * cfgloopmanip.c (copy_loop_info): New function.
- (duplicate_loop): Use it.
- (loop_version): Use it.
- * loop-unswitch.c (unswitch_loop): Use it.
- * cfgloop.h (copy_loop_info): Declare.
-
-2012-10-17 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Add edge_to_cancel
- parameter and use it to estimate code optimized out in the final
- iteration.
- (loop_edge_to_cancel): New function.
- (try_unroll_loop_completely): New IRRED_IVALIDATED parameter;
- handle unrolling loops with bounds given via max_loop_iteratins;
- handle unrolling non-inner loops when code size shrinks;
- tidy dump output; when the last iteration loop still stays
- as loop in the CFG forcongly redirect the latch to
- __builtin_unreachable.
- (canonicalize_loop_induction_variables): Add irred_invlaidated
- parameter; record niter bound derrived; dump
- max_loop_iterations bounds; call try_unroll_loop_completely
- even if no niter bound is given.
- (canonicalize_induction_variables): Handle irred_invalidated.
- (tree_unroll_loops_completely): Handle non-innermost loops;
- handle irred_invalidated.
- * cfgloop.h (unlop): Declare.
- * cfgloopmanip.c (unloop): Export.
- * tree.c (build_common_builtin_nodes): Build BULTIN_UNREACHABLE.
-
-2012-10-17 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * opth-gen.awk (TARGET_* generation): Always generate TARGET_<xxx>
- for Mask options, whether they use Var(...) or not.
-
- * config/linux-android.h (ANDROID_TARGET_OS_CPP_BUILTINS): Use
- TARGET_<xxx> instead of OPTION_<xxx>.
- * config/i386/i386.h (TARGET_64BIT): Likewise.
- (TARGET_MMX): Likewise.
- (TARGET_3DNOW): Likewise.
- (TARGET_3DNOW_A): Likewise.
- (TARGET_SSE): Likewise.
- (TARGET_SSE2): Likewise.
- (TARGET_SSE3): Likewise.
- (TARGET_SSSE3): Likewise.
- (TARGET_SSE4_1): Likewise.
- (TARGET_SSE4_2): Likewise.
- (TARGET_AVX): Likewise.
- (TARGET_AVX2): Likewise.
- (TARGET_FMA): Likewise.
- (TARGET_SSE4A): Likewise.
- (TARGET_FMA4): Likewise.
- (TARGET_XOP): Likewise.
- (TARGET_LWP): Likewise.
- (TARGET_ROUND): Likewise.
- (TARGET_ABM): Likewise.
- (TARGET_BMI): Likewise.
- (TARGET_BMI2): Likewise.
- (TARGET_LZCNT): Likewise.
- (TARGET_TBM): Likewise.
- (TARGET_POPCNT): Likewise.
- (TARGET_SAHF): Likewise.
- (TARGET_MOVBE): Likewise.
- (TARGET_CRC32): Likewise.
- (TARGET_AES): Likewise.
- (TARGET_PCLMUL): Likewise.
- (TARGET_CMPXCHG16B): Likewise.
- (TARGET_FSGSBASE): Likewise.
- (TARGET_RDRND): Likewise.
- (TARGET_F16C): Likewise.
- (TARGET_RTM): Likewise.
- (TARGET_HLE): Likewise.
- (TARGET_RDSEED): Likewise.
- (TARGET_PRFCHW): Likewise.
- (TARGET_ADX): Likewise.
- (TARGET_64BIT): Likewise.
- (TARGET_MMX): Likewise.
- (TARGET_3DNOW): Likewise.
- (TARGET_3DNOW_A): Likewise.
- (TARGET_SSE): Likewise.
- (TARGET_SSE2): Likewise.
- (TARGET_SSE3): Likewise.
- (TARGET_SSSE3): Likewise.
- (TARGET_SSE4_1): Likewise.
- (TARGET_SSE4_2): Likewise.
- (TARGET_AVX): Likewise.
- (TARGET_AVX2): Likewise.
- (TARGET_FMA): Likewise.
- (TARGET_SSE4A): Likewise.
- (TARGET_FMA4): Likewise.
- (TARGET_XOP): Likewise.
- (TARGET_LWP): Likewise.
- (TARGET_ROUND): Likewise.
- (TARGET_ABM): Likewise.
- (TARGET_BMI): Likewise.
- (TARGET_BMI2): Likewise.
- (TARGET_LZCNT): Likewise.
- (TARGET_TBM): Likewise.
- (TARGET_POPCNT): Likewise.
- (TARGET_SAHF): Likewise.
- (TARGET_MOVBE): Likewise.
- (TARGET_CRC32): Likewise.
- (TARGET_AES): Likewise.
- (TARGET_PCLMUL): Likewise.
- (TARGET_CMPXCHG16B): Likewise.
- (TARGET_FSGSBASE): Likewise.
- (TARGET_RDRND): Likewise.
- (TARGET_F16C): Likewise.
- (TARGET_RTM): Likewise.
- (TARGET_HLE): Likewise.
- (TARGET_RDSEED): Likewise.
- (TARGET_PRFCHW): Likewise.
- (TARGET_ADX): Likewise.
- (TARGET_LP64): Likewise.
- (TARGET_X32): Likewise.
- (TARGET_ISA_ROUND): Likewise.
- * config/i386/darwin.h (TARGET_64BIT): Likewise.
-
- * doc/options.texi (Mask): Update documentation to specify only
- TARGET_<xxx> is generated.
-
-2012-10-17 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * config/arm/arm.md (UNSPEC_PROLOGUE_USE): Rename this...
- (UNSPEC_REGISTER_USE): ... to this.
- (prologue_use): Rename this...
- (force_register_use): ... to this and update output assembly.
- (epilogue) Rename gen_prologue_use to gen_force_register_use.
- * config/arm/arm.c (arm_expand_prologue): Likewise.
- (thumb1_expand_epilogue): Likewise.
- (arm_expand_epilogue): Likewise.
- (arm_expand_epilogue): Likewise.
-
-2012-10-17 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr-arch.h (avr_extra_arch_macro): Remove prototype.
- * config/avr/avr.c (avr_extra_arch_macro): Remove variable.
- (avr_option_override): Remove setting of avr_extra_arch_macro.
- * config/avr/avr-c.c (avr_extra_arch_macro): Replace with
- avr_current_device->macro.
-
-2012-10-17 Richard Biener <rguenther@suse.de>
-
- * tree-streamer-out.c (write_ts_decl_common_tree_pointers):
- Do not write TREE_CHAIN of PARM_DECLs.
- (write_ts_decl_non_common_tree_pointers): Instead stream
- the DECL_ARGUMENTS chain.
- * tree-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
- Do not read TREE_CHAIN of PARM_DECLs.
- (lto_input_ts_decl_non_common_tree_pointes): Instead read
- the DECL_ARGUMENTS as chain.
-
-2012-10-17 Steven Bosscher <steven@gcc.gnu.org>
-
- * config/iq2000/iq2000.h (call_used_regs): Remove definition.
-
-2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/54870
- * tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
- * cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
- SSA_NAME pointer that points to a partition if there is at least
- one variable with it set in the partition.
- * dse.c (local_variable_can_escape): New predicate.
- (can_escape): Call it.
- * gimplify.c (mark_addressable): If this is a partitioned decl, also
- mark the SSA_NAME pointer that points to a partition.
-
-2012-10-16 Steven Bosscher <steven@gcc.gnu.org>
-
- * df-problems.c (df_kill_notes): Split up in two functions.
- (df_remove_dead_and_unused_notes): New function, first half of
- df_kill notes to remove all REG_DEAD and REG_UNUSED notes.
- (df_remove_dead_eq_notes): New function, second half of df_kill_notes
- to remove REG_EQUAL and REG_EQUIV notes referring to dead registers.
- (df_note_bb_compute): Call df_remove_dead_and_unused_notes instead
- of df_kill_notes. Call df_remove_dead_eq_notes after processing insn.
-
- * web.c (web): Re-add DF_RD_PRUNE_DEAD_DEFS;
-
-2012-10-16 Ian Lance Taylor <iant@google.com>
-
- * doc/extend.texi (Return Address): Change
- __builtin_extract_return_address to
- __builtin_extract_return_addr.
-
-2012-10-16 Steven Bosscher <steven@gcc.gnu.org>
-
- * rtl.h (get_call_rtx_from): New prototype.
- * rtlanal.c (get_call_rtx_from): New function.
- * calls.c (emit_call_1): Use it.
- * dse.c (scan_insn): Likewise
- * dwarf2out.c (dwarf2out_var_location): Likewise.
- * sched-deps.c (call_may_noreturn_p): Likewise.
- * var-tracking.c (prepare_call_arguments): Likewise.
- * config/sh/sh.c (sh_adjust_cost): Likewise.
-
-2012-10-16 Tom de Vries <tom@codesourcery.com>
-
- * expr.c (move_by_pieces, move_by_pieces_ninsns, can_store_by_pieces)
- (store_by_pieces_1): Don't enter loop when no more data is left.
-
-2012-10-16 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * loop-doloop.c (doloop_modify): Pass doloop_end pattern to
- gen_doloop_begin.
- (doloop_optimize): Pass flag to indicate if loop is entered at top
- to gen_doloop_end.
- * config/arm/thumb2.md (doloop_end): Accept extra operand.
- * config/bfin/bfin.md (doloop_end): Likewise.
- * config/c6x/c6x.md (doloop_end): Likewise.
- * config/ia64/ia64.md (doloop_end): Likewise.
- * config/mep/mep.md (doloop_begin, doloop_end): Likewise.
- * config/rs6000/rs6000.md (doloop_end): Likewise.
- * config/s390/s390.md (doloop_end): Likewise.
- * config/sh/sh.md (doloop_end): Likewise.
- * config/spu/spu.md (doloop_end): Likewise.
- * config/tilegx/tilegx.md (doloop_end): Likewise.
- * config/tilepro/tilepro.md (doloop_end): Likewise.
- * doc/md.texi (doloop_end): Document new operand.
- * basic-block.h (contains_no_active_insn_p): Declare.
- * cfgrtl.c (contains_no_active_insn_p): New function, factored
- out of ...
- (forwarder_block_p): ... here.
-
-2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/53063
- PR c/40989
- * doc/options.texi (EnabledBy): Document new form.
- * optc-gen.awk: Handle new form of EnabledBy.
- * common.opt (Wunused-but-set-parameter): Use EnabledBy.
- (Wunused-parameter): Likewise.
- * opts.c (finish_options): Do not handle them explicitly.
- * opt-functions.awk (search_var_name): New.
-
-2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/53063
- PR c/40989
- * optc-gen.awk: Handle new form of LangEnabledBy.
- * opts.c (set_Wstrict_aliasing): Declare here. Make static.
- * common.opt (Wstrict-aliasing=,Wstrict-overflow=): Do not use Init.
- * doc/options.texi (LangEnabledBy): Document new form.
- * flags.h (set_Wstrict_aliasing): Do not declare.
-
-2012-10-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * reload.c (find_reloads_subreg_address): Remove FORCE_REPLACE
- parameter. Always replace normal subreg with memory reference
- whenever possible. Return NULL otherwise.
- (find_reloads_toplev): Always call find_reloads_subreg_address
- for subregs of registers equivalent to a memory location.
- Only recurse further if find_reloads_subreg_address fails.
- (find_reloads_address_1): Only call find_reloads_subreg_address
- for subregs of registers equivalent to a memory location.
- Properly handle failure of find_reloads_subreg_address.
-
-2012-10-16 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/54796
- * rtl.h: Document jump flag on VALUE.
- * cselib.h (cselib_set_value_sp_based,
- cselib_sp_based_value_p): New prototypes.
- * alias.c (find_base_term): For cselib_sp_based_value_p
- return static_reg_base_value[STACK_POINTER_REGNUM].
- * cselib.c (SP_BASED_VALUE_P): Define.
- (cselib_set_value_sp_based, cselib_sp_based_value_p): New functions.
- * var-tracking.c (add_stores): Call cselib_set_value_sp_based
- for not yet preserved VALUEs of sp on sp assignments if
- hard_frame_pointer_adjustment != -1.
- (vt_initialize): When setting hard_frame_pointer_adjustment,
- disassociate sp from its previous value and call
- cselib_set_value_sp_based on a new VALUE created for sp.
-
- PR tree-optimization/54889
- * tree-vect-stmts.c (vectorizable_load): Add VIEW_CONVERT_EXPR if
- ARRAY_REF newref doesn't have compatible type with vectype element
- type, use vectype element type for MEM_REF.
-
-2012-10-16 Steven Bosscher <steven@gcc.gnu.org>
-
- * combine.c (record_dead_and_set_regs): Iterate over hard register set
- with a hard_reg_set_iterator.
- * cse.c (invalidate_for_call): Likewise.
- * gcse.c (compute_hash_table_work): Likewise.
- * loop-iv.c (simplify_using_initial_values): Likewise.
- * postreload-gcse.c (record_opr_changes): Likewise.
- * regcprop.c (copyprop_hardreg_forward_1): Likewise.
- * var-tracking.c (dataflow_set_clear_at_call): Likewise.
-
-2012-10-15 Easwaran Raman <eraman@google.com>
-
- * optabs.c (emit_cmp_and_jump_insn_1): Add a new parameter to
- specificy the probability of taking the jump.
- (emit_cmp_and_jump_insns): Likewise.
- (expand_compare_and_swap_loop): Make the jump predicted not taken.
- * dojump.c (do_compare_rtx_and_jump): Remove the code attaching
- REG_BR_PROB note and pass probability to emit_cmp_and_jump_insns.
- * cfgbuild.c (compute_outgoing_frequencies): Do not guess outgoing
- probabilities for branches with more than two successors.
- * expr.c (emit_block_move_via_loop): Predict the loop backedge loop
- to be highly taken.
- (try_casesi): Pass the probability of jumping to the default label.
- (try_tablejump): Likewise.
- (do_tablejump): Likewise.
- * expr.h (try_tablejump): Add a new parameter.
- (try_casesi): Likewise.
- (emit_cmp_and_jump_insns): Add probability as default parameter with a
- default value of -1.
- * except.c (sjlj_emit_function_enter): Pass probability to
- emit_cmp_and_jump_insns.
- * stmt.c (case_node): Add new fields PROB and SUBTREE_PROB.
- (do_jump_if_equal): Pass probability for REG_BR_PROB note.
- (add_case_node): Pass estimated probability of jumping to the case
- label.
- (emit_case_decision_tree): Pass default_prob to emit_case_nodes.
- (get_outgoing_edge_probs): New function.
- (conditional_probability): Likewise.
- (reset_out_edges_aux): Likewise.
- (compute_cases_per_edge): Likewise.
- (emit_case_dispatch_table): Update probabilities of edges coming out
- of the switch statement.
- (expand_case): Compute and propagate default edge probability to
- emit_case_dispatch_table.
- (expand_sjlj_dispatch_table): Update calls to add_case_node and
- emit_case_dispatch_table.
- (balance_case_nodes): Update subtree_prob values.
- (emit_case_nodes): Compute edge probabilities and add pass them to
- emit_cmp_and_jump_insns.
-
-2012-10-15 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/sh-protos.h (set_of_reg): New struct.
- (sh_find_set_of_reg, sh_is_logical_t_store_expr,
- sh_try_omit_signzero_extend): Declare...
- * config/sh/sh.c (sh_find_set_of_reg, sh_is_logical_t_store_expr,
- sh_try_omit_signzero_extend): ...these new functions.
- * config/sh/sh.md (*logical_op_t): New insn_and_split.
- (*zero_extend<mode>si2_compact): Use sh_try_omit_signzero_extend
- in splitter.
- (*extend<mode>si2_compact_reg): Convert to insn_and_split.
- Use sh_try_omit_signzero_extend in splitter.
- (*mov<mode>_reg_reg): Disallow t_reg_operand as operand 1.
- (*cbranch_t): Rewrite combine part in splitter using new
- sh_find_set_of_reg function.
-
-2012-10-15 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54760
- * config/sh/sh.c (sh_find_base_reg_disp): Stop searching insns when
- hitting a call insn if GBR is marked as call used.
- * config/sh/iterators.md (QIHISIDI): New mode iterator.
- * config/sh/predicates.md (gbr_address_mem): New predicate.
- * config/sh/sh.md (*movdi_gbr_load, *movdi_gbr_store): New
- insn_and_split. Use QIHISIDI instead of QIHISI in unnamed GBR
- addressing splits.
-
-2012-10-15 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.c: Update function attribute comments.
- * doc/extend.texi (function_vector): Rephrase SH2A specific part.
- (nosave_low_regs, renesas, trapa_handler): Document SH specific
- attributes.
- (sp_switch, trap_exit): Add to index.
-
-2012-10-15 Matthias Klose <doko@ubuntu.com>
-
- * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
- * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.
-
-2012-10-15 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (UNSPEC_MOVU): Remove.
- (UNSPEC_LOADU): New.
- (UNSPEC_STOREU): Ditto.
- (<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
- (<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
- (<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
- (<sse2>_movdqu<avxsizesuffix>): Split to ...
- (<sse2>_loaddqu<avxsizesuffix>): ... this and ...
- (<sse2>_storedqu<avxsizesuffix>): ... this.
- (*sse4_2_pcmpestr_unaligned): Update.
- (*sse4_2_pcmpistr_unaligned): Ditto.
-
- * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
- gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
- gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
- (ix86_expand_vector_move_misalign): Use gen_sse_loadups or
- gen_sse2_load{dqu,upd} to load from unaligned memory and
- gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
- unaligned memory.
- (struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
- Use CODE_FOR_sse_loadups.
- <IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
- <IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
- <IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
- <IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
- <IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
- <IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
- <IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
- <IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
- <IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
- <IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
- <IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.
-
-2012-10-15 Dodji Seketeli <dodji@redhat.com>
-
- * alias.c: Cleanup comments.
-
-2012-10-15 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/54915
- * tree-ssa-forwprop.c (simplify_vector_constructor): Check
- argument's type.
-
-2012-10-15 Richard Biener <rguenther@suse.de>
-
- * data-streamer.h (bp_pack_string_with_length): New function.
- (bp_pack_string): Likewise.
- (bp_unpack_indexed_string): Likewise.
- (bp_unpack_string): Likewise.
- * data-streamer-out.c (bp_pack_string_with_length): Likewise.
- (bp_pack_string): Likewise.
- * data-streamer-in.c (bp_unpack_indexed_string): Likewise.
- (bp_unpack_string): Likewise.
- * tree-streamer-out.c (pack_ts_translation_unit_decl_value_fields):
- Pack TRANSLATION_UNIT_LANGUAGE here, not ...
- (write_ts_translation_unit_decl_tree_pointers): ... here. Remove.
- (streamer_pack_tree_bitfields): Adjust.
- (streamer_write_tree_body): Likewise.
- * tree-streamer-in.c (unpack_ts_translation_unit_decl_value_fields):
- Unpack TRANSLATION_UNIT_LANGUAGE here, not ...
- (lto_input_ts_translation_unit_decl_tree_pointers): ... here. Remove.
- (unpack_value_fields): Adjust.
- (streamer_read_tree_body): Likewise.
-
-2012-10-15 J"orn Rennecke <joern.rennecke@arc.com>
-
- * genoutput.c (process_template): Process '*' in '@' alternatives.
- * doc/md.texi (node Output Statement): Provide example for the above.
-
-2012-10-15 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54920
- * tree-ssa-pre.c (create_expression_by_pieces): Properly
- allocate temporary storage for all NARY elements.
-
-2012-10-15 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * web.c (union_match_dups): Properly handle OP_INOUT match_dups.
-
-2012-10-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Do not unnecessarily
- copy the object in the MEM_P case.
-
-2012-10-15 Richard Guenther <rguenther@suse.de>
-
- * tree-streamer-out.c (streamer_pack_tree_bitfields): Back
- BINFO_BASE_ACCESSES and CONSTRUCTOR lengths here.
- (streamer_write_chain): Write TREE_CHAIN as null-terminated list.
- (write_ts_exp_tree_pointers): Adjust.
- (write_ts_binfo_tree_pointers): Likewise.
- (write_ts_constructor_tree_pointers): Likewise.
- * tree-streamer-in.c (streamer_read_chain): Read TREE_CHAIN as
- null-terminated list.
- (unpack_value_fields): Unpack BINFO_BASE_ACCESSES and
- CONSTRUCTOR lengths and materialize the arrays.
- (lto_input_ts_exp_tree_pointers): Adjust.
- (lto_input_ts_binfo_tree_pointers): Likewise.
- (lto_input_ts_constructor_tree_pointers): Likewise.
-
-2012-10-14 Hans-Peter Nilsson <hp@bitrange.com>
-
- * config/mmix/mmix.c (mmix_opposite_regno): Handle the
- return-value register too.
-
-2012-10-14 Steven Bosscher <steven@gcc.gnu.org>
-
- PR rtl-optimization/38711
- * df.h (df_get_live_out, df_get_live_in): Make static inline functions.
- * df-problems.c (df_get_live_out, df_get_live_in): Moved to df.h.
- * ira-lives.c (process_bb_node_lives): Use df_get_live_out instead of
- DF_LR_OUT.
- * ira-build.c (create_bb_allocnos): Likewise.
- (create_loop_allocnos): Likewise, and use df_get_live_in instead of
- DF_LR_IN.
- * ira-emit.c (generate_edge_moves): Likewise.
- (add_ranges_and_copies): Likewise.
- * ira-color.c (ira_loop_edge_freq): Use df_get_live_out instead of
- DF_LR_OUT, and df_get_live_in instead of DF_LR_IN.
- * ira.c (mark_elimination): Update DF_LR and DF_LIVE.
- (build_insn_chain): Use df_get_live_out instead of DF_LR_OUT.
- (do_reload): Remove the DF_LIVE problem for -O1.
-
-2012-10-14 Steven Bosscher <steven@gcc.gnu.org>
-
- PR rtl-optimization/54919
- * loop-unroll.c (struct var_to_expand): Remove accum_pos field.
- (analyze_insn_to_expand_var): Do not record accum_pos.
- (expand_var_during_unrolling): Use validate_replace_rtx_group to
- perform replacement of all references to SET_DEST (set) with the
- new register, including references in REG_EQUAL notes.
- (insert_var_expansion_initialization): Insert initializatio insns
- at the bottom of the pre-header of the loop.
-
-2012-10-14 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not
- predict loops with multiple exits realistically.
- * cfgloopanal.c (single_likely_exit): New function.
-
-2012-10-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.md: Remove empty predicates and/or constraints.
- * config/alpha/sync.md: Ditto.
-
-2012-10-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.md (I24MODE): New mode iterator.
- (any_divmod): New code iterator.
- (<code>si3): Macroize expander from {div,mod,udiv,umod}si3 using
- any_divmod code iterator.
- (<code>si3): Macroize expander from {div,mod,udiv,umod}di3 using
- any_divmod code iterator.
- (extendqi<mode>2): Macroize insn from extendqi{hi,si}2 using
- I24MODE mode iterator.
- (unaligned_store<mode>): Macroize expander from unaligned_store{qi,hi}
- using I12MODE mode iterator.
- (mov<mode>): Macroize expander from mov{qi,hi} using
- I12MODE mode iterator.
-
-2012-10-13 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/54871
- * loop-iv.c (simplify_using_initial_values): When scanning previous
- basic blocks, prune the recorded conditions if the current insn was
- not used to make a replacement.
-
- * loop-unroll.c (decide_unroll_constant_iterations): Clean up message.
- (unroll_loop_constant_iterations): Clarify head comment.
- (decide_unroll_runtime_iterations): Clean up message.
- (unroll_loop_runtime_iterations): Clarify head comment.
- (decide_peel_simple): Clean up message.
- (peel_loop_simple): Clarify head comment.
- (decide_unroll_stupid): Clean up message.
- (unroll_loop_stupid): Clarify head comment.
-
-2012-10-13 Andreas Schwab <schwab@linux-m68k.org>
-
- PR gcov-profile/44728
- * gcov.c (create_file_names): When stripping extension only look
- at base name.
-
-2012-10-13 Jan Hubicka <jh@suse.cz>
-
- * loop-iv.c (determine_max_iter): Fix handling of AND.
- (iv_number_of_iterations): Record upper bounds as unsigned
- values.
-
-2012-10-13 Steven Bosscher <steven@gcc.gnu.org>
-
- * ira.c (ira): Set current_loops to &ira_loops before recording
- loop exits. Release recorded exits and loops early.
-
-2012-10-13 Chung-Lin Tang <cltang@codesourcery.com>
-
- * builtins.c (expand_builtin_set_thread_pointer): Use
- create_input_operand() instead of create_fixed_operand().
-
-2012-10-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.md (FMODE): New mode iterator.
- (modesuffix): Handle SF and DF modes.
- (opmode): New mode attribute.
- (abs<mode>2): Macroize insn from abs{sf,df}2 using FMODE mode iterator.
- (*nabs<mode>2): Macroize insn from *nabs{sf,df}2 using
- FMODE mode iterator.
- (neg<mode>2): Macroize insn from neg{sf,df}2 using FMODE mode iterator.
- (copysign<mode>3): Macroize insn from copysign{sf,df}3 using
- FMODE mode iterator.
- (*ncopysign<mode>3): Macroize insn from *ncopysign{sf,df}3 using
- FMODE mode iterator.
- (*add<mode>3_ieee): Macroize insn from *add{sf,df}_ieee using
- FMODE mode iterator.
- (add<mode>3): Macroize insn from add{sf,df}3 using FMODE mode iterator.
- (*sub<mode>3_ieee): Macroize insn from *sub{sf,df}3_ieee using
- FMODE mode iterator.
- (sub<mode>3): Macroize insn from sub{sf,df}3 using FMODE mode iterator.
- (*mul<mode>3_ieee): Macroize insn from *mul{sf,df}3_ieee using
- FMODE mode iterator.
- (mul<mode>3): Macroize insn from mul{sf,df}3 using FMODE mode iterator.
- (*div<mode>3_ieee): Macroize insn from *div{sf,df}3_ieee using
- FMODE mode iterator.
- (div<mode>3): Macroize insn from div{sf,df}3 using FMODE mode iterator.
- (*sqrt<mode>2_ieee): Macroize insn from *sqrt{sf,df}2_ieee using
- FMODE mode iterator.
- (sqrt<mode>2): Macroize insn from sqrt{sf,df}2
- using FMODE mode iterator.
- (*mov<mode>cc_internal): Macroize insn from *mov{sf,df}cc_internal
- using FMODE mode iterator.
- (mov<mode>cc): Macroize expander from mov{sf,df}cc
- using FMODE mode iterator.
-
-2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54602
- * config/sh/sh.md: Correct define_delay for return insns.
- (*movsi_pop): Delete.
-
-2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54680
- * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_int2sf): Fix swapped
- comments.
- * config/sh/predicates.md (fpul_operand): Add comment.
- (fpul_fsca_operand, fsca_scale_factor): New predicates.
- * config/sh/sh.md (fsca): Move below sincossf3 expander. Convert to
- insn_and_split. Use fpul_fsca_operand and fsca_scale_factor
- predicates. Simplify fpul operand in splitter.
-
-2012-10-12 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-threadupdate.c (def_split_header_continue_p): Do not
- escape the loop.
-
-2012-10-12 Jan Hubicka <jh@suse.cz>
-
- * web.c (web_main): Do not set DF_RD_PRUNE_DEAD_DEFS flag.
-
-2012-10-12 Aaron Gray <aaronngray.lists@gmail.com>
- Diego Novillo <dnovillo@google.com>
-
- * gengtype-lex.l: Support for C++ single line comments.
- Support for classes.
- (CXX_KEYWORD): New. Support C++ keywords inline, public,
- protected, private, template, operator, friend, &, ~.
- (TYPEDEF): New. Support typedef.
- * gengtype-parser.c: updated 'token_names[]'
- (direct_declarator): Add support for parsing functions and ctors.
-
-2012-10-12 Diego Novillo <dnovillo@google.com>
-
- * doc/gty.texi: Document C++ limitations in gengtype.
- * gengtype-lex.l (CID): Rename from ID.
- (ID): Include scoping '::' as part of the identifier name.
- * gengtype-parse.c (token_names): Update.
- (token_value_format): Update.
- (consume_until_eos): Rename from consume_until_semi.
- Remove unused argument IMMEDIATE. Update all callers.
- Also consider '}' as a finalizer.
- (consume_until_comma_or_eos): Rename from
- consume_until_comma_or_semi.
- Remove unused argument IMMEDIATE. Update all callers.
- Also consider '}' as a finalizer.
- (direct_declarator): Add documentation on ctor support.
- Add argument IN_STRUCT.
- If the token following ID is a '(', consider ID a
- function and return NULL.
- If the token following '(' is not a '*', and IN_STRUCT is true,
- conclude that this is a ctor and return NULL.
- If the token is IGNORABLE_CXX_KEYWORD, return NULL.
- (inner_declarator): Add argument IN_STRUCT.
- Update all callers.
- (declarator): Add argument IN_STRUCT with default value false.
- Update all callers.
- (type): Document argument NESTED.
- Skip over C++ inheritance specifiers.
- If a token TYPEDEF is found, emit an error.
- If an enum is found inside a class/structure, emit an error.
- (typedefs, structures, param_structs, variables): Initialize.
- (new_structure): Do not complain about duplicate
- structures if S has a line location set.
- * gengtype-state.c (write_state_type): Remove default handler.
- Add handler for TYPE_NONE.
- (read_state_scalar_char_type):
- * gengtype.c: Fix spacing.
- * gengtype.h (enum gty_token): Add name. Add token
- IGNORABLE_CXX_KEYWORD.
-
-2012-10-12 Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/arm/arm.md (get_thread_pointersi): Moved to place with
- other TLS related patterns.
-
-2012-10-12 Richard Biener <rguenther@suse.de>
-
- * tree-streamer-out.c (pack_ts_target_option): Rename from ...
- (write_ts_target_option): ... this.
- (pack_ts_optimization): Rename from ...
- (write_ts_optimization): ... this.
- (streamer_pack_tree_bitfields): Pack them in the bitfield section ...
- (streamer_write_tree_body): ... not here.
- * tree-streamer-in.c (unpack_ts_target_option): Rename from ...
- (lto_input_ts_target_option): ... this.
- (unpack_ts_optimization): Rename from ...
- (lto_input_ts_optimization): ... this.
- (unpack_value_fields): Unpack them from the bitfield section ...
- (streamer_read_tree_body): ... not from here.
-
-2012-10-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.md (vecmodesuffix): New mode attribute.
- (modesuffix): Handle V8QI and V4HI modes.
- (any_maxmin): New code iterator.
- (maxmin): New code attribute.
- (<code><mode>3): Macroize insn from {smax,smin,umax,umin}{qi,hi}3
- using any_maxmin code iterator and I12MODE mode iterator.
- (<code><mode>3): Macroize insn from {smax,smin,umax,umin}{v8qi,v4hi}3
- using any_maxmin code iterator and VEC12 mode iterator.
-
-2012-10-12 Marc Glisse <marc.glisse@inria.fr>
-
- * optabs.c (vector_compare_rtx): Change prototype.
- (expand_vec_cond_expr): Handle VEC_COND_EXPR whose first operand
- is not a comparison.
- * gimplify.c (gimplify_expr): Handle VEC_COND_EXPR.
-
-2012-10-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/54894
- * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
- Handle over-aligned scalar types properly.
-
-2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54760
- * config/sh/sh.c (bdesc): Remove thread pointer built-ins.
- * config/sh/sh.md (get_thread_pointer, set_thread_pointer): Append mode
- name 'si'.
-
-2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/sh.md (negsi_cond, negdi_cond, stack_protect_test): Remove
- get_t_reg_rtx when invoking gen_branch_true or gen_branch_false.
- (*zero_extend<mode>si2_compact): Convert to insn_and_split. Convert
- zero extensions of T bit stores to reg moves in splitter. Remove
- obsolete unnamed peephole2 that caught zero extensions after negc T bit
- stores.
- (*branch_true_eq, *branch_false_ne): Delete.
- (branch_true, branch_false): Convert insn to expander. Move actual
- insn logic to...
- (*cbranch_t): ...this new insn_and_split. Try to find preceding
- redundant T bit stores and tests and combine them with the conditional
- branch if possible in the splitter.
- (movrt_xor, *movt_movrt): New insn_and_split.
- * config/sh/predicates.md (cbranch_treg_value): New predicate.
- * config/sh/sh-protos.h (sh_eval_treg_value): Forward declare...
- * config/sh/sh.c (sh_eval_treg_value): ...this new function.
- (expand_cbranchsi4, expand_cbranchdi4): Remove get_t_reg_rtx
- when invoking gen_branch_true or gen_branch_false.
-
-2012-10-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.md (IMODE): New mode iterator.
- (I124MODE): Ditto.
- (I248MODE): Ditto.
- (modesuffix): Handle QI and HI modes.
- (zero_extendqi<mode>2): Macroize insn from zero_extendqi{hi,si,di}2
- using I248MODE mode iterator.
- (zero_extendhi<mode>2): Macroize insn from zero_extendhi{si,di}2
- using I48MODE mode iterator.
- (andnot<mode>3): Macroize insn from andnot{si,di}3 using
- I48MODE mode iterator.
- (ins<modesuffix>l_const): Macroize insn from ins{b,w,l}l_const
- using I248MODE mode iterator.
- (ins<modesuffix>l): Macroize insn from ins{b,w,l}l
- using I248MODE mode iterator.
- (*mov<mode>cc_internal): Macroize insn from
- *mov{qi,hi,si,di}cc_internal using IMODE mode iterator.
- (*mov<mode>cc_lbc): Macroize insn from
- *mov{qi,hi,si,di}cc_lbc using IMODE mode iterator.
- (*mov<mode>cc_lbs): Macroize insn from
- *mov{qi,hi,si,di}cc_lbs using IMODE mode iterator.
- (mov<mode>cc): Macroize expander from mov{si,di}cc
- using I48MODE mode iterator.
-
-2012-10-11 Steven Bosscher <steven@gcc.gnu.org>
-
- * ira-build.c (ira_loop_tree_body_rev_postorder): New function.
- (ira_traverse_loop_tree): Traverse a loop's basic blocks in
- reverse post-order of the reversed control-flow direction.
- * ira-conflicts.c (ira_build_conflicts): Pass add_copies as
- the pre-order function to ira_traverse_loop_tree to preserve
- the existing semantics.
-
- * ira-lives.c (remove_some_program_points_and_update_live_ranges):
- Squeeze out live range chain elements if their program points are
- connected.
-
-2012-10-11 Jakub Jelinek <jakub@redhat.com>
-
- * tree.def (REDUC_PLUS_EXPR): Fix up comment.
-
- * fold-const.c (fold_unary_loc): Handle REDUC_MIN_EXPR,
- REDUC_MAX_EXPR and REDUC_PLUS_EXPR.
-
-2012-10-11 James Lemke <jwlemke@codesourcery.com>
-
- * config/rs6000/predicates.md (zero_fp_constant): Fix comment.
- * config/rs6000/rs6000.md (return_pred): Fix null return.
- * config/rs6000/rs6000.c (rs6000_emit_set_const): Fix indentation.
- (print_operand): Make FALLTHRU obvious.
- (output_cbranch): Correct comment.
-
-2012-10-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.md (DWI): New mode attribute.
- (*sadd<modesuffix>): Macroize insn from *saddl and *saddq using
- I48MODE mode iterator.
- (addv<mode>3): Macroize insn from addvsi3 and addvdi3 using
- I48MODE mode iterator.
- (neg<mode>2): Macroize insn from negsi2 and negdi2 using
- I48MODE mode iterator.
- (negv<mode>2): Macroize insn from negvsi2 and negvdi2 using
- I48MODE mode iterator.
- (sub<mode>3): Macroize insn from subsi3 and subdi3 using
- I48MODE mode iterator.
- (*ssub<modesuffix>): Macroize insn from *ssubl and *ssubq using
- I48MODE mode iterator.
- (subv<mode>3): Macroize insn from subvsi3 and subvdi3 using
- I48MODE mode iterator.
- (mul<mode>3): Macroize insn from mulsi3 and muldi3 using
- I48MODE mode iterator.
- (mulv<mode>3): Macroize insn from mulvsi3 and mulvdi3 using
- I48MODE mode iterator.
- (*iornot<mode>3): Macroize insn from *iornotsi3 and *iornotdi3 using
- I48MODE mode iterator.
- (*xornot<mode>3): Macroize insn from *xornotsi3 and *xornotdi3 using
- I48MODE mode iterator.
-
-2012-10-11 Jason Merrill <jason@redhat.com>
-
- * configure.ac (gcc_cv_as_aix_ref): Fix typo.
- * configure: Regenerate.
-
-2012-10-11 Chung-Lin Tang <cltang@codesourcery.com>
-
- * builtins.c (expand_builtin_thread_pointer): New.
- (expand_builtin_set_thread_pointer): New.
- (expand_builtin): Add BUILT_IN_THREAD_POINTER,
- BUILT_IN_SET_THREAD_POINTER expand cases.
- * builtins.def (BUILT_IN_THREAD_POINTER):
- New __builtin_thread_pointer builtin.
- (BUILT_IN_SET_THREAD_POINTER):
- New __builtin_set_thread_pointer builtin.
- * optabs.def (get_thread_pointer,set_thread_pointer):
- New standard names.
- * doc/md.texi (Standard Names): Document get_thread_pointer and
- set_thread_pointer patterns.
- * config/alpha/alpha.md (get_thread_pointerdi): Rename from load_tp.
- (set_thread_pointerdi): Rename from set_tp.
- * config/alpha/alpha.c (alpha_legitimize_address_1): Change
- gen_load_tp calls to gen_get_thread_pointerdi.
- (alpha_builtin): Remove ALPHA_BUILTIN_THREAD_POINTER,
- ALPHA_BUILTIN_SET_THREAD_POINTER.
- (code_for_builtin): Remove CODE_FOR_load_tp, CODE_FOR_set_tp.
- (alpha_init_builtins): Remove __builtin_thread_pointer,
- __builtin_set_thread_pointer machine-specific builtins.
- (alpha_expand_builtin_thread_pointer): Add hook function for
- TARGET_EXPAND_BUILTIN_THREAD_POINTER.
- (alpha_expand_builtin_set_thread_pointer): Add hook function for
- TARGET_EXPAND_BUILTIN_SET_THREAD_POINTER.
- (alpha_fold_builtin): Remove ALPHA_BUILTIN_THREAD_POINTER,
- ALPHA_BUILTIN_SET_THREAD_POINTER cases.
- * config/arm/arm.md (get_thread_pointersi): New pattern.
- * config/arm/arm-protos.h (arm_load_tp): Add extern declaration.
- * config/arm/arm.c (arm_load_tp): Remove static.
- (arm_builtins): Remove ARM_BUILTIN_THREAD_POINTER.
- (arm_init_tls_builtins): Remove function.
- (arm_init_builtins): Remove call to arm_init_tls_builtins().
- (arm_expand_builtin): Remove ARM_BUILTIN_THREAD_POINTER case.
- * config/mips/mips.md (get_thread_pointer<mode>): New pattern.
- * config/mips/mips-protos.h (mips_expand_thread_pointer):
- Add extern declaration.
- * config/mips/mips.c (mips_expand_thread_pointer):
- Renamed from mips_get_tp.
- (mips_get_tp): New stub calling mips_expand_thread_pointer.
- * config/s390/s390.c (s390_builtin,code_for_builtin_64,
- code_for_builtin_31,s390_init_builtins,s390_expand_builtin): Remove.
- * config/s390/s390.md (get_tp_64,get_tp_31,set_tp_64,set_tp_31):
- Remove.
- (get_thread_pointer<mode>,set_thread_pointer<mode>):
- New, adapted from removed patterns.
- * config/xtensa/xtensa.md (get_thread_pointersi):
- Renamed from load_tp.
- (set_thread_pointersi): Renamed from set_tp.
- * config/xtensa/xtensa.c (xtensa_legitimize_tls_address):
- Change gen_load_tp calls to gen_get_thread_pointersi.
- (xtensa_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER and
- XTENSA_BUILTIN_SET_THREAD_POINTER.
- (xtensa_init_builtins): Remove __builtin_thread_pointer,
- __builtin_set_thread_pointer machine-specific builtins.
- (xtensa_fold_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER,
- XTENSA_BUILTIN_SET_THREAD_POINTER cases.
- (xtensa_expand_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER,
- XTENSA_BUILTIN_SET_THREAD_POINTER cases.
-
-2012-10-11 Marc Glisse <marc.glisse@inria.fr>
-
- * doc/extend.texi (Vector Extensions): C++ improvements.
- * doc/generic.texi (LSHIFT_EXPR, RSHIFT_EXPR): Mixed vector-scalar.
- (LT_EXPR, LE_EXPR, GT_EXPR, GE_EXPR, EQ_EXPR, NE_EXPR): Specify
- the vector case.
- (VEC_COND_EXPR): Document it.
-
-2012-10-11 Terry Guo <terry.guo@arm.com>
-
- * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
- architecture.
- * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
- instruction.
-
-2012-10-11 Hans-Peter Nilsson <hp@bitrange.com>
-
- PR target/54373
- * configure.ac (out-of-tree linker .hidden support) Set to "no"
- for mmix-knuth-mmixware.
- * configure: Regenerate.
-
- * configure.ac (gcc_cv_as_comdat_group_group): Default to no.
- * configure: Regenerate.
-
- * acinclude.m4 (_gcc_COMPUTE_GAS_VERSION): Allow a single
- character to quote the VERSION= contents. Sanity-check contents.
- * configure.ac ("what linker to use" ld version extraction): Ditto.
- * configure: Regenerate.
-
-2012-10-10 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.h (PRINT_OPERAND_PUNCT_VALID_P): Delete '.'.
-
-2012-10-10 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/54877
- * tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR
- use make_ssa_name instead of copy_ssa_name.
-
-2012-10-10 Richard Biener <rguenther@suse.de>
-
- * lto-streamer-in.c (lto_input_location_bitpack): Rename to ...
- (lto_input_location): ... this. Kill original.
- (input_eh_region): Adjust.
- (input_struct_function_base): Likewise.
- (lto_read_tree): Likewise.
- * lto-streamer-out.c (lto_output_location_bitpack): Rename to ...
- (lto_output_location): ... this. Kill original.
- (lto_write_tree): Adjust.
- (output_eh_region): Likewise.
- (output_struct_function_base): Likewise.
- * lto-streamer.c (lto_streamer_hooks_init): Initialize location hooks.
- * lto-streamer.h (lto_input_location): Adjust prototype.
- (lto_output_location): Likewise.
- * streamer-hooks.h (struct streamer_hooks): Adjust prototype
- of input_location and output_location hooks.
- (stream_input_location): New define.
- (stream_output_location): Likewise.
- * tree-streamer-in.c (unpack_ts_block_value_fields): Adjust.
- (unpack_value_fields): Likewise.
- (streamer_read_tree_bitfields): Likewise.
- (lto_input_ts_decl_minimal_tree_pointers): Likewise.
- (lto_input_ts_exp_tree_pointers): Likewise.
- (lto_input_ts_block_tree_pointers): Likewise.
- * tree-streamer-out.c (pack_ts_block_value_fields): Adjust.
- (streamer_pack_tree_bitfields): Likewise.
- (write_ts_decl_minimal_tree_pointers): Likewise.
- (write_ts_exp_tree_pointers): Likewise.
- (write_ts_block_tree_pointers): Likewise.
- * gimple-streamer-in.c (input_phi): Adjust.
- (input_gimple_stmt): Likewise.
- * gimple-streamer-out.c (output_phi): Adjust.
- (output_gimple_stmt): Likewise.
- * tree-streamer.h (streamer_read_tree_bitfields): Adjust prototype.
- (streamer_pack_tree_bitfields): Likewise.
-
-2012-10-10 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (altivec_expand_dst_builtin): Fix signed
- vs. unsigned warnings by using enum type for function code.
- (paired_expand_builtin): Likewise.
- (spe_expand_builtin): Likewise.
-
- * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Change
- builtin mask, target flags masks type to HOST_WIDE_INT in
- preparation for growing the number of ISA switches from 31 to 63.
-
- * config/rs6000/rs6000.opt (rs6000_builtin_mask): Make mask type
- HOST_WIDE_INT.
-
- * config/rs6000/rs6000.c (struct builtin_description): Make
- builtin mask field HOST_WIDE_INT. Make target flags field
- HOST_WIDE_INT in preparation for growing the # of ISA switches.
- (struct rs6000_builtin_info_type): Likewise.
- (struct rs6000_ptt): Likewise.
- (rs6000_builtin_mask_calculate): Likewise.
- (rs6000_invalid_builtin): Likewise.
- (rs6000_builtin_decl): Likewise.
- (rs6000_common_init_builtins): Likewise.
- (rs6000_darwin_file_start): Likewise.
- (rs6000_final_prescan_insn): Likewise.
- (rs6000_inner_target_options): Likewise.
- (build_target_option_node): Likewise.
- (rs6000_function_specific_print): Likewise.
- (DEBUG_FMT_W): New format for printing HOST_WIDE_INT in hex.
-
- * config/rs6000/rs6000-protos.h (rs6000_builtin_mask_calculate):
- Make target flags, builtin masks arguments/return values
- HOST_WIDE_INT in preparation for growing the number of ISA from 31
- to 63.
- (rs6000_target_modify_macros): Likewise.
- (rs6000_target_modify_macros_ptr): Likewise.
-
- * config/rs6000/rs6000.c (DEBUG_FMT_ID): Move "-32s" to a separate
- define and change DEBUG_FMT_<x> to use it.
- (DEBUG_FMT_D): Likewise.
- (DEBUG_FMT_S): Likewise.
- (DEBUG_FMT_X): Delete, no longer used.
- (DEBUG_FMT_W): Likewise.
- (DEBUG_FMT_WX): New debug format for printing options in a
- friendly fashion.
- (rs6000_debug_reg_global): If -mdebug=reg, print all of the
- options in target_flags and target_flags_explicit. Print the
- default options for -mcpu=<xxx>, -mtune=<xxx>, and the default
- options. Adjust printing out the builtin options.
- (rs6000_option_override_internal): Change printing the builtin
- options to use rs6000_print_builtin_options.
- (rs6000_function_specific_print): Change to use
- rs6000_print_isa_options to print ISA flags.
- (rs6000_print_options_internal): New function for expanded
- -mdebug=reg option printing to print both the ISA options, and the
- builtins that are enabled.
- (rs6000_print_isa_options): New function to print the ISA options.
- (rs6000_print_builtin_options): New function to print the builtin
- functions enabled.
-
-2012-10-10 Jakub Jelinek <jakub@redhat.com>
-
- PR target/51109
- * config/i386/bdver1.md (bdver1-mult): Remove.
-
- PR middle-end/54879
- * combine.c (count_rtxs): Use RTX_BIN_ARITH resp. RTX_COMM_ARITH
- instead of '2' resp. 'c' for GET_RTX_CLASS comparisons.
-
- PR middle-end/54862
- * simplify-rtx.c (simplify_truncation): Compare UINTVAL instead of
- INTVAL of second argument with precision resp. op_precision.
-
-2012-10-10 Dodji Seketeli <dodji@redhat.com>
-
- PR middle-end/54860 - Make sure attributes hash table is created
- * attribs.c (register_scoped_attributes): Ensure the attribute
- hash table is created.
-
-2012-10-10 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
-
- PR target/51109
- * config/i386/bdver1.md (bdver1_int): Automaton has been
- split to reduce state transitions.
-
-2012-10-10 Richard Biener <rguenther@suse.de>
-
- PR middle-end/54876
- * ipa-prop.c (prune_expression_for_jf_1): New function.
- (prune_expression_for_jf): Clear EXPR_LOCATION for all
- sub-expressions as well.
-
-2012-10-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config.gcc: Enable zEC12 for with-arch and with-tune
- configure switches.
- * common/config/s390/s390-common.c (processor_flags_table): Add
- zEC12 entry.
- * config/s390/2827.md: New file.
- * config/s390/s390-opts.h (enum processor_type): Add
- PROCESSOR_2827_ZEC12.
- * config/s390/s390.h (enum processor_flags): Add PF_ZEC12.
- (TARGET_CPU_ZEC12, TARGET_ZEC12): New macro definitions.
- * config/s390/s390.c (zEC12_cost): New definition.
- (s390_option_override): Set costs for zEC12.
- Set parameter defaults for zEC12.
- (legitimate_reload_fp_constant_p): Adjust comment.
- (preferred_la_operand_p): Adjust comment.
- (s390_expand_insv): Generate insv pattern without CC clobber for zEC12.
- (s390_adjust_priority): Add zEC12 check.
- (s390_issue_rate): Return 2 for zEC12.
- (s390_reorg): Enable code optimizations for zEC12.
- (s390_sched_reorder): Reorder insns according to OOO attributes.
- (s390_get_sched_attrmask): New function.
- (s390_sched_score): New function.
- (s390_sched_variable_issue): Update s390_sched_state.
- (s390_sched_init): Reset s390_sched_state.
- (s390_loop_unroll_adjust): Enable for zEC12.
- * config/s390/s390.opt: Add zEC12 processor type value.
- * config/s390/s390.md: Enable mnemonic attribute.
- (attr cpu, cpu_facility): Add zEC12.
- Include 2827.md.
- ("*insv<mode>_zEC12", "*insv<mode>_zEC12_noshift")
- ("*load_and_trap<mode>"): New insn definition.
- ("*cmp_and_trap_unsigned_int<mode>"): Add clt and clgt.
-
-2012-10-09 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (type attribute): Add new types 'visl'
- (VIS logical operation), 'vismv' (VIS move), and 'pdistn'. Rename
- 'fgm_pdist' to 'pdist'.
- (*movsi_insn): Use vismv and visl.
- (*movdi_insn_sp64): Likewise.
- (*movsf_insn): Likewise.
- (*movdf_insn_sp64): Likewise.
- (*mov<VM32:mode>_insn): Likewise, use 'fsrc2s' instead of 'fsrc1s'.
- (*mov<VM64:mode>_insn_sp64): Likewise, use 'fsrc2s'
- instead of 'fsrc1s'.
- (*mov<VM64:mode>_insn_sp32): Likewise, use 'fsrc2s'
- instead of 'fsrc1s'.
- (VIS logical instructions): Mark as visl.
- (pdist_vis): Use 'pdist'.
- (pditsn<mode>_vis): Use 'pdistn'.
- * config/sparc/ultra1_2.md: Adjust for new VIS attribute types.
- * config/sparc/ultra3.md: Likewise.
- * config/sparc/niagara.md: Likewise.
- * config/sparc/niagara2.md: Likewise.
- * config/sparc/niagara4.md: Add cpu units "n4_slot2" and
- "n4_load_store" for special store scheduling. Use them in load
- and store reservations. Integer divide and multiply can only
- issue in slot-1. Represent 1-cycle VIS moves and 3-cycle VIS
- logic operations.
-
-2012-10-10 Dehao Chen <dehao@google.com>
-
- * tree-eh.c (lower_try_finally_onedest): Set correct location for
- deallocator.
- * gimplify.c (gimplify_expr): Set correct location for TRY stmt.
-
-2012-10-10 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/52480
- * config/sh/sh.md (extv, extzv): Check that operands[3] is zero,
- regardless of the endianness.
-
-2012-10-09 Lawrence Crowl <crowl@google.com>
-
- * Makefile.in (fold-const.o): Add depencence on hash-table.h.
- (dse.o): Likewise.
- (cfg.o): Likewise.
- * fold-const.c (fold_checksum_tree): Change to new
- type-safe hash table.
- * (print_fold_checksum): Likewise.
- * cfg.c (var bb_original): Likewise.
- * (var bb_copy): Likewise.
- * (var loop_copy): Likewise.
- * hash-table.h (template hash_table): Constify parameters for find...
- and remove_elt... member functions.
- (hash_table::empty) Correct size expression.
- (hash_table::clear_slot) Correct deleted entry assignment.
- * dse.c (var rtx_group_table): Change to new type-safe hash table.
-
-2012-10-09 Steven Bosscher <steven@gcc.gnu.org>
-
- * basic-block. (profile_record): New struct, moved from passes.c.
- * cfghooks.h (struct cfg_hooks) <account_profile_record>: New hook.
- (account_profile_record): New prototype.
- * cfghooks.c (account_profile_record): New function.
- * tree-cfg.c (gimple_account_profile_record): New function
- (gimple_cfg_hooks): Add it.
- * cfgrtl.c (rtl_account_profile_record): New function
- (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Add it.
- * passes.c (check_profile_consistency): Simplify. Move IR-dependent
- code around using cfghooks machinery.
-
-2012-10-09 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54760
- * doc/extend.texi (Target Builtins): Add SH built-in section.
- Document __builtin_thread_pointer and __builtin_set_thread_pointer.
-
-2012-10-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- PR middle-end/53397
- * tree-ssa-loop-prefetch.c (gather_memory_references_ref):
- Perform non constant step prefetching in inner loop, only
- when it is invariant in the entire loop nest.
- * tree-ssa-loop-prefetch.c (dump_mem_details): New function to dump
- base, step and delta values of memeory reference analysed for
- prefetching.
- * tree-ssa-loop-prefetch.c (dump_mem_ref): Call dump_mem_details
- to print base, step and delta values of memory reference.
- * cfgloop.h (loop_outermost): New function that returns outermost
- loop for a given loop in a loop nest.
-
-2012-10-09 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/54837
- * cfgexpand.c (expand_debug_source_expr): Move checking
- code conditional on a found decl_debug_args vector.
-
-2012-10-09 Richard Guenther <rguenther@suse.de>
-
- * tree-streamer.c (streamer_tree_cache_get): Move ...
- * tree-streamer.h (streamer_tree_cache_get): ... here as inline.
-
-2012-10-09 Jan Hubicka <jh@suse.cz>
-
- * loop-unroll.c (unroll_loop_constant_iterations): Add
- update of loop->nb_iterations_upper_bound I missed in my previous
- commit; use TRUNC_DIV_EXPR instead of FLOOR_DIV_EXPR to divide
- iteration count.
- (decide_unroll_runtime_iterations): Avoid overflow.
- (unroll_loop_runtime_iterations): Use TRUNC_DIV_EXPR instead of
- FLOOR_DIV_EXPR to update iteration bounds.
- (decide_peel_simple): Avoid integer overflow when deciding
- on number of peelings.
- (decide_unroll_stupid): Likewise.
-
-2012-10-09 Tobias Burnus <burnus@net-b.de>
-
- * lto-cgraph.c (input_node_opt_summary): Remove unused code.
- * lto-opts.c (append_to_collect_gcc_options): Fix condition.
- * lto-symtab.c (lto_cgraph_replace_node): Don't xstrdup string
- which is passed to fprintf.
-
-2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54194
- * tree.h: Add EXPR_LOC_OR_LOC.
-
-2012-10-09 Nick Clifton <nickc@redhat.com>
-
- PR rtl-optimization/54739
- * config/mcore/mcore.md: (anddi3, iordi3, xordi3): Delete patterns.
-
- PR target/54661
- * config/mcore/mcore.c (mcore_output_movedouble): Fix typo.
-
-2012-10-09 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/54427
- * fold-const.c (fold_binary_loc): Use build_zero_cst instead of
- build_int_cst for a potential vector.
-
-2012-10-08 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/atom.md (atom_sse_4): Merge atom_sse_attr attibutes.
- (atom_sse_5): Ditto.
-
-2012-10-08 Marc Glisse <marc.glisse@inria.fr>
-
- PR target/54400
- * config/i386/i386.md (type attribute): Add sseadd1.
- (unit attribute): Add support for sseadd1.
- (memory attribute): Likewise.
- * config/i386/athlon.md: Likewise.
- * config/i386/core2.md: Likewise.
- * config/i386/atom.md: Likewise.
- * config/i386/ppro.md: Likewise.
- * config/i386/bdver1.md: Likewise.
- * config/i386/sse.md (sse3_h<plusminus_insn>v2df3): Split into...
- (sse3_haddv2df3): ... expander.
- (*sse3_haddv2df3): ... define_insn. Accept permuted operands.
- (sse3_hsubv2df3): ... define_insn.
- (*sse3_haddv2df3_low): New define_insn.
- (*sse3_hsubv2df3_low): New define_insn.
-
-2012-10-08 Jan Hubicka <jh@suse.cz>
-
- * loop-unswitch.c (unswitch_single_loop): Use
- estimated_loop_iterations_int to prevent unswitching when loop
- is known to not roll.
- * tree-ssa-loop-niter.c (estimated_loop_iterations): Do not segfault
- when SCEV is not initialized.
- (max_loop_iterations): Likewise.
- * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Use
- estimated_loop_iterations_int to prevent unswithcing when
- loop is known to not roll.
- * tree-scalar-evolution.c (scev_initialized_p): New function.
- * tree-scalar-evolution.h (scev_initialized_p): Likewise.
- * loop-unroll.c (decide_peel_once_rolling): Use
- max_loop_iterations_int.
- (unroll_loop_constant_iterations): Update
- nb_iterations_upper_bound and nb_iterations_estimate.
- (decide_unroll_runtime_iterations): Use
- estimated_loop_iterations or max_loop_iterations;
- (unroll_loop_runtime_iterations): fix profile updating.
- (decide_peel_simple): Use estimated_loop_iterations
- and max_loop_iterations.
- (decide_unroll_stupid): Use estimated_loop_iterations
- ad max_loop_iterations.
- * loop-doloop.c (doloop_modify): Use max_loop_iterations_int.
- (doloop_optimize): Likewise.
- * loop-iv.c (iv_number_of_iterations): Use record_niter_bound.
- (find_simple_exit): Likewise.
- * cfgloop.h (struct niter_desc): Remove niter_max.
-
-2012-10-08 Marek Polacek <polacek@redhat.com>
-
- PR debug/54831
- * var-tracking.c (vt_add_function_parameter): Use condition instead
- of gcc_assert.
-
-2012-10-08 Dehao Chen <dehao@google.com>
-
- * predict.c (predict_loops): Predict for short-circuit conditions.
- (predict_extra_loop_exits): New Function.
-
-2012-10-08 Steven Bosscher <steven@gcc.gnu.org>
-
- * bitmap.h (bitmap_and_into): Update prototype.
- * bitmap.c (bitmap_and_into): Return true if the target bitmap
- changed, false otherwise.
-
- * df.h (df_dump_insn_problem_function): New function type.
- (struct df_problem): Add two functions, to dump just before and
- just after an insn.
- (DF_RD_PRUNE_DEAD_DEFS): New changable flag.
- (df_dump_insn_top, df_dump_insn_bottom): New prototypes.
- * df-core (df_dump_region): Use dump_bb.
- (df_dump_bb_problem_data): New function.
- (df_dump_top, df_dump_bottom): Rewrite using df_dump_bb_problem_data.
- (df_dump_insn_problem_data): New function.
- (df_dump_insn_top, df_dump_insn_bottom): New functions.
- * df-scan.c (problem_SCAN): Add NULL fields for new members.
- * df-problems.c (df_rd_local_compute): Ignore hard registers if
- DF_NO_HARD_REGS is in effect.
- (df_rd_transfer_function): If DF_RD_PRUNE_DEAD_DEFS is in effect,
- prune reaching defs using the LR problem.
- (df_rd_start_dump): Fix dumping of DEFs map.
- (df_rd_dump_defs_set): New function.
- (df_rd_top_dump, df_rd_bottom_dump): Use it.
- (problem_RD): Add NULL fields for new members.
- (problem_LR, problem_LIVE): Likewise.
- (df_chain_bb_dump): New function.
- (df_chain_top_dump): Dump only for artificial DEFs and USEs,
- using df_chain_bb_dump.
- (df_chain_bottom_dump): Likewise.
- (df_chain_insn_top_dump, df_chain_insn_bottom_dump): New functions.
- (problem_CHAIN): Add them as new members.
- (problem_WORD_LR, problem_NOTE): Add NULL fields for new members.
- (problem_MD): Likewise.
- * cfgrtl.c (rtl_dump_bb): Use df_dump_insn_top and df_dump_insn_bottom.
- (print_rtl_with_bb): Likewise.
-
- * dce.c (init_dce): Use DF_RD_PRUNE_DEAD_DEFS.
- * loop-invariant.c (find_defs): Likewise.
- * loop-iv.c (iv_analysis_loop_init): Likewise.
- * ree.c (find_and_remove_re): Likewise.
- * web.c (web_main): Likewise.
-
-2012-10-08 Jason Merrill <jason@redhat.com>
-
- * config/rs6000/rs6000.c (rs6000_code_end): Protect the use of
- ASM_WEAKEN_DECL with #if RS6000_WEAK.
-
-2012-10-08 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54825
- * tree-ssa-sccvn.c (vn_nary_length_from_stmt): Handle BIT_FIELD_REF.
- (init_vn_nary_op_from_stmt): Likewise.
- * tree-ssa-pre.c (compute_avail): Use vn_nary_op_lookup_stmt.
- * tree-ssa-sccvn.h (sizeof_vn_nary_op): Avoid overflow.
-
-2012-10-08 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-pre.c (postorder_num): New global.
- (compute_antic): Initialize all blocks and adjust for
- generic postorder.
- (my_rev_post_order_compute): Remove.
- (init_pre): Use inverted_post_order_compute.
-
-2012-10-08 Bernd Schmidt <bernds@codesourcery.com>
-
- * sched-int.h (schedule_block): Adjust declaration.
- * sched-rgn.c (bb_state_array, bb_state): New static variables.
- (sched_rgn_init): Initialize them.
- (sched_rgn_free): Free them.
- (schedule_region): Save scheduling state for future blocks, and
- pass such state to schedule_block.
- * params.def (PARAM_SCHED_STATE_EDGE_PROB_CUTOFF): New.
- * doc/invoke.texi (--param): Document it.
- * haifa-sched.c (schedule_block): New arg init_state. Use it to
- initialize state if nonnull. All callers changed.
- Call advance_one_cycle after scheduling.
-
-2012-10-08 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/54854
- * doc/invoke.texi (AVR Options): Remove -mshort-calls.
- * config/avr/avr.opt (-mshort-calls): Remove option.
- * config/avr/avr.h (AVR_HAVE_JMP_CALL): Don't depend on
- TARGET_SHORT_CALLS.
-
-2012-10-08 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54685
- * config/sh/sh.md (one_cmplsi2): Make insn_and_split. Add manual
- combine matching for an insn sequence where a ge:SI pattern
- can be used.
-
-2012-10-08 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/53528 C++11 attribute support
- * plugin.h (register_scoped_attributes): Declare new function.
- * tree.h (enu attribute_flags::ATTR_FLAG_CXX_11): New flag.
- (lookup_scoped_attribute_spec, cxx_11_attribute_p)
- (get_attribute_name, get_attribute_namespace): Declare new functions.
- (struct attribute_spec): Remove const qualifier from the members.
- * tree.c (comp_type_attributes, private_lookup_attribute)
- (lookup_ident_attribute, remove_attribute, merge_attribute)
- (attribute_hash_list, attribute_list_contained): Use
- get_attribute_name.
- * attribs.c (decl_attributes): Don't crash on error_mark_node.
- Forbid c++11 attributes appertaining to type-specifiers.
- (attribute_hash): Remove global variable.
- (attributes_table): New global variable.
- (find_attribute_namespace, register_scoped_attribute): New static
- functions.
- (register_scoped_attributes, lookup_scoped_attribute_spec)
- (cxx11_attribute_p, get_attribute_name, get_attribute_namespace):
- New public functions.
- (init_attributes): Register all the GNU attributes into the "gnu"
- namespace.
- (register_attribute): Use register_scoped_attribute to register
- the attribute into the "gnu" namespace.
- (lookup_attribute_spec): Use lookup_scoped_attribute_spec to
- lookup the attribute in the "gnu" namespace.
- (decl_attributes): Use new get_attribute_namespace and
- lookup_scoped_attribute_spec to consider attribute namespaces when
- looking up attributes. When operating in c++-11 mode, pass flag
- ATTR_FLAG_CXX11 to the spec handler.
-
-2012-10-08 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/54815
- * config/avr/avr.md (*add<mode>3, add<mode>3, addpsi3): Make
- constraint alternative "r,0,r" slighly more expensive.
- (sub<mode>3, andqi3, andhi3, andpsi3, andsi3): Ditto.
- (iorqi3, iorhi3, iorpsi3, iorsi3): Ditto.
- (xorhi3, xorpsi3, xorsi3): Ditto.
-
-2012-10-08 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54760
- * config/sh/sh.md (*mov<mode>_gbr_load, *mov<mode>_gbr_store): New
- insns and accompanying unnamed splits.
- * config/sh/predicates.md (general_movsrc_operand,
- general_movdst_operand): Reject GBR addresses.
- * config/sh/sh-protos.h (sh_find_equiv_gbr_addr): New declaration.
- * config/sh/sh.c (sh_address_cost, sh_legitimate_address_p,
- sh_secondary_reload): Handle GBR addresses.
- (base_reg_disp): New class.
- (sh_find_base_reg_disp, sh_find_equiv_gbr_addr): New functions.
-
-2012-10-08 Hans-Peter Nilsson <hp@bitrange.com>
-
- * config/mmix/mmix.c (mmix_output_octa): Don't assume
- HOST_WIDEST_INT_PRINT_HEX starts with "0x". Instead use
- HOST_WIDE_INT_PRINT_HEX_PURE, falling back to
- HOST_WIDEST_INT_PRINT_UNSIGNED.
-
-2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
-
- * machmode.h (GET_MODE_UNIT_PRECISION): New macro.
- * simplify-rtx.c (simplify_truncation): New function,
- extracted from simplify_subreg and (in small part) from
- simplify_unary_operation_1.
- (simplify_unary_operation_1) <TRUNCATE>: Use it. Remove sign bit
- test for !TRULY_NOOP_TRUNCATION_MODES_P.
- (simplify_subreg): Use simplify_truncate for lowpart subregs
- where both the inner and outer modes are scalar integers.
- * config/mips/mips.c (mips_truncated_op_cost): New function.
- (mips_rtx_costs): Adjust test for BADDU.
- * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
-
-2012-10-07 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-analysis.c (do_estimate_edge_time): Return actual
- time spent by the inlined sequence.
- (do_estimate_edge_growth): Rename to ...
- (do_estimate_edge_time): ... this one; return size of inlined sequence.
- * ipa-inline.h (do_estimate_edge_size): New.
- (do_estimate_edge_growth): Remove.
- (estimate_edge_size): New function.
- (estimate_edge_growth): Use it.
-
-2012-10-07 Jan Hubicka <jh@suse.cz>
-
- * lto-cgraph.c (lto_symtab_encoder_new): New parameter FOR_INPUT.
- (lto_symtab_encoder_delete): Update.
- (lto_symtab_encoder_encode): Update.
- (compute_ltrans_boundary): Update.
- (input_symtab): Update.
- * lto-streamer.h (lto_symtab_encoder_new): Update.
-
-2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips-protos.h (mips_split_type): New enum.
- (mips_split_64bit_move_p, mips_split_doubleword_move): Delete.
- (mips_split_move_p, mips_split_move, mips_split_move_insn_p)
- (mips_split_move_insn): Declare.
- * config/mips/mips.c (mips_tuning_info): New variable.
- (mips_load_store_insns): Use mips_split_move_insn_p instead of
- mips_split_64bit_move_p.
- (mips_emit_move_or_split, mips_mult_move_p): New functions.
- (mips_split_64bit_move_p): Rename to...
- (mips_split_move_p): ...this and take a mips_split_type argument.
- Generalize to all moves. Call mips_mult_move_p.
- (mips_split_doubleword_move): Rename to...
- (mips_split_move): ...this and take a mips_split_type argument.
- Assert that mips_split_move_p holds.
- (mips_insn_split_type, mips_split_move_insn_p, mips_split_move_insn):
- New functions.
- (mips_output_move): Use mips_split_move_p instead of
- mips_split_64bit_move_p. Handle MULT $0, $0 moves.
- (mips_save_reg): Use mips_emit_move_or_split.
- (mips_sim_reset): Assign to curr_state. Call targetm.sched.init
- and advance_state.
- (mips_sim_init): Call targetm.sched.init_dfa_pre_cycle_insn and
- targetm.sched.init_dfa_post_cycle_insn, if defined.
- (mips_sim_next_cycle): Assign to curr_state. Use advance_state
- instead of state_transition.
- (mips_sim_issue_insn): Assign to curr_state. Use
- targetm.sched.variable_issue to see how many more insns can be issued.
- (mips_seq_time, mips_mult_zero_zero_cost)
- (mips_set_fast_mult_zero_zero_p, mips_set_tuning_info)
- (mips_expand_to_rtl_hook): New functions.
- (TARGET_EXPAND_TO_RTL_HOOK): Define.
- * config/mips/mips.md (move_type): Add imul.
- (type): Map imul move_types to imul.
- (*movdi_32bit, *movti): Add imul alternatives.
- Use mips_split_move_insn_p and mips_split_move_insn instead of
- mips_split_64bit_move_p and mips_split_doubleword_move in move
- splitters.
-
-2012-10-06 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (print_operand) ['A']: Delete.
-
-2012-10-06 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52764
- * ginclude/stdint-wrap.h: In C++11 if __STDC_HOSTED__ define
- __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS.
- * ginclude/stdint-gcc.h: In C++11 unconditionally define
- limit and constant macros.
-
-2012-10-06 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54249
- * ginclude/stddef.h: In C++11 mode declare nullptr_t in the global
- namespace.
-
-2012-10-06 Jan Hubicka <jh@suse.cz>
-
- PR lto/53831
- PR lto/54776
- * lto-streamer-out.c (produce_symtab): Cleanup; drop v1 API hack.
-
-2012-10-06 Dehao Chen <dehao@google.com>
-
- PR debug/54826
- * gimple-low.c (lower_stmt): Set the block for call args.
-
-2012-10-06 Jan Hubicka <jh@suse.cz>
-
- * doc/invoke.texi (-fprofile-report): Document.
- * common.opt (-fprofile-report): New option.
- * toplev.c (finalize): Call dump_profile_report.
- * toplev.h (profile_report): Declare.
- * passes.c (profile_record): New static var.
- (check_profile_consistency): New function.
- (dump_profile_record): New function.
- (execute_one_ipa_transform_pass): Call check_profile_consistency.
- (execute_one_pass): Likewise.
-
-2012-10-06 Jan Hubicka <jh@suse.cz>
-
- PR lto/54790
- * lto-streamer.h (lto_symtab_register_decl, lto_symtab_get_resolution,
- lto_mark_nothrow_fndecl, lto_fixup_nothrow_decls): Remove.
- * lto-symtab.c (lto_symtab_register_decl): Remove.
-
-2012-10-06 Andreas Schwab <schwab@linux-m68k.org>
-
- PR rtl-optimization/54739
- * config/m68k/m68k.md (anddi3, iordi3, xordi3, one_cmpldi2): Remove.
-
-2012-10-06 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54760
- * config/sh/sh.md (define_constants): Add UNSPECV_GBR.
- (get_thread_pointer, set_thread_pointer): New expanders.
- (load_gbr): Rename to store_gbr. Remove GBR_REG use.
- (store_gbr): New insn.
- * config/sh/sh.c (prepare_move_operands): Use gen_store_gbr instead of
- gen_load_gbr in TLS_MODEL_LOCAL_EXEC case.
- (sh1_builtin_p): New function.
- (signature_args): Add SH_BLTIN_VP.
- (bdesc): Add __builtin_thread_pointer and __builtin_set_thread_pointer.
-
-2012-10-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR rtl-optimization/54739
- * config/pa/pa.md: Remove DImode and, not and, ior and xor patterns
- for 32-bit targets. Adjust expanders.
-
- * config/pa/pa.md: Adjust unamed HImode add insn pattern.
-
-2012-10-05 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.c (builtin_description): Add is_enabled member.
- (shmedia_builtin_p): New function.
- (bdesc): Use shmedia_builtin_p for existing built-ins.
- (sh_media_init_builtins, sh_init_builtins): Merge into single function
- sh_init_builtins. Add is_enabled checking. Move variable declarations
- to where they are actually used.
- (sh_media_builtin_decl, sh_builtin_decl): Merge into single function
- sh_builtin_decl. Add is_enabled checking.
- (sh_expand_builtin): Move variable declarations to where they are
- actually used.
-
-2012-10-05 Jakub Jelinek <jakub@redhat.com>
-
- * tree-inline.c (expand_call_inline): Move VAR_DECLs with
- PARM_DECL origins from remapped DECL_INITIAL's BLOCK_VARS
- into id->block's BLOCK_VARS.
-
- PR debug/54519
- * ipa-split.c (split_function): Add debug args and debug source
- and normal stmts for args_to_skip which are gimple regs.
- * tree-inline.c (copy_debug_stmt): When inlining, adjust source
- debug bind stmts to debug binds of corresponding DEBUG_EXPR_DECL.
-
-2012-10-05 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md: Fix indentations of insn C snippets.
-
-2012-10-05 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/54811
- * tree-ssa-live.c (clear_unused_block_pointer_1): Look at
- DECL_DEBUG_EXPR again.
-
-2012-10-05 Jan Hubicka <jh@suse.cz>
- Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/33763
- * tree-inline.c (expand_call_inline): Silently ignore always_inline
- attribute for redefined extern inline functions.
-
-2012-10-04 Jan Hubicka <jh@suse.cz>
-
- * tree-vectorizer.h (vect_estimate_min_profitable_iters): Remove.
- * tree-vect-loop.c (vect_estimate_min_profitable_iters): Declare here.
- (vect_analyze_loop_operations): Use loop count estimate to rule out
- unprofitable vectorization.
- (vect_estimate_min_profitable_iters): Return
- ret_min_profitable_estimate.
-
-2012-10-05 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/54810
- * tree-vrp.c (register_edge_assert_for_2): Handle
- NAME = (unsigned) NAME2; if (NAME cmp CST) for
- narrowing casts to unsigned integral type like
- NAME = NAME2 & CST2; if (NAME cmp CST) where CST2
- is the max value of the unsigned integral type.
-
-2012-10-04 Jeff Law <law@redhat.com>
-
- PR target/50356
- * config/h8300/h8300.c (h8300_rtx_costs): Fix typo in CONST_INT case.
-
-2012-10-04 Jason Merrill <jason@redhat.com>
-
- * config/rs6000/rs6000.c (rs6000_code_end): Protect the use of
- ASM_WEAKEN_DECL with #if RS6000_WEAK.
-
-2012-10-04 Basile Starynkevitch <basile@starynkevitch.net>
-
- * gengtype.c (walk_type): Emit mark_hook when inside a
- struct of a union member.
-
-2012-10-04 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/predicates.md (flash_operand): New predicate.
- * config/avr/avr.md (reload_in<mode>): Use it in operand 1 instead
- of memory_operand.
-
-2012-10-04 Tobias Burnus <burnus@net-b.de>
-
- * gcc.c (record_temp_file, add_sysrooted_prefix, process_command,
- do_self_spec, compare_debug_dump_opt_spec_function): Plug memleaks.
- (do_spec_1): Ditto, fix out-of-bound access.
- * opts.c (common_handle_option): Plug memleak.
-
-2012-10-04 Jason Merrill <jason@redhat.com>
-
- * config/darwin.c (darwin_assemble_visibility): Treat
- VISIBILITY_INTERNAL as hidden.
-
- * config/darwin-c.c (find_subframework_file): Add missing const.
- (framework_construct_pathname): Likewise.
-
-2012-10-04 Florian Weimer <fweimer@redhat.com>
-
- * doc/cpp.texi (Pragmas): Document #pragma GCC warning, #pragma
- GCC error.
-
-2012-10-04 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/54735
- * tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
- cleaning up the CFG.
-
-2012-10-04 Richard Guenther <rguenther@suse.de>
-
- PR lto/47799
- * tree-streamer-out.c (write_ts_block_tree_pointers): For
- inlined functions outer scopes write the ultimate origin
- as BLOCK_ABSTRACT_ORIGIN and BLOCK_SOURCE_LOCATION.
- Do not stream the fragment chains.
- * tree-streamer-in.c (lto_input_ts_block_tree_pointers): Likewise.
- * dwarf2out.c (gen_subprogram_die): Handle NULL DECL_INITIAL.
- (dwarf2out_decl): Always output DECL_ABSTRACT function decls.
-
-2012-10-04 Arnaud Charlet <charlet@adacore.com>
-
- * dumpfile.h, dumpfile.c: Remove TDI_ada.
-
-2012-10-04 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * config/i386/i386.c (ix86_dep_by_shift_count_body) : Add
- check on reload_completed since it can be invoked before
- register allocation phase in pre-reload schedule.
- (ia32_multipass_dfa_lookahead) : Do not use dfa_lookahead for
- pre-reload schedule to save compile time.
- (ix86_sched_reorder) : Do not perform ready list reordering for
- pre-reload schedule to save compile time.
- (insn_is_function_arg) : New function. Returns true if lhs of insn is
- HW function argument register.
- (add_parameter_dependencies) : New function. Add output dependencies
- for chain of function adjacent arguments if only there is a move to
- likely spilled HW registers. Return first argument if at least one
- dependence was added or NULL otherwise.
- (avoid_func_arg_motion) : New function. Add output or anti dependency
- from insn to first_arg to restrict code motion.
- (add_dependee_for_func_arg) : New function. Avoid cross block motion of
- function argument through adding dependency from the first non-jump
- insn in bb.
- (ix86_dependencies_evaluation_hook) : New function. Hook for
- pre-reload schedule: avoid motion of function arguments passed in
- likely spilled HW registers.
- (ix86_adjust_priority) : New function. Hook for pre-reload schedule:
- set priority of moves from likely spilled HW registers to maximum to
- schedule them as soon as possible.
- (ix86_sched_init_global): Do not perform multipass scheduling for
- pre-reload schedule to save compile time.
-
-2012-10-04 Uros Bizjak <ubizjak@gmail.com>
-
- * configure.ac (noexception_flags): Add -fasynchronous-unwind-tables.
- * configure: Regenerate.
-
-2012-10-04 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.c (sh_can_use_simple_return_p): Return false for
- SHmedia and SHcompact using call cookie.
- * config/sh/sh.md (epilogue): Emit non-inlined return insns for
- SHmedia and SHcompact using call cookie.
-
-2012-10-03 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/sh.md (*mov_t_msb_neg): New insn and two accompanying
- unnamed split patterns.
-
-2012-10-03 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/50457
- * config/sh/sh.c (parse_validate_atomic_model_option): Handle name
- strings in sh_atomic_model.
- * config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Move macro implementation
- to ...
- * config/sh/sh-c.c (sh_cpu_cpp_builtins): ... this new function.
- Add __SH1__ and __SH2__ defines. Add __SH_ATOMIC_MODEL_*__ define.
- * config/sh/sh-protos.h (sh_atomic_model): Add name and cdef_name
- variables.
- (sh_cpu_cpp_builtins): Declare new function.
-
-2012-10-03 Dehao Chen <dehao@google.com>
-
- PR middle-end/54782
- * tree-cfg.c (move_block_to_fn): Update lexical block for phi_args.
-
-2012-10-03 Vladimir Makarov <vmakarov@redhat.com>
-
- * reginfo.c (max_regno_since_last_resize): New.
- (reg_preferred_class, reg_alternate_class): Add assert.
- (allocate_reg_info): Initialize allocated reg info.
- (resize_reg_info): Make bigger reg_info and initialize new memory.
- (reginfo_init): Initialize max_regno_since_last_resize.
- (setup_reg_classes): Change assert.
-
-2012-10-03 Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
- in SSE and YMM state support check for -march=native.
-
-2012-10-03 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.c (struct decl_chain): New local structure.
- (warned_decls): New local variable. Contains a stack of decls for
- which warnings have been issued.
- (add_warned_decl): Adds a decl to the stack.
- (already_warned): Returns true if a given decl is on the stack.
- (rx_set_current_function): Issue a warning if multiple fast
- interrupt handlers are defined.
- * config/rx/rx.opt (mwarn-multiple-fast-interrupts): New option.
- * doc/invoke.texi: Document the option.
-
-2012-10-03 Mark Kettenis <kettenis@openbsd.org>
-
- * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
- default_use_cxa_atexit to yes.
-
-2012-10-03 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/54792
- * sched-deps.c (find_modifiable_mems): Scan also TAIL insn.
-
-2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/54785
- * doc/invoke.texi: Document -mprefer-avx128.
-
-2012-10-02 Andrew Pinski <apinski@cavium.com>
-
- * simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>):
- Don't optimize a truncate of a mem if it is a vector mode.
-
-2012-10-02 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/54551
- * Makefile.in (VALTRACK_H): Add hash-table.h.
- * valtrack.h: Include hash-table.h.
- (struct dead_debug_global_entry): New.
- (struct dead_debug_hash_descr): New.
- (struct dead_debug_global): New.
- (struct dead_debug): Rename to...
- (struct dead_debug_local): ... this. Adjust all uses.
- (dead_debug_global_init, dead_debug_global_finish): New.
- (dead_debug_init): Rename to...
- (dead_debug_local_init): ... this. Adjust all callers.
- (dead_debug_finish): Rename to...
- (dead_debug_local_finish): ... this. Adjust all callers.
- * valtrack.c (dead_debug_global_init): New.
- (dead_debug_init): Rename to...
- (dead_debug_local_init): ... this. Take global parameter.
- Save it and initialize used bitmap from it.
- (dead_debug_global_find, dead_debug_global_insert): New.
- (dead_debug_global_replace_temp): New.
- (dead_debug_promote_uses): New.
- (dead_debug_finish): Rename to...
- (dead_debug_local_finish): ... this. Promote remaining uses.
- (dead_debug_global_finish): New.
- (dead_debug_add): Try to replace global temps first.
- (dead_debug_insert_temp): Support global replacements.
- * dce.c (word_dce_process_block, dce_process_block): Add
- global_debug parameter. Pass it on.
- (fast_dce): Initialize, pass on and finalize global_debug.
- * df-problems.c (df_set_unused_notes_for_mw): Adjusted.
- (df_create_unused_notes, df_note_bb_compute): Likewise.
- (df_note_compute): Justify local-only dead debug analysis.
-
-2012-10-02 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/53135
- * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
- when needed.
-
-2012-10-02 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/54177
- * var-tracking.c (vt_add_function_parameter): Bail if
- var_lowpart fails.
-
-2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/54741
- * config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
- (XSTATE_FP): Likewise.
- (XSTATE_SSE): Likewise.
- (XSTATE_YMM): Likewise.
- (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
- SSE and YMM states aren't supported.
-
-2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
- (*baddu_si): ...this new pattern.
-
-2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * ira-int.h (target_ira_int): Add x_ira_useful_class_mode_regs.
- (ira_useful_class_mode_regs): New macro.
- * ira.c (clarify_prohibited_class_mode_regs): Set up
- ira_useful_class_mode_regs.
- * ira-color.c (setup_profitable_hard_regs): Use it to initialise
- profitable_hard_regs.
-
-2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * ira.h (target_ira): Add x_ira_class_singleton.
- (ira_class_singleton): New macro.
- * ira.c (setup_prohibited_class_mode_regs): Set up ira_class_singleton.
- * ira-build.c (update_conflict_hard_reg_costs): Use
- ira_class_singleton to check for classes with a single
- allocatable register.
- * ira-lives.c (ira_implicitly_set_insn_hard_regs): Likewise.
- (single_reg_class): Likewise. When more than one class is specified,
- check whether they have the same singleton register.
- (process_single_reg_class_operands): Require single_reg_class
- to return NO_REGS or a class with a single allocatable register.
- Obtain that register from ira_class_singleton.
-
-2012-10-02 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_option_override_internal): If
- -mcpu=<xxx> is not specified and the compiler is not configured
- using --with-cpu=<xxx>, use the bits from the TARGET_DEFAULT to
- set the initial options.
-
-2012-10-02 Sharad Singhai <singhai@google.com>
-
- PR testsuite/54772
- * tree-vect-stmts.c (vectorizable_operation): Add missing return.
-
-2012-10-02 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Do not
- set TARGET_ALTIVEC_VRSAVE for TARGET_ELF.
- (rs6000_stack_info): Only set vrsave_mask if TARGET_ALTIVEC_VRSAVE.
-
-2012-10-02 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/54713
- * expr.c (categorize_ctor_elements_1): Don't assume purpose is
- non-NULL.
- * tree-cfg.c (verify_gimple_assign_single): Add verification of
- vector CONSTRUCTORs.
- * tree-ssa-sccvn.c (vn_reference_lookup_3): For VECTOR_TYPE
- CONSTRUCTORs, don't do anything if element type is VECTOR_TYPE,
- and don't check index.
- * tree-vect-slp.c (vect_get_constant_vectors): VIEW_CONVERT_EXPR ctor
- elements first if their type isn't compatible with vector element type.
-
-2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.h (DECL_NONLOCAL_FRAME): New macro.
- * tree-nested.c (get_frame_type): Set DECL_NONLOCAL_FRAME.
- * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Stream in
- DECL_NONLOCAL_FRAME flag.
- * tree-streamer-out.c (pack_ts_decl_common_value_fields): Stream out
- DECL_NONLOCAL_FRAME flag.
-
-2012-10-02 Marc Glisse <marc.glisse@inria.fr>
-
- * tree-ssa-forwprop.c (forward_propagate_into_cond): Don't use
- boolean_type_node for vectors.
-
-2012-10-01 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (toplevel): Include dumpfile.h.
- (rs6000_density_test): Rework to accommodate 09-30 change by
- Sharad Singhai.
-
- * config/rs6000/t-rs6000 (rs6000.o): Add dumpfile.h dependency.
-
-2012-10-01 Dehao Chen <dehao@google.com>
-
- PR middle-end/54759
- * tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Use
- LOCATION_LOCUS to compare with UNKNOWN_LOCATION.
- (slpeel_tree_peel_loop_to_edge): Likewise.
- * tree-vectorizer.c (vectorize_loops): Likewise.
-
-2012-10-01 Andrew MacLeod <amacleod@redhat.com>
-
- PR target/54087
- * optabs.c (expand_atomic_fetch_op_no_fallback): New. Factored code
- from expand_atomic_fetch_op.
- (expand_atomic_fetch_op): Try atomic_{add|sub} operations in terms of
- the other one if direct opcode fails.
-
-2012-10-01 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/54457
- * simplify-rtx.c (simplify_subreg):
- Simplify (subreg:M (op:N ((x:N) (y:N)), 0)
- to (op:M (subreg:M (x:N) 0) (subreg:M (x:N) 0)), where
- the outer subreg is effectively a truncation to the original mode M.
-
-2012-10-01 Richard Guenther <rguenther@suse.de>
-
- * builtins.def (ATTR_MATHFN_FPROUNDING): Do not use no-vops
- with -frounding-math.
- * builtin-attrs.def (ATTR_PURE_NOTHROW_NOVOPS_LIST): Remove.
- (ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST): Likewise.
-
-2012-10-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.h (copy_mem_ref_info): Delete.
- * tree-ssa-address.c (copy_mem_ref_info): Likewise.
- (maybe_fold_tmr): Copy flags manually.
- * tree-ssa-loop-im.c (simple_mem_ref_in_stmt): Rewrite.
-
-2012-10-01 Marc Glisse <marc.glisse@inria.fr>
-
- * simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
- Detect the identity.
- <VEC_CONCAT>: Handle VEC_SELECTs from the same vector.
-
-2012-10-01 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/50457
- * config/sh/sh.opt (matomic-model): New option.
- (msoft-atomic): Mark as deprecated and alias to
- matomic-model=soft-gusa.
- (mhard-atomic): Delete.
- * config/sh/predicates.md (gbr_displacement): New predicate.
- * config/sh/sh-protos.h (sh_atomic_model): New struct.
- (selected_atomic_model): New declaration.
- (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT, TARGET_ATOMIC_SOFT_GUSA,
- TARGET_ATOMIC_HARD_LLCS, TARGET_ATOMIC_SOFT_TCB,
- TARGET_ATOMIC_SOFT_TCB_GBR_OFFSET_RTX, TARGET_ATOMIC_SOFT_IMASK):
- New macros.
- * config/sh/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Adapt setting to
- default atomic model.
- * config/sh/sh.c (selected_atomic_model_): New global variable.
- (selected_atomic_model, parse_validate_atomic_model_option): New
- functions.
- (sh_option_override): Replace atomic selection checks with call to
- parse_validate_atomic_model_option.
- * config/sh/sh.h (TARGET_ANY_ATOMIC, UNSUPPORTED_ATOMIC_OPTIONS,
- UNSUPPORTED_HARD_ATOMIC_CPU): Delete.
- (DRIVER_SELF_SPECS): Remove atomic checks.
- config/sh/sync.md: Update documentation comments.
- (atomic_compare_and_swap<mode>, atomic_exchange<mode>,
- atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
- atomic_<fetchop_name>_fetch<mode>, atomic_nand_fetch<mode>): Use
- TARGET_ATOMIC_ANY as condition. Add TARGET_ATOMIC_STRICT check for
- SH4A case. Handle new TARGET_ATOMIC_SOFT_TCB and
- TARGET_ATOMIC_SOFT_IMASK cases.
- (atomic_test_and_set): Handle new TARGET_ATOMIC_SOFT_TCB and
- TARGET_ATOMIC_SOFT_IMASK cases.
- (atomic_compare_and_swapsi_hard, atomic_exchangesi_hard,
- atomic_fetch_<fetchop_name>si_hard, atomic_fetch_nandsi_hard,
- atomic_<fetchop_name>_fetchsi_hard, atomic_nand_fetchsi_hard):
- Add TARGET_ATOMIC_STRICT check.
- (atomic_compare_and_swap<mode>_hard, atomic_exchange<mode>_hard,
- atomic_fetch_<fetchop_name><mode>_hard, atomic_fetch_nand<mode>_hard,
- atomic_<fetchop_name>_fetch<mode>_hard, atomic_nand_fetch<mode>_hard,
- atomic_test_and_set_hard): Use TARGET_ATOMIC_HARD_LLCS condition.
- (atomic_compare_and_swap<mode>_soft, atomic_exchange<mode>_soft,
- atomic_fetch_<fetchop_name><mode>_soft, atomic_fetch_nand<mode>_soft,
- atomic_<fetchop_name>_fetch<mode>_soft, atomic_nand_fetch<mode>_soft,
- atomic_test_and_set_soft): Append _gusa to the insn names and use
- TARGET_ATOMIC_SOFT_GUSA as condition.
- (atomic_compare_and_swap<mode>_soft_tcb,
- atomic_exchange<mode>_soft_tcb,
- atomic_fetch_<fetchop_name><mode>_soft_tcb,
- atomic_fetch_nand<mode>_soft_tcb,
- atomic_<fetchop_name>_fetch<mode>_soft_tcb,
- atomic_nand_fetch<mode>_soft_tcb, atomic_test_and_set_soft_tcb):
- New insns.
- (atomic_compare_and_swap<mode>_soft_imask,
- atomic_exchange<mode>_soft_imask,
- atomic_fetch_<fetchop_name><mode>_soft_imask,
- atomic_fetch_nand<mode>_soft_imask,
- atomic_<fetchop_name>_fetch<mode>_soft_imask,
- atomic_nand_fetch<mode>_soft_imask, atomic_test_and_set_soft_imask):
- New insns.
- * doc/invoke.texi (SH Options): Document new matomic-model option.
- Remove msoft-atomic and mhard-atomic options.
-
-2012-10-01 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- PR target/54746
- * config/s390/s390.c (s390_option_override): Add missing break.
-
-2012-09-30 Sharad Singhai <singhai@google.com>
-
- * dumpfile.c: New file with parts moved from tree-dump.c.
- (pflags): New variable.
- (alt_flags): Ditto.
- (alt_dump_file): Ditto.
- (dump_files): Update to include additional fields.
- (struct dump_option_value_info): Add additional entries.
- (get_dump_file_name): Use command line filename if available.
- (dump_open_alternate_stream): New function.
- (dump_loc): Ditto.
- (dump_gimple_stmt): Ditto.
- (dump_gimple_stmt_loc): Ditto.
- (dump_generic_expr): Ditto.
- (dump_generic_expr_loc): Ditto.
- (dump_printf): Ditto.
- (dump_printf_loc): Ditto.
- (dump_start): Ditto.
- (dump_finish): Ditto.
- (dump_begin): Ditto.
- (dump_enabled_p): Return true if either of the dump types is enabled.
- (dump_initialized_p): Return true if either type of dump is
- initialized.
- (dump_end): Do not close standard streams.
- (dump_enable_all): Handle filenames for regular dumps.
- (dump_switch_p_1): Handle command-line dump filenames.
- (opt_info_enable_all): New function.
- (opt_info_switch_p_1): Ditto.
- (opt_info_switch_p): Ditto.
- (dump_kind_p): Ditto.
- (dump_basic_block): Ditto.
- (dump_combine_total_stats): Ditto.
- (dump_remap_tree_vectorizer_verbose): Ditto.
- * gimple-pretty-print.h: Rename dump_gimple_stmt to
- pp_gimple_stmt_1. All callers updated.
-
-2012-09-30 Sharad Singhai <singhai@google.com>
-
- * doc/invoke.texi: Add documentation for the new -fopt-info option.
- * tree-dump.c: Move general dump file related functionality into
- dumpfile.c. Remove unneeded headers.
- * tree-dump.h: Move function declarations into dumpfile.h.
- * dumpfile.h: Include "line-map.h". Add defines for MSG flags.
- (struct dump_file_info): Move here from tree-dump.c. Rename flags
- to pflags, state to pstate, stream to pstream, filename to
- pfilename. All callers updated. Add alt_flags, alt_state,
- alt_filenmae, alt_stream.
- * tree-vectorizer.c: Include "dumpfile.h". Remove vect_dump.
- (vect_set_dump_settings): Remove.
- (vect_print_dump_info): Ditto.
- * tree-vectorizer.h: Remove declaration of vect_dump and
- vect_print_dump_info.
- * tree-vect-loop.c: Include "dumpfile.h". Use new dump style.
- * tree-vect-data-refs.c: Ditto.
- * tree-vect-stmts.c: Ditto.
- * tree-vect-slp.c: Ditto.
- * tree-vect-patterns.c: Ditto.
- * tree-vect-loop-manip.c: Ditto.
- * opts.c (vect_set_verbosity_level): Remove.
- (common_handle_option): Handle -fopt-info flag. Deprecate
- -ftree-vectorizer-verbose.
- * tree-parloops.c (gather_scalar_reductions): Remove reference to
- vect_dump.
- * flag-types.h: Remove vect_verbosity_levels.
- * common.opt: Add -fopt-info. Deprecate -ftree-vectorizer-verbose.
- * opts-global.c (dump_remap_tree_vectorizer_verbose): New function.
- (handle_common_deferred_options): Handle -fopt-info and
- -ftree-vectorizer-verbose.
- * Makefile.in: Add dumpfile.o.
- (tree-dump.o): Update dependencies.
- (tree-vect-loop.o): Ditto.
- (tree-vect-loop-manip.o): Ditto.
- (tree-vect-slp.o): Ditto.
- (tree-vect-stmts.o): Ditto.
- (tree-vectorizer.o): Ditto.
- (opts.o): Ditto.
- * passes.c (finish_optimization_passes): Instead of using
- dump_begin/dump_end, use dump_start/dump_finish. Do not use dump_file.
- (pass_init_dump_file): Ditto.
-
-2012-09-30 Joern Rennecke <joern.rennecke@embecosm.com>
-
- PR rtl-optimization/38449:
- * hooks.c (hook_bool_const_rtx_const_rtx_true): New function.
- * hooks.h (hook_bool_const_rtx_const_rtx_true): Declare.
- * target.def: Merge in definitions and documentation for
- TARGET_CAN_FOLLOW_JUMP.
- * doc/tm.texi.in: Add documentation locations for the above.
- * doc/tm.texi: Regenerate.
- * reorg.c (follow_jumps): New parameters jump and crossing.
- Changed all callers.
-
-2012-09-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * reorg.c (relax_delay_slots): Use delay_insn consistently.
-
- * config/sparc/sparc.c (gen_stack_pointer_dec): Delete.
- (sparc_expand_epilogue): Use gen_stack_pointer_inc and adjust.
- (sparc_flat_expand_epilogue): Likewise.
- (emit_and_preserve): Likewise.
- (sparc_fold_builtin): Fix thinko in latest change.
-
-2012-09-30 Andreas Schwab <schwab@linux-m68k.org>
-
- * config/m68k/m68k.md: Add names to bitfield insert and extract
- insns.
- (*insv_8_16_reg): Remove constraints and conditions that assume
- that operand 0 could be a MEM.
- (*extzv_8_16_reg, *extv_8_16_reg): Likewise, for operand 1.
-
-2012-09-30 Jan Hubicka <jh@suse.cz>
-
- * cfgloop.c (scale_loop_profile): Move to...
- * cfgloopmanip.c (scale_loop_profile): .. here; use
- scale_loop_frequencies.
- (loopify): Use RDIV.
-
-2012-09-28 Jan Hubicka <jh@suse.cz>
-
- * tree-call-cdce.c (shrink_wrap_one_built_in_call): Update profile.
-
-2012-09-28 Jan Hubicka <jh@suse.cz>
-
- * function.c (dup_block_and_redirect): Update profile.
-
-2012-09-29 Andreas Tobler <andreast@fgznet.ch>
-
- * config.gcc: Replace 'host' with 'target' when configuring for
- powerpc64*-*-freebsd.
-
-2012-09-29 Marc Glisse <marc.glisse@inria.fr>
-
- * tree.c (truth_type_for): New function.
- * tree.h (truth_type_for): Declare.
- * gimple-fold.c (and_comparisons_1): Call it.
- (or_comparisons_1): Likewise.
- * tree-ssa-forwprop.c (forward_propagate_into_cond): Don't use
- boolean_type_node for vectors.
-
-2012-09-28 Jan Hubicka <jh@suse.cz>
-
- * basic-block.h (RDIV): Define.
- (EDGE_FREQUENCY): Simplify.
- (check_probability, combine_probabilities, apply_probability,
- inverse_probability): New.
- * cfgloop.c (scale_loop_profile): New function.
- * cfgloop.h (scale_loop_profile): Declare.
- (slpeel_add_loop_guard): Add probability parameter.
- (set_prologue_iterations): Add probability parameter.
- (slpeel_tree_peel_loop_to_edge): Add bound1 and bound2 parameters;
- update probabilities correctly.
- (vect_do_peeling_for_alignment, vect_gen_niters_for_prolog_loop): New.
-
-2012-09-20 Bernd Schmidt <bernds@codesourcery.com>
-
- PR bootstrap/54688
- * sched-deps.c (parse_add_or_inc): Remove MINUS handling. Take
- STACK_GROWS_DOWNWARD into account.
-
-2012-09-28 Jakub Jelinek <jakub@redhat.com>
-
- PR target/54716
- * config/i386/predicates.md (nonimmediate_or_const_vector_operand):
- New predicate.
- * config/i386/i386.c (ix86_expand_vector_logical_operator): New
- function.
- * config/i386/i386-protos.h (ix86_expand_vector_logical_operator): New
- prototype.
- * config/i386/sse.md (<code><mode>3 VI logic): Use it.
-
- PR tree-optimization/54713
- * fold-const.c (vec_cst_ctor_to_array): Give up if vector CONSTRUCTOR
- has vector elements.
- (fold_ternary_loc) <case BIT_FIELD_REF>: Likewise.
- * tree-vect-generic.c (vector_element): Don't rely on CONSTRUCTOR elts
- indexes. Use BIT_FIELD_REF if CONSTRUCTOR has vector elements.
- (lower_vec_perm): Use NULL_TREE CONSTRUCTOR indexes.
-
-2012-09-28 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md (adjust_len): Add lpm.
- (reload_in<mode>): Use avr_out_lpm for output. Use "lpm" for
- adjust_len.
- * config/avr/avr-protos.h (avr_out_lpm): New prototype.
- * config/avr/avr.c (avr_out_lpm): Make global.
- (adjust_insn_length): Handle ADJUST_LEN_LPM.
-
-2012-09-28 Richard Guenther <rguenther@suse.de>
-
- PR lto/47799
- * lto-streamer-out.c (tree_is_indexable): Make PARM_DECLs global.
- (lto_output_tree_ref): Handle references to them.
- (output_function): Do not output function arguments again.
- * lto-streamer-in.c (input_function): Do not input arguments
- again, nor overwrite them.
-
-2012-09-28 Richard Guenther <rguenther@suse.de>
-
- * cgraph.h (symtab_node_base): Re-order and pack fields.
-
-2012-09-28 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
-
-2012-09-28 Georg-Johann Lay <avr@gjlay.de>
-
- PR rtl-optimization/52543
- * config/avr/avr.c (avr_mode_dependent_address_p): Return true for
- all non-generic address spaces.
- (TARGET_SECONDARY_RELOAD): New hook define to...
- (avr_secondary_reload): ...this new static function.
- * config/avr/avr.md (reload_in<mode>): New insns.
-
- Undo r185605 (mostly):
- * config/avr/avr-protos.h (avr_load_lpm): Remove.
- * config/avr/avr.c (avr_load_libgcc_p): Don't restrict to __flash
- loads.
- (avr_out_lpm): Also handle loads > 1 byte.
- (avr_load_lpm): Remove.
- (avr_find_unused_d_reg): New static function.
- (avr_out_lpm_no_lpmx): New static function.
- (adjust_insn_length): Remove ADJUST_LEN_LOAD_LPM.
- * config/avr/avr.md (unspec): Remove UNSPEC_LPM.
- (load_<mode>_libgcc): Use MEM instead of UNSPEC_LPM.
- (load_<mode>, load_<mode>_clobber): Remove.
- (mov<mode>): For multi-byte move from non-generic
- 16-bit address spaces: Expand to *mov<mode> again.
- (load<mode>_libgcc): New expander.
- (split-lpmx): Remove split.
-
-2012-09-27 Dehao Chen <dehao@google.com>
-
- * tree.h (tree_constructor): Remove IS_UNKNOWN_LOCATION.
- (extern void protected_set_expr_location): Likewise.
- (function_args_iter_next): Likewise.
- (inlined_function_outer_scope_p): Likewise.
- * input.h (IS_UNKNOWN_LOCATION): Likewise.
- * fold-const.c (expr_location_or): Likewise.
- * lto-cgraph.c (output_node_opt_summary): Likewise.
- * dwarf2out.c (add_src_coords_attributes): Likewise.
- * tree-eh.c (lower_try_finally_dup_block): Likewise.
- * profile.c (branch_prob):
- * cfgexpand.c (expand_gimple_cond): Likewise.
- (expand_gimple_basic_block): Likewise.
- (construct_exit_block): Likewise.
- (gimple_expand_cfg): Likewise.
- * cfgcleanup.c (try_forward_edges): Likewise.
- * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
- (dump_scope_block): Likewise.
- * ipa-prop.c (ipa_write_jump_function): Likewise.
- * rtl.h (extern void rtl_check_failed_flag): Likewise.
- * gimple.h (gimple_set_location): Likewise.
- (gimple_has_location): Likewise.
- * cfgrtl.c (unique_locus_on_edge_between_p): Likewise.
- (force_nonfallthru_and_redirect): Likewise.
- (fixup_reorder_chain): Likewise.
- (cfg_layout_merge_blocks): Likewise.
-
-2012-09-27 Meador Inge <meadori@codesourcery.com>
-
- * gcc-ar.c (main): Handle the returning of the sub-process error
- code correctly.
-
-2012-09-27 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * lower-subreg.c (enum classify_move_insn): Rename
- SIMPLE_PSEUDO_REG_MOVE to DECOMPOSABLE_SIMPLE_MOVE.
- (find_decomposable_subregs): Update.
- (decompose_multiword_subregs): Add DECOMPOSE_COPIES parameter.
- Only mark pseudo-to-pseudo copies as DECOMPOSABLE_SIMPLE_MOVE
- if that parameter is true.
- (rest_of_handle_lower_subreg): Call decompose_multiword_subregs
- with DECOMPOSE_COPIES false.
- (rest_of_handle_lower_subreg2): Call decompose_multiword_subregs
- with DECOMPOSE_COPIES true.
-
-2012-09-27 Marek Polacek <polacek@redhat.com>
-
- * doc/gcov.texi (Gcov Data Files): Fix a typo.
-
-2012-09-27 Jakub Jelinek <jakub@redhat.com>
-
- PR target/54703
- * simplify-rtx.c (simplify_binary_operation_1): Perform
- (x - (x & y)) -> (x & ~y) optimization only for integral modes.
-
-2012-09-27 Marc Glisse <marc.glisse@inria.fr>
-
- PR c/53024
- PR c++/54427
- * doc/extend.texi (Vector Extensions): C++ improvements.
- Power of 2 size requirement.
-
-2012-09-27 Richard Guenther <rguenther@suse.de>
-
- PR lto/54709
- * lto-symtab.c (resolution_guessed_p): Remove.
- (set_resolution_guessed): Likewise.
- (lto_symtab_register_decl): Remove assert.
- (lto_symtab_resolve_symbols): Do not alter symbol resolutions
- and return the prevailing symbol, checking for multiple prevailing
- symbols here.
- (lto_symtab_merge_decls_1): Use the result from
- lto_symtab_resolve_symbols. Do not alter symbol resolutions.
-
-2012-09-26 Steve Ellcey <sellcey@mips.com>
-
- PR web/54711
- * doc/install.texi: Fix example.
-
-2012-09-26 Dehao Chen <dehao@google.com>
-
- * tree-ssa-live.c (clear_unused_block_pointer): Use explicitit (void)
- for function parameter.
- (remove_unused_locals): Don't use LOCATION_BLOCK if it is NULL.
-
-2012-09-26 Oleg Endo <olegendo@gcc.gnu.org>
-
- * doc/extend.texi (bswap Builtins): Change signed types to unsigned
- types.
-
-2012-09-26 Ian Lance Taylor <iant@google.com>
-
- * diagnostic.c (bt_callback): Cast pc when calling fprintf.
-
-2012-09-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/54674
- * gimple-ssa-strength-reduction.c (analyze_increments): Don't
- introduce a multiplication with a pointer operand.
-
-2012-09-26 Georg-Johann Lay <avr@gjlay.de>
-
- PR middle-end/54635
- * doc/tm.texi.in (TARGET_MODE_DEPENDENT_ADDRESS_P): Document new
- parameter addrspace.
- * doc/tm.texi: Regenerate.
- * target.def (mode_dependent_address_p): Add addr_space_t parameter.
- * targhooks.h (default_mode_dependent_address_p): Ditto.
- * targhooks.c (default_mode_dependent_address_p): Ditto.
- * expr.c (convert_move): Pass address space to
- mode_dependent_address_p.
- * combine.c (combine_simplify_rtx): Ditto.
- (make_extraction): Ditto.
- (simplify_shift_const_1): Ditto.
- (gen_lowpart_for_combine): Ditto.
- * lower-subreg.c (simple_move_operand): Ditto.
- * recog.c (simplify_while_replacing): Ditto.
- (offsettable_address_addr_space_p): Ditto.
- (mode_dependent_address_p): Ditto.
- * simplify-rtx.c (simplify_unary_operation_1): Ditto.
- (simplify_subreg): Ditto.
- * config/m68k/m68k.md: Ditto.
- * config/vax/vax.md: Ditto.
- * config/vax/constraints.md (Q): Ditto.
- * config/vax/predicates.md (indexed_memory_operand): Ditto.
- * config/alpha/alpha.c (alpha_mode_dependent_address_p): Add
- unused addr_space_t parameter.
- * config/avr/avr.c (avr_mode_dependent_address_p): Ditto.
- * config/h8300/h8300.c (h8300_mode_dependent_address_p): Ditto.
- * config/m32r/m32r.c (m32r_mode_dependent_address_p): Ditto.
- * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): Ditto.
- * config/rx/rx.c (rx_mode_dependent_address_p): Ditto.
- * config/sparc/sparc.c (sparc_mode_dependent_address_p): Ditto.
- * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
- Ditto.
- * config/vax/vax.c (vax_mode_dependent_address_p): Ditto.
- * config/xtensa/xtensa.c (xtensa_mode_dependent_address_p): Ditto.
-
-2012-09-26 Christophe Lyon <christophe.lyon@linaro.org>
-
- * tree-ssa-math-opts.c (bswap_stats): Add found_16bit field.
- (execute_optimize_bswap): Add support for builtin_bswap16.
-
-2012-09-26 Richard Guenther <rguenther@suse.de>
-
- * tree.h (DECL_IS_BUILTIN): Compare LOCATION_LOCUS.
-
-2012-09-26 Ian Lance Taylor <iant@google.com>
-
- * diagnostic.c: Include "demangle.h" and "backtrace.h".
- (bt_stop): New static array.
- (bt_callback, bt_err_callback): New static functions.
- (diagnostic_action_after_output): Call backtrace_full for DK_ICE.
- * Makefile.in (BACKTRACE): New variable.
- (BACKTRACEINC, LIBBACKTRACE): New variables.
- (BACKTRACE_H): New variable.
- (LIBDEPS, LIBS): Add $(LIBBACKTRACE).
- (INCLUDES): Add $(BACKTRACEINC).
- (diagnostic.o): Depend upon $(DEMANGLE_H) and $(BACKTRACE_H).
-
-2012-09-25 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/51274
- PR target/53087
- * config/rs6000/rs6000.md (ne0si): Remove unnecessary
- earlyclobber. Merge with...
- (ne0di): ... to...
- (ne0_<mode>): New.
- (plus_ne0si): Merge with...
- (plus_ne0di): ... to...
- (plus_ne0_<mode>): New.
- (compare_plus_ne0si): Merge with...
- (compare_plus_ne0di)... to...
- (compare_plus_ne0_<mode>): New.
- (compare_plus_ne0_<mode>_1): New.
- (plus_ne0si_compare): Merge with...
- (plus_ne0di_compare)... to...
- (plus_ne0_<mode>_compare): New.
-
-2012-09-25 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * config/sh/constraints.md (Jhb): New constraint.
- * config/sh/predicates.md (negt_reg_shl31_operand): New predicate.
- * config/sh/sh.md (rotrsi3): New expander.
- (rotrsi3_1, *rotrsi3_1, *rotlsi3_1): New insns.
- (rotlsi3, rotlhi3): Use const_int_operand predicate instead of
- immediate_operand and remove CONST_INT_P checks in expansion code.
- (*rotcr): Cleanup variable usage. Handle preceding nott insn. Add
- split with swapped operands.
- (*rotcr_neg_t, *movt_msb, *negt_msb): New insns and splits.
-
-2012-09-25 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/53850
- * trans-mem.c (expand_call_tm): Handle late built built-ins.
-
-2012-09-25 Georg-Johann Lay <avr@gjlay.de>
-
- PR other/54701
- * config/avr/avr-log.c (avr_double_int_pop_digit): Rewrite using
- double_int::udivmod.
-
-2012-09-25 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_set_current_function): Check cfun->machine
- to be non-NULL.
-
-2012-09-25 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/54641
- * config/avr/t-avr: Use ALL_COMPILERFLAGS instead of ALL_CFLAGS
- for sources compiled with COMPILER.
-
-2012-09-25 Richard Guenther <rguenther@suse.de>
-
- PR lto/54625
- * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Do not merge
- cgraph nodes for builtins.
-
-2012-09-25 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/54676
- * tree-vrp.c (set_and_canonicalize_value_range): Handle
- one bit precision properly.
-
- PR other/54692
- * configure.ac (CFLAGS, CXXFLAGS): Remove -Ofast or -Og properly.
- * configure: Regenerated.
-
-2012-09-25 Georg-Johann Lay <avr@gjlay.de>
-
- PR other/54701
- * config/avr/avr.c (avr_map_decompose): Use double_int::from_uhwi
- instead of uhwi_to_double_int.
-
-2012-09-25 Richard Guenther <rguenther@suse.de>
-
- * lto-symtab.c (lto_symtab_merge_decls_1): Properly merge
- all of the chain.
-
-2012-09-25 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53663
- * tree-ssa-sccvn.c (vn_reference_lookup_3): Conditional
- native encode/interpret translation on VN_WALKREWRITE.
-
-2012-09-24 Dehao Chen <dehao@google.com>
-
- * tree-cfg.c (move_stmt_op): Reset the expr block only when necessary.
- (move_block_to_fn): Reset the edge's goto block even
- when the goto locus is unknown.
-
-2012-09-24 Lawrence Crowl <crowl@google.com>
-
- * double-int.h (double_int::from_pair): New.
- (double_int::wide_mul_with_sign): New.
- (double_int::sub_with_overflow): New.
- (double_int::neg_with_overflow): New.
- (double_int::divmod_with_overflow): New.
- (shwi_to_double_int): Remove.
- (uhwi_to_double_int): Remove.
- (double_int_to_shwi): Remove.
- (double_int_to_uhwi): Remove.
- (double_int_fits_in_uhwi_p): Remove.
- (double_int_fits_in_shwi_p): Remove.
- (double_int_fits_in_hwi_p): Remove.
- (double_int_mul): Remove.
- (double_int_mul_with_sign): Remove.
- (double_int_add): Remove.
- (double_int_sub): Remove.
- (double_int_neg): Remove.
- (double_int_div): Remove.
- (double_int_sdiv): Remove.
- (double_int_udiv): Remove.
- (double_int_mod): Remove.
- (double_int_smod): Remove.
- (double_int_umod): Remove.
- (double_int_divmod): Remove.
- (double_int_sdivmod): Remove.
- (double_int_udivmod): Remove.
- (double_int_multiple_of): Remove.
- (double_int_setbit): Remove.
- (double_int_ctz): Remove.
- (double_int_not): Remove.
- (double_int_ior): Remove.
- (double_int_and): Remove.
- (double_int_and_not): Remove.
- (double_int_xor): Remove.
- (double_int_lshift): Remove.
- (double_int_rshift): Remove.
- (double_int_lrotate): Remove.
- (double_int_rrotate): Remove.
- (double_int_negative_p): Remove.
- (double_int_cmp): Remove.
- (double_int_scmp): Remove.
- (double_int_ucmp): Remove.
- (double_int_max): Remove.
- (double_int_smax): Remove.
- (double_int_umax): Remove.
- (double_int_min): Remove.
- (double_int_smin): Remove.
- (double_int_umin): Remove.
- (double_int_ext): Remove.
- (double_int_sext): Remove.
- (double_int_zext): Remove.
- (double_int_mask): Remove.
- (double_int_max_value): Remove.
- (double_int_min_value): Remove.
- (double_int_zero_p): Remove.
- (double_int_one_p): Remove.
- (double_int_minus_one_p): Remove.
- (double_int_equal_p): Remove.
- (double_int_popcount): Remove.
- (extern add_double_with_sign): Remove.
- (#define add_double): Remove.
- (extern neg_double): Remove.
- (extern mul_double_with_sign): Remove.
- (extern mul_double_wide_with_sign): Remove.
- (#define mul_double): Remove.
- (extern lshift_double): Remove.
- (extern div_and_round_double): Remove.
- * double-int.c (add_double_with_sign): Make static.
- (#defined add_double): Localized from header.
- (neg_double): Make static.
- (mul_double_with_sign): Make static.
- (mul_double_wide_with_sign): Make static.
- (#defined mul_double): Localized from header.
- (lshift_double): Make static.
- (div_and_round_double): Make static.
- (double_int::wide_mul_with_sign): New.
- (double_int::sub_with_overflow): New.
- (double_int::neg_with_overflow): New.
- (double_int::divmod_with_overflow): New.
- * emit-rtl.c (init_emit_once): Change to new double_int API.
- * explow.c (plus_constant): Likewise.
- * expmed.c (choose_multiplier): Likewise.
- * fold-const.c (#define OVERFLOW_SUM_SIGN): Remove.
- (int_const_binop_1): Change to new double_int API.
- (fold_div_compare): Likewise.
- (maybe_canonicalize_comparison): Likewise.
- (pointer_may_wrap_p): Likewise.
- (fold_negate_const): Likewise.
- (fold_abs_const): Likewise.
- * simplify-rtx.c (simplify_const_unary_operation): Likewise.
- (simplify_const_binary_operation): Likewise.
- * tree-chrec.c (tree_fold_binomial): Likewise.
- * tree-vrp.c (extract_range_from_binary_expr_1): Likewise.
- * config/sparc/sparc.c (sparc_fold_builtin): Likewise.
- * config/avr/avr.c (avr_double_int_push_digit): Likewise.
- (avr_map): Likewise.
- (avr_map_decompose): Likewise.
- (avr_out_insert_bits): Likewise.
-
-2012-09-24 Janis Johnson <janisjo@codesourcery.com>
-
- * doc/sourcebuild.texi (Selectors): Document the use of target
- and xfail used together.
-
-2012-09-24 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/54632
- * tree-ssa-live.c (clear_unused_block_pointer_1): Do not
- handle DECL_DEBUG_EXPR_IS_FROM here...
- (clear_unused_block_pointer): ... but here when walking all
- local decls.
-
-2012-09-24 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54684
- * tree-ssa-ccp.c (optimize_unreachable): Properly update stmts.
-
-2012-09-24 Marc Glisse <marc.glisse@inria.fr>
-
- * tree-ssa-forwprop.c: Include tree-ssa-propagate.h.
- (simplify_bitfield_ref): Handle constructors.
- * Makefile.in (tree-ssa-forwprop.o): Depend on tree-ssa-propagate.h.
-
-2012-09-24 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-pre.c (bitmap_find_leader, create_expression_by_pieces,
- find_or_generate_expression): Remove dominating stmt argument.
- (find_leader_in_sets, phi_translate_1, bitmap_find_leader,
- create_component_ref_by_pieces_1, create_component_ref_by_pieces,
- do_regular_insertion, do_partial_partial_insertion): Adjust.
- (compute_avail): Do not set uids.
-
-2012-09-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
- TYPE_NONALIASED_COMPONENT flag.
- * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
- TYPE_NONALIASED_COMPONENT flag.
-
-2012-09-24 Jia Liu <proljc@gmail.com>
-
- * doc/lto.texi: Separate sections.
- * doc/plugins.texi: Likewise.
-
-2012-09-24 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52173
- * gimple.c (gimple_copy): Properly mark the copy modified
- if SSA operands are present.
-
-2012-09-23 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/54669
- * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Invoke
- maybe_clean_or_replace_eh_stmt on the modified use statements.
-
-2012-09-23 Marc Glisse <marc.glisse@inria.fr>
-
- * expr.c (do_store_flag): Remove duplicated code.
-
-2012-09-22 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/predicates.md (altivec_register_operand,
- vsx_register_operand, vfloat_operand, vint_operand,
- vlogical_operand, gpc_reg_operand, cc_reg_operand,
- cc_reg_not_cr0_operand, cc_reg_not_micro_cr0_operand):
- If op is a SUBREG, consider its SUBREG_REG instead.
-
-2012-09-22 Uros Bizjak <ubizjak@gmail.com>
-
- * optabs.c (prepare_cmp_insn): Expand comparison of the result
- of memcmp through generic comparison expansion code.
-
-2012-09-21 Anthony Green <green@moxielogic.com>
-
- * config/moxie/moxie.opt: Add -mno-crt0 option.
- * config/moxie/moxie.h (STARTFILE_SPEC): Handle -mno-crt0 option.
- * doc/invoke.texi (Option Summary): Document -mno-crt0 option.
-
-2012-09-21 Jack Howarth <howarth@bromo.med.uc.edu>
-
- PR bootstrap/54642
- * Makefile.in (lto-symtab.o): Remove gt-lto-symtab.h dependency.
-
-2012-09-21 Dehao Chen <dehao@google.com>
-
- PR go/54649
- * tree-eh.c (lower_try_finally_dup_block): Set the correct block for
- stmts in the duplicated EH block.
-
-2012-09-21 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54647
- * tree-ssa-pre.c (compute_avail): Do not put COND_EXPR
- or VEC_COND_EXPR into EXP_GEN again.
-
-2012-09-21 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/54629
- * tree-loop-distribution.c (classify_partition): Free loop nest only
- after freeing ddr. Free ddr and loop nest also if successful.
-
-2012-09-21 Matthias Klose <doko@ubuntu.com>
-
- * config/arm/arm.c (arm_mangle_type): Don't warn anymore that
- 4.4 has changed the `va_list' mangling.
-
-2012-09-21 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/54290
- PR rtl-optimization/54644
- * reload1.c (choose_reload_regs): Fix thinko in previous change.
-
-2012-09-20 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (define_split for plus_eqsi):
- Fix output pattern.
-
-2012-09-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * reload1.c (choose_reload_regs): Add missing #ifdef/#endif pair.
-
-2012-09-20 Bernd Schmidt <bernds@codesourcery.com>
-
- PR bootstrap/54643
- * haifa-sched.c (schedule_block): Skip find_modifiable_mems if using
- SCHED_PRESSURE_MODEL.
-
-2012-09-20 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * rtlanal.c (dead_or_set_regno_p): Fix COND_EXEC handling.
-
-2012-09-20 Marek Polacek <polacek@redhat.com>
-
- * tree-ssa-operands.c (get_expr_operands): Merge identical cases.
-
-2012-09-20 Marek Polacek <polacek@redhat.com>
-
- * tree-ssa-threadupdate.c (mark_threaded_blocks): Don't cast XNEWVEC's
- result.
- (create_edge_and_update_destination_phis): Likewise.
-
-2012-09-20 Martin Jambor <mjambor@suse.cz>
-
- * function.c (push_cfun): Check old current_function_decl matches
- old cfun, set new current_function_decl to the decl of the new cfun.
- (push_struct_function): Likewise.
- (pop_cfun): Likewise.
- (allocate_struct_function): Move call to
- invoke_set_current_function_hook to the end of the function.
- * cfgexpand.c (estimated_stack_frame_size): Do not set and restore
- current_function_decl.
- * cgraph.c (cgraph_release_function_body): Likewise.
- * cgraphunit.c (cgraph_process_new_functions): Likewise.
- (cgraph_add_new_function): Likewise.
- (cgraph_analyze_function): Likewise.
- (assemble_thunk): Set cfun to NULL at the end.
- (expand_function): Move call to set_cfun downwards.
- * gimple-low.c (record_vars_into): Only check current_function_decl
- before possibly doing push_cfun.
- * gimplify.c (gimplify_function_tree): Do not set and restore
- current_function_decl.
- * ipa-inline-analysis.c (compute_inline_parameters): Likewise.
- (inline_analyze_function): Likewise.
- * ipa-prop.c (ipa_analyze_node): Likewise.
- * ipa-pure-const.c (analyze_function): Likewise.
- * lto-streamer-in.c (lto_input_function_body): Do not set
- current_function_decl.
- * lto-streamer-out.c (output_function): Do not set and restore
- current_function_decl.
- * omp-low.c (finalize_task_copyfn): Likewise.
- (expand_omp_taskreg): Likewise.
- (create_task_copyfn): Likewise, move push_cfun up quite a bit.
- * passes.c (dump_passes): Do not set and restore current_function_decl.
- (do_per_function): Likewise.
- (do_per_function_toporder): Likewise.
- * trans-mem.c (ipa_tm_scan_irr_function): Likewise.
- (ipa_tm_transform_transaction): Likewise.
- (ipa_tm_transform_clone): Likewise.
- (ipa_tm_execute): Likewise.
- * tree-emutls.c (lower_emutls_function_body): Likewise.
- * tree-inline.c (initialize_cfun): Do not call pop_cfun.
- (tree_function_versioning): Do not call push_cfun, do not set and
- restore current_function_decl. Remove assert checking consistency of
- cfun and current_function_decl.
- * tree-profile.c (tree_profiling): Do not set and restore
- current_function_decl.
- * tree-sra.c (convert_callers_for_node): Do not set
- current_function_decl.
- (convert_callers): Do not restore current_function_decl.
- (modify_function): Do not set current_function_decl.
- * tree-ssa-structalias.c (ipa_pta_execute): Do not set and restore
- current_function_decl.
-
-2012-09-20 Diego Novillo <dnovillo@google.com>
-
- PR target/54631
- * config/vxworks.c (vxworks_emutls_var_init): Update for new
- VEC_quick_push interface.
-
-2012-09-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54634
- * tree-data-ref.c (get_references_in_stmt): For now give
- up for pure functions.
-
-2012-09-20 Chen Wei-Ren <chenwj@iis.sinica.edu.tw>
-
- * doc/lto.texi: Correct typo.
-
-2012-09-19 Dehao Chen <dehao@google.com>
-
- * config/s390/s390.c (s390_chunkify_start): Replacing INSN_LOCATOR.
- * config/spu/spu.c (emit_nop_for_insn): Likewise.
- (pad_bb): Likewise.
- (spu_emit_branch_hint): Likewise.
- (insert_hbrp_for_ilb_runout): Likewise.
- * config/mep/mep.c (mep_make_bundle): Likewise.
- (mep_bundle_insns): Likewise.
- * config/sh/sh.c (gen_block_redirect): Likewise.
- * config/c6x/c6x.c (gen_one_bundle): Likewise.
- * config/rs6000/rs6000.c (rs6000_final_prescan_insn): Likewise.
- * config/picochip/picochip.c (picochip_reorg): Likewise.
- * config/arm/arm.c (require_pic_register): Likewise.
- * config/mips/mips.c (mips16_gp_pseudo_reg): Likewise.
- * config/bfin/bfin.c (gen_one_bundle): Likewise.
-
-2012-09-19 Mark Kettenis <kettenis@openbsd.org>
-
- * config.gcc (hppa*-*-openbsd*): New target.
- * config/pa/pa-openbsd.h: New file.
- * config/pa/pa32-openbsd.h: New file.
- * config/host-openbsd.c: Update copyright year.
- (TRY_EXCEPT_VM_SPACE): Define for OpenBSD/hppa.
-
-2012-09-19 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.c (prune_expression_for_jf): New function.
- (ipa_set_jf_constant): Use it.
- (ipa_set_jf_arith_pass_through): Likewise.
- (determine_known_aggregate_parts): Likewise.
-
-2012-09-19 Steve Ellcey <sellcey@mips.com>
-
- * config.gcc (mips*-mti-elf*): New target.
- * config/mips/mti-elf.h: New file.
- * config/mips/t-mti-elf: New file.
-
-2012-09-19 Dehao Chen <dehao@google.com>
-
- * toplev.c (general_init): Init block_locations.
- * tree.c (tree_set_block): New.
- (tree_block): Change to use LOCATION_BLOCK.
- * tree.h (TREE_SET_BLOCK): New.
- * final.c (reemit_insn_block_notes): Change to use LOCATION_BLOCK.
- (final_start_function): Likewise.
- * input.c (expand_location_1): Likewise.
- * input.h (LOCATION_LOCUS): New.
- (LOCATION_BLOCK): New.
- (IS_UNKNOWN_LOCATION): New.
- * fold-const.c (expr_location_or): Change to use new location.
- * reorg.c (emit_delay_sequence): Likewise.
- (try_merge_delay_insns): Likewise.
- * modulo-sched.c (dump_insn_location): Likewise.
- * lto-streamer-out.c (lto_output_location_bitpack): Likewise.
- * lto-cgraph.c (output_node_opt_summary): Likewise.
- * jump.c (rtx_renumbered_equal_p): Likewise.
- * ifcvt.c (noce_try_move): Likewise.
- (noce_try_store_flag): Likewise.
- (noce_try_store_flag_constants): Likewise.
- (noce_try_addcc): Likewise.
- (noce_try_store_flag_mask): Likewise.
- (noce_try_cmove): Likewise.
- (noce_try_cmove_arith): Likewise.
- (noce_try_minmax): Likewise.
- (noce_try_abs): Likewise.
- (noce_try_sign_mask): Likewise.
- (noce_try_bitop): Likewise.
- (noce_process_if_block): Likewise.
- (cond_move_process_if_block): Likewise.
- (find_cond_trap): Likewise.
- * ipa-prop.c (ipa_set_jf_constant): Likewise.
- (ipa_write_jump_function): Likewise.
- * dwarf2out.c (add_src_coords_attributes): Likewise.
- * expr.c (expand_expr_real): Likewise.
- * tree-parloops.c (create_loop_fn): Likewise.
- * recog.c (peep2_attempt): Likewise.
- * function.c (free_after_compilation): Likewise.
- (expand_function_end): Likewise.
- (set_insn_locations): Likewise.
- (thread_prologue_and_epilogue_insns): Likewise.
- * print-rtl.c (print_rtx): Likewise.
- * profile.c (branch_prob): Likewise.
- * trans-mem.c (ipa_tm_scan_irr_block): Likewise.
- * gimplify.c (gimplify_call_expr): Likewise.
- * except.c (duplicate_eh_regions_1): Likewise.
- * emit-rtl.c (try_split): Likewise.
- (make_insn_raw): Likewise.
- (make_debug_insn_raw): Likewise.
- (make_jump_insn_raw): Likewise.
- (make_call_insn_raw): Likewise.
- (emit_pattern_after_setloc): Likewise.
- (emit_pattern_after): Likewise.
- (emit_debug_insn_after): Likewise.
- (emit_pattern_before): Likewise.
- (emit_insn_before_setloc): Likewise.
- (emit_jump_insn_before): Likewise.
- (emit_call_insn_before_setloc): Likewise.
- (emit_call_insn_before): Likeise.
- (emit_debug_insn_before_setloc): Likewise.
- (emit_copy_of_insn_after): Likewise.
- (insn_locators_alloc): Remove.
- (insn_locators_finalize): Remove.
- (insn_locators_free): Remove.
- (set_curr_insn_source_location): Remove.
- (get_curr_insn_source_location): Remove.
- (set_curr_insn_block): Remove.
- (get_curr_insn_block): Remove.
- (locator_scope): Remove.
- (insn_scope): Change to use new location.
- (locator_location): Remove.
- (insn_line): Change to use new location.
- (locator_file): Remove.
- (insn_file): Change to use new location.
- (locator_eq): Remove.
- (insn_locations_init): New.
- (insn_locations_finalize): New.
- (set_curr_insn_location): New.
- (curr_insn_location): New.
- * cfgexpand.c (gimple_assign_rhs_to_tree): Change to use new location.
- (expand_gimple_cond): Likewise.
- (expand_call_stmt): Likewise.
- (expand_gimple_stmt_1): Likewise.
- (expand_gimple_basic_block): Likewise.
- (construct_exit_block): Likewise.
- (gimple_expand_cfg): Likewise.
- * cfgcleanup.c (try_forward_edges): Likewise.
- * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
- (dump_scope_block): Likewise.
- (remove_unused_locals): Likewise.
- * rtl.c (rtx_equal_p_cb): Likewise.
- (rtx_equal_p): Likewise.
- * rtl.h (XUINT): New.
- (INSN_LOCATOR): Remove.
- (CURR_INSN_LOCATION): Remove.
- (INSN_LOCATION): New.
- (INSN_HAS_LOCATION): New.
- * tree-inline.c (remap_gimple_op_r): Change to use new location.
- (copy_tree_body_r): Likewise.
- (copy_phis_for_bb): Likewise.
- (expand_call_inline): Likewise.
- * tree-streamer-in.c (lto_input_ts_exp_tree_pointers): Likewise.
- * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
- * gimple-streamer-out.c (output_gimple_stmt): Likewise.
- * combine.c (try_combine): Likewise.
- * tree-outof-ssa.c (set_location_for_edge): Likewise.
- (insert_partition_copy_on_edge): Likewise.
- (insert_value_copy_on_edge): Likewise.
- (insert_rtx_to_part_on_edge): Likewise.
- (insert_part_to_rtx_on_edge): Likewise.
- * basic-block.h (edge_def): Remove field.
- * gimple.h (gimple_statement_base): Remove field.
- (gimple_bb): Change to use new location.
- (gimple_set_block): Likewise.
- (gimple_has_location): Likewise.
- * tree-cfg.c (make_cond_expr_edges): Likewise.
- (make_goto_expr_edges): Likewise.
- (gimple_can_merge_blocks_p): Likewise.
- (move_stmt_op): Likewise.
- (move_block_to_fn): Likewise.
- * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
- * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
- * config/i386/i386.c (x86_output_mi_thunk): Likewise.
- * config/tilegx/tilegx.c (tilegx_output_mi_thunk): Likewise.
- * config/sh/sh.c (sh_output_mi_thunk): Likewise.
- * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
- * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
- * config/score/score.c (score_output_mi_thunk): Likewise.
- * config/tilepro/tilepro.c (tilepro_asm_output_mi_thunk): Likewise.
- * config/mips/mips.c (mips_output_mi_thunk): Likewise.
- * cfgrtl.c (unique_locus_on_edge_between_p): Likewise.
- (unique_locus_on_edge_between_p): Likewise.
- (emit_nop_for_unique_locus_between): Likewise.
- (force_nonfallthru_and_redirect): Likewise.
- (fixup_reorder_chain): Likewise.
- (cfg_layout_merge_blocks): Likewise.
- * stmt.c (emit_case_nodes): Likewise.
-
-2012-09-19 Bernd Schmidt <bernds@codesourcery.com>
-
- * dbgcnt.def (sched_breakdep): New counter.
- * haifa-sched.c (update_insn_after_change): New static function,
- broken out of haifa_change_pattern.
- (haifa_change_pattern): Call it.
- (dep_t heap vecs): Declare.
- (INSN_COST): Define earlier.
- (next_cycle_replace_deps, next_cycle_apply): New static variables.
- (apply_replacement): New static function.
- (recompute_todo_spec): New argument FOR_BACKTRACK. All callers
- changed. Handle DEP_REPLACE deps.
- (contributes_to_priority_p): False for replaceable deps.
- (must_restore_pattern_p, restore_pattern): New static functions.
- (schedule_insn): Use them. Apply replacements for broken deps.
- (struct haifa_saved_data): Add new fields to keep track of
- replacements.
- (save_backtrack_point): Initialize them.
- (undo_replacements_for_backtrack): New static function.
- (restore_last_backtrack_point, free_topmost_backtrack_point):
- Use it and keep track of replacements.
- (perform_replacements_new_cycle, undo_all_replacements): New static
- functions.
- (schedule_block): Call these two as necessary. Call
- find_modifiable_mems.
- (try_ready): Tweak the assert. Check for DEP_POSTPONED.
- * sched-deps.c: Include "emit-rtl.h".
- (init_dep_1): Initialize DEP_NONREG, DEP_MULTIPLE and DEP_REPLACE.
- (dep_spec_p): True for DEP_REPLACE deps.
- (mark_as_hard): New static variable.
- (update_dep): Update DEP_NONREG and DEP_MULTIPLE.
- (add_dependence_list): New argument hard. All callers changed. Set
- and clear mark_as_hard around function body.
- (add_dependence_list_and_free): Likewise.
- (haifa_note_mem_dep): Set DEP_NONREG.
- (haifa_note_dep): Likewise if mark_as_hard is true.
- (sched_analyze_insn): Switch loop with if statement testing for
- sel_sched_p.
- (struct mem_inc_info): New.
- (attempt_change, parse_add_or_inc, find_inc, find_mem): New static
- functions.
- (find_modifiable_mems): New function.
- * sched-int.h (struct dep_replacement): New.
- (struct _dep): Add replace, nonreg and multiple fields. Make type and
- cost bitfields.
- (UNKNOWN_DEP_COST): Change to match the bitfield.
- (DEP_NONREG, DEP_MULTIPLE, DEP_REPLACE): New macros.
- (DEP_POSTPONED): New macro.
- (DEP_CANCELLED): Renumber.
- (find_modifiable_mems): Declare.
- (enum SCHED_FLAGS): Add DONT_BREAK_DEPENDENCIES.
- * sched-rgn.c (init_ready_list): Set TODO_SPEC here.
- (new_ready): Don't set HARD_DEP, use DEP_POSTPONED.
- (debug_dependencies): Dump DEP_NONREG and DEP_MULTIPLE.
- * Makefile.in (sched-deps.o): Update dependencies.
- * config/c6x/c6x.c (in_hwloop): New static variable.
- (c6x_set_sched_flags): If it is true, add DONT_BREAK_DEPENDENCIES.
- (hwloop_optimize): Set and clear it around preliminary scheduling pass.
-
-2012-09-19 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-builtin.def: Add __builtin_ppc_get_timebase
- and __builtin_ppc_mftb.
- * config/rs6000/rs6000.c (rs6000_expand_zeroop_builtin): New function
- to expand an expression that calls a built-in without arguments.
- (rs6000_expand_builtin): Add __builtin_ppc_get_timebase and
- __builtin_ppc_mftb.
- (rs6000_init_builtins): Likewise.
- * config/rs6000/rs6000.md (rs6000_get_timebase): New pattern.
- (rs6000_get_timebase_ppc32): New pattern.
- (rs6000_mftb_<mode>): New pattern.
-
- * doc/extend.texi (PowerPC Built-in Functions): New section.
- (PowerPC AltiVec/VSX Built-in Functions): Move some built-ins
- unrelated to Altivec/VSX to the new section.
-
-2012-09-19 David Edelsohn <dje.gcc@gmail.com>
-
- * rs6000.md (mac*): Remove extra spaces.
- (mulhw*): Same.
-
-2012-09-19 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * config/sh/predicates.md (arith_reg_or_t_reg_operand): New predicate.
- * config/sh/sh.md (*rotcr): Use arith_reg_or_t_reg_operand predicate.
- Handle the case where one of the operands is T_REG.
- Add new pattern to handle MSB extraction.
-
-2012-09-19 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * config/sh/sh.md (*addc): Add pattern to handle one bit left shifts.
-
-2012-09-19 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md (prologue, epilogue): Use braced strings.
-
-2012-09-19 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/54290
- * reload1.c (choose_reload_regs): Also take into account secondary MEMs
- to remove address replacements for inherited reloads.
- (replaced_subreg): Move around.
-
-2012-09-19 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/aix61.h (TARGET_DEFAULT): Add MASK_PPC_GPOPT,
- MASK_PPC_GFXOPT, and MASK_MFCRF.
-
-2012-09-19 Richard Guenther <rguenther@suse.de>
-
- * passes.c (init_optimization_passes): For -Og move
- pass_object_sizes inbetween CCP and copyprop.
-
-2012-09-19 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-forwprop.c (get_prop_source_stmt): Simplify.
-
-2012-09-19 Jan Hubicka <jh@suse.cz>
-
- * symtab.c (insert_to_assembler_name_hash): Do not insert
- register vars.
- (unlink_from_assembler_name_hash): NULL out pointers of unlinked var.
- (symtab_prevail_in_asm_name_hash): New.
- (symtab_initialize_asm_name_hash): Break out from ...
- (symtab_node_for_asm): ... here.
- (dump_symtab_base): Dump LTO file data.
- (verify_symtab_base): Register vars are not in symtab.
- * cgraph.h (symtab_initialize_asm_name_hash,
- symtab_prevail_in_asm_name_hash): New functions.
- (symtab_real_symbol_p): New inline.
- * lto-symtab.c: Do not include gt-lto-symtab.h.
- (lto_symtab_entry_def): Remove.
- (lto_symtab_entry_t): Remove.
- (lto_symtab_identifiers): Remove.
- (lto_symtab_free): Remove.
- (lto_symtab_entry_hash): Remove.
- (lto_symtab_entry_eq): Remove.
- (lto_symtab_entry_marked_p): Remove.
- (lto_symtab_maybe_init_hash_table): Remove.
- (resolution_guessed_p, set_resolution_guessed): New functions.
- (lto_symtab_register_decl): Only set resolution info.
- (lto_symtab_get, lto_symtab_get_resolution): Remove.
- (lto_symtab_merge): Reorg to work across symtab; do nothing if decls
- are same.
- (lto_symtab_resolve_replaceable_p): Reorg to work on symtab.
- (lto_symtab_resolve_can_prevail_p): Likewise; only real symbols can
- prevail.
- (lto_symtab_resolve_symbols): Reorg to work on symtab.
- (lto_symtab_merge_decls_2): Likewise.
- (lto_symtab_merge_decls_1): Likewise; add debug dumps.
- (lto_symtab_merge_decls): Likewise; do not merge at ltrans stage.
- (lto_symtab_merge_cgraph_nodes_1): Reorg to work on symtab.
- (lto_symtab_merge_cgraph_nodes): Likewise; do not merge at ltrans
- stage.
- (lto_symtab_prevailing_decl): Rewrite to lookup into symtab.
- * lto-streaer.h (lto_symtab_free): Remove.
- * lto-cgraph.c (add_references): Cleanup.
- * varpool.c (varpool_assemble_decl): Skip hard regs.
-
-2012-09-19 Richard Guenther <rguenther@suse.de>
-
- PR other/53316
- * common/common-target.h (OPT_LEVELS_1_PLUS_NOT_DEBUG): Add.
-
-2012-09-19 Richard Guenther <rguenther@suse.de>
-
- PR other/53316
- * common.opt (optimize_debug): New variable.
- (Og): New optimization level.
- * doc/invoke.texi (Og): Document.
- * opts.c (maybe_default_option): Add debug parameter.
- (maybe_default_options): Likewise.
- (default_options_optimization): Handle -Og.
- (common_handle_option): Likewise.
- * passes.c (gate_all_optimizations): Do not run with -Og.
- (gate_all_optimizations_g): New gate, run with -Og.
- (pass_all_optimizations_g): New container pass, run with -Og.
- (init_optimization_passes): Schedule pass_all_optimizations_g
- alongside pass_all_optimizations.
-
-2012-09-19 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54132
- * tree-loop-distribution.c (classify_partition): Properly
- check dependences for memmove.
- * tree-data-ref.h (compute_affine_dependence): Declare.
- * tree-data-ref.c (compute_affine_dependence): Export.
-
-2012-09-19 Zhenqiang Chen <zhenqiang.chen@arm.com>
-
- PR middle-end/54364
- * bb-reorder.c (connect_better_edge_p): New added.
- (find_traces_1_round): When optimizing for size, ignore edge frequency
- and probability, and handle all in one round.
- (bb_to_key): Use bb->index as key when optimizing for size.
- (better_edge_p): The bb with smaller index is better when optimizing
- for size.
- (connect_traces): When optimizing for size, connect block n with
- block n + 1; connect trace m with trace m + 1 if falling through.
- (gate_handle_reorder_blocks): Enable bbro when optimizing for -Os.
-
-2012-09-19 Bin Cheng <bin.cheng@arm.com>
-
- * fold-const.c (fold_truth_andor): Remove duplicated check on
- BRANCH_COST.
-
-2012-09-18 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/54617
- * expr.c (store_field): Handle a PARALLEL in more cases.
-
-2012-09-18 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (sminsi3, smaxsi3, uminsi3, umaxsi3): Delete.
- (abssi2, abs<mode>2_isel, nabs<mode>2_isel, abssi2_nopower,
- nabs_nopower): Delete.
- (absdi2, absdi2_internal, nabsdi2): Delete.
- (smindi3, smaxdi3, umindi3, umaxdi3): Delete.
-
-2012-09-18 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md: Tidy up empty "". Fix C code indentation.
- * config/avr/avr-fixed.md: Ditto.
-
-2012-09-18 Maciej W. Rozycki <macro@codesourcery.com>
-
- * config/rs6000/rs6000.c (print_operand) <'c'>: Remove.
- * config/rs6000/spe.md: Remove a leftover comment.
-
-2012-09-18 Jakub Jelinek <jakub@redhat.com>
-
- PR target/54592
- * config/i386/i386.c (ix86_rtx_costs): Limit > UNITS_PER_WORD
- AND/IOR/XOR cost calculation to MODE_INT class modes.
-
-2012-09-18 Thomas Quinot <quinot@adacore.com>
-
- * doc/invoke.texi: Document -fada-spec-parent.
-
-2012-09-18 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/54610
- * tree-ssa-forwprop.c: Include optabs.h. Don't include
- tree-vectorizer.h.
- (simplify_vector_constructor): Don't use vect_gen_perm_mask,
- instead create the mask constant here.
- * Makefile.in (tree-ssa-forwprop.o): Depend on $(OPTABS_H).
- Don't depend on $(TREE_VECTORIZER_H).
-
-2012-09-18 Florian Weimer <fweimer@redhat.com>
-
- * Makefile.in (BASIC_BLOCK_H): Add cfg-flags.def.
-
-2012-09-18 Richard Guenther <rguenther@suse.de>
-
- * statistics.h (CXX_MEM_STAT_INFO): New define.
- * gimple.h (gimple_build_assign_with_ops_stat,
- gimple_build_assign_with_ops, gimple_build_assign_with_ops3):
- Turn into an overload of the function gimple_build_assign_with_ops.
- * gimple.c (gimple_build_assign_with_ops_stat): Rename to ...
- (gimple_build_assign_with_ops): ... this.
- * tree-ssa-loop-im.c (move_computations_stmt): Adjust.
- * tree-ssa-math-opts.c (convert_mult_to_fma): Likewise.
- * tree-vect-data-refs.c (vect_permute_store_chain): Likewise.
- (vect_permute_load_chain): Likewise.
- * tree-vect-generic.c (expand_vector_divmod): Likewise.
- * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Likewise.
- (vect_recog_divmod_pattern): Likewise.
- (vect_recog_mixed_size_cond_pattern): Likewise.
- (adjust_bool_pattern): Likewise.
- * tree-vect-slp.c (vect_create_mask_and_perm): Likewise.
- * tree-vect-stmts.c (vectorizable_operation): Likewise.
- (permute_vec_elements): Likewise.
- (vectorizable_load): Likewise.
-
-2012-09-17 Paul Koning <ni1d@arrl.net>
-
- * doc/invoke.text (-feliminate-unused-debug-types): Update to
- reflect that this is enabled by default.
-
-2012-09-17 Ben Cheng <bccheng@google.com
-
- * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Suppress the
- dynamic linker commands for statically linked programs.
-
-2012-09-17 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * config/arm/arm.c (arm_rtx_costs_1): Handle vec_extract and vec_set
- patterns.
- * config/arm/arm.md ("vec_set<mode>_internal"): Support memory source
- operands, implemented via vld1 instruction.
- ("vec_extract<mode>"): Support memory destination operands, implemented
- via vst1 instruction.
- ("neon_vst1_lane<mode>"): Use UNSPEC_VST1_LANE instead of vec_select.
- * config/arm/predicates.md ("neon_lane_number"): Remove.
-
-2012-09-17 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
- Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * config/arm/arm.c (output_move_neon): Update comment.
- Use vld1.64/vst1.64 instead of vldm/vstm where possible.
- (neon_vector_mem_operand): Support double-word modes.
- * config/arm/neon.md (*neon_mov VD): Call output_move_neon
- instead of output_move_vfp. Change constraint from Uv to Un.
-
-2012-09-17 Richard Guenther <rguenther@suse.de>
-
- PR lto/54598
- * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Use ggc'ed
- FIXED_VALUE_TYPE instead of struct fixed_value.
-
-2012-09-17 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (CONST_FIXED_P): Remove define.
- * config/avr/avr.md (add<mode>3): Use CONST_FIXED_P.
-
-2012-09-17 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/54607
- * config.gcc (tm_file,avr): Add avr/avr-arch.h.
- * config/avr/t-avr (gen-avr-mmcu-texi): Use CC_FOR_BUILD to
- compile. Don't depend on TM_H. Use CFLAGS_FOR_BUILD.
- * config/avr/avr.h (avr_arch, base_arch_s, mcu_type_s): Source out
- to...
- * config/avr/avr-arch.h: ...this new file.
- * config/avr/gen-avr-mmcu-texi.c: Include avr-arch.h, stdio.h,
- stdlib.h.
- * comparator: Make letters smaller than digits.
- * config/avr/avr-devices.c: Don't include headers if used in
- gen-avr-mmcu-texi.c.
- * doc/avr-mmcu.texi: Regenerate.
-
-2012-09-17 Georg-Johann Lay <avr@gjlay.de>
-
- * rtl.h (CONST_FIXED_P): New predicate macro.
-
-2012-09-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-cfgcleanup. (cleanup_control_expr_graph) <GIMPLE_COND>: Remove
- code doing propagation from degenerate PHI nodes.
- * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): New function.
- (propagate_constants_for_unrolling): Likewise.
- (tree_unroll_loops_completely): If the current loop has been unrolled
- and its father isn't the entire function, propagate constants within
- the new basic blocks by means of propagate_constants_for_unrolling.
-
-2012-09-17 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/54563
- * tree-ssa-math-opts.c (execute_cse_sincos): Call
- gimple_purge_dead_eh_edges if last call has been changed.
-
-2012-09-17 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/54222
- * config/avr/avr.c (avr_out_plus_symbol): Fix typo if PLUS and PSImode.
- (avr_out_plus_1): Remove log comments from assembler output.
-
-2012-09-17 Ruben Buchatskiy <ruben@ispras.ru>
-
- * config/arm/vfp.md (*thumb2_movdf_vfp): Require one of the operands
- to be a register.
-
-2012-09-16 Richard Sandiford <rdsandiford@googlemail.com>
-
- * calls.c (expand_call): Use emit_group_move for PARALLEL->PARALLEL
- moves.
-
-2012-09-15 Tom de Vries <tom@codesourcery.com>
-
- * tree-vrp.c (extract_range_from_binary_expr_1): Fix bug in handling of
- LSHIFT_EXPR with shift range. Handle more LSHIFT_EXPR cases with shift
- range.
-
-2012-09-15 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/54222
- * config/avr/avr-fixed.md (ALL2S, ALL4S, ALL24S, ALL124S,
- ALL124U): New mode iterators.
- (<code_stdname><mode>3): New insns for SS_PLUS, SS_MINUS.
- (<code_stdname><mode>3): New insns for US_PLUS, US_MINUS.
- (usneg<mode>2): New insns.
- (<code_stdname><mode>2): New expanders for SS_NEG, SS_ABS.
- (*<code_stdname><mode>2): New insns for SS_NEG, SS_ABS.
- * config/avr/avr-dimode.md (ALL8U, ALL8S): New mode iterators.
- (avr_out_plus64, avr_out_minus64): Use avr_out_plus instead.
- (<code_stdname><mode>3): New expanders for SS_PLUS, SS_MINUS.
- (<code_stdname><mode>3): New expanders for US_PLUS, US_MINUS.
- (<code_stdname><mode>3_insn): New insns.
- (<code_stdname><mode>3_const_insn): New insns.
- * config/avr/avr.md (cc): Add: plus. Remove: out_plus,
- out_plus_noclobber, minus.
- (length): Add: plus. Remove: out_plus, out_plus_noclobber,
- plus64, minus, minus64.
- (abelian): New code_attr.
- (code_stdname): Handle: ss_plus, ss_minus, ss_neg, ss_abs,
- us_plus, us_minus, us_neg.
- (*add<mode>3, add<mode>3_clobber, add<mode>3, addpsi3, sub<mode>3):
- Use avr_out_plus to output.
- * config/avr/avr-protos.h (avr_out_plus): Change prototype.
- (avr_out_plus_noclobber, avr_out_minus): Remove.
- (avr_out_plus64, avr_out_minus64): Remove.
- * config/avr/avr.c (avr_out_plus_1): Add new default arguments
- code_sat, sign. Saturate after operation if code_sat != UNKNOWN.
- (avr_out_plus_symbol): New static function.
- (avr_out_plus): Rewrite.
- (adjust_insn_length): Handle: ADJUST_LEN_PLUS. Remove handling
- of: ADJUST_LEN_OUT_PLUS, ADJUST_LEN_PLUS64, ADJUST_LEN_MINUS,
- ADJUST_LEN_MINUS64, ADJUST_LEN_OUT_PLUS_NOCLOBBER.
- (notice_update_cc): Handle: CC_PLUS. Remove handling of: CC_MINUS,
- CC_OUT_PLUS, CC_OUT_PLUS_NOCLOBBER
- (avr_out_plus_noclobber, avr_out_minus): Remove.
- (avr_out_plus64, avr_out_minus64): Remove.
- (avr_print_operand): Print raw REGNO if 'r' is used with REG.
-
-2012-09-15 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.c (sh_rtx_costs): Add handling of MEM, SIGN_EXTEND,
- ZERO_EXTEND and PARALLEL cases.
- (sh_address_cost): Correct rtx parsing and tweak cost estimations.
-
-2012-09-14 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/tm.texi.in (Stack Arguments): Update obsolete references
- to current_function_outgoing_args_size.
- (Function Entry): Likewise for current_function_pops_args,
- current_function_pretend_args_size,
- current_function_outgoing_args_size, and
- current_function_epilogue_delay_list.
- (Misc): Fix garbled sentence referencing nonexistent
- current_function_leaf_function.
- * doc/tm.texi: Regenerated.
-
-2012-09-14 Dehao Chen <dehao@google.com>
-
- * tree-eh.c (goto_queue_node): New field.
- (record_in_goto_queue): New parameter.
- (record_in_goto_queue_label): New parameter.
- (lower_try_finally_dup_block): New parameter.
- (maybe_record_in_goto_queue): Update source location.
- (lower_try_finally_copy): Likewise.
- (honor_protect_cleanup_actions): Likewise.
- * gimplify.c (gimplify_expr): Reset the location to unknown.
-
-2012-09-14 David Edelsohn <dje.gcc@gmail.com>
-
- * configure: Regenerated.
-
-2012-09-14 Walter Lee <walt@tilera.com>
-
- * doc/invoke.texi (Option Summary): fix typesetting for -mcpu
- option for TILEPro and TILE-Gx.
- (TILE-Gx Options): Fix grammar and spellings in documentation for
- -mcmodel.
-
-2012-09-14 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/54427
- * fold-const.c (fold_unary_loc): Disable for VECTOR_TYPE.
- (fold_binary_loc): Likewise.
- * gimple-fold.c (and_comparisons_1): Handle VECTOR_TYPE.
- (or_comparisons_1): Likewise.
-
-2012-09-14 Richard Earnshaw <rearnsha@arm.com>
-
- PR target/54516
- PR rtl-optimization/54540
- * reload.c (find_dummy_reload): Don't use OUT as a reload reg
- for IN if it overlaps a fixed register.
-
-2012-09-14 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/44194
- * calls.c (expand_call): In the PARALLEL case, copy the return value
- into pseudos instead of spilling it onto the stack.
- * emit-rtl.c (adjust_address_1): Rename ADJUST into ADJUST_ADDRESS and
- add new ADJUST_OBJECT parameter.
- If ADJUST_OBJECT is set, drop the underlying object if it cannot be
- proved that the adjusted memory access is still within its bounds.
- (adjust_automodify_address_1): Adjust call to adjust_address_1.
- (widen_memory_access): Likewise.
- * expmed.c (store_bit_field_1): Call adjust_bitfield_address instead
- of adjust_address. Do not drop the underlying object of a MEM.
- (store_fixed_bit_field): Likewise.
- (extract_bit_field_1): Likewise. Fix oversight in recursion.
- (extract_fixed_bit_field): Likewise.
- * expr.h (adjust_address_1): Adjust prototype.
- (adjust_address): Adjust call to adjust_address_1.
- (adjust_address_nv): Likewise.
- (adjust_bitfield_address): New macro.
- (adjust_bitfield_address_nv): Likewise.
- * expr.c (expand_assignment): Handle a PARALLEL in more cases.
- (store_expr): Likewise.
- (store_field): Likewise.
-
- * dse.c: Fix typos in the head comment.
-
-2012-09-14 Christian Bruel <christian.bruel@st.com>
-
- PR target/54546
- * config/sh/sh-protos.h (sh_need_epilogue): Delete.
- (sh_can_use_simple_return_p): Declare.
- * config/sh/sh.c (sh_can_use_simple_return_p): Define.
- (sh_need_epilogue, sh_need_epilogue_known): Delete.
- (sh_output_function_epilogue): Remove sh_need_epilogue_known.
- * config/sh/sh.md (simple_return, return): Define.
- (epilogue): Use inline return rtl.
- (sh_expand_epilogue): Cleanup parameters boolean type.
- * config/sh/iterators.md (any_return): New iterator.
-
-2012-09-14 Christian Bruel <christian.bruel@st.com>
-
- * config/sh/predicates.md (t_reg_operand): Check REG_P for SUBREG.
- * config/sh/sh.c (sequence_insn_p): Check INSNP_P for SEQUENCE.
-
-2012-09-14 Jakub Jelinek <jakub@redhat.com>
-
- PR target/54564
- * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
- instead of (match_dup 0) as second argument to vec_merge.
- (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
- Remove third alternative.
- (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise. Negate
- operand 2 instead of operand 1, but put it as first argument of fma.
- * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
- _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
- of the first.
-
-2012-09-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54565
- * passes.c (init_optimization_passes): Adjust comments.
- (execute_function_todo): Do not execute execute_update_addresses_taken
- before processing TODO_rebuild_alias.
- * tree-ssa-ccp.c (do_ssa_ccp): Schedule TODO_update_address_taken.
-
-2012-09-14 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (register_new_assert_for): Simplify for backward walk.
- (find_assert_locations_1): Walk the basic-block backwards, properly
- add/prune from live. Use live for asserts derived from stmts.
-
-2012-09-14 Marc Glisse <marc.glisse@inria.fr>
-
- * tree-ssa-forwprop.c (simplify_bitfield_ref): Call
- get_prop_source_stmt.
- (simplify_permutation): Likewise.
- (simplify_vector_constructor): Likewise.
-
-2012-09-14 Richard Guenther <rguenther@suse.de>
-
- * builtin-types.def (BT_FN_CONST_STRING): Add.
- * builtins.def (BUILT_IN_FILE, BUILT_IN_FUNCTION,
- BUILT_IN_LINE): New builtins.
- * gimplify.c (gimplify_call_expr): Expand them.
- * doc/extend.texi (__builtin_LINE, __builtin_FUNCTION,
- __builtin_FILE): Document.
-
-2012-09-13 Anthony Green <green@moxielogic.com>
-
- * config/moxie/moxie.h (LINK_SPEC): Add bi-endian support.
- (MULTILIB_DEFAULTS): Define.
- (ASM_SPEC): Define.
- (BYTES_BIG_ENDIAN, WORDS_BIG_ENDIAN): Add bi-endian support.
- (TARGET_CPU_CPP_BUILTINS): Add __MOXIE_LITTLE_ENDIAN__ and
- __MOXIE_BIG_ENDIAN__.
- * config/moxie/t-moxie (MULTILIB_DIRNAMES, MULTILIB_OPTIONS): Define.
- * config/moxie/moxie.opt: New file.
- * doc/invoke.texi (Moxie Options): Add section documenting -mel
- and -meb.
-
-2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
- Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c++/53210
- * doc/invoke.texi ([Winit-self]): Document as enabled by -Wall in C++.
-
-2012-09-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/predicates.md (input_operand): Do not consider TImode
- constants as 1-instruction integer constants.
- Use register_or_zero_operand instead of register_operand and tidy up.
- * config/sparc/sparc.md (movti): New expander.
- (movti_insn_sp64): New instruction.
- (movti_insn_sp64_hq): Likewise.
- (TImode splitters): New splitters.
- * config/sparc/sparc.c (sparc_expand_move) <TImode>: New case.
- (sparc_legitimate_address_p): Return 0 for REG+REG in TImode.
-
- * config/sparc/sparc-protos.h (arith_double_4096_operand): Delete.
- (arith_4096_operand): Likewise.
- (zero_operand): Likewise.
- (fp_zero_operand): Likewise.
- (reg_or_0_operand): Likewise.
-
-2012-09-13 Jakub Jelinek <jakub@redhat.com>
-
- * configure.ac (CXXFLAGS): Remove -O2 when not bootstrapping.
- * configure: Regenerated.
-
-2012-08-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (prefetch): Do not assert mode of operand 0.
- (*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
- Rename to ...
- (*prefetch_sse): ... this.
- (*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
- Rename to ...
- (*prefetch_3dnow): ... this.
-
-2012-09-13 Steven Bosscher <steven@gcc.gnu.org>
-
- * ipa-pure-const.c (state_from_flags, local_pure_const): Use
- current_function_name instead of lang_hooks.decl_printable_name.
-
- * function.h (fndecl_name): New prototype.
- * function.c (fndecl_name): New function.
- * vecir.h (cgraph_node_p): New standard IR VEC type.
- * trans-mem.c (cgraph_node_p): No need anymore to define it here.
- * ipa-utils.h (ipa_get_nodes_in_cycle): New prototype.
- * ipa-utils.c (ipa_get_nodes_in_cycle): New function.
- * ipa-reference.c: Don't include langhooks.h, and certainly not twice.
- Fix many formatting issues (long lines, short lines, spacing, etc.).
- (get_static_name): Use fndecl_name.
- (dump_static_vars_set_to_file): New function split out from propagate.
- (union_static_var_sets): New function, union two sets and collapse
- to all_module_statics as quickly as possible.
- (intersect_static_var_sets): New function, similar to above.
- (copy_static_var_set): Renamed from copy_global_bitmap and rewritten
- to allocate a copy on the same bitmap_obstack as the source set.
- (propagate_bits): Simplify, and clarify by using union_static_var_sets.
- (generate_summary): Remove bm_temp. Print UID of promotable globals.
- (read_write_all_from_decl): Use pass-by-reference, bless C++.
- (get_read_write_all_from_node): New function, split out from propagate.
- (propagate): Simplify and clarify with helper functions. Use
- ipa_get_nodes_in_cycle to walk all nodes in a reduced node.
- (ipa_reference_read_optimization_summary): Use fndecl_name instead of
- lang_hooks.decl_printable_name.
-
- * rtl.h (print_rtl_single_with_indent): New prototype.
- * print-rtl.c (print_rtl_single_with_indent): New function.
- * cfghooks.h (empty_block_p, split_block_before_cond_jump): New hooks.
- * cfghooks.c (empty_block_p, split_block_before_cond_jump): Implement.
- * cfgrtl.c (rtl_block_empty_p, rtl_split_block_before_cond_jump):
- Implement RTL specific hooks.
- (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Register the new hooks.
- * tree-cfg.c (gimple_empty_block_p,
- gimple_split_block_before_cond_jump): Implement GIMPLE specific hooks.
- (gimple_cfg_hooks): Register the new hooks.
- * tree-ssa-phiopt.c (empty_block_p): Remove in favor of new hook.
-
-2012-09-13 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-sccvn.h (enum vn_kind): New.
- (vn_get_stmt_kind): Likewise.
- * tree-ssa-sccvn.c (vn_get_stmt_kind): New function, adjust
- ADDR_EXPR handling.
- (visit_use): Use it.
- * tree-ssa-pre.c (compute_avail): Likewise, simplify further.
-
-2012-09-13 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * config/i386/i386.c (processor_alias_table): Enable PTA_PRFCHW
- for targets bdver1, bdver2, btver1 and btver2.
-
-2012-09-13 Christophe Lyon <christophe.lyon@linaro.org>
- Richard Earnshaw <rearnsha@arm.com>
-
- * config/arm/arm.md (arm_rev): Factorize thumb1, thumb2 and arm
- variants for rev instruction..
- (thumb1_rev): Delete pattern.
- (arm_revsh): New pattern to support builtin_bswap16.
- (arm_rev16, bswaphi2): Likewise.
-
-2012-09-12 Teresa Johnson <tejohnson@google.com>
-
- PR gcov-profile/54487
- * configure.ac (HOST_HAS_F_SETLKW): Set based on compile
- test using F_SETLKW with fcntl.
- * configure, config.in: Regenerate.
-
-2012-09-12 Jan Hubicka <jh@suse.cz>
-
- PR fortran/48636
- * ipa-inline-analysis.c (dump_inline_hints): Dump loop stride.
- (set_hint_predicate): New function.
- (reset_inline_summary): Reset loop stride.
- (remap_predicate_after_duplication): New function.
- (remap_hint_predicate_after_duplication): New function.
- (inline_node_duplication_hook): Update.
- (dump_inline_summary): Dump stride summaries.
- (estimate_function_body_sizes): Compute strides.
- (remap_hint_predicate): New function.
- (inline_merge_summary): Use it.
- (inline_read_section): Read stride.
- (inline_write_summary): Write stride.
- * ipa-inline.c (want_inline_small_function_p): Handle strides.
- (edge_badness): Likewise.
- * ipa-inline.h (inline_hints_vals): Add stride hint.
- (inline_summary): Update stride.
-
-2012-09-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (x86_prefetch_sse): Change to unsigned char.
- * config/i386/i386.h (x86_prefetch_sse): Ditto.
-
-2012-09-12 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/54445
- * config/i386/predicates.md (x86_64_immediate_operand): Allow
- negative offset for UNSPEC_DTPOFF/UNSPEC_NTPOFF.
-
-2012-09-12 Jan Hubicka <jh@suse.cz>
-
- * common.opt (flto-partition): Add "max".
- * invoke.texi (flto-partition): Document "max"
-
-2012-09-12 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
-
- * config/i386/i386.md : Comments on fma4 instruction selection
- reflect requirement on register pressure based cost model.
-
- * config/i386/driver-i386.c (host_detect_local_cpu): fma4
- flag is set-reset as informed by the cpuid flag.
-
- * config/i386/i386.c (processor_alias_table): fma4
- flag is enabled for bdver2.
-
-2012-09-12 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54489
- * tree-ssa-pre.c: Include domwalk.h.
- (in_fre): Remove.
- (sccvn_valnum_from_value_id): New function.
- (debug_bitmap_sets_for): Simplify.
- (get_representative_for): Properly initialize the SCCVN valnum.
- (create_expression_by_pieces): Likewise.
- (insert_into_preds_of_block): Likewise.
- (can_PRE_operation): Remove.
- (make_values_for_phi): Simplify.
- (compute_avail): Likewise.
- (do_SCCVN_insertion): Remove.
- (eliminate_avail, eliminate_push_avail, eliminate_insert):
- New functions.
- (eliminate): Split and perform a domwalk.
- (eliminate_bb): Former eliminate part that is now dom-enter.
- (eliminate_leave_block): New function.
- (fini_eliminate): Likewise.
- (init_pre): Simplify.
- (fini_pre): Likewise.
- (execute_pre): Fold into do_pre and do_fre.
- (do_pre): Consume execute_pre.
- (do_fre): Likewise.
- * Makefile.in (tree-ssa-pre.o): Add domwalk.h dependency.
-
-2012-09-12 Diego Novillo <dnovillo@google.com>
-
- * vec.h: Remove compatibility notes for previous distinction
- between vectors of objects and vectors of pointers.
-
-2012-09-12 Christian Bruel <christian.bruel@st.com>
-
- * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
-
-2012-09-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * rtl.h (FFS, FLOAT, ABS, PC): Don't undef.
- * system.h (FFS, FLOAT, ABS, PC): Undef.
-
-2012-09-12 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/54553
- * common.opt (finline): Mark with Optimization.
-
-2012-09-12 Jakub Jelinek <jakub@redhat.com>
-
- * config.gcc: Obsolete picochip-*.
-
-2012-09-12 Nathan Froyd <froydnj@gcc.gnu.org>
- Hans-Peter Nilsson <hp@bitrange.com>
-
- * config/mmix/mmix.h (MMIX_REG_OK_STRICT): Delete.
- (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P): Delete.
- (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
- * config/mmix/mmix-protos.h (mmix_intval): Declare.
- (mmix_const_ok_for_letter_p, mmix_extra_constraint): Delete.
- (mmix_const_double_ok_for_letter_p): Delete.
- * config/mmix/constraints.md: New file.
- * config/mmix/mmix.md: Include it.
- (iordi3): Fix typo; use "I" instead of undefined "H" constraint.
- ("*call_real"): Update comment about not using the "p" constraint.
- * config/mmix/predicates.md (mmix_reg_or_8bit_operand): Use
- satisfies_constraint_I.
- (mmix_address_operand): New predicate.
- (mmix_symbolic_or_address_operand): Use it instead of address_operand.
- * config/mmix/mmix.c: #include tm-constrs.h.
- (mmix_intval): Delete declaration. Make non-static.
- (mmix_const_ok_for_letter_p, mmix_extra_constraint): Delete.
- (mmix_const_double_ok_for_letter_p): Delete.
- (mmix_legitimate_address_p): Use satisfies_constraint_I.
- (mmix_print_operand_address): Likewise.
- (mmix_emit_sp_add): Adjust to use insn_const_int_ok_for_constraint
- when matching "L" constraint.
-
-2012-09-11 Steven Bosscher <steven@gcc.gnu.org>
-
- * tree.h (expand_case): Move prototype ...
- * expr.h (expand_case): ...here.
- (expand_sjlj_dispatch_table): New prototype.
- * stmt.c: Include pointer-set.h instead of bitmap.h.
- (expand_case): Use a pointer set instead of a bitmap for
- already-seen labels. Fold label values here.
- (add_case_node): Don't fold label values here.
- (expand_sjlj_dispatch_table): New function.
- * except.c (sjlj_emit_dispatch_table): Use it.
-
-2012-09-11 Marc Glisse <marc.glisse@inria.fr>
-
- * tree-ssa-forwprop.c (simplify_vector_constructor): New function.
- (ssa_forward_propagate_and_combine): Call it.
-
-2012-09-11 Diego Novillo <dnovillo@google.com>
-
- * var-tracking.c (vt_add_function_parameter): Adjust for VEC changes.
-
-2012-09-11 Dominique Dhumieres <dominiq@lps.ens.fr>
-
- * config/darwin.c (darwin_asm_named_section): Adjust for VEC changes.
- (darwin_asm_dwarf_section): Likewise.
-
-2012-09-11 Martin Jambor <mjambor@suse.cz>
-
- * dwarf2out.c (dwarf2out_abstract_function): Do not change cfun.
- (premark_used_types): New parameter fun, use it instead of cfun.
- (gen_subprogram_die): Use DECL_STRUCT_FUNCTION (decl) instead of cfun,
- also pass it to premark_used_types.
-
-2012-09-11 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * doc/sourcebuild.texi (arm_neon_v2_ok): Adjust command line.
-
-2012-09-11 Tobias Burnus <burnus@net-b.de>
-
- * doc/sourcebuild.texi (arm_neon_v2_ok): Fix @anchor.
-
-2012-09-11 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * config/arm/neon.md (fma<VCVTF:mode>4): New pattern.
- (*fmsub<VCVTF:mode>4): Likewise.
- * doc/sourcebuild.texi (arm_neon_v2_ok, arm_neon_v2_hw): Document it.
-
-2012-09-11 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/54149
- * tree-ssa-loop-im.c (execute_sm_if_changed_flag_set): Only set
- flag for writes.
-
-2012-09-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/55492
- * doc/invoke.texi (max-slsr-cand-scan): New description.
- * gimple-ssa-strength-reduction.c (find_basis_for_candidate): Limit
- the time spent searching for a basis.
- * params.def (PARAM_MAX_SLSR_CANDIDATE_SCAN): New param.
-
-2012-09-11 Richard Guenther <rguenther@suse.de>
-
- * gimple.h (gimple_register_type): Remove.
- (print_gimple_types_stats): Adjust prototype.
- * lto-streamer.h (print_lto_report): Likewise.
- * lto-streamer.c (print_lto_report): Adjust.
- * gimple.c (gimple_types, type_hash_cache, enum gtc_mode,
- struct type_pair_d, lookup_type_pair, struct sccs,
- next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
- gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
- gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
- visit, iterative_hash_name, struct type_hash_pair,
- type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
- gimple_type_eq, gimple_register_type_1, gimple_register_type):
- Move to lto/lto.c.
- (print_gimple_types_stats): Adjust.
- (free_gimple_type_tables): Likewise.
-
-2012-09-11 Richard Guenther <rguenther@suse.de>
-
- * graphite-scop-detection.c (move_sd_regions): Adjust for VEC changes.
- (scopdet_basic_block_info): Likewise.
- (build_scops_1): Likewise.
- (limit_scops): Likewise.
-
-2012-09-11 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/54515
- * gimple.c (get_base_address): Do not return NULL_TREE apart
- from for WITH_SIZE_EXPR.
- * gimple-fold.c (canonicalize_constructor_val): Do not call
- get_base_address when not necessary.
-
-2012-09-10 Andrew Pinski <apinski@cavium.com>
-
- PR tree-opt/54362
- * trans-mem.c (thread_private_new_memory): Handle COND_EXPR also.
-
-2012-09-10 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * config/m68k/m68k.c (m68k_sched_dfa_post_advance_cycle): Support
- starting scheduling from a pre-existing state.
-
-2012-09-10 Diego Novillo <dnovillo@google.com>
-
- * vec.h (vec_t::quick_push): Remove overload that accepts 'T *'.
- Update all users.
- (vec_t::safe_push): Likewise.
- (vec_t::quick_insert): Likewise.
- (vec_t::lower_bound): Likewise.
- (vec_t::safe_insert): Likewise.
- (vec_t::replace): Change second argument to 'T &'.
-
-2012-09-10 Maciej W. Rozycki <macro@codesourcery.com>
-
- * config/rs6000/rs6000.md: Move a splitter next to its insn.
-
-2012-09-10 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Set always to 1 if
- dynamic shifts are available.
- (SHIFT_COUNT_TRUNCATED): Always define to 0. Correct comment.
- * config/sh/sh.c (ashl_lshr_seq, ext_ashl_lshr_seq): Add comments.
- * config/sh/predicates.md (shift_count_operand): Allow
- arith_reg_operand even if TARGET_DYNSHIFT is false.
- * config/sh/sh.md (ashlsi3, lshrsi3): Expand library call patterns
- if needed.
- (ashlsi3_d_call, lshrsi3_d_call): New insns.
-
-2012-09-10 Richard Sandiford <rdsandiford@googlemail.com>
-
- * ira.c (setup_pressure_classes): Handle synonymous classes.
-
-2012-09-10 Marc Glisse <marc.glisse@inria.fr>
-
- * tree-ssa-forwprop.c (simplify_bitfield_ref): New function.
- (ssa_forward_propagate_and_combine): Call it.
-
-2012-09-10 Steve Ellcey <sellcey@mips.com>
-
- * config.gcc: Add mips*-mti-linux* target
- Handle with_synci like other options.
- * config/mips/gnu-user64.h (LINUX64_DRIVER_SELF_SPECS): New.
- (DRIVER_SELF_SPECS): Define in terms of LINUX64_DRIVER_SELF_SPECS.
- * config/mips/mips.h (MIPS_ISA_SYNCI_SPEC): New.
- * config/mips/mti-linux.h: New file.
- * config/mips/t-mti-linux: New file.
-
-2012-09-10 Marc Glisse <marc.glisse@inria.fr>
-
- * tree-ssa-forwprop.c (simplify_permutation): Handle CONSTRUCTOR.
-
-2012-09-10 Martin Jambor <mjambor@suse.cz>
-
- * params.def (PARAM_IPA_MAX_AGG_ITEMS): New parameter.
- * ipa-prop.c: Include params.h.
- (IPA_MAX_AFF_JF_ITEMS): Removed.
- (determine_known_aggregate_parts): Use param value of
- PARAM_IPA_MAX_AGG_ITEMS instead of IPA_MAX_AFF_JF_ITEMS.
- * Makefile.in (ipa-prop.o): Add PARAMS_H dependency.
-
-2012-09-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54520
- * tree-ssa-threadupdate.c (def_split_header_continue_p):
- Properly consider sub-loops.
-
-2012-09-10 Richard Henderson <rth@redhat.com>
-
- * config/alpha/predicates.md (small_symbolic_operand): Disallow
- large offsets.
-
-2012-09-10 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/54536
- * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287".
-
-2012-09-10 Jan Hubicka <jh@suse.cz>
-
- * lto-cgraph.c (compute_ltrans_boundary): Do not care about aliases.
- * symtab.c (symtab_make_decl_local): Remove user defined visibility
- when making symbol local.
-
-2012-09-09 Mark Kettenis <kettenis@gnu.org>
-
- * config/openbsd-stdint.h (INTMAX_TYPE, UINTMAX_TYPE): Define.
-
-2012-09-09 Jan Hubicka <jh@suse.cz>
-
- * passes.c (ipa_write_summaries_1): Set state;
- do not call compute_ltrans_boundary.
- (ipa_write_optimization_summaries): Likewise.
- (ipa_write_summaries): compute_ltrans_boundary here.
- * lto-streamer.h (lto_symtab_encoder_d): NODES are allocated in heap.
- (compute_ltrans_boundary): Update prototype.
-
-2012-09-09 Ulrich Drepper <drepper@gmail.com>
-
- * config/i386/cpuid.h: Define signature_*_e[bcd]x macros for
- matching results of level 0 calls to __cpuid to processor
- manufacturers.
- * config/i386/driver-i386.c (vendor_signatures): Removed.
- (processor_signatures): Removed.
- (host_detect_local_cpu): Replace uses of now-removed SIG_*
- constants with the new signature_*_ebx constants.
-
-2012-09-08 Jan Hubicka <jh@suse.cz>
-
- Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
- in partitioning.
- * tree-pass.h (cgraph_node_set_def, varpool_node_set_def): Remove
- forward declaration.
- (lto_symtab_encoder_d): Forward declare.
- (ipa_write_optimization_summaries): Update.
- * lto-cgraph.c (lto_symtab_encoder_new): Do not initialize
- body, initializer and in_partition.
- (lto_symtab_encoder_delete): Update.
- (lto_symtab_encoder_encode): Update.
- (lto_symtab_encoder_lookup): Move inline.
- (lto_symtab_encoder_delete_node): New function.
- (lto_symtab_encoder_encode_body_p, lto_set_symtab_encoder_encode_body,
- lto_symtab_encoder_encode_initializer_p,
- lto_set_symtab_encoder_encode_initializer,
- lto_symtab_encoder_in_partition_p,
- lto_symtab_encoder_in_partition_p): Update.
- (compute_ltrans_boundary): Take encoder as an input.
- * passes.c (ipa_write_summaries_1): Update.
- (ipa_write_summaries_1): Update.
- (ipa_write_summaries): Update.
- (ipa_write_optimization_summaries): Update.
- * lto-streamer.c (print_lto_report): Report number of cgraph nodes.
- * lto-streamer.h (lto_stats_d): Replace num_output_cgraph_nodes by
- num_output_symtab_nodes.
- (lto_encoder_entry): New structure.
- (struct lto_symtab_encoder_d): Reorg.
- (lto_symtab_encoder_delete_node): Declare.
- (lto_symtab_encoder_lookup): Bring inline.
- (compute_ltrans_boundary): Update.
- (lto_symtab_encoder_size): Update.
- (lsei_node, lsei_cgraph_node, lsei_varpool_node): Update.
- (lto_symtab_encoder_deref): Update.
-
-2012-09-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * config/pa/pa.c (hppa_rtx_costs): Update costs for large
- integer modes.
-
-2012-09-08 Andi Kleen <ak@linux.intel.com>
-
- * lto/lto.c (do_whole_program_analysis): Fix last broken patch.
-
-2012-09-08 Andi Kleen <ak@linux.intel.com>
-
- * common.opt (-fmem-report-wpa): Add
- * doc/invoke.texi (-fmem-report-wpa): Document.
- * lto/lto.c (do_whole_program_analysis): Run mem_report
- when mem_report_wpa is set.
-
-2012-09-07 Anthony Green <green@moxielogic.com>
-
- * config/moxie/moxie.c (moxie_expand_prologue): Optimize prologue
- for functions with large static stack requirements.
- (moxie_expand_epilogue): Use $r12 instead of $r5 for pulling saved
- values off of the stack.
-
-2012-09-07 Nick Clifton <nickc@redhat.com>
-
- * config/v850/v850.h (DBX_DEBUGGING_INFO): Define.
- (ASM_GENERATE_INTERNAL_LABEL): Define if not already provided.
- * config/v850/v850.c (compute_register_save_size): Always include
- the link pointer.
- (increment_stack): New function - emits insns to increment or
- decrement the stack pointer.
- (expand_prologue, expand_epilogue): Use it.
- (expand_prologue): Set the function stack size, if requested.
- (v850_debug_unwind_info): New function.
- (TARGET_DEBUG_UNWIND_INFO): Define.
-
-2012-09-07 Richard Earnshaw <rearnsha@arm.com>
-
- PR tree-ssa/54295
- * tree-ssa-math-opts.c (widening_mult_conversion_strippable_p):
- Sign-extension of a zero-extended value can be simplified to
- just zero-extension.
-
-2012-09-07 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53667
- * tree-ssa-structalias.c (handle_rhs_call): Properly clobber
- EAF_NOESCAPED arguments. Transitively close non-EAF_DIRECT
- arguments separately.
-
-2012-09-07 Steven Bosscher <steven@gcc.gnu.org>
-
- * bitmap.c (bitmap_last_set_bit): Rewrite to return the correct bit.
-
- * graphite.c (print_global_statistics): Use EDGE_COUNT instead
- of VEC_length.
- (print_graphite_scop_statistics): Likewise.
- * graphite-scop-detection.c (get_bb_type): Use single_succ_p.
- (print_graphite_scop_statistics): Use EDGE_COUNT, not VEC_length.
- (canonicalize_loop_closed_ssa): Use single_pred_p.
-
- * alias.c (reg_seen): Make this an sbitmap.
- (record_set, init_alias_analysis): Update.
-
- * tree-ssa-coalesce.c (ssa_conflicts_dump): Fix dumping.
-
-2012-09-07 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/53986
- * tree-vrp.c (extract_range_from_multiplicative_op_1): Allow
- LSHIFT_EXPR.
- (extract_range_from_binary_expr_1): Handle LSHIFT with constant
- range as shift amount.
-
-2012-09-07 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/aix43.h (RS6000_CALL_GLUE): Delete.
- * config/rs6000/aix51.h (RS6000_CALL_GLUE): Delete.
- * config/rs6000/aix52.h (RS6000_CALL_GLUE): Delete.
- * config/rs6000/aix53.h (RS6000_CALL_GLUE): Delete.
- * config/rs6000/aix61.h (RS6000_CALL_GLUE): Delete.
- * config/rs6000/freebsd64.h (RS6000_CALL_GLUE): Delete.
- * config/rs6000/linux64.h (RS6000_CALL_GLUE): Delete.
- * config/rs6000/rs6000.c (print_operand) ['.']: Delete.
- * config/rs6000/rs6000.h (RS6000_CALL_GLUE): Delete.
- * config/rs6000/rs6000.md (tls_gd_aix<TLSmode:tls_abi_suffix>):
- Replace %. with nop.
- (tls_gd_call_aix<TLSmode:tls_abi_suffix>): Ditto.
- (tls_ld_aix<TLSmode:tls_abi_suffix>): Ditto.
- (tls_ld_call_aix<TLSmode:tls_abi_suffix>): Ditto.
- (call_nonlocal_aix32): Ditto.
- (call_nonlocal_aix64): Ditto.
- (call_value_nonlocal_aix32): Ditto.
- (call_value_nonlocal_aix64): Ditto.
-
-2012-09-06 Andi Kleen <ak@linux.intel.com>
-
- * doc/invoke.texi (-ffat-lto-objects): Clarify that gcc-ar
- et.al. should be used.
-
-2012-09-06 Andi Kleen <ak@linux.intel.com>
-
- * lto-streamer.h (res_pair): Add.
- (lto_file_decl_data): Replace resolutions with respairs.
- Add max_index.
- * lto/lto.c (lto_resolution_read): Remove max_index. Add rp.
- Initialize respairs.
- (lto_file_finalize): Set up resolutions vector lazily from respairs.
-
-2012-09-06 Lawrence Crowl <crowl@google.com>
-
- * double-int.h (double_int::operator &=): New.
- (double_int::operator ^=): New.
- (double_int::operator |=): New.
- (double_int::mul_with_sign): Modify overflow parameter to bool*.
- (double_int::add_with_sign): New.
- (double_int::ule): New.
- (double_int::sle): New.
- (binary double_int::operator *): Remove parameter name.
- (binary double_int::operator +): Likewise.
- (binary double_int::operator -): Likewise.
- (binary double_int::operator &): Likewise.
- (double_int::operator |): Likewise.
- (double_int::operator ^): Likewise.
- (double_int::and_not): Likewise.
- (double_int::from_shwi): Tidy formatting.
- (double_int::from_uhwi): Likewise.
- (double_int::from_uhwi): Likewise.
- * double-int.c (double_int::mul_with_sign): Modify overflow parameter
- to bool*.
- (double_int::add_with_sign): New.
- (double_int::ule): New.
- (double_int::sle): New.
- * builtins.c: Modify to use the new double_int interface.
- * cgraph.c: Likewise.
- * combine.c: Likewise.
- * dwarf2out.c: Likewise.
- * emit-rtl.c: Likewise.
- * expmed.c: Likewise.
- * expr.c: Likewise.
- * fixed-value.c: Likewise.
- * fold-const.c: Likewise.
- * gimple-fold.c: Likewise.
- * gimple-ssa-strength-reduction.c: Likewise.
- * gimplify-rtx.c: Likewise.
- * ipa-prop.c: Likewise.
- * loop-iv.c: Likewise.
- * optabs.c: Likewise.
- * stor-layout.c: Likewise.
- * tree-affine.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-dfa.c: Likewise.
- * tree-flow-inline.h: Likewise.
- * tree-object-size.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-sra.c: Likewise.
- * tree-ssa-address.c: Likewise.
- * tree-ssa-alias.c: Likewise.
- * tree-ssa-ccp.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-ssa-loop-niter.c: Likewise.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-sccvn: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * tree-ssa.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-vect-loop-manip.c: Likewise.
- * tree-vrp.c: Likewise.
- * tree.h: Likewise.
- * tree.c: Likewise.
- * varasm.c: Likewise.
-
-2012-09-06 Uros Bizjak <ubizjak@gmail.com>
-
- * configure.ac (hle prefixes): Remove .code64 directive.
- * configure: Regenerated.
-
-2012-09-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c: Use CONST_INT_P, CONST_DOUBLE_P, REG_P, MEM_P,
- LABEL_P, JUMP_P, CALL_P, NOTE_P, BARRIER_P consistently.
- * config/arm/arm.h: Use REG_P, MEM_P consistently.
- * config/arm/arm.md: Use CONST_INT_P, REG_P, MEM_P, CONST_DOUBLE_P
- consistently.
- * config/arm/neon.md: Use REG_P consistently.
- * config/arm/predicates.md: Use CONST_INT_P, REG_P, MEM_P consistently.
- * config/arm/thumb2.md: Use CONST_INT_P, REG_P consistently.
- * config/arm/vec-common.md: Use REG_P consistently.
-
-2012-09-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54498
- * tree-ssa-alias.h (get_continuation_for_phi): Add flag to
- abort when reaching an already visited region.
- * tree-ssa-alias.c (maybe_skip_until): Likewise. And do it.
- (get_continuation_for_phi_1): Likewise.
- (walk_non_aliased_vuses): When we translated the reference,
- abort when we re-visit a region.
- * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
-
-2012-09-06 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Add TLS
- section.
- * config/rs6000/rs6000.c (rs6000_debug_address_cost): Add new
- arguments to TARGET_ADDRESS_COST call.
-
-2012-09-06 Richard Guenther <rguenther@suse.de>
-
- * tree.h (MOVE_NONTEMPORAL): Remove.
- * tree-pretty-print.c (dump_generic_node): Remove
- MOVE_NONTEMPORAL handling.
- * expr.c (expand_expr_real_1): Likewise.
-
-2012-09-06 Richard Guenther <rguenther@suse.de>
-
- * passes.c (execute_function_todo): Call compute_may_aliases
- only if flag_tree_pta is set.
-
-2012-09-06 Andrew Pinski <apinski@cavium.com>
-
- PR tree-opt/54494
- * tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also.
-
-2012-09-06 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/54455
- * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru
- bb ends up with asm goto referencing bb's label.
-
-2012-09-06 Chen Liqin <liqin.gcc@gmail.com>
-
- * config/score/score.c: Remove TARGET_LEGITIMIZE_ADDRESS define and
- score_legitimize_address function, use compiler default code instead.
-
-2012-09-05 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (want_inline_small_function_p): Use
- INLINE_HINT_loop_iterations hint.
-
-2012-09-05 Andrew Pinski <apinski@cavium.com>
-
- * optabs.c (emit_conditional_add): Correct comment about the arguments.
- Remove code which might swap op2 and op3 since they cannot be swapped.
- * doc/md.texi (add@var{mode}cc): Fix document about how the arguments
- are used.
-
-2012-09-05 Oleg Endo <olegendo@gcc.gnu.org>
-
- * hooks.c (hook_int_rtx_mode_as_bool_0): New function.
- * hooks.h (hook_int_rtx_mode_as_bool_0): Declare it.
- * output.h (default_address_cost): Add machine_mode and address space
- arguments.
- * target.def (address_cost): Likewise.
- * rtlanal.c (address_cost): Pass mode and address space to target hook.
- (default_address_cost): Add unnamed machine_mode and address space
- arguments.
- * doc/tm.texi: Regenerate.
- * config/alpha/alpha.c (TARGET_ADDRESS_COST): Use
- hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
- * config/arm/arm.c (arm_address_cost): Add machine_mode and address
- space arguments.
- * config/avr/avr.c (avr_address_cost): Likewise.
- * config/bfin/bfin.c (bfin_address_cost): Likewise.
- * config/cr16/cr16.c (cr16_address_cost): Likewise.
- * config/cris/cris.c (cris_address_cost): Likewise.
- * config/epiphany/epiphany.c (epiphany_address_cost): Likewise.
- * config/i386/i386.c (ix86_address_cost): Likewise.
- * config/ia64/ia64.c (TARGET_ADDRESS_COST): Use
- hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
- * config/iq2000/iq2000.c (iq2000_address_cost): Add machine_mode and
- address space arguments. Pass them on in recursive invocation.
- * config/lm32/lm32.c (TARGET_ADDRESS_COST): Use
- hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
- * config/m32c/m32c.c (m32c_address_cost): Add machine_mode and address
- space arguments.
- * config/m32r/m32r.c (TARGET_ADDRESS_COST): Use
- hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
- * config/mcore/mcore.c (TARGET_ADDRESS_COST): Likewise.
- * config/mep/mep.c (mep_address_cost): Add machine_mode and address
- space arguments.
- * config/microblaze/microblaze.c (microblaze_address_cost): Likewise.
- * config/mips/mips.c (mips_address_cost): Likewise.
- * config/mmix/mmix.c (TARGET_ADDRESS_COST): Use
- hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
- * config/mn10300/mn10300.c (mn10300_address_cost): Add machine_mode and
- address space arguments.
- (mn10300_rtx_costs): Pass GET_MODE (x) and MEM_ADDR_SPACE (x) to
- mn10300_address_cost.
- * config/pa/pa.c (hppa_address_cost): Add machine_mode and address
- space arguments.
- * config/rs6000/rs6000.c (rs6000_debug_address_cost): Likewise.
- (TARGET_ADDRESS_COST): Use hook_int_rtx_mode_as_bool_0 instead of
- hook_int_rtx_bool_0.
- * config/rx/rx.c (rx_address_cost): Add machine_mode and address
- space arguments.
- * config/s390/s390.c (s390_address_cost): Likewise.
- * config/score/score-protos.h (score_address_cost): Likewise.
- * config/score/score.c (score_address_cost): Likewise.
- * config/sh/sh.c (sh_address_cost): Likewise.
- * config/sparc/sparc.c (TARGET_ADDRESS_COST): Use
- hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
- * config/spu/spu.c (TARGET_ADDRESS_COST): Likewise.
- * config/stormy16/stormy16.c (xstormy16_address_cost): Add machine_mode
- and address space arguments.
- * config/v850/v850.c (TARGET_ADDRESS_COST): Use
- hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
- * config/vax/vax.c (vax_address_cost): Add machine_mode and address
- space arguments.
- * config/xtensa/xtensa (TARGET_ADDRESS_COST): Use
- hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
-
-2012-09-05 Diego Novillo <dnovillo@google.com>
-
- PR bootstrap/54484
- * vec.h (vec_t::lower_bound): Fix spelling of LESSTHAN argument.
-
-2012-09-05 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/54486
- * builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use
- build_int_cst with size_type_node instead of size_int.
-
-2012-09-05 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>):
- Use register_operand instead of reg_not_xmm0_operand{,_maybe_avx}.
- Use nonimmediate_operand instead of
- nonimm_not_xmm0_operand{,_maybe_avx}.
- (<sse4_1_avx2>_pblendvb): Ditto.
- (sse4_2_pcmpestr): Ditto.
- (*sse4_2_pcmpestr_unaligned): Ditto.
- (sse4_2_pcmpistr): Ditto.
- (*sse4_2_pcmpistr_unaligned): Ditto.
- * config/i386/predicates.md (reg_not_xmm0_operand): Remove predicate.
- (nonimm_not_xmm0_operand): Ditto.
- (nonimm_not_xmm0_operand_maybe_avx): Ditto.
- (nonimm_not_xmm0_operand_maybe_avx): Ditto.
- * config/i386/i386.md (rdpmc): Do not force operand 1 into ecx.
-
-2012-09-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * bb-reorder.c: Clarify a few points in the head comment and fix
- long lines in other comments.
- (find_traces): Fix long line.
- (find_traces_1_round): Likewise.
- (better_edge_p): Likewise.
- (connect_traces): Likewise.
- (duplicate_computed_gotos): Likewise.
- (find_rarely_executed_basic_blocks_and_cr): Remove trailing spaces.
- (fix_up_fall_thru_edges): Fix formatting.
-
-2012-09-05 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/46590
- * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Do not
- update SSA form here.
- (canonicalize_induction_variables): Assert we do not need to
- update SSA form.
- (tree_unroll_loops_completely): Update SSA form here.
- * tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge):
- Do not verify loop-closed SSA form if SSA form is not up-to-date.
-
-2012-09-05 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/54461
- * config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
- not configured --with-avrlibc=no.
- (tm_defines,target=avr-*-*): Add WITH_AVRLIBC if not configured
- --with-avrlibc=no.
- * config/avr/avrlibc.h: New file.
- * config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
- not configured --with-avrlibc=no.
- * doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__
-
-2012-09-04 Teresa Johnson <tejohnson@google.com>
-
- * gcov-io.c (gcov_write_summary): Write out non-zero histogram
- entries to function summary along with an occupancy bit vector.
- (gcov_read_summary): Read in the histogram entries.
- (gcov_histo_index): New function.
- (void gcov_histogram_merge): Ditto.
- * gcov-io.h (gcov_type_unsigned): New type.
- (struct gcov_bucket_type): Ditto.
- (struct gcov_ctr_summary): Include histogram.
- (GCOV_TAG_SUMMARY_LENGTH): Update to include histogram entries.
- (GCOV_HISTOGRAM_SIZE): New macro.
- (GCOV_HISTOGRAM_BITVECTOR_SIZE): Ditto.
- * profile.c (NUM_GCOV_WORKING_SETS): Ditto.
- (gcov_working_sets): New global variable.
- (compute_working_sets): New function.
- (find_working_set): Ditto.
- (get_exec_counts): Invoke compute_working_sets.
- * coverage.c (read_counts_file): Merge histograms, and
- fix bug with accessing summary info for non-summable counters.
- * basic-block.h (gcov_type_unsigned): New type.
- (struct gcov_working_set_info): Ditto.
- (find_working_set): Declare.
- * gcov-dump.c (tag_summary): Dump out histogram.
-
-2012-09-04 Diego Novillo <dnovillo@google.com>
-
- PR bootstrap/54484
- * vec.h (vec_t::embedded_init): Move default argument value
- to function declaration.
-
-2012-09-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * bb-reorder.c (gate_handle_reorder_blocks): Move around.
- (rest_of_handle_reorder_blocks): Likewise.
- (pass_reorder_blocks): Likewise.
- (gate_handle_partition_blocks): Likewise.
-
-2012-09-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/54456
- * sched-rgn.c (gate_handle_sched): Return 1 only if optimize > 0.
-
-2012-09-04 Diego Novillo <dnovillo@google.com>
-
- PR bootstrap/54478
- * vec.h (vec_t::alloc): Remove explicit type specification
- in call to reserve.
- (vec_t::copy): Likewise.
- (vec_t::reserve): Likewise.
- (vec_t::reserve_exact): Likewise.
- (vec_t::safe_splice): Likewise.
- (vec_t::safe_push): Likewise.
- (vec_t::safe_grow): Likewise.
- (vec_t::safe_grow_cleared): Likewise.
- (vec_t::safe_insert): Likewise.
-
-2012-09-04 Richard Henderson <rth@redhat.com>
-
- * alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.
-
-2012-09-04 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-pre.c (value_expressions): Make it a vector of
- bitmaps containing expression IDs.
- (add_to_value): Adjust.
- (sorted_array_from_bitmap_set): Likewise.
- (bitmap_set_replace_value): Likewise.
- (print_value_expressions): Likewise.
- (get_constant_for_value_id): Likewise.
- (get_representative_for): Likewise.
- (phi_translate_1): Likewise.
- (bitmap_find_leader): Likewise.
- (find_or_generate_expression): Likewise.
- (do_regular_insertion): Likewise.
- (init_pre): Likewise.
- (fini_pre): Likewise.
-
-2012-09-04 Diego Novillo <dnovillo@google.com>
-
- PR bootstrap/54479
- * vec.h (vec_t::copy): Add cast in call to reserve_exact.
-
-2012-09-04 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-pre.c (add_to_exp_gen): Adjust.
- (make_values_for_phi): Do not add to PHI_GEN for FRE.
- (compute_avail): Stop processing after adding all defs to
- AVAIL_OUT for FRE.
- (init_pre): Do not allocate not needed bitmap sets for FRE.
-
-2012-09-04 Diego Novillo <dnovillo@google.com>
-
- Rewrite VEC_* functions as member functions of vec_t.
-
- * vec.h: Update documentation.
- (ALONE_VEC_CHECK_INFO): Define.
- (ALONE_VEC_CHECK_DECL): Define.
- (ALONE_VEC_CHECK_PASS): Define.
- (struct vec_prefix): Rename field NUM to NUM_.
- Rename field ALLOC to ALLOC_.
- Update all users.
- (struct vec_t): Rename field PREFIX to PREFIX_.
- Rename field VEC to VEC_.
- Update all users.
- (vec_t::length): Rename from VEC_length_1. Update all users.
- (vec_t::empty): Rename from VEC_empty_1. Update all users.
- (vec_t::address): Rename from VEC_address_1. Update all users.
- (vec_address): New.
- (vec_t::last): Rename from VEC_last_1. Update all users.
- (vec_t::operator[]): Rename from VEC_index_1. Update all users.
- (vec_t::iterate): Rename from VEC_iterate_1. Update all users.
- (vec_t::embedded_size): Rename from VEC_embedded_size_1.
- Update all users.
- (vec_t::embedded_init): Rename from VEC_embedded_init_1.
- Update all users.
- (vec_t::alloc): Rename from VEC_alloc_1. Update all users.
- (vec_t::free): Rename from VEC_free_1. Update all users.
- (vec_t::copy): Rename from VEC_copy_1. Update all users.
- (vec_t::space): Rename from VEC_space_1. Update all users.
- (vec_t::reserve): Rename from VEC_reserve_1. Update all users.
- (vec_t::reserve_exact): Rename from VEC_reserve_exact_1.
- Update all users.
- (vec_t::splice): Rename from VEC_splice_1. Update all users.
- (vec_t::safe_splice): Rename from VEC_safe_splice_1. Update all users.
- (vec_t::quick_push): Rename from VEC_quick_push_1. Update all users.
- (vec_t::safe_push): Rename from VEC_safe_push_1. Update all users.
- (vec_t::pop): Rename from VEC_pop_1. Update all users.
- (vec_t::truncate): Rename from VEC_truncate_1. Update all users.
- (vec_t::safe_grow): Rename from VEC_safe_grow_1. Update all users.
- (vec_t::safe_grow_cleared): Rename from VEC_safe_grow_cleared_1.
- Update all users.
- (vec_t::replace): Rename from VEC_replace_1. Update all users.
- (vec_t::quick_insert): Rename from VEC_quick_insert_1.
- Update all users.
- (vec_t::safe_insert): Rename from VEC_safe_insert_1. Update all users.
- (vec_t::ordered_remove): Rename from VEC_ordered_remove_1.
- Update all users.
- (vec_t::unordered_remove): Rename from VEC_unordered_remove_1.
- Update all users.
- (vec_t::block_remove): Rename from VEC_block_remove_1. Update all users.
- (vec_t::lower_bound): Rename from VEC_lower_bound_1. Update all users.
-
-2012-09-04 Steven Bosscher <steven@gcc.gnu.org>
-
- * gimple.h (gimple_build_switch): Remove.
- (gimple_build_switch_vec): Promote to the new gimple_build_switch.
- (gimple_switch_default_label): Assert the default case label is
- really a default case label.
- (gimple_switch_set_default_label): Likewise.
- * gimple.c (gimple_build_switch_nlabels): Make sure a default label
- is passed in, and simplify accordingly.
- (gimple_build_switch): Removed.
- (gimple_build_switch_vec): Rename to gimple_build_switch.
- * gimplify.c (gimplify_switch_expr): Update gimple_build_switch use.
- * gimple-pretty-print.c (dump_gimple_switch): Do not accept a NULL
- case label.
- * stmt.c (expand_case): Simplify using the fact that every GIMPLE
- switch must have a default case.
- * tree-cfg.c (group_case_labels_stmt): Likewise.
- (verify_gimple_switch): Use gimple_switch_label in verifier to get
- the label at index 0, and verify that it is a valid default case.
- * except.c (sjlj_emit_dispatch_table): Rewrite construction of the
- switch for dispatching.
- * tree-eh.c (lower_try_finally_switch): Update gimple_build_switch use.
- (lower_eh_dispatch): Likewise.
- * tree-vrp.c (execute_vrp): Use gimple_switch_label to get the case
- label at index 0 before turning it into a default case label.
- * omp-low.c (expand_omp_sections): Update gimple_build_switch use.
- * tree-switch-conversion.c (emit_case_bit_tests): Get the default case
- label using gimple_switch_default_label.
- (collect_switch_conv_info): Likewise.
- (process_switch): Likewise.
- * doc/gimple.texi: Update documentation of gimple_build_switch.
-
-2012-09-04 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/54476
- * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with
- SImode.
-
-2012-09-04 Bin Cheng <bin.cheng@arm.com>
-
- PR target/45070
- * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value
- of size less than 4 bytes by using macro ARM_NUM_INTS.
- (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS.
-
-2012-09-04 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54458
- * tree-ssa-threadupdate.c (thread_through_loop_header): If we
- turn the loop into one with multiple latches mark it so.
-
-2012-09-04 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- PR target/54220
- * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
- define to...
- (avr_allocate_stack_slots_for_args): ...this new static function.
-
-2012-09-04 Christophe Lyon <christophe.lyon@linaro.org>
-
- * config/arm/arm.c (arm_expand_builtin): Replace gen_rtx_CONST_INT
- by GEN_INT.
- (arm_emit_coreregs_64bit_shift): Likewise.
-
-2012-09-04 Christophe Lyon <christophe.lyon@linaro.org>
-
- * config/arm/arm.c (arm_evpc_neon_vext): New function.
- (arm_expand_vec_perm_const_1): Add call to arm_evpc_neon_vext.
-
-2012-09-04 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/sh.c (prepare_cbranch_operands): Pull out comparison
- canonicalization code into...
- * (sh_canonicalize_comparison): This new function.
- * config/sh/sh-protos.h: Declare it.
- * config/sh/sh.h: Use it in new macro CANONICALIZE_COMPARISON.
- * config/sh/sh.md (cbranchsi4): Remove TARGET_CBRANCHDI4 check and
- always invoke expand_cbranchsi4.
-
-2012-09-03 Andi Kleen <ak@linux.intel.com>
-
- * tree-ssa-sccvn.c (vn_reference_fold_indirect): Initialize
- addr_offset always.
-
-2012-09-03 Andrew Pinski <apinski@cavium.com>
-
- PR tree-opt/53395
- * tree-if-conv.c (constant_or_ssa_name): New function.
- (fold_build_cond_expr): New function.
- (predicate_scalar_phi): Use fold_build_cond_expr instead of build3.
- (predicate_mem_writes): Likewise.
-
-2012-09-03 Marc Glisse <marc.glisse@inria.fr>
-
- * fold-const.c (fold_ternary_loc): Constant-propagate after
- removing dead operands.
-
-2012-09-03 Michael Matz <matz@suse.de>
-
- PR tree-optimization/46590
- * tree-cfg.c (gimple_duplicate_sese_region): Don't update
- SSA web here ...
- * tree-ssa-loop-ch.c (copy_loop_headers): ... but here.
-
-2012-09-03 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi: Fix numerous typos and punctuation/grammatical
- errors throughout the file. Re-word some awkward sentences and
- paragraphs.
-
-2012-09-03 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54362
- * tree-ssa-structalias.c (find_func_aliases): Handle COND_EXPR.
-
-2012-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_loadrelative_operand_p): New function.
- (s390_check_qrst_address, print_operand_address): Use
- s390_loadrelative_operand_p instead of s390_symref_operand_p.
- (s390_check_symref_alignment): Accept pointer size alignment for
- GOT slots.
- (legitimize_pic_address): Use load relative on z10 or later.
-
-2012-09-03 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/53923
- * valtrack.c (dead_debug_insert_temp): Drop non-reg uses
- from the chain.
-
-2012-09-03 Joseph Myers <joseph@codesourcery.com>
-
- * common.opt (--no-sysroot-suffix): New driver option.
- * doc/invoke.texi (--no-sysroot-suffix): Document.
- * gcc.c (driver_handle_option): Handle --no-sysroot-suffix as not
- needing spec processing.
- (main): Do not process sysroot suffixes if no_sysroot_suffix.
-
-2012-09-02 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/33135
- * common/config/sh/sh-common.c: Update copyright years.
- (sh_option_init_struct): Delete.
- (TARGET_OPTION_INIT_STRUCT): Likewise.
-
-2012-09-02 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54418
- * config/sh/sh.md (cmpgeusi_t): Remove N alternative.
- Check operands[1] in split condition instead of operands[0].
- Add comments.
-
-2012-09-02 Mark Kettenis <kettenis@openbsd.org>
-
- * config.gcc (x86_64-*-openbsd*): New target.
- * config.host (*-*-openbsd*): New target.
- * config/openbsd.h (TARGET_C99_FUNCTIONS): Define.
- * config/i386/openbsdelf.h: Remove some superfluous defines and
- group things together in a more logical fashion.
- (DBX_REGISTER_NUMBER): Provide a
- definition that works on both 32-bit and 64-bit targets.
- (WCHAR_TYPE_SIZE): Hardcode as 32.
- (NO_DOLLAR_IN_LABEL): Remove undef.
- (TARGET_DEFAULT): Remove.
- (SET_ASM_OP): Remove.
- (DEFAULT_PCC_STRUCT_RETURN): Undef first to prevent warning.
- (ASM_OUTPUT_MAX_SKIP_ALIGN): Synch with x86-64.h
- (DWARF2_UNWIND_INFO): Remove define.
- (HAVE_ENABLE_EXECUTE_STACK): Define.
- * config/host-openbsd.c: New file.
- * config/t-openbsd (USER_H): Add EXTRA_HEADERS.
- * config/x-openbsd: New file.
-
-2012-09-02 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md (*extend<mode>si2_compact_mem_disp): Pass iterated
- mode to sh_legitimate_index_p instead of QImode.
-
-2012-09-02 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/54369
- * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
- calling dbr_schedule.
- * config/sparc/sparc.c (sparc_reorg): Likewise.
-
-2012-09-01 Jakub Jelinek <jakub@redhat.com>
-
- PR target/54436
- * config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
- operands[1] is CONST_INT_P, convert it to QImode before printing.
-
-2012-09-01 Andrew Pinski <apinski@cavium.com>
-
- * simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>):
- A truncate of a memory is just loading the low part of the memory.
-
-2012-09-01 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/46829
- PR target/46843
- * config/i386/i386.c (ix86_legitimate_combined_insn): New function.
- (TARGET_LEGITIMATE_COMBINED_INSN): New macro.
-
-2012-09-01 Uros Bizjak <ubizjak@gmail.com>
-
- * target.def (legitimate_combined_insn): New target hook.
- * doc/tm.texi.in (TARGET_LEGITIMATE_COMBINED_INSN): New hook.
- * doc/tm.texi: Regenerated.
- * combine.c (recog_for_combine): Call targetm.legitimate_combined_insn
- to allow targets to reject combined insn.
- * hooks.h (hook_bool_rtx_true): New.
- * hooks.c (hook_bool_rtx_true): Ditto.
-
-2012-08-31 Martin Jambor <mjambor@suse.cz>
-
- * ipa-inline-analysis.c (estimate_function_body_sizes): Allocate
- nonconstant_names after calculate_dominance_info and
- loop_optimizer_init.
-
-2012-08-31 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * config/arm/arm.c (arm_expand_epilogue): Remove unused variable
- floats_from_frame.
-
-2012-08-31 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/54409
- * ipa-inline-analysis.c (remap_predicate): Fix the offset_map
- checking condition.
-
-2012-08-31 Martin Jambor <mjambor@suse.cz>
-
- * ipa-inline-analysis.c (phi_result_unknown_predicate): New function.
- (predicate_for_phi_result): Likewise.
- (estimate_function_body_sizes): Use the above two functions.
-
-2012-08-31 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/54394
- * ipa-inline-analysis.c (estimate_function_body_sizes): Compute
- dominance info and loops whenever optimizing.
-
-2012-08-29 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- Richard Earnshaw <richard.earnshaw@arm.com>
-
- PR target/54252
- * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
- element size. Use elem_type from the formal parameter. New parameter
- fcode.
- (neon_expand_args): Adjust call to neon_dereference_pointer.
-
-2012-08-29 Steven Bosscher <steven@gcc.gnu.org>
-
- * cfg.c (dump_bb_info): Print a newline if there were no edges to dump.
-
-2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
-
- Revert:
- * config/mips/t-linux64 (MULTILIB_OSDIRNAMES): Change to use
- mapping style, add ../lib/mips16.
- (MULTILIB_OPTIONS,MULTILIB_DIRNAMES): Add mips16.
- (MULTILIB_EXCLUSIONS): Exclude mips16 when not -mabi=32.
-
-2012-08-29 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_synci
- if TARGET_SYNCI.
-
-2012-08-29 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.opt (menable-tas): Rename to mtas.
- * doc/invoke.texi (SH options): Likewise.
- * config/sh/sync.md: Update comments.
-
-2012-08-29 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/iterators.md: New file.
- * config/sh/sync.md (I124, I12, i124suffix): Delete. Replace usage
- with new iterators QIHISI, QIHI, bw, bwl respectively throughout
- the file.
- * config/sh/sh.md: Include new file iterators.md.
- (zero_extendhisi2, zero_extendqisi2): Fold into zero_extend<mode>si2.
- (*zero_extendhisi2_compact, *zero_extendqisi2_compact): Fold into
- *zero_extend<mode>si2_compact.
- (*zero_extendqisi2_disp_mem, zero_extendhisi2_disp_mem): Fold into
- *zero_extend<mode>si2_disp_mem.
- (extendhisi2, extendqisi2): Fold into extend<mode>si2.
- (*extendqisi2_compact_reg, *extendhisi2_compact_reg): Fold into
- *extend<mode>si2_compact_reg.
- (*extendqisi2_compact_mem_disp, *extendhisi2_compact_mem_disp): Fold
- into *extend<mode>si2_compact_mem_disp.
- (*extendqisi2_compact_snd, *extendhisi2_compact_snd): Fold into
- *extend<mode>si2_compact_snd.
- (*movsi_index_disp, *movhi_index_disp): Fold with iterators and rename
- to *movsi_index_disp_load, *movhi_index_disp_load,
- *mov<mode>_index_disp_store.
- (*movqi_reg_reg, *movhi_reg_reg): Fold into *mov<mode>_reg_reg.
- (*movqi_store_mem_disp04, *movhi_store_mem_disp05): Fold into
- *mov<mode>_store_mem_disp04.
- (*movqi_store_mem_disp12, *movhi_store_mem_disp13): Fold into
- *mov<mode>_store_mem_disp12.
- (*movqi_load_mem_disp, *movhi_load_mem_disp): Fold into
- *mov<mode>_load_mem_disp04 and *mov<mode>_load_mem_disp12.
-
-2012-08-29 Martin Jambor <mjambor@suse.cz>
-
- * ipa-inline.h (estimate_edge_hints): Call do_estimate_edge_hints, not
- do_estimate_edge_time.
-
-2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm
- directives, remove #ifndef __mips16 guards.
- * config/mips/t-linux64 (MULTILIB_OSDIRNAMES): Change to use
- mapping style, add ../lib/mips16.
- (MULTILIB_OPTIONS,MULTILIB_DIRNAMES): Add mips16.
- (MULTILIB_EXCLUSIONS): Exclude mips16 when not -mabi=32.
-
-2012-08-28 Walter Lee <walt@tilera.com>
- * confg/tilegx/tilegx.md: Fix code style.
- (*zero_extendsidi_truncdisi): Fix typo.
- * config/tilegx/tilegx.c: Fix code style.
- (tilegx_function_profiler): Fix typo.
-
-2012-08-28 Walter Lee <walt@tilera.com>
-
- * doc/invoke.texi: Document -mcmodel=small, -mcmodel=large.
- * config/tilegx/tilegx.h: Include config/tilegx/tilegx-opts.h.
- (CRT_CALL_STATIC_FUNCTION): Define.
- * config/tilegx/predicates.md (const_last_symbolic_operand):
- Handle UNSPEC_HW2_LAST_PCREL, UNSPEC_HW1_LAST_PLT_PCREL, and
- UNSPEC_HW2_LAST_PLT_PCREL.
- (const_symbolic_operand): Handle UNSPEC_HW1_PCREL,
- UNSPEC_HW0_PLT_PCREL, and UNSPEC_HW1_PLT_PCREL.
- * config/tilegx/tilegx.md (UNSPEC_MOV_LARGE_PCREL_STEP4): Define,
- and renumber the constants that follow.
- (UNSPEC_HW1_PCREL): Ditto.
- (UNSPEC_HW2_LAST_PCREL): Ditto.
- (UNSPEC_HW0_PLT_PCREL): Define.
- (UNSPEC_HW1_PLT_PCREL): Define.
- (UNSPEC_HW1_LAST_PLT_PCREL): Define.
- (UNSPEC_HW2_LAST_PLT_PCREL): Define.
- (mov_large_pcrel_step1): Define.
- (mov_large_pcrel_step2): Define.
- (mov_large_pcrel_step3): Define.
- (mov_large_pcrel_step4): Define.
- (mov_plt_pcrel_step1): Define.
- (mov_plt_pcrel_step2): Define.
- (mov_plt_pcrel_step3): Define.
- (mov_plt_pcrel_step1_32bit): Define.
- (mov_plt_pcrel_step2_32bit): Define.
- (call): Handle tilegx_cmodel == CM_LARGE, CM_LARGE_PIC.
- (call_value): Ditto.
- * config/tilegx/tilegx.opt: Include config/tilegx/tilegx-opts.h.
- (mcmodel): New option.
- (enum cmodel): Define.
- (CM_SMALL): Define.
- (CM_LARGE): Define.
- * config/tilegx/tilegx-opts.h: New file.
- * config/tilegx/tilegx-protos.h (tilegx_compute_pcrel_address):
- Declare.
- (tilegx_compute_pcrel_plt_address): Declare.
- * config/tilegx/tilegx.c (tilegx_option_override): Handle
- tilegx_cmodel.
- (tilegx_function_ok_for_sibcall): Ditto.
- (compute_pcrel_address): Rename to tilegx_compute_pcrel_address,
- and don't declare static. Handle tilegx_cmodel.
- (tilegx_compute_pcrel_plt_address): Define.
- (tilegx_legitimize_pic_address): Rename calls to
- compute_pcrel_address.
- (tilegx_delegitimize_address): Handle UNSPEC_HW1_PCREL,
- UNSPEC_HW2_LAST_PCREL, UNSPEC_HW0_PLT_PCREL, UNSPEC_HW1_PLT_PCREL,
- UNSPEC_HW1_LAST_PLT_PCREL, UNSPEC_HW2_LAST_PLT_PCREL.
- (load_pic_register): Rename call to compute_pcrel_address.
- (tilegx_print_operand): Handle UNSPEC_HW1_PCREL,
- UNSPEC_HW2_LAST_PCREL, UNSPEC_HW0_PLT_PCREL, UNSPEC_HW1_PLT_PCREL,
- UNSPEC_HW1_LAST_PLT_PCREL, UNSPEC_HW2_LAST_PLT_PCREL.
-
-2012-08-27 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * sched-deps.c (add_dependence_list_and_free): Simplify.
- (flush_pending_list_and_free): Fix a hack that was fixing a hack. Free
- lists when add_dependence_list_and_free doesn't free them.
-
-2012-08-27 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/46254
- * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
- true for TARGET_64BIT or !flag_pic.
- * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
- (atomic_compare_and_swap_double<mode>): Change operand 2 predicate
- to cmpxchg8b_pic_memory_operand. Use DWIH mode iterator.
- Add insn constraint. Conditionally emit xchg asm insns.
- (atomic_compare_and_swap<mode>): Update calls. Check only
- cmpxchg8b_pic_memory_operand in memory address fixup.
- (DCASMODE): Remove.
- (CASHMODE): Rename from DCASHMODE.
- (doublemodesuffix): Update modes.
- (regprefix): New mode attribute.
-
- (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove.
- <UNSPECV_CMPXCHG>: New constant.
- (atomic_compare_and_swap<mode>_1): Rename from
- atomic_compare_and_swap_single<mode>. Update calls and
- unspec_volatile constants.
- (atomic_compare_and_swap<mode>_doubleword): Rename from
- atomic_compare_and_swap_double<mode>. Update calls and
- unspec_volatile constants.
-
-2012-08-27 Walter Lee <walt@tilera.com>
-
- * doc/md.texi (TILE-Gx): Fix typo.
-
-2012-08-27 Walter Lee <walt@tilera.com>
-
- * config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
- * config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
-
-2012-08-27 Walter Lee <walt@tilera.com>
-
- * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
- (insn_bfins): Delete.
-
-2012-08-27 Walter Lee <walt@tilera.com>
-
- * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
- atomic_exchange_bare<mode>,
- atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
- * config/tilegx/tilegx-generic.md (X1_remote): New
- insn_reservation.
- * config/tilegx/tilegx.md (type): Add X1_remove.
- (insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
- insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
- insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
- X1_remote.
-
-2012-08-27 Andreas Schwab <schwab@linux-m68k.org>
-
- * gdbinit.in: Fix syntax of skip command.
-
-2012-08-27 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_pic_call_symbol_from_set): Check for
- SYMBOL_REF SET_SRCs.
-
-2012-08-27 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (vr4130_align_insns): Don't simulate
- ghost instructions. Assert that the required instructions exist.
-
-2012-08-26 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.h (AVOID_CCMODE_COPIES): Update rationale for
- definition.
- * config/mips/mips.c (machine_function): Add next_fcc.
- (mips_output_move): Remove handling of fcc moves.
- (mips_allocate_fcc): New function.
- (mips_emit_compare, mips_expand_vcondv2sf): Use it.
- (mips_hard_regno_mode_ok_p): Restrict CCmode to ST registers.
- Remove special case for CCmode reloads.
- (mips_expand_builtin_compare_1): Use mips_allocate_fcc and treat
- the result a fixed operand.
- * config/mips/mips.md (move_type): Remove lui_movf.
- (type, length): Remove references to it.
- (movcc, reload_incc, reload_outcc): Delete.
-
-2012-08-26 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_has_long_branch_p): New function,
- split out from...
- (mips_expand_ghost_gp_insns): ...here. Look inside sequences.
-
-2012-08-26 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (r10k_safe_mem_expr_p): Use get_inner_reference.
-
-2012-08-26 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_rtx_costs): Add costs for CINS.
-
-2012-08-26 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_rtx_costs): Add missing COSTS_N_INSNS
- to the size cost of multiplication.
-
-2012-08-26 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/install.texi (Specific): Clarify what needs to be added to
- this section.
-
-2012-08-26 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/tm.texi.in (Misc): Move descriptions of NO_DOLLAR_IN_LABEL
- and NO_DOT_IN_LABEL from here...
- (Label Output): ...to here.
- * doc/tm.texi: Regenerate.
-
-2012-08-26 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/invoke.texi (C++ Dialect Options): Add missing space.
-
-2012-08-25 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/54088
- * jump.c (delete_related_insns): Robustify latest change.
-
-2012-08-25 Ricardo Catalinas Jiménez <jimenezrick@gmail.com>
-
- * doc/extend.texi (__atomic Builtins): Remove space before comma.
-
-2012-08-25 Richard Sandiford <rdsandiford@googlemail.com>
- Andrew Pinski <apinski@cavium.com>
-
- * config/mips/mips.h (CASE_VECTOR_MODE): For not
- TARGET_MIPS16_SHORT_JUMP_TABLES use ptr_mode.
- (CASE_VECTOR_SHORTEN_MODE): Likewise.
-
-2012-08-25 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (FP_REG_P): Remove macro.
- (FP_REGNO_P): Ditto.
- (HARD_REGNO_NREGS): Use STACK_REGNO_P instead of FP_REGNO_P.
- (HARD_REGNO_NREGS_HAS_PADDING): Ditto.
- (ANY_FP_REGNO_P): Ditto.
- (HARD_REGNO_RENAME_OK): Use STACK_REGNO_P.
- * config/i386/i386.c (output_387_ffreep): Use STACK_REGNO_P
- instead of FP_REGNO_P.
- (ix86_hard_regno_mode_ok): Ditto.
- * config/i386/predicates.md (fp_register_operand): Ditto.
- (register_and_not_fp_reg_operand): Ditto.
- * config/i386/sync.md (atomic_loaddi_fpu): Use STACK_REG_P instead
- of FP_REG_P.
-
- * reg-stack.c (get_true_reg): Use STACK_REG_P instead of FP_REG_P.
-
-2012-08-24 Jason Merrill <jason@redhat.com>
-
- * print-tree.c (print_node): Don't check TREE_LANG_FLAG_*
- on TREE_VEC or SSA_NAME.
-
-2012-08-24 Jakub Jelinek <jakub@redhat.com>
-
- PR c/54363
- * gimplify.c (optimize_compound_literals_in_ctor): Only recurse
- if init is a CONSTRUCTOR.
-
-2012-08-24 Steven Bosscher <steven@gcc.gnu.org>
-
- * tree-ssa-live.c (dump_var_map): Do not dump the partition
- map of virtual operands.
-
-2012-08-24 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
- case for Atom processor.
-
-2012-08-24 Simon Baldwin <simonb@google.com>
-
- * dwarf2out.c (gen_producer_string): Omit command line switch if
- CL_NO_DWARF_RECORD flag set.
- * opts.h (CL_NO_DWARF_RECORD): New.
- * opt-functions.awk (switch_flags): Add NoDWARFRecord.
- * doc/options.texi: Document NoDWARFRecord option flag.
-
-2012-08-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR debug/52857
- * dwarf2out.c (mem_loc_descriptor): Allow arg_pointer_rtx and
- frame_pointer_rtx for based_loc_descr.
-
-2012-08-24 Martin Jambor <mjambor@suse.cz>
-
- * predict.c (maybe_hot_frequency_p): New parameter fun. Use its decl
- instead of current_function_decl, use profile_status_for_function and
- ENTRY_BLOCK_PTR_FOR_FUNCTION with fun instead of their cfun variants.
- (maybe_hot_count_p): New parameter fun, use
- profile_status_for_function instead of its cfun_variant.
- (maybe_hot_bb_p): New parameter fun, checking-assert it, pass it to
- all callees.
- (maybe_hot_edge_p): Pass cfun to maybe_hot_count_p and
- maybe_hot_frequency_p.
- (probably_never_executed_bb_p): New parameter fun, use its decl
- instead of current_function_decl.
- (optimize_bb_for_size_p): Pass cfun to maybe_hot_bb_p.
- (rtl_profile_for_bb): Likewise.
- (compute_function_frequency): Pass cfun to maybe_hot_bb_p and
- probably_never_executed_bb_p.
- * tree-ssa-operands.c (ssa_operands_active): New operator fun. Use it
- instead of cfun.
- (update_stmt_operands): Pass cfun as an argument of
- ssa_operands_active.
- (swap_tree_operands): Likewise.
- * gimple-iterator.c (update_modified_stmt): Likewise.
- (update_modified_stmts): Likewise.
- * tree-flow-inline.h (delink_stmt_imm_use): Likewise.
- * tree-ssa.c (delete_tree_ssa): Likewise.
- * bb-reorder.c (bb_to_key): Pass cfun to probably_never_executed_bb_p.
- (push_to_next_round_p): Likewise.
- (find_rarely_executed_basic_blocks_and_crossing_edges ): Likewise.
- * cfg.c: Inlude tree.h.
- (check_bb_profile): Use profile_status_for_function,
- EXIT_BLOCK_PTR_FOR_FUNCTION and ENTRY_BLOCK_PTR_FOR_FUNCTION with
- DECL_STRUCT_FUNCTION (current_function_decl) instead of their cfun
- variants.
- (dump_bb_info): Pass DECL_STRUCT_FUNCTION (current_function_decl) to
- maybe_hot_bb_p and probably_never_executed_bb_p.
- * gimple-pretty-print.c (gimple_dump_bb_buff): Checking-assert that
- DECL_STRUCT_FUNCTION (current_function_decl) is not NULL. Pass it to
- dump_histograms_for_stmt.
- (dump_gimple_mem_ops): Pass
- DECL_STRUCT_FUNCTION (current_function_decl)
- as an argument to dump_gimple_mem_ops.
- * tree-cfg.c (dump_function_to_file): Rename parameter fn to fndecl.
- Do not change cfun. Change and restore current_function_decl.
- * Makefile.in (cfg.o): Include TREE_H in dependencies.
-
-2012-08-24 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/54222
- * avr-modes.def (HA, SA, DA, TA, UTA): Adjust modes.
- * avr/avr-fixed.md: New file.
- * avr/avr.md: Include it.
- (cc): Add: minus.
- (adjust_len): Add: minus, minus64, ufract, sfract.
- (ALL1, ALL2, ALL4, ORDERED234): New mode iterators.
- (MOVMODE): Add: QQ, UQQ, HQ, UHQ, HA, UHA, SQ, USQ, SA, USA.
- (MPUSH): Add: HQ, UHQ, HA, UHA, SQ, USQ, SA, USA.
- (pushqi1, xload8_A, xload_8, movqi_insn, *reload_inqi, addqi3,
- subqi3, ashlqi3, *ashlqi3, ashrqi3, lshrqi3, *lshrqi3, *cmpqi,
- cbranchqi4, *cpse.eq): Generalize to handle all 8-bit modes in ALL1.
- (*movhi, reload_inhi, addhi3, *addhi3, addhi3_clobber, subhi3,
- ashlhi3, *ashlhi3_const, ashrhi3, *ashirhi3_const, lshrhi3,
- *lshrhi3_const, *cmphi, cbranchhi4): Generalize to handle all
- 16-bit modes in ALL2.
- (subhi3, casesi, strlenhi): Add clobber when expanding minus:HI.
- (*movsi, *reload_insi, addsi3, subsi3, ashlsi3, *ashlsi3_const,
- ashrsi3, *ashrhi3_const, *ashrsi3_const, lshrsi3, *lshrsi3_const,
- *reversed_tstsi, *cmpsi, cbranchsi4): Generalize to handle all
- 32-bit modes in ALL4.
- * avr-dimode.md (ALL8): New mode iterator.
- (adddi3, adddi3_insn, adddi3_const_insn, subdi3, subdi3_insn,
- subdi3_const_insn, cbranchdi4, compare_di2,
- compare_const_di2, ashrdi3, lshrdi3, rotldi3, ashldi3_insn,
- ashrdi3_insn, lshrdi3_insn, rotldi3_insn): Generalize to handle
- all 64-bit modes in ALL8.
- * config/avr/avr-protos.h (avr_to_int_mode): New prototype.
- (avr_out_fract, avr_out_minus, avr_out_minus64): New prototypes.
- * config/avr/avr.c (TARGET_FIXED_POINT_SUPPORTED_P): Define to...
- (avr_fixed_point_supported_p): ...this new static function.
- (TARGET_BUILD_BUILTIN_VA_LIST): Define to...
- (avr_build_builtin_va_list): ...this new static function.
- (avr_adjust_type_node): New static function.
- (avr_scalar_mode_supported_p): Allow if ALL_FIXED_POINT_MODE_P.
- (avr_builtin_setjmp_frame_value): Use gen_subhi3 and return new
- pseudo instead of gen_rtx_MINUS.
- (avr_print_operand, avr_operand_rtx_cost): Handle: CONST_FIXED.
- (notice_update_cc): Handle: CC_MINUS.
- (output_movqi): Generalize to handle respective fixed-point modes.
- (output_movhi, output_movsisf, avr_2word_insn_p): Ditto.
- (avr_out_compare, avr_out_plus_1): Also handle fixed-point modes.
- (avr_assemble_integer): Ditto.
- (output_reload_in_const, output_reload_insisf): Ditto.
- (avr_compare_pattern): Skip all modes > 4 bytes.
- (avr_2word_insn_p): Skip movuqq_insn, movqq_insn.
- (avr_out_fract, avr_out_minus, avr_out_minus64): New functions.
- (avr_to_int_mode): New function.
- (adjust_insn_length): Handle: ADJUST_LEN_SFRACT,
- ADJUST_LEN_UFRACT, ADJUST_LEN_MINUS, ADJUST_LEN_MINUS64.
- * config/avr/predicates.md (const0_operand): Allow const_fixed.
- (const_operand, const_or_immediate_operand): New.
- (nonmemory_or_const_operand): New.
- * config/avr/constraints.md (Ynn, Y00, Y01, Y02, Ym1, Ym2, YIJ):
- New constraints.
- * config/avr/avr.h (LONG_LONG_ACCUM_TYPE_SIZE): Define.
-
-2012-08-23 Kenneth Zadeck <zadeck@naturalbridge.com>
-
- * alias.c (rtx_equal_for_memref_p): Convert constant cases.
- * combine.c (find_single_use_1, mark_used_regs_combine): Convert
- to CASE_CONST_ANY.
- * cse.c (exp_equiv_p, canon_reg, fold_rtx, cse_process_notes_1,
- count_reg_usage): Convert constant cases.
- * cselib.c (cselib_expand_value_rtx_1): Convert to CASE_CONST_ANY.
- (cselib_subst_to_values): Convert constant cases.
- * df-scan.c (df_uses_record): Ditto.
- * dse.c (const_or_frame_p): Convert case statements to explicit
- if-then-else using mode classes.
- * emit-rtl.c (verify_rtx_sharing, copy_insn_1): Convert constant cases.
- * explow.c (convert_memory_address_addr_space): Ditto.
- * gcse.c (want_to_gcse_p, oprs_unchanged_p, compute_transp): Ditto.
- * genattrtab.c (attr_copy_rtx, clear_struct_flag): Ditto.
- * ira.c (equiv_init_varies_p, contains_replace_regs,
- memref_referenced_p, rtx_moveable_p): Ditto.
- * jump.c (mark_jump_label_1): Remove constant cases.
- (rtx_renumbered_equal_p): Convert to CASE_CONST_UNIQUE.
- * loop-invariant.c (check_maybe_invariant, hash_invariant_expr_1,
- invariant_expr_equal_p): Convert to CASE_CONST_ANY.
- * postreload-gcse.c (oprs_unchanged_p): Convert constant cases.
- * reginfo.c (reg_scan_mark_refs): Ditto.
- * regrename.c (scan_rtx): Ditto.
- * reload1.c (eliminate_regs_1, elimination_effects,
- scan_paradoxical_subregs): Ditto.
- * reload.c (operands_match_p, subst_reg_equivs): Ditto.
- * resource.c (mark_referenced_resources, mark_set_resources): Ditto.
- * rtlanal.c (rtx_unstable_p, rtx_varies_p, count_occurrences)
- (reg_mentioned_p, modified_between_p, modified_in_p)
- (volatile_insn_p, volatile_refs_p, side_effects_p, may_trap_p_1,
- inequality_comparisons_p, computed_jump_p_1): Ditto.
- * rtl.c (copy_rtx, rtx_equal_p_cb, rtx_equal_p): Ditto.
- * sched-deps.c (sched_analyze_2): Ditto.
- * valtrack.c (cleanup_auto_inc_dec): Ditto.
- * rtl.h: (CASE_CONST_SCALAR_INT, CASE_CONST_UNIQUE,
- CASE_CONST_ANY): New macros.
-
-2012-08-23 Julian Brown <julian@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * config/mips/mips.md
- (UNSPEC_CASESI_DISPATCH): New.
- (MIPS16_T_REGNUM): New constant.
- (tablejump): Don't use for MIPS16_SHORT_JUMP_TABLES.
- (casesi): New.
- (casesi_internal_mips16_<mode>): New.
- * config/mips/mips.c (mips16_split_long_branches): Adjust test
- to ignore casesi jump tables.
- * config/mips/mips.h (TARGET_MIPS16_SHORT_JUMP_TABLES): Update
- comment.
- (CASE_VECTOR_MODE): Use SImode unconditionally.
- (CASE_VECTOR_SHORTEN_MODE): Define.
- (ASM_OUTPUT_ADDR_DIFF_ELT): Output word-sized addr_diff_elts
- when necessary for MIPS16_SHORT_JUMP_TABLES.
-
-2012-08-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_density_test): Free loop body.
-
-2012-08-23 H.J. Lu <hongjiu.lu@intel.com>
-
- PR driver/54335
- * doc/invoke.texi: Add -da and remove -dm.
-
-2012-08-23 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-stmts.c (vect_finish_stmt_generation): Update
- virtual SSA form.
-
-2012-08-23 Jakub Jelinek <jakub@redhat.com>
-
- * tree.c (copy_node_stat): Clear DECL_STRUCT_FUNCTION.
-
-2012-08-23 Mingjie Xing <mingjie.xing@gmail.com>
-
- * doc/gty.texi: Fix typo.
-
-2012-08-23 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-loop-manip.c (add_exit_phis_var): Allow virtual operands.
- (find_uses_to_rename_use): Likewise.
- (find_uses_to_rename_bb): Likewise.
- (find_uses_to_rename_stmt): Walk over all operands.
-
-2012-08-22 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * config/sh/predicates (p27_rshift_count_operand,
- not_p27_rshift_count_operand): New predicates.
- * config/sh/sh.c (sh_ashlsi_clobbers_t_reg_p,
- sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p): Handle special
- case when shift amount is 31.
- (gen_ashift): Emit gen_shlr instead of gen_lshrsi3_m.
- * config/sh/sh.md (ashlsi3_d): Set type to 'dyn_shift' instead
- of 'arith'.
- (ashlsi_c): Rename to shll. Adapt calls to gen_ashlsi_c throughout
- the file.
- (lshrsi3): Remove clobber from expander. Use shift_count_operand
- instead of nonmemory_operand predicate for second operand. Add
- handling of case lshrsi3_n_clobbers_t.
- (lshrsi3_k): Use p27_rshift_count_operand for second operand.
- (lshrsi3_d): Make insn_and_split. Split dynamic shift to constant
- shift sequences if beneficial.
- (lshrsi3_n): Make insn_and_split. Split constant shift sequence to
- dynamic shift if beneficial.
- (lshrsi3_n_clobbers_t): New insn_and_split.
- (lshrsi3_m): Delete.
-
-2012-08-22 Steven Bosscher <steven@gcc.gnu.org>
-
- * tracer.c (mark_bb_seen): Use SBITMAP_SIZE.
-
- * alias.c (MAX_ALIAS_LOOP_PASSES): Update comment with rationale,
- or rather a lack thereof.
- (init_alias_analysis): Propagate the latest information across
- the CFG in topological order to propagate as far as possible in
- each iteration. Ignore debug insns.
-
-2012-08-22 H.J. Lu <hongjiu.lu@intel.com>
-
- * doc/invoke.texi: Document -mlong-double-64/-mlong-double-80.
- * config/i386/i386.c (flag_opts): Add -mlong-double-64.
- (TARGET_HAS_BIONIC): Default long double to 64-bit for Bionic.
- * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 64 if
- TARGET_LONG_DOUBLE_64 is true.
- (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New macro.
- (WIDEST_HARDWARE_FP_SIZE): Defined to 80.
- * config/i386/i386.opt (mlong-double-80): New option.
- (mlong-double-64): Likewise.
- * config/i386/i386-c.c (ix86_target_macros): Define
- __LONG_DOUBLE_64__ for TARGET_LONG_DOUBLE_64.
-
-2012-08-22 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/54347
- * config/i386/i386.c (ix86_split_to_parts): Replace
- REAL_VALUE_TO_TARGET_LONG_DOUBLE with real_to_target.
-
-2012-08-22 Richard Guenther <rguenther@suse.de>
-
- * tree-vectorizer.c (vectorize_loops): Do not call
- mark_virtual_operands_for_renaming.
- * tree-vect-slp.c (vect_slp_transform_bb): Likewise.
- Do not update SSA form here.
-
-2012-08-22 Dodji Seketeli <dodji@redhat.com>
-
- * tree.h (TREE_NOTHROW): Use the base.nothrow_flag.
-
-2012-08-22 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/46590
- * tree-ssa-alias.h (get_continuation_for_phi): Add alias query
- counter output argument.
- (walk_non_aliased_vuses): Add alias query counter argument
- to the walker callback.
- * tree-ssa-alias.c (maybe_skip_until): Add alias query counter
- output argument and count alias queries.
- (get_continuation_for_phi_1): Likewise.
- (get_continuation_for_phi): Likewise.
- (walk_non_aliased_vuses): Add alias query counter argument
- to the walker callback and allow it to abort the walk by
- returning -1.
- * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
- * tree-ssa-sccvn.c (vn_reference_lookup_2): Add alias query
- counter parmeter, abort walk if that is bigger than
- --param sccvn-max-alias-queries-per-access.
- * params.def (sccvn-max-alias-queries-per-access): New param.
- * doc/invoke.texi (sccvn-max-alias-queries-per-access): Document.
-
-2012-08-22 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-loop-ch.c (copy_loop_headers): Remove redundant checking.
- * tree-into-ssa.c (initialize_flags_in_bb): Use gcc_checking_assert
- instead of gcc_assert.
- (mark_block_for_update): Likewise.
- (add_new_name_mapping): Likewise.
- (mark_def_sites): Likewise.
- (insert_phi_nodes_for): Likewise.
- (rewrite_debug_stmt_uses): Likewise.
- (rewrite_stmt): Likewise.
- (maybe_register_def): Likewise.
- (rewrite_update_phi_arguments): Likewise.
- (rewrite_update_enter_block): Likewise.
- (mark_def_interesting): Likewise.
- (prepare_def_site_for): Likewise.
- (insert_updated_phi_nodes_for): Likewise.
-
-2012-08-22 Jakub Jelinek <jakub@redhat.com>
-
- * tree-vect-loop.c (vect_transform_loop): Initialize
- check_profitability to false.
-
- * tree-predcom.c (try_combine_chains): Free the worklist vector
- at the end.
-
-2012-08-22 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/54317
- * tree-vrp.c (extract_range_from_binary_expr_1): Test for
- double_int overflow.
- Remove dead tests.
-
-2012-08-22 Jakub Jelinek <jakub@redhat.com>
-
- * tree-vrp.c (find_assert_locations): Skip also edges
- from the entry block.
-
- * tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Call
- free_stmt_vec_info on orig_cond after gsi_removing it.
- * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Always
- free body_cost_vec vector.
- (vect_analyze_data_refs): If gather is unsuccessful,
- free_data_ref (dr).
- * tree-inline.c (tree_function_versioning): Free
- old_transforms_to_apply vector.
-
-2012-08-22 Steven Bosscher <steven@gcc.gnu.org>
-
- * tree-ssa-coalesce.c (struct ssa_conflicts_d): Make contents
- of this a VEC and add a bitmap obstack.
- (ssa_conflicts_new): Allocate the obstack and grow the VEC cleared
- to the right size.
- (ssa_conflicts_delete): Free the VEC and release the obstack.
- (ssa_conflicts_test_p, ssa_conflicts_test_p, ssa_conflicts_add_one,
- ssa_conflicts_merge, ssa_conflicts_dump): Update for above changes.
- (truct live_track_d): Add another bitmap obstack here.
- (new_live_track): Initialize it and use it for all bitmaps.
- (delete_live_track): Don't free the bitmaps one at a time, just
- release the obstack.
- (create_outofssa_var_map): Fix to conform to GCC code style rules.
-
-2012-08-21 Nathan Froyd <froydnj@gcc.gnu.org>
-
- * config/m32c/constraints.md: New file.
- * config/m32c/t-m32c (MD_FILES): Add constraints.
- * config/m32c/m32c-protos.h (m32c_const_ok_for_constraint_p): Delete.
- (m32c_extra_address_constraint, m32c_extra_memory_constraint): Delete.
- (m32c_reg_class_from_constraint): Delete.
- (m32c_extra_constraint_p, m32c_extra_constraint_p2): Delete.
- (m32c_matches_constraint_p): Declare.
- * config/m32c/m32c.h (CONSTRAINT_LEN): Delete.
- (REG_CLASS_FROM_CONSTRAINT): Delete.
- (CONST_OK_FOR_CONSTRAINT_P): Delete.
- (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Delete.
- (EXTRA_CONSTRAINT_STR): Delete.
- (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Delete.
- * config/m32c/m32c.c: Include tm-constrs.h
- (m32c_reg_class_from_constraint): Delete.
- (m32c_const_ok_for_constraint_p): Delete.
- (m32c_extra_constraint_p2): Rename to...
- (m32c_matches_constraint_p): ...this. Make it return bool. Tweak
- formatting.
- (m32c_extra_constraint_p): Delete.
- (m32c_extra_address_constraint, m32c_extra_memory_constraint): Delete.
- (m32c_split_move): Use satisfies_constraint_Ss.
- * config/m32c/predicates.md (memsym_operand): Use
- satisfies_constraint_Si.
- (memimmed_operand): Use satisfies_constraint_Sp.
- (m32c_psi_scale, m32c_1bit8_operand): Use satisfies_constraint_Ilb.
- (m32c_1bit16_operand): Use satisfies_constraint_Ilw.
- (m32c_1mask8_operand): Use satisfies_constraint_ImB.
- (m32c_1mask16_operand): Use satisfies_constraint_Imw.
-
-2012-08-21 Nathan Froyd <froydnj@gcc.gnu.org>
-
- * config/mep/mep.h (REG_CLASS_FROM_CONSTRAINT): Delete.
- (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
- (CONSTRAINT_LEN, EXTRA_CONSTRAINT): Delete.
- * config/mep/mep.c (mep_reg_class_from_constraint): Delete.
- (mep_const_ok_for_letter_p, mep_extra_constraint): Delete.
- * config/mep/mep-protos.h (mep_reg_class_from_constraint): Delete.
- (mep_const_ok_for_letter_p, mep_extra_constraint): Delete.
-
-2012-08-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md (cmpeqdi_t, cmpgtdi_t, cmpgedi_t, cmpgeudi_t,
- cmpgtudi_t, *movsicc_t_false, *movsicc_t_true, divsi_inv20, negsi_cond,
- truncdihi2, ic_invalidate_line_i, ic_invalidate_line_sh4a,
- ic_invalidate_line_media, movdf_i4, calli_pcrel, call_valuei,
- call_valuei_pcrel, sibcalli_pcrel, sibcall_compact,
- sibcall_valuei_pcrel, sibcall_value_compact, casesi_worker_1,
- casesi_worker_2, bandreg_m2a, borreg_m2a, bxorreg_m2a, sp_switch_1,
- sp_switch_2, stack_protect_set_si, stack_protect_set_si_media,
- stack_protect_set_di_media, stack_protect_test_si,
- stack_protect_test_si_media, stack_protect_test_di_media): Convert to
- multi-line asm output strings.
- (divsi_inv_qitable, divsi_inv_hitable): Use single-alternative asm
- output.
- (*andsi3_bclr, rotldi3_mextr, rotrdi3_mextr, calli,
- call_valuei_tbr_rel, movml_push_banked, movml_pop_banked, bclr_m2a,
- bclrmem_m2a, bset_m2a, bsetmem_m2a, bst_m2a, bld_m2a, bldsign_m2a,
- bld_reg, *bld_regqi, band_m2a, bor_m2a, bxor_m2a, mextr_rl, *mextr_lr):
- Use tab char instead of '\\t'.
- (iordi3): Use braced string.
- (*movsi_pop): Use tab chars instead of spaces.
-
-2012-08-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/39423
- * config/sh/sh.md (*movhi_index_disp): Add support for SH2A
- movu.w insn.
-
-2012-08-21 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/54332
- * df-scan.c (df_bb_verify): Restore df_free_collection_rec call
- inside the insn traversal loop.
-
- * vec.h (vec_reserve): Remove the stack allocation check.
-
-2012-08-21 Marc Glisse <marc.glisse@inria.fr>
-
- * fold-const.c (fold_ternary_loc): Detect identity permutations.
- Canonicalize permutations more.
- * tree-ssa-forwprop.c (is_combined_permutation_identity): New function.
- (simplify_permutation): Likewise.
- (ssa_forward_propagate_and_combine): Call it.
-
-2012-08-21 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free
- the affine expansion cache.
- * tree-ssa-dom.c (free_expr_hash_elt_contents): New function,
- split out from ...
- (free_expr_hash_elt): ... this one.
- (record_cond): Properly free a not needed hashtable element.
- (lookup_avail_expr): Likewise.
- * tree-into-ssa.c (init_ssa_renamer): Specify a free function
- for the var_infos hashtable.
- (update_ssa): Likewise.
-
-2012-08-21 Richard Guenther <rguenther@suse.de>
-
- * alloc-pool.c (pool_alloc): Fix valgrind annotation.
- * tree.h: Fix typo and complete flags documentation.
-
-2012-08-21 Richard Guenther <rguenther@suse.de>
-
- * tree.h (struct tree_base): Add union to make it possible to
- re-use the upper 4 bytes for tree codes that do not need as
- many flags as others. Move visited and default_def_flag to
- common bits section in exchange for saturating_flag and
- unsigned_flag. Add SSA name version and tree vec length
- fields here.
- (struct tree_vec): Remove length field here.
- (struct tree_ssa_name): Remove version field here.
-
-2012-08-20 Jan Hubicka <jh@suse.cz>
-
- PR fortran/48636
- * ipa-inline.c (want_inline_small_function_p): Take loop_iterations
- hint.
- (edge_badness): Likewise.
- * ipa-inline.h (inline_hints_vals): Add INLINE_HINT_loop_iterations.
- (inline_summary): Add loop_iterations.
- * ipa-inline-analysis.c: Include tree-scalar-evolution.h.
- (dump_inline_hints): Dump loop_iterations.
- (reset_inline_summary): Free loop_iterations.
- (inline_node_duplication_hook): Update loop_iterations.
- (dump_inline_summary): Dump loop_iterations.
- (will_be_nonconstant_expr_predicate): New function.
- (estimate_function_body_sizes): Analyze loops.
- (estimate_node_size_and_time): Set hint loop_iterations.
- (inline_merge_summary): Merge loop iterations.
- (inline_read_section): Stream in loop_iterations.
- (inline_write_summary): Stream out loop_iterations.
-
-2012-08-20 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * config/sh/sh.md (rotcr, *rotcr, shar, shlr): New insns and splits.
- (ashrdi3_k, lshrdi3_k): Rewrite as insn_and_split.
- * config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p): New function.
- * config/sh/sh-protos.h (sh_lshrsi_clobbers_t_reg_p): Declare it.
-
-2012-08-20 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/sh.md (*cset_zero): New insns.
-
-2012-08-20 Mark Wielaard <mjw@redhat.com>
-
- * dwarf2out.h (enum dw_val_class): Add dw_val_class_high_pc.
- * dwarf2out.c (dw_val_equal_p): Handle dw_val_class_high_pc.
- (add_AT_low_high_pc): New function.
- (AT_lbl): Handle dw_val_class_high_pc.
- (print_die): Likewise.
- (attr_checksum): Likewise.
- (attr_checksum_ordered): Likewise.
- (same_dw_val_p): Likewise.
- (size_of_die): Likewise.
- (value_format): Likewise.
- (output_die): Likewise.
- (gen_subprogram_die): Use add_AT_low_high_pc.
- (add_high_low_attributes): Likewise.
- (dwarf2out_finish): Likewise.
-
-2012-08-20 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/54294
- * fwprop.c (all_uses_available_at): Ignore debug insns in between
- def_insn and target_insn when checking whether the shortcut is
- possible.
-
-2012-08-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.h (MAX_FIXED_MODE_SIZE): Define.
-
-2012-08-20 Patrick Marlier <patrick.marlier@gmail.com>
-
- PR middle-end/53992
- * omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.
-
-2012-08-20 Richard Earnshaw <rearnsha@arm.com>
-
- PR tree-ssa/54295
- * tree-ssa-math-opts.c (is_widening_mult_rhs_p): Delete rhs_code
- declaration and setter.
-
-2012-08-20 Richard Earnshaw <rearnsha@arm.com>
-
- PR tree-ssa/54295
- * tree-ssa-math-opts.c (widening_mult_conversion_strippable_p):
- New function.
- (is_widening_mult_rhs_p): Use it.
-
-2012-08-20 Joseph Myers <joseph@codesourcery.com>
-
- * configure.ac (ffs): Check for declaration.
- * configure, config.in: Regenerate.
-
-2012-08-20 Richard Guenther <rguenther@suse.de>
-
- * tree-flow.h (register_new_name_mapping): Remove.
- * tree-into-ssa.c (register_new_name_mapping): Likewise.
- (add_new_name_mapping): Do not push/pop timevar here.
- (create_new_def_for): Instead do it here. Initialize
- update-ssa here, handle a NULL def.
- * tree-vrp.c (build_assert_expr_for): Use create_new_def_for.
-
-2012-08-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54327
- * gimple-fold.c (get_maxval_strlen): Do not walk use-def chains
- if the use is registered for SSA update.
-
-2012-08-20 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/54321
- * tree-ssa-forwprop.c (simplify_builtin_call): Pass 0 instead of 1
- as second argument to tree_low_cst call on val2.
-
-2012-08-20 Richard Guenther <rguenther@suse.de>
-
- * gimple.h (gimple_statement_base): Annotate with GTY chain_next.
-
-2012-08-20 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/54326
- * genoutput.c (note_constraint): Properly use CONST_CAST.
-
-2012-08-19 Nick Clifton <nickc@redhat.com>
-
- PR target/54306
- * config/arm/mmintrin.h: Remove spurious #endif.
-
-2012-08-18 Jan-Benedict Glaw <jbglaw@lug-owl.de>
-
- * config/avr/avr-log.c (avr_log_vadump): Properly use
- int-promoted enum values.
- * config/avr/avr.h (struct mcu_type_s): Change `arch' from
- int to enum avr_arch.
- * config/avr/gen-avr-mmcu-texi.c (main): Use correct initializer.
-
-2012-08-18 Jan Hubicka <jh@suse.cz>
-
- PR lto/45375
- * ipa-inline.c (want_inline_small_function_p): Bypass
- inline limits for hinted functions.
- (edge_badness): Dump hints; decrease badness for hinted funcitons.
- * ipa-inline.h (enum inline_hints_vals): New enum.
- (inline_hints): New type.
- (edge_growth_cache_entry): Add hints.
- (dump_inline_summary): Update.
- (dump_inline_hints): Declare.
- (do_estimate_edge_hints): Declare.
- (estimate_edge_hints): New inline function.
- (reset_edge_growth_cache): Update.
- * predict.c (cgraph_maybe_hot_edge_p): Do not ice on indirect edges.
- * ipa-inline-analysis.c (dump_inline_hints): New function.
- (estimate_edge_devirt_benefit): Return true when function should be
- hinted.
- (estimate_calls_size_and_time): New hints argument; set it when
- devritualization happens.
- (estimate_node_size_and_time): New hints argument.
- (do_estimate_edge_time): Cache hints.
- (do_estimate_edge_growth): Update.
- (do_estimate_edge_hints): New function
-
-2012-08-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR middle-end/53823
- * expmed.c (expand_mult): Skip synth_mult for negative coefficients
- if the mode is larger than a wide int and it is too costly to multiply
- by a positive multiplier and negate the result.
-
-2012-08-18 Steven Bosscher <steven@gcc.gnu.org>
-
- * sparseset.c (sparseset_alloc): Use non-clearing allocation. Tell
- valgrind not to worry about reading from unitialized memory.
-
-2012-08-18 Steven Bosscher <steven@gcc.gnu.org>
-
- PR middle-end/54313
- * dse.c (dse_step7): Don't free kill_on_calls bitmap, it is
- freed when its obstack is release.
-
-2012-08-18 Andrew Pinski <pinskia@gmail.com>
-
- * alloc-pool.c (pool_alloc): Add valgrind markers.
- (pool_free): Likewise.
-
-2012-08-17 Walter Lee <walt@tilera.com>
-
- * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define.
- (FEEDBACK_ENTER): Define.
- (FEEDBACK_REENTER): Define.
- (FEEDBACK_ENTRY): Define.
- * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define.
- (FEEDBACK_ENTER): Define.
- (FEEDBACK_REENTER): Define.
- (FEEDBACK_ENTRY): Define.
-
-2012-08-17 H.J. Lu <hongjiu.lu@intel.com>
- Gary Funck <gary@intrepid.com>
-
- PR target/20020
- * config/i386/i386.c (ix86_member_type_forces_blk): New function.
- (TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
- * config/i386/i386.h (MAX_FIXED_MODE_SIZE): New macro.
-
-2012-08-17 Marc Glisse <marc.glisse@inria.fr>
-
- * simplify-rtx.c (simplify_binary_operation_1): Optimize shuffle of
- a concatenation.
-
-2012-08-17 H.J. Lu <hongjiu.lu@intel.com>
-
- * stor-layout.c (compute_record_mode): Replace
- MEMBER_TYPE_FORCES_BLK with targetm.member_type_forces_blk.
- (layout_type): Likewise.
- * system.h: Poison MEMBER_TYPE_FORCES_BLK.
- * target.def (member_type_forces_blk): New target hook.
- * targhooks.c (default_member_type_forces_blk): New.
- * targhooks.h (default_member_type_forces_blk): Likewise.
- * doc/tm.texi.in (MEMBER_TYPE_FORCES_BLK): Removed.
- (TARGET_MEMBER_TYPE_FORCES_BLK): New hook.
- * doc/tm.texi: Regenerated.
- * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Removed.
- * config/ia64/ia64.c (ia64_member_type_forces_blk): New function.
- (TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
- * config/rs6000/rs6000.c (TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
- (rs6000_member_type_forces_blk): New function.
- * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Removed.
- * config/xtensa/xtensa.c (xtensa_member_type_forces_blk): New function.
- (TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
- * config/xtensa/xtensa.h (MEMBER_TYPE_FORCES_BLK): Removed.
-
-2012-08-17 Diego Novillo <dnovillo@google.com>
-
- PR bootstrap/54281
- * configure.ac: Add libintl.h to AC_CHECK_HEADERS list.
- * config.in: Regenerate.
- * configure: Regenerate.
- * intl.h: Always include libintl.h if HAVE_LIBINTL_H is set.
-
-2012-08-17 Richard Guenther <rguenther@suse.de>
-
- * bitmap.h (struct bitmap_element_def): GTY annotate next/prev.
- (struct bitmap_head_def): GTY skip current field.
-
-2012-08-17 Steven Bosscher <steven@gcc.gnu.org>
-
- PR middle-end/54146
- * tree-ssa-loop-im.c (lim_bitmap_obstack): New bitmap_obstack.
- (memref_free): Don't free the bitmaps individually here.
- (mem_ref_alloc): Allocate the bitmaps on the new bitmap obstack.
- (analyze_memory_references): Likewise.
- (tree_ssa_lim_initialize): Initialize the new bitmap obstack.
- (tree_ssa_lim_finalize): Release it.
- * dse.c (dse_bitmap_obstack): New bitmap obstack.
- (dse_obstack): New obstack.
- (get_group_info): Allocate the bitmaps on the new bitmap obstack.
- (dse_step0): Allocate the scratch bitmap on reg_obstack. Initialize
- the new bitmap obstack and normal obstack. Use XNEWVEC for bb_table.
- (record_store): Allocate regs_set on reg_obstack.
- (dse_step1): Allocate regs_live on reg_obstack.
- (dse_step2_init): Allocate offset_map_n and offset_map_p on the new
- obstack.
- (dse_step3_scan): Allocate bitmaps on the new bitmap obstack.
- (dse_step3): Likewise.
- (dse_confluence_0): Likewise.
- (dse_confluence_n): Likewise.
- (dse_transfer_function): Likewise.
- (dse_step7): Destroy the new obstacks, and everything allocated on
- them, in one big sweep.
- (rest_of_handle_dse): Update.
- * cfgexpand.c (stack_var_bitmap_obstack): New bitmap obstack.
- (add_stack_var_conflict): Allocate bitmaps on it.
- (add_scope_conflicts_1): Likewise.
- (add_scope_conflicts): Likewise.
- (update_alias_info_with_stack_vars): Likewise.
- (init_vars_expansion): Move TREE_USED fiddling expand_used_vars.
- Initialize the new bitmap obstack.
- (fini_vars_expansion): Release it.
- (estimated_stack_frame_size): Use init_vars_expansion to set things up
- and always clean up at the end.
- (expand_used_vars): Do the TREE_USED trickery here. Always call
- fini_vars_expansion.
- * tree-ssa-live.h (struct tree_live_info_d): Make livein and liveout
- arrays of bitmap_head to avoid one indirection per bitmap access.
- (live_on_entry, live_on_exit, live_var_map, live_merge_and_clear,
- make_live_on_entry): Update.
- * tree-ssa-live.c (partition_view_bitmap): Don't double-free 'used'.
- (liveness_bitmap_obstack): New bitmap obstack.
- (remove_unused_locals): Use it to allocate all bitmaps on. Update
- for livein/liveout changes in tree-ssa-live.h.
- (delete_tree_live_info): Release the bitmap obstack.
- (loe_visit_block, live_worklist, set_var_live_on_entry,
- calculate_live_on_exit, dump_live_info): Update.
- (calculate_live_ranges): Initialize the bitmap.
- * tree-ssa-ter.c (ter_bitmap_obstack): New bitmap obstack.
- (new_temp_expr_table): Allocate bitmap on it.
- (make_dependent_on_partition, add_to_partition_kill_list,
- add_dependence, process_replaceable): Likewise.
- (find_replaceable_exprs): Initialize and release the new obstack here.
- * df-problems.c (df_lr_add_problem): Allocate persistent bitmap
- for out_of_date_transfer_functions on df_bitmap_obstack.
- (df_live_add_problem): Likewise.
- (df_chain_add_problem): Likewise.
- (df_word_lr_add_problem): Likewise.
-
-2012-08-17 Nick Clifton <nickc@redhat.com>
-
- * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison.
- (branch_true): Likewise.
- (branch_false): Likewise.
-
- * config/mcore/mcore.md (cbranchsi4): Remove mode from comparison.
-
- * config/iq2000/iq2000.md (cbranchsi4): Remove mode from
- comparison and label.
- (branch_zero): Likewise.
- (branch_zero_inverted): Likewise.
- (branch_equality): Likewise.
- (branch_equality_inverted): Likewise.
- (extend-and-compare): Disable until reload issues can be resolved.
- * config/iq2000/iq2000.c (gen_conditional_branch): Use VOIDmode
- for comparison.
- (iq2000_function_arg_advance): Remove CONST_CAST2.
-
- * config/mep/t-mep (mep-pragma.o): Use $(COMPILER) to compile
- mep-pragma.c.
-
-2012-08-17 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/t-avr (gen-avr-mmcu-texi): Use $(CC) to compile
- gen-avr-mmcu-texi.c.
-
-2012-08-17 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.md (arm_addsi3): New variant for Thumb2 16-bit ADD instruction.
- * arm.c (thumb2_reorg): Don't convert an ADD instruction that's
- already 16 bits.
-
-2012-08-17 Richard Guenther <rguenther@suse.de>
-
- * hash-table.h (class hash_table): Use a descriptor template
- argument instead of decomposed element type and support functions.
- (struct pointer_hash): New generic typed pointer-hash.
- (struct typed_free_remove, struct typed_noop_remove): Generic
- hash_table support pieces.
- * coverage.c (struct counts_entry): Add hash_table support members.
- * tree-ssa-ccp.c (gimple_htab): Use pointer_hash.
- * tree-ssa-coalesce.c (struct ssa_name_var_hash): New generic
- SSA name by SSA_NAME_VAR hash.
- (coalesce_ssa_name): Use it.
- * tree-ssa-pre.c (struct pre_expr_d): Add hash_table support.
- (expression_to_id): Adjust.
- (struct expr_pred_trans_d): Add hash_table support.
- (phi_translate_table): Adjust.
- (phi_trans_lookup): Likewise.
- (phi_trans_add): Likewise.
- (do_regular_insertion): Likewise.
- * tree-ssa-tail-merge.c (struct same_succ_def): Add hash_table support.
- (same_succ_htab): Adjust.
- (find_same_succ_bb): Likewise.
- (find_same_succ): Likewise.
- (update_worklist): Likewise.
- * tree-ssa-threadupdate.c (struct redirection_data): Add hash_table
- support.
- (redirection_data): Adjust.
-
-2012-08-17 Richard Guenther <rguenther@suse.de>
-
- * params.def (integer-share-limit): Decrease from 256 to 251,
- add rationale.
-
-2012-08-17 Richard Guenther <rguenther@suse.de>
-
- * tree-sra.c (modify_function): Free redirect_callers vector.
- * ipa-split.c (split_function): Free args_to_pass vector.
- * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Free
- body_cost_vec properly.
- (vect_enhance_data_refs_alignment): Likewise.
- * tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate
- vec_oprnds.
- (new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS.
- * tree-vect-slp.c (vect_free_slp_instance): Free the instance.
- (vect_analyze_slp_instance): Free everything.
- (destroy_bb_vec_info): Free the SLP instances.
-
-2012-08-17 Iain Sandoe <iain@codesourcery.com>
-
- * config/rs6000/rs6000.c (macho_branch_islands): Adjust for changes
- to vec.h.
-
-2012-08-17 Jakub Jelinek <jakub@redhat.com>
-
- * doc/invoke.texi (-Wsizeof-pointer-memaccess): Document.
-
-2012-08-16 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/mips/mips-dsp.md (mips_dpau_h_qbl, mips_dpau_h_qbr)
- (mips_dpsu_h_qbl, mips_dpsu_h_qbr, mips_dpaq_s_w_ph)
- (mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph, mips_dpaq_sa_l_w)
- (mips_dpsq_sa_l_w, mips_maq_s_w_phl, mips_maq_s_w_phr)
- (mips_maq_sa_w_phl, mips_maq_sa_w_phr): Add accum_in attribute.
-
-2012-08-16 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * config/sh/sh.md (addc): Add commutative modifier.
- (*addc, *minus_plus_one, *subc, *negc): New insns and splits.
-
-2012-08-16 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/39423
- * config/sh/sh.md (*movsi_index_disp, *movhi_index_disp): Handle
- potential T_REG clobber. Convert zero extending split to
- insn_and_split.
-
-2012-08-16 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * config/sh/sh.md (ashlsi3_d): Do not split if it would result
- in a T_REG clobber. Correct comment.
- (ashlsi3_n): Correct comment.
-
-2012-08-16 Hans-Peter Nilsson <hp@axis.com>
-
- PR middle-end/54261
- * optabs.c (expand_atomic_fetch_op): Save and restore code when
- retrying after failed attempt.
-
-2012-08-16 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * config/i386/i386-protos.h (ix86_split_lea_for_addr) : Add
- additional argument.
- * config/i386/i386.md (ix86_split_lea_for_addr) : Add
- additional argument curr_insn.
- * config/i386/i386.c (ix86_split_lea_for_addr): Load base or index
- register first, depending on their defintion distances.
- (ix86_lea_outperforms): Prefer LEA only if split cost exceeds
- AGU stall.
- (find_nearest_reg-def): New function. Find register with
- nearest definition.
-
-2012-08-16 Walter Lee <walt@tilera.com>
-
- * config.gcc (tilegx-*-linux*): Add feedback.h.
- (tilepro-*-linux*): Likewise.
- * config/tilegx/feedback.h: New file.
- * config/tilepro/feedback.h: New file.
-
-2012-08-16 Diego Novillo <dnovillo@google.com>
-
- Revert
-
- PR bootstrap/54281
- * double-int.h: Move including of gmp.h ...
- * system.h: ... here.
- * realmpfr.h: Do not include gmp.h.
- * tree-ssa-loop-niter.c: Do not include gmp.h.
-
-2012-08-16 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/darwin.h (TARGET_IEEE_QUAD): Fix comment.
-
-2012-08-16 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/54146
- * tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the
- exit vector.
- * ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK.
- * cfgloop.h (FOR_EACH_LOOP_BREAK): Fix.
- * tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc.
- * tree-into-ssa.c (get_ssa_name_ann): Allocate info only when needed.
- * tree-ssa-loop-im.c (analyze_memory_references): Adjust.
- (tree_ssa_lim_finalize): Free all mem_refs.
- * tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free
- scc when bailing out.
- * modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK.
- * ira-build.c (loop_with_complex_edge_p): Free loop exit vector.
- * graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use
- FOR_EACH_LOOP_BREAK.
-
-2012-08-16 Diego Novillo <dnovillo@google.com>
-
- PR bootstrap/54281
- * double-int.h: Move including of gmp.h ...
- * system.h: ... here.
- * realmpfr.h: Do not include gmp.h.
- * tree-ssa-loop-niter.c: Do not include gmp.h.
-
-2012-08-16 Steven Bosscher <steven@gcc.gnu.org>
-
- PR middle-end/54146
- * tree-flow.h (compute_global_livein): Remove prototype.
- * tree-into-ssa.c (compute_global_livein): Remove function.
- * tree-ssa-loop-manip.c: Include gimple-pretty-print.h.
- (find_sibling_superloop): New function.
- (compute_live_loop_exits): New function.
- (add_exit_phis_edge): Rename to add_exit_phi. Do not allow
- inserting a PHI in a block that is not a loop exit for VAR.
- Add dumping if TDF_DETAILS.
- (add_exit_phis_var): Rewrite.
- (add_exit_phis): Update.
- (get_loops_exits): Rewrite to return an array of per-loop exits
- rather than one bitmap with all loop exits.
- (find_uses_to_rename_bb): Ignore virtual PHI nodes.
- (rewrite_into_loop_closed_ssa): Update.
-
-2012-08-16 Nick Clifton <nickc@redhat.com>
-
- * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Cast _ascii_bytes
- before passing it to ASM_OUTPUT_LIMITED_STRING.
-
- * config/bfin/bfin.c (hwloop_optimize): Fix use of VEC_last macro.
-
- * config/avr/t-avr: Replace occurrences of $(CC) with $(COMPILER).
- * config/avr/avr.c (avr_legitimize_reload_address): Add casts
- for reload_type enums.
- (DEF_BUILTIN): Cast the icode to enum insn_code.
-
-2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/aix43.h (ASM_CPU_SPEC): Use %(asm_default)
- instead of -mppc.
- * config/rs6000/aix51.h (ASM_CPU_SPEC): Ditto.
-
-2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/aix43.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
- (RS6000_CALL_GLUE): Adjust for single assembler syntax.
- * config/rs6000/aix51.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto.
- * config/rs6000/aix52.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto.
- * config/rs6000/aix53.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto.
- * config/rs6000/aix61.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto.
- * config/rs6000/darwin.h (TARGET_DEFAULT): Ditto.
- * config/rs6000/darwin.md (whole file): Adjust to single
- assembler syntax.
- * config/rs6000/darwin64.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
- * config/rs6000/default64.h (TARGET_DEFAULT): Ditto.
- * config/rs6000/dfp.md: (whole file): Adjust to single
- assembler syntax.
- * config/rs6000/eabi.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
- * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Ditto.
- * config/rs6000/eabispe.h (TARGET_DEFAULT): Ditto.
- * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Ditto.
- * config/rs6000/linuxspe.h (TARGET_DEFAULT): Ditto.
- * config/rs6000/rs6000-cpus.def (whole file): Delete POWERPC_BASE_MASK.
- * config/rs6000/rs6000-tables.opt: Regenerate.
- * config/rs6000/rs6000.c (POWERPC_BASE_MASK): Delete.
- (num_insns_constant_wide): Adjust comments.
- (whole file): Adjust to single assembler syntax.
- (output_cbranch): Adjust comment.
- * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Delete.
- * config/rs6000/rs6000.md: (whole file): Adjust to single
- assembler syntax.
- * config/rs6000/rs6000.opt (mnew-mnemonics): Delete.
- (mold-mnemonics): Delete.
- * config/rs6000/spe.md: (whole file): Adjust to single
- assembler syntax.
- * config/rs6000/sync.md: (whole file): Adjust to single
- assembler syntax.
- * config/rs6000/sysv4.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
- (ASM_OUTPUT_REG_PUSH): Adjust.
- (ASM_OUTPUT_REG_POP): Adjust.
- * config/rs6000/sysv4le.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
- * config/rs6000/vsx.md: (whole file): Adjust to single
- assembler syntax.
- * config/rs6000/vxworks.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
- * doc/invoke.texi: Adjust documentation to reflect the
- removal of -mnew-mnemonics and -mold-mnemonics.
-
-2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
-
- * common/config/rs6000/rs6000-common.c (rs6000_handle_option):
- Delete handling for -mno-powerpc and -mpowerpc.
- * config/rs6000/aix43.h (ASM_CPU_SPEC): Similar.
- (ASM_DEFAULT_SPEC): Use -mppc instead of -mcom.
- * config/rs6000/aix51.h (ASM_CPU_SPEC, ASM_DEFAULT_SPEC): Ditto.
- * config/rs6000/aix52.h (TARGET_DEFAULT): Delete MASK_POWERPC.
- * config/rs6000/aix53.h (TARGET_DEFAULT): Ditto.
- * config/rs6000/aix61.h (TARGET_DEFAULT): Ditto.
- * config/rs6000/darwin.h (TARGET_DEFAULT): Ditto.
- * config/rs6000/darwin64.h (TARGET_DEFAULT): Ditto.
- * config/rs6000/default64.h (TARGET_DEFAULT): Ditto.
- * config/rs6000/driver-rs6000.c (asm_names): Delete handling
- for -mcpu=common and -mpowerpc.
- * config/rs6000/eabi.h (TARGET_DEFAULT): Delete MASK_POWERPC.
- * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Ditto.
- * config/rs6000/eabispe.h (TARGET_DEFAULT): Ditto.
- * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Ditto.
- * config/rs6000/linuxspe.h (TARGET_DEFAULT): Ditto.
- * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING):
- Use RS6000_BTM_ALWAYS instead of RS6000_BTM_POWERPC.
- * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Adjust.
- (rs6000_cpu_cpp_builtins): Adjust.
- * config/rs6000/rs6000.c (POWERPC_BASE_MASK): Delete MASK_POWERPC.
- (rs6000_builtin_mask_calculate): Adjust.
- (rs6000_emit_move): Delete code for ! TARGET_POWERPC.
- (rs6000_init_libfuncs): Ditto.
- (rs6000_output_function_prologue): Ditto.
- (rs6000_opt_masks): Delete MASK_POWERPC.
- (rs6000_builtin_mask_names): Delete RS6000_BTM_POWERPC.
- * config/rs6000/rs6000.h (ASM_CPU_SPEC): Delete handling for -mpowerpc.
- (RS6000_BTM_POWERPC): Delete.
- (RS6000_BTM_COMMON): Delete RS6000_BTM_POWERPC.
- * config/rs6000/rs6000.md (extendqisi2 patterns): Adjust for
- TARGET_POWERPC always on.
- (extendqihi2 patterns): Similar.
- (various unnamed subtract patterns): Similar.
- (bswaphi2 patterns): Similar.
- (divmodsi4): Similar.
- (udiv<GPR:mode>3): Similar.
- (div<GPR:mode>3 patterns): Similar.
- (udivmodsi4): Similar.
- (mulhcall): Delete.
- (mullcall): Delete.
- (divss_call): Delete.
- (divus_call): Delete.
- (quoss_call): Delete.
- (quous_call): Delete.
- (insvsi patterns): Adjust.
- (addsf3 patterns): Adjust.
- (subsf3 patterns): Adjust.
- (mulsf3 patterns): Adjust.
- (divsf3 patterns): Adjust.
- (*fmasf4_fpr): Adjust.
- (*fmssf4_fpr): Adjust.
- (*nfmasf4_fpr): Adjust.
- (*nfmssf4_fpr): Adjust.
- (*floatunssidf2_internal): Adjust.
- (fix_trunc<SFDF:mode>si2_internal): Adjust.
- (fctiwz_<SFDF:mode>): Adjust.
- (mulsidi3 patterns): Adjust.
- (smulsi3_highpart patterns): Adjust.
- (umulsi3_highpart patterns): Adjust.
- (fix_trunctfsi2 patterns): Adjust.
- (prefetch): Adjust.
- * config/rs6000/rs6000.opt (mpowerpc): Replace by stub option.
- (mno-powerpc): Delete.
- * config/rs6000/sync.md (load_locked<ATOMIC:mode>): Adjust.
- (store_conditional<ATOMIC:mode>): Adjust.
- (atomic_compare_and_swap<ATOMIC:mode>): Adjust.
- (atomic_exchange<ATOMIC:mode>): Adjust.
- (atomic_<fetchop_name><ATOMIC:mode>): Adjust.
- (atomic_nand<ATOMIC:mode>): Adjust.
- (atomic_fetch_<fetchop_name><ATOMIC:mode>): Adjust.
- (atomic_fetch_nand<ATOMIC:mode>): Adjust.
- (atomic_<fetchop_name>_fetch<ATOMIC:mode>): Adjust.
- (atomic_nand_fetch<ATOMIC:mode>): Adjust.
- * config/rs6000/sysv4.h (TARGET_DEFAULT): Delete MASK_POWERPC.
- * config/rs6000/sysv4le.h (TARGET_DEFAULT): Ditto.
- * config/rs6000/vxworks.h (TARGET_DEFAULT): Ditto.
- * doc/invoke.texi: Adjust documentation.
-
-2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.h (RS6000_BTM_ALWAYS): New.
-
-2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/aix52.h (ASM_CPU_SPEC): Fix typo.
- * config/rs6000/aix53.h (ASM_CPU_SPEC): Ditto.
- * config/rs6000/aix61.h (ASM_CPU_SPEC): Ditto.
- * config/rs6000/driver-rs6000.c (asm_names): Ditto.
-
-2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/54142
- * config/rs6000/driver-rs6000.c (asm_names): Use %(asm_default)
- instead of -mcom.
- * config/rs6000/rs6000.h (ASM_CPU_SPEC): Ditto.
-
-2012-08-15 Sandra Loosemore <sandra@codesourcery.com>
- Maxim Kuvyrkov <maxim@codesourcery.com>
- Julian Brown <julian@codesourcery.com>
- MIPS Technologies, Inc.
-
- * config/mips/mips.md (dspmac, dspmacsat, accext, accmod, dspalu)
- (dspalusat): Add insn types.
- * config/mips/mips-dsp.md (add<DSPV:mode>3)
- (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>)
- (sub<DSPV:mode>3, mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc)
- (mips_addwc, mips_modsub, mips_raddu_w_qb, mips_absq_s_<DSPQ:dspfmt2>)
- (mips_precrq_qb_ph, mips_precrq_ph_w, mips_precrq_rs_ph_w)
- (mips_precrqu_s_qb_ph, mips_preceq_w_phl, mips_preceq_w_phr)
- (mips_precequ_ph_qbl, mips_precequ_ph_qbr, mips_precequ_ph_qbla)
- (mips_precequ_ph_qbra, mips_preceu_ph_qbl, mips_preceu_ph_qbr)
- (mips_preceu_ph_qbla, mips_preceu_ph_qbra, mips_shll_<DSPV:dspfmt2>)
- (mips_shll_s_<DSPQ:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>, mips_shrl_qb)
- (mips_shra_ph, mips_shra_r_<DSPQ:dspfmt2>, mips_bitrev, mips_insv)
- (mips_repl_qb, mips_repl_ph)
- (mips_cmp<DSPV:dspfmt1_1>_eq_<DSPV:dspfmt2>)
- (mips_cmp<DSPV:dspfmt1_1>_lt_<DSPV:dspfmt2>)
- (mips_cmp<DSPV:dspfmt1_1>_le_<DSPV:dspfmt2>, mips_cmpgu_eq_qb)
- (mips_cmpgu_lt_qb, mips_cmpgu_le_qb, mips_pick_<DSPV:dspfmt2>)
- (mips_packrl_ph, mips_wrdsp, mips_rddsp): Change type to dspalu.
- (mips_dpau_h_qbl, mips_dpau_h_qbr, mips_dpsu_h_qbl, mips_dpsu_h_qbr)
- (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph)
- (mips_maq_s_w_phl, mips_maq_s_w_phr, mips_maq_sa_w_phr): Set type to
- dspmac.
- (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_sa_w_phl): Set type to
- dspmacsat.
- (mips_extr_w, mips_extr_r_w, mips_extr_rs_w, mips_extp, mips_extpdp):
- Set type to accext.
- (mips_shilo, mips_mthlip): Set type to accmod.
- * config/mips/mips-dspr2.md (mips_absq_s_qb, mips_addu_s_ph)
- (mips_adduh_r_qb): Set type to dspalusat.
- (mips_addu_ph, mips_adduh_qb, mips_append, mips_balign)
- (mips_cmpgdu_eq_qb, mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb)
- (mips_precr_qb_ph, mips_precr_sra_ph_w, mips_precr_sra_r_ph_w)
- (mips_prepend, mips_shra_qb, mips_shra_r_qb, mips_shrl_ph)
- (mips_subu_ph, mips_subuh_qb, mips_subuh_r_qb, mips_addqh_ph)
- (mips_addqh_r_ph, mips_addqh_w, mips_addqh_r_w, mips_subqh_ph)
- (mips_subqh_r_ph, mips_subqh_w, mips_subqh_r_w): Set type to dspalu.
- (mips_dpa_w_ph, mips_dps_w_ph, mips_mulsa_w_ph, mips_dpax_w_ph)
- (mips_dpsx_w_ph, mips_dpaqx_s_w_ph, mips_dpsqx_s_w_ph): Set type to
- dspmac. Set accum_in attribute.
- (mips_subu_s_ph): Set type to dspalusat.
- (mips_dpaqx_sa_w_ph, mips_dpsqx_sa_w_ph): Set type to dspmacsat.
- Set accum_in attribute.
- * config/mips/mips-protos.h (mips_dspalu_bypass_p): Add prototype.
- * config/mips/mips.c (dspalu_bypass_table): New.
- (mips_dspalu_bypass_p): New.
- * config/mips/24k.md (r24k_dsp_alu, r24k_dsp_mac, r24k_dsp_mac_sat)
- (r24k_dsp_acc_ext, r24k_dsp_acc_mod): New insn reservations.
- (r24k_int_mult, r24k_int_mthilo, r24k_dsp_mac, r24k_dsp_mac_sat)
- (r24k_dsp_acc_ext, r24k_dsp_acc_mod, r24k_dsp_alu): New bypasses.
- * config/mips/74k.md (r74k_dsp_alu, r74k_dsp_alu_sat, r74k_dsp_mac)
- (r74k_dsp_mac_sat, r74k_dsp_acc_ext, r74k_dsp_acc_mod): New insn
- reservations.
- (r74k_dsp_mac, r74k_dsp_mac_sat, r74k_int_mult, r74k_int_mul3)
- (r74k_dsp_mac, r74k_dsp_mac_sat): New bypasses.
-
-2012-08-15 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c: Include "cfgloop.h".
- (spu_machine_dependent_reorg): Call loop_optimizer_init and
- loop_optimizer_finalize. Use bb_loop_depth instead of loop_depth.
- Directly compare loop_father values where appropriate.
- * config/spu/t-spu-elf (spu.o): Update dependencies.
-
-2012-08-15 H.J. Lu <hongjiu.lu@intel.com>
-
- * Makefile.in (tree-cfg.o): Also depend on $(TARGET_H).
-
-2012-08-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/54245
- * gimple-ssa-strength-reduction.c (legal_cast_p_1): New function.
- (legal_cast_p): Split out logic to legal_cast_p_1.
- (analyze_increments): Avoid introducing multiplies in smaller types.
-
-2012-08-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/54240
- * tree-ssa-phiopt.c (hoist_adjacent_loads): Correct test for
- existence of conditional move with given mode.
-
-2012-08-15 Richard Guenther <rguenther@suse.de>
-
- * double-int.h (double_int::from_unsigned): Rename to ...
- (double_int::from_uhwi): ... this.
- (double_int::from_signed): Rename to ...
- (double_int::from_shwi): ... this.
- (double_int::to_signed): Rename to ...
- (double_int::to_shwi): ... this.
- (double_int::to_unsigned): Rename to ...
- (double_int::to_uhwi): ... this.
- (double_int::fits_unsigned): Rename to ...
- (double_int::fits_uhwi): ... this.
- (double_int::fits_signed): Rename to ...
- (double_int::fits_shwi): ... this.
- (double_int::fits): Rename to ...
- (double_int::fits_hwi): ... this.
- * double-int.c: Likewise.
-
-2012-08-15 Steven Bosscher <steven@gcc.gnu.org>
-
- * timevar.def (TV_VARPOOL, TV_WHOPR_WPA_LTRANS_EXEC, TV_LIFE,
- TV_LIFE_UPDATE, TV_DF_UREC, TV_INLINE_HEURISTICS,
- TV_TREE_LINEAR_TRANSFORM, TV_TREE_LOOP_INIT, TV_TREE_LOOP_FINI,
- TV_VPT, TV_LOCAL_ALLOC, TV_GLOBAL_ALLOC, TV_SEQABSTR): Remove.
- (TV_IPA_INLINING, TV_FLATTEN_INLINING, TV_EARLY_INLINING,
- TV_INLINE_PARAMETERS, TV_LOOP_INIT, TV_LOOP_FINI): New.
- * timevar.c (timevar_print): Make printing width of timevar names
- more flexible, but enforce maximum length.
- * ipa-inline.c (pass_early_inline): Use TV_EARLY_INLINING.
- (pass_ipa_inline): Use TV_IPA_INLINING.
- * ipa-inline-analysis.c (pass_inline_parameters): Use
- TV_INLINE_HEURISTICS.
- * tree-ssa-loop.c (pass_tree_loop_init): No timevar for wrapper pass.
- (pass_tree_loop_done): Likewise.
- * final.c (pass_shorten_branches): Use TV_SHORTEN_BRANCH.
- * loop-init.c (loop_optimizer_init): Push/pop TV_LOOP_INIT.
- (loop_optimizer_finalize): Push/pop TV_LOOP_FINI.
-
-2012-08-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * config/arm/neon.md (neon_vaba<mode> VDQIW): Canonicalize operands.
- (neon_vabal<mode> VDQIW): Likewise.
-
-2012-08-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/54212
- * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not
- mark as predicable. Adjust asm template.
- (vec_setv2di_internal): Likewise.
- (vec_extract<mode> VD, VQ): Likewise.
- (vec_extractv2di): Likewise.
- (neon_vget_lane<mode>_sext_internal VD, VQ): Likewise.
- (neon_vset_lane<mode>_sext_internal VD, VQ): Likewise.
- (neon_vdup_n<mode> VX, V32): Likewise.
- (neon_vdup_nv2di): Likewise.
-
-2012-08-14 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * config/mips/mips.md (define_attr accum_in): New instruction
- attribute. Set it for imadd and fmadd patterns.
- * config/mips/mips.c (mips_linked_madd_p): Use accum_in to extract
- accumulator register.
-
-2012-08-14 Diego Novillo <dnovillo@google.com>
-
- Merge from cxx-conversion branch. Configury.
-
- * configure.ac (CXX_FOR_BUILD): Define and substitute.
- (BUILD_CXXFLAGS): Define.
- Remove all handlers of ENABLE_BUILD_WITH_CXX.
- Force all build to be with C++.
- * Makefile.in (BUILD_CXXFLAGS): Use it.
- Remove all handlers of ENABLE_BUILD_WITH_CXX.
- * configure: Regenerate.
- * config.in: Regenerate.
- * doc/install.texi: Remove documentation for --enable-build-with-cxx
- and --enable-build-poststage1-with-cxx.
-
-2012-08-14 Diego Novillo <dnovillo@google.com>
-
- Merge from cxx-conversion branch. Re-implement VEC in C++.
-
- * vec.c (vec_heap_free): Convert into a template function.
- (vec_gc_o_reserve_1): Make extern.
- (vec_gc_p_reserve): Remove.
- (vec_gc_p_reserve_exact): Remove.
- (vec_gc_o_reserve): Remove.
- (vec_gc_o_reserve_exact): Remove.
- (vec_heap_o_reserve_1): Make extern.
- (vec_heap_p_reserve): Remove.
- (vec_heap_p_reserve_exact): Remove.
- (vec_heap_o_reserve): Remove.
- (vec_heap_o_reserve_exact): Remove.
- (vec_stack_p_reserve): Remove.
- (vec_stack_p_reserve_exact): Remove.
- * vec.h (VEC_CHECK_INFO, VEC_CHECK_DECL, VEC_CHECK_PASS, VEC_ASSERT,
- VEC_ASSERT_FAIL, vec_assert_fail): Move earlier in the file.
- (VEC): Define to vec_t<T>.
- (vec_allocation_t): Define.
- (struct vec_prefix): Move earlier in the file.
- (vec_t<T>): New template.
- (DEF_VEC_I, DEF_VECL_ALLOC_I, DEF_VEC_P, DEF_VEC_ALLOC_P,
- DEF_VEC_O, DEF_VEC_ALLOC_P, DEF_VEC_O, DEF_VEC_ALLOC_O,
- DEF_VEC_ALLOC_P_STACK, DEF_VEC_ALLOC_O_STACK,
- DEF_VEC_ALLOC_I_STACK): Expand to 'struct vec_swallow_trailing_semi'.
- (DEF_VEC_A): Provide template instantiations for
- GC/PCH markers that do not traverse the vector.
- (vec_stack_p_reserve): Remove.
- (vec_stack_p_reserve_exact): Remove.
- (vec_stack_p_reserve_exact_1): Remove.
- (vec_stack_o_reserve): Remove.
- (vec_stack_o_reserve_exact): Remove.
- (vec_stack_free): Re-write as a template function.
- (vec_reserve): New template function.
- (vec_reserve_exact): New template function.
- (vec_heap_free): New template function if GATHER_STATISTICS is
- defined. Otherwise, macro that expands to free().
- (VEC_length_1): New template function.
- (VEC_length): Call it.
- (VEC_empty_1): New template function.
- (VEC_empty): Call it.
- (VEC_address_1): New template function.
- (VEC_address): Call it.
- (VEC_last_1): New template function.
- (VEC_last): Call it. Change return type to T&.
- Change all users that used VEC_Os.
- (VEC_index_1): New template function.
- (VEC_index): Call it. Return a T& instead of a T*.
- Update all callers that were using VEC_O before.
- (VEC_iterate_1): New template function.
- (VEC_iterate): Call it.
- (VEC_embedded_size_1): New template function.
- (VEC_embedded_size): Call it.
- (VEC_embedded_init_1): New template function.
- (VEC_embedded_init): Call it.
- (VEC_alloc_1): New template function.
- (VEC_alloc): Call it. If A is 'stack', call XALLOCAVAR to
- do the allocation.
- (VEC_free_1): New template function.
- (VEC_free): Call it.
- (VEC_copy_1): New template function.
- (VEC_copy): Call it.
- (VEC_space_1): New template function
- (VEC_space): Call it.
- (VEC_reserve_1): New template function.
- (VEC_reserve): Call it.
- (VEC_reserve_exact_1): New template function.
- (VEC_reserve_exact): Call it.
- (VEC_splice_1): New template function.
- (VEC_splice): Call it.
- (VEC_safe_splice_1): New template function.
- (VEC_safe_splice): Call it.
- (VEC_quick_push_1): New template function. Create two overloads, one
- accepting T, the other accepting T *. Update all callers
- where T and T * are ambiguous.
- (VEC_quick_push): Call it.
- (VEC_safe_push_1): New template function. Create two overloads, one
- accepting T, the other accepting T *. Update all callers
- where T and T * are ambiguous.
- (VEC_safe_push): Call it.
- (VEC_pop_1): New template function.
- (VEC_pop): Call it.
- (VEC_truncate_1): New template function.
- (VEC_truncate): Call it.
- (VEC_safe_grow_1): New template function.
- (VEC_safe_grow): Call it.
- (VEC_safe_grow_cleared_1): New template function.
- (VEC_safe_grow_cleared): Call it.
- (VEC_replace_1): New template function.
- (VEC_replace): Call it. Always accept T instead of T*.
- Update all callers that used VEC_Os.
- (VEC_quick_insert_1): New template function.
- (VEC_quick_insert): Call it.
- (VEC_safe_insert_1): New template function.
- (VEC_safe_insert): Call it.
- (VEC_ordered_remove_1): New template function.
- (VEC_ordered_remove): Call it.
- (VEC_unordered_remove_1): New template function.
- (VEC_unordered_remove): Call it.
- (VEC_block_remove_1): New template function.
- (VEC_block_remove): Call it.
- (VEC_lower_bound_1): New template function.
- (VEC_lower_bound): Call it.
- (VEC_OP): Remove.
- (DEF_VEC_FUNC_P): Remove.
- (DEF_VEC_ALLOC_FUNC_P): Remove.
- (DEF_VEC_NONALLOC_FUNCS_P): Remove.
- (DEF_VEC_FUNC_O): Remove.
- (DEF_VEC_ALLOC_FUNC_O): Remove.
- (DEF_VEC_NONALLOC_FUNCS_O): Remove.
- (DEF_VEC_ALLOC_FUNC_I): Remove.
- (DEF_VEC_NONALLOC_FUNCS_I): Remove.
- (DEF_VEC_ALLOC_FUNC_P_STACK): Remove.
- (DEF_VEC_ALLOC_FUNC_O_STACK): Remove.
- (DEF_VEC_ALLOC_FUNC_I_STACK): Remove.
- (vec_reserve_exact): New template function.
-
- * gengtype-lex.l (DEF_VEC_ALLOC_[IOP]/{EOID}): Remove.
- * gengtype-parse.c (token_names): Remove DEF_VEC_ALLOC_[IOP].
- (typedef_name): Emit vec_t<C1> instead of VEC_C1_C2.
- (def_vec_alloc): Remove. Update all callers.
- * gengtype.c (filter_type_name): New.
- (output_mangled_typename): Call it.
- (write_func_for_structure): Likewise.
- (write_types): Likewise.
- (write_root): Likewise.
- (write_typed_alloc_def): Likewise.
- (note_def_vec): Emit vec_t<TYPE_NAME> instead of VEC_TYPE_NAME_base.
- (note_def_vec_alloc): Remove.
- * gengtype.h (note_def_vec_alloc): Remove.
- (DEFVEC_ALLOC): Remove token code.
-
- * df-scan.c (df_bb_verify): Remove call to df_free_collection_rec
- inside the insn traversal loop.
- * gimplify.c (gimplify_compound_lval): Rename STACK to EXPR_STACK.
- * ipa-inline.c (inline_small_functions): Rename HEAP to EDGE_HEAP.
- * reg-stack.c (stack): Rename to STACK_PTR. Update all users.
- * tree-vrp.c (stack): Rename to EQUIV_STACK. Update all users.
-
- * config/bfin/bfin.c (hwloop_optimize): Update some calls to
- VEC_* for vectors of non-pointers.
- * config/c6x/c6x.c (try_rename_operands): Likewise.
- (reshuffle_units): Likewise.
- * config/mips/mips.c (mips_multi_start): Likewise.
- (mips_multi_add): Likewise.
- (mips_multi_copy_insn): Likewise.
- (mips_multi_set_operand): Likewise.
- * hw-doloop.c (discover_loop): Likewise.
- (discover_loops): Likewise.
- (reorg_loops): Likewise.
-
-2012-08-14 Diego Novillo <dnovillo@google.com>
-
- Merge from cxx-conversion branch. C++ support in gengtype.
-
- * coretypes.h (gt_pointer_operator): Move from ...
- * ggc.h: ... here.
- * doc/gty.texi: Document support for C++ templates and
- user-provided markers.
- * gengtype-lex.l: Update copyright year.
- Remove support for recognizing DEF_VEC_O, DEF_VEC_P and DEFVEC_I.
- * gengtype-parse.c: Update copyright year.
- (token_names): Remove DEF_VEC_O, DEF_VEC_P and DEF_VEC_I.
- (require_template_declaration): New.
- (typedef_name): Call it.
- (type): Replace IS_UNION with KIND. Replace all users.
- (def_vec): Remove. Update all users.
- * gengtype-state.c (type_lineloc): Handle TYPE_USER_STRUCT.
- (write_state_user_struct_type): New.
- (write_state_type): Call it.
- (read_state_user_struct_type): New.
- (read_state_type): Call it.
- * gengtype.c: Update copyright year.
- (dump_pair): Move declaration to the top.
- (dump_type): Likewise.
- (dump_type_list): Likewise.
- (dbgprint_count_type_at): Handle TYPE_USER_STRUCT.
- (create_user_defined_type): New.
- (resolve_typedef): Call it.
- (new_structure): Replace argument ISUNION with KIND.
- Change users to refer to KIND directly.
- Update all callers.
- (find_structure): Likewise.
- (set_gc_used_type): Handle TYPE_USER_STRUCT.
- (create_file): Update HDR to include new copyright year.
- (struct walk_type_data): Add field IN_PTR_FIELD.
- (output_mangled_typename): Handle TYPE_USER_STRUCT.
- (walk_type): Set D->IN_PTR_FIELD when walking a TYPE_POINTER.
- Clear it afterwards.
- Handle TYPE_USER_STRUCT.
- (write_types_process_field): Handle TYPE_USER_STRUCT.
- (get_type_specifier): Move earlier in the file.
- (write_type_decl): New.
- (write_marker_function_name): New.
- (write_user_func_for_structure_ptr): New.
- (write_user_func_for_structure_body): New.
- (write_user_marking_functions): New.
- (write_func_for_structure): Call write_marker_function_name
- and write_type_decl.
- Do not call walk_type for TYPE_USER_STRUCT. Emit a call to the user
- function directly.
- Call write_user_marking_functions on TYPE_USER_STRUCTs.
- (write_types_local_user_process_field): New.
- (write_pch_user_walking_for_structure_body): New.
- (write_pch_user_walking_functions): New.
- (write_types_local_process_field): Handle TYPE_USER_STRUCT.
- (write_local_func_for_structure): Do not call walk_type for
- TYPE_USER_STRUCT. Instead, emit the call to gt_pch_nx directly.
- Call write_pch_user_walking_functions for TYPE_USER_STRUCTs.
- (write_root): Handle TYPE_USER_STRUCT.
- (vec_prefix_type): Remove. Update all users.
- (note_def_vec): Remove. Update all users.
- (dump_typekind): Handle TYPE_USER_STRUCT.
- (dump_type): Initialize SEEN_TYPES, if needed.
- Handle TYPE_USER_STRUCT.
- (dump_everything): Do not initialize SEEN_TYPES.
- * gengtype.h: Update copyright year.
- (enum typekind): Add TYPE_USER_STRUCT.
- (union_or_struct_p): Rename from UNION_OR_STRUCT_P.
- Convert into function.
- Add an overload taking const_type_p.
- Update all callers.
- (new_structure): Change second field to type enum typekind.
- Update all users.
- (find_structure): Likewise.
- (note_def_vec): Remove.
- (DEFVEC_OP): Remove.
- (DEFVEC_I): Remove.
- * ggc-page.c (gt_ggc_mx): Add entry points for marking
- 'const char *&', 'unsigned char *&' and 'unsigned char&'.
- * ggc-zone.c (gt_ggc_mx): Add entry points for marking
- 'const char *&' and 'unsigned char *&'.
- * stringpool.c (gt_pch_nx): Add entry points for marking
- 'const char *&', 'unsigned char *&' and 'unsigned char&'.
- Add an entry point for the overload taking arguments 'unsigned char
- *', 'gt_pointer_operator' and 'void *'.
- * vec.h (struct vec_prefix): Remove GTY marker.
- (struct vec_t): Remove GTY((length)) attribute from field 'vec'.
- (gt_ggc_mx (vec_t<T> *)): New template function.
- (gt_pch_nx (vec_t<T> *)): New template function.
- (gt_pch_nx (vec_t<T *> *, gt_pointer_operator, void *)): New template
- function.
- (gt_pch_nx (vec_t<T> *, gt_pointer_operator, void *)): New template
- function.
-
- * basic-block.h (struct edge_def): Mark GTY((user)).
- Remove all GTY markers from fields.
- (gt_ggc_mx): Declare.
- (gt_pch_nx): Declare.
- * tree-cfg.c (gt_ggc_mx): New.
- (gt_pch_nx): New.
-
- * gengtype-lex.l (USER_GTY): Add pattern for "user".
- * gengtype-parse.c (option): Handle USER_GTY.
- (opts_have): New.
- (type): Call it.
- If the keyword 'user' is used, do not walk the fields
- of the structure.
- * gengtype.h (USER_GTY): Add.
- * doc/gty.texi: Update.
-
-2012-08-14 Lawrence Crowl <crowl@google.com>
-
- Merge cxx-conversion branch. Implement C++ hash table.
-
- * hash-table.h: New. Implementation borrowed from libiberty/hashtab.c.
- * hash-table.c: Likewise.
- * tree-ssa-tail-merge.c: Include hash-table.h instead of hashtab.h.
- (static htab_t same_succ_htab): Change type to hash_table;
- move specification of helper functions from create call to declaration.
- Change users to invoke member functions.
- (same_succ_print_traverse): Make extern ssa_.... Change callers.
- Remove void* casting.
- (same_succ_hash): Likewise.
- (same_succ_equal): Likewise.
- (same_succ_delete): Likewise.
- * tree-ssa-threadupdate.c: Include hash-table.h.
- (struct local_info): Rename to ssa_local_info_t to avoid overloading
- the type name local_info with the variable name local_info.
- (static htab_t redirection_data): Change type to hash_table.
- Move specification of helper functions from create call to declaration.
- Change users to invoke member functions.
- (redirection_data_hash): Make extern ssa_.... Change callers.
- Remove void* casting.
- (redirection_data_eq): Likewise.
- (fix_duplicate_block_edges): Likewise.
- (create_duplicates): Likewise.
- (fixup_template_block): Likewise.
- (redirect_edges): Likewise.
- (lookup_redirection_data): Change types associated with the hash table
- from void* to their actual type. Remove unnecessary casts.
- * tree-ssa-ccp.c: Include hash-table.h.
- (typedef gimple_htab): New. Uses hash_table. Replace specific uses
- of htab_t with gimple_htab. Change users to invoke member functions.
- Move specification of helper functions from create call to declaration.
- * tree-ssa-coalesce.c: Include hash-table.h instead of hashtab.h.
- (hash_ssa_name_by_var): Make extern. Remove void* casting.
- (eq_ssa_name_by_var): Likewise.
- (coalesce_ssa_name): Change type of local static htab_t ssa_name_hash
- to hash_table. Change users to invoke member functions.
- Move specification of helper functions from create call to declaration.
- * coverage.c: Include hash-table.h instead of hashtab.h.
- (static htab_t counts_hash): Change type to hash_table;
- move specification of helper functions from create call to declaration.
- Change users to invoke member functions.
- (htab_counts_entry_hash): Make extern. Rename with coverage_... instead
- of htab_... Remove void* casting.
- (htab_counts_entry_eq): Likewise.
- (htab_counts_entry_del): Likewise.
- * tree-ssa-pre.c: Include hash-table.h instead of hashtab.h.
- (static htab_t expression_to_id): Change type to hash_table.
- Move specification of helper functions from create call to declaration.
- Change users to invoke member functions.
- (static htab_t phi_translate_table): Likewise.
- (pre_expr_eq): Make extern ssa_.... Change callers.
- Remove void* casting.
- (pre_expr_hash): Likewise.
- (expr_pred_trans_hash): Likewise.
- (expr_pred_trans_eq): Likewise.
- (alloc_expression_id): Change types associated with the hash table
- from void* to their actual type. Remove unnecessary casts.
- (lookup_expression_id): Likewise.
- (phi_trans_lookup): Likewise.
- (phi_trans_add): Likewise.
- * stringpool.c: Rename uses of libcpp typedef hash_table to
- cpp_hash_table.
- * Makefile.in: Add hash-table.o to OBJS-libcommon-target.
- Add $(HASH_TABLE_H). Add new dependences on $(HASH_TABLE_H).
-
-2012-08-14 Lawrence Crowl <crowl@google.com>
-
- Merge from cxx-conversion branch. Re-write double_int in C++.
-
- * hash-table.h
- (typedef double_int): Change to struct (POD).
- (double_int::make): New overloads for int to double-int conversion.
- (double_int::mask): New.
- (double_int::max_value): New.
- (double_int::min_value): New.
- (double_int::operator ++): New.
- (double_int::operator --): New.
- (double_int::operator *=): New.
- (double_int::operator +=): New.
- (double_int::operator -=): New.
- (double_int::to_signed): New.
- (double_int::to_unsigned): New.
- (double_int::fits_unsigned): New.
- (double_int::fits_signed): New.
- (double_int::fits): New.
- (double_int::trailing_zeros): New.
- (double_int::popcount): New.
- (double_int::multiple_of): New.
- (double_int::set_bit): New.
- (double_int::mul_with_sign): New.
- (double_int::operator * (binary)): New.
- (double_int::operator + (binary)): New.
- (double_int::operator - (binary)): New.
- (double_int::operator - (unary)): New.
- (double_int::operator ~ (unary)): New.
- (double_int::operator & (binary)): New.
- (double_int::operator | (binary)): New.
- (double_int::operator ^ (binary)): New.
- (double_int::and_not): New.
- (double_int::lshift): New.
- (double_int::rshift): New.
- (double_int::alshift): New.
- (double_int::arshift): New.
- (double_int::llshift): New.
- (double_int::lrshift): New.
- (double_int::lrotate): New.
- (double_int::rrotate): New.
- (double_int::div): New.
- (double_int::sdiv): New.
- (double_int::udiv): New.
- (double_int::mod): New.
- (double_int::smod): New.
- (double_int::umod): New.
- (double_int::divmod): New.
- (double_int::sdivmod): New.
- (double_int::udivmod): New.
- (double_int::ext): New.
- (double_int::zext): New.
- (double_int::sext): New.
- (double_int::is_zero): New.
- (double_int::is_one): New.
- (double_int::is_minus_one): New.
- (double_int::is_negative): New.
- (double_int::cmp): New.
- (double_int::ucmp): New.
- (double_int::scmp): New.
- (double_int::ult): New.
- (double_int::ugt): New.
- (double_int::slt): New.
- (double_int::sgt): New.
- (double_int::max): New.
- (double_int::smax): New.
- (double_int::umax): New.
- (double_int::min): New.
- (double_int::smin): New.
- (double_int::umin): New.
- (double_int::operator ==): New.
- (double_int::operator !=): New.
- (shwi_to_double_int): Change implementation to use member function.
- (double_int_minus_one): Likewise.
- (double_int_zero): Likewise.
- (double_int_one): Likewise.
- (double_int_two): Likewise.
- (double_int_ten): Likewise.
- (uhwi_to_double_int): Likewise.
- (double_int_to_shwi): Likewise.
- (double_int_to_uhwi): Likewise.
- (double_int_fits_in_uhwi_p): Likewise.
- (double_int_fits_in_shwi_p): Likewise.
- (double_int_fits_in_hwi_p): Likewise.
- (double_int_mul): Likewise.
- (double_int_mul_with_sign): Likewise.
- (double_int_add): Likewise.
- (double_int_sub): Likewise.
- (double_int_neg): Likewise.
- (double_int_div): Likewise.
- (double_int_sdiv): Likewise.
- (double_int_udiv): Likewise.
- (double_int_mod): Likewise.
- (double_int_smod): Likewise.
- (double_int_umod): Likewise.
- (double_int_divmod): Likewise.
- (double_int_sdivmod): Likewise.
- (double_int_udivmod): Likewise.
- (double_int_multiple_of): Likewise.
- (double_int_setbit): Likewise.
- (double_int_ctz): Likewise.
- (double_int_not): Likewise.
- (double_int_ior): Likewise.
- (double_int_and): Likewise.
- (double_int_and_not): Likewise.
- (double_int_xor): Likewise.
- (double_int_lshift): Likewise.
- (double_int_rshift): Likewise.
- (double_int_lrotate): Likewise.
- (double_int_rrotate): Likewise.
- (double_int_cmp): Likewise.
- (double_int_scmp): Likewise.
- (double_int_ucmp): Likewise.
- (double_int_max): Likewise.
- (double_int_smax): Likewise.
- (double_int_umax): Likewise.
- (double_int_min): Likewise.
- (double_int_smin): Likewise.
- (double_int_umin): Likewise.
- (double_int_ext): Likewise.
- (double_int_sext): Likewise.
- (double_int_zext): Likewise.
- (double_int_mask): Likewise.
- (double_int_max_value): Likewise.
- (double_int_min_value): Likewise.
- (double_int_zero_p): Likewise.
- (double_int_one_p): Likewise.
- (double_int_minus_one_p): Likewise.
- (double_int_equal_p): Likewise.
- (double_int_popcount): Likewise.
- * hash-table.c
- (double_int_mask): Reuse implementation for double_int::mask.
- (double_int_max_value): Likewise.
- (double_int_min_value): Likewise.
- (double_int_ext): Likewise.
- (double_int_zext): Likewise.
- (double_int_sext): Likewise.
- (double_int_mul_with_sign): Likewise.
- (double_int_divmod): Likewise.
- (double_int_sdivmod): Likewise.
- (double_int_udivmod): Likewise.
- (double_int_div): Likewise.
- (double_int_sdiv): Likewise.
- (double_int_udiv): Likewise.
- (double_int_mod): Likewise.
- (double_int_smod): Likewise.
- (double_int_umod): Likewise.
- (double_int_multiple_of): Likewise.
- (double_int_lshift): Likewise.
- (double_int_rshift): Likewise.
- (double_int_lrotate): Likewise.
- (double_int_rrotate): Likewise.
- (double_int_cmp): Likewise.
- (double_int_ucmp): Likewise.
- (double_int_scmp): Likewise.
- (double_int_max): Likewise.
- (double_int_smax): Likewise.
- (double_int_umax): Likewise.
- (double_int_min): Likewise.
- (double_int_smin): Likewise.
- (double_int_umin): Likewise.
- (double_int_min): Likewise.
- (double_int_min): Likewise.
- (double_int_min): Likewise.
- (double_int_min): Likewise.
- (double_int_min): Likewise.
- (double_int_min): Likewise.
- (double_int::alshift): New.
- (double_int::arshift): New.
- (double_int::llshift): New.
- (double_int::lrshift): New.
- (double_int::ult): New.
- (double_int::ugt): New.
- (double_int::slt): New.
- (double_int::sgt): New.
- (double_int_setbit): Reuse implementation for double_int::set_bit,
- which avoids a name conflict with a macro.
- (double_int_double_int_ctz): Reuse implementation for
- double_int::trailing_zeros.
- (double_int_fits_in_shwi_p): Reuse implementation for
- double_int::fits_signed.
- (double_int_fits_in_hwi_p): Reuse implementation for double_int::fits.
- (double_int_mul): Reuse implementation for binary
- double_int::operator *.
- (double_int_add): Likewise.
- (double_int_sub): Likewise.
- (double_int_neg): Reuse implementation for unary
- double_int::operator -.
- (double_int_max_value): Likewise.
- * fixed-value.c: Change to use member functions introduced above.
-
-2012-08-14 Lawrence Crowl <crowl@google.com>
-
- Merge cxx-conversion branch. Support tree macro calling from gdb.
-
- * tree.h (tree_check): New.
- (TREE_CHECK): Use inline function above instead of __extension__.
- (tree_not_check): New.
- (TREE_NOT_CHECK): Use inline function above instead of __extension__.
- (tree_check2): New.
- (TREE_CHECK2): Use inline function above instead of __extension__.
- (tree_not_check2): New.
- (TREE_NOT_CHECK2): Use inline function above instead of __extension__.
- (tree_check3): New.
- (TREE_CHECK3): Use inline function above instead of __extension__.
- (tree_not_check3): New.
- (TREE_NOT_CHECK3): Use inline function above instead of __extension__.
- (tree_check4): New.
- (TREE_CHECK4): Use inline function above instead of __extension__.
- (tree_not_check4): New.
- (TREE_NOT_CHECK4): Use inline function above instead of __extension__.
- (tree_check5): New.
- (TREE_CHECK5): Use inline function above instead of __extension__.
- (tree_not_check5): New.
- (TREE_NOT_CHECK5): Use inline function above instead of __extension__.
- (contains_struct_check): New.
- (CONTAINS_STRUCT_CHECK): Use inline function above instead of
- __extension__.
- (tree_class_check): New.
- (TREE_CLASS_CHECK): Use inline function above instead of __extension__.
- (tree_range_check): New.
- (TREE_RANGE_CHECK): Use inline function above instead of __extension__.
- (omp_clause_subcode_check): New.
- (OMP_CLAUSE_SUBCODE_CHECK): Use inline function above instead of
- __extension__.
- (omp_clause_range_check): New.
- (OMP_CLAUSE_RANGE_CHECK): Use inline function above instead of
- __extension__.
- (expr_check): New.
- (EXPR_CHECK): Use inline function above instead of __extension__.
- (non_type_check): New.
- (NON_TYPE_CHECK): Use inline function above instead of __extension__.
- (tree_vec_elt_check): New.
- (TREE_VEC_ELT_CHECK): Use inline function above instead of
- __extension__.
- (omp_clause_elt_check): New.
- (OMP_CLAUSE_ELT_CHECK): Use inline function above instead of
- __extension__.
- (tree_operand_check): New.
- (TREE_OPERAND_CHECK): Use inline function above instead of
- __extension__.
- (tree_operand_check_code): New.
- (TREE_OPERAND_CHECK_CODE): Use inline function above instead of
- __extension__.
- (TREE_CHAIN): Simplify implementation.
- (TREE_TYPE): Simplify implementation.
- (tree_operand_length): Move for compilation dependences.
- * gdbinit.in: (macro define __FILE__): New.
- (macro define __LINE__): New.
- (skip "tree.h"): New.
-
-2012-08-14 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/52933
- * config/sh/sh.md (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0,
- *cmp_div0s_1, *cbranch_div0s, *movsicc_div0s): New insns.
- * config/sh/sh.c (sh_rtx_costs): Handle div0s patterns.
-
-2012-08-14 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/50751
- * config/sh/constraints.md (Sra): New constraint.
- * config/sh/predicates.md (simple_mem_operand,
- displacement_mem_operand, zero_extend_movu_operand): New predicates.
- (zero_extend_operand): Check zero_extend_movu_operand for SH2A.
- * config/sh/sh.md (*zero_extendqisi2_disp_mem,
- *zero_extendhisi2_disp_mem): Add new insns and two new related
- peephole2 patterns.
-
-2012-08-14 Steven Bosscher <steven@gcc.gnu.org>
-
- * graphite-scop-detection.c (create_sese_edges): Compute dominance
- info before trying to fix loop structure.
- * cfgloopmanip.c (fix_loop_structure): Require fast DOM queries.
- * tree-cfgcleanup.c (repair_loop_structures): Likewise.
- * cfgloop.c (verify_loop_structure): Verify loop fathers.
-
- * dominance.c (init_dom_info): Use gcc_checking_assert, not gcc_assert.
- (dom_convert_dir_to_idx, compute_dom_fast_query,
- get_immediate_dominator, set_immediate_dominator, get_dominated_by,
- redirect_immediate_dominators, nearest_common_dominator,
- (dominated_by_p, bb_dom_dfs_in, bb_dom_dfs_out, recompute_dominator,
- iterate_fix_dominators, add_to_dominance_info,
- delete_from_dominance_info): Likewise.
-
-2012-08-14 Richard Guenther <rguenther@suse.de>
-
- * cfgexpand.c (expand_used_vars): Use virtual_operand_p.
- * gimple-pretty-print.c (dump_phi_nodes): Likewise.
- * gimple-streamer-out.c (output_bb): Likewise.
- * graphite-sese-to-poly.c (scalar_close_phi_node_p): Likewise.
- (rewrite_reductions_out_of_ssa): Likewise.
- (rewrite_commutative_reductions_out_of_ss): Likewise.
- * ipa-split.c (verify_non_ssa_vars): Likewise.
- (consider_split): Likewise.
- (visit_bb): Likewise.
- (split_function): Likewise.
- * lto-streamer-out.c (output_ssa_names): Likewise.
- * sese.c (rename_uses): Likewise.
- * tree-cfg.c (replace_uses_by): Likewise.
- (gimple_merge_blocks): Likewise.
- (gimple_cfg2dot): Likewise.
- (verify_gimple_phi): Likewise.
- (replace_ssa_name): Likewise.
- (move_block_to_fn): Likewise.
- * tree-eh.c (cleanup_empty_eh_merge_phis): Likewise.
- * tree-if-conv.c (if_convertible_phi_p): Likewise.
- (predicate_scalar_phi): Likewise.
- * tree-inline.c (update_ssa_across_abnormal_edges): Likewise.
- (copy_phis_for_bb): Likewise.
- * tree-loop-distribution.c (generate_loops_for_partition): Likewise.
- (destroy_loop): Likewise.
- * tree-outof-ssa.c (eliminate_useless_phis): Likewise.
- (insert_backedge_copies): Likewise.
- * tree-parloops.c (transform_to_exit_first_loop): Likewise.
- (gather_scalar_reductions): Likewise.
- (try_create_reduction_list): Likewise.
- * tree-scalar-evolution.c (analyze_scalar_evolution_for_all_loop_ph):
- Likewise.
- (scev_const_prop): Likewise.
- * tree-ssa-ccp.c (debug_lattice_value): Likewise.
- (get_default_value): Likewise.
- (ccp_initialize): Likewise.
- * tree-ssa-coalesce.c (create_outofssa_var_map): Likewise.
- * tree-ssa-copy.c (may_propagate_copy): Likewise.
- (init_copy_prop): Likewise.
- * tree-ssa-dce.c (propagate_necessity): Likewise.
- (remove_dead_phis): Likewise.
- (forward_edge_to_pdom): Likewise.
- (eliminate_unnecessary_stmts): Likewise.
- * tree-ssa-live.c (partition_view_init): Likewise.
- (remove_unused_locals): Likewise.
- (register_ssa_partition_check): Likewise.
- * tree-ssa-loop-im.c (movement_possibility): Likewise.
- (move_computations_stmt): Likewise.
- * tree-ssa-loop-ivopts.c (determine_biv_step): Likewise.
- (record_invariant): Likewise.
- (find_interesting_uses_outside): Likewise.
- (determine_set_costs): Likewise.
- * tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
- (find_uses_to_rename_use): Likewise.
- (check_loop_closed_ssa_use): Likewise.
- (rewrite_phi_with_iv): Likewise.
- (canonicalize_loop_ivs): Likewise.
- * tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
- * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
- * tree-ssa-pre.c (make_values_for_phi): Likewise.
- (compute_avail): Likewise.
- (eliminate): Likewise.
- * tree-ssa-propagate.c (substitute_and_fold): Likewise.
- * tree-ssa-reassoc.c (phi_rank): Likewise.
- * tree-ssa-strlen.c (strlen_enter_block): Likewise.
- * tree-ssa-structalias.c (compute_points_to_sets): Likewise.
- (ipa_pta_execute): Likewise.
- * tree-ssa-tail-merge.c (same_succ_hash): Likewise.
- (release_last_vdef): Likewise.
- (same_phi_alternatives_1): Likewise.
- (bb_has_non_vop_phi): Likewise.
- (vop_phi): Likewise.
- * tree-ssa-threadedge.c (record_temporary_equivalences_from_phis):
- Likewise.
- * tree-ssa-uninit.c (warn_uninitialized_phi): Likewise.
- (execute_late_warn_uninitialized): Likewise.
- * tree-ssa.c (verify_ssa_name): Likewise.
- (verify_phi_args): Likewise.
- (verify_ssa): Likewise.
- * tree-stdarg.c (execute_optimize_stdarg): Likewise.
- * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1):
- Likewise.
- (slpeel_tree_peel_loop_to_edge): Likewise.
- (vect_can_advance_ivs_p): Likewise.
- (vect_update_ivs_after_vectorizer): Likewise.
- * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Likewise.
- * tree-vrp.c (remove_range_assertions): Likewise.
- * value-prof.c (gimple_divmod_values_to_profile): Likewise.
-
-2012-08-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54146
- * tree-ssa-pre.c (do_regular_insertion): Use a VEC
- indexed by pred edge index for avail.
- (do_partial_partial_insertion): Likewise.
- (insert_into_preds_of_block): Adjust.
-
-2012-08-14 Richard Guenther <rguenther@suse.de>
-
- * gimplify.c (create_tmp_from_val): Mark temporary with
- DECL_GIMPLE_REG_P here ...
- (internal_get_tmp_var): ... instead of here. If we go into
- SSA create an SSA name instead of a VAR_DECL.
- (gimplify_modify_expr): Do not create SSA names here, assert
- we already got them.
- (force_gimple_operand_1): Create an SSA name if we go into SSA.
- * sese.c (rename_uses): Simplify.
-
-2012-08-14 Richard Guenther <rguenther@suse.de>
-
- * tree-into-ssa.c: Include diagnostic-core.h.
- * Makefile.in (tree-into-ssa.o): Adjust.
-
-2012-08-14 Richard Guenther <rguenther@suse.de>
-
- * tree-into-ssa.c (update_ssa): Verify we do not rename
- symbols that are already partly in SSA form.
-
-2012-08-14 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/53411
- PR rtl-optimization/53495
- * ira.c (ira): Move delete_trivially_dead_insns call before
- find_moveable_pseudos call.
-
-2012-08-13 Steven Bosscher <steven@gcc.gnu.org>
-
- * tree-ssa-pre.c (do_regular_insertion): Add FIXME markers at points
- of potentially huge memset overhead.
- (do_partial_partial_insertion): Likewise.
- * cfgexpand.c (gimple_expand_cfg): Use XCNEWVEC instead of xcalloc.
- * tree-vrp.c (find_assert_locations): Use XNEWVEC instead of XCNEWVEC
- for arrays to be filled by pre_and_rev_post_order_compute. Allocate
- the right number of slots, not that number plus NUM_FIXED_BLOCKS.
- * tree-ssa-reassoc.c (init_reassoc): Likewise.
- * cfganal.c (dfs_enumerate_from): Use XNEWVEC instead of XCNEWVEC for
- array used as stack.
- * tree-ssa-sccvn.c (init_scc_vn): Use XNEWVEC instead of XCNEWVEC for
- arrays to be filled by pre_and_rev_post_order_compute.
- * cfgloopmanip.c (find_path): Use XNEWVEC instead of XCNEWVEC for
- array to be filled by dfs_enumerate_from.
- (remove_path): Likewise.
- (duplicate_loop_to_header_edge): Use XNEWVEC instead of XCNEWVEC for
- array of loops that is filled on the next lines.
- * cfgloop.c (get_loop_body): Use XNEWVEC instead of XCNEWVEC for
- array of basic blocks to be returned.
- (get_loop_body_in_dom_order): Likewise.
- (get_loop_body_in_bfs_order): Likewise.
- * tree-ssa-loop-manip.c (loop_renamer_obstack): New static obstack
- for all bitmaps used for rewriting into loop-closed SSA form.
- (add_exit_phis_var): Allocate the def bitmap on it. Clear the livein
- bitmap at the end to release a lot of memory.
- (add_exit_phis): Allocate the exits bitmap on the new obstack.
- (get_loops_exits): Allocate the exits bitmap on the new obstack.
- (find_uses_to_rename_use): Allocate a use_blocks bitmap if ver is
- seen for the first time.
- (find_uses_to_rename): Add "???" for why the whole function must
- be re-scanned if changed_bbs is empty.
- (rewrite_into_loop_closed_ssa): Allocate bitmaps on the new obstack.
- Use XNEWVEC to allocate the use_blocks array. Initialize the new
- obstack, and free it at the end. Remove loop over all SSA names.
- (check_loop_closed_ssa_stmt): Look only at SSA_OP_USE operands.
- * tree-cfg.c (move_sese_region_to_fn): Use XNEWVEC instead of
- xcalloc to allocate edge_pred and edge_flag arrays.
-
-2012-08-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (FIXED_REGISTERS): Do not mark REX registers here.
- (CALL_USED_REGISTERS): Use bitmaps to mark call-used registers
- for different ABIs.
- (enum reg_class): Move CLOBBERED_REGS just before GENERAL_REGS.
- (REG_CLASS_NAMES): Update.
- (REG_CLASS_CONTENTS): Update. Clear CLOBBERED_REGS members.
- * config/i386/i386.c (ix86_conditional_register_usage): Disable
- REX registers on 32bit targets. Handle bitmaps from
- CALL_USED_REGISTERS initializer. Calculate CLOBBERED_REGS register
- set from GENERAL_REGS also for 32bit targets. Do not change call
- used register set for TARGET_64BIT_MS_ABI separately.
-
-2012-08-13 Richard Guenther <rguenther@suse.de>
-
- * basic-block.h (struct basic_block): Remove loop_depth
- member, move flags and index members next to each other.
- * cfgloop.h (bb_loop_depth): New inline function.
- * cfghooks.c (split_block): Do not set loop_depth.
- (duplicate_block): Likewise.
- * cfgloop.c (flow_loop_nodes_find): Likewise.
- (flow_loops_find): Likewise.
- (add_bb_to_loop): Likewise.
- (remove_bb_from_loops): Likewise.
- * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
- * gimple-streamer-in.c (input_bb): Do not stream loop_depth.
- * gimple-streamer-out.c (output_bb): Likewise.
- * bt-load.c: Include cfgloop.h.
- (migrate_btr_defs): Use bb_loop_depth.
- * cfg.c (dump_bb_info): Likewise.
- * final.c (compute_alignments): Likewise.
- * ira.c (update_equiv_regs): Likewise.
- * tree-ssa-copy.c (init_copy_prop): Likewise.
- * tree-ssa-dom.c (loop_depth_of_name): Likewise.
- * tree-ssa-forwprop.c: Include cfgloop.h.
- (forward_propagate_addr_expr): Use bb_loop_depth.
- * tree-ssa-pre.c (insert_into_preds_of_block): Likewise.
- * tree-ssa-sink.c (select_best_block): Likewise.
- * ipa-inline-analysis.c: Include cfgloop.h.
- (estimate_function_body_sizes): Use bb_loop_depth.
- * Makefile.in (tree-ssa-forwprop.o): Depend on $(CFGLOOP_H).
- (ipa-inline-analysis.o): Likewise.
- (bt-load.o): Likewise.
-
-2012-08-13 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR driver/54210
- * config/i386/driver-i386.c (host_detect_local_cpu): Test bit_PRFCHW
- bit of CPUID 0x80000001 %ecx instead of CPUID 7 %ecx.
- * config/i386/cpuid.h (bits_PRFCHW): Move definition to CPUID
- 0x80000001 %ecx flags.
-
-2012-08-13 Richard Guenther <rguenther@suse.de>
-
- * tree-cfg.c (print_loop): Avoid ICEing for loops marked for
- removal and loops with multiple latches.
-
-2012-08-13 Jakub Jelinek <jakub@redhat.com>
-
- PR c/53968
- * tree.c (integer_pow2p): Avoid undefined signed overflows.
- * simplify-rtx.c (neg_const_int): Likewise.
- * expr.c (fixup_args_size_notes): Likewise.
- * stor-layout.c (set_min_and_max_values_for_integral_type): Likewise.
- * double-int.c (mul_double_wide_with_sign): Likewise.
- (double_int_mask): Likewise.
- * tree-ssa-loop-ivopts.c (get_address_cost): Likewise.
-
-2012-08-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54200
- * tree-ssa-copyrename.c (rename_ssa_copies): Do not add
- PHI results to another partition if not all PHI arguments
- have the same partition.
-
-2012-08-12 Jan Hubicka <jh@suse.cz>
-
- * tree-pass.h (write_summary, write_optimization_summary): Remove
- set and vset arguments.
- * ipa-cp.c (ipcp_write_summary): Remove set and vset arugments.
- (write_node_summary_p): Likewise; use the encoder.
- (ipa_reference_write_optimization_summary): Likewise.
- * lto-cgraph.c (output_cgraph_opt_summary): Use encoder.
- (lto_symtab_encoder_new): Initialize in_partition field.
- (lto_symtab_encoder_delete): Destroy in_partition field.
- (LCC_NOT_FOUND): Move to lto-streamer.h
- (lto_symtab_encoder_deref): Likewise.
- (lto_symtab_encoder_in_partition_p,
- lto_set_symtab_encoder_in_partition): New functions.
- (referenced_from_other_partition_p): Rewrite to use encoder.
- (reachable_from_other_partition_p): Likewise.
- (referenced_from_this_partition_p): Likewise.
- (reachable_from_this_partition_p): Likewise.
- (lto_output_node): Likewise.
- (lto_output_varpool_node): Likewise.
- (output_refs): Likewise.
- (compute_ltrans_boundary): Initialize in_partition fileds of
- the encoder.
- (output_symtab): Likewise.
- (input_refs): Match the changes in output_refs.
- (output_cgraph_opt_summary_p): Remove set argument.
- (output_node_opt_summary): Replace set by encoder.
- (output_cgraph_opt_summary): Remove set argument; use
- the encoder.
- * ipa-pure-const.c (pure_const_write_summary): Remove set and vset
- arguments; use the encoder.
- * lto-streamer-out.c (lto_output): Remove set and vset argument; use
- the encoder.
- (produce_symtab): Likewise.
- * ipa-inline.h (inline_write_summary): Remove set and vset arguments.
- * ipa-inline-analysis.c (inline_write_summary): Likewise.
- * ipa-prop.c (ipa_prop_write_jump_functions): Remove set argument;
- use encoder.
- * ipa-prop.h (ipa_prop_write_jump_functions): Likewise.
- * passes.c (ipa_write_summaries_2): Remove set and vset arguments.
- (ipa_write_summaries_1): Update.
- (ipa_write_optimization_summaries_1): Likewise.
- (ipa_write_optimization_summaries): Likewise.
- * lto-streamer.h (lto_symtab_encoder_t): Add in_partition.
- (lto_symtab_encoder_iterator): New type.
- (lto_symtab_encoder_deref): Make inline.
- (output_symtab, referenced_from_other_partition_p,
- reachable_from_other_partition_p, referenced_from_this_partition_p,
- reachable_from_this_partition_p): Update.
- (lsei_end_p, lsei_next, lsei_node, lsei_cgraph_node,
- lsei_varpool_node): New inline functions.
- (LCC_NOT_FOUND): New macro.
- (lto_symtab_encoder_deref, lsei_start, lsei_next_in_partition,
- lsei_start_in_partition, lsei_next_function_in_partition,
- lsei_start_function_in_partition, lsei_next_variable_in_partition,
- lsei_start_variable_in_partition): New inline functions.
-
-2012-08-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md (prefetch): Simplify expander. Fix condition to
- allow SH3.
- (*prefetch_media): Move insn below expander.
- (*prefetch): Fix condition to allow SH3.
-
-2012-08-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/sh.md: Add splits for inverted compare and branch
- opportunities.
- (*cmpeqsi_t): New insn.
- (cmpgtsi_t, cmpgesi_t): Swap r and N alternatives.
- (cmpgeusi_t): Use satisfies_constraint_Z. Emit sett insn in
- replacement insn list and not in the preparation statements.
- (clrt, sett): Add mt_group attribute.
-
-2012-08-12 Marc Glisse <marc.glisse@inria.fr>
-
- PR middle-end/54193
- * gimple-pretty-print.c (dump_ternary_rhs): Handle 4 arguments.
-
-2012-08-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/39423
- * config/sh/predicates.md (mem_index_disp_operand): Check for
- arith_reg_operand instead of REG_P.
-
-2012-08-11 Bernd Schmidt <bernds@codesourcery.com>
-
- * reload1.c (replaced_subreg, gen_reload): Add
- SECONDARY_MEMORY_NEEDED ifdefs as necessary.
-
-2012-08-11 Jan Hubicka <jh@suse.cz>
-
- * lto-section-in.c (lto_section_name): Do not use "symtab" as part of
- symtab_node sectoin name; it confuses plugin.
-
-2012-08-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_stdarg_optimize_hook): Shift DECL_UID
- index in the va_list_vars bitmap by num_ssa_names.
-
-2012-08-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (xop integer multiply/add insns): Use
- register_operand for operand 3 predicate.
- (xop_phadd<u>bq): Fix vec_select selectors.
-
-2012-08-11 Martin Jambor <mjambor@suse.cz>
-
- PR fortran/48636
- * ipa-inline.h (condition): New fields offset, agg_contents and by_ref.
- * ipa-inline-analysis.c (agg_position_info): New type.
- (add_condition): New parameter aggpos, also store agg_contents, by_ref
- and offset.
- (dump_condition): Also dump aggregate conditions.
- (evaluate_conditions_for_known_args): Also handle aggregate
- conditions. New parameter known_aggs.
- (evaluate_properties_for_edge): Gather known aggregate contents.
- (inline_node_duplication_hook): Pass NULL known_aggs to
- evaluate_conditions_for_known_args.
- (unmodified_parm): Split into unmodified_parm and unmodified_parm_1.
- (unmodified_parm_or_parm_agg_item): New function.
- (set_cond_stmt_execution_predicate): Handle values passed in
- aggregates.
- (set_switch_stmt_execution_predicate): Likewise.
- (will_be_nonconstant_predicate): Likewise.
- (estimate_edge_devirt_benefit): Pass new parameter known_aggs to
- ipa_get_indirect_edge_target.
- (estimate_calls_size_and_time): New parameter known_aggs, pass it
- recrsively to itself and to estimate_edge_devirt_benefit.
- (estimate_node_size_and_time): New vector known_aggs, pass it o
- functions which need it.
- (remap_predicate): New parameter offset_map, use it to remap aggregate
- conditions.
- (remap_edge_summaries): New parameter offset_map, pass it recursively
- to itself and to remap_predicate.
- (inline_merge_summary): Also create and populate vector offset_map.
- (do_estimate_edge_time): New vector of known aggregate contents,
- passed to functions which need it.
- (inline_read_section): Stream new fields of condition.
- (inline_write_summary): Likewise.
- * ipa-cp.c (ipa_get_indirect_edge_target): Also examine the aggregate
- contents. Let all local callers pass NULL for known_aggs.
-
-2012-08-11 Jan Hubicka <jh@suse.cz>
-
- * lto-cgraph.c (output_cgraph): Rename to ...
- (output_symtab): ... this one. Update for LTO_section_symtab_nodes.
- (input_cgraph): Rename to ...
- (input_symtab): ... this one. Update for LTO_section_symtab_nodes.
- * lto-streamer-out.c (create_output_block): Do not set
- section_type.
- (produce_asm): Likewise.
- (lto_output_toplevel_asms): Likewise.
- (produce_asm_for_decls): Likewise.
- (lto_output): Use output_symtab.
- * lto-section-in.c (lto_section_name): Update.
- * lto-section-out.c (lto_destroy_simple_output_block): Remove
- section_type.
- * lto-streamer.h (enum lto_section_type): Remove LTO_section_varpool;
- rename LTO_section_cgraph to LTO_section_symtab_nodes.
- (struct lto_header): Remove section_type.
-
-2012-08-11 Jan Hubicka <jh@suse.cz>
-
- * cgraph.h (vector types for symtab_node): Add.
- * ipa-reference.c (ipa_reference_write_optimization_summary): Update
- for new symtab encoder.
- (ipa_reference_read_optimization_summary): Likewise.
- * lto-cgraph.c (output_varpool): Remove.
- (input_cgraph_opt_summary): Take symtab nodes vector as argument.
- (LTO_cgraph_tags): Rename to ...
- (LTO_symtab_tags): ... this one; add LTO_symtab_variable.
- (lto_cgraph_encoder_new): Rename to ...
- (lto_symtab_encoder_new): ... this on.
- (lto_cgraph_encoder_encode): Rename to ...
- (lto_symtab_encoder_encode): ... this one.
- (lto_cgraph_encoder_delete): Rename to ...
- (lto_symtab_encoder_delete): ... this one.
- (lto_cgraph_encoder_deref): Rename to ...
- (lto_symtab_encoder_deref): ... this one.
- (lto_cgraph_encoder_encode_body_p): Rename to ...
- (lto_symtab_encoder_encode_body_p): ... this one.
- (lto_varpool_encoder_new, lto_varpool_encoder_delete,
- lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
- lto_varpool_encoder_deref): Remove.
- (lto_varpool_encoder_encode_initializer_p): Rename to ...
- (lto_symtab_encoder_encode_initializer_p): ... this one.
- (lto_set_varpool_encoder_encode_initializer): Rename to ...
- (lto_set_symtab_encoder_encode_initializer): ... this one.
- (lto_output_edge): Update.
- (lto_output_node): Update.
- (lto_output_varpool_node): Update; stream out LTO_symtab_variable tag.
- (lto_output_ref): Drop varpool_encoder; update.
- (add_node_to): Update.
- (add_references): Update.
- (output_outgoing_cgraph_edges): Update.
- (output_refs): Update.
- (compute_ltrans_boundary): Update.
- (output_cgraph): Update; output varpools too.
- (input_overwrite_node): Update.
- (output_varpool): Remove.
- (input_node): Update.
- (input_ref): Update.
- (input_edge): Update.
- (input_cgraph_1): Update; input varpool too; unify fixup code.
- (input_varpool_1): Remove.
- (input_refs): Update.
- (input_cgraph): Update.
- (output_node_opt_summary): Update.
- (input_cgraph_opt_section): Update.
- (input_cgraph_opt_summary): Update.
- * ipa-pure-const.c (pure_const_write_summary): Update.
- (pure_const_read_summary): Update.
- * lto-streamer-out.c (lto_write_tree): Update.
- (lto_output): Likewise.
- (produce_symtab): Update.
- (produce_asm_for_decls): Update.
- * ipa-inline-analysis.c (inline_read_section): Update.
- (inline_write_summary): Update.
- * ipa-prop.c (ipa_write_node_info): Update.
- (ipa_prop_read_section): Update.
- * lto-streamer.h (lto_cgraph_encoder_d): Rename to ...
- (lto_symtab_encoder_d): ... this one; add initializer.
- (lto_cgraph_encoder_t): Rename to ...
- (lto_symtab_encoder_t): ... this one.
- (lto_cgraph_encoder_size): Rename to ...
- (lto_symtab_encoder_size): ... this one.
- (lto_varpool_encoder_d): ... remove.
- (lto_varpool_encoder_t): Remove.
- (lto_out_decl_state): Remove cgraph_node_encoder, varpool_node_encoder
- add symtab_node_encoder.
- (lto_file_decl_data): Likewise.
- (lto_cgraph_encoder_deref, lto_cgraph_encoder_lookup,
- lto_cgraph_encoder_new, lto_cgraph_encoder_encode,
- lto_cgraph_encoder_delete, lto_cgraph_encoder_encode_body_p,
- lto_varpool_encoder_encode_body_p, lto_varpool_encoder_deref,
- lto_varpool_encoder_lookup, lto_varpool_encoder_new,
- lto_varpool_encoder_encode, lto_varpool_encoder_delete,
- lto_varpool_encoder_encode_initializer_p): Remove.
- (lto_symtab_encoder_deref, lto_symtab_encoder_lookup,
- lto_symtab_encoder_t, lto_symtab_encoder_encode,
- lto_symtab_encoder_delete, lto_symtab_encoder_encode_body_p,
- lto_symtab_encoder_encode_initializer_p): New.
-
-2012-08-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (isa): Add fma and fma4.
- (enabled): Handle fma and fma4.
- * config/i386/sse.md (*fma_fmadd_<mode>): Merge *fma4_fmadd_<mode>.
- (*fma_fmsub_<mode>): Merge *fma4_fmsub_<mode>.
- (*fma_fnmadd_<mode>): Merge *fma4_fnmadd_<mode>.
- (*fma_fnmsub_<mode>): Merge *fma4_fnmsub_<mode>.
- (*fma_fmaddsub_<mode>): Merge *fma4_fmaddsub_<mode>.
- (*fma_fmsubadd_<mode>): Merge *fma4_fmsubadd_<mode>.
-
-2012-08-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (*fma_fmadd_<mode>, *fma_fmsub_<mode>,
- *fma_fnmadd_<mode>, *fma_fnmsub_<mode>, *fma_fmaddsub_<mode>,
- *fma_fmsubadd_<mode>): Move FMA3 insn patterns before FMA4 patterns.
-
-2012-08-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (simple LEA peephole2s): Add zero-extend
- variants of PLUS and MULT simple LEA patterns. Disable PLUS
- patterns for TARGET_OPT_AGU.
-
-2012-08-10 Richard Guenther <rguenther@suse.de>
-
- * Makefile.in (OBJS): Remove matrix-reorg.o.
- (matrix-reorg.o): Remove dependence rule.
- (GTFILES): Remove matrix-reorg.c.
- * matrix-reorg.c: Remove.
- * passes.c (init_optimization_passes): Do not schedule
- pass_ipa_matrix_reorg.
- * tree-pass.h (pass_ipa_matrix_reorg): Remove.
- * common.opt (fipa-matrix-reorg): Stub out.
- * doc/invoke.texi (fipa-matrix-reorg): Remove documentation.
-
-2012-08-10 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/54219
- * fold-const.c (fold_ternary_loc): Do not reverse the mask
- when canonicalizing it when folding VEC_PERM_EXPR.
-
-2012-08-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR middle-end/54211
- * gimple-ssa-strength-reduction.c (analyze_candidates_and_replace):
- Use cand_type to determine whether pointer arithmetic will be generated.
-
-2012-08-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * doc/sourcebuild.texi: Document long_neq_int effective target.
-
-2012-08-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54109
- * tree-ssa-forwprop.c
- (forward_propagate_addr_into_variable_array_index): Remove.
- (forward_propagate_addr_expr_1): Adjust.
-
-2012-08-10 Richard Guenther <rguenther@suse.de>
-
- * tree-cfg.c (dump_function_to_file): Make sure to dump
- anonymous SSA names when there are no local decls.
-
-2012-08-10 Steven Bosscher <steven@gcc.gnu.org>
-
- * tree-ssa-pre.c (alloc_expression_id): Fix use of VEC_reserve.
- * tree-into-ssa.c (get_ssa_name_ann): Likewise.
- (mark_phi_for_rewrite): Likewise.
- (compute_global_livein): Use VEC_reserve outside the innermost
- loop and VEC_quick_push instead of VEC_safe_push in that loop.
- (update_ssa): Re-organize to avoid unnecessary sbitmap_zero'ing
- of new_ssa_names and old_ssa_names. Allocate phis_to_rewrite to
- the correct initial size.
-
-2012-08-10 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-pre.c (pretemp, storetemp, prephitemp): Remove.
- (need_creation): Remove.
- (get_representative_for): Use anonymous named SSA names.
- (create_expression_by_pieces): Likewise.
- (insert_into_preds_of_block): Likewise.
- (init_pre): Do not init removed vars.
- (fini_pre): Do not free need_creation.
- * tree-ssa-forwprop.c (simplify_bitwise_binary): Use anonymous
- SSA names.
- * tree-ssa-loop-manip.c (create_iv): Likewise.
- * value-prof.c (gimple_divmod_fixed_value): Likewise.
- (gimple_mod_pow2): Likewise.
- (gimple_mod_subtract): Likewise.
- (gimple_ic): Likewise.
- (gimple_stringop_fixed_value): Likewise.
- * tree-ssa-phiopt.c (condstoretemp): Remove.
- (tree_ssa_phiopt_worker): Use anonymous named SSA names.
- (conditional_replacement): Likewise.
- (abs_replacement): Likewise.
- (cond_store_replacement): Likewise.
- (cond_if_else_store_replacement_1): Likewise.
- * tree-ssa-loop-im.c (rewrite_reciprocal): Likewise.
- (rewrite_bittest): Likewise.
- * tree-ssa-reassoc.c (build_and_add_sum): Get type from callers
- and build anonymous SSA names.
- (undistribute_ops_list): Adjust.
- (eliminate_redundant_comparison): Use anonymous SSA names.
- (rewrite_expr_tree_parallel): Likewise.
- (get_reassoc_pow_ssa_name): Remove.
- (attempt_builtin_powi): Adjust.
- (reassociate_bb): Likewise.
- * tree-ssa-strlen.c (get_string_length): Use anonymous SSA names.
- * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
- (build_arrays): Likewise.
- * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
- (create_tailcall_accumulator): Likewise.
- * tree-vect-generic.c (expand_vector_divmod): Likewise.
- * tree-profile.c (gcov_type_tmp_var): Remove.
- (gimple_init_edge_profiler): Do not initialize it and use anonymous
- SSA names.
- (gimple_gen_ic_profiler): Likewise.
- (tree_profiling): Adjust.
- * tree-sra.c (build_ref_for_offset): Use anonymous SSA names.
- * tree-ssa-math-opts.c (execute_cse_sincos_1): Likewise.
- (powi_as_mults_1): Likewise.
- (powi_as_mults): Likewise.
- (build_and_insert_call): Adjust.
- (build_and_insert_binop): Likewise.
- (build_and_insert_ref): Likewise.
- (build_and_insert_cast): Likewise.
- (gimple_expand_builtin_pow): Likewise.
- (gimple_expand_builtin_cabs): Likewise.
- (execute_optimize_bswap): Use anonymous SSA names.
- (convert_mult_to_widen): Likewise.
- (convert_plusminus_to_widen): Likewise.
- * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
- * tree-ssa-propagate.c (update_call_from_tree): Likewise.
- * tree-if-conv.c (ifc_temp_var): Likewise.
- * tree-loop-distribution.c (generate_memset_builtin): Likewise.
- * tree-parloops.c (take_address_of): Likewise.
- * tree-vect-data-refs.c (vect_permute_store_chain): Likewise.
- (vect_permute_load_chain): Likewise.
- * tree-vect-loop-manip.c (vect_create_cond_for_align_checks): Likewise.
- * tree-vect-patterns.c (vect_recog_temp_ssa_var): Likewise.
- (vect_handle_widen_op_by_const): Likewise.
- (vect_operation_fits_smaller_type): Likewise.
- (vect_recog_over_widening_pattern): Likewise.
- * tree-vect-stmts.c (vect_init_vector): Likewise.
- * tree-vrp.c (simplify_truth_ops_using_ranges): Likewise.
- (simplify_float_conversion_using_ranges): Likewise.
-
-2012-08-10 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
-
- * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix
- target mask of __builtin_ia32_rdseed_di_step builtin.
-
-2012-08-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54027
- * tree-vrp.c (extract_range_from_binary_expr_1): Merge RSHIFT_EXPR
- and LSHIFT_EXPR handling, force -fwrapv for the multiplication used
- to handle LSHIFT_EXPR with a constant.
-
-2012-08-10 Richard Guenther <rguenther@suse.de>
-
- * tree.h (SSA_NAME_VAR): Return NULL_TREE if an IDENTIFIER_NODE
- is recorded as var.
- (SSA_NAME_IDENTIFIER): Return the IDENTIFIER_NODE of the SSA_NAME
- or its SSA_NAME_VAR.
- (SET_SSA_NAME_VAR_OR_IDENTIFIER): New setter.
- * tree-ssanames.c (make_ssa_name_fn): Handle creating anonymous
- SSA names by passing a type instead of a variable decl.
- (release_ssa_name): Use SET_SSA_NAME_VAR_OR_IDENTIFIER.
- (copy_ssa_name_fn): Handle anonymous SSA names.
- (replace_ssa_name_symbol): Use SET_SSA_NAME_VAR_OR_IDENTIFIER.
- * tree-flow-inline.h (make_temp_ssa_name): New inline function.
- * tree-pretty-print.c (dump_generic_node): Use SSA_NAME_IDENTIFIER,
- dump SSA names without a name as <anon>.
- * cfgexpand.c (expand_used_vars): Assing anonymous SSA names we are
- going to expand a decl.
- (gimple_expand_cfg): Assign all SSA names of a partition the
- decl we created for its leader.
- * tree-ssa.c (target_for_debug_bind): Handle SSA_NAMEs.
- (verify_ssa_name): Handle anonymous SSA names.
- (verify_def): Likewise.
- * tree-predcom.c (eliminate_temp_copies): Likewise.
- * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
- * tree-ssa-live.c (var_map_base_init): Compute conflicts for
- anonymous SSA names with the same type.
- (mark_all_vars_used_1): Handle anonymous SSA names.
- (verify_live_on_entry): Likewise.
- * tree-ssa-coalesce.c (abnormal_corrupt): Remove.
- (create_outofssa_var_map): Adjust with respect to conflicts we
- compute for anonymous SSA names. Do not restrict abnormal
- coalescing.
- (coalesce_partitions): Do not restrict abnormal coalescing.
- Assert we only ever coalesce variables we computed conflicts for.
- * tree-ssa-ter.c (process_replaceable): Do not restrict TER
- of anonymous names.
- * expr.c (expand_expr_real_1): Handle anonymous SSA names
- expanded from IVOPTs by creating a raw REG here.
- * tree-cfg.c (replace_ssa_name): Handle anonymous SSA names.
- (dump_function_to_file): Dump anonymous SSA names alongside
- with their types in the variable list.
- (verify_gimple_return): Guard use of SSA_NAME_VAR.
- * tree-into-ssa.c (mark_for_renaming): Handle a NULL symbol.
- (rewrite_into_ssa): Make SSA names anonymous.
- * tree-ssa-structalias.c (alias_get_name): Rewrite.
- * tree-ssa-uninit.c (ssa_undefined_value_p): Handle anonymous
- SSA names.
- (warn_uninitialized_phi): Likewise.
- * tree-ssa-loop-ivopts.c (prepare_decl_rtl): Defer expanding
- anonymous SSA names to the expander.
- (determine_iv_cost): Anonymous SSA names are artificial.
- * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
- Handle anonymous SSA names.
- * lto-streamer-out.c (output_ssa_names): Stream SSA_NAME_VAR
- or if NULL, the type of the SSA name.
- * tree-inline.c (remap_ssa_name): Handle anonymous SSA names,
- remap names as anonymous where appropriate.
- (insert_init_stmt): Pass SSA names down to insert_init_debug_bind.
- * tree-ssa-uncprop.c (uncprop_into_successor_phis): Adjust
- according to what we create conflicts for in out-of-SSA
- coalescing.
- * tree-parloops.c (separate_decls_in_region_name): Handle
- anonymous SSA names.
- (add_field_for_name): Likewise.
- * tree.c (get_name): Handle SSA names.
- * tree-ssa-loop-im.c (gen_lsm_tmp_name): Defer to get_name for
- SSA_NAMEs.
- * tree-vect-loop-manip.c (adjust_debug_stmts): Use
- virtual_operand_p.
- * tree-sra.c (create_access_replacement): Give up generating
- a DECL_DEBUG_EXPR for SSA names in the memory reference.
- (replace_removed_params_ssa_names): Guard use of SSA_NAME_VAR.
- * tree-complex.c (get_component_ssa_name): Handle anonymous
- SSA names.
- (set_component_ssa_name): Likewise.
- * tree-ssa-sccvn.c (visit_reference_op_load): Likewise.
- * tree-object-size.c (collect_object_sizes_for): Handle
- uninitialized SSA names properly.
- * ipa-inline-analysis.c (eliminated_by_inlining_prob): Guard use of
- SSA_NAME_VAR.
- * ipa-split.c (test_nonssa_use): Likewise.
- (consider_split): Likewise.
- (mark_nonssa_use): Likewise.
-
-2012-08-09 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/54146
- * ipa-inline-transform.c (inline_call): Add UPDATE_OVERALL_SUMMARY
- parameter; honnor it.
- * ipa-inline.c (recursive_inlining): Update call
- of inline_call.
- (inline_small_functions): Likewise.
- (ipa_inline): Likewise.
- (inline_always_inline_functions): Likewise.
- (early_inline_small_functions): Likewise.
- (flatten_function): Do separate update of summary info.
- * ipa-inline.h (inline_update_overall_summary): Declare.
- (inline_call): Update.
- * ipa-inline-analysis.c (inline_merge_summary): Break out
- updating code to ...
- (inline_update_overall_summary): Likewise.
-
-2012-08-09 Richard Henderson <rth@redhat.com>
-
- * config/s390/s390.c (s390_expand_insv): Use VOIDmode in gen_rtx_SET.
-
- * config/s390/s390.c (s390_expand_cs_hqi): Copy val to a temp before
- performing the compare for the restart loop.
-
-2012-08-09 DJ Delorie <dj@redhat.com>
-
- * config/rl78/rl78.c (rl78_alloc_physical_registers): Check for
- SET before extracting SET_SRC.
- (rl78_remove_unused_sets): Check for REG before extractnig REGNO.
-
-2012-08-09 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * config/sh/sh-protos (shift_insns_rtx): Delete.
- (sh_ashlsi_clobbers_t_reg_p): Add.
- * config/sh/sh.c (shift_insns, shift_amounts, ext_shift_insns,
- ext_shift_amounts): Merge arrays of ints to array of structs.
- Adapt usage of arrays throughout the file.
- (shift_insns_rtx): Delete unused function.
- (sh_ashlsi_clobbers_t_reg_p): New function.
- * config/sh/sh.md (ashlsi3): Emit ashlsi3_n_clobbers_t insn if the
- final shift sequence will clobber T_REG.
- (ashlsi3_n): Split only if the final shift sequence will not
- clobber T_REG.
- (ashlsi3_n_clobbers_t): New insn_and_split.
-
-2012-08-09 Steven Bosscher <steven@gcc.gnu.org>
-
- * calls.c (mem_overlaps_already_clobbered_arg_p): Use SBITMAP_SIZE
- instead of looking at sbitmap n_bits member directly.
- * gcse.c (hoist_code): Likewise.
- * sched-rgn.c (split_edges): Likewise.
- * tree-into-ssa.c (is_old_name, is_new_name, add_new_name_mapping,
- update_ssa): Likewise.
-
-2012-08-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (LIMIT_RELOAD_CLASS): Return preferred
- single unit register class for classes that contain registers form
- multiple units.
- (REG_CLASS_CONTENTS): Add missing "frame" register to FLOAT_INT_REGS,
- INT_SSE_REGS and FLOAT_INT_SSE_REGS register classes.
-
-2012-08-09 Martin Jambor <mjambor@suse.cz>
-
- * cgraph.h (cgraph_indirect_call_info): Field anc_offse renamd to
- offset, updated all users. New field agg_contents.
- * ipa-prop.h (jump_func_type): Removed IPA_JF_CONST_MEMBER_PTR.
- (ipa_pass_through_data): New field agg_preserved.
- (ipa_ancestor_jf_data): Likewise.
- (ipa_member_ptr_cst): Removed.
- (ipa_agg_jf_item): New type.
- (ipa_agg_jump_function): Likewise.
- (ipa_jump_func): New field agg. Removed field member_cst.
- (ipa_get_jf_pass_through_agg_preserved): New function.
- (ipa_get_jf_ancestor_agg_preserved): Likewise.
- (ipa_get_jf_member_ptr_pfn): Removed.
- (ipa_find_agg_cst_for_param): Declare.
- (ipa_load_from_parm_agg): Likewise.
- * ipa-prop.c (param_analysis_info): Fields modified and
- visited_statements rename to parm_modified and parm_visited_statements
- respectively, added fields ref_modified, ref_visited_statements,
- pt_modified and pt_visited_statements.
- (ipa_print_node_jump_functions_for_edge): Do not dump const member
- functions. Dump agg_preserved flags and aggregate jump functions.
- (ipa_set_jf_simple_pass_through): Set also agg_preserved.
- (ipa_set_ancestor_jf): Likewise.
- (ipa_set_jf_arith_pass_through): Clear agg_preserved.
- (ipa_set_jf_member_ptr_cst): Removed.
- (is_parm_modified_before_stmt): Logic reversed, renamed to
- parm_preserved_before_stmt_p. Cache visited bitmap only for
- naked DECL parameters. All callers updated.
- (load_from_unmodified_param): Allow NULL parms_ainfo.
- (parm_ref_data_preserved_p): New function.
- (parm_ref_data_pass_through_p): Likewise.
- (ipa_load_from_parm_agg_1): Likewise.
- (ipa_load_from_parm_agg): Likewise.
- (compute_complex_assign_jump_func): Check if aggregate contents are
- preserved.
- (compute_complex_ancestor_jump_func): Likewise.
- (compute_scalar_jump_functions): Removed.
- (type_like_member_ptr_p): Also check field position are known and sane.
- (compute_pass_through_member_ptrs): Removed.
- (determine_cst_member_ptr): Likewise.
- (ipa_known_agg_contents_list): New type.
- (determine_known_aggregate_parts): New function.
- (compute_cst_member_ptr_arguments): Removed.
- (ipa_compute_jump_functions_for_edge): Compute all kinds of jump
- functions (scalar, aggregate and member pointer).
- (ipa_get_member_ptr_load_param): Incorporate into
- ipa_get_stmt_member_ptr_load_param, also pass back an offset.
- (ipa_note_param_call): Clear agg_contents.
- (ipa_analyze_indirect_call_uses): Also look for simple pointers loaded
- from aggregates. In such cases, store offset of the called field.
- (ipa_analyze_node): Initialize new fields of param_analysis_info.
- (update_jump_functions_after_inlining): Handle aggregate contents.
- (ipa_find_agg_cst_for_param): New function.
- (try_make_edge_direct_simple_call): Handle called aggregate values.
- (update_indirect_edges_after_inlining): Make sure aggregate preserving
- jump functions comply with type compatibility requirements.
- (ipa_edge_duplication_hook): Copy also aggregate jump functions.
- (ipa_write_jump_function): Stream agg_preserved flags and aggregate
- jump functions. Do not stream member pointer constant jump functions.
- (ipa_read_jump_function): Likewise.
- (ipa_write_indirect_edge_info): Stream new cgraph_indirect_call_info
- fields.
- (ipa_read_indirect_edge_info): Likewise.
-
-2012-08-09 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/39423
- * config/sh/predicates.md (mem_index_disp_operand): New predicate.
- * config/sh/sh.md (*movsi_index_disp): Rewrite insns to use the new
- mem_index_disp_operand predicate.
-
-2012-08-09 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/sh.md: Add negc extu sequence peephole.
- (movrt, movnegt, movrt_negc, nott): Use t_reg_operand predicate.
- (*movrt_negc): New insn.
- * config/sh/sync.md (atomic_test_and_set): Pass gen_t_reg_rtx to
- gen_movnegt.
- * config/sh/sh.c (expand_cbranchsi4, sh_emit_scc_to_t,
- sh_emit_compare_and_branch, sh_emit_compare_and_set): Use
- get_t_reg_rtx.
- (sh_expand_t_scc): Pass gen_t_reg_rtx to gen_movnegt.
-
-2012-08-09 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/50751
- * config/sh/sh.md (*extendqisi2_compact_reg, *extendhisi2_compact_reg):
- Use arith_reg_operand predicate instead of register_operand.
- * config/sh/predicates.md (movsrc_no_disp_mem_operand): Accept
- only mem, simplify.
-
-2012-08-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
- (alpha_pad_function_end): ... this. Also insert NOP between
- sibling call and GP load.
- (alpha_reorg): Update call to alpha_pad_function_end. Expand comment.
-
-2012-08-09 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
-
- * config/i386/adxintrin.h: Remove guarding __ADX__ check.
- * config/i386/x86intrin.h: Likewise.
- * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove
- OPTION_MASK_ISA_ADX from needed options for
- __builtin_ia32_addcarryx_u32 and __builtin_ia32_addcarryx_u64.
- (ix86_expand_builtin): Use add<mode>3_carry in expanding of
- IX86_BUILTIN_ADDCARRYX32 and IX86_BUILTIN_ADDCARRYX64.
-
-2012-08-09 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/53701
- * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
- Process not only expr's vinsns but all old vinsns from expr's
- history of changes.
- (update_and_record_unavailable_insns): Clarify comment.
-
-2012-08-09 Bernd Schmidt <bernds@codesourcery.com>
-
- * reload.c (find_valid_class_1): New static function.
- (push_reload): Use it when reloading a SYMBOL_REG as the inner
- of a subreg. Keep better track of needed classes for the
- secondary memory case.
- * config/i386/i386.h (LIMIT_RELOAD_CLASS): Limit INT_SSE_REGS to
- GENERAL_REGS.
- * reload1.c (replaced_subreg): New static function.
- (gen_reload): Use it when deciding whether to use secondary
- memory.
-
-2012-08-09 Richard Guenther <rguenther@suse.de>
-
- * tree.h (SSA_VAR_P): Simplify.
- * tree-ssanames.c (make_ssa_name_fn): Strengthen assert.
- * fold-const.c (fold_comparison): Check for default def first
- before checking for PARM_DECL.
- * tree-complex.c (get_component_ssa_name): Likewise.
- * tree-inline.c (remap_ssa_name): Likewise.
- * tree-ssa-loop-ivopts.c (parm_decl_cost): Likewise.
- * tree-ssa-structalias.c (get_fi_for_callee): Likewise.
- (find_what_p_points_to): Likewise.
- * tree-ssa-operands.c (add_stmt_operand): Simplify.
-
-2012-08-08 Joseph Myers <joseph@codesourcery.com>
-
- * simplify-rtx.c (simplify_binary_operation_1): Do not simplify
- IOR to a constant if one operand has side effects.
-
-2012-08-08 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * builtins.c (expand_builtin_atomic_compare_exchange): Pass old
- value operand as MEM to expand_atomic_compare_and_swap.
-
- * config/s390/s390.md ("atomic_compare_and_swap<mode>"): Accept
- nonimmediate_operand for old value; generate load and store if
- needed.
- * config/s390/s390.c (s390_expand_cs_hqi): Accept any operand
- as vtarget.
-
-2012-08-08 Steven Bosscher <steven@gcc.gnu.org>
-
- PR middle-end/54146
- * gimpify.c (gimplify_body): Only verify_gimple_in_seq with
- checking enabled.
- * tree-ssa-loop-manip.c (add_exit_phis_var): Assert that var is
- a gimple_reg if checking is enabled.
- (find_uses_to_rename_stmt): Only look at non-virtual USE operands.
- * tree-into-ssa (compute_global_livein): Change the worklist
- type from an array to a VEC.
-
-2012-08-08 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-operands.h (virtual_operand_p): Declare.
- * tree-ssa-operands.c (virtual_operand_p): New predicate.
- * gimple.c (is_gimple_reg): Use virtual_operand_p.
- * tree-into-ssa.c (prepare_block_for_update): Likewise.
- * tree-vect-loop-manip.c (adjust_debug_stmts): Likewise.
-
-2012-08-08 Richard Guenther <rguenther@suse.de>
-
- * tree-call-cdce.c (check_pow): Simplify.
- (gen_conditions_for_pow_int_base): Likewise.
- * tree-ssa-dom.c (propagate_rhs_into_lhs): Do not handle
- virtual operands here.
- * tree-ssa-operands.c (get_name_decl): Remove unused function.
- * gimplify.c (gimple_regimplify_operands): Remove dead code.
- * tree-vrp.c (get_value_range): Move SSA_NAME_VAR access.
- * tree-parloops.c (create_phi_for_local_result): Use copy_ssa_name.
- * value-prof.c (gimple_ic): Use duplicate_ssa_name.
- (gimple_stringop_fixed_value): Likewise.
- * tree.c (needs_to_live_in_memory): Remove SSA name handling.
- * tree-stdarg.c (find_va_list_reference): Store SSA_NAME_VERSIONs
- in the bitmap alongside shifted DECL_UIDs.
- (va_list_counter_struct_op): Likewise.
- (va_list_ptr_read): Likewise.
- (va_list_ptr_write): Likewise.
- (check_va_list_escapes): Likewise.
- (check_all_va_list_escapes): Likewise.
- (execute_optimize_stdarg): Likewise.
- * tree-outof-ssa.c (insert_backedge_copies): Use copy_ssa_name.
-
-2012-08-08 Richard Sandiford <rdsandiford@googlemail.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl-optimization/54157
- * combine.c (gen_lowpart_for_combine): Don't return identity
- for CONST or symbolic reference.
-
-2012-08-08 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
-
- * common/config/i386/i386-common.c (OPTION_MASK_ISA_ADX_SET): New.
- (OPTION_MASK_ISA_ADX_UNSET): Likewise.
- (ix86_handle_option): Handle madx option.
- * config.gcc (i[34567]86-*-*): Add adxintrin.h.
- (x86_64-*-*): Likewise.
- * config/i386/adxintrin.h: New header.
- * config/i386/driver-i386.c (host_detect_local_cpu): Detect ADCX/ADOX
- support.
- * config/i386/i386-builtin-types.def
- (UCHAR_FTYPE_UCHAR_UINT_UINT_PUNSIGNED): New function type.
- (UCHAR_FTYPE_UCHAR_ULONGLONG_ULONGLONG_PULONGLONG): Likewise.
- * config/i386/i386-c.c: Define __ADX__ if needed.
- * config/i386/i386.c (ix86_target_string): Define -madx option.
- (PTA_ADX): New.
- (ix86_option_override_internal): Handle new option.
- (ix86_valid_target_attribute_inner_p): Add OPT_madx.
- (ix86_builtins): Add IX86_BUILTIN_ADDCARRYX32,
- IX86_BUILTIN_ADDCARRYX64.
- (ix86_init_mmx_sse_builtins): Define corresponding built-ins.
- (ix86_expand_builtin): Handle these built-ins.
- (ix86_expand_args_builtin): Handle new function types.
- * config/i386/i386.h (TARGET_ADX): New.
- * config/i386/i386.md (adcx<mode>3): New define_insn.
- * config/i386/i386.opt (madx): New.
- * config/i386/x86intrin.h: Include adxintrin.h.
-
-2012-08-08 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c: Include tree-pass.h.
-
-2012-08-08 Steven Bosscher <steven@gcc.gnu.org>
-
- PR middle-end/54146
- * ira.c (init_live_subregs): Take live_subregs_used as a bitmap.
- (build_insn_chain): Make live_subregs_used a bitmap.
- Use SBITMAP_SIZE to ignore the paradoxical bytes of subregs.
- Use sbitmap_free to free the live_subreg sbitmaps.
-
- PR middle-end/54146
- * ifcvt.c: Include pointer-set.h.
- (cond_move_process_if_block): Change type of then_regs and
- else_regs from alloca'd array to pointer_sets.
- (check_cond_move_block): Update for this change.
- (cond_move_convert_if_block): Likewise.
- * Makefile.in: Fix dependencies for ifcvt.o.
-
-2012-08-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gimple-ssa-strength-reduction.c (struct incr_info_d): New struct.
- (incr_vec): New static var.
- (incr_vec_len): Likewise.
- (address_arithmetic_p): Likewise.
- (stmt_cost): Remove dead assignment.
- (dump_incr_vec): New function.
- (cand_abs_increment): Likewise.
- (lazy_create_slsr_reg): Likewise.
- (incr_vec_index): Likewise.
- (count_candidates): Likewise.
- (record_increment): Likewise.
- (record_increments): Likewise.
- (unreplaced_cand_in_tree): Likewise.
- (optimize_cands_for_speed_p): Likewise.
- (lowest_cost_path): Likewise.
- (total_savings): Likewise.
- (analyze_increments): Likewise.
- (ncd_for_two_cands): Likewise.
- (nearest_common_dominator_for_cands): Likewise.
- (profitable_increment_p): Likewise.
- (insert_initializers): Likewise.
- (introduce_cast_before_cand): Likewise.
- (replace_rhs_if_not_dup): Likewise.
- (replace_one_candidate): Likewise.
- (replace_profitable_candidates): Likewise.
- (analyze_candidates_and_replace): Handle candidates with SSA-name
- strides.
-
-2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
-
- * cfg.c (debug_bb): Do not set TDF_BLOCKS.
- * cfghooks.c (dump_bb): Honor ~TDF_BLOCKS.
- * pretty-print.c (pp_base_flush): Do not add a newline, and do not
- clear pp_needs_newline.
- * pretty-print.h (pp_newline_and_flush): New macro with the behavior
- of pp_base_flush before the above change.
- * langhooks.c (lhd_print_error_function): Use pp_newline_and_flush
- instead of pp_flush.
- * diagnostic.c (diagnostic_finish): Likewise.
- (diagnostic_report_diagnostic): Likewise.
- (verbatim): Likewise.
- (error_recursion): Likewise.
- * tree-pretty-print.c (print_generic_stmt): Likewise.
- (print_generic_stmt_indented): LIkewise.
- * gimple-pretty-print.c (print_gimple_stmt): Likewise.
- (print_gimple_seq): Likewise.
- (gimple_dump_bb_buff): Likewise.
-
-2012-08-07 Uros Bizjak <ubizjak@gmail.com>
-
- PR debug/54177
- * var-tracking.c (var_lowpart): Exit early for matched modes.
-
-2012-08-07 Richard Henderson <rth@redhat.com>
-
- * config/s390/s390.c (s390_emit_compare_and_swap): Update for
- atomic_compare_and_swapsi_internal name change.
- (s390_expand_insv): Try RISBG last, not requiring operands in
- registers but forcing them there. Try a limited form of ICM.
- (s390_two_part_insv): New.
- (s390_expand_cs_hqi): Use it. Update for atomic optabs.
- * config/s390/s390.md (UNSPEC_MOVA): New.
- (TDSI): Remove mode iterator.
- (DGPR, DINT, TDI): New mode iterators.
- (td): New mode attribute.
- (mem_signal_fence): New.
- (mem_thread_fence): Rename from memory_barrier; update for model arg.
- (mem_thread_fence_1): Rename from *memory_barrier.
- (atomic_load<DINT>, atomic_store<DINT>): New expanders.
- (atomic_loaddi_1, atomic_loadti_1): New.
- (atomic_storedi_1, atomic_storeti_1): New.
- (sync_compare_and_swap<TDSI>, sync_compare_and_swap<HQI>): Remove.
- (atomic_compare_and_swap<DGPR>, atomic_compare_and_swap<HQI>): New.
- (atomic_compare_and_swap<DGPR>_internal): New.
- (*sync_compare_and_swap<DW>, *sync_compare_and_swap<GPR>): Remove.
- (*atomic_compare_and_swap<TDI>_1): New.
- (*atomic_compare_and_swapdi_2, *atomic_compare_and_swapsi_3): New.
- (sync_<ATOMIC_Z196><GPR>, sync_old_<ATOMIC_Z196><GPR>): Remove.
- (atomic_fetch_<ATOMIC_Z196><GPR>): New.
- (atomic_fetch_<ATOMC_Z196><GPR>_iaf): New.
- (sync_<ATOMIC><HQI>, sync_old_<ATOMIC><HQI>): Remove.
- (sync_new_<ATOMIC><HQI>): Remove.
- (atomic_<ATOMIC><HQI>, atomic_fetch_<ATOMIC><HQI>): New.
- (atomic_<ATOMIC>_fetch<HQI>): New.
- (sync_lock_test_and_set<HQI>): Remove.
- (atomic_exchange<HQI>): New.
-
-2012-08-07 Paul Brook <paul@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * except.c (switch_to_exception_section): Place tables for
- DECL_ONE_ONLY functions in comdat groups.
-
-2012-08-07 Richard Guenther <rguenther@suse.de>
-
- * tree-flow.h (copy_ssa_name_fn): New function.
- (duplicate_ssa_name_fn): Likewise.
- * tree-flow-inline.h (copy_ssa_name): New function.
- (duplicate_ssa_name): Likewise.
- * tree-ssanames.c (copy_ssa_name_fn): New function.
- (duplicate_ssa_name): Rename to ...
- (duplicate_ssa_name_fn): ... this and adjust.
- * tree-tailcall.c (update_accumulator_with_ops): Use copy_ssa_name.
- * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1):
- Likewise.
- (slpeel_update_phi_nodes_for_guard2): Likewise.
- (slpeel_tree_peel_loop_to_edge): Likewise.
- (vect_loop_versioning): Likewise.
- * tree-parloops.c (transform_to_exit_first_loop): Likewise.
- (create_parallel_loop): Likewise.
- * ipa-split.c (split_function): Likewise.
- * tree-vect-loop.c (vect_is_simple_reduction_1): Likewise.
- (vect_create_epilog_for_reduction): Likewise.
- * tree-vect-data-refs.c (bump_vector_ptr): Likewise.
- (vect_setup_realignment): Likewise.
- * tree-vect-stmts.c (vectorizable_load): Likewise.
- * tree-switch-conversion.c (build_one_array): Likewise.
- (gen_def_assigns): Likewise.
- * tree-cfg.c (gimple_make_forwarder_block): Likewise.
- * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Call
- create_zero_dim_array with the SSA name.
- (rewrite_phi_out_of_ssa): Likewise.
- (rewrite_cross_bb_scalar_dependence): Likewise. Use copy_ssa_name.
-
-2012-08-07 Richard Guenther <rguenther@suse.de>
-
- * tree-dfa.c (set_ssa_default_def): Clear the SSA_NAME_DEFAULT_DEF
- bit of the old name when we clear the slot.
- * tree-ssa-live.c (remove_unused_locals): Release any default
- def associated with an unused var.
- * tree-ssa-copy.c (may_propagate_copy_into_asm): Always return true.
-
-2012-08-07 Richard Guenther <rguenther@suse.de>
-
- * tree-into-ssa.c (rewrite_stmt): Remove clobbers for variables
- we rewrite into SSA form.
- (rewrite_enter_block): Adjust.
- * gimple-iterator.c (gsi_replace): Also allow replacement with
- a stmt without a lhs.
- * tree-ssa-live.c (remove_unused_locals): Remove code handling
- clobbers of SSA names.
- * tree-nested.c (convert_local_reference_stmt): Remove clobbers
- for variables we access through the local chain.
- * tree-cfg.c (verify_gimple_assign_single): Verify clobbers
- clobber full decls only.
-
-2012-08-07 Richard Guenther <rguenther@suse.de>
-
- * gimple.h (gimple_phi_set_result): Adjust SSA_NAME_DEF_STMT.
- * tree-phinodes.c (make_phi_node): Allow a NULL var.
- * tree-into-ssa.c (insert_phi_nodes_for): Simplify.
- * tree-complex.c (update_phi_components): Likewise.
- * tree-ssa-loop-manip.c (create_iv): Likewise.
- (add_exit_phis_edge): Likewise.
- (split_loop_exit_edge): Likewise.
- (tree_transform_and_unroll_loop): Likewise.
- * value-prof.c (gimple_ic): Likewise.
- (gimple_stringop_fixed_value): Likewise.
- * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
- * omp-low.c (expand_parallel_call): Likewise.
- (expand_omp_for_static_chunk): Likewise.
- (expand_omp_atomic_pipeline): Likewise.
- * tree-parloops.c (create_phi_for_local_result): Likewise.
- (transform_to_exit_first_loop): Likewise.
- * tree-vect-data-refs.c (vect_setup_realignment): Likewise.
- * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Likewise.
- * tree-predcom.c (initialize_root_vars): Likewise.
- (initialize_root_vars_lm): Likewise.
- * sese.c (sese_add_exit_phis_edge): Likewise.
- * gimple-streamer-in.c (input_phi): Likewise.
- * tree-inline.c (copy_phis_for_bb): Likewise.
- * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
- * tree-cfg.c (gimple_make_forwarder_block): Likewise.
- (gimple_duplicate_bb): Likewise.
-
-2012-08-07 Nick Clifton <nickc@redhat.com>
-
- * config/mn10300/mn10300.c (mn10300_expand_prologue): Report
- stack usage if requested.
-
-2012-08-06 Cary Coutant <ccoutant@google.com>
-
- * cgraphunit.c (assemble_thunk): Add source line info.
- * final.c (final): Check for non-null cfg pointer.
-
-2012-08-06 Sandra Loosemore <sandra@codesourcery.com>
- Maxim Kuvyrkov <maxim@codesourcery.com>
- Julian Brown <julian@codesourcery.com>
-
- * config/mips/24k.md (r24k_unknown_store): Delete special handling
- for cprestore.
- (r24k_int_load, r24k_int_arith, r24k_int_mul3, r24k_int_mfhilo)
- (r24k_int_cop, r24k_int_multi)
- (r24kf2_1_fcvt_f2i, r24kf2_1_fxfer)
- (r24kf1_1_fcvt_f2i, r24kf1_1_fxfer): Use mips_store_data_bypass_p
- instead of store_data_bypass_p.
- * config/mips/74k.md (r74k_int_store): Delete special handling for
- cprestore.
- (r74k_int_load, r74k_int_logical, r74k_int_arith, r74k_int_cmove):
- Use mips_store_data_bypass_p instead of store_data_bypass_p.
-
-2012-08-06 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/51938
- PR tree-optimization/52005
- * tree-ssa-ifcombine.c (ifcombine_ifandif): New parameters for
- inverted conditions.
- (ifcombine_iforif): Remove, merge code into ifcombine_ifandif.
- (tree_ssa_ifcombine_bb): Update calls to the above. Detect !a&&b
- and !a||b patterns.
-
-2012-08-06 Olivier Hainque <hainque@adacore.com>
-
- * tree-emutls.c (new_emutls_decl): When a var_section is requested by
- the target, attach the new decl to that, not to the template section.
-
-2012-08-06 Tom de Vries <tom@codesourcery.com>
-
- * tree-switch-conversion.c (emit_case_bit_tests): Generate MINUS_EXPR in
- unsigned type.
-
-2012-08-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * doc/invoke.texi: Document AMD btver2.
- * doc/extend.texi: Document AMD btver1 and btver2.
-
-2012-08-04 Sandra Loosemore <sandra@codesourcery.com>
- Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_option_override): Check -fpic
- for compatibility with -mabicalls and ABI.
-
-2012-08-04 Catherine Moore <clm@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * config/mips/xlr.md (ir_xlr_alu_clz): New insn_reservation.
- (ir_xlr_alu): Remove clz.
- * config/mips/mips-cpus.def (xlr): Set PTF_AVOID_BRANCHLIKELY.
-
-2012-08-04 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.c (arm_gen_constant): Use SImode when preparing operands for
- gen_extzv_t2.
-
-2012-08-04 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (QI_REGNO_P): New define.
- (ANY_QI_REGNO_P): Ditto.
- (GENERAL_REGNO_P): Use IN_RANGE macro.
- (QI_REG_P): Use QI_REGNO_P.
- (ANY_QI_REG_P): Use GENERAL_REGNO_P and QI_REGNO_P.
- (HARD_REGNO_CALLER_SAVE_MODE): Use QI_REGNO_P.
- * config/i386/i386.c (ix86_hard_regno_mode_ok): Ditto.
- (x86_extended_QIreg_mentioned_p): Ditto. Also check if
- register is a general register.
-
-2012-08-03 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sync.md (*atomic_fetch_add_cmp<mode>): Use
- incdec_operand predicate to return INC or DEC insn mnemonic.
- Add %K operand modifier.
- (atomic_add<mode>): Use incdec_operand predicate to
- return INC or DEC insn mnemonic.
- (atomic_dec<mode>): Ditto.
-
-2012-08-03 Michael Matz <matz@suse.de>
-
- PR tree-optimization/54146
- * cfgexpand.c (add_scope_conflicts_1): Use bitmap_ior_into.
- (add_scope_conflicts): Iterate in RPO order.
- (add_stack_protection_conflicts): Iterate over the other triangle.
- (fini_vars_expansion): Clear stack_vars_sorted.
-
-2012-08-03 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/30318
- * double-int.c (mul_double_wide_with_sign): New function.
- (mul_double_with_sign): Call the new function.
- * double-int.h (mul_double_wide_with_sign): Declare the new function.
- * tree-vrp.c (extract_range_from_binary_expr_1) [MULT_EXPR]:
- Handle integer types that wrap on overflow.
- (quad_int_cmp): New helper function.
- (quad_int_pair_sort): Likewise.
-
-2012-08-03 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-loop-manip.c (vect_can_advance_ivs_p): Query
- is_gimple_reg on the SSA name, not its variable.
- (vect_update_ivs_after_vectorizer): Likewise.
- * tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
- * tree-if-conv.c (if_convertible_phi_p): Likewise.
- (predicate_scalar_phi): Likewise.
- * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Likewise.
- (vect_analyze_scalar_cycles_1): Likewise.
- * tree-ssa-live.c (register_ssa_partition_check): Likewise.
- * tree-outof-ssa.c (eliminate_useless_phis): Likewise.
- * tree-ssa-reassoc.c (phi_rank): Likewise.
- * tree-parloops.c (separate_decls_in_region_name): Use
- replace_ssa_name_symbol.
- * tree-predcom.c (base_names_in_chain_on): Likewise.
- * matrix-reorg.c (update_type_size): Query the type of the SSA name,
- not its variable.
- * gimple-ssa-strength-reduction.c (create_mul_ssa_cand): Likewise.
- (create_mul_imm_cand): Likewise.
- (create_add_ssa_cand): Likewise.
- (create_add_imm_cand): Likewise.
- (slsr_process_add): Likewise.
- * tree-inline.c (remap_ssa_name): Do not set the type of the
- new SSA_NAME.
- * tree-ssa-structalias.c (get_constraint_for_ssa_var): Clarify assert.
- Check for default def first.
-
-2012-08-04 Steven Bosscher <steven@gcc.gnu.org>
-
- * cfgrtl.c (print_rtl_with_bb): Do not print a newline between insns.
-
- * sched-vis.c (print_pattern): Handle SEQUENCE also.
-
-2012-08-02 Richard Henderson <rth@redhat.com>
-
- Revert:
- PR 34548
- * function.h (struct rtl_data): Add max_dynamic_stack_alignment.
- * cfgexpand.c (gimple_expand_cfg): Initialise it.
- * explow.c (allocate_dynamic_stack_space): Set it. Simplify
- alignment requirements given the known alignment of dynamic_offset.
- * function.c (instantiate_virtual_regs): Align dtnamic_offset.
-
-2012-08-02 Kenneth Zadeck <zadeck@naturalbridge.com>
-
- * cfgexpand.c (expand_debug_locations): Encapsulate test for
- CONST_DOUBLE in macro.
- * combine.c (try_combine, gen_lowpart_for_combine): Ditto.
- * cprop.c (implicit_set_cond_p): Ditto.
- * cselib.c (rtx_equal_for_cselib_1): Ditto.
- * expmed.c (expand_mult): Ditto.
- * expr.c (convert_modes): Ditto.
- * ira-costs.c (record_reg_classes): Ditto.
- * ira-lives.c (single_reg_class): Ditto.
- * optabs.c (expand_copysign_absneg, expand_copysign): Ditto.
- * print-rtl.c (print_rtx): Ditto.
- * recog.c (simplify_while_replacing, const_double_operand)
- (asm_operand_ok, constrain_operands): Ditto.
- * reg-stack.c (subst_stack_regs_pat): Ditto.
- * reload.c (find_reloads, find_equiv_reg): Ditto.
- * rtlanal.c (replace_rtx): Remove test.
- * rtlanal.c (constant_pool_constant_p, split_double): Encapsulate
- test for CONST_DOUBLE in macro.
- * simplify-rtx.c (mode_signbit_p, avoid_constant_pool_reference)
- (simplify_unary_operation_1, simplify_const_unary_operation)
- (simplify_binary_operation_1, simplify_const_binary_operation)
- (simplify_relational_operation_1)
- (simplify_const_relational_operations)
- (implify_subreg): Ditto.
- * varasm.c (output_constant_pool_2): Ditto.
- * rtl.h (CONST_DOUBLE_AS_INT_P, CONST_DOUBLE_AS_FLOAT_P): New macros.
- * rtl.def (CONST_DOUBLE): Updated comments.
-
-2012-08-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/51931
- * config/mips/mips-protos.h (mips_strip_unspec_address): Declare.
- * config/mips/mips.c (mips_strip_unspec_address): Make extern.
- (mips16_rewrite_pool_constant): Make a copy of the pool constant
- before adding to a PC-relative table.
- (mips16_lay_out_constants): Add a SPLIT_P parameter.
- (mips16_load_branch_target, mips16_split_long_branches): New functions.
- (mips_reorg): Update call to mips16_lay_out_constants.
- Call mips16_split_long_branches.
- * config/mips/predicates.md (pc_or_label_operand): Delete.
- * config/mips/mips.md (length): Add a calculation for MIPS16 branches.
- Move the extended_mips16 handling further down.
- (*branch_equality<mode>_mips16): Replace use pc_or_label_operand
- with explicit label_ref and pc. Follow the usual operand numbering.
- (*branch_equality<mode>_mips16_inverted): New pattern.
- (*jump_mips16): Add length attribute.
- (indirect_jump_and_restore_<mode>): New pattern.
- (consttable_int): Call mips_strip_unspec_address on the operand.
-
-2012-08-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * recog.c (split_insn): Copy the original SET_SRC before using
- it as a note.
-
-2012-08-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * reorg.c (dbr_schedule): Delete REG_BR_PRED loop.
-
-2012-08-02 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/53805
- * fold-const.c (invert_tree_comparison): Invert ORDERED_EXPR and
- UNORDERED_EXPR even for trapping floating point.
-
-2012-08-02 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/53321
- PR middle-end/53865
- * ipa-inline-analysis.c (inline_free_summary): Return if
- inline_edge_summary_vec is NULL.
- * ipa-split.c (execute_split_functions): Check if a function
- is inlinable only if inline_edge_summary_vec != NULL.
- * ipa.c (symtab_remove_unreachable_nodes): Restore
- cgraph_propagate_frequency call when something was changed.
- (free_inline_summary): New function.
- (pass_ipa_free_inline_summary): New pass.
- * passes.c (init_optimization_passes): Add
- pass_ipa_free_inline_summary before pass_ipa_tree_profile.
- * timevar.def (TV_IPA_FREE_INLINE_SUMMARY): New.
- * tree-pass.h (pass_ipa_free_inline_summary): New.
-
-2012-08-02 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.c (arm_gen_constant): Use UBFX for some AND operations when
- available.
-
-2012-08-02 Richard Guenther <rguenther@suse.de>
-
- * tree-into-ssa.c (struct common_info_d): New struct.
- (struct var_info_d, struct ssa_name_info): Use it.
- (get_ssa_name_ann): Adjust.
- (get_phi_state, set_phi_state): Remove.
- (get_common_info): New function.
- (get_current_def, set_current_def): Adjust.
- (get_def_blocks_for): Take a common info as param.
- (set_def_block): Call get_common_info once.
- (set_livein_block): Likewise.
- (find_def_blocks_for): Adjust.
- (insert_phi_nodes): Likewise.
- (register_new_def): Call get_common_info once.
- (get_reaching_def): Likewise.
- (rewrite_debug_stmt_uses): Likewise.
- (rewrite_leave_block): Likewise.
- (dump_currdefs): Likewise.
- (debug_var_infos_r): Adjust.
- (register_new_update_single): Call get_common_info once.
- (maybe_replace_use_in_debug_stmt): Likewise.
- (rewrite_update_leave_block): Likewise.
- (mark_use_interesting): Adjust.
- (create_new_def_for): Likewise.
- (update_ssa): Likewise.
-
-2012-08-02 Michael Matz <matz@suse.de>
-
- * tree-ssa-live.c (set_is_used): Return a bool.
- (mark_all_vars_used): Don't take data argument.
- (mark_all_vars_used_1): Adjust calls to above, merge handling
- of local and global vars.
- (remove_unused_scope_block_p): Don't take global_unused_vars,
- merge handling of local and global vars.
- (remove_unused_locals): Don't allocate/fill/pass global_unused_vars,
- use is_used_p for local and global vars.
-
-2012-08-02 Richard Guenther <rguenther@suse.de>
-
- * tree-flow.h (make_rename_temp): Remove.
- * tree-dfa.c (make_rename_temp): Likewise.
- * cgraphunit.c (thunk_adjust, assemble_thunk): Use create_tmp_reg
- instead of make_rename_temp.
- * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
- expand_omp_atomic_pipeline): Likewise.
- * trans-mem.c (tm_log_emit_save_or_restores, build_tm_load,
- build_tm_store, expand_call_tm, expand_transaction,
- ipa_tm_insert_gettmclone_call): Likewise.
- * tree-complex.c (expand_complex_div_wide): Likewise.
- * tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for):
- Likewise.
- * tree-ssa-loop-im.c (execute_sm_if_changed_flag_set, execute_sm):
- Likewise.
- * tree-ssa-math-opts.c (insert_reciprocals): Likewise.
- * value-prof.c (gimple_divmod_fixed_value, gimple_mod_pow2,
- gimple_mod_subtract): Likewise.
-
-2012-08-02 Richard Guenther <rguenther@suse.de>
-
- * tree-flow.h (set_default_def): Rename to ...
- (set_ssa_default_def): ... this. Take a struct function argument.
- (gimple_default_def): Rename to ...
- (ssa_default_def): ... this.
- (get_or_create_ssa_default_def): New function.
- * tree-dfa.c: Likewise.
- (dump_variable): Adjust.
- * ipa-prop.c (ipa_analyze_params_uses): Adjust, properly check
- for used parameters.
- * ipa-split.c (consider_split): Adjust, avoid repeated default-def
- lookups.
- (split_function): Likewise.
- * lto-streamer-in.c (input_ssa_names): Adjust.
- * omp-low.c (expand_omp_taskreg): Likewise.
- * tree-cfg.c (replace_ssa_name): Adjust, no need to push/pop cfun.
- * tree-complex.c (init_parameter_lattice_values): Adjust.
- (get_component_ssa_name): Likewise.
- (update_parameter_components): Likewise.
- * tree-inline.c (remap_ssa_name): Likewise.
- (setup_one_parameter): Likewise.
- (initialize_inlined_parameters): Likewise.
- (declare_return_variable): Likewise.
- (expand_call_inline): Likewise.
- (tree_function_versioning): Likewise.
- * tree-into-ssa.c (get_default_def_for): Remove.
- (get_reaching_def): Use get_or_create_ssa_default_def instead.
- * tree-predcom.c (replace_ref_with): Adjust.
- * tree-sra.c (get_repl_default_def_ssa_name): Likewise.
- (is_unused_scalar_param): Likewise.
- (ptr_parm_has_direct_uses): Likewise.
- (sra_ipa_reset_debug_stmts): Likewise.
- * tree-ssa-coalesce.c (create_outofssa_var_map): Adjust.
- * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
- * tree-ssa-live.c (verify_live_on_entry): Likewise.
- * tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise,
- avoid repeated default def lookups.
- * tree-ssa-sccvn.c (run_scc_vn): Likewise.
- * tree-tailcall.c (arg_needs_copy_p): Adjust.
- (tree_optimize_tail_calls_1): Likewise.
-
-2012-08-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50672
- Revert
- 2012-08-01 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-tail-merge.c (release_last_vdef): Remove.
- (replace_block_by): Adjust.
-
-2012-08-02 Richard Guenther <rguenther@suse.de>
-
- * tree-dfa.c (referenced_var_lookup): Remove.
- (find_referenced_vars): Remove.
- (pass_referenced_vars): Likewise.
- (make_rename_temp): Do not add referenced vars.
- (dump_referenced_vars): Remove.
- (debug_referenced_vars): Likewise.
- (dump_dfa_stats): Do not dump referenced var stats.
- (find_vars_r): Remove.
- (find_referenced_vars_in): Likewise.
- (referenced_var_check_and_insert): Likewise.
- (add_referenced_var_1): Likewise.
- (remove_referenced_var): Likewise.
- * tree-flow.h (referenced_var_lookup): Likewise.
- (struct gimple_df): Remove referenced_vars member.
- (typedef referenced_var_iterator): Remove.
- (FOR_EACH_REFERENCED_VAR): Likewise.
- (num_referenced_vars): Likewise.
- (debug_referenced_vars, dump_referenced_vars): Likewise.
- (add_referenced_var_1, add_referenced_var): Likewise.
- (remove_referenced_var): Likewise.
- (find_referenced_vars_in): Likewise.
- * tree-flow-inline.h (gimple_referenced_vars): Remove.
- (first_referenced_var): Likewise.
- (end_referenced_vars_p): Likewise.
- (next_referenced_var): Likewise.
- * cfgexpand.c (update_alias_info_with_stack_vars): Remove assert.
- * gimple-pretty-print.c (pp_points_to_solution): Dump UIDs
- unconditionally.
- * tree-into-ssa.c (dump_decl_set): Likewise.
- (pass_build_ssa): Do not require PROP_referenced_vars.
- * tree-ssa.c (target_for_debug_bind): Virtual operands are
- not suitable, but all register type vars are.
- (init_tree_ssa): Do not allocate referenced vars.
- (delete_tree_ssa): Do not free referenced vars.
- * cgraphunit.c (init_lowered_empty_function): Do not set
- PROP_referenced_vars.
- (assemble_thunk): Do not add referenced vars.
- * gimple-fold.c (canonicalize_constructor_val): Likewise.
- (gimplify_and_update_call_from_tree): Likewise.
- * gimple-streamer-in.c (input_bb): Likewise.
- * passes.c (init_optimization_passes): Do not run
- pass_referenced_vars.
- (dump_properties): Do not dump PROP_referenced_vars.
- * tree-inline.c (remap_decl): Do not add referenced vars.
- (remap_gimple_op_r): Likewise.
- (copy_tree_body_r): Likewise.
- (copy_bb): Likewise.
- (setup_one_parameter): Likewise.
- (declare_return_variable): Likewise.
- (copy_decl_for_dup_finish): Likewise.
- (copy_arguments_for_versioning): Likewise.
- (tree_function_versioning): Likewise.
- * tree-pass.h (PROP_referenced_vars): Remove.
- (pass_referenced_vars): Likewise.
- * tree-profile.c (gimple_gen_edge_profiler): Do not add
- referenced vars.
- (gimple_gen_interval_profiler): Likewise.
- (gimple_gen_pow2_profiler): Likewise.
- (gimple_gen_one_value_profiler): Likewise.
- (gimple_gen_ic_profiler): Likewise.
- (gimple_gen_average_profiler): Likewise.
- (gimple_gen_ior_profiler): Likewise.
- * tree-ssa-live.c (remove_unused_locals): Do not touch referenced vars.
- * tree-cfg.c (replace_ssa_name): Do not add referenced vars.
- (move_stmt_op): Likewise.
- * tree-ssa-operands.c (create_vop_var): Likewise.
- * gimple-low.c (record_vars_into): Likewise.
- * gimplify.c (gimple_regimplify_operands): Likewise.
- (force_gimple_operand_1): Likewise.
- * omp-low.c (expand_omp_for_generic): Likewise.
- (expand_omp_for_static_chunk): Likewise.
- (expand_omp_atomic_pipeline): Likewise.
- * graphite-clast-to-gimple.c (graphite_create_new_loop): Likewise.
- (translate_clast_assignment): Likewise.
- * graphite-sese-to-poly.c (create_zero_dim_array): Likewise.
- (handle_scalar_deps_crossing_scop_limits): Likewise.
- * ipa-prop.c (ipa_modify_formal_parameters): Likewise.
- * ipa-split.c (split_function): Likewise.
- * matrix-reorg.c (transform_access_sites): Likewise.
- * trans-mem.c (tm_log_add): Likewise.
- (ipa_tm_insert_gettmclone_call): Likewise.
- * tree-complex.c (create_one_component_var): Likewise.
- * tree-if-conv.c (ifc_temp_var): Likewise.
- * tree-parloops.c (take_address_of): Likewise.
- (initialize_reductions): Likewise.
- (separate_decls_in_region_name): Likewise.
- (create_call_for_reduction_1): Likewise.
- (separate_decls_in_region): Likewise.
- * tree-predcom.c (predcom_tmp_var): Likewise.
- (reassociate_to_the_same_stmt): Likewise.
- * tree-sra.c (build_ref_for_offset): Likewise.
- (create_access_replacement): Likewise.
- (get_replaced_param_substitute): Likewise.
- (sra_ipa_reset_debug_stmts): Likewise.
- * tree-ssa-loop-im.c (rewrite_reciprocal): Likewise.
- (rewrite_bittest): Likewise.
- * tree-ssa-loop-ivopts.c (create_new_iv): Likewise.
- * tree-ssa-loop-manip.c (create_iv): Likewise.
- (tree_transform_and_unroll_loop): Likewise.
- * tree-ssa-math-opts.c (powi_as_mults): Likewise.
- (build_and_insert_call): Likewise.
- (gimple_expand_builtin_cabs): Likewise.
- (execute_optimize_bswap): Likewise.
- * tree-ssa-phiopt.c (conditional_replacement): Likewise.
- (abs_replacement): Likewise.
- (cond_store_replacement): Likewise.
- (cond_if_else_store_replacement_1): Likewise.
- * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
- * tree-ssa-pre.c (get_representative_for): Likewise.
- (create_expression_by_pieces): Likewise.
- (insert_into_preds_of_block): Likewise.
- * tree-ssa-propagate.c (update_call_from_tree): Likewise.
- * tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
- (eliminate_redundant_comparison): Likewise.
- (rewrite_expr_tree_parallel): Likewise.
- (get_reassoc_pow_ssa_name): Likewise.
- * tree-ssa-strlen.c (get_string_length): Likewise.
- * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
- (build_arrays): Likewise.
- * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
- (create_tailcall_accumulator): Likewise.
- * tree-vect-data-refs.c (vect_get_new_vect_var): Likewise.
- (vect_create_addr_base_for_vector_ref): Likewise.
- (vect_permute_store_chain): Likewise.
- (vect_permute_load_chain): Likewise.
- * tree-vect-generic.c (expand_vector_divmod): Likewise.
- * tree-vect-loop-manip.c (set_prologue_iterations): Likewise.
- (vect_build_loop_niters): Likewise.
- (vect_generate_tmps_on_preheader): Likewise.
- (vect_update_ivs_after_vectorizer): Likewise.
- (vect_gen_niters_for_prolog_loop): Likewise.
- (vect_do_peeling_for_alignment): Likewise.
- (vect_create_cond_for_align_checks): Likewise.
- * tree-vect-patterns.c (vect_recog_temp_ssa_var): Likewise.
- (vect_handle_widen_op_by_const): Likewise.
- (vect_operation_fits_smaller_type): Likewise.
- (vect_recog_over_widening_pattern): Likewise.
- * tree-vect-stmts.c (vect_init_vector): Likewise.
-
-2012-08-01 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/52983
- * valtrack.c (dead_debug_insert_temp): Use cleanup_auto_inc_dec.
-
-2012-08-01 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/52983
- * valtrack.c (cleanup_auto_inc_dec): Implement unconditionally,
- falling back to copy_rtx on non-autoinc machines.
- (propagate_for_debug_subst): Always use cleanup_auto_inc_dec.
-
-2012-08-01 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/52983
- * valtrack.h, valtrack.c: New.
- * Makefile.in (VALTRACK_H): New.
- (OBJS): Add valtrack.o.
- (valtrack.o): New.
- (cselib.o, dce.o, df-problems.o, combine.o): Add VALTRACK_H.
- * combine.c: Include valtrack.h.
- (make_compound_operation): Publish.
- (cleanup_auto_inc_dec): Move to valtrack.c.
- (struct rtx_subst_pair, propagate_for_debug_subst): Likewise.
- (propagate_for_debug): Likewise. Add this_basic_block parameter.
- Adjust all callers.
- * cselib.c: Include valtrack.h.
- * dce.c: Likewise.
- * df-problems.c: Likewise.
- (dead_debug_init, dead_debug_reset_uses): Move to valtrack.c.
- (dead_debug_finish, dead_debug_add): Likewise.
- (dead_debug_insert_temp): Likewise.
- * df.h (struct dead_debug_use): Move to valtrack.h.
- (struct dead_debug, enum debug_temp_where): Likewise.
- (dead_debug_init, dead_debug_reset_uses): Move to valtrack.h.
- (dead_debug_finish, dead_debug_add): Likewise.
- (dead_debug_insert_temp): Likewise.
- * rtl.h (make_compound_operation): Declare.
-
-2012-08-01 Catherine Moore <clm@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * config/mips/mips-cpus.def (34kn): New.
- * config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): Add 34kn.
- (BASE_DRIVER_SELF_SPECS): Do not imply -mdsp for the 34kn.
- * config/mips/mips-tables.opt: Regenerate.
- * doc/invoke.texi (MIPS Options): Document -march=34kn.
-
-2012-08-01 Richard Henderson <rth@redhat.com>
-
- * expmed.h (NUM_MODE_PARTIAL_INT): New.
- (NUM_MODE_VECTOR_INT, NUM_MODE_IP_INT, NUM_MODE_IPV_INT): New.
- (struct expmed_op_cheap): Size one array on NUM_MODE_IPV_INT.
- (struct expmed_op_costs): Likewise.
- (struct target_expmed): Size x_convert_cost on NUM_MODE_IP_INT.
- (expmed_mode_index): New.
- (expmed_op_cheap_ptr, expmed_op_cost_ptr): Use expmed_mode_index.
- (convert_cost_ptr): Likewise.
- * expmed.c (struct init_expmed_rtl): Rename convert to trunc.
- (init_expmed_one_conv): Split out from ...
- (init_expmed_one_mode): ... here. Iterate conversions over
- partial integer modes too.
- (init_expmed): Iterate over partial integer modes too.
-
-2012-08-01 Richard Henderson <rth@redhat.com>
-
- * config/m32c/m32c.c (TARGET_INIT_LIBFUNCS): Remove.
- (m32c_init_libfuncs): Remove.
- * config/m32c/cond.md (cstore<QHPSI>4_16): Rename from cstore<QHPSI>4.
- (cstore<QHPSI>4): New expander.
-
-2012-08-01 Richard Guenther <rguenther@suse.de>
-
- * tree-flow-inline.h (referenced_var): Remove.
- * tree-ssa-coalesce.c (create_outofssa_var_map): Remove duplicate
- checking code.
- * tree-sra.c (candidates): New global hashtable.
- (candidate): New function.
- (sra_initialize): Initialize candidates.
- (sra_deinitialize): Free candidates.
- (disqualify_candidate): Remove candidate from candidates.
- (maybe_add_sra_candidate): New function.
- (find_var_candidates): Walk over all local decls and parameters,
- add candidates to candidates hashtable.
- (find_param_candidates): Add candidates to candidates hashtable.
- (analyze_all_variable_accesses): Use candidate instead of
- referenced_var.
-
-2012-08-01 Tom de Vries <tom@codesourcery.com>
-
- * tree-vrp.c (find_case_label_ranges): New function.
- (vrp_visit_switch_stmt, simplify_switch_using_ranges): Use
- find_case_label_ranges instead of find_case_label_range. Handle second
- range.
-
-2012-08-01 Michael Matz <matz@suse.de>
-
- * tree-complex.c (init_parameter_lattice_values): Don't call var_ann.
- * tree-dfa.c (struct dfa_stats_d): Remove num_var_anns member.
- (dump_dfa_stats): Don't dump stats about var anns.
- (collect_dfa_stats): Don't collect them.
- (add_referenced_var_1): Don't set var annotation pointers.
- (remove_referenced_var): Ditto, and only remove it it's in the
- hash table.
-
- * tree-flow-inline.h (var_ann): Remove.
- * tree-flow.h (struct var_ann_d, var_ann_t): Remove.
-
- * tree-inline.c (remapped_type): Remove.
- (can_be_nonlocal): Most variable will be considered live here,
- return false earlier.
- (remap_decls): Don't call var_ann, all variables will be considered
- referenced here.
- (copy_debug_stmt): Ditto, and use is_global_var.
-
- * tree-into-ssa.c (rewrite_debug_stmt_uses): Use get_current_def to
- determine if a variable was referred to, not var_ann.
- * tree-ssa-live.c (remove_unused_scope_block_p): Don't check var_ann.
- (remove_unused_locals): Ditto.
- * tree-ssa.c (delete_tree_ssa): Don't free/clear var ann pointers.
- * tree-tailcall.c (arg_needs_copy_p): Don't check var_ann.
- * tree.c (copy_node_stat): Don't clear var ann pointer.
- * tree.h (tree_result_decl, tree_parm_decl, tree_var_decl): Remove
- ann member.
- (DECL_VAR_ANN_PTR): Remove.
-
-2012-08-01 Michael Matz <matz@suse.de>
-
- * tree-flow.h (struct var_ann_d): Rename used member.
- (set_is_used): Don't declare.
- * tree-flow-inline.h (clear_is_used): Remove.
- (set_is_used, is_used_p): Move to ...
- * tree-ssa-live.c (set_is_used, is_used_p): ... here, and use
- on the side bitmap.
- (usedvars): New bitmap.
- (dump_scope_block): Don't dump unusedness.
- (remove_unused_locals): Allocate and free usedvars.
- * tree-nrv.c (tree_nrv): Don't clear used flags here.
-
-2012-08-01 Michael Matz <matz@suse.de>
-
- * tree-flow.h (struct var_ann_d): Remove base_var_processed and
- base_index members.
- * tree-ssa-live.h (struct _var_map): Remove basevars member.
- (VAR_ANN_BASE_INDEX): Remove.
- * tree-ssa-live.c (var_map_base_init): Use a hash table instead
- of var annotation to compress index space. Don't deal with above
- removed members.
- (var_map_base_fini): Don't free basevars.
- (init_var_map): Don't clear basevars.
-
-2012-08-01 Bill Schmidt <wschmidt@linux.ibm.com>
-
- * gimple-ssa-strength-reduction.c (struct slsr_cand_d): Change
- base_name to base_expr.
- (struct cand_chain_d): Likewise.
- (base_cand_hash): Likewise.
- (base_cand_eq): Likewise.
- (record_potential_basis): Likewise.
- (alloc_cand_and_find_basis): Likewise.
- (create_mul_ssa_cand): Likewise.
- (create_mul_imm_cand): Likewise.
- (create_add_ssa_cand): Likewise.
- (create_add_imm_cand): Likewise.
- (slsr_process_cast): Likewise.
- (slsr_process_copy): Likewise.
- (dump_candidate): Likewise.
- (base_cand_dump_callback): Likewise.
- (unconditional_cands_with_known_stride_p): Likewise.
- (cand_increment): Likewise.
-
-2012-08-01 Bill Schmidt <wschmidt@linux.ibm.com>
-
- PR tree-optimization/46556
- * gimple-ssa-strength-reduction.c (enum cand_kind): Add CAND_REF.
- (base_cand_map): Change to hash table.
- (base_cand_hash): New function.
- (base_cand_free): Likewise.
- (base_cand_eq): Likewise.
- (lookup_cand): Change base_cand_map to hash table.
- (find_basis_for_candidate): Likewise.
- (base_cand_from_table): Exclude CAND_REF.
- (restructure_reference): New function.
- (slsr_process_ref): Likewise.
- (find_candidates_in_block): Call slsr_process_ref.
- (dump_candidate): Handle CAND_REF.
- (base_cand_dump_callback): New function.
- (dump_cand_chains): Change base_cand_map to hash table.
- (replace_ref): New function.
- (replace_refs): Likewise.
- (analyze_candidates_and_replace): Call replace_refs.
- (execute_strength_reduction): Change base_cand_map to hash table.
-
-2012-08-01 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_address_subreg_operand): Reject
- stack pointer.
- (ix86_print_operand_address): Assert that parts.base and parts.index
- are non-NULL after call to simplify_subreg.
-
-2012-08-01 Richard Guenther <rguenther@suse.de>
-
- * doc/tree-ssa.texi: Remove pieces mentioning mark_sym_for_renaming.
-
-2012-08-01 Richard Guenther <rguenther@suse.de>
-
- * graphite-clast-to-gimple.c (translate_clast_user): Rename
- virtual operands.
- * sese.c (graphite_copy_stmts_from_block): Do not rename virtual
- operands here.
- * tree-call-cdce.c (tree_call_cdce): Use
- mark_virtual_operands_for_renaming.
- * tree-eh.c (sink_clobbers): Simplify.
- * tree-flow.h (mark_sym_for_renaming): Remove.
- (mark_virtual_operands_for_renaming): New function.
- * tree-if-conv.c (tree_if_conversion): Use
- mark_virtual_operands_for_renaming.
- * tree-inline.c (update_ssa_across_abnormal_edges): Likewise.
- * tree-into-ssa.c (mark_sym_for_renaming): Remove.
- (mark_virtual_operands_for_renaming): New function.
- * tree-loop-distribution.c (tree_loop_distribution): Use
- mark_virtual_operands_for_renaming.
- * tree-ssa-dce.c (mark_virtual_operand_for_renaming): Do not
- update stmts, use mark_virtual_operands_for_renaming.
- * tree-ssa-tail-merge.c (release_last_vdef): Remove.
- (replace_block_by): Adjust.
- (tail_merge_optimize): Use mark_virtual_operands_for_renaming.
- * tree-tailcall.c (tree_optimize_tail_calls_1): Use
- mark_virtual_operands_for_renaming.
- * tree-vect-slp.c (vect_slp_transform_bb): Likewise.
- * tree-vectorizer.c (vectorize_loops): Likewise.
-
-2012-08-01 Richard Guenther <rguenther@suse.de>
-
- * tree-flow.h (struct gimple_df): Remove syms_to_rename member,
- add ssa_renaming_needed and rename_vops flags.
- (SYMS_TO_RENAME): Remove.
- (symbol_marked_for_renaming): Likewise.
- (mark_virtual_ops_for_renaming): Likewise.
- * tree-into-ssa.c (symbols_to_rename_set, symbols_to_rename):
- New globals.
- (mark_for_renaming, marked_for_renaming): New functions.
- (symbol_marked_for_renaming): Remove.
- (dump_currdefs): Adjust.
- (maybe_replace_use): Likewise.
- (maybe_replace_use_in_debug_stmt): Likewise.
- (maybe_register_def): Likewise.
- (rewrite_update_phi_arguments): Likewise.
- (rewrite_update_enter_block): Likewise.
- (fini_ssa_renamer): Clear update SSA status here ...
- (delete_update_ssa): ... not here. Free rename set.
- (prepare_block_for_update): Compute which decls need renaming.
- (dump_update_ssa): Adjust.
- (mark_sym_for_renaming): Adjust update SSA status for virtuals.
- (need_ssa_update_p): Adjust.
- (insert_updated_phi_nodes_for): Likewise.
- (update_ssa): Likewise.
- * tree-ssa-operands.c (finalize_ssa_defs): Adjust update SSA status
- for virtual and real operands.
- (finalize_ssa_uses): Likewise.
- * tree-ssanames.c (init_ssanames): Adjust.
- * tree-ssa.c (maybe_rewrite_mem_ref_base, maybe_optimize_var,
- execute_update_addresses_taken): Add bitmap to keep track of which
- candidates are suitable for rewriting and later renaming by SSA update.
- * matrix-reorg.c (transform_access_sites): Do not rename all defs.
- * tree-dfa.c (make_rename_temp): Do not mark real operands for
- renaming.
- * cgraphunit.c (assemble_thunk): Likewise.
- * gimplify.c (gimple_regimplify_operands): Likewise.
- (force_gimple_operand_1): Likewise.
- * ipa-prop.c (ipa_modify_formal_parameters): Likewise.
- * tree-inline.c (declare_return_variable): Likewise.
- * tree-parloops.c (separate_decls_in_region_stmt): Do not call
- mark_virtual_ops_for_renaming.
- (create_stores_for_reduction): Likewise.
- (create_loads_and_stores_for_name): Likewise.
- * tree-predcom.c (mark_virtual_ops_for_renaming): Remove.
- (initialize_root_vars_lm): Do not call mark_virtual_ops_for_renaming.
- (execute_load_motion): Likewise.
- (remove_stmt): Likewise.
- (execute_pred_commoning_chain): Likewise.
- * tree-sra.c (create_access_replacement): Do not rename real operands.
- (get_unrenamed_access_replacement): Unify with ...
- (get_access_replacement): ... this.
- (get_repl_default_def_ssa_name): Adjust.
- * tree-ssa-loop-im.c (move_computations_stmt): Manually update
- virtual SSA form.
- (rewrite_mem_ref_loc): Do not call mark_virtual_ops_for_renaming.
- * tree-ssa-loop-prefetch.c (emit_mfence_after_loop): Likewise.
-
-2012-07-31 DJ Delorie <dj@redhat.com>
-
- * config/s390/s390.c (s390_option_override): Disable DWARF 3/4
- extensions for TPF, unless specifically selected.
-
-2012-08-01 Alan Modra <amodra@gmail.com>
-
- PR target/54131
- * config/rs6000/rs6000.c (mem_operand_gpr): Don't limit range
- of lo_sum offsets. Comment. Assert mode at least word size
- rather than bypassing powerpc64 word offset check.
-
-2012-07-31 Bill Schmidt <wschmidt@linux.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
- costs for vec_perm and vec_promote_demote down to more natural values.
- (struct _rs6000_cost_data): New data structure.
- (rs6000_density_test): New function.
- (rs6000_init_cost): Change to use rs6000_cost_data.
- (rs6000_add_stmt_cost): Likewise.
- (rs6000_finish_cost): Perform density test when vectorizing a loop.
-
-2012-07-31 Steven Bosscher <steven@gcc.gnu.org>
-
- * sched-vis.c (print_exp): Handle FMA explicitly. Simplify handling
- of RTX_UNARY function-like operations. Print unknown expression
- RTX classes as pseudo-functions.
- (print_pattern): Simplify return pattern printing.
- (dump_insn_slim): Print the value of notes as a pattern for proper
- printing of CFA notes.
-
-2012-07-31 Dehao Chen <dehao@google.com>
-
- * predict.c (tree_estimate_probability_driver): Normalize the
- loop when initializing the loop optimizer.
-
-2012-07-31 Richard Guenther <rguenther@suse.de>
-
- * tree-flow.h (struct var_ann_d): Remove need_phi_state
- and current_def members.
- * tree-into-ssa.c (struct def_blocks_d): Remove var member.
- (def_blocks): Remove.
- (struct var_info_d): New.
- (var_infos): New hashtable.
- (struct ssa_name_info): Add def_blocks member.
- (get_ssa_name_ann): Adjust.
- (get_var_info): New function.
- (get_phi_state, set_phi_state, get_current_def,
- set_current_def, get_def_blocks_for, find_def_blocks_for): Adjust.
- (insert_phi_nodes_compare_def_blocks): Rename to ...
- (insert_phi_nodes_compare_var_infos): ... this and adjust.
- (insert_phi_nodes): Adjust.
- (dump_tree_ssa, dump_tree_ssa_stats): Adjust.
- (def_blocks_hash, def_blocks_eq, def_blocks_free): Remove.
- (debug_def_blocks_r): Rename to ...
- (debug_var_infos_r): ... this and adjust.
- (var_info_hash): New function.
- (var_info_eq): Likewise.
- (rewrite_blocks): Adjust.
- (init_ssa_renamer): Likewise.
- (fini_ssa_renamer): Likewise.
- (delete_update_ssa): Likewise.
- (update_ssa): Likewise.
- * tree-ssanames.c (release_dead_ssa_names): Do not clear current defs.
-
-2012-07-31 Bill Schmidt <wschmidt@linux.ibm.com>
-
- PR tree-optimization/53773
- * tree-vectorizer.h (struct _loop_vec_info): Add operands_swapped.
- (LOOP_VINFO_OPERANDS_SWAPPED): New macro.
- * tree-vect-loop.c (new_loop_vec_info): Initialize
- LOOP_VINFO_OPERANDS_SWAPPED field.
- (destroy_loop_vec_info): Restore canonical form.
- (vect_is_slp_reduction): Set LOOP_VINFO_OPERANDS_SWAPPED field.
- (vect_is_simple_reduction_1): Likewise.
-
-2012-07-31 Steven Bosscher <steven@gcc.gnu.org>
-
- * sched-vis.c (dump_insn_slim): Print print_rtx_head at the
- start of each new line.
- * final.c (final_scan_insn): If the final dump is requested as
- slim RTL, dump slim RTL to the assembly file also.
-
-2012-07-31 Andrey Belevantsev <abel@ispras.ru>
-
- PR target/53975
-
- * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment.
-
- Revert
- 2011-08-04 Sergey Grechanik <mouseentity@ispras.ru>
-
- * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
- only if producer writes to the register given by regno.
-
-2012-07-31 Nick Clifton <nickc@redhat.com>
-
- * config/stormy16/stormy16.c (xstormy16_expand_prologue): Add
- support for reporting stack usage.
-
- * config/frv/frv.c (QUAD): Fix typo.
- (frv_expand_prologue): Report stack usage.
-
-2012-07-31 Steven Bosscher <steven@gcc.gnu.org>
-
- PR pch/53880
- * gengtype.c (struct walk_type_data): Add have_this_obj field.
- (walk_type): For functions that take a this_obj argument and
- that process fields with a GTY((length)) argument, write the
- test that write_types_local_process_field will write also at the
- head of the loop, effectively unswitching the loop.
- (write_func_for_structure, write_local_func_for_structure): Clear
- have_this_obj before calling walk_type.
- (write_local_func_for_structure): Set have_this_obj before walk_type.
- (write_array): Set have_this_obj for output of local pointer walking
- functions but not for marker functions.
- (write_types_local_process_field): Assert have_this_obj is set.
-
- * rtl.h (simplify_using_condition): Adjust prototype using bitmap
- from coretypes.h.
-
-2012-07-30 Nathan Froyd <froydnj@gcc.gnu.org>
-
-
- * defaults.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
- * targhooks.c (default_mode_dependent_address_p): Delete code
- for GO_IF_MODE_DEPENDENT_ADDRESS.
- * system.h (GO_IF_MODE_DEPENDENT_ADDRESS): Poison.
- * doc/tm.texi.in (GO_IF_MODE_DEPENDENT_ADDRESS): Delete documention.
- * doc/tm.texi: Regenerate.
- * config/alpha.h (GO_IF_MODE_DEPENDENT_ADDRESS): Move code to...
- * config/alpha.c (alpha_mode_dependent_address_p): ...here. New
- function.
- (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
- * config/cr16/cr16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
- * config/mep/mep.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
- * config/vax/vax-protos.h (vax_mode_dependent_address_p): Delete.
- * config/vax/vax.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
- * config/vax/vax.c (vax_mode_dependent_address_p): Make static.
- Take a const_rtx.
- (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
-
-2012-07-30 Nathan Froyd <froydnj@gcc.gnu.org>
-
- * expmed.h (NUM_MODE_VECTOR_INT): Define.
- (struct expmed_op_cheap, struct expmed_op_costs): New structures.
- (struct target_expmed): Convert x_mul_highpart_cost and
- x_mul_widen_cost fields to be indexed by integer modes.
- Convert x_sdiv_pow2_cheap and x_smod_pow2_cheap fields to be
- of type struct expmed_op_cheap. Convert other cost fields to be
- of type struct_expmed_op_costs.
- (mul_widen_cost_ptr, mul_highpart_cost_ptr): Adjust for new
- indexing of respective fields.
- (expmed_op_cheap_ptr): New function.
- (sdiv_pow2_cheap_ptr, smod_pow2_cheap_ptr): Call it.
- (expmed_op_cost_ptr): New function.
- (add_cost_ptr, neg_cost_ptr, shift_cost_ptr, shiftadd_cost_ptr,
- shiftsub0_cost_ptr, shiftsub1_cost_ptr, mul_cost_ptr,
- sdiv_cost_ptr, udiv_cost_ptr): Call it.
-
-2012-07-30 Sandra Loosemore <sandra@codesourcery.com>
- Julian Brown <julian@codesourcery.com>
-
- * doc/invoke.texi (MIPS Options): Document -mno-float.
- * config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): Make it know
- about -mno-float.
-
-2012-07-30 Joseph Myers <joseph@codesourcery.com>
-
- * doc/sourcebuild.texi (Subdirectories): Document common subdirectory.
-
-2012-07-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR middle-end/53823
- * expmed.c (expand_mult): Skip synth_mult for constant double op1 except
- for special cases. Don't initialize coeff and is_neg.
-
-2012-07-30 Ulrich Weigand <ulrich.weigand@linaro.org>
- Richard Earnshaw <rearnsha@arm.com>
-
- * target.def (vector_alignment): New target hook.
- * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
- * doc/tm.texi: Regenerate.
- * targhooks.c (default_vector_alignment): New function.
- * targhooks.h (default_vector_alignment): Add prototype.
- * stor-layout.c (layout_type): Use targetm.vector_alignment.
- * config/arm/arm.c (arm_vector_alignment): New function.
- (TARGET_VECTOR_ALIGNMENT): Define.
-
- * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
- vector type alignment instead of size.
- * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
- element type size directly instead of computing it from alignment.
- Fix variable naming and comment.
-
-2012-07-30 Kirill Yukhin <kirill.yukhin@intel.com>
- Michael Zolotukhin <michael.v.zolotukhin@intel.com>
-
- * common/config/i386/i386-common.c (OPTION_MASK_ISA_RDSEED_SET): New.
- (OPTION_MASK_ISA_RDSEED_UNSET): Likewise.
- (ix86_handle_option): Handle mrdseed option.
- * config.gcc (i[34567]86-*-*): Add rdseedintrin.h.
- (x86_64-*-*): Likewise.
- * config/i386/prfchwintrin.h: New header.
- * config/i386/cpuid.h (bit_RDSEED): New.
- * config/i386/driver-i386.c (host_detect_local_cpu): Detect
- RDSEED support.
- * config/i386/i386-c.c: Define __RDSEED__ if needed.
- * config/i386/i386.c (ix86_target_string): Define -mrdseed option.
- (PTA_RDSEED): New.
- (ix86_option_override_internal): Handle new option.
- (ix86_valid_target_attribute_inner_p): Add OPT_mrdseed.
- (ix86_builtins): Add enum entries for RDSEED* builtins.
- (ix86_init_mmx_sse_builtins): Define new builtins.
- (ix86_expand_builtin): Expand RDSEED* builtins.
- * config/i386/i386.h (TARGET_RDSEED): New.
- * config/i386/i386.md (rdseed<mode>_1): New.
- * config/i386/i386.opt (mrdseed): New.
- * config/i386/x86intrin.h: Include rdseedintrin.h.
-
-2012-07-30 Richard Guenther <rguenther@suse.de>
-
- * tree-into-ssa.c (mark_def_sites): Also process virtual operands.
- (rewrite_stmt): Likewise.
- (rewrite_enter_block): Likewise.
- (pass_build_ssa): Do not update virtual SSA form during TODO.
- (mark_symbol_for_renaming): Do nothing if we are not in SSA form.
- * lto-streamer-in.c (lto_read_body): Set in_ssa_p earlier.
-
-2012-07-30 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/39423
- * config/sh/sh.md (*movsi_index_disp, *movhi_index_disp): New
- insns.
-
-2012-07-30 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/sh.md (mov_neg_si_t): Move to Scc instructions section.
- Use t_reg_operand predicate. Add split for negated case.
- (ashrsi2_31): Pass get_t_reg_rtx to gen_mov_neg_si_t.
- * config/sh/sh.c (expand_ashiftrt): Likewise.
-
-2012-07-30 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * config/sh/sh.md (ashlsi3_d): Invoke gen_shifty_op directly instead
- of trying to emit ashlsi3_n.
-
-2012-07-30 Laurynas Biveinis <laurynas.biveinis@gmail.com>
- Steven Bosscher <steven@gcc.gnu.org>
-
- * gengtype.c (adjust_field_type): Diagnose duplicate "length"
- option applications and option being applied to arrays of atomic types.
- (walk_type): Allow "atomic" option on strings too.
- * dwarf2out.h (struct dw_vec_struct): Use the "atomic" GTY option
- for the array field.
- * vec.h: Describe the atomic object "A" type of the macros in
- the header comment.
- (VEC_T_GTY_ATOMIC, DEF_VEC_A, DEF_VEC_ALLOC_A): Define.
- * emit-rtl.c (locations_locators_vals): use the atomic object vector.
- * doc/gty.texi: Clarify that GTY option "length" is only for
- arrays of non-atomic objects. Fix typo in the description of the
- "atomic" option.
-
-2012-07-27 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_avoid_lea_for_addr): Handle
- zero-extended addresses. Return false if the address has less
- than two components.
- (ix86_split_lea_for_addr): Unconditionally convert target and
- all address operands to requested mode.
- * config/i386/i386.md (*lea<mode>): Recover operands from curr_insn.
- Pass SImode to ix86_split_lea_for_addr when splitting zero-extended
- address.
- (zero-extended add splitter): New splitter to conditionally split
- non-destructive adds.
- (*zero_extendsidi2_rex64): Conditionally emit leal instead of movl.
-
-2012-07-28 Alan Modra <amodra@gmail.com>
-
- PR target/54093
- * config/rs6000/rs6000.c (rs6000_secondary_reload): Limit 32-bit
- multi-gpr reload to cases where predicate passes. Do the same for
- 64-bit multi-gpr reload.
-
-2012-07-27 Nathan Froyd <froydnj@gcc.gnu.org>
-
- * expmed.h (alg_hash, alg_hash_used_p, sdiv_pow2_cheap,
- smod_pow2_cheap, zero_cost, add_cost, neg_cost, shift_cost)
- shiftadd_cost, shiftsub0_cost, shiftsub1_cost, mul_cost,
- sdiv_cost, udiv_cost, mul_widen_cost, mul_highpart_cost): Delete
- macro definitions and re-purpose as inline functions.
- (alg_hash_entry_ptr, set_alg_hash_used_p, sdiv_pow2_cheap_ptr,
- set_sdiv_pow2_cheap, smod_pow2_cheap_ptr, set_smod_pow2_cheap,
- zero_cost_ptr, set_zero_cost, add_cost_ptr, set_add_cost,
- neg_cost_ptr, set_neg_cost, shift_cost_ptr, set_shift_cost,
- shiftadd_cost_ptr, set_shiftadd_cost, shiftsub0_cost_ptr,
- set_shiftsub0_cost, shiftsub1_cost_ptr, set_shiftsub1_cost,
- mul_cost_ptr, set_mul_cost, sdiv_cost_ptr, set_sdiv_cost,
- udiv_cost_ptr, set_udiv_cost, mul_widen_cost_ptr,
- set_mul_widen_cost, mul_highpart_cost_ptr, set_mul_highpart_cost):
- New functions.
- (convert_cost_ptr): New function, split out from...
- (set_convert_cost, convert_cost): ...here.
- * expmed.c, tree-ssa-loop-ivopts.c: Update for new functions.
- * gimple-ssa-strength-reduction.c: Likewise.
-
-2012-07-20 Ryan Mansfield <rmansfield@qnx.com>
-
- * gcc.c (main): Move GCC_DRIVER_HOST_INITIALIZATION after
- diagnostic_initialize.
-
-2012-07-27 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * config/sh/sh.c (shiftcosts): Remove case where first operand
- is a const_int. Move COSTS_N_INSNS usage into caller ...
- (sh_rtx_costs) ... here. Return false when shiftcosts cannot be
- calculated instead of MAX_COST.
-
-2012-07-27 Richard Guenther <rguenther@suse.de>
-
- * tree-cfg.c (gimple_can_merge_blocks_p): Do more fine-grained
- check whether SSA form is not up-to-date.
- * tree-flow.h (name_mappings_registered_p): Remove.
- * tree-into-ssa.c (struct repl_map_d): Remove.
- (repl_tbl): Likewise.
- (struct ssa_name_info): Add repl_set member.
- (update_ssa_obstack): New static global.
- (get_ssa_name_ann): Initialize repl_set.
- (clear_ssa_name_info): Assert age did not wrap.
- (repl_map_hash, repl_map_eq, repl_map_free): Remove.
- (names_replaced_by): Adjust.
- (add_to_repl_tbl): Likewise.
- (dump_tree_ssa_stats): Likewise.
- (init_update_ssa): Initialize update_ssa_obstack.
- (delete_update_ssa): Free update_ssa_obstack.
- (name_mappings_registered_p): Remove.
- (update_ssa): Adjust.
-
-2012-07-27 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/constraints.md: Delete "q" constraint.
- * config/rs6000/dfp.md (movsd_hardfloat, movsd_softfloat):
- Delete the "q" alternative.
- * config/rs6000/predicates.md (gpc_reg_operand): Adjust.
- * config/rs6000/rs6000.c (rs6000_debug_reg_global)
- (rs6000_init_hard_regno_mode_ok, rs6000_dbx_register_number):
- adjust to MQ_REGNO removal.
- * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Adjust
- comment.
- (REG_ALLOC_ORDER): Adjust comment. Remove MQ from alloc order.
- (enum reg_class): Adjust comment. Delete MQ_REGS.
- (REG_CLASS_CONTENTS): Adjust.
- (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust comment.
- * config/rs6000/rs6000.md: Delete MQ_REGNO.
- (movsi_internal1, movsi_internal1_single, movhi_internal,
- movqi_internal, movcc_internal1, movsf_hardfloat,
- movsf_softfloat): Delete the "q" alternative.
- (ctr<mode>_internal1, ctr<mode>_internal2, ctr<mode>_internal5,
- ctr<mode>_internal6): Delete "q" constraint.
-
-2012-07-27 Richard Guenther <rguenther@suse.de>
-
- * tree-into-ssa.c (def_blocks_p): New typedef.
- (insert_phi_nodes_compare_def_blocks): New function.
- (insert_phi_nodes): Do not walk over referenced vars, instead
- walk over recorded def_blocks, record relevant ones and sort
- them to avoid repeated hashtable lookups.
-
-2012-07-27 Richard Guenther <rguenther@suse.de>
-
- * doc/invoke.texi (min-virtual-mappings, virtual-mappings-ratio):
- Remove param documentation.
- * params.def (PARAM_MIN_VIRTUAL_MAPPINGS,
- PARAM_VIRTUAL_MAPPINGS_TO_SYMS_RATIO): Remove.
- * tree-flow.h (mark_set_for_renaming): Remove.
- * tree-into-ssa.c (struct update_ssa_stats_d): Remove.
- (add_new_name_mapping): Remove bookkeeping code.
- (dump_update_ssa): Remove stats dumping code.
- (init_update_ssa): Remove stats allocation code.
- (delete_update_ssa): Remove stats freeing code.
- (mark_set_for_renaming): Remove.
- (switch_virtuals_to_full_rewrite_p): Likewise.
- (switch_virtuals_to_full_rewrite): Likewise.
- (update_ssa): Do not call switch_virtuals_to_full_rewrite.
-
-2012-07-27 Marek Polacek <polacek@redhat.com>
-
- * cgraphunit.c: Rename varpool_finalize_variable to
- varpool_finalize_decl in a comment.
-
-2012-07-27 Segher Boessenkool <segher@kernel.crashing.org>
-
- * common/config/rs6000/rs6000-common.c (rs6000_handle_option):
- Delete code for -mno-power, -mpower, and -mpower2.
- * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete.
- (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
- with -maix64.
- (ASM_CPU_SPEC): Delete support for POWER and POWER2.
- * config/rs6000/aix51.h (NON_POWERPC_MASKS): Delete.
- (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
- with -maix64.
- (ASM_CPU_SPEC): Delete support for POWER and POWER2.
- * config/rs6000/aix52.h (NON_POWERPC_MASKS): Delete.
- (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
- with -maix64.
- (TARGET_POWER): Delete.
- * config/rs6000/aix53.h (NON_POWERPC_MASKS): Delete.
- (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
- with -maix64.
- (TARGET_POWER): Delete.
- * config/rs6000/aix61.h (NON_POWERPC_MASKS): Delete.
- (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
- with -maix64.
- (TARGET_POWER): Delete.
- * config/rs6000/darwin.h (TARGET_POWER): Delete.
- * config/rs6000/driver-rs6000.c (struct asm_names): Delete
- support for -mpower, -mpower2, and -mno-power.
- * config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
- Likewise.
- (rs6000_cpu_cpp_builtins): Likewise.
- * config/rs6000/rs6000-cpus.def: Likewise.
- * config/rs6000/rs6000-tables.opt: Regenerate.
- * config/rs6000/rs6000.c (POWER_MASKS): Delete.
- (rs6000_option_override_internal): Adjust.
- (rs6000_conditional_register_usage): Adjust.
- (rs6000_emit_move): Adjust.
- (rs6000_common_init_builtins): Adjust.
- (rs6000_init_libfuncs): Adjust.
- (rs6000_output_function_prologue): Adjust.
- (rs6000_adjust_cost): Adjust.
- (struct rs6000_opt_masks): Delete MASK_POWER and MASK_POWER2.
- * config/rs6000/rs6000.h (ASM_CPU_SPEC): Delete support for
- POWER and POWER2.
- (TARGET_DEFAULT): Adjust.
- (PROCESSOR_POWER): Delete.
- (SHIFT_COUNT_TRUNCATED): Adjust.
- * config/rs6000/rs6000.md (extendqisi2): Delete POWER support.
- (extendqisi2_power): Delete.
- (extendqisi2_no_power): Adjust.
- (extendqihi2, extendqihi2_power, extendqihi2_no_power):
- Likewise.
- (sminsi3, smaxsi3, uminsi3, umaxsi3): Adjust.
- (anonymous doz insn patterns): Delete.
- (abssi2): Adjust.
- (abssi2_power): Delete.
- (abssi2_nopower): Adjust.
- (nabs_power, nabs_nopower): Likewise.
- (mulsi3, mulsi3_mq, mulsi3_no_mq, mulsi3_mq_internal1):
- Likewise. Delete anonymous post-reload splitter.
- (mulsi3_no_mq_internal1): rename to...
- (mulsi3_internal1): New define_insn.
- (mulsi3_mq_internal2, mulsi3_no_mq_internal2, mulsi3_internal2):
- Likewise.
- (divmodsi4, divmodsi4_internal, udiv<mode>3, udivsi3_mq,
- udivsi3_no_mq, udivsi3, div<mode>3, divsi3_mq, div<mode>3_no_mq,
- udivmodsi4_normal, udivmodsi4_tests, udivmodsi4): Likewise.
- (mulh_call, mull_call, divss_call, divus_call, quoss_call,
- quous_call): Likewise.
- (maskir_internal1, maskir_internal2, maskir_internal3,
- maskir_internal4, maskir_internal5, maskir_internal6,
- maskir_internal7, maskir_internal8): Delete.
- (ashlsi3, ashlsi3_power, ashlsi3_no_power): Adjust.
- (anonymous sl insn patterns): Delete.
- (lshrsi3, lshrsi3_power, lshrsi3_no_power): Adjust.
- (lshrsi3_64): Adjust.
- (anonymous sr insn patterns): Delete.
- (anonymous rrib insn patterns): Delete.
- (ashrsi3, ashrsi3_power, ashrsi3_no_power): Adjust.
- (anonymous sra insn patterns): Delete.
- (sqrtsf2, sqrtdf2, sqrtdf2_fpr): Adjust.
- (fix_trunc<mode>si2, fix_trunc<mode>si2_internal,
- fctiwz_<mode>): Adjust.
- (mulsidi3, mulsidi3_mq, mulsidi3_no_mq, umulsidi3, umulsidi3_mq,
- umulsidi3_no_mq, smulsi3_highpart, smulsi3_highpart_mq,
- smulsi3_highpart_no_mq, umulsi3_highpart, umulsi3_highpart_mq,
- umulsi3_highpart_no_mq): Adjust.
- (ashldi3_power, lshrdi3_power, ashrdi3_power): Delete.
- (ashrdi3_no_power, ashldi3, ashldi3_internal1,
- lshrdi3_internal1): Adjust.
- (fix_trunctfsi2, fix_trunctfsi2_fprs): Adjust.
- (movti_power): Delete.
- (movti_string): Adjust.
- (stmsi8, stmsi7, stmsi6, stmsi5, stmsi4, stmsi3): Adjust.
- (stmsi8_power, stmsi7_power, stmsi6_power, stmsi5_power,
- stmsi4_power, stmsi3_power): Delete.
- (anonymous movmemsi insn patterns): Adjust.
- (lfq_power2, stfq_power2): Delete.
- (eq<mode>, eq<mode>_compare): Adjust.
- (eqsi_power): Delete.
- (ne0si): Adjust.
- (anonymous le, lt, ge, gt insn patterns): Delete.
- * config/rs6000/rs6000.opt (mpower, mno-power, mpower2): Delete.
- * config/rs6000/sysv4.h (TARGET_POWER): Delete.
- * config/rs6000/t-aix43 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
- MULTILIB_MATCHES): Adjust.
- * doc/invoke.texi (RS/6000 and PowerPC Options): Delete
- -mpower, -mno-power, -mpower2, -mno-power2 documentation.
- Delete -mcpu=power and -mcpu=power2 documentation.
-
-2012-07-27 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/601.md: New file.
- * config/rs6000/aix43.h (ASM_CPU_SPEC): Delete support for
- RIOS CPUs.
- * config/rs6000/aix51.h (ASM_CPU_SPEC): Likewise.
- * config/rs6000/driver-rs6000.c (detect_processor_aix,
- struct asm_names): Likewise.
- * config/rs6000/rios1.md: Delete file.
- * config/rs6000/rios2.md: Delete file.
- * config/rs6000/rs6000-cpus.def: Delete definitions for RIOS
- CPUs.
- * config/rs6000/rs6000-opts.h (enum processor_type): Delete
- PROCESSOR_RIOS1 and PROCESSOR_RIOS2.
- * config/rs6000/rs6000-tables.opt: Regenerated.
- * config/rs6000/rs6000.c (struct rios1_cost, struct rios2_cost):
- Delete.
- (rs6000_option_override_internal): Delete support for RIOS CPUs.
- (rs6000_conditional_register_usage): Adjust comment.
- (rs6000_issue_rate):Delete support for RIOS CPUs.
- * config/rs6000/rs6000.h (ASM_CPU_SPEC): Delete support for
- RIOS CPUs.
- (PROCESSOR_POWER): Change to PROCESSOR_PPC601.
- (PROCESSOR_DEFAULT): Change to PROCESSOR_PPC603.
- * config/rs6000/rs6000.md (define_attr "cpu"): Delete rios1
- and rios2.
- (include "rios1.md", include "rios2.md"): Delete.
- (include "601.md"): New.
- * config/rs6000/rs6000.opt (enum rs6000_cpu): Default to
- PROCESSOR_PPC603.
- * config/rs6000/t-aix43 (MULTILIB_MATCHES): Delete support
- for RIOS CPUs.
- * config/rs6000/t-rs6000 (MD_INCLUDES): Delete rios1.md and
- rios2.md . Add 601.md .
-
-2012-07-26 Richard Henderson <rth@redhat.com>
-
- * doc/extend.texi (attribute): Document hot/cold for labels.
- * predict.c (tree_estimate_probability_bb): Handle hot/cold
- attributes on user labels.
- * predict.def (PRED_HOT_LABEL, PRED_COLD_LABEL): New.
-
-2012-07-26 Andrew Jenner <andrew@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * cse.c (find_comparison_args): Check for cycles of any length.
-
-2012-07-26 Nick Clifton <nickc@redhat.com>
-
- * config/mn10300/mn10300.c (REG_SAVE_BYTES): Delete.
- (mn10300_get_live_callee_saved_regs): If requested return a count
- of the number of bytes in the mask.
- (mn10300_expand_prologue): Add argument to invocation of
- mn10300_get_live_callee_regs.
- (mn10300_expand_epilogue): Compute reg_save_bytes by calling
- mn10300_get_live_callee_saved_regs.
- (mn10300_initial_offset): Likewise.
- * config/mn10300/mn10300-protos.h (mn10300_get_live_callee_saved_regs):
- Update prototype.
- * config/mn10300/mn10300.md (return_ret): Add argument to
- invocation of mn10300_get_live_callee_saved_regs.
-
-2012-07-26 Steven Bosscher <steven@gcc.gnu.org>
-
- PR regression/54084
- * sel-sched-ir.c (cmp_v_in_regset_pool): Clarify logic, fix
- pointer difference check.
-
-2012-07-26 Bill Schmidt <wschmidt@linux.ibm.com>
-
- * tree-ssa-loop-ivopts.c (mbc_entry_hash): Remove.
- (mbc_entry_eq): Likewise.
- (mult_costs): Likewise.
- (cost_tables_exist): Likewise.
- (initialize_costs): Likewise.
- (finalize_costs): Likewise.
- (tree_ssa_iv_optimize_init): Remove call to initialize_costs.
- (add_regs_cost): Remove.
- (multiply_regs_cost): Likewise.
- (add_const_cost): Likewise.
- (extend_or_trunc_reg_cost): Likewise.
- (negate_reg_cost): Likewise.
- (struct mbc_entry): Likewise.
- (multiply_by_const_cost): Likewise.
- (get_address_cost): Change add_regs_cost calls to add_cost lookups;
- change multiply_by_const_cost to mult_by_coeff_cost.
- (force_expr_to_var_cost): Likewise.
- (difference_cost): Change multiply_by_const_cost to mult_by_coeff_cost.
- (get_computation_cost_at): Change add_regs_cost calls to add_cost
- lookups; change multiply_by_const_cost to mult_by_coeff_cost.
- (determine_iv_cost): Change add_regs_cost calls to add_cost lookups.
- (tree_ssa_iv_optimize_finalize): Remove call to finalize_costs.
- * tree-ssa-address.c (expmed.h): New #include.
- (most_expensive_mult_to_index): Change multiply_by_const_cost to
- mult_by_coeff_cost.
- * gimple-ssa-strength-reduction.c (expmed.h): New #include.
- (stmt_cost): Change to use mult_by_coeff_cost, mul_cost, add_cost,
- neg_cost, and convert_cost instead of IVOPTS interfaces.
- (execute_strength_reduction): Remove calls to initialize_costs and
- finalize_costs.
- * expmed.c (struct init_expmed_rtl): Add convert rtx_def.
- (init_expmed_one_mode): Initialize convert rtx_def; initialize
- x_convert_cost for related modes.
- (mult_by_coeff_cost): New function.
- * expmed.h (NUM_MODE_INT): New #define.
- (struct target_expmed): Add x_convert_cost matrix.
- (set_convert_cost): New inline function.
- (convert_cost): Likewise.
- (mult_by_coeff_cost): New extern decl.
- * tree-flow.h (initialize_costs): Remove decl.
- (finalize_costs): Likewise.
- (multiply_by_const_cost): Likewise.
- (add_regs_cost): Likewise.
- (multiply_regs_cost): Likewise.
- (add_const_cost): Likewise.
- (extend_or_trunc_reg_cost): Likewise.
- (negate_reg_cost): Likewise.
- * Makefile.in (gimple-ssa-strength-reduction.o): Update dependencies.
- (tree-ssa-address.o): Update dependencies.
-
-2012-07-26 Steven Bosscher <steven@gcc.gnu.org>
-
- * bitmap.h: Add explanation of sparse set as linked-list bitmap.
- * sbitmap.h: Add explanation about non-sparse sets as simple bitmap.
- (TEST_BIT): Make a static inline function for stronger type checking.
- (SET_BIT): Don't handle sbitmaps with popcount.
- (RESET_BIT): Likewise.
- (SET_BIT_WITH_POPCOUNT): New, like SET_BIT but with popcount.
- (RESET_BIT_WITH_POPCOUNT): New, like RESET_BIT but with popcount.
- * ebitmap.c (ebitmap_clear_bit): Use SET_BIT_WITH_POPCOUNT and
- RESET_BIT_WITH_POPCOUNT on wordmask bitmaps.
- (ebitmap_set_bit, ebitmap_and_into, ebitmap_and, ebitmap_ior_into,
- ebitmap_and_compl_into, ebitmap_and_compl): Likewise.
- * sparseset.h: Add explanation of sparse set representation.
-
-2012-07-26 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54098
- * tree-vrp.c (vrp_visit_phi_node): Iterate once more if the
- original range was UNDEFINED.
-
-2012-07-26 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * config/arm/neon.ml (ops): Fix regexp for vld1Q_dups64 and
- vld1Q_dupu64 tests.
-
-2012-07-26 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/sh.opt (mzdcbranch): New option.
- * doc/invoke.texi: Document it.
- * config/sh/sh.md (negsi_cond): Use TARGET_ZDCBRANCH as condition
- instead of TARGET_HARD_SH4.
- * config/sh/sh.c (sh_option_override): Set TARGET_ZDCBRANCH as default
- for TARGET_HARD_SH4.
-
-2012-07-25 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * config/sh/predicates.md (shift_count_operand): Handle not-SHMEDIA
- case.
- (p27_shift_count_operand, not_p27_shift_count_operand): New predicates.
- * config/sh/sh.md (ashlsi3): Remove parallel and T_REG clobber
- from expander. Do not emit shift insn for not-SHMEDIA case.
- (ashlsi3_std): Replace with ...
- (ashlsi3_k, ashlsi3_d): ... these new insns.
- * config/sh/sh.c (gen_ashift): Make static. Add sanity checks.
- Emit ashlsi3_k insn instead of ashlsi3_std in ASHIFT case.
- (gen_ashift_hi): Make static.
- * config/sh/sh-protos.h (gen_ashift, gen_ashift_hi): Remove forward
- declaration.
-
-2012-07-25 Bharathi Seshadri <bseshadr@cisco.com>
- Jim Wilson <jimwilso@cisco.com>
-
- * config/arm/bpabi.h (BE8_LINK_SPEC): Set according to
- TARGET_BIG_ENDIAN_DEFAULT.
-
-2012-07-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimple-low.c (lower_try_catch): New function.
- (lower_stmt) <GIMPLE_TRY>: Use it to lower GIMPLE_TRY_CATCH.
- <GIMPLE_CATCH>: Delete.
- <GIMPLE_EH_FILTER>: Likewise.
-
-2012-07-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * expr.c (expand_expr_real_1): Do not expand operand #1 and #2
- of BIT_FIELD_REF for ignored results.
- * fold-const.c (fold_ternary_loc) <BIT_FIELD_REF>: Check that the
- CONSTRUCTOR has vector type before using vector accessors on it.
- * gimplify.c (gimplify_compound_lval): Do not gimplify operand #1 and
- #2 of BIT_FIELD_REF.
- (gimplify_expr) <BIT_FIELD_REF>: Likewise.
- * tree-nested.c (convert_nonlocal_reference_op) <BIT_FIELD_REF>: Do
- not process operand #1 and #2.
- (convert_local_reference_op): Likewise.
- * tree-ssa-pre.c (create_component_ref_by_pieces_1): Remove superfluous
- breaks throughout.
- <BIT_FIELD_REF>: Reuse operand #1 and #2 directly.
- * tree.c (stabilize_reference) <BIT_FIELD_REF>: Do not stabilize
- operand #1 and #2.
- (UPDATE_FLAGS): Do not consider operand #2 of BIT_FIELD_REF.
- (build6_stat): Delete.
- * tree.h (build6_stat, build6, build6_stat_loc, build6_loc): Likewise.
-
-2012-07-25 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/30318
- * tree-vrp.c (extract_range_from_binary_expr_1) [PLUS_EXPR]:
- Handle __int128.
- [MINUS_EXPR]: Merge with PLUS_EXPR.
-
-2012-07-25 Sandra Loosemore <sandra@codesourcery.com>
- Paul Brook <paul@codesourcery.com>
-
- PR target/53633
- * target.def (warn_func_return): New hook.
- * doc/tm.texi.in (TARGET_WARN_FUNC_RETURN): New hook.
- * doc/tm.texi: Regenerate.
- * doc/sourcebuild.texi (Effective-Target Keywords): Document
- naked_functions.
- * ipa-pure-const.c (warn_function_noreturn): Check
- targetm.warn_func_return.
- * tree-cfg.c (execute_warn_function_return): Likewise.
- * config/spu/spu.c (spu_warn_func_return): New.
- (TARGET_WARN_FUNC_RETURN): Define.
- * config/rx/rx.c (rx_warn_func_return): New.
- (TARGET_WARN_FUNC_RETURN): Define.
- * config/avr/avr.c (avr_warn_func_return): New.
- (TARGET_WARN_FUNC_RETURN): Define.
- * config/arm/arm.c (arm_warn_func_return): New.
- (TARGET_WARN_FUNC_RETURN): Define.
- * config/mcore/mcore.c (mcore_warn_func_return): New.
- (TARGET_WARN_FUNC_RETURN): Define.
- (saved_warn_return_type, saved_warn_return_type_count): Remove.
- (mcore_reorg, mcore_handle_naked_attribute): Remove warn_return hack.
-
-2012-07-25 Siddhesh Poyarekar <siddhesh@redhat.com>
-
- * final.c [ASSEMBLER_DIALECT](do_assembler_dialects): New
- function to implement assembler dialects.
- (output_asm_insn): Use do_assembler_dialects.
- (asm_fprintf): Likewise.
-
-2012-07-25 Richard Henderson <rth@redhat.com>
-
- PR bootstrap/54092
- * libfuncs.h: Don't include optabs.h.
- (struct libfunc_entry): Use "int" for op, mode1, mode2 members.
- * optabs.c (hash_libfunc): Don't cast members to int.
- * Makefile.in (LIBFUNCS_H): Don't include OPTABS_H.
-
-2012-07-25 Dodji Seketeli <dodji@redhat.com>
-
- * basic-block.c: Fix typo in comment.
-
-2012-07-25 Kirill Yukhin <kirill.yukhin@intel.com>
- Michael Zolotukhin <michael.v.zolotukhin@intel.com>
-
- * common/config/i386/i386-common.c (OPTION_MASK_ISA_PRFCHW_SET): New.
- (OPTION_MASK_ISA_PRFCHW_UNSET): Likewise.
- (ix86_handle_option): Handle mprfchw option.
- * config.gcc (i[34567]86-*-*): Add prfchwintrin.h.
- (x86_64-*-*): Likewise.
- * config/i386/prfchwintrin.h: New header.
- * config/i386/cpuid.h (bit_PRFCHW): New.
- (bit_BMI): Formatting fix.
- (bit_HLE): Likewise.
- (bit_RTM): Likewise.
- * config/i386/driver-i386.c (host_detect_local_cpu): Detect
- PREFETCHW support.
- * config/i386/i386-c.c: Define __PRFCHW__ if needed.
- * config/i386/i386.c (ix86_target_string): Define
- -mprfchw option. Formatting fixes.
- (PTA_HLE): Formatting fix.
- (PTA_PRFCHW): New.
- (ix86_option_override_internal): Handle new option.
- (ix86_valid_target_attribute_inner_p): Add OPT_mprfchw.
- * config/i386/i386.h (TARGET_PRFCHW): New.
- * config/i386/i386.md (prefetch): Enable for TARGET_PRFCHW.
- * config/i386/i386.opt (mprfchw): New.
- * config/i386/mm3dnow.h: Move _m_prefetchw from here to prfchwintrin.h.
- * config/i386/x86intrin.h: Include prfchwintrin.h.
-
-2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com>
-
- * config/i386/i386.md (stack_protect_set): Disable the pattern
- for Android since Android libc (bionic) does not provide random
- value for stack protection guard at gs:0x14. Guard value
- will be provided from external symbol (default implementation).
- (stack_protect_set_<mode>): Likewise.
- (stack_protect_test): Likewise.
- (stack_protect_test_<mode>): Likewise.
- * defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does
- not have Bionic by default
- * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC)
- Macro OPTION_BIONIC is defined in this file and provides Bionic
- accessibility status
-
-2012-07-25 Steven Bosscher <steven@gcc.gnu.org>
-
- * gimple-pretty-print.c (gimple_dump_bb_buff): Call pp_flush.
-
-2012-07-25 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- btver2 Enablement
- * config.gcc (i[34567]86-*-linux* | ...): Add btver2.
- (case ${target}): Add btver2.
- * config/i386/driver-i386.c (host_detect_local_cpu): Let
- -march=native recognize btver2 processors.
- * config/i386/i386-c.c (ix86_target_macros_internal): Add
- btver2 def_and_undef
- * config/i386/i386.c (struct processor_costs btver2_cost): New
- btver2 cost table.
- (m_BTVER2): New definition.
- (m_AMD_MULTIPLE): Includes m_BTVER2.
- (initial_ix86_tune_features): Add btver2 tune.
- (processor_target_table): Add btver2 entry.
- (static const char *const cpu_names): Add btver2 entry.
- (software_prefetching_beneficial_p): Add btver2.
- (ix86_option_override_internal): Add btver2 instruction sets.
- (ix86_issue_rate): Add btver2.
- (ix86_adjust_cost): Add btver2.
- * config/i386/i386.h (TARGET_BTVER2): New definition.
- (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver2.
- (enum processor_type): Add PROCESSOR_BTVER2.
- * config/i386/i386.md (define_attr "cpu"): Add btver2.
-
-2012-07-24 Bill Schmidt <wschmidt@linux.ibm.com>
-
- * doc/tm.texi: Regenerate.
- * targhooks.c (default_init_cost): Add prologue and epilogue costs.
- (default_add_stmt_cost): Likewise; also handle NULL stmt_info.
- (default_finish_cost): Add prologue and epilogue costs.
- * targhooks.h (default_add_stmt_cost): Change parameter list.
- (default_finish_cost): Likewise.
- * target.def (init_cost): Change documentation string.
- (add_stmt_cost): Change documentation string and parameter list.
- (finish_cost): Likewise.
- * target.h (vect_cost_model_location): New enum.
- * tree-vectorizer.h (struct _slp_tree): Remove cost substruct.
- (struct _slp_instance): Remove cost substruct; rename stmt_cost_vec
- to body_cost_vec.
- (SLP_INSTANCE_OUTSIDE_OF_LOOP_COST): Remove.
- (SLP_INSTANCE_STMT_COST_VEC): Rename to SLP_INSTANCE_BODY_COST_VEC.
- (SLP_TREE_OUTSIDE_OF_LOOP_COST): Remove.
- (struct _vect_peel_extended_info): Rename stmt_cost_vec to
- body_cost_vec.
- (struct _stmt_vec_info): Remove cost substruct.
- (STMT_VINFO_OUTSIDE_OF_LOOP_COST): Remove.
- (stmt_vinfo_set_outside_of_loop_cost): Remove.
- (builtin_vectorization_cost): New function.
- (vect_get_stmt_cost): Change to use builtin_vectorization_cost.
- (add_stmt_cost): Change parameter list.
- (finish_cost): Likewise.
- (vect_model_simple_cost): Likewise.
- (vect_model_store_cost): Likewise.
- (vect_model_load_cost): Likewise.
- (record_stmt_cost): Likewise.
- (vect_get_load_cost): Likewise.
- (vect_get_known_peeling_cost): Likewise.
- * tree-vect-loop.c (vect_get_known_peeling_cost): Change parameter
- list; call record_stmt_cost for prologue and epilogue costs.
- (vect_estimate_min_profitable_iters): Call add_stmt_cost for
- prologue and epilogue costs; remove computation of vec_outside_cost;
- return vec_prologue_cost and vec_epilogue_cost from finish_cost.
- (vect_model_reduction_cost): Revise call to add_stmt_cost for body
- costs; call add_stmt_cost for prologue and epilogue costs.
- (vect_model_induction_cost): Revise call to add_stmt_cost for body
- costs; call add_stmt_cost for prologue costs.
- * tree-vect-data-refs.c (vect_get_data_access_cost): Change parameter
- list for function and arguments for calls to vect_get_load_cost and
- vect_get_store_cost.
- (vect_peeling_hash_get_lowest_cost): Change argument list for calls to
- vect_get_data_access_cost and vect_get_known_peeling_cost; use
- temporary vectors prologue_cost_vec and epilogue_cost_vec for the
- latter call and discard their results; rename stmt_cost_vec to
- body_cost_vec; correct possible storage leak for body_cost_vec.
- (vect_peeling_hash_choose_best_peeling): Rename stmt_cost_vec to
- body_cost_vec.
- (vect_enhance_data_refs_alignment): Rename stmt_cost_vec to
- body_cost_vec; add extra dummy parameter on calls to
- vect_get_data_access_cost; tolerate null si->stmt; add vect_body to
- argument list on call to add_stmt_cost.
- * tree-vect-stmts.c (record_stmt_cost): Change parameter list;
- rename stmt_cost_vec to body_cost_vec; tolerate null stmt_info; call
- builtin_vectorization_cost; add "where" parameter on call to
- add_stmt_cost.
- (vect_model_simple_cost): Change parameter list; call record_stmt_cost
- for prologue costs; remove call to stmt_vinfo_set_outside_of_loop_cost;
- rename stmt_cost_vec to body_cost_vec.
- (vect_model_promotion_demotion_cost): Add vect_body argument to call
- to add_stmt_cost; call add_stmt_cost for prologue costs; remove call
- to stmt_vinfo_set_outside_of_loop_cost.
- (vect_model_store_cost): Change parameter list; call record_stmt_cost
- for prologue costs; add vect_body argument to call to record_stmt_cost;
- rename stmt_cost_vec to body_cost_vec; remove call to
- stmt_vinfo_set_outside_of_loop_cost.
- (vect_get_store_cost): Rename stmt_cost_vec to body_cost_vec; add
- vect_body argument to calls to record_stmt_cost.
- (vect_model_load_cost): Change parameter list; rename stmt_cost_vec to
- body_cost_vec; add vect_body argument to calls to record_stmt_cost;
- remove call to stmt_vinfo_set_outside_of_loop_cost.
- (vect_get_load_cost): Change parameter list; rename stmt_cost_vec to
- body_cost_vec; add vect_body argument to calls to record_stmt_cost;
- call record_stmt_cost for prologue costs.
- (vectorizable_store): Change argument list for call to
- vect_model_store_cost.
- (vectorizable_load): Change argument list for call to
- vect_model_load_cost.
- (new_stmt_vec_info): Remove assignment to
- STMT_VINFO_OUTSIDE_OF_LOOP_COST.
- * config/spu/spu.c (spu_init_cost): Add prologue and epilogue costs.
- (spu_add_stmt_cost): Likewise; also handle NULL stmt_info.
- (spu_finish_cost): Add prologue and epilogue costs.
- * config/i386/i386.c (i386_init_cost): Add prologue and epilogue costs.
- (i386_add_stmt_cost): Likewise; also handle NULL stmt_info.
- (i386_finish_cost): Add prologue and epilogue costs.
- * config/rs6000/rs6000.c (rs6000_init_cost): Add prologue and epilogue
- costs.
- (rs6000_add_stmt_cost): Likewise; also handle NULL stmt_info.
- (rs6000_finish_cost): Add prologue and epilogue costs.
- * tree-vect-slp.c (vect_free_slp_instance): Rename
- SLP_INSTANCE_STMT_COST_VEC to SLP_INSTANCE_BODY_COST_VEC.
- (vect_create_new_slp_node): Remove assignment to
- SLP_TREE_OUTSIDE_OF_LOOP_COST.
- (vect_get_and_check_slp_defs): Change parameter list; change argument
- lists to calls to vect_model_store_cost and vect_model_simple_cost.
- (vect_build_slp_tree): Change parameter list; change argument lists
- to calls to vect_model_load_cost, vect_get_and_check_slp_defs, and
- recursive self-calls; remove setting of outside_cost from
- SLP_TREE_OUTSIDE_OF_LOOP_COST; add vect_body argument to call to
- record_stmt_cost.
- (vect_analyze_slp_instance): Rename stmt_cost_vec to body_cost_vec;
- rename SLP_INSTANCE_STMT_COST_VEC to SLP_INSTANCE_BODY_COST_VEC;
- remove assignment to SLP_INSTANCE_OUTSIDE_OF_LOOP_COST; record SLP
- prologue costs.
- (vect_bb_vectorization_profitable_p): Rename stmt_cost_vec to
- body_cost_vec; handle null ci->stmt; add vect_body argument to call
- to add_stmt_cost; simplify calls to targetm.vectorize.
- builtin_vectorization_cost; return vec_prologue_cost and
- vec_epilogue_cost from finish_cost.
- (vect_update_slp_costs_according_to_vf): Rename stmt_cost_vec to
- body_cost_vec; add vect_body argument to call to add_stmt_cost.
-
-2012-07-24 Richard Henderson <rth@redhat.com>
-
- * system.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Poison.
- * config/cris/cris.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
- * config/h8300/h8300.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
- * config/mn10300/mn10300.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
- * config/rs6000/rs6000.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove
- comment reference.
- * config/v850/v850.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
- * config/v850/v850.md (fixuns_truncsfsi2, fixuns_truncdfsi2): New.
- (fix_truncsfsi2, fix_truncdfsi2): Avoid double FIX.
- * config/vax/vax.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
- * config/vax/vax.md (fixuns_trunc<VAXfp><VAXint>): New.
- * doc/tm.texi.in (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
- * doc/tm.texi: Rebuild.
-
-2012-07-24 Richard Henderson <rth@redhat.com>
-
- * optabs.def: New file.
- * Makefile.in (OPTABS_H): Add insn-opinit.h.
- (MOSTLYCLEANFILES): Likewise.
- (insn-opinit.o): Remove reload.h
- (simple_rtl_generated_c): Remove insn-opinit.c.
- (s-opinit): New rule.
- (build/genopinit.o): Add optabs.def.
- * genopinit.c (rtx_upname): New.
- (optabs): Extract to optabs.def
- (enum optab_tag, struct optab_def_d, optabs): New.
- (struct pattern_d, patterns): New.
- (match_pattern): Split out from ...
- (gen_insn): ... here. Push matches on patterns vec.
- (pattern_cmp, optab_kind_cmp, optab_rcode_cmp): New.
- (header_file_name, source_file_name, handle_arg): New.
- (open_outfile): New.
- (main): Sort and emit new tables. Generate lookup_handler,
- raw_optab_handler, swap_optab_enable.
- * libfuncs.h (libfunc_entry): Change "size_t optab" to "optab op".
- * optabs.c (code_to_optab_): Remove.
- (hash_libfunc): Update for optab name change.
- (eq_libfunc): Likewise.
- (convert_optab_libfunc): Update computation of optab member;
- use the new convlib_def table.
- (optab_libfunc): Similarly.
- (set_optab_libfunc, set_conv_libfunc): Likewise.
- (sign_expand_binop): Use swap_optab_enable instead of fake optabs.
- (init_insn_codes, init_optab, init_optabv, init_convert_optab): Remove.
- (init_optabs): Don't call them; export the data to optabs.def.
- (gen_int_libfunc, gen_fp_libfunc): Export non-static.
- (gen_fixed_libfunc, gen_signed_fixed_libfunc): Likewise.
- (gen_unsigned_fixed_libfunc, gen_int_fp_libfunc): Likewise.
- (gen_intv_fp_libfunc, gen_int_fp_fixed_libfunc): Likewise.
- (gen_int_fp_signed_fixed_libfunc, gen_int_fixed_libfunc): Likewise.
- (gen_int_signed_fixed_libfunc): Likewise.
- (gen_int_unsigned_fixed_libfunc): Likewise.
- (gen_interclass_conv_libfunc, gen_int_to_fp_conv_libfunc): Likewise.
- (gen_ufloat_conv_libfunc): Likewise.
- (gen_int_to_fp_nondecimal_conv_libfunc): Likewise.
- (gen_fp_to_int_conv_libfunc, gen_intraclass_conv_libfunc): Likewise.
- (gen_trunc_conv_libfunc, gen_extend_conv_libfunc): Likewise.
- (gen_fract_conv_libfunc, gen_fractuns_conv_libfunc): Likewise.
- (gen_satfract_conv_libfunc, gen_satfractuns_conv_libfunc): Likewise.
- (debug_optab_libfuncs): Update for optab representation change.
- * optabs.h: Include insn-opinit.h.
- (optab, convert_optab, direct_optab): New typedefs.
- (struct optab_handlers, struct widening_optab_handlers): Remove.
- (struct optab_libcall_d): Rename from optab_d; remove code_,
- handlers, widening members.
- (struct convert_optab_libcall_d): Rename from convert_optab_d;
- remove code_ and handlers members.
- (enum optab_index, enum convert_optab_index): Remove.
- (enum direct_optab_index): Remove.
- (code_to_optab_): Fix array range.
- (optab_to_code): Covert to inline function.
- (optab_to_code_, convlib_def, normlib_def): Declare.
- (raw_optab_handler, swap_optab_enable): Declare.
- (unknown_optab): Remove; export to optabs.def
- (ssadd_optab, usadd_optab, sssub_optab, ussub_optab, ssmul_optab,
- usmul_optab, ssdiv_optab, usdiv_optab, ssneg_optab, usneg_optab,
- ssashl_optab, usashl_optab, add_optab, sub_optab, smul_optab,
- addv_optab, subv_optab, smul_highpart_optab, umul_highpart_optab,
- smul_widen_optab, umul_widen_optab, usmul_widen_optab,
- smadd_widen_optab, umadd_widen_optab, ssmadd_widen_optab,
- usmadd_widen_optab, smsub_widen_optab, umsub_widen_optab,
- ssmsub_widen_optab, usmsub_widen_optab, sdiv_optab, smulv_optab,
- sdivv_optab, sdivmod_optab, udiv_optab, udivmod_optab, smod_optab,
- umod_optab, fmod_optab, remainder_optab, ftrunc_optab, and_optab,
- ior_optab, xor_optab, ashl_optab, lshr_optab, ashr_optab, rotl_optab,
- rotr_optab, vashl_optab, vlshr_optab, vashr_optab, vrotl_optab,
- vrotr_optab, smin_optab, smax_optab, umin_optab, umax_optab, pow_optab,
- atan2_optab, fma_optab, fms_optab, fnma_optab, fnms_optab, mov_optab,
- movstrict_optab, movmisalign_optab, storent_optab, neg_optab,
- negv_optab, abs_optab, absv_optab, one_cmpl_optab, bswap_optab,
- ffs_optab, clz_optab, ctz_optab, clrsb_optab, popcount_optab,
- parity_optab, sqrt_optab, sincos_optab, sin_optab, asin_optab,
- cos_optab, acos_optab, exp_optab, exp10_optab, exp2_optab, expm1_optab,
- ldexp_optab, scalb_optab, significand_optab, logb_optab, ilogb_optab,
- log_optab, log10_optab, log2_optab, log1p_optab, floor_optab,
- ceil_optab, btrunc_optab, round_optab, nearbyint_optab, rint_optab,
- tan_optab, atan_optab, copysign_optab, signbit_optab, isinf_optab,
- cmp_optab, ucmp_optab, eq_optab, ne_optab, gt_optab, ge_optab,
- lt_optab, le_optab, unord_optab, strlen_optab, cbranch_optab,
- cmov_optab, cstore_optab, ctrap_optab, push_optab, addcc_optab,
- reduc_smax_optab, reduc_umax_optab, reduc_smin_optab, reduc_umin_optab,
- reduc_splus_optab, reduc_uplus_optab, ssum_widen_optab,
- usum_widen_optab, sdot_prod_optab, udot_prod_optab, vec_set_optab,
- vec_extract_optab, vec_init_optab, vec_shl_optab, vec_shr_optab,
- vec_realign_load_optab, vec_widen_umult_hi_optab,
- vec_widen_umult_lo_optab, vec_widen_smult_hi_optab,
- vec_widen_smult_lo_optab, vec_widen_umult_even_optab,
- vec_widen_umult_odd_optab, vec_widen_smult_even_optab,
- vec_widen_smult_odd_optab, vec_widen_ushiftl_hi_optab,
- vec_widen_ushiftl_lo_optab, vec_widen_sshiftl_hi_optab,
- vec_widen_sshiftl_lo_optab, vec_unpacks_hi_optab, vec_unpacks_lo_optab,
- vec_unpacku_hi_optab, vec_unpacku_lo_optab, vec_unpacks_float_hi_optab,
- vec_unpacks_float_lo_optab, vec_unpacku_float_hi_optab,
- vec_unpacku_float_lo_optab, vec_pack_trunc_optab, vec_pack_ssat_optab,
- vec_pack_usat_optab, vec_pack_sfix_trunc_optab,
- vec_pack_ufix_trunc_optab, powi_optab, sync_compare_and_swap_optab,
- sync_lock_test_and_set_optab, sync_old_add_optab, sync_old_sub_optab,
- sync_old_ior_optab, sync_old_and_optab, sync_old_xor_optab,
- sync_old_nand_optab, sync_new_add_optab, sync_new_sub_optab,
- sync_new_ior_optab, sync_new_and_optab, sync_new_xor_optab,
- sync_new_nand_optab, sext_optab, zext_optab, trunc_optab, sfix_optab,
- ufix_optab, sfixtrunc_optab, ufixtrunc_optab, sfloat_optab,
- ufloat_optab, lrint_optab, lround_optab, lfloor_optab, lceil_optab,
- fract_optab, fractuns_optab, satfract_optab, satfractuns_optab,
- vec_load_lanes_optab, vec_store_lanes_optab, vcond_optab, vcondu_optab,
- movcc_optab, reload_in_optab, reload_out_optab, movmem_optab,
- setmem_optab, cmpstr_optab, cmpstrn_optab, cmpmem_optab,
- sync_lock_release_optab, sync_add_optab, sync_sub_optab,
- sync_ior_optab, sync_and_optab, sync_xor_optab, sync_nand_optab,
- atomic_exchange_optab, atomic_compare_and_swap_optab,
- atomic_load_optab, atomic_store_optab, atomic_add_fetch_optab,
- atomic_sub_fetch_optab, atomic_and_fetch_optab,
- atomic_nand_fetch_optab, atomic_xor_fetch_optab, atomic_or_fetch_optab,
- atomic_fetch_add_optab, atomic_fetch_sub_optab, atomic_fetch_and_optab,
- atomic_fetch_nand_optab, atomic_fetch_xor_optab, atomic_fetch_or_optab,
- atomic_add_optab, atomic_sub_optab, atomic_and_optab,
- atomic_nand_optab, atomic_xor_optab, atomic_or_optab,
- atomic_always_lock_free_optab, atomic_is_lock_free_optab,
- atomic_thread_fence_optab, atomic_signal_fence_optab,
- vec_perm_optab, vec_perm_const_optab): Likewise.
- (struct target_optabs): Remove x_optab_table, x_convert_optab_table,
- and x_direct_optab_table members; add pat_enable.
- (optab_table, convert_optab_table, direct_optab_table): Remove.
- (optab_handler): Use raw_optab_handler.
- (widening_optab_handler, convert_optab_handler): Likewise.
- (set_optab_handler, set_widening_optab_handler): Remove.
- (set_convert_optab_handler, set_direct_optab_handler): Remove.
- (direct_optab_handler): Defer to optab_handler.
- * rtl.h (NON_GENERATOR_NUM_RTX_CODE): New.
-
-2012-07-24 Jason Merrill <jason@redhat.com>
-
- * bitmap.c (bitmap_descriptor): Adjust order of parameters to
- match MEM_STAT_DECL.
- * statistics.h (ALONE_FINAL_MEM_STAT_DECL): Correct typo.
-
-2012-07-24 Richard Henderson <rth@redhat.com>
-
- * optabs.h (struct optab_d): Rename code member to code_.
- (struct convert_optab_h): Likewise.
- (code_to_optab_): Rename from code_to_optab.
- (code_to_optab, optab_to_code): New.
- * dojump.c (do_compare_rtx_and_jump): Use code_to_optab.
- * ifcvt.c (noce_emit_move_insn): Likewise.
- * optabs.c (simplify_expand_binop): Use optab_to_code.
- (expand_simple_binop, shift_optab_p, commutative_optab_p): Likewise.
- (avoid_expensive_constant, expand_binop_directly): Likewise.
- (expand_binop, expand_simple_unop, expand_unop_direct): Likewise.
- (expand_unop, prepare_float_lib_cmp, expand_fixed_convert): Likewise.
- (have_insn_for, debug_optab_libfuncs): Likewise.
- (init_optab, init_optabv, init_convert_optab): Update for optab
- member name change.
-
- * libfuncs.h: Include optabs.h.
- * dwarf2out.c, lto-streamer.in.c: Don't include libfuncs.h.
- * Makefile.in (LIBFUNCS_H): Add OPTABS_H.
- (lto-streamer-in.o, dwarf2out.o): Update deps.
-
- * optabs.h (unknown_optab): New.
- * builtins.c (interclass_mathfn_icode): Use it.
- * dojump.c (do_compare_rtx_and_jump): Likewise.
- * optabs.c (optab_for_tree_code, expand_binop): Likewise.
- * tree-vect-generic.c (add_rshift, expand_vector_divmod): Likewise.
- (expand_vector_operations_1): Likewise.
- * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
- * tree-vect-stmts.c (supportable_narrowing_operation): Likewise.
-
-2012-07-24 Steven Bosscher <steven@gcc.gnu.org>
-
- * alloc-pool.c (create_alloc_pool): Fix ENABLE_CHECKING check.
-
-2012-07-24 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/54051
- * config/arm/arm.c (arm_print_operand_address): Remove superfluous
- printing of 0.
- * config/arm/neon.md ("neon_vld3_lane<mode>":VD): Remove alignment
- specifier.
- ("neon_vld3_lane<mode>":VMQ): Likewise.
- ("neon_vld3_dup<mode>":VDX): Likewise.
- ("neon_vst3_lane<mode>":VD): Likewise.
- ("neon_vst3_lane<mode>":VMQ): Likewise.
-
-2012-07-24 Roland McGrath <mcgrathr@google.com>
-
- * arm.c (arm_get_frame_offsets): Don't use fixed regs for
- stack alignment padding.
-
-2012-07-24 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/53961
- * config/i386/i386.c (ix86_legitimate_address_p): Move check for
- negative constant address for TARGET_X32 ...
- (ix86_decompose_address): ... here. Reject constant addresses
- that don't satisfy x86_64_immediate_operand predicate.
-
-2012-07-24 Julian Brown <julian@codesourcery.com>
-
- * doc/sourcebuild.texi (arm_hf_eabi): Document effective-target check.
-
-2012-07-24 Steven Bosscher <steven@gcc.gnu.org>
-
- * sbitmap.h (SBITMAP_ELT_BITS): Use "1u" trick as for BITMAP_WORD_BITS.
- Move test to check that there is a popcount function for the the number
- of bits in SBITMAP_ELT_BITS to sbitmap.c.
- * sbitmap.c: Test SBITMAP_ELT_BITS, not HOST_BITS_PER_WIDEST_FAST_INT.
- MEM_STAT_INFO): Define in terms of their ALONE counterparts.
-
- * configure.ac (GATHER_STATISTICS): Always define, non-zero if enabled.
- * configure: Regenerate.
- * statistics.h (GATHER_STATISTICS): Error out if it is not defined.
- (GCC_MEM_STAT_ARGUMENTS): New define.
- (ALONE_MEM_STAT_DECL): Define in terms of GCC_MEM_STAT_ARGUMENTS.
- (ALONE_FINAL_MEM_STAT_DECL, ALONE_FINAL_PASS_MEM_STAT): New defines.
- (MEM_STAT_DECL, FINAL_MEM_STAT_DECL, PASS_MEM_STAT,
- FINAL_PASS_MEM_STAT): Define.
- * ggc-internal.h (ggc_record_overhead): Use FINAL_MEM_STAT_DECL.
- * ggc.h (ggc_record_overhead, ggc_free_overhead,
- ggc_prune_overhead_list): Remove internal prototypes, they are defined
- already in ggc-internal.h.
- * ggc-common.c (struct loc_descriptor): Remove #ifdef GATHER_STATISTICS
- wrappers.
- (add_statistics): Likewise.
- (dump_ggc_loc_statistics): Likewise. Return if GATHER_STATISTICS is 0.
- * ggc-zone.c (struct page_entry): Remove #ifdef GATHER_STATISTICS
- wrappers around "survived" and "stats" members.
- (alloc_large_page): Always initialize survived.
- (ggc_internal_alloc_zone_stat): Likewise.
- Remove #ifdef GATHER_STATISTICS wrappers. Record overhead if
- GATHER_STATISTICS is non-0.
- (ggc_free): Convert #ifdef GATHER_STATISTICS to if-code.
- (sweep_pages): Always increase survived.
- (ggc_collect_1): Convert #ifdef GATHER_STATISTICS to if-code.
- (calculate_average_page_survival): Always define.
- (ggc_collect): Convert #ifdef GATHER_STATISTICS to if-code.
- (ggc_print_statistics): Likewise.
- (ggc_pch_read): Likewise.
- * ggc-page.c (struct globals): Always define "stats" member.
- (ggc_internal_alloc_stat): Convert #ifdef GATHER_STATISTICS to if-code.
- (ggc_free): Likewise.
- (ggc_collec): Likewise.
- (ggc_print_statistics): Likewise.
- * bitmap.h (struct bitmap_head_def): Always define "desc" member.
- (bitmap_initialize_stat): Convert #ifdef GATHER_STATISTICS to if-code.
- * gimple.h (enum gimple_alloc_kind): Always define.
- (gimple_alloc_kind): Likewise.
- * tree-flow.h (phinodes_print_statistics): Always define.
- (ssanames_print_statistics): Likewise.
- * vec.h (vec_heap_free): Always define.
- (VEC_stack_alloc): Define if GATHER_STATISTICS is non-0.
- * alloc-pool.c (alloc_pool_descriptor): Always define.
- (create_alloc_pool): Convert #ifdef GATHER_STATISTICS to if-code.
- (empty_alloc_pool): Likewise.
- (pool_alloc): Likewise.
- (pool_free): Likewise.
- (dump_alloc_pool_statistics): Likewise.
- (print_statistics): Always define.
- * bitmap.c (struct bitmap_descriptor): Always define.
- (bitmap_register): Pass ALONE_FINAL_PASS_MEM_STAT.
- (register_overhead): Always define.
- (bitmap_element_free): Convert #ifdef GATHER_STATISTICS to if-code.
- (bitmap_element_allocate): Likewise.
- (bitmap_elt_clear_from): Likewise.
- (bitmap_obstack_alloc_stat): Likewise.
- (bitmap_gc_alloc_stat): Likewise.
- (bitmap_obstack_free): Likewise.
- (bitmap_find_bit): Likewise.
- (bitmap_ior_and_into): Likewise.
- (bitmap_print): Likewise.
- (dump_bitmap_statistics): Likewise. Return if GATHER_STATISTICS is 0.
- * gimple.c (gimple_alloc_counts, gimple_alloc_sizes): Always define.
- (gimple_alloc_kind_names): Likewise.
- (gimple_alloc_stat): Convert #ifdef GATHER_STATISTICS to if-code.
- (dump_gimple_statistics): Likewise. Return if GATHER_STATISTICS is 0.
- * rtl.c (rtx_alloc_counts, rtx_alloc_sizes, rtvec_alloc_counts,
- rtvec_alloc_sizes): Always define.
- (rvec_alloc): Convert #ifdef GATHER_STATISTICS to if-code.
- (rtx_alloc_stat): Likewise.
- (dump_rtx_statistics): Likewise. Return if GATHER_STATISTICS is 0.
- * tree.c (_obstack_allocated_p, tree_code_counts, tree_node_counts,
- tree_node_sizes, tree_node_kind_names): Always define.
- (record_node_allocation_statistics): Convert #ifdef GATHER_STATISTICS
- to if-code.
- (type_hash_canon): Likewise.
- (dump_tree_statistics): Likewise.
- * tree-ssanames.c (ssa_name_nodes_reused, ssa_name_nodes_created):
- Always define.
- (ssanames_print_statistics): Likewise.
- (make_ssa_name_fn): Convert #ifdef GATHER_STATISTICS to if-code.
- * tree-phinodes.c (phi_nodes_reused, phi_nodes_created): Always define.
- (phinodes_print_statistics): Likewise.
- (allocate_phi_node): Convert #ifdef GATHER_STATISTICS to if-code.
- * vec.c (struct vec_descriptor): Always define.
- (hash_descriptor, eq_descriptor, ptr_hash_entry, hash_ptr, eq_ptr,
- vec_descriptor, rester_overhead, free_overhead): Likewise.
- (cmp_statistic): Likewise.
- (vec_heap_free): Convert #ifdef GATHER_STATISTICS to if-code.
- (vec_heap_o_reserve_1): Likewise.
- (dump_vec_loc_statistics): Likewise.
-
-2012-07-24 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53616
- * tree-loop-distribution.c (ldist_gen): Do not change
- partition ordering when merging partitions.
-
-2012-07-24 Alan Modra <amodra@gmail.com>
-
- PR target/53914
- PR target/54009
- * config/rs6000/constraints.md (Y): Use mem_operand_gpr.
- * config/rs6000/predicates.md (word_offset_memref_operand): Delete.
- Adjust all rs6000_legitimate_offset_address_p calls.
- * config/rs6000/rs6000-protos.h (mem_operand_gpr): Declare.
- (rs6000_secondary_reload_gpr): Declare.
- (rs6000_legitimate_offset_address_p): Update prototype.
- (rs6000_offsettable_memref_p): Delete.
- (rs6000_secondary_reload_ppc64): Delete.
- * config/rs6000/rs6000.c (address_offset): New function.
- (mem_operand_gpr): Likewise.
- (rs6000_legitimate_offset_address_p): Add worst_case param. When
- not worst_case assume class of regs with least restrictive offsets.
- Adjust all calls.
- (legitimate_lo_sum_address_p): Simplify register mode tests.
- (rs6000_legitimize_address): Likewise. Assume best case offset
- addressing. Combine ELF and MACHO lo_sum code.
- (rs6000_mode_dependent_address): Correct offset addressing limits.
- (rs6000_offsettable_memref_p): Make static, add reg_mode param.
- Use reg_mode to help rs6000_legitimate_offset_address_p.
- (rs6000_secondary_reload): Use address_offset. Handle 32-bit multi
- gpr load/store when offset too large.
- (rs6000_secondary_reload_gpr): Renamed rs6000_secondary_reload_ppc64.
- (rs6000_split_multireg_move): Adjust rs6000_offsettable_memref_p calls.
- * config/rs6000/rs6000.md (movdf_hardfloat32): Use 'Y' constraint
- for gpr load/store. Order alternatives as r->Y,Y->r,r->r and
- d->m,m->d,d->d. Correct size of gpr load/store.
- (movdf_softfloat32): Use 'Y' constraint for gpr load/store. Order
- alternatives.
- (movti_ppc64): Likewise.
- (movdi_internal32): Likewise. Also disparage fprs.
- (movdi_mfpgpr, movdi_internal64): Likewise.
- (movtf_internal): Use 'm' for fpr load/store. Order alternatives.
- (movtf_softfloat): Order alternatives.
- (extenddftf2_internal): Use 'm' and 'Y' for store.
- (movti_power, movti_string): Use 'Y' for gpr load/store. Order.
- (stack_protect_setdi, stack_protect_testdi): Likewise.
- (movdf_hardfloat64_mfpgpr, movdf_hardfloat64): Order alternatives.
- (movdf_softfloat64): Likewise.
- (reload_<mode>_store): Adjust reload_di_store to provide
- reload_si_store as well.
- (reload_<mode>_load): Likewise.
-
-2012-07-23 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/predicates.md (general_movsrc_operand,
- general_movdst_operand): Reject T_REG.
- * config/sh/sh.md (*extendqisi2_compact_reg, *extendhisi2_compact_reg,
- movsi_i, movsi_ie, movsi_i_lowpart, *movqi_reg_reg, *movhi_reg_reg):
- Remove T_REG alternatives.
- (*negtstsi): New insn.
-
-2012-07-23 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53511
- * config/sh/sh.md (mulsf3_ie): Delete.
- (mulsf3_i4): Rename to mulsf3_i.
- (mulsf3): Emit mulsf3_i insn.
-
-2012-07-23 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md (addc1, subc1): Delete.
- (adddi3_compact): Use addc instead of addc1.
- (subdi3_compact): Use subc instead of subc1.
-
-2012-07-23 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype.
- * config/i386/i386.c (ix86_lea_outperforms): Make static. Make
- split_cost argument signed.
- (ix86_avoid_lea_for_add): Cleanup.
- (ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1.
- (ix86_avoid_lea_for_addr): Ditto. Make split_cost signed.
- Use gen_lowpart instead of gen_rtx_SUBREG. Cleanup.
-
-2012-07-23 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * config/arm/arm.c (arm_reorg): Ensure all insns are split.
-
-2012-07-23 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/53961
- * config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
- * config/i386/i386.c (ix86_print_operand_address): Ditto.
- (ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...)))
- addresses. Prevent zero extensions of CONST_INT operands.
-
-2012-07-23 Steven Bosscher <steven@gcc.gnu.org>
-
- * sbitmap.h (struct int_list): Remove.
- (sbitmap_intersect_of_predsucc, sbitmap_union_of_predsucc):
- Remove prototypes of non-existing function.
- (sbitmap_intersect_of_predecessors, sbitmap_intersect_of_successors,
- sbitmap_union_of_predecessors, sbitmap_union_of_successors): Remove
- unused defines.
- (sbitmap_intersection_of_succs, sbitmap_intersection_of_preds,
- sbitmap_union_of_succs, sbitmap_union_of_preds): Move prototypes to...
- * basic-block.h: ... here.
- * sbitmap.c: Do not include basic-block.h.
- (sbitmap_intersection_of_succs, sbitmap_intersection_of_preds,
- sbitmap_union_of_succs, sbitmap_union_of_preds): Move functions to...
- * cfganal.c: ... here.
- * bt-load.c (compute_out, link_btr_uses): Update for above changes.
- * gcse.c (compute_code_hoist_vbeinout): Likewise.
- * lcm.c (compute_antinout_edge, compute_available): Likewise.
- * Makefile.in: Fix sbitmap.o dependencies.
-
-2012-07-23 Jan-Benedict Glaw <jbglaw@lug-owl.de>
- Nick Clifton <nickc@redhat.com>
-
- * config/frv/frv-protos.h (frv_ifcvt_machdep_init): Prototype.
- * config/frv/frv.c (frv_ifcvt_machdep_init): Change type of
- (unused) parameter to void *.
-
-2012-07-23 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-alias.c (dump_alias_info): Walk over local decls
- instead of referenced vars.
-
-2012-07-23 Steven Bosscher <steven@gcc.gnu.org>
-
- * coverage.c: Refer to "notes file" instead of "graph file"
- in all comments. Explain history of bbg prefix.
- * gcov-io.h: Likewise.
- * gcov.c: Likewise.
- (find_source): Likewise in fnotice.
- (read_graph_file): Likewise.
- (read_count_file): Likewise.
- * doc/gcov.texi: Document -fprofile-dir flag. Add "notes file"
- and "data file" explicitly in the explanation of the files.
-
-2012-07-22 Steven Bosscher <steven@gcc.gnu.org>
-
- PR tree-optimization/53881
- * tree-cfg.c (group_case_labels_stmt): Look up the basic block
- for each label and compare them instead of labels.
-
-2012-07-22 Steven Bosscher <steven@gcc.gnu.org>
-
- * opts.c (common_handle_option): Do not set
- flag_value_profile_transformations for -fprofile-generate.
- * profile.c (instrument_values): Use COUNTER_FOR_HIST_TYPE.
- (BB_TO_GCOV_INDEX): Remove.
- (output_location): Don't use it.
- (branch_prob): Likewise. Don't fiddle with the index of
- ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR. Use clear_aux_for_blocks.
- (find_spanning_tree):
- * gcov.c (struct function_info): Document that blocks 0 and 1
- are the entry resp. exit blocks in gcov, too, like in GCC itself.
- (solve_flow_graph): Use ENTRY_BLOCK and EXIT_BLOCK for special
- blocks identification.
- (output_lines): Likewise.
- * value-prof.c (gimple_value_profile_transformations): Do not
- test flag_value_profile_transformations again.
- (gimple_ic_transform): Take a gimple_stmt_iterator like all other
- transformation functions.
- (gimple_values_to_profile):
- Don't test flag_value_profile_transformations
- * tree-profile.c (tree_profiling): Assert that the cgraph is in
- the CGRAPH_STATE_IPA_SSA state.
- Do not set, or look at, after_tree_profile.
- * function.h (struct function): Remove after_tree_profile bit.
- * omp-low.c (expand_omp_taskreg): Don't set after_tree_profile.
- * tree-inline.c (initialize_cfun): Don't copy it.
- * lto-streamer-out.c (output_struct_function_base): Don't stream it.
- * lto-streamer-in.c (input_struct_function_base): Likewise.
-
-2012-07-22 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.h (TARGET_DYNSHIFT): New macro.
- (SH_DYNAMIC_SHIFT_COST): Use it.
- * config/sh/sh.c (expand_ashiftrt, shl_sext_kind): Likewise.
- (sh_dynamicalize_shift_p): Add TARGET_DYNSHIFT condition.
- Add sanity check for input value. Add function description.
- * config/sh/sh.md (ashlsi3, ashlsi3_std, ashrsi3_d, lshrsi3,
- lshrsi3_d): Use TARGET_DYNSHIFT.
-
-2012-07-22 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md (negc): Delete expander.
- (*negc): Rename insn to negc.
-
-2012-07-22 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/53961
- * config/i386/i386.md (*lea): New insn pattern.
- (*lea_1): Remove.
- (*lea<mode>_2): Ditto.
- (*lea_{3,4,5,6}_zext): Ditto.
- * config/i386/predicates.md (lea_address_operand): Do not reject
- zero-extended address operands.
- * config/i386/constraints.md (j): Remove address constraint.
- * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
- of an address.
- (ix86_print_operand_address): Handle SImode subreg of an address.
- (ix86_avoid_lea_for_addr): Reject zero-extended addresses for now.
-
-2012-07-22 Hans-Peter Nilsson <hp@axis.com>
-
- Emit executable-stack note correctly for CRIS targets.
- * config/cris/cris.c (cris_file_end): New function.
- (TARGET_ASM_FILE_END): Define.
-
-2012-07-22 Chung-Lin Tang <cltang@codesourcery.com>
- Maxim Kuvyrkov <maxim@codesourcery.com>
- NetLogic Microsystems Inc.
-
- * config/mips/mips.c (mips_issue_rate): Handle XLP.
- * config/mips/mips.md: Include xlp.md.
- * config/mips/xlp.md: New file.
-
-2012-07-21 Steven Bosscher <steven@gcc.gnu.org>
-
- PR gcov-profile/32543
- * profile.c (branch_prob): Update total_num_edges_instrumented and
- report the number of edges to instrument.
-
-2012-07-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md: Correct comment regarding clrt and sett insns.
-
-2012-07-21 Andrew Pinski <apinski@cavium.com>
-
- * config/mips/mips.md (*popcountdi2_trunc): New pattern
- to handle popcount of a truncation.
-
-2012-07-21 Andrew Pinski <apinski@cavium.com>
-
- * config/mips/mips-protos.h (mips_expand_ext_as_unaligned_load):
- Add a bool argument.
- * config/mips/mips.c (mips_block_move_straight): Update call to
- mips_expand_ext_as_unaligned_load.
- (mips_expand_ext_as_unaligned_load): Add unsigned_p argument.
- Accept DImode dest when the width is that of SImode.
- * config/mips/mips.md (extv): Update call to
- mips_expand_ext_as_unaligned_load.
- (extzv): Likewise.
-
-2012-07-21 Andrew Pinski <apinski@cavium.com>
-
- * config/mips/mips.c (mips_get_unaligned_mem): Copy *op after calling
- adjust_address.
-
-2012-07-20 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * config/mips/mips.md (define_attr sync_*): Move before "type".
- (define_attr "type"): New values "atomic" and "syncloop".
- * config/mips/sync.md (atomic_exchange<mode>, atomic_fetch_add<mode>):
- Set "type" attribute.
- * config/mips/generic.md (generic_atomic, generic_syncloop):
- New reservations.
- * config/mips/10000.md, config/mips/20kc.md,
- * config/mips/24k.md, config/mips/4130.md,
- * config/mips/4k.md, config/mips/5400.md,
- * config/mips/5500.md, config/mips/5k.md,
- * config/mips/7000.md, config/mips/74k.md,
- * config/mips/9000.md, config/mips/loongson2ef.md,
- * config/mips/loongson3a.md, config/mips/octeon.md,
- * config/mips/sb1.md, config/mips/sr71k.md,
- * config/mips/xlr.md: Handle "atomic" and "syncloop" types.
-
-2012-07-20 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md: Group and sort shift related patterns.
- (ashlsi3_n, *ashlhi3_n, lshrsi3_n): Remove length attributes.
-
-2012-07-20 Hans-Peter Nilsson <hp@axis.com>
-
- * config/cris/cris.c (cris_asm_output_ident): Remove unused
- local variables section_asm_op, size, buf.
-
-2012-07-20 Pat Haugen <pthaugen@us.ibm.com>
- Steven Bosscher <steven@gcc.gnu.org>
-
- * config/rs6000/power4.md (power4-store-update): Fix reservation.
- (power4-three): Likewise.
-
-2012-07-20 Sameera Deshpande <sameera.deshpande@arm.com>
- Greta Yorsh <Greta.Yorsh@arm.com>
-
- * config/arm/arm.c (arm_cortex_a15_tune): New tune.
- * config/arm/arm-cores.def (cortex-a15): Use it.
-
-2012-07-20 Sameera Deshpande <sameera.deshpande@arm.com>
- Greta Yorsh <Greta.Yorsh@arm.com>
-
- * config/arm/arm-protos.h (tune_params): Add prefer_ldrd_strd.
- * config/arm/arm.c (arm_slowmul_tune): Initialize it.
- (arm_fastmul_tune, arm_strongarm_tune): Likewise.
- (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune): Likewise.
- (arm_cortex_tune, arm_cortex_a5_tune, arm_cortex_a9_tune): Likewise.
- (arm_fa726te_tune): Likewise.
-
-2012-07-20 Richard Guenther <rguenther@suse.de>
-
- * tree-dfa.c (collect_dfa_stats): Simplify.
- * tree-ssa-structalias.c (compute_may_aliases): Do not dump
- referenced vars.
- * cfgexpand.c (estimated_stack_frame_size): Walk over local
- decls instead of referenced vars.
- * tree-ssa.c (delete_tree_ssa): Simplify.
- * tree-tailcall.c (find_tail_calls): Walk over local decls
- instead of referenced vars.
- (add_virtual_phis): Remove.
- (tree_optimize_tail_calls_1): Instead mark the virtual operand
- for renaming.
-
-2012-07-20 Steven Bosscher <steven@gcc.gnu.org>
-
- * basic-block.h (BB_FLAGS_TO_PRESERVE): New define.
- (brief_dump_cfg): Update prototype to take flags argument.
- (check_bb_profile): Remove prototype.
- * tracer.c (tracer): Update brief_dump_cfg calls.
- * cfghooks.c (dump_bb): Do not pass TDF_COMMENT to dump_bb_info.
- Call dump_bb_info before and after the cfghook dump_bb. Terminate
- the dump with a newline.
- (dump_flow_info): Do not call check_bb_profile.
- * cfg.c (clear_bb_flags): Update using BB_FLAGS_TO_PRESERVE.
- (check_bb_profile): Make static. Take indent and flags arguments.
- (dump_bb_info): Always dump loop depth. With TDF_DETAILS, call
- check_bb_profile. Print one edge per line.
- (brief_dump_cfg): Take a flags argument, and filter out
- TDF_COMMENT and TDF_DETAILS.
- * pretty-print.c (pp_base_newline): Set pp_needs_newline to false.
- * gimple-pretty-print.c (dump_gimple_bb_header): Do not use
- dump_bb_info here, it is already called from dump_bb. Idem for
- check_bb_profile.
- (dump_gimple_bb_footer): Likewise.
- (gimple_dump_bb_buff): Call pp_flush after dump_gimple_stmt to
- avoid broken dumps for statement histograms.
- (gimple_dump_bb): Handle ENTRY_BLOCK and EXIT_BLOCK. Do
- not call pp_flush here, the buffer should be empty.
- * sched-rgn.c (debug_region): Pass TDF_BLOCKS to dump_bb.
- * sched-vis.c (debug_bb_slim): Likewise.
- * tree-cfg.c (remove_bb): Pass dump_flags to dump_bb.
- (gimple_debug_bb): Pass TDF_BLOCKS to dump_bb.
- (gimple_dump_cfg): Do brief_dump_cfg with TDF_COMMENT.
- (dump_function_to_file): Do not call check_bb_profile on
- ENTRY_BLOCK and EXIT_BLOCK, check_bb_profile doesn't handle them.
- Use dump_bb instead of gimple_dump_bb.
- (print_loops_bb): Use dump_bb instead of gimple_dump_bb.
- * passes.c (execute_function_dump): Always call print_rtl_with_bb
- for RTL dumps.
- * cfgrtl.c (print_rtl_with_bb): Handle printing without an up-to-date
- CFG. With TDF_BLOCKS and TDF_DETAILS, do DF dumps at the top and
- bottom of each basic block.
-
-2012-07-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54031
- * tree-ssa-ccp.c (get_value_from_alignment): Use
- get_pointer_alignment_1.
-
-2012-07-20 Richard Guenther <rguenther@suse.de>
-
- * tree-inline.c (add_local_variables): Remove check_var_ann
- parameter and dead code.
- (expand_call_inline): Adjust.
- (tree_function_versioning): Likewise.
-
-2012-07-20 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/28656
- * tree-vrp.c (nonnull_arg_p): Handle all nonnull attributes instead
- of just the first one.
-
-2012-07-20 Richard Guenther <rguenther@suse.de>
-
- * builtins.c (get_object_alignment_2): Correct offset handling
- when using type alignment of a MEM_REF kind base.
-
-2012-07-20 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/53877
- * config/i386/lzcntintrin.h (_lzcnt_u32): New.
- (_lzcnt_u64): Ditto.
-
-2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
-
-2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
- defining statement is a SSA name that occurs in abnormal PHIs.
-
-2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimple-fold.c (canonicalize_constructor_val): Strip only useless type
- conversions.
-
-2012-07-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/53942
- * function.c (assign_parm_setup_reg): Avoid zero/sign extension
- directly from likely spilled non-fixed hard registers, move them
- to pseudo first.
-
-2012-07-19 Steve Ellcey <sellcey@mips.com>
-
- * config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in
- MIPS16 mode.
-
-2012-07-19 Jason Merrill <jason@redhat.com>
-
- PR debug/53235
- * dwarf2out.c (get_die_parent): New.
- (generate_type_signature): Use it.
-
-2012-07-19 Richard Henderson <rth@redhat.com>
-
- * config/ia64/vect.md (smulv4hi3_highpart): New.
- (umulv4hi3_highpart): New.
- (vec_widen_smult_even_v4hi): Rename from pmpy2_even.
- (vec_widen_smult_odd_v4hi): Rename from pmpy2_odd.
- (udot_prodv8qi, sdot_prodv8qi): Remove.
- (sdot_prodv4hi, udot_prodv4hi): Remove.
- * config/ia64/ia64.c (ia64_expand_dot_prod_v8qi): Remove.
- * config/ia64/ia64-protos.h: Update.
-
- * tree-vect-patterns.c (vect_recog_divmod_pattern): Do not require
- vectors larger than UNITS_PER_WORD.
-
- * expr.c (store_constructor): Initialize icode with CODE_FOR_nothing.
- * tree-vect-stmts.c (vectorizable_operation): Use LAST_INSN_CODE for
- dummy != CODE_FOR_nothing value.
-
-2012-07-19 Uros Bizjak <ubizjak@gmail.com>
-
- * doc/tm.texi.in (MODE_AFTER): Add entity as the first macro argument.
- * doc/tm.texi: Regenerate.
- * mode-switching.c (optimize_mode_switching): Update MODE_AFTER call.
- * config/sh/sh.h (MODE_AFTER): Update.
- * config/epiphany/epiphany.h (MODE_AFTER): Update.
-
-2012-07-19 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/54017
- * tree-cfgcleanup.c (cleanup_omp_return): Remove.
- (cleanup_tree_cfg_bb): Don't call it.
- * omp-low.c (expand_omp_sections): Fix up the !exit_reachable case
- handling.
-
-2012-07-19 Christian Bruel <christian.bruel@st.com>
-
- PR target/54029
- * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
-
-2012-07-19 Richard Guenther <rguenther@suse.de>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
- about transition from invariant to known bits.
- (likely_value): Addresses with UNDEFINED components are UNDEFINED.
-
-2012-07-19 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53970
- * tree-vect-data-refs.c (not_size_aligned): Avoid sign-compare warning.
-
-2012-07-19 Tristan Gingold <gingold@adacore.com>
- Richard Henderson <rth@redhat.com>
-
- * opts.c (finish_options): Handle UI_SEH.
- * expr.c (build_personality_function): Handle UI_SEH.
- * dwarf2out.c (dwarf2out_begin_prologue): Handle UI_SEH.
- * coretypes.h (unwind_info_type): Add UI_SEH.
- * config/i386/winnt.c (i386_pe_seh_emit_except_personality):
- New function.
- (i386_pe_seh_init_sections): Likewise.
- * config/i386/cygming.h (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): Define.
- (TARGET_ASM_INIT_SECTIONS): Define.
- * common/config/i386/i386-common.c (TARGET_EXCEPT_UNWIND_INFO): Define.
- (i386_except_unwind_info): New function.
-
-2012-07-18 Maciej W. Rozycki <macro@codesourcery.com>
- Chao-ying Fu <fu@mips.com>
-
- * config/mips/mips.opt (mmcu): New option.
- * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define
- _mips_mcu when TARGET_MCU.
- (ASM_SPEC): Pass mcu options to the assembler.
- * doc/invoke.texi (MIPS Options): Document -mmcu and -mno-mcu.
-
-2012-07-18 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * config.gcc (v850-*-rtems*): New target.
- * config/v850/rtems.h: New.
- * config/v850/t-rtems: New.
-
-2012-07-18 Bill Schmidt <wschmidt@linux.ibm.com>
-
- * doc/invoke.texi: Add -fhoist-adjacent-loads and -ftree-slsr to list
- of flags controlling optimization; add -ftree-slsr to list of flags
- enabled by default at -O; add -fhoist-adjacent-loads to list of flags
- enabled by default at -O2; add -fvect-cost-model to list of flags
- enabled by default at -O3; document -fhoist-adjacent-loads and
- -ftree-slsr.
- * opts.c (default_option): Make -ftree-slsr default at -O1 and above.
- * gimple-ssa-strength-reduction.c (gate_strength_reduction): Use
- flag_tree_slsr.
- * common.opt: Add -ftree-slsr with flag_tree_slsr.
-
-2012-07-18 Jie Zhang <jzhang918@gmail.com>
- Julian Brown <julian@codesourcery.com>
-
- * config/arm/arm.c (arm_rtx_costs_1): Adjust cost for CONST_VECTOR.
- (arm_size_rtx_costs): Likewise.
- (neon_valid_immediate): Add a case for double 0.0.
-
-2012-07-18 Andrew Stubbs <ams@codesourcery.com>
- Mark Shinwell <shinwell@codesourcery.com>
- Julian Brown <julian@codesourcery.com>
-
- * config/arm/vfp.md (*arm_movsi_vfp, *thumb2_movsi_vfp)
- (*movdi_vfp_cortexa8, *movsf_vfp, *thumb2_movsf_vfp)
- (*movdf_vfp, *thumb2_movdf_vfp, *movsfcc_vfp)
- (*thumb2_movsfcc_vfp, *movdfcc_vfp, *thumb2_movdfcc_vfp): Add
- neon_type.
- * config/arm/arm.md (neon_type): Update comment.
-
-2012-07-18 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53970
- * tree.h (contains_packed_reference): Remove.
- * expr.c (contains_packed_reference): Likewise.
- * tree-vect-data-refs.c (not_size_aligned): New function.
- (vector_alignment_reachable_p): Use it.
- (vect_supportable_dr_alignment): Likewise.
-
-2012-07-18 Richard Guenther <rguenther@suse.de>
-
- * tree.h (get_object_or_type_alignment): Remove.
- * builtins.c (get_object_alignment_2): New function copied from
- get_object_alignment_1. Take extra argument to indicate whether
- we take the address of EXP. Rework to use type alignment information
- if not, and return whether the result is an approximation or not.
- (get_object_alignment_1): Wrap around get_object_alignment_2.
- (get_pointer_alignment_1): Call get_object_alignment_2 indicating
- we take the address.
- (get_object_or_type_alignment): Remove.
- * expr.c (expand_assignment): Call get_object_alignment.
- (expand_expr_real_1): Likewise.
-
-2012-07-18 Nick Clifton <nickc@redhat.com>
-
- * doc/invoke.texi (ARM Options): Document -munaligned-access.
-
-2012-07-18 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md (mulsidi3, umulsidi3): Remove constraints in
- expander. Use arith_reg_dest predicate.
- (rotldi3, rotrdi3): Remove constraints in expander.
- (adddi3_compact, subdi3_compact, mulsidi3_compact, umulsidi3_compact,
- ashlsi3_n, *ashlhi3_n, ashrsi2_16, ashrsi2_31, lshrsi3_n): Convert to
- insn_and_split.
-
-2012-07-18 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/33135
- * config/sh/sh.opt (mieee): Use Var instead of Mask. Correct
- description.
- * config/sh/sh.c (sh_option_override): Do not change
- flag_finite_math_only. Set TARGET_IEEE to complement of
- flag_finite_math_only.
- * doc/invoke.texi (SH options): Add mno-ieee. Correct description
- of mieee and mno-ieee behavior.
-
-2012-07-18 Steven Bosscher <steven@gcc.gnu.org>
-
- * graphite-poly.c (print_pbb_body): Fixup dump_bb call.
-
-2012-07-18 Steven Bosscher <steven@gcc.gnu.org>
-
- * dumpfile.h (TDF_COMMENT): New define.
- * basic-block.h (EDGE_FALLTHRU, EDGE_ABNORMAL, EDGE_ABNORMAL_CALL,
- EDGE_EH, EDGE_FAKE, EDGE_DFS_BACK, EDGE_CAN_FALLTHRU,
- EDGE_IRREDUCIBLE_LOOP, EDGE_SIBCALL, EDGE_LOOP_EXIT, EDGE_TRUE_VALUE,
- EDGE_FALSE_VALUE, EDGE_EXECUTABLE, EDGE_CROSSING, EDGE_PRESERVE):
- Move to new file cfg-flags.h.
- (enum cfg_edge_flags): New enum, using cfg-flags.h.
- (EDGE_ALL_FLAGS): Compute value automatically.
- (BB_NEW, BB_REACHABLE, BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK,
- BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION,
- BB_DUPLICATED, BB_NON_LOCAL_GOTO_TARGET, BB_RTL,
- BB_FORWARDER_BLOCK, BB_NONTHREADABLE_BLOCK, BB_MODIFIED, BB_VISITED,
- BB_IN_TRANSACTION): Move to new file cfg-flags.h.
- (enum bb_flags): Rename to cfg_bb_flags. Use cfg-flags.h.
- (BB_ALL_FLAGS): New, compute value automatically.
- (dump_bb_info): Update prototype.
- (dump_edge_info): Update prototype.
- * cfg-flags.h: New file.
- * cfg.c (dump_edge_info): Take flags argument. Be verbose only if
- TDF_DETAILS and not TDF_SLIM. Include cfg-flags.h for bitnames.
- Check that the edge flags are within the range of EDGE_ALL_FLAGS.
- (debug_bb): Update dump_bb call.
- (dump_cfg_bb_info): Remove.
- (dump_bb_info): New function. Use cfg-flags.h for bitnames.
- Adjust verbosity using TDF_* flags. Check that the basic block flags
- are within the range of BB_ALL_FLAGS.
- (brief_dump_cfg): Use dump_bb_info instead of dump_cfg_bb_info.
- * cfghooks.h (struct cfghooks): Update dump_bb hook, take a FILE
- first for consistency with other dump functions.
- (dump_bb): Update prototype accordingly.
- * cfghooks.c: Include dumpfile.h.
- (verify_flow_info): Update dump_edge_info calls.
- (dump_bb): Take a flags argument and pass it around.
- Use dump_bb_info to dump common information about a basic block.
- (dump_flow_info): Moved here from cfgrtl.c. Make IL agnostic.
- (debug_flow_info): Moved here from cfgrtl.c.
- * profile.c (is_edge_inconsistent): Update dump_bb calls.
- * loop-invariant.c (find_defs): Update print_rtl_with_bb call.
- * rtl.h (debug_bb_n_slim, debug_bb_slim, print_rtl_slim,
- print_rtl_slim_with_bb): Remove prototypes.
- (dump_insn_slim): Adjust prototype to take a const_rtx.
- (print_rtl_with_bb): Adjust prototype.
- * sched-rgn.c (debug_region): Use dump_bb instead of debug_bb_n_slim.
- * sched-vis.c (dump_insn_slim): Take a const_rtx.
- (debug_insn_slim): Prototype here near DEBUG_FUNCTION marker.
- (print_rtl_slim_with_bb): Remove.
- (print_rtl_slim): Rename to debug_rtl_slim. Print only insn info,
- not basic block info (print_rtl_with_bb with TDF_SLIM should be used
- for that. Prototype here near DEBUG_FUNCTION marker.
- (debug_bb_slim): Prototype here near DEBUG_FUNCTION marker.
- Use dump_bb.
- (debug_bb_n_slim): Prototype here near DEBUG_FUNCTION marker.
- * tree-cfg.c (gimple_can_merge_blocks_p): Use EDGE_COMPLEX.
- (remove_bb): Update dump_bb call.
- (gimple_debug_bb): Use dump_bb.
- (dump_function_to_file): Update gimple_dump_bb call.
- (print_loops_bb): Likewise.
- * tree-flow.h (gimple_dump_bb): Update prototype.
- * gimple-pretty-print.c (dump_bb_header): Rename to
- dump_gimple_bb_header. Write to a stream instead of a pretty
- printer. Use dump_bb_info to dump basic block info.
- (dump_bb_end): Rename to dump_gimple_bb_footer. Write to a
- stream instead of a pretty printer. Use dump_bb_info.
- (gimple_dump_bb_buff): Do not call dump_bb_header and dump_bb_end.
- (gimple_dump_bb): Do it here with dump_gimple_bb_header and
- dump_gimple_bb_footer.
- * cfgrtl.c (rtl_dump_bb): Update prototype. Only dump DF if the
- dump flags have TDF_DETAILS. Use dump_insn_slim if TDF_SLIM.
- (print_rtl_with_bb): Take a flags argument and pass it around.
- Use dump_insn_slim if TDF_SLIM.
- (dump_bb_info): Removed and re-incarnated in cfg.c.
- (dump_flow_info): Moved to cfghooks.c.
- (debug_flow_info): Moved to cfghooks.c.
- * passes.c (execute_function_dump): Unconditionally use
- print_rtl_with_bb for RTL dumps, now that it understands TDF_SLIM.
- * final.c (dump_basic_block_info): Update dump_edge_info calls.
- * tree-vrp.c (dump_asserts_for): Likewise.
- * ifcvt.c (if_convert): Unconditionally use print_rtl_with_bb.
- * tree-if-conv.c (if_convertible_bb_p): Don't look at
- EDGE_ABNORMAL_CALL, it has no meaning in the GIMPLE world.
- * trans-mem.c (make_tm_edge): Don't set EDGE_ABNORMAL_CALL,
- for the same reason.
- * config/rl78/rl78.c (rl78_reorg): Update print_rtl_with_bb calls.
-
-2012-07-17 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_get_new_vect_var): Add referenced
- vars here, use create_tmp_reg where appropriate.
- (vect_create_addr_base_for_vector_ref): Do not add referenced
- vars here, use create_tmp_reg where appropriate.
- (vect_create_data_ref_ptr): Likewise.
- (vect_create_destination_var): Likewise.
- (vect_permute_store_chain): Likewise.
- (vect_permute_load_chain): Likewise.
- * tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
- Likewise.
- * tree-vect-loop.c (get_initial_def_for_induction): Likewise.
- * tree-vect-patterns.c (vect_recog_temp_ssa_var): Likewise.
- (vect_handle_widen_op_by_const): Likewise.
- * tree-vect-stmts.c (vect_init_vector): Likewise.
- (vectorizable_load): Likewise.
-
-2012-07-17 Tom de Vries <tom@codesourcery.com>
-
- * hwint.c: Fix loop range.
-
-2012-07-17 Tom de Vries <tom@codesourcery.com>
-
- * double-int.h (double_int_popcount): New inline function.
- * hwint.c (popcount_hwi): New function.
- * hwint.h (popcount_hwi): Declare function. New inline function.
-
-2012-07-17 Richard Henderson <rth@redhat.com>
-
- * tree-vect-stmts.c (supportable_widening_operation): Remove decl
- parameters.
- (vectorizable_conversion): Update supportable_widening_operation call.
- * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Likewise.
- (vect_recog_widen_shift_pattern): Likewise.
- * tree-vectorizer.h: Update decl.
-
-2012-07-17 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
- Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * common/config/arm/arm-common.c (arm_option_optimization_table):
- Enable -fsched-pressure by default while optimizing.
- * config/arm/arm.c (arm_option_override): Use the alternate scheduler
- pressure algorithm by default.
-
-2012-07-16 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.h (CONST_OK_FOR_I06): Delete.
- (CONST_OK_FOR_I10): Move macro to ...
- * config/sh/sh.c: ... here.
- (sh_legitimate_index_p): Use satisfies_constraint_I06 instead of
- CONST_OK_FOR_I06.
-
-2012-07-16 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md: Delete mov related define_peephole patterns.
-
-2012-07-16 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/53919
- * doc/install.texi (Installing GCC): Refer to instructions for
- released versions. Fix hyphenation.
-
-2012-07-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c (targetm): Move to bottom of file.
- (spu_attribute_table): Likewise.
- (spu_option_override, spu_init_builtins, spu_builtin_decl,
- spu_scalar_mode_supported_p, spu_vector_mode_supported_p,
- spu_legitimate_address_p, spu_addr_space_legitimate_address_p,
- adjust_operand, get_pic_reg, need_to_save_reg, frame_emit_store,
- frame_emit_load, frame_emit_add_imm, emit_nop_for_insn,
- insn_clobbers_hbr, spu_emit_branch_hint, spu_emit_vector_compare,
- get_branch_target, spu_machine_dependent_reorg, spu_sched_issue_rate,
- spu_sched_variable_issue, spu_sched_adjust_cost, spu_sched_init_global,
- spu_sched_init, spu_sched_reorder, spu_handle_fndecl_attribute,
- spu_handle_vector_attribute, spu_pass_by_reference, spu_function_arg,
- spu_function_arg_advance, spu_build_builtin_va_list, spu_va_start,
- spu_gimplify_va_arg_expr, store_with_one_insn_p, reg_aligned_for_addr,
- spu_assemble_integer, spu_asm_globalize_label, spu_rtx_costs,
- spu_function_ok_for_sibcall, spu_init_libfuncs, spu_return_in_memory,
- spu_encode_section_info, spu_legitimize_address,
- spu_addr_space_legitimize_address, spu_builtin_mask_for_load,
- spu_builtin_vectorization_cost, spu_vector_alignment_reachable,
- spu_addr_space_pointer_mode, spu_addr_space_address_mode,
- spu_addr_space_subset_p, spu_addr_space_convert, spu_sms_res_mii,
- spu_section_type_flags, spu_select_section, spu_unique_section,
- spu_trampoline_init, spu_conditional_register_usage,
- spu_ref_may_alias_errno, spu_output_mi_thunk, spu_unwind_word_mode,
- spu_libgcc_cmp_return_mode, spu_libgcc_shift_count_mode,
- spu_setup_incoming_varargs): Remove prototypes.
- (spu_legitimize_address): Add "static" to definition.
-
-2012-07-16 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/rtmintrin.h (_xabort): Remove trailing semicolon.
-
-2012-07-16 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * tree-ssa-ccp.c (optimize_unreachable): Check gsi_end_p
- before calling gsi_stmt.
-
-2012-07-16 Kirill Yukhin <kirill.yukhin@intel.com>
-
- Revert
- 2012-07-16 Sergey Melnikov <sergey.melnikov@intel.com>
-
- * config/i386/i386.md (stack_protect_set): Disable the pattern
- for Android since Android libc (bionic) does not provide random
- value for stack protection guard at gs:0x14. Guard value
- will be provided from external symbol (default implementation).
- (stack_protect_set_<mode>): Likewise.
- (stack_protect_test): Likewise.
- (stack_protect_test_<mode>): Likewise.
-
-2012-07-16 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/53959
- PR bootstrap/53963
- * gimple.c (gimple_types_compatible_p_1): Restore type attribute
- comparison.
-
-2012-07-16 Bill Schmidt <wschmidt@linux.ibm.com>
-
- * opts.c (default_option): Add -fvect-cost-model to default options
- at -O3 and above.
-
-2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
-
- * graphite-clast-to-gimple.c, graphite-dependences.c,
- graphite-sese-to-poly.c: Include tree-pass.h instead of dumpfile.h
- for pass TODO flags.
- * Makefile.in: Fix dependencies.
-
-2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
-
- * haifa-sched.c (init_before_recovery): Do not set EDGE_CAN_FALLTHRU.
- * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
-
- * function.c (stack_protect_epilogue): Use expand_call to expand
- targetm.stack_protect_fail.
- * stmt.c (expand_expr_stmt): Remove now-unused function.
- * tree.h (expand_expr_stmt): Remove prototype.
- * doc/tm.texi.in (TARGET_STACK_PROTECT_FAIL): Document that this
- hook must return a CALL_EXPR.
- * doc/tm.texi: Regenerate.
-
- * emit-rtl.c (emit_label_before): Do not allow the same label
- to be emitted twice.
- (emit_label_after): Likewise.
- (emit_label): Likewise.
-
- * flags.h (TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED,
- TYPE_OVERFLOW_TRAPS, POINTER_TYPE_OVERFLOW_UNDEFINED): Move to tree.h.
- * tree.h (TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED,
- TYPE_OVERFLOW_TRAPS, POINTER_TYPE_OVERFLOW_UNDEFINED): New home.
-
-2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
-
- * system.h (dump_file): Do not define.
- * tree-pass.h: Include dumpfile.h, which is a new file containing...
- (enum tree_dump_index, TDF_*, get_dump_file_name, dump_enabled_p,
- dump_initialized_p, dump_begin, dump_end, dump_node, dump_switch_p,
- dump_flag_name, dump_file, dump_flags, dump_file_name,
- get_dump_file_info, struct dump_file_info): all of this, moved to...
- * dumpfile.h: Here, new file.
- * tree-dump.h: Include dumpfile.h, but not tree-pass.h.
- (dump_stmt): Remove prototype for C++ specific function.
- (dump_enumerated_decls): Move prototype from here...
- * tree-flow.h (dump_enumerated_decls): ... to here.
- (get_ref_base_and_extent) Move prototype from here ...
- * tree.h (get_ref_base_and_extent) ... to here.
- * tree-ssa-live.c: Do not inclde tree-pretty-print.h, because
- gimple-pretty-print.h is enough. Do not include tree-dump.h,
- include timevar.h and dumpfile.h instead.
- (struct numbered_tree_d, compare_decls_by_uid,
- dump_enumerated_decls_push, dump_enumerated_decls): Move from here ...
- * tree-dfa.c:(struct numbered_tree_d, compare_decls_by_uid,
- dump_enumerated_decls_push, dump_enumerated_decls):... to here.
- Do not include timevar.h.
- * tree.c: Do not include timevar.h.
- * tree-cfg.c: Do not include langhooks.h, tree-pretty-print.h, and
- timevar.h.
- (dump_cfg_stats): Use current_function_name.
- (gimple_cfg2vcg): Likewise.
- (dump_function_to_file): Likewise.
- * df-scan.c: Do not include tree-pass.h and timevar.h.
- Include dumpfile.h.
- (df_entry_block_bitmap_verify, df_exit_block_bitmap_verify): Do not
- use print_current_pass.
- * df-problems.c: Include dumpfile.h.
- Always define REG_DEAD_DEBUGGING, avoid #ifdef code, because it
- leads to errors in the code not selected.
- (df_note_compute): Do not print_rtl_with_bb here. Fix compilation
- bug if REG_DEAD_DEBUGGING is not 0, get_insns is not available here.
- * lcm.c: Include dumpfile.h.
- Remove obsolete include of insn-attr.h.
- * dojump.c (do_compare_rtx_and_jump): Remove failure printing for
- missing probability notes.
- * stmt.c: Include dumpfile.h.
- (emit_case_decision_tree): Re-enable printing expand details only
- if TDF_DETAILS.
- * alias.c, auto-inc-dec.c, bb-reorder.c, caller-save.c, cfg.c,
- cfgcleanup.c, cfgexpand.c, cfgloop.c, cfgloopmanip.c, cgraph.c,
- cgraphclones.c, cgraphunit.c, combine.c, combine-stack-adj.c,
- coverage.c, cprop.c, cse.c, cselib.c, dbgcnt.c, dce.c, df-core.c,
- dse.c, dwarf2out.c, emit-rtl.c, except.c, expr.c, final.c,
- function.c, fwprop.c, gcse.c, gimple-fold.c,
- gimple-pretty-print.c, gimple-ssa-strength-reduction.c,
- gimplify.c, graphite-blocking.c, graphite-clast-to-gimple.c,
- graphite-dependences.c, graphite-interchange.c,
- graphite-optimize-isl.c, graphite-poly.c,
- graphite-sese-to-poly.c, haifa-sched.c, hw-doloop.c, ifcvt.c,
- ipa.c, ipa-cp.c, ipa-inline-analysis.c, ipa-inline.c,
- ipa-inline-transform.c, ipa-prop.c, ipa-pure-const.c,
- ipa-reference.c, ipa-split.c, ipa-utils.c, ira.c, ira-emit.c,
- jump.c, loop-doloop.c, loop-init.c, loop-invariant.c, loop-iv.c,
- loop-unroll.c, loop-unswitch.c, lower-subreg.c,
- lto-section-out.c, lto-streamer-in.c, matrix-reorg.c, mcf.c,
- mode-switching.c, modulo-sched.c, omega.c, omp-low.c, passes.c,
- plugin.c, postreload.c, postreload-gcse.c, predict.c, print-rtl.c,
- print-tree.c, profile.c, recog.c, ree.c, regcprop.c, reginfo.c,
- regmove.c, regrename.c, reg-stack.c, reload1.c, reorg.c,
- sched-rgn.c, sched-vis.c, sel-sched.c, sel-sched-ir.c,
- store-motion.c, tracer.c, trans-mem.c, tree-affine.c,
- tree-call-cdce.c, tree-cfgcleanup.c, tree-chrec.c,
- tree-data-ref.c, tree-diagnostic.c, tree-dump.c,
- tree-eh.c, tree-flow-inline.h, tree-if-conv.c, tree-into-ssa.c,
- tree-mudflap.c, tree-nrv.c, tree-object-size.c,
- tree-optimize.c, tree-outof-ssa.c, tree-predcom.c,
- tree-pretty-print.c, tree-profile.c, tree-scalar-evolution.c,
- tree-sra.c, tree-ssa-address.c, tree-ssa-alias.c, tree-ssa.c,
- tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-copy.c,
- tree-ssa-copyrename.c,, tree-ssa-dce.c, tree-ssa-dom.c,
- tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-ifcombine.c,
- tree-ssa-loop.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
- tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c,
- tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
- tree-ssa-loop-prefetch.c, tree-ssa-loop-unswitch.c,
- tree-ssa-math-opts.c, tree-ssa-operands.c, tree-ssa-phiopt.c,
- tree-ssa-phiprop.c, tree-ssa-pre.c, tree-ssa-propagate.c,
- tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-sink.c,
- tree-ssa-structalias.c, tree-ssa-tail-merge.c, tree-ssa-ter.c,
- tree-ssa-threadedge.c, tree-ssa-threadupdate.c,
- tree-ssa-uncprop.c, tree-ssa-uninit.c,
- tree-switch-conversion.c, tree-tailcall.c,
- tree-vect-data-refs.c, tree-vect-loop.c,
- tree-vect-loop-manip.c, tree-vectorizer.c,
- tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.c,
- tree-vrp.c, value-prof.c, var-tracking.c, web.c: Include tree-pass.h
- only if needed. If tree-pass.h is included, do not include timevar.h
- and dumpfile.h. If tree-pass.h is not included but dump_file, or
- dump_flags, or the TDF_* flags are used, include dumpfile.h.
- If gimple-pretty-print.h is included, don't include
- tree-pretty-print.h. Remove assorted unnecessary includes.
-
- * config/mn10300/mn10300.c, config/c6x/c6x.c, config/ia64/ia64.c,
- config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c,
- config/spu/spu.c, config/mep/mep.c, config/i386/i386.c:
- Include dumpfile.h.
- * config/rl78/rl78.c: Include dumpfile.h instead of tree-pass.h.
- * arm/t-arm, avr/t-avr, i386/t-i386, ia64/t-ia64, mep/t-mep,
- spu/t-spu-elf: Fix dependencies.
-
-2012-07-16 Dehao Chen <dehao@google.com>
-
- Revert
- 2012-07-10 Dehao Chen <dehao@google.com>
-
- * tree.h (phi_arg_d): New field.
- * tree-flow-inline.h (gimple_phi_arg_block): New function.
- (gimple_phi_arg_block_from_edge): New function.
- (gimple_phi_arg_set_block): New function.
- (gimple_phi_arg_has_block): New function.
- (redirect_edge_var_map_block): New function.
- * tree-flow.h (_edge_var_map): New field.
- * tree-ssa-live.c (remove_unused_locals): Mark phi_arg's block as used.
- * tree-eh.c (cleanup_empty_eh_merge_phis): Add block debug info for
- redirect_edge_var_map_add.
- * tree-outof-ssa.c (_elim_graph): New field.
- (insert_partition_copy_on_edge): New parameter.
- (insert_value_copy_on_edge): New parameter.
- (insert_rtx_to_part_on_edge): New parameter.
- (insert_part_to_rtx_on_edge): New parameter.
- (elim_graph_add_edge): New parameter.
- (elim_graph_remove_succ_edge): New parameter.
- (FOR_EACH_ELIM_GRAPH_SUCC): New parameter.
- (FOR_EACH_ELIM_GRAPH_PRED): New parameter.
- (new_elim_graph): Add block debug info.
- (clear_elim_graph): Likewise.
- (delete_elim_graph): Likewise.
- (elim_graph_add_node): Likewise.
- (elim_graph_add_edge): Likewise.
- (elim_graph_remove_succ_edge): Likewise.
- (eliminate_build): Likewise.
- (elim_forward): Likewise.
- (elim_unvisited_predecessor): Likewise.
- (elim_backward): Likewise.
- (elim_create): Likewise.
- (eliminate_phi): Likewise.
- (insert_backedge_copies): Likewise.
- * tree-into-ssa.c (insert_phi_nodes_for): Add block debug info for
- add_phi_arg.
- (rewrite_add_phi_arguments): Likewise.
- * tree-ssa-loop-im.c (execute_sm_if_changed): Likewise.
- * tree-ssa-tail-merge.c (replace_block_by): Likewise.
- * tree-ssa-threadupdate.c (copy_phi_args): Likewise.
- * tree-loop-distribution.c (update_phis_for_loop_copy): Likewise.
- * tree-ssa-loop-manip.c (create_iv): Likewise.
- (add_exit_phis_edge): Likewise.
- (split_loop_exit_edge): Likewise.
- (copy_phi_node_args): Likewise.
- (tree_transform_and_unroll_loop): Likewise.
- * value-prof.c (gimple_ic): Likewise.
- (gimple_stringop_fixed_value): Likewise.
- * tree-tailcall.c (add_successor_phi_arg): Likewise.
- (eliminate_tail_call): Likewise.
- (create_tailcall_accumulator): Likewise.
- (tree_optimize_tail_calls_1): Likewise.
- * tree-phinodes.c (add_phi_arg): Likewise.
- (make_phi_node): Likewise.
- (resize_phi_node): Likewise.
- (remove_phi_arg_num): Likewise.
- * omp-low.c (expand_parallel_call): Likewise.
- (expand_omp_for_static_chunk): Likewise.
- * tree-vect-loop-manip.c (slpeel_update_phis_for_duplicate_loop):
- Likewise.
- (slpeel_update_phi_nodes_for_guard1): Likewise.
- (slpeel_update_phi_nodes_for_guard2): Likewise.
- (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
- (set_prologue_iterations): Likewise.
- (slpeel_tree_peel_loop_to_edge): Likewise.
- (vect_loop_versioning): Likewise.
- * tree-parloops.c (create_phi_for_local_result): Likewise.
- (transform_to_exit_first_loop): Likewise.
- (create_parallel_loop): Likewise.
- * ipa-split.c (split_function): Likewise.
- * tree-vect-loop.c (get_initial_def_for_induction): Likewise.
- (vect_create_epilog_for_reduction): Likewise.
- * tree-vect-data-refs.c (vect_setup_realignment): Likewise.
- * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Likewise.
- * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
- (cond_if_else_store_replacement_1): Likewise.
- * tree-cfgcleanup.c (remove_forwarder_block): Likewise.
- (remove_forwarder_block_with_phi): Likewise.
- * tree-ssa-pre.c (insert_into_preds_of_block): Likewise.
- * tree-predcom.c (initialize_root_vars): Likewise.
- (initialize_root_vars_lm): Likewise.
- * sese.c (sese_add_exit_phis_edge): Likewise.
- * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
- * tree-ssa.c (flush_pending_stmts): Likewise.
- (redirect_edge_var_map_add): Likewise.
- (ssa_redirect_edge): Likewise.
- * gimple-streamer-in.c (input_phi): Likewise.
- * tree-vect-stmts.c (vectorizable_load): Likewise.
- * tree-inline.c (copy_phis_for_bb): Likewise.
- * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
- * tree-switch-conversion.c (fix_phi_nodes): Likewise.
- * tree-cfg.c (reinstall_phi_args): Likewise.
- (gimple_make_forwarder_block): Likewise.
- (add_phi_args_after_copy_edge): Likewise.
- (gimple_duplicate_sese_tail): Likewise.
-
-2012-07-16 Sergey Melnikov <sergey.melnikov@intel.com>
-
- * config/i386/i386.md (stack_protect_set): Disable the pattern
- for Android since Android libc (bionic) does not provide random
- value for stack protection guard at gs:0x14. Guard value
- will be provided from external symbol (default implementation).
- (stack_protect_set_<mode>): Likewise.
- (stack_protect_test): Likewise.
- (stack_protect_test_<mode>): Likewise.
-
-2012-07-16 Hans-Peter Nilsson <hp@axis.com>
-
- * config/cris/cris-protos.h (cris_legitimate_address_p): Declare.
- * config/cris/cris.h (CONSTANT_ADDRESS_P): Define in terms of
- CONSTANT_P and cris_legitimate_address_p.
- * config/cris/cris.c (cris_legitimate_address_p): Make non-static.
- (cris_preferred_reload_class): Don't return GENERAL_REGS as
- preferred to MOF_SRP_REGS.
-
- * config/cris/cris.c (cris_init_libfuncs): Handle initialization
- of library functions for basic atomic compare-and-swap.
- * config/cris/cris.h (TARGET_ATOMICS_MAY_CALL_LIBFUNCS): New macro.
- * config/cris/cris.opt (munaligned-atomic-may-use-library): New option.
- * config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>")
- ("cris_atomic_fetch_<atomic_op_name><mode>_1")
- ("atomic_compare_and_swap<mode>")
- ("cris_atomic_compare_and_swap<mode>_1"): Make conditional on
- TARGET_ATOMICS_MAY_CALL_LIBFUNCS for sizes larger than byte.
- * config/cris/cris.c (cris_print_operand) <case 'P', 'q'>: New cases.
- * config/cris/sync.md (atomic_op_op_cnstr): New code_attr.
- (atomic_op_op_pred): Ditto.
- (atomic_op_mnem_pre_op2): Renamed from atomic_op_mnem_pre; to
- reflect the change to include %2 in expansion. All callers changed.
- (qm3): New mode_attr.
- ("atomic_fetch_<atomic_op_name><mode>"): Use <atomic_op_op_pred>
- as predicate for operand 2.
- ("cris_atomic_fetch_<atomic_op_name><mode>_1"): Update FIXME. Use
- "<atomic_op_op_pred>" "<atomic_op_op_cnstr>" for predicate and
- constraint for operand 2.
- ("atomic_compare_and_swap<mode>"): Add FIXME. Change predicate to
- nonmemory_operand for operand 3.
- ("cris_atomic_compare_and_swap<mode>_1"): Change operand 3 to
- exclude memory. Improve emitted sync code for v10 and v32. Use
- <qm3> instead of <m> for size designator for cmp.
- ("atomic_compare_and_swap<mode>"): Change predicate to
- nonmemory_operand for operand 3. Add FIXME.
- ("cris_atomic_compare_and_swap<mode>_1"): Change predicates and
- constraints for operand 3 to exclude memory.
- ("atomic_fetch_<atomic_op_name><mode>")
- ("atomic_compare_and_swap<mode>"): Gate expand_mem_thread_fence
- calls on result of call to need_atomic_barrier_p.
-
-2012-07-15 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.md (move_type): Replace mfhilo and mthilo
- with mflo and mtlo.
- (type): Split mfhilo into mfhi and mflo. Split mthilo into mthi
- and mtlo. Adjust move_type->type mapping.
- (may_clobber_hilo): Split mthilo into mthi and mtlo.
- (*movdi_32bit, *movdi_32bit_mips16, *movdi_64bit, *movdi_64bit_mips16)
- (*mov<mode>_internal, *mov<mode>_mips16, *movhi_internal)
- (*movhi_mips16, *movqi_internal, *movqi_mips16): Use mtlo and mflo
- instead of mthilo and mfhilo.
- (mfhi<GPR:mode>_<HILO:mode>): Use mfhi instead of mfhilo.
- (mthi<GPR:mode>_<HILO:mode>): Use mthi instead of mthilo.
- * config/mips/mips-dsp.md (mips_extr_w, mips_extr_r_w, mips_extr_rs_w)
- (mips_extr_s_h, mips_extp, mips_extpdp, mips_shilo, mips_mthlip):
- Use mflo instead of mfhilo.
- * config/mips/10000.md (r10k_arith): Split mthilo.
- (r10k_mfhi, r10k_mflo): Use mfhi and mflo directly.
- * config/mips/sb1.md (ir_sb1_mfhi, ir_sb1_mflo): Likewise.
- (ir_sb1_mthilo): Split mthilo into mthi and mtlo.
- * config/mips/20kc.md (r20kc_imthilo, r20kc_imfhilo): Split
- mthilo and mfhilo.
- * config/mips/24k.md (r24k_int_mfhilo, r24k_int_mthilo): Likewise.
- * config/mips/4130.md (vr4130_class, vr4130_mfhilo, vr4130_mthilo):
- Likewise.
- * config/mips/4k.md (r4k_int_mthilo, r4k_int_mfhilo): Likewise.
- * config/mips/5400.md (ir_vr54_hilo): Likewise.
- * config/mips/5500.md (ir_vr55_mthilo, ir_vr55_mfhilo): Likewise.
- * config/mips/5k.md (r5k_int_mthilo, r5k_int_mfhilo): Likewise.
- * config/mips/7000.md (rm7_mthilo, rm7_mfhilo): Likewise.
- * config/mips/74k.md (r74k_int_mfhilo, r74k_int_mthilo): Likewise.
- * config/mips/9000.md (rm9k_mfhilo, rm9k_mthilo): Likewise.
- * config/mips/generic.md (generic_hilo): Likewise.
- * config/mips/loongson2ef.md (ls2_alu): Likewise.
- * config/mips/loongson3a.md (ls3a_mfhilo): Likewise.
- * config/mips/octeon.md (octeon_imul_o1, octeon_imul_o2)
- (octeon_mfhilo_o1, octeon_mfhilo_o2): Likewise.
- * config/mips/sr71k.md (ir_sr70_hilo): Likewise.
- * config/mips/xlr.md (xlr_hilo): Likewise.
-
-2012-07-14 Andrew Stubbs <ams@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * config/sh/sh.h (SH_ASM_SPEC): Add spaces between options.
-
-2012-07-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_set_reg_reg_cost): Enable TFmode/TCmode
- for TARGET_SSE.
-
-2012-07-14 Steven Bosscher <steven@gcc.gnu.org>
-
- * toplev.c (init_asm_output): Open asm_out_file in 'w' mode.
-
-2012-07-13 Bill Schmidt <wschmidt@linux.ibm.com>
-
- PR bootstrap/53955
- * config/spu/spu.c (spu_init_cost): Mark static.
- (spu_add_stmt_cost): Likewise.
- (spu_finish_cost): Likewise.
- (spu_destroy_cost_data): Likewise.
- * config/i386/i386.c (ix86_init_cost): Mark static.
- (ix86_add_stmt_cost): Likewise.
- (ix86_finish_cost): Likewise.
- (ix86_destroy_cost_data): Likewise.
- * config/rs6000/rs6000.c (rs6000_init_cost): Mark static.
- (rs6000_add_stmt_cost): Likewise.
- (rs6000_finish_cost): Likewise.
- (rs6000_destroy_cost_data): Likewise.
-
-2012-07-13 Steven Bosscher <steven@gcc.gnu.org>
-
- * ggc.h (ggc_internal_alloc_stat, ggc_alloc_typed_stat,
- ggc_internal_cleared_alloc_stat, ggc_cleared_alloc_htab_ignore_args,
- ggc_cleared_alloc_ptr_array_two_args, ggc_splay_alloc): Add
- ATTRIBUTE_MALLOC.
- * alloc-pool.h (pool_alloc): Likewise.
-
- * final.c (final): Do not loop to find max_uid.
-
-2012-07-13 Steven Bosscher <steven@gcc.gnu.org>
-
- * emit-rtl.c (make_debug_insn_raw, make_jump_insn_raw): Make static.
- * rtl.h (make_debug_insn_raw, make_jump_insn_raw): Remove prototypes.
-
-2012-07-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53907
- * tree-ssa-forwprop.c (associate_pointerplus): New function.
- (ssa_forward_propagate_and_combine): Call it.
-
-2012-07-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53922
- * tree-vrp.c (value_inside_range): Change prototype to take
- min/max instead of value-range.
- (range_includes_zero_p): Likewise. Return the result from
- value_inside_range.
- (extract_range_from_binary_expr_1): Adjust to handle dont-know
- return value from range_includes_zero_p.
- (extract_range_from_unary_expr_1): Likewise.
- (compare_range_with_value): Likewise.
- (vrp_meet_1): Likewise.
-
-2012-07-13 Bill Schmidt <wschmidt@linux.ibm.com>
-
- * doc/tm.texi: Regenerate.
- * doc/tm.texi.in (TARGET_VECTORIZE_INIT_COST): New hook.
- (TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
- (TARGET_VECTORIZE_FINISH_COST): Likewise.
- (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
- * targhooks.c (default_init_cost): New function.
- (default_add_stmt_cost): Likewise.
- (default_finish_cost): Likewise.
- (default_destroy_cost_data): Likewise.
- * targhooks.h (default_init_cost): New decl.
- (default_add_stmt_cost): Likewise.
- (default_finish_cost): Likewise.
- (default_destroy_cost_data): Likewise.
- * target.def (init_cost): New DEFHOOK.
- (add_stmt_cost): Likewise.
- (finish_cost): Likewise.
- (destroy_cost_data): Likewise.
- * target.h (struct _stmt_vec_info): New extern decl.
- (stmt_vectype): Likewise.
- (stmt_in_inner_loop_p): Likewise.
- * tree-vectorizer.h (stmt_info_for_cost): New struct/typedef.
- (stmt_vector_for_cost): New VEC/typedef.
- (add_stmt_info_to_vec): New function.
- (struct _slp_tree): Remove cost.inside_of_loop field.
- (struct _slp_instance): Remove cost.inside_of_loop field; add
- stmt_cost_vec field.
- (SLP_INSTANCE_INSIDE_OF_LOOP_COST): Remove macro.
- (SLP_INSTANCE_STMT_COST_VEC): New accessor macro.
- (SLP_TREE_INSIDE_OF_LOOP_COST): Remove macro.
- (struct _vect_peel_extended_info): Add stmt_cost_vec field.
- (struct _loop_vec_info): Add target_cost_data field.
- (LOOP_VINFO_TARGET_COST_DATA): New accessor macro.
- (struct _bb_vec_info): Add target_cost_data field.
- (BB_VINFO_TARGET_COST_DATA): New accessor macro.
- (struct _stmt_vec_info): Remove cost.inside_of_loop field.
- (STMT_VINFO_INSIDE_OF_LOOP_COST): Remove macro.
- (stmt_vinfo_set_inside_of_loop_cost): Remove function.
- (init_cost): New function.
- (add_stmt_cost): Likewise.
- (finish_cost): Likewise.
- (destroy_cost_data): Likewise.
- (vect_model_simple_cost): Change parameter list.
- (vect_model_store_cost): Likewise.
- (vect_model_load_cost): Likewise.
- (record_stmt_cost): New extern decl.
- (vect_get_load_cost): Change parameter list.
- (vect_get_store_cost): Likewise.
- * tree-vect-loop.c (new_loop_vec_info): Call init_cost.
- (destroy_loop_vec_info): Call destroy_cost_data.
- (vect_estimate_min_profitable_iters): Remove old calculation of
- inside costs; call finish_cost instead.
- (vect_model_reduction_cost): Call add_stmt_cost instead of old
- inside-costs calculation.
- (vect_model_induction_cost): Likewise.
- * tree-vect-data-refs.c (vect_get_data_access_cost): Change to
- return a stmt_vector_for_cost; modify calls to vect_get_load_cost
- and vect_get_store_cost to obtain the value to return.
- (vect_peeling_hash_get_lowest_cost): Obtain a stmt_cost_vec from
- vect_get_data_access_cost and store it in the minimum peeling
- structure.
- (vect_peeling_hash_choose_best_peeling): Change the parameter list
- to add a (stmt_vector_for_cost *) output parameter, and set its value.
- (vect_enhance_data_refs_alignment): Ignore the new return value from
- calls to vect_get_data_access_cost; obtain stmt_cost_vec from
- vect_peeling_hash_choose_best_peeling and pass its contents to the
- target cost model.
- * tree-vect-stmts.c (stmt_vectype): New function.
- (stmt_in_inner_loop_p): Likewise.
- (record_stmt_cost): Likewise.
- (vect_model_simple_cost): Add stmt_cost_vec parameter; call
- record_stmt_cost instead of old calculation; don't call
- stmt_vinfo_set_inside_of_loop_cost.
- (vect_model_promotion_demotion_cost): Call add_stmt_cost instead of
- old calculation; don't call stmt_vinfo_set_inside_of_loop_cost.
- (vect_model_store_cost): Add stmt_cost_vec parameter; call
- record_stmt_cost instead of old calculation; add stmt_cost_vec
- parameter to vect_get_store_cost call; don't call
- stmt_vinfo_set_inside_of_loop_cost.
- (vect_get_store_cost): Add stmt_cost_vec parameter; call
- record_stmt_cost instead of old calculation.
- (vect_model_load_cost): Add stmt_cost_vec parameter; call
- record_stmt_cost instead of old calculation; add stmt_cost_vec
- parameter to vect_get_load_cost call; don't call
- stmt_vinfo_set_inside_of_loop_cost.
- (vect_get_load_cost): Add stmt_cost_vec parameter; call
- record_stmt_cost instead of old calculation.
- (vectorizable_call): Add NULL parameter to vect_model_simple_cost call.
- (vectorizable_conversion): Likewise.
- (vectorizable_assignment): Likewise.
- (vectorizable_shift): Likewise.
- (vectorizable_operation): Likewise.
- (vectorizable_store): Add NULL parameter to vect_model_store_cost call.
- (vectorizable_load): Add NULL parameter to vect_model_load_cost call.
- (new_stmt_vec_info): Don't set STMT_VINFO_INSIDE_OF_LOOP_COST.
- * config/spu/spu.c (TARGET_VECTORIZE_INIT_COST): New macro def.
- (TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
- (TARGET_VECTORIZE_FINISH_COST): Likewise.
- (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
- (spu_init_cost): New function.
- (spu_add_stmt_cost): Likewise.
- (spu_finish_cost): Likewise.
- (spu_destroy_cost_data): Likewise.
- * config/i386/i386.c (ix86_init_cost): New function.
- (ix86_add_stmt_cost): Likewise.
- (ix86_finish_cost): Likewise.
- (ix86_destroy_cost_data): Likewise.
- (TARGET_VECTORIZE_INIT_COST): New macro def.
- (TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
- (TARGET_VECTORIZE_FINISH_COST): Likewise.
- (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
- * config/rs6000/rs6000.c (TARGET_VECTORIZE_INIT_COST): New macro def.
- (TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
- (TARGET_VECTORIZE_FINISH_COST): Likewise.
- (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
- (rs6000_init_cost): New function.
- (rs6000_add_stmt_cost): Likewise.
- (rs6000_finish_cost): Likewise.
- (rs6000_destroy_cost_data): Likewise.
- * tree-vect-slp.c (vect_free_slp_instance): Free stmt_cost_vec.
- (vect_create_new_slp_node): Don't set SLP_TREE_INSIDE_OF_LOOP_COST.
- (vect_get_and_check_slp_defs): Add stmt_cost_vec parameter; add
- stmt_cost_vec parameter to vect_model_store_cost and
- vect_model_simple_cost calls.
- (vect_build_slp_tree): Remove inside_cost parameter; add stmt_cost_vec
- parameter; add stmt_cost_vec parameter to vect_get_and_check_slp_defs,
- vect_model_load_cost, and recursive vect_build_slp_tree calls; prevent
- calculating cost more than once for loads; remove inside_cost
- parameter from recursive vect_build_slp_tree calls; call
- record_stmt_cost instead of old calculation.
- (vect_analyze_slp_instance): Allocate stmt_cost_vec and save it with
- the instance; free it on premature exit; remove inside_cost parameter
- from vect_build_slp_tree call; add stmt_cost_vec parameter to
- vect_build_slp_tree call; don't set SLP_INSTANCE_INSIDE_OF_LOOP_COST.
- (new_bb_vec_info): Call init_cost.
- (destroy_bb_vec_info): Call destroy_cost_data.
- (vect_bb_vectorization_profitable_p): Call add_stmt_cost for each
- statement recorded with an SLP instance; call finish_cost instead of
- the old calculation.
- (vect_update_slp_costs_according_to_vf): Record statement costs from
- SLP instances, multiplying by the appropriate number of copies; don't
- update SLP_INSTANCE_INSIDE_OF_LOOP_COST.
-
-2012-07-13 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53937
- * builtins.c (get_pointer_alignment_1): Handle constant
- pointers.
-
-2012-07-13 Richard Sandiford <rdsandiford@googlemail.com>
- Steven Bosscher <steven@gcc.gnu.org>
- Bernd Schmidt <bernds@codesourcery.com>
-
- PR rtl-optimization/53908
- * df-problems.c (can_move_insns_across): When doing
- memory-reference book-keeping, handle call insns.
-
-2012-07-13 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_types_compatible_p_1): Remove redundant
- type attribute comparisons.
- (gimple_canonical_types_compatible_p): Likewise.
-
-2012-07-12 Hans-Peter Nilsson <hp@axis.com>
-
- PR rtl-optimization/53176
- * rtlanal.c (rtx_cost): Adjust default cost for X with a
- UNITS_PER_WORD factor for all X according to the size of
- its mode, not just for SUBREGs with untieable modes.
- Handle SET. Use factor * factor for MULT, DIV, UDIV,
- MOD, UMOD.
-
-2012-07-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (QImode and HImode cmove splitters): Merge
- QImode and HImode splitters. Use ix86_comparison_operator.
- Explicitly match FLAGS_REG.
- (DFmode cmove splitter): Explicitly match FLAGS_REG.
-
-2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
-
- * expr.h (can_move_by_pieces): Move prototype from here ...
- * tree.h (can_move_by_pieces): ... to here.
- * optabs.h (set_widening_optab_handler): Use XCNEW.
- * gimplify.c: Do not include expr.h.
-
- * toplev.c: Do not include dwarf2out.h.
- * config/ia64/ia64.c: Likewise.
- * config/sparc/sparc.c: Likewise.
- * config/sparc/t-sparc (sparc.o): Fix dependencies.
-
- * Makefile.in (toplev.o): Fix dependencies
- (c-family/c-gimplify.o): Likewise.
- (c-family/c-common.o): Likewise.
-
-2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
-
- * basic-block.h (struct edge_def): Use basic_block instead of
- basic_block_def *.
- * cfgloop.h (struct loop_exit, struct loop): Likewise.
- * gengenrtl.c (type_from_format): Likewise. Also for 'tree'
- instead of union tree_node *.
- * rtl.h (union rtunion_def, emit_insn_before_noloc,
- emit_insn_after_noloc, add_insn_before, add_insn_after,
- debug_bb_slim): Likewise.
- * tree-inline.h (struct copy_body_data): Likewise.
- * sched-rgn.c (dump_region_dot): Likewise.
- * gimple.h (struct gimple_statement_base, gimple_set_bb,
- gsi_move_to_bb_end): Likewise.
- * sched-vis.c (debug_bb_slim): Likewise.
- (debug_bb_n_slim): Likewise.
- * config/mn10300/mn10300.c (mn10300_insert_setlb_lcc): Likewise.
- (mn10300_block_contains_call):
-
-2012-07-11 Greta Yorsh <Greta.Yorsh@arm.com>
-
- PR target/53859
- * config/arm/arm.c (arm_early_load_addr_dep): Handle new
- epilogue patterns.
-
-2012-07-11 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/extend.texi (Namespace Association): Alter cautionary text.
-
-2012-07-10 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53911
- * config/sh/sh.md: Remove displacement addresssing related splits.
-
-2012-07-10 Xinliang David Li <davidxl@google.com>
-
- * doc/invoke.texi: New option documented.
- * flag-types.h: New enum type.
- * gimplify.c (gimplify_bind_expr): Control
- clobber generation with new option.
- (gimplify_target_expr): Ditto.
- * common.opt: New option.
-
-2012-07-10 Julian Brown <julian@codesourcery.com>
-
- * config/arm/arm.md (movsi): Don't split symbol refs here.
- (define_split): New.
-
-2012-07-10 Andreas Schwab <schwab@linux-m68k.org>
-
- PR bootstrap/53913
- * config/m68k/m68k.c (m68k_epilogue_uses): New.
- * config/m68k/m68k.h (EPILOGUE_USES): Use it.
- * config/m68k/m68k-protos.h (m68k_epilogue_uses): Add prototype.
-
-2012-07-10 Richard Henderson <rth@redhat.com>
-
- * target.def (builtin_mul_widen_even, builtin_mul_widen_odd): Remove.
- * system.h (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Poison.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Poison.
- * config/i386/i386.c (IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V4SI): Remove.
- (IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V8SI): Remove.
- (IX86_BUILTIN_VEC_WIDEN_UMUL_ODD_V4SI): Remove.
- (IX86_BUILTIN_VEC_WIDEN_UMUL_ODD_V8SI): Remove.
- (IX86_BUILTIN_VEC_WIDEN_SMUL_EVEN_V4SI): Remove.
- (IX86_BUILTIN_VEC_WIDEN_UMUL_EVEN_V4SI): Remove.
- (IX86_BUILTIN_VEC_WIDEN_UMUL_EVEN_V8SI): Remove.
- (bdesc_args): Remove entries to match.
- (ix86_builtin_mul_widen_even, ix86_builtin_mul_widen_odd): Remove.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Remove.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Remove.
- * config/rs6000/rs6000.c (rs6000_builtin_mul_widen_even): Remove.
- (rs6000_builtin_mul_widen_odd): Remove.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Remove.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Remove.
- * config/spu/spu.c (spu_builtin_mul_widen_even): Remove.
- (spu_builtin_mul_widen_odd): Remove.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Remove.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Remove.
- * doc/tm.texi.in: Don't document the removed hooks.
-
- * tree-vect-stmts.c (supportable_widening_operation): Expand
- WIDEN_MULT_EXPR via VEC_WIDEN_MULT_EVEN/ODD_EXPR if possible.
-
- * expmed.c (expmed_mult_highpart): Rename from expand_mult_highpart.
- (expmed_mult_highpart_optab): Rename from expand_mult_highpart_optab.
- * optabs.c (can_mult_highpart_p): New.
- (expand_mult_highpart): New.
- * expr.c (expand_expr_real_2) [MULT_HIGHPART_EXPR): Use it.
- * tree-vect-generic.c (expand_vector_operations_1): Don't expand
- by pieces if can_mult_highpart_p.
- (expand_vector_divmod): Use can_mult_highpart_p and always
- generate MULT_HIGHPART_EXPR.
- * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
- * tree-vect-stmts.c (vectorizable_operation): Likewise.
-
- * config/spu/spu-builtins.md (spu_mpy): Move to spu.md.
- (spu_mpyu, spu_mpyhhu, spu_mpyhh): Likewise.
- * config/spu/spu.md (vec_widen_smult_odd_v8hi): Rename from spu_mpy.
- (vec_widen_umult_odd_v8hi): Rename from spu_mpyu.
- (vec_widen_smult_even_v8hi): Rename from spu_mpyhh.
- (vec_widen_umult_even_v8hi): Rename from spu_mpyhhu.
- * config/spu/spu-builtins.def: Update pattern names to match.
-
- * config/rs6000/altivec.md (vec_widen_umult_even_v16qi): Rename
- from altivec_vmuleub.
- (vec_widen_smult_even_v16qi): Rename from altivec_vmulesb.
- (vec_widen_umult_even_v8hi): Rename from altivec_vmuleuh.
- (vec_widen_smult_even_v8hi): Rename from altivec_vmulesh.
- (vec_widen_umult_odd_v16qi): Rename from altivec_vmuloub.
- (vec_widen_smult_odd_v16qi): Rename from altivec_vmulosb.
- (vec_widen_umult_odd_v8hi): Rename from altivec_vmulouh.
- (vec_widen_smult_odd_v8hi): Rename from altivec_vmulosh.
- * config/rs6000/rs6000-builtin.def: Update pattern names to match.
-
- * config/i386/sse.md (vec_widen_umult_even_v8si): Rename from
- avx2_umulv4siv4di3.
- (vec_widen_umult_even_v4si): Rename from sse2_umulv2siv2di3.
- (vec_widen_smult_even_v8si): Rename from avx2_mulv4siv4di3.
- (mulv4si3): Remove XOP test shadowed by SSE4 test.
- * config/i386/i386.c (bdesc_args): Update pattern names.
- (ix86_expand_sse2_mulvxdi3): Likewise.
- (ix86_expand_mul_widen_evenodd): Likewise. Remove XOP test
- shadowed by SSE4 test.
-
- * tree.def (VEC_WIDEN_MULT_EVEN_EXPR, VEC_WIDEN_MULT_ODD_EXPR): New.
- * cfgexpand.c (expand_debug_expr): Handle them.
- * expr.c (expand_expr_real_2): Likewise.
- * fold-const.c (fold_binary_loc): Likewise.
- * gimple-pretty-print.c (dump_binary_rhs): Likewise.
- * optabs.c (optab_for_tree_code): Likewise.
- * tree-cfg.c (verify_gimple_assign_binary): Likewise.
- * tree-inline.c (estimate_operator_cost): Likewise.
- * tree-pretty-print.c (dump_generic_node): Likewise.
- * tree.c (commutative_tree_code): Likewise.
- * tree-vect-generic.c (expand_vector_operations_1): Likewise.
- Handle type change before looking up optab.
- * optabs.h (OTI_vec_widen_umult_even, OTI_vec_widen_umult_odd): New.
- (OTI_vec_widen_smult_even, OTI_vec_widen_smult_odd): New.
- (vec_widen_umult_even_optab, vec_widen_umult_odd_optab): New.
- (vec_widen_smult_even_optab, vec_widen_smult_odd_optab): New.
- * genopinit.c (optabs): Initialize them.
- * doc/md.texi: Document them.
-
-2012-07-10 Dehao Chen <dehao@google.com>
-
- * tree.h (phi_arg_d): New field.
- * tree-flow-inline.h (gimple_phi_arg_block): New function.
- (gimple_phi_arg_block_from_edge): New function.
- (gimple_phi_arg_set_block): New function.
- (gimple_phi_arg_has_block): New function.
- (redirect_edge_var_map_block): New function.
- * tree-flow.h (_edge_var_map): New field.
- * tree-ssa-live.c (remove_unused_locals): Mark phi_arg's block as used.
- * tree-eh.c (cleanup_empty_eh_merge_phis): Add block debug info for
- redirect_edge_var_map_add.
- * tree-outof-ssa.c (_elim_graph): New field.
- (insert_partition_copy_on_edge): New parameter.
- (insert_value_copy_on_edge): New parameter.
- (insert_rtx_to_part_on_edge): New parameter.
- (insert_part_to_rtx_on_edge): New parameter.
- (elim_graph_add_edge): New parameter.
- (elim_graph_remove_succ_edge): New parameter.
- (FOR_EACH_ELIM_GRAPH_SUCC): New parameter.
- (FOR_EACH_ELIM_GRAPH_PRED): New parameter.
- (new_elim_graph): Add block debug info.
- (clear_elim_graph): Likewise.
- (delete_elim_graph): Likewise.
- (elim_graph_add_node): Likewise.
- (elim_graph_add_edge): Likewise.
- (elim_graph_remove_succ_edge): Likewise.
- (eliminate_build): Likewise.
- (elim_forward): Likewise.
- (elim_unvisited_predecessor): Likewise.
- (elim_backward): Likewise.
- (elim_create): Likewise.
- (eliminate_phi): Likewise.
- (insert_backedge_copies): Likewise.
- * tree-into-ssa.c (insert_phi_nodes_for): Add block debug info for
- add_phi_arg.
- (rewrite_add_phi_arguments): Likewise.
- * tree-ssa-loop-im.c (execute_sm_if_changed): Likewise.
- * tree-ssa-tail-merge.c (replace_block_by): Likewise.
- * tree-ssa-threadupdate.c (copy_phi_args): Likewise.
- * tree-loop-distribution.c (update_phis_for_loop_copy): Likewise.
- * tree-ssa-loop-manip.c (create_iv): Likewise.
- (add_exit_phis_edge): Likewise.
- (split_loop_exit_edge): Likewise.
- (copy_phi_node_args): Likewise.
- (tree_transform_and_unroll_loop): Likewise.
- * value-prof.c (gimple_ic): Likewise.
- (gimple_stringop_fixed_value): Likewise.
- * tree-tailcall.c (add_successor_phi_arg): Likewise.
- (eliminate_tail_call): Likewise.
- (create_tailcall_accumulator): Likewise.
- (tree_optimize_tail_calls_1): Likewise.
- * tree-phinodes.c (add_phi_arg): Likewise.
- (make_phi_node): Likewise.
- (resize_phi_node): Likewise.
- (remove_phi_arg_num): Likewise.
- * omp-low.c (expand_parallel_call): Likewise.
- (expand_omp_for_static_chunk): Likewise.
- * tree-vect-loop-manip.c (slpeel_update_phis_for_duplicate_loop):
- Likewise.
- (slpeel_update_phi_nodes_for_guard1): Likewise.
- (slpeel_update_phi_nodes_for_guard2): Likewise.
- (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
- (set_prologue_iterations): Likewise.
- (slpeel_tree_peel_loop_to_edge): Likewise.
- (vect_loop_versioning): Likewise.
- * tree-parloops.c (create_phi_for_local_result): Likewise.
- (transform_to_exit_first_loop): Likewise.
- (create_parallel_loop): Likewise.
- * ipa-split.c (split_function): Likewise.
- * tree-vect-loop.c (get_initial_def_for_induction): Likewise.
- (vect_create_epilog_for_reduction): Likewise.
- * tree-vect-data-refs.c (vect_setup_realignment): Likewise.
- * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Likewise.
- * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
- (cond_if_else_store_replacement_1): Likewise.
- * tree-cfgcleanup.c (remove_forwarder_block): Likewise.
- (remove_forwarder_block_with_phi): Likewise.
- * tree-ssa-pre.c (insert_into_preds_of_block): Likewise.
- * tree-predcom.c (initialize_root_vars): Likewise.
- (initialize_root_vars_lm): Likewise.
- * sese.c (sese_add_exit_phis_edge): Likewise.
- * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
- * tree-ssa.c (flush_pending_stmts): Likewise.
- (redirect_edge_var_map_add): Likewise.
- (ssa_redirect_edge): Likewise.
- * gimple-streamer-in.c (input_phi): Likewise.
- * tree-vect-stmts.c (vectorizable_load): Likewise.
- * tree-inline.c (copy_phis_for_bb): Likewise.
- * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
- * tree-switch-conversion.c (fix_phi_nodes): Likewise.
- * tree-cfg.c (reinstall_phi_args): Likewise.
- (gimple_make_forwarder_block): Likewise.
- (add_phi_args_after_copy_edge): Likewise.
- (gimple_duplicate_sese_tail): Likewise.
-
-2012-07-09 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53886
- * config/sh/sh.c (sequence_insn_p): New function.
- (find_barrier, sh_insn_length_adjustment): Use it.
-
-2012-07-09 Iain Sandoe <iain@codesourcery.com>
-
- PR target/53283
- * config/i386/i386.c (ix86_fold_builtin): Call SUBTARGET_FOLD_BUILTIN
- if defined.
- * config/darwin.h: Rename TARGET_FOLD_BUILTIN to
- SUBTARGET_FOLD_BUILTIN.
- * config/rs6000/darwin.h: Map TARGET_FOLD_BUILTIN onto
- SUBTARGET_FOLD_BUILTIN.
-
-2012-07-09 Iain Sandoe <iain@codesourcery.com>
-
- * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Move NeXT
- runtime exceptions model setting from here ...
- * config/darwin.c (darwin_override_options): ... to here.
-
-2012-07-09 Steven Bosscher <steven@gcc.gnu.org>
-
- PR tree-optimization/53887
- * tree-cfg.c (group_case_labels_stmt): Make non-static.
- * tree-flow.h (group_case_labels_stmt): Add prototype.
- * tree-switch-conversion.c (process_switch): Use group_case_labels_stmt
- to pre-process every switch.
-
-2012-07-09 Jason Merrill <jason@redhat.com>
-
- PR c++/53882
- * tree.c (type_contains_placeholder_1): Handle NULLPTR_TYPE.
- (type_hash_eq): Likewise.
-
-2012-07-09 Tom de Vries <tom@codesourcery.com>
- Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-ccp.c (optimize_unreachable): New function.
- (execute_fold_all_builtins): Use optimize_unreachable to optimize
- BUILT_IN_UNREACHABLE. Don't optimize after BUILT_IN_UNREACHABLE.
-
-2012-07-09 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/53898
- * graphite-optimize-isl.c: Make sure CU is not empty.
-
-2012-07-09 Steven Bosscher <steven@gcc.gnu.org>
-
- * gensupport.c (init_rtx_reader_args_cb): Start counting code
- generating patterns from 1 to free up 0 for CODE_FOR_nothing.
- * gencodes.c (main): Give CODE_FOR_nothing the value 0. Add
- the LAST_INSN_CODE marker at the end.
- * genoutput.c (nothing): New static struct data.
- (idata): Initialize to &nothing.
- (idata_end): Initialize to &nothing.next.
- (init_insn_for_nothing): New function to create dummy 'nothing' insn.
- (main): Use it.
- * genpeep.c (insn_code_number): Remove global variable.
- (gen_peephole): Take it as an argument instead.
- (main): Take insn_code_number from read_md_rtx.
- * optabs.h: Revert r161809:
- (optab_handlers): Change type of insn_code back to insn_code.
- (optab_handler, widening_optab_handler, set_optab_handler,
- set_widening_optab_handler, convert_optab_handler,
- set_convert_optab_handler, direct_optab_handler,
- set_direct_optab_handler): Remove int casts.
- Revert to treating the insn_code field as "insn_code".
-
-2012-07-08 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md (*return_i): Move trap_exit attribute check to ...
- * config/sh/sh.c (sh_cfun_trap_exit_p): ... this new function.
- * config/sh/sh-protos.h: Declare it.
-
-2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
-
- * mcf.c: Do not include tm.h, tree.h, and langhooks.h.
- (dump_fixup_graph): Use current_function_name.
- (adjust_cfg_counts): Likewise.
- * ira-conflicts.c: Do not include tree.h.
- (ira_build_conflicts): Use REG_USERVAR_P instead of DECL_ARTIFICIAL.
-
-2012-07-08 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/sh.md (*branch_true_eq, *branch_false_ne, nott): New insns.
-
-2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
-
- * basic-block.h: Re-group most prototypes per file.
- (struct edge_list): Remove num_blocks field.
- (dump_bb_info): Adjust prototypes.
- (dump_reg_info): Move prototype to regs.h.
- * function.h: Do not include tree.h.
- Include vec.h, vecir.h, input.h and machmode.h to compensate.
- (function_name): New prototype.
- * gimple.h: Include tree.h to compensate for basic-block.h change.
- * langhooks.h: Note that tree.h is only necessary for enum tree_code.
- * regs.h (dump_reg_info): Prototype here.
- * regset.h: Adjust file reference in comment.
- (debug_regset): Remove prototype.
- * rtl.h: Include flags.h for flag_var_tracking_assignments.
- (MAY_HAVE_DEBUG_INSNS): Define as flag_var_tracking_assignments
- instead of no-longer-available tree.h's MAY_HAVE_DEBUG_STMTS.
- (dump_reg_info, dump_flow_info): Remove prototypes.
- * bb-reorder.c (set_edge_can_fallthru_flag): Move from cfganal.c
- to here, the only user. Make static.
- (reorder_basic_blocks): Call dump_reg_info before dump_flow_info.
- * cfg.c: Do not include tm.h, tree.h, rtl.h, hard-reg-set.h, regs.h,
- flags.h, function.h, except.h, diagnostic-core.h, tm_p.h, timevar.h,
- tree-pass.h, cfgloop.h, and tree-flow.h.
- Include basic-block.h, the first header I'd expect to be included.
- (reg_obstack): Move to df-core.c.
- (free_edge): Remove bogus ATTRIBUTE_UNUSED.
- (remove_edge_raw): Do not call tree-ssa's redirect_edge_var_map_clear.
- (redirect_edge_succ_nodup): Move to cfghooks.c.
- (dump_regset, debug_regset): Move to df-core.c.
- (dump_bb_info): Move to cfgrtl.c.
- (dump_reg_info): Move to regstat.c.
- (dump_flow_info): Move to cfgrtl.c.
- (debug_flow_info): Likewise.
- (dump_edge_info): Do not look at cfun, a CFG without cfun is nonsense.
- * cfganal.c: Do not include tm.h, rtl.h, obstack.h, hard-reg-set.h,
- insn-config.h, recog.h, diagnostic-core.h, tm_p.h, and cfgloop.h.
- (flow_active_insn_p, forwarder_block_p, can_fallthru,
- could_fall_through): Move to cfgrtl.c.
- (set_edge_can_fallthru_flag): Moved to bb-reorder.c.
- (create_edge_list): Do not set edge_list's removed num_blocks.
- (print_edge_list): Look at n_basic_blocks instead of num_blocks.
- (flow_nodes_print): Remove.
- (flow_edge_list_print): Remove.
- (inverted_post_order_compute): Use FOR_ALL_BB.
- * cfgrtl.c (dump_flow_info): Moved from cfg.c.
- Do not call dump_reg_info.
- (debug_flow_info): Moved from cfg.c
- (dump_bb_info): Moved from cfg.c. Take 'verbose' argument
- to avoid looking at TDF_* flags from tree-pass.h.
- (flow_active_insn_p, forwarder_block_p, can_fallthru,
- could_fall_through): Moved from cfganal.c.
- (print_rtl_with_bb): Adjust dump_bb_info calls.
- * cfghooks.c (redirect_edge_succ_nodup): Moved from cfg.c.
- (remove_edge): Call redirect_edge_var_map_clear if IR_GIMPLE.
- (cfgcleanup.c): Look at MAY_HAVE_DEBUG_INSNS, not MAY_HAVE_DEBUG_STMTS.
- * cselib.c: Include tree.h with a FIXME.
- * df-core.c (reg_obstack): Moved from cfg.c.
- (dump_regset): Likewise.
- (debug_regset): Likewise. Make a DEBUG_FUNCTION.
- * final.c (compute_alignments): Call dump_reg_info before
- dump_flow_info.
- * function.c (function_name): New function.
- (current_function_name): Use it.
- * ifcvt.c (rest_of_handle_if_conversion): Call dump_reg_info before
- dump_flow_info.
- * ira-conflicts.c: Include tree.h with a note.
- * regstat.c (dump_reg_info): Moved here from cfg.c.
- * loop-init.c: Include regs.h instead of hard-reg-set.h.
- (rtl_loop_init): Call dump_reg_info before dump_flow_info.
- (rtl_loop_done): Likewise.
- * mcf.c: Include tree.h before langhooks.h.
- * predict.c (maybe_hot_count_p): Assert we have cfun.
- (probably_never_executed_bb_p): Likewise.
- * profile.c (compute_branch_probabilities): Use gimple_dump_cfg
- instead of dump_flow_info.
- * sched-deps.c: Include tree.h with a FIXME.
- (call_may_noreturn_p): Add FIXME note why this function has to
- look at function decls instead of function decl flags.
- * sched-vis.c: Include tree.h with a FIXME.
- (print_rtl_slim): Adjust dump_bb_info uses.
- * statistics.c (statistics_fini_pass_2): Use current_function_name
- to avoid including tree.h.
- (statistics_counter_event): Use function_name for the same reason.
- (statistics_histogram_event): Likewise.
- * tracer.c (tracer): Remove bogus gcc_assert. Use brief_dump_cfg
- instead of dump_flow_info.
- * var-tracking.c (variable_tracking_main_1): Call dump_reg_info
- before dump_flow_info.
- * doc/cfg.texi: Update CFG documentation.
- * Makefile.in (RTL_H): Depend on FLAGS_H.
- (GIMPLE_H): Depend on TREE_H.
- (FUNCTION_H): Depend on VEC_H, vecir.h, INPUT_H and MACHMODE_H,
- but no longer on TREE_H.
- (C_COMMON_H): Depend on TREE_H.
- (cselib.o, cse.o, cfganal.o, loop-init.o, ira-conflicts.o,
- sched-deps.o, sched-vis.o): Fixup dependencies.
-
-2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
-
- * alias.h: Do not include coretypes.h in header files.
- * cppbuiltin.h: Likewise.
- * double-int.h: Likewise.
- * gimple-fold.h: Likewise.
- * flags.h: Likewise.
- * tree-ssa-alias.h: Likewise.
- * gengtype.h (obstack_chunk_alloc, obstack_chunk_free,
- OBSTACK_CHUNK_SIZE): Define here to avoid dependency on coretypes.h.
- * Makefile.in (RTL_BASE_H): Depend on coretypes.h.
- (TREE_H): Likewise.
- (ALIAS_H): Do not depend on coretypes.h.
- (FLAGS_H): Likewise.
- (realmpfr.o): Depend on coretypes.h.
-
-2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
-
- * Makefile.in (gengtype-lex.o, gengtype-parse.o, gengtype-state.o,
- gengtype.o): Add -DGENERATOR_FILE manually for host gengtype objects.
-
-2012-07-07 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.h (TARGET_CPU_CPP_BUILTINS): Remove Maverick support.
- (TARGET_FPA): Delete definition.
- (TARGET_MAVERICK): Likewise.
- (TARGET_FPA_EMU2): Likewise.
- (arm_fp_model): Remove FPA and Maverick models.
- (arm_arch_cirrus): Delete declaration.
- (FLOAT_WORDS_BIG_ENDIAN): Delete definition.
- (FIXED_REGISTERS): Remove FPA and Maverick support. Reorganize.
- (CALL_USED_REGISTERS): Likewise.
- (FIRST_FPA_REGNUM, LAST_FPA_REGNUM): Delete definition.
- (FIRST_VFP_REGNUM): Renumbered.
- (D7_VFP_REGNUM): Chain definition.
- (LAST_LO_VFP_REGNUM): Likewise.
- (FIRST_HI_VFP_REGNUM): Likewise.
- (LAST_HI_VFP_REGNUM): Likewise.
- (FIRST_IWMMXT_GR_REGNUM): Likewise.
- (LAST_IWMMXT_GR_REGNUM): Likewise.
- (FIRST_IWMMXT_REGNUM): Likewise.
- (LAST_IWMMXT_REGNUM): Likewise.
- (FRAME_POINTER_REGNUM): Renumbered.
- (ARG_POINTER_REGNUM): Renumbered.
- (FIRST_PSEUDO_REGISTER): Remove FPA and Maverick registers.
- (FIRST_CIRRUS_FP_REGNUM, LAST_CIRRUS_FP_REGNUM): Delete definitions.
- (HARD_REGNO_REGNUM): Remove FPA support.
- (REG_ALLOC_ORDER): Remove FPA and Maverick registers. Reorganize.
- (reg_class): Likewise.
- (REG_CLASS_NAMES): Likewise.
- (REG_CLASS_CONTENTS): Likewise.
- (CANNOT_CHANGE_MODE_CLASS): Never true. Update comment.
- (SECONDARY_INPUT_RELOAD_CLASS): Remove Maverick support.
- (CLASS_MAX_NREGS): Remove FPA and Maverick support.
- * aout.h (REGISTER_NAMES): Remove FPA and Maverick registers.
- Reorganize. Use AAPCS preferred names.
- (ADDITIONAL_REGISTER_NAMES): Remove aliases for Maverick. Update
- comments.
- (OVERLAPPING_REGISTER_NAMES): Update register numbering.
- * arm.c (FL_CIRRUS): Delete definition.
- (arm_arch_cirrus): Delete variable.
- (arm_float_words_big_endian): Delete function.
- (cirrus_memory_offset): Delete function.
- (output_mov_long_double_fpa_from_arm): Delete function.
- (output_mov_long_double_arm_from_fpa): Delete function.
- (output_mov_double_fpa_from_arm): Delete function.
- (output_mov_double_arm_from_fpa): Delete function.
- (emit_sfm): Delete function.
- (maybe_get_arm_condition_code): Update comment.
- (arm_file_start): Always use softvfp for softfloat systems.
- (thumb_core_reg_alloc_order): Adjust for updated register allocation.
- (arm_option_override): Remove FPA and Maverick support. Always
- default to vfp as the fallback FPU format.
- (use_return_insn): Remove FPA support.
- (arm_get_frame_offsets): Likewise.
- (arm_save_coproc_regs): Likewise.
- (arm_canonicalize_comparison): Remove Maverick support.
- (arm_select_cc_mode): Likewise.
- (arm_gen_compare_reg): Likewise.
- (arm_print_operand): Likewise.
- (arm_libcall_value_1): Remove FPA and Maverick support.
- (arm_function_value_regno_p): Likewise.
- (arm_apply_result_size): Likewise.
- (arm_legitimate_index_p): Likewise.
- (thumb2_legitimate_index_p): Likewise.
- (legitimize_reload_address): Likewise.
- (arm_register_move_cost): Likewise.
- (arm_hard_regno_mode_ok): Likewise.
- (arm_regno_class): Likewise.
- (arm_dbx_register_number): Likewise.
- (arm_emit_unwind_sequence): Likewise.
- (arm_conditional_register_usage): Likewise.
- * arm-protos.h (neg_const_double_rtx_ok_for_fpa): Remove declaration.
- (cirrus_memory_offset): Likewise.
- (output_move_long_double_fpa_from_arm): Likewise.
- (output_move_long_double_arm_from_fpa): Likewise.
- (output_move_double_fpa_from_arm): Likewise.
- (output_move_double_arm_from_fpa): Likewise.
- (arm_float_words_big_endian): Likewise.
- * arm.md (CC_REGNUM): Renumbered.
- (VFPCC_REGNUM): Moved here. Renumbered.
- (FPA_F0_REGNUM, FPA_F7_REGNUM): Delete.
- (attr fpu): Remove FPA and Maverick support.
- * vfp.md (VFPCC_REGNUM): Delete. Moved to arm.md.
- * arm-cores.def (ep9312): Remove Maverick support.
- * arm-arches.def (ep9312): Delete architecture.
- * arm-tables.opt: Regenerated.
-
- * arm/linux-elf.h (FPUTYPE_DEFAULT): Set to vfp.
-
-2012-07-07 Steven Bosscher <steven@gcc.gnu.org>
-
- PR tree-optimization/53881
- * tree-switch-conversion.c (emit_case_bit_tests): Do not rely on
- comparing labels to establish uniqueness of a switch case target,
- use the CFG instead.
-
-2012-07-07 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour
- due to negative shift amount.
-
-2012-07-07 Hans-Peter Nilsson <hp@axis.com>
-
- Fix configure test for "stack protector support in target C library".
- * configure.ac (test_prefix, test_exec_prefix): Move setting from
- inside sysroot handling to before and outside it.
- * configure: Regenerate.
-
-2012-07-06 Kai Tietz <ktietz@redhat.com>
-
- PR bootstrap/52947
- * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always
- as "/mingw/include".
-
-2012-07-06 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/53820
- * var-tracking.c (vt_add_function_parameter): Convert
- internal_arg_pointer into arg_pointer-based address even
- without DRAP.
-
-2012-07-06 Alexandre Oilva <aoliva@redhat.com>
-
- PR rtl-optimization/53827
- PR debug/53671
- PR debug/49888
- * alias.c (memrefs_conflict_p): Adjust offset and size by the
- same amount for alignment ANDs.
-
-2012-07-06 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/51879
- * tree-ssa-sccvn.c (copy_reference_ops_from_call)
- (visit_reference_op_call): Handle case that lhs is not an SSA_NAME.
- (visit_use): Also call visit_reference_op_call for calls with a vdef.
-
-2012-07-06 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/52009
- * tree-ssa-tail-merge.c (gimple_equal_p): For GIMPLE_ASSIGN, compare
- value numbers of gimple_vdef.
- * tree-ssa-sccvn.h (vn_reference_insert): Add vdef parameter to
- prototype.
- * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle MODIFY_EXPR.
- (vn_reference_insert): Add and handle vdef parameter.
- (visit_reference_op_load): Add argument to vn_reference_insert call.
- (visit_reference_op_store): Find value number of vdef of store. Insert
- value number of vdef of store.
-
-2012-07-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (simple lea to add peephole): Also transform
- RTXes where second PLUS operand matches output.
-
-2012-07-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (construct_plt_address): Make static.
- * config/i386/i386-protos.h (construct_plt_address): Remove.
-
-2012-07-06 Nick Clifton <nickc@redhat.com>
-
- * config/mn10300/mn10300.c (mn10300_encode_section_info): Call
- default_encode_section_info.
-
-2012-07-06 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/53853
- * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
- emit PIC sequence for fnaddr symbol reference in advance.
-
-2012-07-06 Eric Botcazou <ebotcazou@adacore.com>
-
- Revert
- 2012-06-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * dwarf2out.c (function_possibly_abstracted_p): New static function.
- (gen_subprogram_die): Use it function_possibly_abstracted_p in lieu of
- cgraph_function_possibly_inlined_p.
- (gen_inlined_subroutine_die): Return if the origin is to be ignored.
- (process_scope_var): Do not emit concrete instances of abstracted
- nested functions from here.
- (gen_decl_die): Emit the abstract instance if the function is possibly
- abstracted and not only possibly inlined.
- (dwarf2out_finish): Find the first non-abstract parent instance and
- attach concrete instances on the limbo list to it.
-
-2012-07-05 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
- Julian Brown <julian@codesourcery.com>
-
- PR target/48941
- PR target/51980
- * config/arm/neon-gen.ml (return_by_ptr): Delete.
- (print_function): Handle empty strings.
- (return): Delete use of return_by_ptr.
- (mask_shape_for_shuffle): New function.
- (mask_elems): Likewise.
- (shuffle_fn): Likewise.
- (params): Simplify and remove use of return_by_ptr.
- (get_shuffle): New function.
- (print_variant): Update.
- * config/arm/neon.ml (rev_elems): New function.
- (permute_range): Likewise.
- (zip_range): Likewise.
- (uzip_range): Likewise.
- (trn_range): Likewise.
- (zip_elems): Likewise.
- (uzip_elems): Likewise.
- (trn_elems): Likewise.
- (features): New enumeration Use_shuffle. Delete ReturnPtr.
- (pf_su_8_16): New.
- (suf_32): New.
- (ops): Update entries for Vrev64, Vrev32, Vrev16, Vtr, Vzip, Vuzp.
- * config/arm/arm_neon.h: Regenerate.
-
-2012-07-05 Richard Guenther <rguenther@suse.de>
-
- * tree-pretty-print.c (dump_generic_node): Properly test
- the result of exact_log2.
-
-2012-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390-protos.h (s390_expand_movmem)
- (s390_expand_cmpmem): Add return value.
- * config/s390/s390.c (s390_expand_movmem, s390_expand_cmpmem):
- Return FALSE to use the library function in some cases.
- * config/s390/s390.md (movmem, cmpmem): Evaluate return value of C
- helper functions.
-
-2012-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config.gcc: Enable ifunc attribute by default on s390 and s390x.
-
-2012-07-05 Steven Bosscher <steven@gcc.gnu.org>
-
- * expr.c (try_casesi): Remove bogus ATTRIBUTE_UNUSED markers.
- * stmt.c (dump_case_nodes): New.
- (expand_case): Split out code generation parts into new functions.
- (expand_switch_as_decision_tree_p): Split out from expand_case.
- (emit_case_decision_tree): Likewise.
- (emit_case_dispatch_table): Likewise.
-
-2012-07-05 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * config/arm/iterators.md (SDF): New mode iterator.
- (V_if_elem): Add support for SF and DF modes.
- (V_reg): Likewise.
- (F_constraint): New mode iterator attribute.
- (F_fma_type): Likewise.
- config/arm/vfp.md (fma<SDF:mode>4): New pattern.
- (*fmsub<SDF:mode>4): Likewise.
- (*fmnsub<SDF:mode>4): Likewise.
- (*fmnadd<SDF:mode>4): Likewise.
-
-2012-07-04 Uros Bizjak <ubizjak@gmail.com>
-
- * expmed.c (expand_mult): Initialize coeff and is_neg.
-
-2012-07-04 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/predicates.md (zero_extend_operand): New predicate.
- * config/sh/sh.md (zero_extendhisi2): Simplify by using new
- zero_extend_operand predicate.
- (zero_extendqisi2): Likewise.
-
-2012-07-04 Uros Bizjak <ubizjak@gmail.com>
-
- PR middle-end/53321
- * ipa.c (symtab_remove_unreachable_nodes): Partially revert r187375
- to not call cgraph_propagate_frequency if something was changed.
-
-2012-07-04 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53433
- * gimple-fold.c (get_base_constructor): Do not return an
- error_mark_node DECL_INITIAL.
-
-2012-07-04 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53844
- * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
- the loop virtual PHI.
-
-2012-07-04 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53849
- * tree-cfg.c (move_stmt_op): Only call add_referenced_var
- for duplicated locals. Use add_referenced_var_1 to avoid
- pushing/popping cfun.
-
-2012-07-04 Kai Tietz <ktietz@redhat.com>
-
- * config/i386/winnt.c (i386_pe_reloc_rw_mask): New function.
- * config/i386/i386-protos.h (i386_pe_reloc_rw_mask): Add
- prototype.
- * config/i386/cygming.h (TARGET_ASM_RELOC_RW_MASK): Define
- as i386_pe_reloc_rw_mask.
-
-2012-07-04 Richard Guenther <rguenther@suse.de>
-
- * tree.c (find_decls_types_r): Handle TYPE_CONTEXT the same
- as in free_lang_data_in_type.
-
-2012-07-04 Tobias Grosser <tobias@grosser.es>
- Michael Matz <matz@suse.de>
-
- * Makefile.in (OBJS): Add graphite-optimize-isl.o.
- (graphite-optimize-isl.o): Add dependencies.
- * common.opt (floop-nest-optimize): New flag.
- * doc/invoke.texi (floop-nest-optimize): Document.
- * graphite-dependences.c (compute_deps): Export.
- * graphite-poly.h (compute_deps): Declare.
- * graphite-optimize-isl.c: New file.
- * graphite-poly.c (apply_poly_transforms): Run the loop
- nest optimizer.
- * tree-ssa-loop.c (gate_graphite_transforms): Enable graphite
- if -floop-nest-optimize is enabled.
-
-2012-07-03 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/predicates.md (logical_and_operand): New predicate.
- * config/sh/constraints.md (Jmb, Jmw): New constraints.
- * config/sh/sh.md (andsi3): Move expander above insns. Add handling
- of 0xFFFF constant. Use logical_and_operand predicate and
- satisfies_constraint_Jmb, satisfies_constraint_Jmw.
- (*andsi3_compact): Make it an insn_and_split. Use
- logical_and_operand predicate. Add Jmb,Jmw alternatives.
-
-2012-07-03 Jason Merrill <jason@redhat.com>
-
- PR c++/53826
- * tree.c (build_zero_cst): Handle NULLPTR_TYPE.
-
-2012-07-03 Nick Clifton <nickc@redhat.com>
-
- * config/mep/mep.c (mep_reorg_regmove): Use
- next_nonnote_non_debug_insn to advance to the next insn. Do not
- expect delete_insn to return an rtx.
-
-2012-07-03 Richard Guenther <rguenther@suse.de>
-
- * doc/install.texi (CLooG): Clarify how CLooG needs to be
- configured and that it needs to be built against ISL 0.10.
-
-2012-07-03 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_option_override_internal): Fix wrong
- code model string in the error message.
-
-2012-07-03 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/53811
- * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies
- sibcall_insn_operand. Move it to a temporary register if not.
-
-2012-07-03 Andreas Schwab <schwab@linux-m68k.org>
-
- PR target/28896
- * config/m68k/m68k.c (m68k_option_override): Reset stack_limit_rtx
- if !TARGET_68020.
-
-2012-07-03 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/xmmintrin.h (_mm_sfence): Use __builtin_ia32_pause.
-
-2012-07-03 Roland McGrath <mcgrathr@google.com>
-
- * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): Also require that the
- assembler accept 'rep bsf ...', 'rep bsr ...', 'rep ret' and 'rep nop'.
- * configure: Regenerated.
- * config/i386/i386.md (simple_return_internal_long): Use %;
- (ctz<mode>2): Likewise.
- (*pause): Likewise.
-
-2012-07-02 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/predicates.md (t_reg_operand, negt_reg_operand): New
- predicates.
- * config/sh/sh-protos.h (get_t_reg_rtx): New prototype.
- * config/sh/sh.c (get_t_reg_rtx): New function. Use it when invoking
- gen_branch_true and gen_branch_false.
- * config/sh/sh.md: Use get_t_reg_rtx when invoking gen_branch_true and
- gen_branch_false.
- (branch_true, branch_false): Use t_reg_operand predicate.
- (*branch_true, *branch_false): Delete.
- (movt): Use t_reg_operand predicate.
- (*negnegt): Use negt_reg_operand predicate and fold little and big
- endian variants.
- (*movtt): Use t_reg_operand and fold little and big endian variants.
- (*movt_qi): Delete.
-
-2012-07-02 Steven Bosscher <steven@gcc.gnu.org>
-
- * stmt.c (emit_case_bit_tests): Remove.
- (expand_case): Remove expand_switch_using_bit_tests_p code.
- * tree-switch-conversion.c (hoist_edge_and_branch_if_true): New.
- (MAX_CASE_BIT_TESTS): Moved from stmt.c to here.
- (lshift_cheap_p): Likewise.
- (expand_switch_using_bit_tests_p): Likewise.
- (struct case_bit_test): Likewise.
- (case_bit_test_cmp): Likewise.
- (emit_case_bit_tests): New implementation for GIMPLE.
- (gen_inbound_check): Do not release post-dominator info here.
- (process_switch): Reorder code. Expand as bit tests if it
- looks like a win.
- (do_switchconv): Release post-dominator info here if something changed.
- (struct gimple_opt_pass): Verify more.
- * tree.h (expand_switch_using_bit_tests_p): Remove prototype.
-
-2012-07-02 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/38474
- * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a
- dynamic type change check.
-
-2012-07-02 Richard Guenther <rguenther@suse.de>
- Michael Matz <matz@suse.de>
- Tobias Grosser <tobias@grosser.es>
- Sebastian Pop <sebpop@gmail.com>
-
- * Makefile.in: Remove PPL flags in favor of ISL ones.
- (BACKENDLIBS): Remove PPL libs.
- (INCLUDES): Remove PPL includes in favor of ISL ones.
- (graphite-clast-to-gimple.o): Remove graphite-dependences.h and
- graphite-cloog-compat.h dependencies.
- (graphite-dependences.o): Likewise.
- (graphite-poly.o): Likewise.
- * configure.ac: Declare ISL vars instead of PPL ones.
- * configure: Regenerated.
- * doc/install.texi: Replace PPL requirement documentation with ISL one.
- * graphite-blocking.c: Remove PPL code, add ISL equivalent.
- * graphite-clast-to-gimple.c: Likewise.
- * graphite-dependences.c: Likewise.
- * graphite-interchange.c: Likewise.
- * graphite-poly.h: Likewise.
- * graphite-poly.c: Likewise.
- * graphite-sese-to-poly.c: Likewise.
- * graphite.c: Likewise.
- * graphite-scop-detection.c: Re-arrange includes.
- * graphite-cloog-util.c: Remove.
- * graphite-cloog-util.h: Likewise.
- * graphite-ppl.h: Likewise.
- * graphite-ppl.c: Likewise.
- * graphite-dependences.h: Likewise.
-
-2012-07-02 Richard Guenther <rguenther@suse.de>
-
- Merge from graphite branch
- 2011-07-21 Tobias Grosser <tobias@grosser.es>
-
- * Makefile.in (graphite-clast-to-gimple.o, graphite-cloog-util.o):
- Remove graphite-cloog-util.h.
- * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop,
- build_iv_mapping, translate_clast_user, translate_clast,
- free_scattering, initialize_cloog_names, build_cloog_prog,
- create_params_index): Do not use old compatibility functions.
- (clast_name_to_index, set_cloog_options): Remove code for legacy cloog.
- * graphite-cloog-util.c (openscop_print_cloog_matrix): Do not use old
- compatibility functions.
- (new_Cloog_Scattering_from_ppl_Polyhedron): Remove code for legacy
- cloog.
- * graphite-cloog-util.h: Remove include of graphite-cloog-util.h.
- * graphite.c (graphite.c): Do not call outdated cloog_initialize() and
- cloog_finalize().
- * graphite-cloog-compat.h: Remove.
-
- 2011-08-09 Tobias Grosser <tobias@grosser.es>
-
- * graphite-clast-to-gimple.c (new_clast_name_index): Store a copy
- of the string, no just a reference.
- (clast_name_index): Add a new field, that specifies if we need to free
- the name.
- (free_clast_name_index): If necessary, free the name string.
- (clast_name_index_elt_info): Calculate the hash based on the string
- content, not the memory location it is stored in.
- (clast_name_to_level): Specify that we do not need to free the name.
- (clast_name_to_index): Dito.
- (clast_name_to_lb_ub): Dito.
- (eq_clast_name_indexes): Compare the strings, not their base pointers.
- (free_scattering): Removed.
- (initialize_cloog_names): Renamed to add_names_to_union_domain().
- (add_names_to_union_domain): Changed to work on a union_domain,
- instead of a CloogNames structure.
- (build_cloog_prog): Removed.
- (build_cloog_union_domain): New.
- (generate_cloog_input): New.
- (scop_to_clast): Use CloogInput instead of CloogProgram.
- (print_generated_program): Adapt to new scop_to_clast() and do not
- print the CloogProgram any more.
- (create_params_index): Removed, functionality integrated in
- add_names_to_union_domain().
- (gloog): Adapt to new scop_to_clast().
- * graphite-clast-to-gimple.h (scop_to_clast): Remove.
-
- 2012-01-11 Tobias Grosser <tobias@grosser.es>
-
- * graphite-clast-to-gimple.c (clast_name_to_index,
- clast_name_to_lb_ub, clast_name_to_gcc): Change types.
- (clast_to_gcc_expression): Add clast_expr_name as a new
- case. Do not assume a clast_expr_term points always to a
- clast_expr_name.
- (type_for_clast_term): Do not assume a clast_expr_term points always to
- a clast_expr_name.
- (type_for_clast_name): New.
- (type_for_clast_expr): Add clast_expr_name as a new case.
-
- 2011-08-03 Sebastian Pop <sebpop@gmail.com>
-
- * graphite-cloog-util.c (new_Cloog_Domain_from_ppl_Polyhedron,
- new_Cloog_Scattering_from_ppl_Polyhedron,
- new_Cloog_Domain_from_ppl_Pointset_Powerset): Remove ATTRIBUTE_UNUSED.
-
-2012-07-02 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53645
- * tree-vect-generic.c (expand_vector_divmod): Use TYPE_MODE (type)
- instead of TYPE_MODE (wider_type) as can_vec_perm_p argument.
-
-2012-07-01 Wei Guozhi <carrot@google.com>
-
- PR target/53447
- * config/arm/arm-protos.h (const_ok_for_dimode_op): New prototype.
- * config/arm/arm.c (const_ok_for_dimode_op): New function.
- * config/arm/constraints.md (Dd): New constraint.
- * config/arm/predicates.md (arm_adddi_operand): New predicate.
- * config/arm/arm.md (adddi3): Extend it to handle constants.
- (arm_adddi3): Likewise.
- (addsi3_carryin_<optab>): Extend it to handle sbc case.
- (addsi3_carryin_alt2_<optab>): Likewise.
- * config/arm/neon.md (adddi3_neon): Extend it to handle constants.
-
-2012-06-30 Nathan Sidwell <nathan@acm.org>
-
- * coverage.c (bbg_file_stamp): New.
- (read_counts_file): Merge incoming stamp with bbg_file_stamp.
- (build_info): Write bbg_file_stamp.
- (coverage_init): Initialize bbg_file_stamp. Read counts file
- before writing graph header.
- (coverage_finish): Don't unlink the data file if we can generate a
- unique file stamp.
- * tree.h (crc32_unsigned): Declare.
- * tree.c (crc32_unsigned_bits): New, broken out of ...
- (crc32_byte): ... here. Use it.
- (crc32_unsigned): New.
-
-2012-06-29 Cary Coutant <ccoutant@google.com>
-
- * dwarf2out.c (add_pubname_string): Don't check for want_pubnames.
- (gen_subprogram_die): Don't add pubname if want_pubnames is false.
- (gen_variable_die): Likewise.
- (gen_namespace_die): Likewise.
-
-2012-06-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-eh.c (lower_try_finally_switch): Really put the location of the
- last statement of the finally block onto the switch.
-
-2012-06-29 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/53539
- * config/i386/gnu-user64.h (WCHAR_TYPE): Use "int" only for
- TARGET_LP64.
-
-2012-06-29 Sterling Augustine <saugustine@google.com>
-
- * dwarf2out.c (add_pubname): Add comment.
- (add_pubtype): Fix indentation.
- (gen_enumeration_type_die): Likewise.
-
-2012-06-29 Jakub Jelinek <jakub@redhat.com>
-
- * tree-vect-generic.c (expand_vector_divmod): For even/odd
- widening multiply, put even always as first argument to VEC_PERM_EXPR.
-
-2012-06-29 Richard Henderson <rth@redhat.com>
-
- * tree-vect-generic.c: Include target.h.
- (expand_vector_divmod): Use builtin_mul_widen_even/odd if supported.
- * Makefile.in (tree-vect-generic.o): Update.
-
-2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
-
- * configure.ac: Remove special gtfiles case for C.
- * configure: Regenerate.
- * Makefile.in: Remove C front-end hooks and build hooks that
- will be picked up from c/Make-lang.in now.
- Add tree-mudflap to C_COMMON_OBJS.
- * gengtype.c (files_rules): Adjust gt-files for c/c-decl.c.
- * config/vms/vms.c: Look for c-tree.h in c/.
- * doc/gty.texi: Remove reference to c-config-lang.in.
- * doc/sourcebuild.texi: Document the c/ subdirectory.
-
-2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
-
- * system.h (CASE_USE_BIT_TESTS): Poison.
- * stmt.c (CASE_USE_BIT_TESTS): Fold away into its only user ...
- (expand_switch_using_bit_tests_p): ...here.
- * doc/tm.texi.in (CASE_USE_BIT_TESTS): Remove documentation.
- * doc/tm.texi (CASE_USE_BIT_TESTS): Regenerate.
-
-2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
-
- * system.h (IFCVT_EXTRA_FIELDS): Poison.
- (IFCVT_INIT_EXTRA_FIELDS): Poison.
- * basic-block.h (struct ce_if_block): Remove IFCVT_EXTRA_FIELDS.
- * ifcvt.c (find_if_header): Use IFCVT_MACHDEP_INIT instead of
- IFCVT_INIT_EXTRA_FIELDS.
- * gengtype-parse.c (struct_field_seq): Remove obsolete comment.
- * config/frv/frv.h (IFCVT_INIT_EXTRA_FIELDS): Rename to
- IFCVT_MACHDEP_INIT.
- * config/frv/frv.c (frv_ifcvt_init_extra_fields): Rename to
- frv_ifcvt_machdep_init.
- * doc/tm.texi.in (IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS):
- Remove documentation.
- (IFCVT_MACHDEP_INIT): Document.
- * doc/tm.texi: Regenerate.
-
-2012-06-29 Nick Clifton <nickc@redhat.com>
-
- * config/lm32/lm32.c (lm32_compute_frame_size): Fix typo.
-
-2012-06-29 Jakub Jelinek <jakub@redhat.com>
-
- * tree-vect-stmts.c (vectorizable_operation): Check both
- VEC_WIDEN_MULT_LO_EXPR and VEC_WIDEN_MULT_HI_EXPR optabs.
- Verify that operand[0]'s mode is TYPE_MODE (wide_vectype).
-
-2012-06-28 Richard Henderson <rth@redhat.com>
-
- * doc/generic.texi (MULT_HIGHPART_EXPR): Document it.
-
-2012-06-28 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51581
- * tree-vect-stmts.c (permute_vec_elements): Add forward decl.
- (vectorizable_operation): Handle vectorization of MULT_HIGHPART_EXPR
- also using VEC_WIDEN_MULT_*_EXPR or builtin_mul_widen_* plus
- VEC_PERM_EXPR if vector MULT_HIGHPART_EXPR isn't supported.
- * tree-vect-patterns.c (vect_recog_divmod_pattern): Use
- MULT_HIGHPART_EXPR instead of VEC_WIDEN_MULT_*_EXPR and shifts.
-
- PR tree-optimization/53645
- * tree-vect-generic.c (expand_vector_divmod): Use MULT_HIGHPART_EXPR
- instead of VEC_WIDEN_MULT_{HI,LO}_EXPR followed by VEC_PERM_EXPR
- if possible.
-
-2012-06-28 Georg-Johann Lay <avr@gjlay.de>
-
- PR 53595
- * config/avr/avr.c (avr_hard_regno_call_part_clobbered): New.
- * config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New.
- * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to
- avr_hard_regno_call_part_clobbered.
-
-2012-06-28 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53790
- * expr.c (expand_expr_real_1): Verify if the type is complete
- before inspecting its size.
-
-2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
-
- * doc/include/gpl.texi: Remove.
- * doc/sourcebuild.texi (Texinfo Manuals): Don't mention gpl.texi.
-
-2012-06-28 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53645
- * tree-vect-generic.c (add_rshift): New function.
- (expand_vector_divmod): New function.
- (expand_vector_operation): Use it for vector integer
- TRUNC_{DIV,MOD}_EXPR by VECTOR_CST.
- * tree-vect-patterns.c (vect_recog_divmod_pattern): Replace
- unused lguup variable with dummy_int.
-
-2012-06-28 OLivier Hainque <hainque@adacore.com>
-
- * expr.c (convert_move): Latch mem integer inputs into a
- register before expanding a multi-instructions sequence.
-
-2012-06-28 Alexandre Oliva <aoliva@redhat.com>
- Uros Bizjak <ubizjak@gmail.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR debug/53706
- PR debug/47624
- * var-tracking.c (vt_emit_notes): Release loc_exp_dep_pool...
- (vt_finalize): ... here instead, if needed.
-
-2012-06-28 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/53740
- PR debug/52983
- PR debug/48866
- * dce.c (word_dce_process_block): Check whether inserting debug
- temps are needed even for needed insns.
- (dce_process_block): Likewise.
- * df-problems.c (dead_debug_add): Add comment about multi-regs.
- (dead_debug_insert_temp): Likewise. Don't subreg when we're
- setting fewer regs than a multi-reg requires.
-
-2012-06-27 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.c (alpha_dimode_u): New.
- (alpha_init_builtins): Initialize it, and use it.
- (alpha_fold_builtin_cmpbge): Use alpha_dimode_u.
- (alpha_fold_builtin_zapnot, alpha_fold_builtin_insxx): Likewise.
- (alpha_fold_vector_minmax, alpha_fold_builtin_perr): Likewise.
- (alpha_fold_builtin_pklb, alpha_fold_builtin_pkwb): Likewise.
- (alpha_fold_builtin_unpkbl, alpha_fold_builtin_unpkbw): Likewise.
- (alpha_fold_builtin_cttz, alpha_fold_builtin_ctlz): Likewise.
- (alpha_fold_builtin_ctpop): Likewise.
- (alpha_fold_builtin_umulh): Remove.
- (alpha_fold_builtin): Use MULT_HIGHPART_EXPR for UMULH; fix
- typo in MAX_ARGS check.
-
-2012-06-27 Richard Henderson <rth@redhat.com>
-
- * tree.def (MULT_HIGHPART_EXPR): New.
- * cfgexpand.c (expand_debug_expr): Ignore it.
- * expr.c (expand_expr_real_2): Handle it.
- * fold-const.c (int_const_binop_1): Likewise.
- * optabs.c (optab_for_tree_code): Likewise.
- * tree-cfg.c (verify_gimple_assign_binary): Likewise.
- * tree-inline.c (estimate_operator_cost): Likewise.
- * tree-pretty-print.c (dump_generic_node): Likewise.
- (op_code_prio, op_symbol_code): Likewise.
- * tree.c (commutative_tree_code): Likewise. Also handle
- WIDEN_MULT_EXPR, VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR.
-
-2012-06-27 Richard Henderson <rth@redhat.com>
-
- PR target/53749
- * config/i386/i386.c (ix86_rtx_costs): Fix typo vs UNITS_PER_WORD
- in 2012-06-23 change. Adjust two other DImode tests as well.
-
-2012-06-27 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.md (comparesi3_extend): Remove = modifier from
- input operand.
-
-2012-06-27 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53676
- * tree-chrec.c (chrec_convert_1): Represent truncation to
- a type with undefined overflow as truncation to an unsigned
- type converted to the type with undefined overflow.
- * tree-scalar-evolution.c (interpret_rhs_expr): For computing
- the scalar evolution of a truncated widened operation avoid
- looking at the non-existing evolution of the widened operation
- result.
-
-2012-06-27 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53774
- * tree-ssa-reassoc.c (get_rank): All default defs have
- precomputed rank.
- (init_reassoc): Precompute rank for all SSA default defs.
-
-2012-06-27 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.md (simple_return): Use the simple_return rtx.
-
-2012-06-26 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386.c (ix86_rtx_costs): Use standard_sse_constant_p
- and don't fall thru from standard_80387_constant_p to the memory
- fallback.
-
-2012-06-26 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386.c (bdesc_args): Update. Change
- IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V4SI to OPTION_MASK_ISA_SSE2.
- (IX86_BUILTIN_VEC_WIDEN_SMUL_EVEN_V4SI): New.
- (ix86_builtin_mul_widen_even): Use it.
- (ix86_builtin_mul_widen_odd): Relax SMUL_ODD from sse4 to sse2.
- (ix86_expand_mul_widen_evenodd): Handle signed for sse2.
- * config/i386/sse.md (vec_widen_<s>mult_hi_<V124_AVX2>): Allow
- for all SSE2.
- (vec_widen_<s>mult_lo_<V124_AVX2>): Likewise.
- (vec_widen_<s>mult_odd_<VI4_AVX2>): Likewise. Relax from V124_AVX2.
- (vec_widen_smult_even_v4si): New.
-
-2012-06-26 Richard Henderson <rth@redhat.com>
-
- * config/i386/sse.md (mul<VI8_AVX2>3): Change from insn_and_split
- to expander; move guts to ...
- * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): ... here. Add
- highparts before shifting up.
- * config/i386/i386-protos.h: Update.
-
-2012-06-26 Steven Bosscher <steven@gcc.gnu.org>
-
- * system.h (USE_COMMON_FOR_ONE_ONLY): Poison.
- * defaults.h (USE_COMMON_FOR_ONE_ONLY): Do not provide default.
- * config/darwin.h (USE_COMMON_FOR_ONE_ONLY): Do not define.
-
-2012-06-26 Alexandre Oliva <aoliva@redhat.com>
-
- * var-tracking.c (vt_add_function_parameter): Use a preserved
- VALUE for the MEM address of an incoming parameter.
-
-2012-06-26 Sterling Augustine <saugustine@google.com>
-
- * dwarf2out.c (output_pubnames): Add check for DW_TAG_enumerator.
- (prune_unused_types): Likewise.
-
-2012-06-26 Steven Bosscher <steven@gcc.gnu.org>
-
- * system.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
- UNALIGNED_LONG_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Poison.
- * vmsdbgout.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
- UNALIGNED_LONG_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Rename to
- VMS_UNALIGNED_SHORT_ASM_OP, VMS_UNALIGNED_INT_ASM_OP,
- VMS_UNALIGNED_LONG_ASM_OP, and VMS_UNALIGNED_DOUBLE_INT_ASM_OP.
- * config/microblaze/microblaze.h (UNALIGNED_SHORT_ASM_OP,
- UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Do not define.
- * doc/tm.texi.in: Remove UNALIGNED_INT_ASM_OP reference from the
- documentation.
- * doc/tm.texi: Regenerate.
- * doc/cpp.texi: Make example for #error generic.
- * config/frv/frv.h: Fix example text to match tm.texi.
-
-2012-06-26 Bill Schmidt <wschmidt@linux.ibm.com>
-
- * tree-pass.h (pass_strength_reduction): New decl.
- * tree-ssa-loop-ivopts.c (initialize_costs): Make non-static.
- (finalize_costs): Likewise.
- * timevar.def (TV_TREE_SLSR): New timevar.
- * gimple-ssa-strength-reduction.c: New.
- * tree-flow.h (initialize_costs): New decl.
- (finalize_costs): Likewise.
- * Makefile.in (tree-ssa-strength-reduction.o): New dependencies.
- * passes.c (init_optimization_passes): Add pass_strength_reduction.
-
-2012-06-26 Matt Turner <mattst88@gmail.com>
-
- * doc/extend.texi (__builtin_arm_tinsrb): Add missing second parameter.
- (__builtin_arm_tinsrh): Likewise.
- (__builtin_arm_tinsrw): Likewise.
- (__builtin_arm_wsadb): Add missing v2si parameter.
- (__builtin_arm_wsadh): Likewise.
- (__builtin_arm_getwcx): Delete.
- (__builtin_arm_setwcx): Delete.
- (__builtin_arm_getwcgr0): Add.
- (__builtin_arm_getwcgr1): Add.
- (__builtin_arm_getwcgr2): Add.
- (__builtin_arm_getwcgr3): Add.
- (__builtin_arm_setwcgr0): Add.
- (__builtin_arm_setwcgr1): Add.
- (__builtin_arm_setwcgr2): Add.
- (__builtin_arm_setwcgr3): Add.
-
-2012-06-26 Richard Guenther <rguenther@suse.de>
-
- Revert
- 2012-06-21 Richard Guenther <rguenther@suse.de>
-
- * tree-inline.c (estimate_num_insns): Estimate call cost for
- tailcalls properly.
-
-2012-06-26 Steven Bosscher <steven@gcc.gnu.org>
-
- PR other/33190
- * doc/tm.texi.in: Document LOGICAL_OP_NON_SHORT_CIRCUIT.
- * doc/tm.texi: Regenerate.
-
-2012-06-26 Steven Bosscher <steven@gcc.gnu.org>
-
- PR other/33190
- * config/mips/mips.h: Do not define ALL_COP_ADDITIONAL_REGISTER_NAMES.
- * config/frv/frv.h: Do not define REVERSE_CONDEXEC_PREDICATES_P.
- * doc/tm.texi.in: Remove documentation for unused target macros
- ALL_COP_ADDITIONAL_REGISTER_NAMES, DBX_OUTPUT_LBRAC, DBX_OUTPUT_NFUN,
- DBX_OUTPUT_RBRAC, RANGE_TEST_NON_SHORT_CIRCUIT, REAL_VALUE_TRUNCATE,
- REVERSE_CONDEXEC_PREDICATES_P, TARGET_ALIGN_ANON_BITFIELDS, and
- TARGET_NARROW_VOLATILE_BITFIELDS.
- Document that MD_HANDLE_UNWABI is a macro in libgcc.
- * doc/tm.texi: Regenerate.
- * system.h: Poison target macros
- ALL_COP_ADDITIONAL_REGISTER_NAMES, DBX_OUTPUT_LBRAC, DBX_OUTPUT_NFUN,
- DBX_OUTPUT_RBRAC, RANGE_TEST_NON_SHORT_CIRCUIT, REAL_VALUE_TRUNCATE,
- REVERSE_CONDEXEC_PREDICATES_P, TARGET_ALIGN_ANON_BITFIELDS, and
- TARGET_NARROW_VOLATILE_BITFIELDS
-
-2012-06-26 Jan Hubicka <jh@suse.cz>
-
- PR lto/53572
- * cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
- used symbols.
-
-2012-06-26 Dehao Chen <dehao@google.com>
-
- * tree-inline.c: (expand_call_inline): Ensure that lexical block's
- source location is consistant with the call stmt.
-
-2012-06-26 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- PR tree-optimization/53729
- PR tree-optimization/53636
- * tree-vect-slp.c (vect_slp_analyze_bb_1): Delay call to
- vect_verify_datarefs_alignment until after statements have
- been marked as relevant/irrelevant.
- * tree-vect-data-refs.c (vect_verify_datarefs_alignment):
- Skip irrelevant statements.
- (vect_enhance_data_refs_alignment): Use STMT_VINFO_RELEVANT_P
- instead of STMT_VINFO_RELEVANT.
- (vect_get_data_access_cost): Do not check for supportable
- alignment before calling vect_get_load_cost/vect_get_store_cost.
- * tree-vect-stmts.c (vect_get_store_cost): Do not abort when
- handling unsupported alignment.
- (vect_get_load_cost): Likewise.
-
-2012-06-25 Steven Bosscher <steven@gcc.gnu.org>
-
- * config/rl78/rl78.h: Do not undefine DONT_USE_BUILTIN_SETJMP.
- Do not define JMP_BUF_SIZE.
-
-2012-06-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53748
- * tree-ssa-phiopt.c (conditional_replacement): Only optimize
- if arg0/arg1 have integral or pointer types.
-
-2012-06-25 Richard Henderson <rth@redhat.com>
-
- * config/i386/sse.md (sse2_sse4_1): Remove code attr.
- (<s>dot_prodv4si, <s>dot_prodv8si): Remove
- (sdot_prodv4si): New; handle only XOP.
-
-2012-06-25 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386-builtin-types.def (V4UDI, V8USI): New.
- (V2UDI_FUNC_V4USI_V4USI): New.
- (V4UDI_FUNC_V8USI_V8USI): New.
- * config/i386/i386.c (ix86_expand_args_builtin): Handle them.
- (IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V4SI): New.
- (IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V8SI): New.
- (IX86_BUILTIN_VEC_WIDEN_UMUL_ODD_V4SI): New.
- (IX86_BUILTIN_VEC_WIDEN_UMUL_ODD_V8SI): New.
- (IX86_BUILTIN_VEC_WIDEN_UMUL_EVEN_V4SI): New.
- (IX86_BUILTIN_VEC_WIDEN_UMUL_EVEN_V8SI): New.
- (bdesc_args): Add them.
- (ix86_builtin_mul_widen_even, ix86_builtin_mul_widen_odd): New.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): New.
- (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New.
- (ix86_expand_mul_widen_evenodd): Use xop_pmacsdqh.
- * config/i386/sse.md (vec_widen_<s>mult_odd_<V124_AVX2>): New.
-
-2012-06-25 Richard Henderson <rth@redhat.com>
-
- * config/i386.sse.md (mul<VI4_AVX2>3): Use xop_pmacsdd.
-
-2012-06-25 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386.c (ix86_rtx_costs) [MULT]: Only apply XOP cost
- to V16QImode.
- (ix86_expand_vec_interleave): New.
- (ix86_expand_mul_widen_evenodd): New.
- (ix86_expand_mul_widen_hilo): New.
- (ix86_expand_sse2_mulv4si3): Use ix86_expand_mul_widen_evenodd.
- * config/i386/i386.md (u_bool) New code attr.
- * config/i386/predicates.md
- (nonimmediate_or_const_vector_operand): Remove.
- * config/i386/sse.md (mul<VI4_AVX2>3): Don't use it; don't test
- both AVX and SSE4_1.
- (vec_widen<s>mult_hi_<VI2_AVX2>): Remove.
- (vec_widen<s>mult_lo_<VI2_AVX2>): Remove.
- (vec_widen<s>mult_hi_v8si): Remove.
- (vec_widen<s>mult_lo_v8si): Remove.
- (vec_widen_smult_hi_v4si): Remove.
- (vec_widen_smult_lo_v4si): Remove.
- (vec_widen_umult_hi_v4si): Remove.
- (vec_widen_umult_lo_v4si): Remove.
- (vec_widen_<s>mult_hi_<VI124_AVX2>): New.
- (vec_widen_<s>mult_lo_<VI124_AVX2>): New.
- * config/i386/i386-protos.h: Update.
-
-2012-06-25 Christophe Lyon <christophe.lyon@st.com>
-
- * config/arm/neon.md (UNSPEC_VLD1_DUP): Remove.
- (neon_vld1_dup): Restrict to VQ operands.
- (neon_vld1_dupv2di): New, fixes vld1q_dup_s64.
-
-2012-06-25 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
- James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add new built-ins.
- (TARGET_FMA): New macro.
- (TARGET_ARM_QBIT, TARGET_ARM_SAT): Likewise.
- (TARGET_ARM_ARCH): Likewise.
- (TARGET_ARM_ARCH_ISA_THUMB): Likewise.
- (TARGET_V6M, TARGET_V7M): Likewise.
- (TARGET_ARM_ARCH_PROFILE): Likewise.
- (TARGET_ARM_FEATURE_LDREX): Likewise.
- (TARGET_ARM_FP, TARGET_NEON_FP): Likewise.
- (ARM_MIN_ENUM_SIZE): Likewise.
- * config/arm/arm.c (arm_file_start): Refactor appropriately.
- (base_architecture): New enumeration.
- (arm_base_arch): New global variable.
- (processors): Add field base_arch.
- (ARM_ARCH, ARM_CORE): Adjust accordingly.
- (arm_option_override): Add initialization of arm_base_arch.
- * doc/cpp.texi (system-specific predefined macros.): Change.
-
-2012-06-25 Jakub Jelinek <jakub@redhat.com>
-
- PR target/53759
- * config/i386/sse.md (sse_loadlps): Use x m x constraints instead
- of x x x in the vmovlps load alternative.
-
-2012-06-25 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR debug/53740
- * df.h (dead_debug_add): Remove third argument.
- * df-problems.c (dead_debug_add): Likewise. Use the REGNO of the
- REG that we want to replace instead.
- (dead_debug_insert_temp): Use the REGNO of the reg that we want
- to replace instead of DF_REF_REGNO. Require there to always be
- at least one such use. Check for cases where the same location
- has more than df_ref associated with it.
- (df_note_bb_compute): Remove third dead_debug_add argument.
- * dce.c (word_dce_process_block): Likewise.
-
-2012-06-25 Steven Bosscher <steven@gcc.gnu.org>
-
- * config/v850/v850.c: Remove redundant extern declarations for
- last_assemble_variable_decl and size_directive_output.
-
- * doc/tm.texi.in: Document JMP_BUF_SIZE.
- * doc/tm.texi: Regenerate.
- * config/sparc/sparc.h (JMP_BUF_SIZE): Do not define.
- * config/pa/pa.h (JMP_BUF_SIZE): Likewise.
- * config/stormy16/stormy16.h: Likewise.
-
- * config/picochip/picochip.c: Do not define DONT_USE_BUILTIN_SETJMP.
-
- * doc/sourcebuild.texi: Add missing subdirectories.
-
-2012-06-25 Tristan Gingold <gingold@adacore.com>
-
- * config/i386/i386.h: Fix typo.
-
-2012-06-25 Tristan Gingold <gingold@adacore.com>
-
- * config/i386/winnt.c (i386_pe_seh_end_prologue): Move code to ...
- (seh_cfa_adjust_cfa): ... that function.
- (seh_emit_stackalloc): Do not emit out of range values.
- * config/i386/i386.md: Delete unused UNSPEC_REG_SAVE,
- UNSPEC_DEF_CFA constants.
- * config/i386/i386.h (SEH_MAX_FRAME_SIZE): Define.
- * config/i386/i386.c (ix86_frame_pointer_required): Required
- for very large frames on SEH target.
- (ix86_compute_frame_layout): Save area is before frame pointer
- on SEH target. Handle very large frames.
- (ix86_expand_prologue): Likewise.
-
-2012-06-24 Steven Bosscher <steven@gcc.gnu.org>
-
- * output.h: (current_function_is_leaf,
- current_function_sp_is_unchanging,
- current_function_uses_only_leaf_regs): Remove.
- * function.c (current_function_is_leaf,
- current_function_sp_is_unchanging,
- current_function_uses_only_leaf_regs): Remove.
- (rest_of_handle_check_leaf_regs): Set crtl->uses_only_leaf_regs
- instead of current_function_uses_only_leaf_regs.
- * function.h (struct rtl_data): New fields sp_is_unchanging,
- is_leaf, uses_only_leaf_regs.
- * resource.c (init_resource_info): Replace current_function_is_leaf,
- current_function_sp_is_unchanging, and
- current_function_uses_only_leaf_regs with new crtl fields.
- * sdbout.c (sdbout_symbol): Likewise.
- * df-core.c (rest_of_handle_df_initialize): Likewise.
- * ira.c (ira): Likewise.
- * final.c (final_start_function): Likewise.
- * reorg.c (fill_simple_delay_slots): Likewise.
- * regrename.c (check_new_reg_p): Likewise.
- * stack-ptr-mod.c (notice_stack_pointer_modification_1): Likewise.
- (notice_stack_pointer_modification): Likewise.
- * dbxout.c (dbxout_symbol): Likewise.
- (dbxout_parms): Likewise.
- * sel-sched.c (init_regs_for_mode): Likewise.
- * dwarf2out.c (dbx_reg_number): Likewise.
- (multiple_reg_loc_descriptor): Likewise.
- * config/i386/i386.c (ix86_frame_pointer_required): Likewise.
- (gen_pop): Likewise.
- (ix86_select_alt_pic_regnum): Likewise.
- (ix86_compute_frame_layout): Likewise.
- (ix86_finalize_stack_realign_flags): Likewise.
- (ix86_expand_epilogue): Likewise.
- * config/rs6000/rs6000.c (rs6000_stack_info): Likewise.
- * config/h8300/h8300.c (byte_reg): Likewise.
- * config/c6x/c6x.c (must_reload_pic_reg_p): Likewise.
- (c6x_save_reg): Likewise.
- (c6x_compute_frame_layout): Likewise.
- * config/pa/pa.c (pa_compute_frame_size): Likewise.
- (pa_output_function_prologue): Likewise.
- * config/stormy16/stormy16.c (struct xstormy16_stack_layout): Likewise.
- * config/sparc/sparc.md (attr "leaf_function"): Likewise.
- * config/sparc/sparc.c (sparc_initial_elimination_offset): Likewise.
- (sparc_expand_prologue): Likewise.
- (sparc_flat_expand_prologue): Likewise.
- (sparc_asm_function_prologue): Likewise.
- (sparc_output_mi_thunk): Likewise.
- (sparc_frame_pointer_required): Likewise.
- * config/epiphany/epiphany.c (epiphany_compute_function_type):
- Likewise.
- (epiphany_compute_frame_size): Likewise.
- * config/lm32/lm32.c (lm32_compute_frame_size): Likewise.
- * config/cris/cris.c (cris_md_asm_clobbers): Likewise.
- (cris_frame_pointer_required): Likewise.
- * config/tilepro/tilepro.c (emit_sp_adjust): Likewise.
- (tilepro_current_function_is_leaf): Likewise.
- * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Likewise.
- * config/pdp11/pdp11.c (pdp11_expand_epilogue): Likewise.
- * config/ia64/ia64.c (find_gr_spill): Likewise.
- (ia64_compute_frame_size): Likewise.
- (ia64_can_eliminate): Likewise.
- (ia64_initial_elimination_offset): Likewise.
- * config/m68k/m68k.c (m68k_save_reg): Likewise.
- (m68k_expand_epilogue): Likewise.
- * config/rx/rx.c (rx_get_stack_layout): Likewise.
- * config/tilegx/tilegx.c (tilegx_current_function_is_leaf): Likewise.
- * config/picochip/picochip.c (picochip_can_eliminate_link_sp_save):
- Likewise.
- (picochip_output_frame_debug): Likewise.
- * config/sh/sh.c (sh_media_register_for_return): Likewise.
- (sh_allocate_initial_value): Likewise.
- (sh_output_mi_thunk): Likewise.
- * config/microblaze/microblaze.c (microblaze_must_save_register):
- Likewise.
- (compute_frame_size): Likewise.
- (microblaze_initial_elimination_offset): Likewise.
- (microblaze_expand_prologue): Likewise.
- (microblaze_expand_epilogue): Likewise.
- * config/frv/frv.c (frv_expand_epilogue): Likewise.
- (frv_frame_pointer_required): Likewise.
- * config/spu/spu.c (get_pic_reg): Likewise.
- (direct_return): Likewise.
- (spu_expand_prologue): Likewise.
- (spu_expand_epilogue): Likewise.
- (spu_initial_elimination_offset): Likewise.
- * config/mips/mips.c (mips_global_pointer): Likewise.
- (mips_cfun_might_clobber_call_saved_reg_p): Likewise.
- (mips_compute_frame_info): Likewise.
- * config/mep/mep.c (mep_interrupt_saved_reg): Likewise.
- (mep_reload_pointer): Likewise.
- * config/rl78/rl78.c (need_to_save): Likewise.
- * config/cr16/cr16.c (cr16_compute_save_regs): Likewise.
- * config/score/score.c (score_compute_frame_size): Likewise.
- (score_function_prologue): Likewise.
- * config/bfin/bfin.c (must_save_p): Likewise.
- (expand_prologue_reg_save): Likewise.
- (expand_epilogue_reg_restore): Likewise.
- (bfin_frame_pointer_required): Likewise.
- (n_regs_saved_by_prologue): Likewise.
- (add_to_reg): Likewise.
- (expand_interrupt_handler_prologue): Likewise.
- (expand_interrupt_handler_epilogue): Likewise.
- (bfin_expand_prologue): Likewise.
- * config/avr/avr.c (avr_regs_to_save): Likewise.
- (avr_prologue_setup_frame): Likewise.
- (expand_epilogue): Likewise.
- * config/s390/s390.c (s390_regs_ever_clobbered): Likewise.
- (s390_register_info): Likewise.
- (s390_frame_info): Likewise.
- (s390_init_frame_layout): Likewise.
- (s390_emit_prologue): Likewise.
-
-
-2012-06-24 Steven Bosscher <steven@gcc.gnu.org>
-
- * system.h: Poison ASM_BYTE_OP and ASM_OUTPUT_BYTE.
- * vmsdbgout: Do not undefine it if defined.
- Rename local ASM_BYTE_OP definition to VMS_ASM_BYTE_OP.
- * config/microblaze/microblaze/h: Do no define ASM_BYTE_OP.
- * config/mep/mep.h: Do not define ASM_OUTPUT_BYTE.
-
-2012-06-24 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_process_sync_loop): Add missing enum cast.
-
-2012-06-23 Richard Henderson <rth@redhat.com>
-
- PR target/53749
- * config/i386/i386.c (ix86_rtx_costs): Add reasonable costs for
- V*QImode shifts and multiply.
- (ix86_expand_vecop_qihi): Support shifts.
- * config/i386/i386.md (any_shift): New code iterator.
- * config/i386/sse.md (ashlv16qi3): Merge ...
- (<any_shiftrt>v16qi3): ... into ...
- (<any_shift><VI1_AVX2>3): ... here. Use ix86_expand_vecop_qihi
- to support SSE and AVX.
-
- * config/i386/i386.c (ix86_expand_sse_unpack): Split operands[]
- parameter into src and dest.
- * config/i386/sse.md (vec_unpacku_hi_<V124_AVX2>): Update call.
- (vec_unpacks_hi_<V124_AVX2>): Likewise.
- (vec_unpacku_lo_<V124_AVX2>): Likewise.
- (vec_unpacks_lo_<V124_AVX2>): Likewise.
- * config/i386/i386-protos.h: Update.
-
- * config/i386/sse.md (mul<VI1_AVX2>3): Change from insn_and_split to
- pure expander; move expansion code ...
- * config/i386/i386.c (ix86_expand_vecop_qihi): ... here. New function.
- * config/i386/i386-protos.h: Update.
-
-2012-06-22 Edmar Wienskoski <edmar@freescale.com>
-
- * config/rs6000/rs6000.md (define_attr "type"): New type popcnt.
- (popcntb<mode>2): Add attribute type popcnt.
- (popcntd<mode>2): Ditto.
- * config/rs6000/power4.md (define_insn_reservation): Add type popcnt.
- * config/rs6000/power5.md (define_insn_reservation): Ditto.
- * config/rs6000/power7.md (define_insn_reservation): Ditto.
- * config/rs6000/476.md (define_insn_reservation): Ditto.
- * config/rs6000/power6.md (define_insn_reservation): New
- reservation for popcnt instructions.
-
-2012-06-22 H.J. Lu <hongjiu.lu@intel.com>
-
- * doc/invoke.texi: Update -mpreferred-stack-boundary=3 warning.
-
-2012-06-22 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/53383
- * doc/invoke.texi: Add a warning for -mpreferred-stack-boundary=3.
- * config/i386/i386.c (ix86_option_override_internal): Allow
- -mpreferred-stack-boundary=3 for 64-bit if SSE is disabled.
- * config/i386/i386.h (MIN_STACK_BOUNDARY): Set to 64 for 64-bit
- if SSE is disabled.
-
-2012-06-22 Bill Schmidt <wschmidt@linux.ibm.com>
-
- * double-int.c (double_int_multiple_of): New function.
- * double-int.h (double_int_multiple_of): New decl.
- * tree-ssa-loop-ivopts.c (add_cost, zero_cost): Remove undefs.
- (mbc_entry_hash): New forward decl.
- (mbc_entry_eq): Likewise.
- (zero_cost): Change to no_cost.
- (mult_costs): New static var.
- (cost_tables_exist): Likewise.
- (initialize_costs): New function.
- (finalize_costs): Likewise.
- (tree_ssa_iv_optimize_init): Call initialize_costs.
- (add_cost): Change to add_regs_cost; distinguish costs by speed.
- (multiply_regs_cost): New function.
- (add_const_cost): Likewise.
- (extend_or_trunc_reg_cost): Likewise.
- (negate_reg_cost): Likewise.
- (multiply_by_cost): Change to multiply_by_const_cost; distinguish
- costs by speed.
- (get_address_cost): Change add_cost to add_regs_cost; change
- multiply_by_cost to multiply_by_const_cost.
- (force_expr_to_var_cost): Change zero_cost to no_cost; change
- add_cost to add_regs_cost; change multiply_by_cost to
- multiply_by_const_cost.
- (split_cost): Change zero_cost to no_cost.
- (ptr_difference_cost): Likewise.
- (difference_cost): Change zero_cost to no_cost; change multiply_by_cost
- to multiply_by_const_cost.
- (get_computation_cost_at): Change add_cost to add_regs_cost; change
- multiply_by_cost to multiply_by_const_cost.
- (determine_use_iv_cost_generic): Change zero_cost to no_cost.
- (determine_iv_cost): Change add_cost to add_regs_cost.
- (iv_ca_new): Change zero_cost to no_cost.
- (tree_ssa_iv_optimize_finalize): Call finalize_costs.
- * tree-ssa-address.c (most_expensive_mult_to_index): Change
- multiply_by_cost to multiply_by_const_cost.
- * tree-flow.h (multiply_by_cost): Change to multiply_by_const_cost.
- (add_regs_cost): New decl.
- (multiply_regs_cost): Likewise.
- (add_const_cost): Likewise.
- (extend_or_trunc_reg_cost): Likewise.
- (negate_reg_cost): Likewise.
-
-2012-06-22 Richard Guenther <rguenther@suse.de>
-
- Merge from graphite branch
- 2011-08-10 Sebastian Pop <sebpop@gmail.com>
-
- * graphite-sese-to-poly.c (build_scop_drs): Fix memory leak.
-
- 2012-01-13 Tobias Grosser <tobias@grosser.es>
-
- * tree-flow.h (parallelized_function_p): Declare.
- * tree-parloops.c (parallelized_function_p): Export.
- * graphite.c (graphite_transform_loops): Do not run graphite on
- already parallel functions.
-
-2012-06-22 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Pass in and
- return mem. Convert to indirect addressing if not indirect or
- indexed. Adjust all callers.
-
-2012-06-22 Richard Guenther <rguenther@suse.de>
-
- * gcov-iov.c: Include bconfig.h and system.h.
-
-2012-06-22 Andreas Schwab <schwab@linux-m68k.org>
-
- * doc/include/texinfo.tex: Update to version 2012-06-05.14.
-
-2012-06-22 Richard Guenther <rguenther@suse.de>
-
- PR gcov-profile/53744
- * gcov-iov.c (main): Treat "" and "prerelease" the same.
-
-2012-06-22 Eric Botcazou <ebotcazou@adacore.com>
-
- PR debug/53704
- * dwarf2out.c (gen_compile_unit_die): Use DW_LANG_Fortran90 as language
- for GNU Fortran if in strict DWARF2 mode.
-
-2012-06-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-live.c (remove_unused_scope_block_p): Remove again
- DECL_IGNORED_P non-reg vars even if they are used.
-
-2012-06-21 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/53671
- PR debug/49888
- * var-tracking.c (vt_get_canonicalize_base): New.
- (vt_canonicalize_addr, vt_stack_offset_p): New.
- (vt_canon_true_dep): New.
- (drop_overlapping_mem_locs): Use vt_canon_true_dep.
- (clobber_overlaping_mems): Use vt_canonicalize_addr.
-
-2012-06-21 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/53671
- PR debug/49888
- * var-tracking.c (vt_initialize): Record initial offset between
- arg pointer and stack pointer.
-
-2012-06-21 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/53671
- PR debug/49888
- * var-tracking.c (vt_init_cfa_base): Drop redundant recording of
- CFA base.
-
-2012-06-21 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/53671
- PR debug/49888
- * alias.c (memrefs_conflict_p): Improve handling of AND for alignment.
-
-2012-06-21 Alexandre Oliva <aoliva@redhat.com>
-
- * ddg.c (build_intra_loop_deps): Discard deps of nondebug on debug.
-
-2012-06-21 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/53682
- * cselib.c (promote_debug_loc): Don't crash on NULL argument.
-
-2012-06-21 Meador Inge <meadori@codesourcery.com>
-
- PR c/53702
- * c-decl.c (c_push_function_context): Restore the behavior to reuse
- the language function allocated for -Wunused-local-typedefs.
- (c_pop_function_context): If necessary, clear the language function
- created in c_push_function_context. Always clear out the
- x_cur_stmt_list field of the restored language function.
-
-2012-06-21 Sterling Augustine <saugustine@google.com>
- Cary Coutant <ccoutant@google.com>
-
- * dwarf2out.c (is_cu_die, is_namespace_die, is_class_die,
- add_AT_pubnames, add_enumerator_pubname, want_pubnames): New functions.
- (comdat_type_struct): New field 'skeleton_die'.
- (breakout_comdat_types): Update it.
- (add_pubname): Rework logic. Call is_class_die, is_cu_die and
- is_namespace_die. Fix minor style violation. Call want_pubnames.
- (add_pubname_string): Call want_pubnames.
- (add_pubtype): Rework logic for calculating type name. Call
- is_namespace_die. Call want_pubnames.
- (output_pubnames): Move conditional logic deciding when to produce the
- section from dwarf2out_finish. Use new skeleton_die field.
- (base_type_die): Call add_pubtype.
- (gen_enumeration_type_die): Unconditionally call add_pubtype.
- (gen_subprogram_die): Adjust calls to add_pubname.
- (gen_namespace_die): Call add_pubname_string.
- (dwarf2out_finish): Call add_AT_pubnames; Move logic on when to
- produce pubnames and pubtypes sections to output_pubnames.
- * common.opt (-gpubnames): New option.
- * doc/invoke.texi: Document it.
-
-2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
-
- * config/m32c/m32c-pragma.c: Remove unnecessary includes.
-
-2012-06-21 Michael Matz <matz@suse.de>
-
- PR middle-end/53688
- * builtins.c (get_memory_rtx): Always build an all-aliasing MEM_REF
- with correct size.
-
-2012-06-21 Richard Guenther <rguenther@suse.de>
-
- * tree-inline.c (estimate_num_insns): Estimate call cost for
- tailcalls properly.
-
-2012-06-20 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
-
- * tree.h (DECL_SOURCE_COLUMN): New accessor.
-
-2012-06-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (SINCOS): New int iterator.
- (sincos): New int attribute.
- (*<sincos>xf2_i387): Macroize insn from *{sin,cos}xf2_i387 using
- SINCOS int iterator.
- (*<sincos>_extend<mode>xf2_i387): Macroize insn from
- *{sin,cos}_extend<mode>xf2_i387 using SINCOS int iterator.
-
-2012-06-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (RDFSGSBASE): New int iterator.
- (WRFSGSBASE): Ditto.
- (fsgs): New int attribute.
- (rd<fsgs>base<mode>): Macroize insn from rd<fsgs>base<mode> using
- RDFSGSBASE int iterator.
- (wr<fsgs>base<mode>): Macroize insn from wr<fsgs>base<mode> using
- WRFSGSBASE int iterator.
-
-2012-06-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (<rounding_insn><mode>2): Macroize expander
- from {floor,ceil,btrunc}<mode>2 using FIST_ROUNDING int iterator.
- (l<rounding_insn><MODEF:mode><SWI48:mode>2): Macroize expander
- from l{floor,ceil}<MODEF:mode><SWI48:mode>2 using FIST_ROUNDING
- int iterator.
-
-2012-06-20 Steven Bosscher <steven@gcc.gnu.org>
-
- * system.h: Poison ASM_OUTPUT_IDENT and IDENT_ASM_OP.
-
-2012-06-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/30318
- * tree-vrp.c (range_int_cst_p): Do not reject overflowed
- constants here.
- (range_int_cst_singleton_p): But explicitely here.
- (zero_nonzero_bits_from_vr): And here.
- (extract_range_from_binary_expr_1): Re-implement PLUS_EXPR
- to cover all cases we can perform arbitrary precision
- arithmetic with double-ints.
- (intersect_ranges): Handle adjacent anti-ranges.
-
-2012-06-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (rounding_insn): New int attribute.
- (<rounding_insn>xf2): Macroize insn from
- {floor,ceil,btrunc}xf2 using FRNDINT_ROUNDING int iterator.
- (l<rounding_insn>xf<mode>2): Rename from l<rounding>xf<mode>2.
-
-2012-06-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (IEEE_MAXMIN): New int iterator.
- (ieee_maxmin): New int attribute.
- (*ieee_s<ieee_maxmin><mode>3): Macroize insn from
- *ieee_s{max,min}<mode>3 using IEEE_MAXMIN int iterator.
-
-2012-06-20 Steven Bosscher <steven@gcc.gnu.org>
-
- * config/arm/arm.h (EMIT_EABI_ATTRIBUTE): Remove.
- * config/arm/arm.c: Do not include c-pragma.h.
- (arm_emit_eabi_attribute): New function based on EMIT_EABI_ATTRIBUTE.
- (arm_file_start): Replace uses of EMIT_EABI_ATTRIBUTE with calls
- to arm_emit_eabi_attribute.
- * arm-c.c: Do not include output.h.
- (arm_output_c_attributes): Replace use of EMIT_EABI_ATTRIBUTE with a
- call to arm_emit_eabi_attribute.
- * config/arm/arm-protos.h (arm_emit_eabi_attribute): Prototype it.
-
-2012-06-20 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_can_force_dr_alignment_p):
- Allow adjusting alignment of user-aligned decls again.
-
-2012-06-20 Steven Bosscher <steven@gcc.gnu.org>
-
- * config/rl78/rl78-c.c: Remove unnecessary includes.
-
-2012-06-20 Steven Bosscher <steven@gcc.gnu.org>
-
- * config/cris/cris.c: Include cgraph.h.
- (cris_option_override): Do not set non-existing flag_no_gcc_ident.
-
-2012-06-19 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * emit-rtl.c (need_atomic_barrier_p): New function.
- * emit-rtl.h (need_atomic_barrier_p): Declare it.
- * config/alpha/alpha.c (alpha_{pre,post}_atomic_barrier): Use it.
- * config/arm/arm.c (arm_{pre,post}_atomic_barrier): Use it.
- * config/tilegx/tilegx.c (tile_{pre,post}_atomic_barrier): Use it.
- * config/mips/mips.c (mips_{pre,post}_atomic_barrier_p): Remove.
- (mips_process_sync_loop): Use generic version instead.
-
-2012-06-19 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * config/mips/mips.c (mips_process_sync_loop): Emit cmp result only if
- it is used.
-
-2012-06-19 Tom de Vries <vries@codesourcery.com>
- Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * config/mips/constraints.md (ZR): New constraint.
- * config/mips/predicates.md (mem_noofs_operand): New predicate.
- * config/mips/mips.c (mips_print_operand): Handle new print modifier.
- * config/mips/mips.h (TARGET_XLP): Define.
- (TARGET_SYNC_AFTER_SC): Update.
- (ISA_HAS_SWAP, ISA_HAS_LDADD): Define.
- * config/mips/sync.md (atomic_exchange, atomic_fetch_add): Use
- XLP-specific swap and ldadd patterns.
- (atomic_exchange_swap, atomic_fetch_add_ldadd): New patterns.
-
-2012-06-19 Tom de Vries <vries@codesourcery.com>
- Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * config/mips/mips.c (mips_emit_pre_atomic_barrier_p,)
- (mips_emit_post_atomic_barrier_p): New static functions.
- (mips_process_sync_loop): Use them. Emit sync memory barriers in
- accordance with memory model semantics. Add return of CMP result for
- compare_and_swap.
- * config/mips/mips.md: Update comment.
- (sync_cmp): New attribute.
- (sync_memmodel): New attribute replacing sync_release_barrier.
- * config/mips/sync.md (UNSPEC_ATOMIC_COMPARE_AND_SWAP,)
- (UNSPEC_ATOMIC_EXCHANGE, UNSPEC_ATOMIC_FETCH_OP): New constants.
- (sync_lock_test_and_set, test_and_set_12): Update.
- (atomic_compare_and_swap, atomic_exchange, atomic_exchange_llsc,)
- (atomic_fetch_add, atomic_fetch_add_llsc): New patterns.
-
-2012-06-19 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/spe.md (*mov_si<mode>_e500_subreg0): Rename to
- mov_si<mode>_e500_subreg0.
- (*mov_si<mode>_e500_subreg0_elf_low)
- (*mov_si<mode>_e500_subreg4_elf_low): New patterns.
-
-2012-06-19 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.c: Include params.h.
- (alpha_option_override): Initialize PARAM_L1_CACHE_LINE_SIZE,
- PARAM_L1_CACHE_SIZE, PARAM_L2_CACHE_SIZE for the cpu tuning.
-
-2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
-
- * doc/tm.texi.in (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE,
- TARGET_OBJC_DECLARE_CLASS_DEFINITION): Add @hooks.
- (ASM_DECLARE_CLASS_REFERENCE, ASM_DECLARE_UNRESOLVED_REFERENCE):
- Remove.
- * doc/tm.texi: Regenerate.
- * config/darwin.h (ASM_OUTPUT_LABELREF): Remove special case for
- .objc_class_name_*.
- * config/darwin-c.c: Include target.h.
- (darwin_objc_declare_unresolved_class_reference): New function.
- (darwin_objc_declare_class_definition): New function.
- (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE): Define.
- (TARGET_OBJC_DECLARE_CLASS_DEFINITION): Define.
-
-2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
-
- * target.def (output_ident): New hook.
- * targhooks.h (default_asm_output_ident_directive): Add prototype.
- * varasm.c (assemble_asm): Only prefix a tab if the string does not
- already start with one.
- (default_asm_output_ident_directive): New function to emit
- .ident as a top-level asm node while parsing, or directly to
- asm_out_file after parsing.
- * toplev.c (compile_file): Print a GCC .ident with
- targetm.asm_out.output_ident.
- * doc/tm.texi.in (ASM_OUTPUT_IDENT): Remove documentation for macro.
- (TARGET_ASM_OUTPUT_IDENT): Add @hook for this.
- * doc/tm.texi: Update.
-
- * config/elfos.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove.
- (TARGET_ASM_OUTPUT_IDENT): Define.
- * config/i386/djgpp.h (IDENT_ASM_OP): Remove.
- * config/i386/gas.h (ASM_OUTPUT_IDENT): Remove.
- * config/arm/aout.h (ASM_OUTPUT_IDENT): Remove.
- * config/sparc/sparc.h (IDENT_ASM_OP): Remove.
- (TARGET_ASM_OUTPUT_IDENT): Define.
- * config/picochip/picochip.h (IDENT_ASM_OP): Remove.
- (TARGET_ASM_OUTPUT_IDENT): Define.
-
- * config/cris/cris-protos.h (cris_asm_output_ident): Add prototype.
- * config/cris/cris.c (cris_asm_output_ident): New function.
- * config/cris/cris.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove.
-
- * config/microblaze/microblaze-protos.h (microblaze_asm_output_ident):
- Add prototype.
- * config/microblaze/microblaze.c: Include cgraph.h for add_asm_node.
- (microblaze_asm_output_ident): Rewrite to work similar to
- default_asm_output_ident_directive for front-end .idents.
- * config/microblaze/microblaze.h (ASM_OUTPUT_IDENT): Remove.
- (TARGET_ASM_OUTPUT_IDENT): Define.
-
- * config/mips/mips.h (ASM_OUTPUT_IDENT): Remove.
- * config/mips/sde.h (IDENT_ASM_OP, ASM_OUTPUT_IDENT): Remove.
-
- * config/rx/rx.c: Include cgraph.h for add_asm_node.
- (rx_asm_output_ident): New function, similar to
- default_asm_output_ident_directive, but handle AS100 syntax also, so
- that #ident also works for rx in AS100 syntax.
- (TARGET_ASM_OUTPUT_IDENT): Define.
- * config/rx/rx.h (IDENT_ASM_OP): Remove.
-
- * Makefile.in: Fix dependencies for c-family/c-lex.o.
-
-2012-06-19 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (FIST_ROUNDING): New int iterator.
- (rounding): Handle UNSPEC_FIST_{FLOOR,CEIL}.
- (ROUNDING): Ditto.
- (*fist<mode>2_<rounding>_1): Macroize insn from
- *fist<mode>2_{floor,ceil}_1 using FIST_ROUNDING int iterator.
- (fistdi2_<rounding>): Macroize insn from
- fistdi2_{floor,ceil} using FIST_ROUNDING int iterator.
- (fistdi2_<rounding>_with_temp and splitters): Macroize insn and
- corresponding splitters from fistdi2_{floor,ceil} and corresponding
- splitters using FIST_ROUNDING int iterator.
- (fist<mode>2_<rounding>): Macroize insn from
- fist<mode>2_{floor,ceil} using FIST_ROUNDING int iterator.
- (fist<mode>2_<rounding>_with_temp and splitters): Macroize insn and
- corresponding splitters from fist<mode>2_{floor,ceil} and corresponding
- splitters using FIST_ROUNDING int iterator.
- (l<rounding>xf<mode>2): Macroize expander from l{floor,ceil}xf<mode>2
- using FIST_ROUNDING int iterator.
-
-2012-06-19 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386-protos.h (ix86_expand_sse2_mulv4si3): Declare.
- * config/i386/i386.c (ix86_expand_sse2_mulv4si3): New.
- * config/i386/predicates.md (nonimmediate_or_const_vector_operand): New.
- * config/i386/sse.md (sse2_mulv4si3): Delete.
- (mul<VI4_AVX2>3): Use ix86_expand_sse2_mulv4si3 and
- nonimmediate_or_const_vector_operand.
-
-2012-06-19 Richard Henderson <rth@redhat.com>
-
- * expmed.c (struct init_expmed_rtl): Split ...
- (init_expmed_one_mode): ... out of ...
- (init_expmed): ... here. Initialize integer vector modes also.
- (synth_mult): Handle integer vector modes.
- (choose_mult_variant): Likewise.
- (expand_mult_const): Likewise.
- (expand_mult): Likewise.
- * machmode.h (GET_MODE_UNIT_BITSIZE): New.
-
-2012-06-19 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386.c (ix86_rtx_costs): Handle CONST_VECTOR, and
- integral vector modes.
-
-2012-06-19 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (FRNDINT_ROUNDING): New int iterator.
- (rounding): New int attribute.
- (ROUNDING): Ditto.
- (frndintxf2_<rounding>): Macroize insn from
- frndintxf2_{floor,ceil,trunc} using FRNDINT_ROUNDING int iterator.
- (frndintxf2_<rounding>_i387): Macroize insn from
- frndintxf2_{floor,ceil,trunc}_i387 using FRNDINT_ROUNDING int iterator.
-
-2012-06-19 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (union_ranges): New function.
- (vrp_meet_1): Use union_ranges.
- (vrp_meet): Dump what we union and call vrp_meet_1.
-
-2012-06-19 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.md (enum unspec): Delete UNSPEC_SIN and UNSPEC_COS.
- (attr type): Remove fmul, ffmul, farith, ffarith, float_em
- f_fpa_load, f_fpa_store, f_mem_r, r_mem_f.
- (attr write_conflict, attr core_cycles): Update.
- * arm-generic.md (r_mem_f_wbuf): Delete reservation.
-
-2012-06-19 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (intersect_ranges): Handle more cases.
- (vrp_intersect_ranges): Dump what we intersect and call ...
- (vrp_intersect_ranges_1): ... this.
-
-2012-06-19 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53708
- * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
- user-supplied alignment and alignment of decls with the used
- attribute.
-
-2012-06-18 Lawrence Crowl <crowl@google.com>
-
- * timevar.def (TV_PHASE_GENERATE): Rename to TV_PHASE_LATE_ASM.
- (TV_PHASE_CGRAPH): Rename to TV_PHASE_OPT_GEN.
- (TV_PHASE_STREAM_IN): New.
- (TV_PHASE_STREAM_OUT): New.
- * timevar.c (validate_phases): New.
- (timevar_print): Call validate_phases.
- * c-decl.c (c_write_global_declarations): Rename use of TV_PHASE_CGRAPH
- to TV_PHASE_OPT_GEN.
- * langhooks.c (write_global_declarations): Rename use of
- TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN. Use TV_PHASE_DBGINFO instead of
- TV_PHASE_CHECK_DBGINFO.
- * toplev.c (compile_file): Rename use of TV_PHASE_GENERATE to
- TV_PHASE_LATE_ASM. Move start of TV_PHASE_LATE_ASM to after call to
- lang_hooks.decls.final_write_globals.
-
-2012-06-18 David Edelshn <dje.gcc@gmail.com>
-
- * config/rs6000/aix52.h (TARGET_EXTRA_BUILTINS): Define as 0.
-
-2012-06-18 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/53712
- * config/i386/sse.md (*sse4_2_pcmpestr_unaligned): New.
- (*sse4_2_pcmpistr_unaligned): New.
-
-2012-06-18 Ian Bolton <ian.bolton@arm.com>
- Sameera Deshpande <sameera.deshpande@arm.com>
- Greta Yorsh <greta.yorsh@arm.com>
-
- * config/arm/arm-protos.h (arm_output_epilogue): Remove.
- * config/arm/arm.c (print_multi_reg): Remove.
- (vfp_output_fldmd): Likewise.
- (arm_output_epilogue): Likewise.
- * config/arm/arm.md (epilogue_insns): Update condition and code.
-
-2012-06-18 Ian Bolton <ian.bolton@arm.com>
- Sameera Deshpande <sameera.deshpande@arm.com>
- Greta Yorsh <greta.yorsh@arm.com>
-
- * config/arm/arm-protos.h (thumb2_expand_return): New declaration.
- * config/arm/arm.c (thumb2_expand_return): New function.
- * config/arm/arm.md (return): Update condition and code.
-
-2012-06-18 Ian Bolton <ian.bolton@arm.com>
- Sameera Deshpande <sameera.deshpande@arm.com>
- Greta Yorsh <greta.yorsh@arm.com>
-
- * config/arm/arm-protos.h (output_return_instruction): New parameter
- and int to bool change of parameter types.
- * config/arm/arm.c (output_return_instruction): Likewise.
- * config/arm/arm.md (arm_simple_return): New pattern.
- (arm_return, cond_return, cond_return_inverted): Add new arguments.
- * config/arm/thumb2.md (thumb2_return): Update condition and code.
-
-2012-06-18 Ian Bolton <ian.bolton@arm.com>
- Sameera Deshpande <sameera.deshpande@arm.com>
- Greta Yorsh <greta.yorsh@arm.com>
-
- * config/arm/arm-protos.h (arm_expand_epilogue): New declaration.
- * config/arm/arm.c (arm_expand_epilogue): New function.
- * config/arm/arm.md (epilogue): Update condition and code.
- (sibcall_epilogue): Likewise.
-
-2012-06-18 Ian Bolton <ian.bolton@arm.com>
- Sameera Deshpande <sameera.deshpande@arm.com>
- Greta Yorsh <greta.yorsh@arm.com>
-
- * config/arm/arm.c (arm_expand_epilogue_apcs_frame): New function.
- * config/arm/arm.md (arm_addsi3) Add an alternative.
-
-2012-06-18 Ian Bolton <ian.bolton@arm.com>
- Sameera Deshpande <sameera.deshpande@arm.com>
- Greta Yorsh <greta.yorsh@arm.com>
-
- * config/arm/arm.md (vfp_pop_multiple_with_writeback) New define_insn.
- * config/arm/predicates.md (pop_multiple_fp) New special predicate.
- * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): New function.
-
-2012-06-18 Ian Bolton <ian.bolton@arm.com>
- Sameera Deshpande <sameera.deshpande@arm.com>
- Greta Yorsh <greta.yorsh@arm.com>
-
- * config/arm/arm.md (load_multiple_with_writeback) New define_insn.
- (load_multiple, pop_multiple_with_writeback_and_return) Likewise.
- (pop_multiple_with_return, ldr_with_return) Likewise.
- * config/arm/predicates.md (pop_multiple_return) New special predicate.
- * config/arm/arm-protos.h (arm_output_multireg_pop) New declaration.
- * config/arm/arm.c (arm_output_multireg_pop) New function.
- (arm_emit_multi_reg_pop): New function.
-
-2012-06-18 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * config/arm/arm.c (ldm_stm_operation_p): Require SP
- as base register for loads if SP is in the register list.
-
-2012-06-18 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53693
- * tree-vect-patterns.c (vect_operation_fits_smaller_type):
- Reject operands with more than one use.
-
-2012-06-18 Bill Schmidt <wschmidt@linux.ibm.com>
-
- PR tree-optimization/53703
- * tree-ssa-phiopt.c (hoist_adjacent_loads): Skip virtual phis;
- correctly set bb_for_def[12].
-
-2012-06-18 Steven Bosscher <steven@gcc.gnu.org>
-
- * config/vax/vax.h (VMS_TARGET): Remove.
-
-2012-06-18 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (extract_range_from_assert): Split out range
- intersecting code.
- (intersect_ranges): New function.
- (vrp_intersect_ranges): Likewise.
-
-2012-06-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_gimplify_va_arg): Revert change from
- r187965.
-
-2012-06-18 Tejas Belagod <tejas.belagod@arm.com>
-
- * doc/md.texi: Document int iterators.
- * read-rtl.c (ints): New iterator group.
- (find_int): Int iterator group callback.
- (apply_int_iterator): Likewise.
- (apply_iterators): Traverse int iterator table and add all the used
- iterators to list.
- (initialize_iterators): Initialize data structures and callbacks for
- int iterators.
- (read_rtx): Parse and read mappings for int iterators.
- (read_rtx_code): Record int iterator usage.
-
-2012-06-18 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR middle-end/53698
- * expr.c (expand_expr_addr_expr_1): Convert to tmode before
- performing an addition.
-
-2012-06-17 Steven Bosscher <steven@gcc.gnu.org>
-
- * output.h (split_double): Move prototype to rtl.h.
- (constructor_static_from_elts_p): Move prototype to tree.c.
- * rtl.h (split_double): Moved here from output.h.
- * tree.h (constructor_static_from_elts_p): Moved here from output.h.
- * final.c (split_double): Move from here ...
- * rtlanal.c (split_double): ... to here.
- * expr.c: Do not include output.h.
-
-2012-06-17 Steven Bosscher <steven@gcc.gnu.org>
-
- * cfglayout.h: Remove.
- * cfglayout.c: Remove.
- * function.h (struct function): Remove x_last_location field.
- * function.c: Do not include cfglayout.h.
- (expand_function_start): Do not call no-op force_next_line_note.
- (expand_function_end): Likewise.
- * cfgrtl.c: Do not include cfglayout.h. Include gt-cfgrtl.h.
- (unlink_insn_chain): Moved here from cfglayout.c.
- (skip_insns_after_block, label_for_bb, record_effective_endpoints,
- into_cfg_layout_mode, outof_cfg_layout_mode,
- pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode,
- relink_block_chain, fixup_reorder_chain, verify_insn_chain,
- fixup_fallthru_exit_predecessor, force_one_exit_fallthru,
- cfg_layout_can_duplicate_bb_p, duplicate_insn_chain,
- cfg_layout_duplicate_bb, cfg_layout_initialize, break_superblocks,
- cfg_layout_finalize): Likewise.
- (rtl_can_remove_branch_p): Likewise.
- * rtl.h (insn_scope): Move prototype from cfglayout.h here.
- (duplicate_insn_chain): Likewise.
- (force_next_line_note): Remove prototype.
- * emit-rtl.c: Do not include tree-flow.h, egad. Include vecprim.h.
- (last_location): Remove #define to emit.x_last_location.
- (force_next_line_note): Remove no-op function.
- (init_emit): Don't set x_last_location.
- (block_locators_locs, block_locators_blocks, locations_locators_locs,
- locations_locators_vals, prologue_locator, epilogue_locator,
- curr_location, last_location, curr_block, last_block, curr_rtl_loc):
- Move POD to here from cfglayout.c.
- (insn_locators_alloc, insn_locators_finalize, insn_locators_free,
- set_curr_insn_source_location, get_curr_insn_source_location,
- set_curr_insn_block, get_curr_insn_block, curr_insn_locator,
- locator_scope, insn_scope, locator_location, locator_line, insn_line,
- locator_file, insn_file, locator_eq): Move to here from cfglayout.c.
- * cfghooks.h: Remove double-include protection.
- (can_copy_bbs_p, copy_bbs): Move prototypes from cfglayout.h to here.
- * cfghooks.c (can_copy_bbs_p, copy_bbs): Move to here from cfglayout.c.
- * final.c: Do not include cfglayout.h.
- (choose_inner_scope, change_scope): Move to here from cfglayout.c.
- (reemit_insn_block_notes): Likewise. Make static.
- * tree-flow.h (tree_could_trap_p, operation_could_trap_helper_p,
- operation_could_trap_p, tree_could_throw_p): Move from here...
- * tree.h: ... to here.
- * gengtype.c (open_base_files): Remove cfglayout.h from the list.
- * profile.c: Do not include cfghooks.h.
- * cfgloopmanip.c: Do not include cfglayout.h and cfghooks.h.
- * modulo-sched.c: Likewise.
- * loop-unswitch.c: Do not include cfglayout.h.
- * sched-ebb.c: Likewise.
- * tracer.c: Likewise.
- * ddg.c: Likewise.
- * tree-vect-loop-manip.c: Likewise.
- * loop-init.c: Likewise.
- * dwarf2out.c: Likewise.
- * hw-doloop.c: Likewise.
- * loop-unroll.c: Likewise.
- * cfgcleanup.c: Likewise.
- * bb-reorder.c: Likewise.
- * sched-rgn.c: Likewise.
- * tree-cfg.c: Likewise.
- * config/alpha/alpha.c: Likewise.
- * config/spu/spu.c: Likewise.
- * config/sparc/sparc.c: Likewise.
- * config/sh/sh.c: Likewise.
- * config/c6x/c6x.c: Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/score/score.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * Makefile.in (CFGAYOUT_H): Remove, and fixup users.
- * config/rs6000/t-rs6000 (rs6000.o): Do not depend on cfglayout.h.
- * config/spu/t-spu-elf (spu.o: $): Likewise.
- * config/sparc/t-sparc (sparc.o): Do not depend on CFGLAYOUT_H.
-
-2012-06-17 Steven Bosscher <steven@gcc.gnu.org>
-
- * cfgloop.h: Do not include rtl.h.
- (enum iv_extend_code): New.
- (struct rtx_iv): Use iv_extend_code instead of rtx_code.
- * Makefile.in (CFGLOOP_H): Do not depend on RTL_H.
- * loop-iv.c (iv_extend_to_rtx_code): New function to translate
- an IV_EXTEND_CODE to an RTX_CODE.
- (dump_iv_info): Update for rtx_iv field type change.
- (iv_constant): Likewise.
- (iv_subreg): Likewise.
- (iv_extend): Likewise.
- (iv_neg): Likewise.
- (iv_add): Likewise.
- (iv_mult): Likewise.
- (iv_shift): Likewise.
- (get_biv_step_1): Likewise.
- (get_biv_step): Likewise.
- (iv_analyze_biv): Likewise.
- (get_iv_value): Likewise.
- (shorten_into_mode): Likewise.
- (canonicalize_iv_subregs): Likewise.
- * sese.c (sese_build_liveouts): Use MAY_HAVE_DEBUG_STMTS instead
- of MAY_HAVE_DEBUG_INSNS.
- * tree-ssa-loop-ivopts.c: Include recog.h after expr.h.
- * tree-ssa-loop-prefetch.c: Likewise.
-
-2012-06-17 Steven Bosscher <steven@gcc.gnu.org>
-
- * expmed.c (ceil_log2): Move from here...
- * hwint.c: ... to here for older GCCs...
- * hwint.h: ... and here for newer GCCs.
- * rtl.h (ceil_log2): Remove prototype.
-
- * tree-phinodes.c: Do not include rtl.h.
- * Makefile.in (tree-phinodes.o): Do not depend on RTL_H.
-
-2012-06-17 Steven Bosscher <steven@gcc.gnu.org>
-
- * config/cris/cris.h (TARGET_ELF): Remove.
- (FORCE_EH_FRAME_INFO_IN_DATA_SECTION): Remove.
- (CRIS_ASM_OUTPUT_ALIGNED_DECL_COMMON): Simpify using TARGET_ELF==1.
- (LOCAL_LABEL_PREFIX): Likewise.
- * config/cris/cris.c (cris_target_asm_named_section): Remove.
- (cris_option_override): Simpify using TARGET_ELF==1.
- (cris_file_start): Likewise.
- * config/cris/cris-protos.h (cris_target_asm_named_section): Remove.
-
-2012-06-17 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (vcvtph2ps): Fix vec_select selector.
-
-2012-06-16 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/53590
- * tree-inline.c (initialize_cfun): Copy can_delete_dead_exceptions.
-
-2012-06-15 Easwaran Raman <eraman@google.com>
-
- * passes.c (init_optimization_passes): Remove pass_call_cdce
- from its current position and insert after pass_dce.
-
-2012-06-15 Walter Lee <walt@tilera.com>
-
- * config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>): Fix typo.
-
-2012-06-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.c (note_invalid_constants): Don't return a result.
- (arm_memory_load_p): Delete function.
- (arm_const_double_rtx): Delete iterator variable i;
- (fp_immediate_constant): Likewise.
- (fp_const_from_val): Likewise.
-
- * arm.c (arm_init_iwmmxt_builtins): Delete void_ftype_void.
-
-2012-06-15 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/51033
- * c-typeck.c (c_build_vec_perm_expr): Move to c-family/c-common.c.
- * c-tree.h (c_build_vec_perm_expr): Move to c-family/c-common.h.
-
-2012-06-15 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_default_expand_builtin): New function.
- (avr_expand_builtin): Use it.
- (avr_expand_unop_builtin): Remove.
- (avr_expand_binop_builtin): Remove.
- (avr_expand_triop_builtin): Remove.
-
-2012-06-15 Michael Matz <matz@suse.de>
-
- PR middle-end/38474
- * cfgexpand.c (add_alias_set_conflicts): Remove.
- (expand_used_vars): Don't call it.
- (aggregate_contains_union_type): Remove.
- * function.c (n_temp_slots_in_use): New static data.
- (make_slot_available, assign_stack_temp_for_type): Update it.
- (init_temp_slots): Zero it.
- (remove_unused_temp_slot_addresses): Use it for quicker removal.
- (remove_unused_temp_slot_addresses_1): Use htab_clear_slot.
-
-2012-06-15 Michael Matz <matz@suse.de>
-
- * gimplify.c (gimplify_compound_literal_expr): Take gimple_test_f
- argument, don't emit assign statement if value is directly usable.
- (gimplify_expr): Adjust.
-
-2012-06-15 Michael Matz <matz@suse.de>
-
- * gimplify.c (gimplify_modify_expr): Fold generated statements.
- * gimple-fold.c (can_refer_decl_in_current_unit_p): Check flag_ltrans.
-
-2012-06-15 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (set_and_canonicalize_value_range): Use canonical
- predicates to set VR_UNDEFINED and VR_VARYING. Drop a case
- we assert for in set_value_range to VR_VARYING.
-
-2012-06-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.md (addsf3, adddf3): Use s_register_operand.
- (subsf3, subdf3): Likewise.
- (mulsf3, muldf3): Likewise.
- (difsf3, divdf3): Likewise.
- (movsfcc, movdfcc): Likewise.
- * predicates.md (f_register_operand): Delete.
- (arm_float_rhs_operand): Delete.
- (arm_float_add_operand): Delete.
- (arm_float_compare_operand): Use s_register_operand when
- there's no VFP.
- (cirrus_register_operand): Delete.
- (cirrus_fp_register): Delete.
- (cirrus_shift_const): Delete.
- (cmpdi_operand): Remove Maverick support.
- * constraints.md (f, v, H): Delete constraints.
- (G): Update documentation.
- * arm.c (fp_consts_inited): Convert to bool.
- (strings_fp): Delete.
- (values_fp): Delete.
- (value_fp0): New variable.
- (init_fp_table): Simplify logic.
- (arm_const_double_rtx): Likewise.
- (fp_immediate_constant): Likewise.
- (fp_const_from_val): Likewise.
- (neg_const_double_rtx_ok_for_fpa): Delete.
- * doc/md.texi (ARM constraints): Update documentation.
-
-2012-06-15 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- PR tree-optimization/53636
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Verify
- stride when doing basic-block vectorization.
-
-2012-06-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * tree-vect-generic.c (lower_vec_perm): Propagate vector constants
- into VEC_PERM_EXPR.
-
-2012-06-15 Jakub Jelinek <jakub@redhat.com>
-
- * tree-vect-patterns.c (vect_pattern_recog): Don't unnecessarily
- allocate and free bbs array for the SLP case.
-
- PR tree-optimization/51581
- * expr.h (choose_multiplier): New prototype.
- * expmed.c (choose_multiplier): No longer static.
- Change multiplier_ptr from rtx * to UHWI *.
- (expand_divmod): Adjust callers.
- * tree-vect-patterns.c (vect_recog_sdivmod_pow2_pattern): Renamed to...
- (vect_recog_divmod_pattern): ... this. Pass bb_vinfo as last
- argument to new_stmt_vec_info. Attempt to optimize also divisions
- by non-pow2 constants if integer vector division isn't supported.
- * tree-vect-stmts.c (vect_analyze_stmt): If node != NULL,
- don't look at pattern stmts and sequences.
-
-2012-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/53590
- * common.opt (-fdelete-dead-exceptions): New switch.
- * doc/invoke.texi (Code Gen Options): Document it.
- * cse.c (count_reg_usage) <CALL_INSN>: Use !insn_nothrow_p in lieu of
- insn_could_throw_p predicate. Do not skip an insn that could throw
- if dead exceptions can be deleted.
- (insn_live_p): Likewise, do not return true in that case.
- * dce.c (can_alter_cfg): New flag.
- (deletable_insn_p): Do not return false for an insn that can throw if
- the CFG can be altered and dead exceptions can be deleted.
- (init_dce): Set can_alter_cfg to false for fast DCE, true otherwise.
- * dse.c (scan_insn): Use !insn_nothrow_p in lieu of insn_could_throw_
- predicate. Do not preserve an insn that could throw if dead exceptions
- can be deleted.
- * function.h (struct function): Add can_delete_dead_exceptions flag.
- * function.c (allocate_struct_function): Set it.
- * lto-streamer-in.c (input_struct_function_base): Stream it.
- * lto-streamer-out.c (input_struct_function_base): Likewise.
- * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Do not mark a
- statement that could throw as necessary if dead exceptions can be
- deleted.
-
-2012-06-14 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo.
-
-2012-06-14 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53568
- * config/sh/sh.md: Add peephole for swapbsi2.
- (*swapbisi2_and_shl8, *swapbhisi2): New insns and splits.
-
-2012-06-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*zero_extendsidi2): Remove x,x alternative.
- (*zero_extendsidi2_rex64): Ditto. Remove isa attribute.
-
-2012-06-14 Jakub Jelinek <jakub@redhat.com>
-
- PR target/53639
- * config/i386/i386.md (*anddi_1 into *andsi_1_zext splitter): New.
-
-2012-06-14 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.c (arm_cirrus_insn_p): Delete.
- (cirrus_reorg): Delete.
- (arm_reorg): Don't call cirrus_reorg.
- (arm_final_prescan_insn_p): Don't check for cirrus insns.
- * arm.md (define_attr "type"): Remove mav_farith and mav_dmult.
- (adddi3, subdi3): Remove Maverick support.
- (arm_adddi3): Likewise.
- (adddi_sesidi_di, adddi_zesidi_di): Likewise.
- (addsf3, adddf3): Likewise.
- (subsf3, subdf3): Likewise.
- (mulsf3, muldf3): Likewise.
- (ashldi3, ashrdi3, lshrdi3): Likewise.
- (floatsisf2, floatsidf2): Likewise.
- (fix_truncsfsi2, fix_truncdfsi2): Likewise.
- (arm_movdi, thumb1_movdi_insn): Likewise.
- (arm_cmpdi_insn): Likewise.
- (cirrus_cmpsf, cirrus_cmpdf, cirrus_cmpdi): Likewise.
- (cirrus.md): Don't include.
- * cirrus.md: Delete file.
- * t-arm (MD_INCLUDES): Remove cirrus.md.
-
-2012-06-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * dwarf2out.c (function_possibly_abstracted_p): New static function.
- (gen_subprogram_die): Use it function_possibly_abstracted_p in lieu of
- cgraph_function_possibly_inlined_p.
- (gen_inlined_subroutine_die): Return if the origin is to be ignored.
- (process_scope_var): Do not emit concrete instances of abstracted
- nested functions from here.
- (gen_decl_die): Emit the abstract instance if the function is possibly
- abstracted and not only possibly inlined.
- (dwarf2out_finish): Find the first non-abstract parent instance and
- attach concrete instances on the limbo list to it.
-
-2012-06-14 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.md (divsf3, divdf3): Remove FPA support.
- (negsf2, negdf2): Likewise.
- (sqrtsf2, sqrtdf2): Likewise.
- (movdfcc): Likewise.
- (modsf3, moddf3, movxf): Delete.
- (push_fp_multi): Delete.
- (fpa.md): Don't include it.
- * fpa.md: Delete file.
- * t-arm (MD_INCLUDES): Remove fpa.md.
-
-2012-06-14 Bill Schmidt <wschmidt@linux.ibm.com>
-
- * tree-vectorizer.h (vect_get_stmt_cost): Move from tree-vect-stmts.c.
- (cost_for_stmt): Remove decl.
- (vect_get_single_scalar_iteration_cost): Correct typo in name.
- * tree-vect-loop.c (vect_get_cost): Remove.
- (vect_get_single_scalar_iteration_cost): Correct typo in name; use
- vect_get_stmt_cost rather than vect_get_cost.
- (vect_get_known_peeling_cost): Use vect_get_stmt_cost rather than
- vect_get_cost.
- (vect_estimate_min_profitable_iters): Correct typo in call to
- vect_get_single_scalar_iteration_cost; use vect_get_stmt_cost rather
- than vect_get_cost.
- (vect_model_reduction_cost): Use vect_get_stmt_cost rather than
- vect_get_cost.
- (vect_model_induction_cost): Likewise.
- * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Correct
- typo in call to vect_get_single_scalar_iteration_cost.
- * tree-vect-stmts.c (vect_get_stmt_cost): Move to tree-vectorizer.h.
- (cost_for_stmt): Remove unnecessary function.
- * Makefile.in (TREE_VECTORIZER_H): Update dependencies.
-
-2012-06-14 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.opt (mfp=2, mfp=3, mfpe, mfpe=2, mfpe=3): Delete options.
- * arm-fpus.def (fpa, fpe2, fpe3, maverick): Delete FPU types.
- * arm-tables.opt: Regenerated.
- * doc/invoke.texi: Remove references to deleted options.
-
-2012-06-14 Sandeep Kumar Singh <Sandeep.Singh2@kpitcummins.com>
-
- * config/h8300/genmova.sh: Modified to add offset bits of
- mova/Sz assembly instruction for memory access.
- * config/h8300/h8300.c: Likewise.
- * config/h8300/mova.md: Likewise.
-
-2012-06-12 Christian Bruel <christian.bruel@st.com>
-
- PR target/53621
- * config/sh/sh.c (sh_option_override): Don't force
- flag_omit_frame_pointer and maccumulate_outgoing_args.
- * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.
-
-2012-06-14 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (VR_INITIALIZER): New define.
- (ranges_from_anti_range): New function.
- (extract_range_from_binary_expr_1): Decompose operations on
- VR_ANTI_RANGEs to operations on VR_RANGE.
- (extract_range_from_unary_expr_1): Likewise.
- (extract_range_from_binary_expr_1, extract_range_from_binary_expr,
- extract_range_from_unary_expr_1, extract_range_from_unary_expr,
- extract_range_from_cond_expr, adjust_range_with_scev,
- vrp_visit_assignment_or_call, vrp_visit_phi_node,
- simplify_bit_ops_using_ranges): Use VR_INITIALIZER.
-
-2012-06-13 Richard Henderson <rth@redhat.com>
-
- * hwint.h (HOST_WIDEST_INT_C): New.
- (HOST_WIDE_INT_C): New.
- (HOST_WIDE_INT_1): Use it.
- * config/alpha/alpha.c (alpha_trampoline_init): Use it.
-
-2012-06-13 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/49888
- * var-tracking.c: Include alias.h.
- (overlapping_mems): New struct.
- (drop_overlapping_mem_locs): New.
- (clobber_overlapping_mems): New.
- (var_mem_delete_and_set, var_mem_delete): Call it.
- (val_bind): Likewise, but only if modified.
- (compute_bb_dataflow, emit_notes_in_bb): Call it on MEMs.
- * Makefile.in (var-tracking.o): Depend in $(ALIAS_H).
-
-2012-06-13 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/47624
- * var-tracking.c (loc_exp_dep_pool): New.
- (vt_emit_notes): Create and release the pool.
- (compute_bb_dataflow): Use value-based locations in MO_VAL_SET.
- (emit_notes_in_bb): Likewise.
- (loc_exp_dep_insert): Deal with NOT_ONEPART vars.
- (notify_dependents_of_changed_value): Likewise.
- (notify_dependents_of_resolved_value): Check that NOT_ONEPART
- variables don't have a VAR_LOC_DEP_LST.
- (emit_note_insn_var_location): Expand NOT_ONEPART locs that are
- VALUEs or MEMs of VALUEs.
-
-2012-06-13 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/52983
- PR debug/48866
- * dce.c (word_dce_process_block): Insert debug temps only if the
- insn is not marked.
- (dce_process_block): Likewise, and if debug.used is not empty,
- and only after iterating over all DEFs that might mark the insn.
-
-2012-06-13 Alexandre Oliva <aoliva@redhat.com>
-
- * common.opt (ftree-coalesce-inlined-vars): New.
- (ftree-coalesce-vars): New.
- * doc/invoke.texi: Document them.
- * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
- Implement them.
-
-2012-06-13 Richard Sandiford <rdsandiford@googlemail.com>
-
- * read-rtl.c (mapping): Remove index field. Add current_value field.
- Define heap vectors.
- (iterator_group): Fix long line. Remove num_builtins field and
- uses_iterator fields. Make apply_iterator take a void * parameter.
- (iterator_use, atttribute_use): New structures.
- (iterator_traverse_data, BELLWETHER_CODE, bellwether_codes): Delete.
- (current_iterators, iterator_uses, attribute_uses): New variables.
- (uses_mode_iterator_p, uses_code_iterator_p): Delete.
- (apply_mode_iterator, apply_code_iterator): Take a void * parameter.
- (map_attr_string, apply_iterator_to_string): Remove iterator
- and value parameters. Look through all current iterator values
- for a matching attribute.
- (mode_attr_index, apply_mode_maps): Delete.
- (apply_iterator_to_rtx): Replace with...
- (copy_rtx_for_iterators): ...this new function.
- (uses_iterator_p, apply_iterator_traverse): Delete.
- (apply_attribute_uses, add_current_iterators, apply_iterators): New
- functions.
- (add_mapping): Remove index field. Set current_value field.
- (initialize_iterators): Don't set num_builtins and uses_iterator_p
- fields.
- (find_iterator): Delete.
- (record_iterator_use, record_attribute_use): New functions.
- (record_potential_iterator_use): New function.
- (check_code_iterator): Remove handling of bellwether codes.
- (read_rtx): Remove mode maps. Truncate iterator and attribute uses.
- (read_rtx_code, read_nested_rtx, read_rtx_variadic): Remove mode_maps
- parameter. Use the first code iterator value instead of the
- bellwether_codes array. Use record_potential_iterator_use for modes.
-
-2012-06-13 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53568
- * config/sh/sh.md (bswapsi2): New expander.
- (swapbsi2): New insn.
-
-2012-06-13 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/53647
- * config/i386/i386.c (ix86_tune_cost): New variable.
- (ix86_option_override_internal): Set ix86_tune_cost. Use
- ix86_tune_cost for simultaneous_prefetches, prefetch_block,
- l1_cache_size and l2_cache_size.
-
-2012-06-13 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (vrp_meet): Properly meet equivalent ranges.
- Handle meeting two VR_RANGE to an VR_ANTI_RANGE. Implement
- all possible meetings of VR_RANGE with VR_ANTI_RANGE and
- VR_ANTI_RANGE with VR_ANTI_RANGE.
-
-2012-06-13 Richard Earnshaw <rearnsha@arm.com>
-
- * config.gcc (unsupported): Move obsoleted FPA-based configurations
- here from ...
- (obsolete): ... here.
- (arm*-*-freebsd*): Remove.
- (arm*-*-linux*): Only accept EABI variants. Simplify logic.
- (arm*-*-uclinux*): Likewise.
- (arm*-*-ecos-elf): Remove.
- (arm*-*-rtems*): Remove.
- (arm*-*-elf): Remove.
- (arm*-wince-pe*): Remove.
- (arm, --with-fpu): Remove support for fpa and Maverick variants.
- * arm/ecos-elf.h: Delete.
- * arm/t-strongarm-elf: Delete.
- * arm/rtems-elf.h: Delete.
- * arm/wince-pe.h: Delete.
- * arm/pe.c: Delete.
- * arm/pe.h: Delete.
- * arm/t-wince-pe: Delete.
-
-2012-06-13 Bill Schmidt <wschmidt@linux.ibm.com>
-
- PR tree-optimization/53647
- * tree-ssa-phiopt.c (gate_hoist_loads): Skip transformation for
- targets with no defined cache line size.
-
-2012-06-13 Bill Schmidt <wschmidt@linux.ibm.com>
-
- * targhooks.c (default_builtin_vectorized_conversion): Handle
- vec_construct, using vectype to base cost on subparts.
- * target.h (enum vect_cost_for_stmt): Add vec_construct.
- * tree-vect-stmts.c (vect_model_load_cost): Use vec_construct
- instead of scalar_to-vec.
- * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
- vec_construct in same way as default for now.
- * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
- * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
- Handle vec_construct, including special case for 32-bit loads.
-
-2012-06-13 Xinyu Qi <xyqi@marvell.com>
-
- * config/arm/arm.c (FL_IWMMXT2): New define.
- (arm_arch_iwmmxt2): New variable.
- (arm_option_override): Enable use of iWMMXt with VFP.
- Disable use of iWMMXt with NEON. Disable use of iWMMXt under
- Thumb mode. Set arm_arch_iwmmxt2.
- (arm_expand_binop_builtin): Accept VOIDmode op.
- (enum arm_builtins): Revise built-in fcode.
- (IWMMXT2_BUILTIN): New define.
- (IWMMXT2_BUILTIN2): Likewise.
- (iwmmx2_mbuiltin): Likewise.
- (builtin_description bdesc_2arg): Revise built in declaration.
- (builtin_description bdesc_1arg): Likewise.
- (arm_init_iwmmxt_builtins): Revise built in initialization.
- (arm_expand_builtin): Revise built in expansion.
- (arm_output_iwmmxt_shift_immediate): New function.
- (arm_output_iwmmxt_tinsr): Likewise.
- * config/arm/arm-protos.h (arm_output_iwmmxt_shift_immediate): Declare.
- (arm_output_iwmmxt_tinsr): Likewise.
- * config/arm/iwmmxt.md (WCGR0, WCGR1, WCGR2, WCGR3): New constant.
- (iwmmxt_psadbw, iwmmxt_walign, iwmmxt_tmrc, iwmmxt_tmcr): Delete.
- (rorv4hi3, rorv2si3, rordi3): Likewise.
- (rorv4hi3_di, rorv2si3_di, rordi3_di): Likewise.
- (ashrv4hi3_di, ashrv2si3_di, ashrdi3_di): Likewise.
- (lshrv4hi3_di, lshrv2si3_di, lshrdi3_di): Likewise.
- (ashlv4hi3_di, ashlv2si3_di, ashldi3_di): Likewise.
- (iwmmxt_tbcstqi, iwmmxt_tbcsthi, iwmmxt_tbcstsi): Likewise
- (*iwmmxt_clrv8qi, *iwmmxt_clrv4hi, *iwmmxt_clrv2si): Likewise.
- (tbcstv8qi, tbcstv4hi, tbsctv2si): New pattern.
- (iwmmxt_clrv8qi, iwmmxt_clrv4hi, iwmmxt_clrv2si): Likewise.
- (*and<mode>3_iwmmxt, *ior<mode>3_iwmmxt, *xor<mode>3_iwmmxt): Likewise.
- (ror<mode>3, ror<mode>3_di): Likewise.
- (ashr<mode>3_di, lshr<mode>3_di, ashl<mode>3_di): Likewise.
- (ashli<mode>3_iwmmxt, iwmmxt_waligni, iwmmxt_walignr): Likewise.
- (iwmmxt_walignr0, iwmmxt_walignr1): Likewise.
- (iwmmxt_walignr2, iwmmxt_walignr3): Likewise.
- (iwmmxt_setwcgr0, iwmmxt_setwcgr1): Likewise.
- (iwmmxt_setwcgr2, iwmmxt_setwcgr3): Likewise.
- (iwmmxt_getwcgr0, iwmmxt_getwcgr1): Likewise.
- (iwmmxt_getwcgr2, iwmmxt_getwcgr3): Likewise.
- (All instruction patterns): Add wtype attribute.
- (*iwmmxt_arm_movdi, *iwmmxt_movsi_insn): iWMMXt coexist with vfp.
- (iwmmxt_uavgrndv8qi3, iwmmxt_uavgrndv4hi3): Revise the pattern.
- (iwmmxt_uavgv8qi3, iwmmxt_uavgv4hi3): Likewise.
- (ashr<mode>3_iwmmxt, ashl<mode>3_iwmmxt, lshr<mode>3_iwmmxt): Likewise.
- (iwmmxt_tinsrb, iwmmxt_tinsrh, iwmmxt_tinsrw):Likewise.
- (eqv8qi3, eqv4hi3, eqv2si3, gtuv8qi3): Likewise.
- (gtuv4hi3, gtuv2si3, gtv8qi3, gtv4hi3, gtv2si3): Likewise.
- (iwmmxt_wunpckihh, iwmmxt_wunpckihw, iwmmxt_wunpckilh): Likewise.
- (iwmmxt_wunpckilw, iwmmxt_wunpckehub, iwmmxt_wunpckehuh): Likewise.
- (iwmmxt_wunpckehuw, iwmmxt_wunpckehsb, iwmmxt_wunpckehsh): Likewise.
- (iwmmxt_wunpckehsw, iwmmxt_wunpckelub, iwmmxt_wunpckeluh): Likewise.
- (iwmmxt_wunpckeluw, iwmmxt_wunpckelsb, iwmmxt_wunpckelsh): Likewise.
- (iwmmxt_wunpckelsw, iwmmxt_wmadds, iwmmxt_wmaddu): Likewise.
- (iwmmxt_wsadb, iwmmxt_wsadh, iwmmxt_wsadbz, iwmmxt_wsadhz): Likewise.
- (iwmmxt2.md): Include.
- * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __IWMMXT2__.
- (TARGET_IWMMXT2): New define.
- (TARGET_REALLY_IWMMXT2): Likewise.
- (arm_arch_iwmmxt2): Declare.
- * config/arm/mmintrin.h: Use __IWMMXT__ to enable iWMMXt intrinsics.
- Use __IWMMXT2__ to enable iWMMXt2 intrinsics.
- Use C name-mangling for intrinsics.
- (__v8qi): Redefine.
- (_mm_cvtsi32_si64, _mm_andnot_si64, _mm_sad_pu8): Revise.
- (_mm_sad_pu16, _mm_align_si64, _mm_setwcx, _mm_getwcx): Likewise.
- (_m_from_int): Likewise.
- (_mm_sada_pu8, _mm_sada_pu16): New intrinsic.
- (_mm_alignr0_si64, _mm_alignr1_si64, _mm_alignr2_si64): Likewise.
- (_mm_alignr3_si64, _mm_tandcb, _mm_tandch, _mm_tandcw): Likewise.
- (_mm_textrcb, _mm_textrch, _mm_textrcw, _mm_torcb): Likewise.
- (_mm_torch, _mm_torcw, _mm_tbcst_pi8, _mm_tbcst_pi16): Likewise.
- (_mm_tbcst_pi32): Likewise.
- (_mm_abs_pi8, _mm_abs_pi16, _mm_abs_pi32): New iWMMXt2 intrinsic.
- (_mm_addsubhx_pi16, _mm_absdiff_pu8, _mm_absdiff_pu16): Likewise.
- (_mm_absdiff_pu32, _mm_addc_pu16, _mm_addc_pu32): Likewise.
- (_mm_avg4_pu8, _mm_avg4r_pu8, _mm_maddx_pi16, _mm_maddx_pu16): Likewise.
- (_mm_msub_pi16, _mm_msub_pu16, _mm_mulhi_pi32): Likewise.
- (_mm_mulhi_pu32, _mm_mulhir_pi16, _mm_mulhir_pi32): Likewise.
- (_mm_mulhir_pu16, _mm_mulhir_pu32, _mm_mullo_pi32): Likewise.
- (_mm_qmulm_pi16, _mm_qmulm_pi32, _mm_qmulmr_pi16): Likewise.
- (_mm_qmulmr_pi32, _mm_subaddhx_pi16, _mm_addbhusl_pu8): Likewise.
- (_mm_addbhusm_pu8, _mm_qmiabb_pi32, _mm_qmiabbn_pi32): Likewise.
- (_mm_qmiabt_pi32, _mm_qmiabtn_pi32, _mm_qmiatb_pi32): Likewise.
- (_mm_qmiatbn_pi32, _mm_qmiatt_pi32, _mm_qmiattn_pi32): Likewise.
- (_mm_wmiabb_si64, _mm_wmiabbn_si64, _mm_wmiabt_si64): Likewise.
- (_mm_wmiabtn_si64, _mm_wmiatb_si64, _mm_wmiatbn_si64): Likewise.
- (_mm_wmiatt_si64, _mm_wmiattn_si64, _mm_wmiawbb_si64): Likewise.
- (_mm_wmiawbbn_si64, _mm_wmiawbt_si64, _mm_wmiawbtn_si64): Likewise.
- (_mm_wmiawtb_si64, _mm_wmiawtbn_si64, _mm_wmiawtt_si64): Likewise.
- (_mm_wmiawttn_si64, _mm_merge_si64): Likewise.
- (_mm_torvscb, _mm_torvsch, _mm_torvscw): Likewise.
- (_m_to_int): New define.
- * config/arm/arm-cores.def (iwmmxt2): Add FL_IWMMXT2.
- * config/arm/arm-arches.def (iwmmxt2): Likewise.
- * config/arm/t-arm (MD_INCLUDES): Add marvell-f-iwmmxt.md and
- iwmmxt2.md.
- * config/arm/arm.md (marvell-f-iwmmxt.md): Include.
- (arch): Add "iwmmxt2".
- (arch_enabled): Handle "iwmmxt2".
- (wtype): New attribute.
- (UNSPEC_WMADDS, UNSPEC_WMADDU): Delete.
- (UNSPEC_WALIGNI): New unspec.
- * config/arm/predicates.md (imm_or_reg_operand): New predicate.
- * config/arm/iterators.md (VMMX2): New mode_iterator.
- * config/arm/marvell-f-iwmmxt.md: New file.
- * config/arm/iwmmxt2.md: New file.
-
-2012-06-12 Jakub Jelinek <jakub@redhat.com>
-
- PR c/53532
- PR c/51034
- PR c/53196
- * c-decl.c (build_compound_literal): Call c_incomplete_type_error
- if type isn't complete.
-
-2012-06-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/ia64/sync.md (fetchop_name): Change ior attribute to "or".
-
-2012-06-12 Richard Henderson <rth@redhat.com>
-
- * config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode
- iterator instead of INT.
-
-2012-06-12 Bill Schmidt <wschmidt@linux.ibm.com>
-
- * opts.c: Add -fhoist-adjacent-loads to -O2 and above.
- * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Add argument to forward
- declaration.
- (hoist_adjacent_loads, gate_hoist_loads): New forward declarations.
- (tree_ssa_phiopt): Call gate_hoist_loads.
- (tree_ssa_cs_elim): Add parm to tree_ssa_phiopt_worker call.
- (tree_ssa_phiopt_worker): Add do_hoist_loads to formal arg list; call
- hoist_adjacent_loads.
- (local_mem_dependence): New function.
- (hoist_adjacent_loads): Likewise.
- (gate_hoist_loads): Likewise.
- * common.opt (fhoist-adjacent-loads): New switch.
- * Makefile.in (tree-ssa-phiopt.o): Added dependencies.
-
-2012-06-12 Michael Matz <matz@suse.de>
-
- * alias.c (nonoverlapping_component_refs_p): Take two rtx arguments.
- (nonoverlapping_memrefs_p): Don't call it here ...
- (true_dependence_1): ... but here.
-
-2012-06-12 Richard Guenther <rguenther@suse.de>
-
- * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove dead code.
- * alias.c (ao_ref_from_mem): MEM_EXPR is conservative, MEM_OFFSET
- and MEM_SIZE only refines it. Reflect that and be less conservative
- if either of the latter is not known.
-
-2012-06-12 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/53589
- * cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
- discovery even when e->dest != target. If any LABEL_REF points
- to e->dest label, redirect it to target's label.
-
-2012-06-12 Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/sh/sh.c (output_stack_adjust): Remove !epilogue_p
- condition for generating REG_FRAME_RELATED_EXPR note.
- (pop): Add code for generating REG_CFA_RESTORE,
- REG_CFA_ADJUST_CFA notes. Set RTX_FRAME_RELATED_P to 1.
- (sh_expand_epilogue): Use frame_insn() for FP to SP move.
- Set 'frame_p' of calls to output_stack_adjust() to 'true'.
-
-2012-06-11 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.c (HWI_HEX2): Add missing shift.
- * vmsdbgout.c (VMS_EPOCH_OFFSET): Add LL suffix.
-
- * config/alpha/alpha.c (alpha_trampoline_init): Split large constants.
-
-2012-06-12 Hans-Peter Nilsson <hp@axis.com>
-
- * doc/tm.texi.in (Addressing Modes) <TARGET_LEGITIMIZE_ADDRESS>:
- Mention that this hook needs to be defined for native TLS.
- * doc/tm.texi: Regenerate.
-
-2012-06-11 Mike Stump <mikestump@comcast.net>
-
- * emit-rtl.c (init_emit_once): Iterate through the
- MODE_PARTIAL_INT modes with MIN_MODE_PARTIAL_INT and
- MAX_MODE_PARTIAL_INT, as GET_MODE_WIDER_MODE doesn't step through
- all the MIN_MODE_PARTIAL_INT modes anymore.
-
-2012-06-12 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * config/mips/mips-tables.opt (xlp): Fix merge typo.
-
-2012-06-11 Roland McGrath <mcgrathr@google.com>
-
- * dwarf2out.c (const_ok_for_output_1): Detect a TLS UNSPEC using
- SYMBOL_REF_TLS_MODEL rather than DECL_THREAD_LOCAL_P, in case it's
- not a VAR_DECL. Also don't limit it to UNSPECs with exactly one
- operand.
-
-2012-06-11 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53511
- * config/sh/sh.md (fmasf4): New expander.
- (*macsf3): Rename to fmasf4_i. Adapt to fma pattern.
- (mac_media): Rename to fmasf4_media. Adapt to fma pattern.
- * config/sh/sh.opt (mfused-madd): Remove.
- * config/sh/sh.c (sh_option_override): Remove mfused-madd handling.
- (builtin_description bdesc): Remove __builtin_sh_media_FMAC_S.
- * config.gcc (sh[123456789lbe]*-*-* | sh-*-*): Add fused-madd.opt
- as extra options.
- * doc/invoke.texi (SH Options): Update mfused-madd and mno-fused-madd
- descriptions.
-
-2012-06-11 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (scan_trace): Handle annulled branch-taken delay slots.
-
-2012-06-11 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53470
- * tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but
- replace it with the first non-BLOCK context.
-
-2012-06-11 Richard Guenther <rguenther@suse.de>
-
- * alias.c (aliases_everything_p): Remove.
- (DIFFERENT_ALIAS_SETS_P): Likewise.
- (true_dependence_1): Use mems_in_disjoint_alias_sets_p directly.
- Do not use aliases_everything_p or special-case ANDs. Do not
- special-case BLKmode moves.
- (may_alias_p): Likewise. Handle BLKmode similar like everywhere
- - for SCATCH only.
-
-2012-06-09 Hans-Peter Nilsson <hp@axis.com>
-
- Fix CRIS build errors with --enable-build-with-cxx.
- * config/cris/cris.c (cris_emit_trap_for_misalignment): Rename
- variable "and" to "andop".
- * config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>"): Use
- temporary variable for memory model, passing C++-type-correct
- parameter type to expand_mem_thread_fence.
- ("atomic_compare_and_swap<mode>"): Ditto.
-
-2012-06-09 Richard Henderson <rth@redhat.com>
-
- PR c++/53602
- * cfgcleanup.c (execute_jump): Rename from rest_of_handle_jump2.
- (pass_jump): Rename from pass_jump2.
- (execute_jump2, pass_jump2): New.
- * combine-stack-adj.c (rest_of_handle_stack_adjustments): Don't
- perform cfg cleanup here. Move the test of PUSH_ROUNDING
- and ACCUMULATE_OUTGOING_ARGS test...
- (gate_handle_stack_adjustments): ... here.
- * passes.c (init_optimization_passes): Update for pass_jump2 rename.
- Place new pass_jump2 after pass_stack_adjustments.
- * tree-pass.h (pass_jump): Declare.
-
-2012-06-09 Kenneth Zadeck <zadeck@naturalbridge.com>
-
- * simplify-rtx.c (simplify_const_binary_operation): Fixed shift
- count trucation.
-
-2012-06-08 Richard Henderson <rth@redhat.com>
-
- PR c++/53602
- * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE
- note to a clobber insn when no other insn is available.
-
-2012-06-08 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_case_values_threshold): Return 7.
-
-2012-06-07 Andreas Schwab <schwab@linux-m68k.org>
-
- * genhooks.c (main): Set progname.
- (emit_documentation): Remove variable found_start, always bail out
- when a place is missing.
- * doc/tm.texi.in (C++ ABI): Add @hook TARGET_CXX_DECL_MANGLING_CONTEXT.
-
-2012-06-07 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/53580
- * omp-low.c (scan_omp): Change first argument to gimple_seq *,
- call walk_gimple_seq_mod instead of walk_gimple_seq.
- (scan_sharing_clauses, scan_omp_parallel, scan_omp_task,
- scan_omp_for, scan_omp_sections, scan_omp_single,
- execute_lower_omp): Adjust callers.
- (scan_omp_1_stmt): Likewise. If check_omp_nesting_restrictions
- returns false, replace stmt with GIMPLE_NOP.
- (check_omp_nesting_restrictions): Instead of issuing warnings,
- issue errors and return false if any errors were reported.
-
-2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
-
- * doc/invoke.texi (fconserve-space): Remove documentation.
-
-2012-06-06 Edmar Wienskoski <edmar@freescale.com>
-
- * config/rs6000/rs6000-tables.opt: Regenerated.
-
-2012-06-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53081
- * tree-data-ref.h (adjacent_store_dr_p): Rename to ...
- (adjacent_dr_p): ... this and make it work for reads, too.
- * tree-loop-distribution.c (enum partition_kind): Add PKIND_MEMCPY.
- (struct partition_s): Change main_stmt to main_dr, add
- secondary_dr member.
- (build_size_arg_loc): Change to date data-reference and not
- gimplify here.
- (build_addr_arg_loc): New function split out from ...
- (generate_memset_builtin): ... here. Use it and simplify.
- (generate_memcpy_builtin): New function.
- (generate_code_for_partition): Adjust.
- (classify_partition): Streamline pattern detection. Detect memcpy.
- (ldist_gen): Adjust.
- (tree_loop_distribution): Adjust seed statements for memcpy
- recognition.
-
-2012-06-06 Matt Turner <mattst88@gmail.com>
-
- * config/arm/mmintrin.h (_mm_empty): New.
- (_m_empty): New.
-
-2012-06-06 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * doc/invoke.texi (sched-pressure-algorithm): Document new --param.
- * common.opt (fsched-pressure-algorithm=): Remove.
- * flag-types.h (sched_pressure_algorithm): Move to...
- * sched-int.h (sched_pressure_algorithm): ...here.
- * params.def (sched-pressure-algorithm): New param.
- * haifa-sched.c (sched_init): Use it to initialize sched_pressure.
- * common/config/s390/s390-common.c (s390_option_optimization_table):
- Remove OPT_fsched_pressure_algorithm_ entry.
- * config/s390/s390.c (s390_option_override): Set a default value for
- PARAM_SCHED_PRESSURE_ALGORITHM.
-
-2012-06-05 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/53487
- * config/rs6000/rs6000.c (rs6000_generate_compare): If we are
- doing an unsigned compare, make sure the second argument is not a
- negative constant.
- (rs6000_emit_cmove): Don't allow floating point comparisons when
- generating ISEL moves.
-
-2012-06-05 Edmar Wienskoski <edmar@freescale.com>
-
- * config/rs6000/e5500.md: New file.
- * config/rs6000/e6500.md: New file.
- * config/rs6000/rs6000.c (processor_costs): Add new costs for
- e5500 and e6500.
- (rs6000_option_override_internal): Altivec and Spe options not
- allowed with e5500. Spe options not allowed with e6500. Increase
- move inline limit for e5500 and e6500. Disable string instructions
- for e5500 and e6500. Enable branch targets alignment for e5500 and
- e6500. Initialize rs6000_cost for e5500 and e6500.
- (rs6000_adjust_cost): Add extra scheduling cycles between compare
- and brnach for e5500 and e6500.
- (rs6000_issue_rate): Set issue rate for e5500 and e6500.
- * config/rs6000/rs6000-cpus.def: Add cpu definitions for e5500 and
- e6500.
- * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add e5500 and e6500.
- * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce5500 and
- ppce6500.
- Include e5500.md and e6500.md.
- * config/rs6000/rs6000-opt.h (processor_type): Add
- PROCESSOR_PPCE5500 and PROCESSOR_PPCE6500.
- * config.gcc (cpu_is_64bit): Add new cores e5500, e6500.
- (powerpc*-*-*): Add new cores e5500, e6500.
- * doc/invoke.texi: (item -mcpu): Add e5500 and e6500 to list of cpus.
-
-2012-06-05 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_analyze_data_refs): Fix last change.
-
-2012-06-05 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/53575
- * config.gcc: Select x32 run-time library if --with-abi={x32|mx32}
- is used for x86_64-*-*.
-
-2012-06-05 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/30442
- * tree-vect-data-refs.c (vect_analyze_data_refs): For basic-block
- vectorization stop analysis at the first stmt we cannot compute
- a data-reference for instead of giving up completely.
-
-2012-06-05 Richard Guenther <rguenther@suse.de>
-
- * tree-loop-distribution.c (struct partition_s): Add has_writes member.
- (partition_alloc): Initialize it.
- (partition_has_writes): New function.
- (rdg_flag_uses): Adjust.
- (rdg_flag_vertex): Likewise.
- (rdg_flag_vertex_and_dependent): Likewise.
- (rdg_flag_loop_exits): Likewise.
- (build_rdg_partition_for_component): Likewise.
- (rdg_build_partitions): Likewise.
-
-2012-06-05 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53081
- * tree-loop-distribution.c (generate_memset_builtin): Handle all
- kinds of byte-sized stores.
- (classify_partition): Likewise.
- (tree_loop_distribution): Adjust seed statements used for
- !flag_tree_loop_distribution.
-
-2012-06-05 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (ptr_regno_for_savres): Comment.
- (rs6000_emit_prologue): Ensure register used for inline saves
- of vector regs is not the static chain register. Revise comment.
-
-2012-06-04 Oleg Endo <olegendo@gcc.gnu.org>
-
- * doc/md.texi (Standard Pattern Names For Generation): Document
- sincos pattern.
-
-2012-06-04 H.J. Lu <hongjiu.lu@intel.com>
-
- PR bootstrap/53555
- * config/i386/i386.c (ix86_sched_reorder): Skip debug insns.
-
-2012-06-04 Jason Merrill <jason@redhat.com>
-
- * dwarf2out.c (is_unit_die): New.
- (copy_declaration_context, copy_ancestor_tree): Use it.
- (copy_decls_walk): Likewise.
-
-2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53524
- * doc/invoke.texi (Wenum-compare): Update documentation.
-
-2012-06-04 Dodji Seketeli <dodji@redhat.com>
-
- PR preprocessor/53463
- * parser.c (cp_parser_assignment_expression): Use the location
- for the '=' as the default location for the expression.
-
-2012-06-04 Edmar Wienskoski <edmar@freescale.com>
-
- PR target/53559
- * config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
- operands.
- (altivec_stvlxl): Ditto.
- (altivec_stvrx): Ditto.
- (altivec_stvrxl): Ditto.
-
-2012-06-04 Vladimir Makarov <vmakarov@redhat.com>
-
- * ira-int.h (struct target_ira_int): Add member x_ira_uniform_class_p.
- (ira_uniform_class_p): New macro.
-
- * ira.c (setup_uniform_class_p): New function.
- (setup_allocno_and_important_classes): Call the function.
- (print_unform_and_important_classes): New function.
- (print_classes): Rename to print_translated_classes.
- (ira_debug_allocno_classes): Add call of
- print_unform_and_important_classes.
-
- * ira-costs.c (setup_regno_cost_classes_by_aclass): Use uniform
- classes instead of pressure classes.
-
-2012-06-04 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/47530
- * trans-mem.c (expand_block_edges): Do not skip the first
- statement when resetting the BB.
-
-2012-06-04 Richard Guenther <rguenther@suse.de>
-
- * tree-data-ref.c (stores_from_loop): Remove.
- (stmt_with_adjacent_zero_store_dr_p): Likewise.
- (stores_zero_from_loop): Likewise.
- * tree-data-ref.h (stores_from_loop, stores_zero_from_loop,
- stmt_with_adjacent_zero_store_dr_p, stride_of_unit_type_p): Remove.
- (adjacent_store_dr_p): New function.
- * tree-loop-distribution.c (generate_memset_builtin): Pass
- the RDG, use the already available data-reference.
- (generate_code_for_partition): Pass down RDG.
- (classify_partition): Inline parts of the former
- stmt_with_adjacent_zero_store_dr_p here and use adjacent_store_dr_p.
- (ldist_gen): Remember if there was any detected builtin and
- do less work if not and flag_tree_loop_distribution is not set.
- (tree_loop_distribution): Inline and fuse stores_from_loop
- and stores_zero_from_loop here.
-
-2012-06-04 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53471
- * dwarf2out.c (dwarf2out_finish): If generating LTO do not
- create new assembler names.
-
-2012-06-04 Richard Guenther <rguenther@suse.de>
-
- * tree-data-ref.c (struct rdg_vertex_info): Remove.
- (rdg_vertex_for_stmt): Simplify using gimple_uid.
- (create_rdg_vertices): Pass loop argument, remove stmt to RDG index
- hashtable. Record stmt data-references.
- (hash_stmt_vertex_info): Remove.
- (eq_stmt_vertex_info): Likewise.
- (hash_stmt_vertex_del): Likewise.
- (build_empty_rdg): Simplify.
- (build_rdg): Adjust.
- (free_rdg): Likewise.
- (ref_base_address): Remove.
- (have_similar_memory_accesses): Likewise.
- * tree-data-ref.h (create_rdg_vertices): Remove.
- (struct rdg_vertex): Add datarefs member.
- (RDGV_DATAREFS): New define.
- (RDG_DATAREFS): Likewise.
- (have_similar_memory_accesses): Remove.
- (rdg_has_similar_memory_accesses): Likewise.
- * tree-loop-distribution.c (ref_base_address): Re-implement here.
- (similar_memory_accesses): Re-implement using existing data-references.
- (tree_loop_distribution): Initialize stmt uids for the stmt to
- RDG index mapping.
- * tree-vect-loop.c (vect_create_epilog_for_reduction): Only
- access stmt vinfo for stmts in loop.
-
-2012-06-04 Andreas Schwab <schwab@linux-m68k.org>
-
- PR target/53461
- * config/m68k/m68k.md ("tablejump"): Fix check for
- CASE_VECTOR_PC_RELATIVE.
-
-2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
-
- * output.h (merge_weak, assemble_alias,
- initializer_constant_valid_p,
- initializer_constant_valid_for_bitfield_p): Move protos from here...
- * tree.h: ... to here.
- * cgraphclones.c: Do not include output.h.
- * gimplify.c: Likewise.
- * reload.c: Likewise.
- * recog.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * c-parser.c: Likewise.
- * c-typeck.c: Likewise.
- * Makefile.in: Fix dependencies.
-
-2012-06-04 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/46261
- * config/avr/avr-stdint.h: New file.
- * config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of
- newlib-stdint.h
-
-2012-06-04 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53550
- * tree-ssa-loop-niter.c (number_of_iterations_cond): If type
- is POINTER_TYPE_P, use sizetype as step type instead of type.
-
-2012-06-04 Richard Guenther <rguenther@suse.de>
-
- * tree-data-ref.c (have_similar_memory_accesses_1): Remove.
- (ref_base_address_1): Likewise.
- (remove_similar_memory_refs): Likewise.
- * tree-data-ref.h (remove_similar_memory_refs): Remove.
- * tree-loop-distribution.c (classify_partition): Do not classify
- as builtin if -ftree-loop-distribute-patterns is not enabled.
- (fuse_partitions_with_similar_memory_accesses): Inline ...
- (ldist_gen): ... here. Fuse all non-builtin partitions if
- -ftree-loop-distribution is not enabled. Properly return
- the number of created partitions. Do not update SSA form here but ...
- (tree_loop_distribution): ... once here for the whole function.
- Only walk innermost loops, constrain loops we consider here
- further. Do not call remove_similar_memory_refs.
- (distribute_loop): Do not check number of loop nodes here.
-
-2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
-
- * Makefile.in (GIMPLE_H): Do not depend on TARGET_H.
-
-2012-06-03 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.h (ipa_get_jf_known_type_offset): New function.
- (ipa_get_jf_known_type_base_type): Likewise.
- (ipa_get_jf_known_type_component_type): Likewise.
- (ipa_get_jf_constant): Likewise.
- (ipa_get_jf_pass_through_formal_id): Likewise.
- (ipa_get_jf_pass_through_operation): Likewise.
- (ipa_get_jf_ancestor_offset): Likewise.
- (ipa_get_jf_ancestor_type): Likewise.
- (ipa_get_jf_ancestor_formal_id): Likewise.
- (ipa_get_jf_member_ptr_pfn): Likewise.
- * ipa-prop.c (ipa_set_jf_known_type): New function.
- (ipa_set_jf_constant): Likewise.
- (ipa_set_jf_simple_pass_through): Likewise.
- (ipa_set_jf_arith_pass_through): Likewise.
- (ipa_set_ancestor_jf): Likewise.
- (fill_member_ptr_cst_jump_function): Moved up and renamed to
- ipa_set_jf_member_ptr_cst.
- (detect_type_change_1): Use the new jump function creation functions.
- (compute_complex_assign_jump_func): Likewise.
- (compute_complex_ancestor_jump_func): Likewise.
- (compute_known_type_jump_func): Likewise.
- (compute_scalar_jump_functions): Likewise.
- (compute_pass_through_member_ptrs): Likewise.
- (determine_cst_member_ptr): Likewise.
- (combine_known_type_and_ancestor_jfs): Likewise.
- (try_make_edge_direct_simple_call): Likewise.
- (try_make_edge_direct_virtual_call): Likewise.
- (update_indirect_edges_after_inlining): Likewise.
- * ipa-cp.c (ipa_get_jf_pass_through_result): Use jump function
- access functions. Incorporat NOP_EXPR and BINFO handling from its
- callers.
- (ipa_get_jf_ancestor_result): Likewise. Incorporate handling BINFOs
- which was in its callers.
- (ipa_value_from_jfunc): Use jump function access functions. Some
- functionality moved to functions above.
- (propagate_vals_accross_ancestor): Likewise.
- (propagate_vals_accross_pass_through): Use jump function access
- functions.
- (propagate_accross_jump_function): Likewise.
- * ipa-inline-analysis.c (remap_edge_change_prob): Use jump function
- access functions.
- (inline_merge_summary): Likewise.
-
-2012-06-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * config/pa/pa.h (MAX_PCREL17F_OFFSET): Define.
- * config/pa/pa.c (pa_attr_length_millicode_call): Use
- MAX_PCREL17F_OFFSET instead of fixed offset.
- (pa_attr_length_call): Likewise.
- (pa_attr_length_indirect_call): Likewise.
-
-2012-06-03 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53512
- * config/sh/sh.opt (mfsca, mfsrra): New options.
- * config/sh/sh.md (rsqrtsf2): Use TARGET_FPU_ANY and TARGET_FSRRA
- condition.
- (fsca): Use TARGET_FPU_ANY and TARGET_FSCA condition.
- (sinssf2, cossf2): Fold expanders to ...
- (sincossf3): ... this new expander. Use TARGET_FPU_ANY and
- TARGET_FSCA condition.
- * config/sh/sh.c (sh_option_override): Handle TARGET_FSRRA and
- TARGET_FSCA.
- * doc/invoke.texi (SH Options): Add descriptions for -mfsca,
- -mno-fsca, -mfsrra, -mno-fsrra.
-
-2012-06-03 Matt Turner <mattst88@gmail.com>
-
- * config/mips/4600.md (r4700_imul_si): New.
- (r4700_imul_di): New.
- (r4700_fmul_single): New.
- (r4700_fmul_double): New.
- * config/mips/mips-cpus.def: Add r4700.
- * config/mips/mips.c: Likewise.
- * config/mips/mips.md: Likewise.
- * config/mips/mips-tables.opt: Regenerate.
-
-2012-06-02 Steven Bosscher <steven@gcc.gnu.org>
-
- * config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Split out to
- new function sparc_initial_elimination_offset.
- * config/sparc/sparc.c (sparc_initial_elimination_offset): New
- function.
- * config/sparc/sparc-protos.h (sparc_initial_elimination_offset):
- Prototype it.
-
-2012-06-02 Kenneth Zadeck <zadeck@naturalbridge.com>
-
- * expmed.c (expand_mult, choose_multiplier): Change
- "2 * HOST_BITS_PER_WIDE_INT" to "HOST_BITS_PER_DOUBLE_INT".
- * expr.c (convert_modes): Likewise.
- * explow.c (plus_constant): Likewise.
- * fixed-value.c (fixed_saturate1, fixed_saturate2)
- (do_fixed_add, do_fixed_multiply, do_fixed_multiply)
- (do_fixed_multiply, do_fixed_multiply, do_fixed_divide)
- (do_fixed_divide, do_fixed_divide, do_fixed_divide)
- (do_fixed_divide, do_fixed_divide, do_fixed_shift, do_fixed_shift)
- (do_fixed_shift, fixed_convert, fixed_convert)
- (fixed_convert_from_int, fixed_convert_from_int)
- (fixed_convert_from_real): Likewise.
- * fold-const.c (fold_convert_const_int_from_fixed, sign_bit_p)
- (native_interpret_int, fold_binary_loc, fold_ternary_loc): Likewise.
- * varasm.c (output_constructor_bitfield): Likewise.
- * tree-vrp.c (register_edge_assert_for_2): Likewise.
- * double-int.c (rshift_double, lshift_double): Likewise.
- * double-int.h (double_int_fits_in_uhwi_p, double_int, double_int):
- Likewise.
- * simplify-rtx.c (mode_signbit_p)
- (simplify_const_unary_operation, simplify_binary_operation_1)
- (simplify_immed_subreg): Likewise.
- * builtins.c (c_readstr, fold_builtin_bitop): Likewise.
- * tree-vect-generic.c (build_replicated_const): Likewise.
- * dbxout.c (stabstr_O): Likewise.
- * emit-rtl.c (immed_double_int_const, immed_double_const)
- (gen_lowpart_common, init_emit_once): Likewise.
- * tree.c (integer_pow2p, tree_log2, tree_floor_log2)
- (widest_int_cst_value, upper_bound_in_type): Likewise.
- * stor-layout.c (initialize_sizetypes, fixup_signed_type)
- (fixup_unsigned_type): Likewise.
- * real.c (real_to_integer2, real_from_integer): Likewise.
- * dwarf2out.c (size_of_loc_descr, size_of_die, output_die)
- (clz_loc_descriptor, mem_loc_descriptor): Likewise.
-
-2012-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/53501
- * fold-const.c (fold_binary_loc): Refine previous change.
-
-2012-06-01 Olivier Hainque <hainque@adacore.com>
-
- * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Restore
- the "do {" part of the do-while(0) loop.
-
-2012-06-01 Yuri Rumyantsev <yuri.s.rumyantsev@intel.com>
-
- * config/i386/i386.c (x86_sched_reorder): New function.
- Added new function x86_sched_reorder.
-
-2012-06-01 Richard Guenther <rguenther@suse.de>
-
- * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
- Handle PHIs.
- (classify_partition): Likewise.
-
-2012-06-01 Richard Guenther <rguenther@suse.de>
-
- * tree-loop-distribution.c (enum partition_kind): New enum.
- (struct partition_s): Add kind and main_stmt members.
- (partition_alloc): Initialize kind to PKIND_NORMAL.
- (partition_builtin_p): New function.
- (copy_loop_before): Remove failure path and assert instead.
- (generate_loops_for_partition): Likewise.
- (generate_memset_zero): Fold into ...
- (generate_memset_builtin): ... this.
- (classify_partition): New function with code from
- can_generate_builtin and generate_builtin.
- (generate_builtin): Remove.
- (can_generate_builtin): Likewise.
- (fuse_partitions_with_similar_memory_accesses): Call
- partition_builtin_p instead of can_generate_builtin.
- (rdg_build_partitions): Do not call
- fuse_partitions_with_similar_memory_accesses here...
- (ldist_gen): ... but here after classifying all partitions.
- Remove failure path of generate_code_for_partition.
- (generate_code_for_partition): Generate code according
- to partition classification.
-
-2012-06-01 Manuel López-Ibáñez <manu@gcc.gnu.org>
- Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/50134
- * doc/invoke.texi (Warning Options): Explain purpose and differences
- between -Wmissing-prototypes and -Wmissing-declarations.
-
-2012-06-01 Christian Bruel <christian.bruel@st.com>
-
- * gcc.c (save_switch): Add user_p parameter.
- (read_specs): Likewise.
- (set_specs): Likewise.
- (validate_switches): Likewise.
- (validate_switches_from_spec): Likewise.
- (validate_all_switches): Pass on user_p parameter.
- (struct spec_list): Add user_p field.
- (struct switchstr): Add known field.
- (save_switch): Add known parameter.
- (INIT_STATIC_SPEC): Initialize user_p;
- (driver_unknown_option_callbac): call save_switch if
- OPT_SPECIAL_unknown.
- (driver_handle_option): Propagate OPT_specs.
- (do_spec_1): Set validated only if known.
- (check_live_switch): Likewise.
- (validate_switches): Set validated if known or user_spec.
-
-2012-06-01 Hans-Peter Nilsson <hp@axis.com>
-
- Add CRIS atomic patterns for 1, 2, and 4 bytes.
- * config/cris/cris.c (cris_emit_trap_for_misalignment): New function.
- * config/cris/cris-protos.h: Declare it.
- * config/cris/cris.h [!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 32]
- (TARGET_DEFAULT): Add alignment by 32.
- [!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 10] (TARGET_DEFAULT): New
- case, as TARGET_CPU_DEFAULT == 0 but with alignment as for
- TARGET_CPU_DEFAULT == 32.
- (TARGET_TRAP_UNALIGNED_ATOMIC): New macro.
- * config/cris/cris.md: Include sync.md. Avoid allocating specific
- numbers by replacing the define_constants for all UNSPECs with the
- equivalent define_c_enum construct.
- * config/cris/cris.opt (mtrap-unaligned-atomic): New option.
- * config/cris/sync.md: New file.
-
-2012-05-31 Matt Turner <mattst88@gmail.com>
-
- * config/mips/4600.md (r4600_imul_si): Rename from r4600_imul.
- (r4600_imul_di): New.
- (r4600_idiv_si): Rename from r4600_idiv.
- (r4600_idiv_di): New.
-
-2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
-
- * output.h (__gcc_host_wide_int__): Move to hwint.h.
- (decl_default_tls_model): Move to tree.h
- (dump_file): Move to system.h.
- (default_stabs_asm_out_destructor, default_stabs_asm_out_constructor,
- dbxout_int, dbxout_stabd, dbxout_begin_stabn, dbxout_begin_stabn_sline,
- dbxout_begin_empty_stabs, dbxout_begin_simple_stabs,
- dbxout_begin_simple_stabs_desc, dbxout_stab_value_zero,
- dbxout_stab_value_zero, dbxout_stab_value_label_diff,
- dbxout_stab_value_internal_label,
- dbxout_stab_value_internal_label_diff): Move from here ...
- * dbxout.h: ... to here.
- * system.h (dump_file): Moved here from output.h.
- * hwint.h (__gcc_host_wide_int__): Moved here from output.h.
- * tree.h (decl_default_tls_model): Moved here from output.h.
- * varasm.c (default_stabs_asm_out_destructor,
- default_stabs_asm_out_constructor): Move from here ...
- * dbxout.c: ... to here.
-
- * gcov-dump.c (dump_file): Rename to dump_gcov_file. Update callers.
-
- * collect2.h (dump_file): Rename to dump_ld_file.
- * collect2.c: Likewise.
- * tlink.c: Likewise.
-
- * alias.c: Do not include output.h.
- * auto-inc-dec.c: Likewise.
- * bt-load.c: Likewise.
- * caller-save.c: Likewise.
- * cfg.c: Likewise.
- * cfgbuild.c: Likewise.
- * cfgcleanup.c: Likewise.
- * cfglayout.c: Likewise.
- * cfgloop.c: Likewise.
- * cfgloopanal.c: Likewise.
- * cfgloopmanip.c: Likewise.
- * cfgrtl.c: Likewise.
- * cgraph.c: Likewise.
- * cgraphclones.c: Likewise.
- * combine-stack-adj.c: Likewise.
- * combine.c: Likewise.
- * cprop.c: Likewise.
- * cse.c: Likewise.
- * cselib.c: Likewise.
- * dbgcnt.c: Likewise.
- * df-problems.c: Likewise.
- * df-scan.c: Likewise.
- * dojump.c: Likewise.
- * fwprop.c: Likewise.
- * gcse.c: Likewise.
- * graph.c: Likewise.
- * haifa-sched.c: Likewise.
- * hw-doloop.c: Likewise.
- * ipa-inline-transform.c: Likewise.
- * ipa-pure-const.c: Likewise.
- * ipa-reference.c: Likewise.
- * ipa-utils.c: Likewise.
- * ira-build.c: Likewise.
- * ira-emit.c: Likewise.
- * lcm.c: Likewise.
- * loop-doloop.c: Likewise.
- * loop-invariant.c: Likewise.
- * loop-iv.c: Likewise.
- * loop-unroll.c: Likewise.
- * loop-unswitch.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-section-in.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * mcf.c: Likewise.
- * mode-switching.c: Likewise.
- * postreload-gcse.c: Likewise.
- * postreload.c: Likewise.
- * predict.c: Likewise.
- * profile.c: Likewise.
- * ree.c: Likewise.
- * reg-stack.c: Likewise.
- * regcprop.c: Likewise.
- * regmove.c: Likewise.
- * regstat.c: Likewise.
- * reload1.c: Likewise.
- * sched-ebb.c: Likewise.
- * sel-sched-dump.c: Likewise.
- * simplify-rtx.c: Likewise.
- * stor-layout.c: Likewise.
- * store-motion.c: Likewise.
- * tracer.c: Likewise.
- * tree-affine.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-cfgcleanup.c: Likewise.
- * tree-dfa.c: Likewise.
- * tree-into-ssa.c: Likewise.
- * tree-nomudflap.c: Likewise.
- * tree-optimize.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-profile.c: Likewise.
- * tree-ssa-address.c: Likewise.
- * tree-ssa-ccp.c: Likewise.
- * tree-ssa-copy.c: Likewise.
- * tree-ssa-dom.c: Likewise.
- * tree-ssa-loop-ch.c: Likewise.
- * tree-ssa-loop-im.c: Likewise.
- * tree-ssa-loop-manip.c: Likewise.
- * tree-ssa-loop-niter.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-loop-unswitch.c: Likewise.
- * tree-ssa-loop.c: Likewise.
- * tree-ssa-propagate.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * tree-ssa-tail-merge.c: Likewise.
- * tree-ssa-threadedge.c: Likewise.
- * tree-ssa-threadupdate.c: Likewise.
- * tree-ssa-uncprop.c: Likewise.
- * tree-ssa-uninit.c: Likewise.
- * tree-ssa.c: Likewise.
- * value-prof.c: Likewise.
- * var-tracking.c: Likewise.
- * web.c: Likewise.
-
- * config/m32r/m32r.c: Include dbxout.h.
- * config/pa/pa.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
-
- * Makefile.in: Fix dependencies.
- * config/rs6000/t-rs5000: Likewise.
-
-2012-05-31 Aldy Hernandez <aldyh@redhat.com>
-
- * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
- * gimple.h (block_in_transaction): Check for flag_tm.
-
-2012-05-31 Aldy Hernandez <aldyh@redhat.com>
-
- PR tree-optimization/52558
- * cfg.c (alloc_aux_for_edge): Fix comment.
- (alloc_aux_for_edge): Remove static.
- * basic-block.h (alloc_aux_for_edge): Protoize.
- * tree-ssa-loop-im.c (execute_sm_if_changed): New.
- (execute_sm_if_changed_flag): New.
- (execute_sm_if_changed_flag_set): New.
- (execute_sm): Do not generate data races unless requested.
- (tree_ssa_lim_initialize): Call alloc_aux_for_edges.
- (tree_ssa_lim_finalize): Call free_aux_for_edges.
- * gimple.h (block_in_transaction): New.
- (gimple_in_transaction): Use block_in_transaction.
-
-2012-05-31 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/51345
- * config/avr/avr.opt (-msp8): Document it.
- * doc/invoke.texi (AVR Options): Ditto. And document related
- built-in macros.
-
-2012-05-31 Diego Novillo <dnovillo@google.com>
-
- * configure.ac (CXX_FOR_BUILD): Define and substitute.
- (BUILD_CXXFLAGS): Define and substitute.
- * Makefile.in (BUILD_CXXFLAGS): Define.
- (CXX_FOR_BUILD): Define.
- (COMPILER_FOR_BUILD): Set to CXX_FOR_BUILD if building with C++.
- (LINKER_FOR_BUILD): Likewise.
- (BUILD_COMPILERFLAGS): Set to BUILD_CXXFLAGS if building with C++.
- (BUILD_LINKERFLAGS): Likewise.
- * configure: Regenerate.
-
-2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
-
- * Makefile.in: Fix many dependencies.
- * tree-profile.c: Don't include regs.h.
- * tree-vectorizer.c: Don't include cfglayout.h.
- * tree-vect-stmts.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * reg-stack.c: Likewise.
- * tree-ssa-loop-manip.c: Likewise.
- * toplev.c: Likewise.
- * varasm.c: Don't include cfglayout.h, basic-block.h,
- and tree-iterator.h.
- * tree-cfgcleanup.c: Don't include cfglayout.h.
- * passes.c: Don't include cfglayout.h, dwarf2asm.h,
- dwarf2out.h, dbxout.h, sdbout.h, and xcoffout.h.
- * cgraphclones.c: Don't include plugin.h.
-
-2012-05-31 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/t-avr: Correct avr-mmcu.texi dependencies.
- (s-avr-mmcu-texi): Don't sed on gen-avr-mmcu-texi output.
- * doc/avr-mmcu.texi (svn:eol-style): Set to native.
-
-2012-05-31 Richard Guenther <rguenther@suse.de>
-
- * tree-loop-distribution.c (struct partition_s): New struct,
- typedef and vector type.
- (partition_alloc, partition_free): New functions.
- (generate_loops_for_partition, generate_builtin,
- generate_code_for_partition, rdg_flag_uses, rdg_flag_vertex,
- rdg_flag_vertex_and_dependent, rdg_flag_loop_exits,
- build_rdg_partition_for_component, can_generate_builtin,
- similar_memory_accesses, fuse_partitions_with_similar_memory_accesses,
- rdg_build_partitions, dump_rdg_partitions, debug_rdg_partitions,
- number_of_rw_in_partition, partition_contains_all_rw,
- ldist_gen): Use partition_t instead of bitmap.
-
-2012-05-31 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/gen-avr-mmcu-texi.c: Sort MCUs.
- * doc/avr-mmcu.texi: Regenerate.
-
-2012-05-31 Richard Guenther <rguenther@suse.de>
-
- * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
- Use FOR_EACH_SSA_DEF_OPERAND.
- (generate_builtin): Adjust.
- (stmt_generated_in_another_partition): Remove.
- (add_scalar_computations_to_partition): Likewise.
- (rdg_build_partitions): Do not call
- add_scalar_computations_to_partition.
-
-2012-05-31 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-dfa.c (get_ref_base_and_extent): Compute the offset using
- double ints throughout.
- * tree-sra.c (build_user_friendly_ref_for_offset) <RECORD_TYPE>:
- Check that the position of the field is representable as an integer.
-
-2012-05-31 Richard Guenther <rguenther@suse.de>
-
- * tree-data-ref.c (dr_analyze_innermost): Properly convert
- the MEM_REF offset to sizetype.
-
-2012-05-31 Georg-Johann Lay <avr@gjlay.de>
-
- * doc/invoke.texi (AVR Options): Fix typos.
-
-2012-05-31 Hans-Peter Nilsson <hp@axis.com>
-
- * config/cris/cris.h (CC1_SPEC): Pass through all -march=
- and -mcpu= options.
- (ASM_SPEC): Ditto, not just -march=v32, but translate non-v10,
- non-v32 into --march=v0_v10.
-
-2012-05-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * ira-int.h (target_ira_int): Rename x_move_cost to
- x_ira_register_move_cost, x_may_move_in_cost to
- x_ira_may_move_in_cost and x_may_move_out_cost to
- x_ira_may_move_out_cost. Delete the old fields with
- those names and also x_ira_max_register_move_cost,
- x_ira_max_may_move_in_cost and x_ira_max_may_move_out_cost.
- (move_cost, may_move_in_cost, may_move_out_cost)
- (ira_max_register_move_cost, ira_max_may_move_in_cost)
- (ira_max_may_move_out_cost): Delete.
- * ira.c (init_move_cost): Rename to...
- (ira_init_register_move_cost): ...this, deleting the old
- function with that name. Apply above variable renamings.
- Retain asserts for null fields.
- (ira_init_once): Don't initialize register move costs here.
- (free_register_move_costs): Apply above variable renamings.
- Remove code for deleted fields.
-
-2012-05-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * ira.c (init_move_cost): Adjust choice of subclasses to match
- the current ira_init_register_move_cost choice. Use
- ira_class_subset_p instead of reg_class_subset_p.
- (ira_init_register_move_cost): Assert that move_cost,
- may_move_in_cost and may_move_out_cost already hold the desired
- values for their ira_* equivalents. For the latter two,
- ignore classes that can't store a register of the given mode.
-
-2012-05-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * ira.c (setup_allocno_and_important_classes): Use
- ira_class_hard_regs_num to check whether a class has any
- allocatable registers.
- (ira_init_register_move_cost): Likewise.
-
-2012-05-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * ira.c (init_move_cost): Adjust local variable names to match
- file conventions. Use ira_assert instead of gcc_assert.
-
-2012-05-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * regs.h (move_table, move_cost, may_move_in_cost, may_move_out_cost):
- Move these definitions and associated target_globals fields to...
- * ira-int.h: ...here.
- * rtl.h (init_move_cost): Delete.
- * reginfo.c (last_mode_for_init_move_cost, init_move_cost): Move to...
- * ira.c: ...here, making the latter static.
-
-2012-05-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * ira-costs.c (copy_cost): Use ira_init_register_move_cost_if_necessary
- and ira_register_move_cost instead of init_move_cost and move_cost.
-
-2012-05-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * ira.h (target_ira): Delete x_ira_available_class_regs.
- (ira_available_class_regs): Delete.
- * ira.c (setup_available_class_regs): Delete.
- (setup_alloc_classes): Don't call it.
- (setup_pressure_classes): Use ira_class_hard_regs_num instead of
- ira_available_class_regs.
- * haifa-sched.c (print_curr_reg_pressure, setup_insn_reg_pressure_info)
- (model_spill_cost): Likewise.
- * ira-build.c (low_pressure_loop_node_p): Likewise.
- * ira-color.c (color_pass): Likewise.
- * ira-emit.c (change_loop): Likewise.
- * ira-lives.c (inc_register_pressure, dec_register_pressure)
- (single_reg_class, ira_implicitly_set_insn_hard_regs)
- (process_bb_node_lives): Likewise.
- * loop-invariant.c (gain_for_invariant): Likewise.
-
-2012-05-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/52999
- * config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
- (pa_section_type_flags): New.
- (pa_legitimate_constant_p): Revert previous change.
-
-2012-05-30 Steven Bosscher <steven@gcc.gnu.org>
-
- * ira.c (allocate_initial_values): Make static.
-
-2012-05-30 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>:
- Generate tls_initial_exec_64_sun only when !TARGET_X32.
-
-2012-05-30 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53501
- * fold-const.c (fold_binary_loc): Make sure to call
- fold_plusminus_mult_expr with the original sign of operands.
-
-2012-05-30 Steven Bosscher <steven@gcc.gnu.org>
-
- * Makefile.in: Fix many dependencies.
- (DWARF2_H): Depend on dwarf2.def.
- (RTL_ERROR_H): Depend on rtl-error.h.
- (TREE_PRETTY_PRINT_H, GIMPLE_PRETTY_PRINT_H): New. Replace
- all gimple-pretty-print.h and tree-pretty-print.h references.
-
-2012-05-30 Marc Glisse <marc.glisse@inria.fr>
-
- * simplify-rtx.c (simplify_binary_operation_1): Optimize shuffle of
- concatenations.
-
-2012-05-30 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53522
- * tree-emutls.c (gen_emutls_addr): Do not add globals to
- referenced-vars.
-
-2012-05-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * explow.c (probe_stack_range): Restore simple control flow and stop
- again when the probe cannot be generated if HAVE_check_stack.
-
-2012-05-30 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/53519
- * combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
- instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.
-
-2012-05-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.
-
-2012-05-29 Jack Howarth <howarth@bromo.med.uc.edu>
-
- PR debug/53453
- * doc/tm.texi: Update.
- * doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Add @hook.
- * target.def (force_at_comp_dir): New hook.
- * config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Define.
- * dwarf2out.c (dwarf2out_finish): Check targetm.force_at_comp_dir.
-
-2012-05-29 Jack Howarth <howarth@bromo.med.uc.edu>
-
- * config/darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when
- Darwin >= 10.
- (DARWIN_DYLIB1_SPEC): Do not use -ldylib1.10.5.o when Darwin >= 10.
- (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10.
-
-2012-05-29 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51340
- * config/sh/sh.c (sh_option_override): Set TARGET_FMAC if
- flag_unsafe_math_optimizations is set.
- * doc/invoke.texi (SH Options): Add -mno-fused-madd description.
- Update description of -mfused-madd.
-
-2012-05-29 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/52941
- * config/sh/predicates.md (atomic_arith_operand,
- atomic_logical_operand): New predicates.
- * config/sh/sh.c (sh_option_override): Check atomic options.
- * config/sh/sh.h (TARGET_ANY_ATOMIC, UNSUPPORTED_ATOMIC_OPTIONS,
- UNSUPPORTED_HARD_ATOMIC_CPU): New macros.
- (DRIVER_SELF_SPECS): Use UNSUPPORTED_ATOMIC_OPTIONS and
- UNSUPPORTED_HARD_ATOMIC_CPU.
- * config/sh/sync.md: Update description comments.
- (I12): New mode iterator.
- (fetchop_predicate, fetchop_constraint): New code attributes.
- (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
- atomic_exchangesi_hard, atomic_exchange<mode>_hard,
- atomic_fetch_<fetchop_name>si_hard,
- atomic_fetch_<fetchop_name><mode>_hard,
- atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
- atomic_<fetchop_name>_fetchsi_hard,
- atomic_<fetchop_name>_fetch<mode>_hard,
- atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
- atomic_test_and_set_hard): New insns.
- (atomic_compare_and_swap<mode>_soft, atomic_exchange<mode>_soft,
- atomic_fetch_<fetchop_name><mode>_soft, atomic_fetch_nand<mode>_soft,
- atomic_<fetchop_name>_fetch<mode>_soft, atomic_nand_fetch<mode>_soft,
- atomic_test_and_set_soft): Use same formatting for the first line of
- the asm block as in new insns above.
- (atomic_compare_and_swap<mode>, atomic_exchange<mode>,
- atomic_fetch_<fetchop_name><mode>, atomic_<fetchop_name>_fetch<mode>,
- atomic_test_and_set): Integrate new *_hard insns into expanders.
- * config/sh/sh.opt (mhard-atomic): New option.
- * doc/invoke.texi (SH Options): Document it.
-
-2012-05-29 Meador Inge <meadori@codesourcery.com>
-
- * c-decl.c (c_push_function_context): Always create a new language
- function.
- (c_pop_function_context): Clear the language function created in
- c_push_function_context.
-
-2012-05-29 Matt Turner <mattst88@gmail.com>
-
- * config/alpha/ev6.md: (define_bypass "ev6_fmul,ev6_fadd"): New.
- (define_bypass "ev6_fcmov"): New.
-
-2012-05-29 Steven Bosscher <steven@gcc.gnu.org>
-
- * integrate.c: Remove.
- * integrate.h: Remove.
- * Makefile.in: Remove make rules for integrate.c and INTEGRATE_H.
- * config/arm/t-arm: Remove INTEGRATE_H dependency for target files.
- * config/rs6000/t-rs6000: Likewise
- * config/spu/t-spu-elf: Likewise.
- * function.h (get_hard_reg_initial_val, has_hard_reg_initial_val,
- get_hard_reg_initial_reg, emit_initial_value_sets): Move prototypes
- from integrate.h to here.
- (initial_value_entry): New prototype.
- * reload.h (allocate_initial_values): Remove prototype.
- * tree.h (set_decl_abstract_flags, set_decl_origin_self): Likewise.
- * cse.c (fixed_base_plus_p): Don't handle virtual registers for
- integrate.c.
- * dwarf2out.c (set_decl_origin_self, set_block_origin_self,
- set_decl_abstract_flags, set_block_abstract_flags): Move from
- integrate.c to here, the only user.
- * expmed.c (extract_fixed_bit_field): Remove outdated comment
- about integrate.c.
- * function.c: Don't include integrate.h.
- (struct initial_value_pair, struct initial_value_struct,
- get_hard_reg_initial_val, has_hard_reg_initial_val,
- get_hard_reg_initial_reg, emit_initial_value_sets): Move from
- integrate.c to here.
- (initial_value_entry): New function.
- * genemit.c (main): Don't print integrate.h include line.
- * ira.c: Don't include integrate.h.
- (allocate_initial_values): Move from integrate.c to here.
- (ira): Update allocate_initial_values call.
- * tree-inline.c: Don't include integrate.h.
- (function_attribute_inlinable_p): Moved from integrate.c to here.
- * cfgexpand.c: Don't include integrate.h.
- * except.c: Likewise.
- * langhooks.c: Likewise.
- * passes.c: Likewise.
- * toplev.c: Likewise.
- * config/frv/frv.c: Likewise.
- * config/pa/pa.c: Likewise.
- * config/spu/spu.c: Likewise.
- * config/epiphany/epiphany.c: Likewise.
- * config/mep/mep.c: Likewise.
- * config/score/score.c: Likewise.
- * config/picochip/picochip.c: Likewise.
- * config/sh/sh.c: Likewise.
- * config/alpha/alpha.c: Likewise.
- * config/microblaze/microblaze.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/v850/v850.c: Likewise.
- * config/mmix/mmix.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/arm/arm.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/m32r/m32r.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/c6x/c6x.c: Include function.h instead of integrate.h.
- * config/tilegx/tilegx.c: Likewise.
- * config/tilepro/tilepro.c: Likewise.
-
-2012-05-29 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/t-avr (s-avr-mmcu-texi): Call
- gen-avr-mmcu-texi$(build_exeext) via ./ and don't assume . is in PATH.
-
-2012-05-29 Michael Matz <matz@suse.de>
-
- * rtl.h (assign_stack_temp, assign_stack_temp_for_type,
- assign_temp): Remove 'keep' argument.
- (mark_temp_addr_taken): Remove prototype.
- * tree.h (expand_decl): Remove prototype.
- * function.c (struct temp_slot): Remove addr_taken and keep member.
- (assign_stack_temp_for_type) Don't initialize above, remove
- keep argument.
- (assign_stack_temp, assign_temp): Remove keep argument.
- (mark_temp_addr_taken): Remove.
- (preserve_temp_slots): Remove handling of addr_taken and keep members.
- (free_temp_slots): Ditto.
- * expr.c (expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Remove
- dead code.
- * stmt.c (expand_asm_operands): Remove dead code.
- (expand_decl): Remove.
- * c-decl.c (finish_struct): Don't call expand_decl.
- * builtins.c (expand_builtin_cexpi): Adjust calls to assign_temp
- and assign_stack_temp.
- * calls.c (save_fixed_argument_area, initialize_argument_information,
- expand_call, emit_library_call_value_1, store_one_arg): Ditto.
- * expmed.c (extract_bit_field_1): Ditto.
- * expr.c (emit_group_load_1, emit_group_store,
- copy_blkmode_from_reg, emit_push_insn, expand_assignment,
- store_field, expand_constructor, expand_cond_expr_using_cmove,
- expand_expr_real_2, expand_expr_real_1): Ditto.
- * stmt.c (expand_asm_operands, expand_return): Ditto.
-
- * function.c (pop_temp_slots): Call free_temp_slots.
- * calls.c (store_one_arg): Don't call preserve_temp_slots or
- free_temp_slots.
- * expr.c (expand_assignment): Don't call free_temp_slots.
-
- * config/arm/arm.c (neon_expand_vector_init): Ditto.
- * config/i386/i386.c (ix86_expand_vector_set): Ditto.
- (ix86_expand_vector_extract): Ditto.
- * config/ia64/ia64.c (spill_xfmode_rfmode_operand,
- ia64_expand_movxf_movrf): Ditto.
- * config/mips/mips.c (mips_expand_vi_general): Ditto.
- * config/mmix/mmix.md (floatdisf2, floatunsdisf2, truncdfsf2,
- extendsfdf2): Ditto.
- * config/rs6000/rs6000.c (rs6000_expand_vector_init,
- rs6000_expand_vector_set, rs6000_expand_vector_extract,
- rs6000_allocate_stack_temp): Ditto.
- * config/rs6000/rs6000.md (fix_trunctfsi2_fprs): Ditto.
- * config/sparc/sparc.c (emit_soft_tfmode_libcall,
- sparc_emit_float_lib_cmp, sparc_emit_float_lib_cmp,
- sparc_expand_vector_init): Ditto.
-
-2012-05-29 Michael Matz <matz@suse.de>
-
- * c-tree.h (c_expand_decl): Remove prototype.
-
- * expr.c (expand_expr_real_1 <normal_inner_ref>): Don't allocate
- a kept temp.
- (expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Make unreachable.
- * gimple-fold.c (canonicalize_constructor_val): Canonicalize
- COMPOUND_LITERAL_EXPR.
- * function.c (expand_function_start): Don't call expand_decl,
- instead assert that we have RTL assigned.
- * tree-ssa-live.c (remove_unused_locals): Clear
- nonlocal_goto_save_area if its backing variable is removed.
- * stmt.c (expand_asm_operands): Remove handling of non-lvalues
- as mem inputs.
- (expand_decl): Assert that this does nothing.
- * calls.c (expand_call): Don't call mark_temp_addr_taken.
-
-2012-05-29 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53516
- * tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject
- bitfield accesses.
- * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
-
-2012-05-29 Joseph Myers <joseph@codesourcery.com>
-
- * LANGUAGES: Fix typos.
- * Makefile.in: Fix typos.
- * alias.c: Fix typos.
- * auto-inc-dec.c: Fix typos.
- * bb-reorder.c: Fix typos.
- * cfgcleanup.c: Fix typos.
- * cgraph.c: Fix typos.
- * cgraph.h: Fix typos.
- * cgraphunit.c: Fix typos.
- * collect2-aix.h: Fix typos.
- * collect2.c: Fix typos.
- * compare-elim.c: Fix typos.
- * config/alpha/vms.h: Fix typos.
- * config/arm/README-interworking: Fix typos.
- * config/arm/arm.c: Fix typos.
- * config/arm/iterators.md: Fix typos.
- * config/arm/vxworks.h: Fix typos.
- * config/avr/avr.c: Fix typos.
- * config/avr/avr.h: Fix typos.
- * config/avr/avr.md: Fix typos.
- * config/avr/builtins.def: Fix typos.
- * config/c6x/c6x.c: Fix typos.
- * config/cr16/cr16.c: Fix typos.
- * config/cr16/cr16.md: Fix typos.
- * config/cris/cris.md: Fix typos.
- * config/darwin.c: Fix typos.
- * config/darwin.opt: Fix typos.
- * config/i386/i386-c.c: Fix typos.
- * config/i386/i386.c: Fix typos.
- * config/ia64/ia64.c: Fix typos.
- * config/m68k/cf.md: Fix typos.
- * config/mep/mep.c: Fix typos.
- * config/microblaze/microblaze.c: Fix typos.
- * config/microblaze/microblaze.h: Fix typos.
- * config/mn10300/mn10300.c: Fix typos.
- * config/mn10300/mn10300.md: Fix typos.
- * config/pa/pa.c: Fix typos.
- * config/picochip/picochip.h: Fix typos.
- * config/rs6000/a2.md: Fix typos.
- * config/rs6000/rs6000.c: Fix typos.
- * config/rs6000/vector.md: Fix typos.
- * config/rx/rx.md: Fix typos.
- * config/rx/rx.opt: Fix typos.
- * config/s390/2097.md: Fix typos.
- * config/s390/s390.c: Fix typos.
- * config/s390/s390.h: Fix typos.
- * config/sh/sh.c: Fix typos.
- * config/sh/sh.md: Fix typos.
- * config/sparc/sync.md: Fix typos.
- * config/spu/spu.c: Fix typos.
- * config/spu/spu.md: Fix typos.
- * config/vms/vms.c: Fix typos.
- * config/vxworks-dummy.h: Fix typos.
- * config/vxworks.h: Fix typos.
- * cselib.c: Fix typos.
- * df-scan.c: Fix typos.
- * df.h: Fix typos.
- * doc/extend.texi: Fix typos.
- * doc/install.texi: Fix typos.
- * doc/invoke.texi: Fix typos.
- * doc/md.texi: Fix typos.
- * doc/plugins.texi: Fix typos.
- * doc/rtl.texi: Fix typos.
- * dse.c: Fix typos.
- * dwarf2asm.c: Fix typos.
- * dwarf2out.c: Fix typos.
- * except.h: Fix typos.
- * expr.c: Fix typos.
- * fold-const.c: Fix typos.
- * gcc.c: Fix typos.
- * gcse.c: Fix typos.
- * genautomata.c: Fix typos.
- * gengtype-state.c: Fix typos.
- * gengtype.c: Fix typos.
- * genhooks.c: Fix typos.
- * gimple-fold.c: Fix typos.
- * gimple-pretty-print.c: Fix typos.
- * gimple.c: Fix typos.
- * gimple.h: Fix typos.
- * gimplify.c: Fix typos.
- * graphite-interchange.c: Fix typos.
- * graphite-sese-to-poly.c: Fix typos.
- * ifcvt.c: Fix typos.
- * input.c: Fix typos.
- * ipa-cp.c: Fix typos.
- * ipa-inline-analysis.c: Fix typos.
- * ipa-inline-transform.c: Fix typos.
- * ipa-inline.c: Fix typos.
- * ipa-pure-const.c: Fix typos.
- * ipa-ref.h: Fix typos.
- * ipa-reference.c: Fix typos.
- * ipa-utils.c: Fix typos.
- * ipa.c: Fix typos.
- * ira-emit.c: Fix typos.
- * ira-lives.c: Fix typos.
- * lto-streamer.c: Fix typos.
- * lto-streamer.h: Fix typos.
- * lto-wrapper.c: Fix typos.
- * mcf.c: Fix typos.
- * mode-switching.c: Fix typos.
- * modulo-sched.c: Fix typos.
- * plugin.c: Fix typos.
- * postreload.c: Fix typos.
- * sched-deps.c: Fix typos.
- * sel-sched-ir.c: Fix typos.
- * sel-sched-ir.h: Fix typos.
- * sel-sched.c: Fix typos.
- * sese.c: Fix typos.
- * stor-layout.c: Fix typos.
- * target-hooks-macros.h: Fix typos.
- * target.def: Fix typos.
- * trans-mem.c: Fix typos.
- * tree-eh.c: Fix typos.
- * tree-predcom.c: Fix typos.
- * tree-sra.c: Fix typos.
- * tree-ssa-address.c: Fix typos.
- * tree-ssa-loop-ivopts.c: Fix typos.
- * tree-ssa-loop-niter.c: Fix typos.
- * tree-ssa-math-opts.c: Fix typos.
- * tree-ssa-pre.c: Fix typos.
- * tree-ssa-propagate.c: Fix typos.
- * tree-ssa-reassoc.c: Fix typos.
- * tree-ssa-sccvn.c: Fix typos.
- * tree-ssa-ter.c: Fix typos.
- * tree-ssa-uninit.c: Fix typos.
- * tree-ssanames.c: Fix typos.
- * tree-vect-generic.c: Fix typos.
- * tree-vect-slp.c: Fix typos.
- * tree.c: Fix typos.
- * tree.h: Fix typos.
- * varasm.c: Fix typos.
- * varpool.c: Fix typos.
-
-2012-05-29 Joseph Myers <joseph@codesourcery.com>
-
- * doc/include/texinfo.tex: Update to version 2012-05-16.16.
-
-2012-05-29 Richard Guenther <rguenther@suse.de>
-
- * tree-dfa.c (find_vars_r): Do not call add_referenced_vars
- for globals.
- (add_referenced_var_1): Re-organize. Assert we are not
- called for globals.
- (remove_referenced_var): Likewise.
- * varpool.c (add_new_static_var): Use create_tmp_var_raw.
- * tree-mudflap.c (execute_mudflap_function_ops): Do not
- call add_referenced_var on globals.
- * matrix-reorg.c (transform_access_sites): Likewise.
-
-2012-05-29 Steven Bosscher <steven@gcc.gnu.org>
-
- * alias.c (reg_known_value): Make this a VEC.
- (reg_known_equiv_p): Make this an sbitmap.
- (reg_known_value_size): Remove.
- (get_reg_known_value, set_reg_known_value, get_reg_known_equiv_p,
- set_reg_known_equiv_p): Update for reg_known_value and
- reg_known_value_size data structure change.
- (init_alias_analysis, end_alias_analysis): Likewise.
-
-2012-05-29 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/53510
- * input.c (read_line): Use XRESIZEVEC instead of XNEWVEC
- to avoid leaking memory. No need to handle memory allocation
- failure. Double string_len on each reallocation instead of adding 2.
- * gcov.c (read_line): Likewise.
-
-2012-05-29 Hans-Peter Nilsson <hp@axis.com>
-
- * config/cris/cris.h (TARGET_HAS_BREAK, TARGET_TRAP_USING_BREAK8):
- New macros.
- * config/cris/cris.md ("trap"): Define, enabled for
- TARGET_TRAP_USING_BREAK8.
- * config/cris/cris.opt (mtrap-using-break8): New option.
-
-2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/25137
- * doc/invoke.texi: Document -Wmissing-braces not enabled by -Wall
- for C++.
-
-2012-05-28 Hans-Peter Nilsson <hp@axis.com>
-
- * doc/md.texi (stack_protect_test): Remove negation of branch to label.
- (Standard Names): Fix typos in documentation of atomic patterns.
-
-2012-05-27 Nathan Sidwell <nathan@acm.org>
-
- * tree.c (build_constructor): Propagate TREE_SIDE_EFFECTS.
-
-2012-05-26 Jason Merrill <jason@redhat.com>
-
- PR c++/53220
- * c-typeck.c (array_to_pointer_conversion): Give -Wc++-compat warning
- about array compound literals.
-
-2012-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * cfgcleanup.c (try_optimize_cfg): Do not delete forwarder blocks
- if CLEANUP_NO_INSN_DEL.
- * cfgrtl.c (unique_locus_on_edge_between_p): New function extracted
- from cfg_layout_merge_blocks.
- (emit_nop_for_unique_locus_between): New function.
- (rtl_merge_blocks): Invoke emit_nop_for_unique_locus_between.
- (cfg_layout_merge_blocks): Likewise.
-
-2012-05-26 Dimitrios Apostolou <jimis@gmx.net>
- Paolo Bonzini <bonzini@gnu.org>
-
- * df-scan.c (df_def_record_1): Assert a parallel must contain an
- EXPR_LIST at this point. Receive the LOC and move its extraction...
- (df_defs_record): ... here. Change if-else to a switch statement.
- (df_find_hard_reg_defs, df_find_hard_reg_defs_1): New.
- (df_get_call_refs): Changed defs_generated from bitmap to HARD_REG_SET
- and compute it from df_find_hard_reg_defs(). Record DF_REF_BASE
- DEFs in REGNO order. Use HARD_REG_SET instead of bitmap for
- regs_invalidated_by_call.
- (df_insn_refs_collect): Record DF_REF_REGULAR DEFs after
- df_get_call_refs().
-
-2012-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- PR lto/52178
- * tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL.
- * tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR.
-
-2012-05-25 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/t-linux64: Delete the 32-bit multilib that uses
- software floating point emulation. No longer build the multilibs
- with -mstrict-align.
-
-2012-05-25 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/53008
- * trans-mem.c (ipa_tm_create_version_alias): Output new_node if
- accessed indirectly.
- (ipa_tm_create_version): Same.
-
-2012-05-25 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/53474
- * config/i386/i386.c (ix86_print_operand) <case 'O'>: Print '.' here.
- <case 'C', case 'c', case 'F', case 'f'>: Print '.' only for C and c.
-
-2012-05-25 Alexander Ivchenko <alexander.ivchenko@intel.com>
-
- PR target/53435
- * config/i386/i386.c (ix86_expand_vec_perm): Use correct op.
- (ix86_expand_vec_perm): Use int mode instead of float.
- (expand_vec_perm_pshufb): Remove handling of useseless type
- conversion.
-
-2012-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/52362
- * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
- gnu_ld variables to yes.
- * configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion.
- (HAVE_GNU_AS): Likewise.
- * config.in: Regenerate.
- * configure: Likewise.
-
-2012-05-25 Tristan Gingold <gingold@adacore.com>
-
- * config/i386/i386.c (struct ix86_frame): Remove unused frame field.
- (ix86_compute_frame_layout): Fix type of stack_alignment_needed
- and preferred_alignment.
-
-2012-05-25 Tristan Gingold <gingold@adacore.com>
-
- * common/config/ia64/ia64-common.c (ia64_except_unwind_info): Fix typo.
-
-2012-05-25 Thomas Schwinge <thomas@codesourcery.com>
-
- * fold-const.c (optimize_bit_field_compare): Abort early in the strict
- volatile bitfields case.
-
-2012-05-24 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Change
- rs6000_sched_costly_dep default to true_store_to_load_dep_costly.
- (adjacent_mem_locations): Move some code to and call...
- (get_memref_parts): ...new function.
- (mem_locations_overlap): New function.
- (rs6000_adjust_priority): Adjust calls to is_load_insn/is_store_insn.
- (is_mem_ref): Rename to...
- (find_mem_ref): ...this. Return MEM rtx.
- (get_store_dest): Remove function.
- (is_load_insn1, is_load_insn, is_store_insn1, is_store_insn): Add
- new parameter and adjust calls.
- (rs6000_is_costly_dependence): Update calls for extra arg. Make sure
- mem refs overlap for true_store_to_load_dep_costly.
- (rs6000_sched_reorder2): Update calls for extra arg. Adjust args
- passed to adjacent_mem_locations.
- (is_costly_group): Walk resolved dependency list.
- (force_new_group): Emit group ending nop for Power6/Power7.
- * config/rs6000/rs6000.md (UNSPEC_GRP_END_NOP): New enum value.
- (group_ending_nop): New define_insn.
-
-2012-05-24 Dodji Seketeli <dodji@redhat.com>
-
- Make unwound macro expansion trace less redundant
- * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Don't print
- context of macro definition in the trace, when it's redundant.
- Update comments.
-
-2012-05-24 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53460
- * tree-profile.c (tree_profiling): Cleanup the CFG if
- execute_fixup_cfg requests it.
-
-2012-05-24 Richard Guenther <rguenther@suse.de>
-
- * tree-flow.h (create_var_ann): Remove.
- * tree-dfa.c (create_var_ann): Remove and inline into its
- single caller ...
- (add_referenced_var_1): ... here.
- * varpool.c (add_new_static_var): Do not call add_referenced_var
- for global vars.
- * gimple-fold.c (canonicalize_constructor_val): Likewise.
- * tree-switch-conversion.c (build_one_array): Likewise.
- * tree-profile.c (gimple_gen_ic_profiler): Likewise.
- * tree-flow-inline.h (gimple_referenced_vars): Guard against
- NULL fn argument.
- * tree-inline.c (remap_gimple_op_r): Likewise. Check
- gimple_referenced_vars instead of gimple_in_ssa_p.
- (copy_tree_body_r): Likewise.
- (setup_one_parameter): Likewise.
- (declare_return_variable): Likewise.
- (tree_function_versioning): Likewise.
-
-2012-05-24 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53465
- * tree-vrp.c (extract_range_from_cond_expr): First copy_value_range
- vr0 into *vr, then vrp_meet that.
- (vrp_meet): If one vr type is VR_UNDEFINED, ensure the result doesn't
- have any equivalences.
- (vrp_visit_phi_node): Call copy_value_range instead of vrp_meet the
- first time.
-
-2012-05-24 Jim MacArthur <jim.macarthur@arm.com>
-
- * recog.c (reg_fits_class_p): Check both regno and regno + offset are
- hard registers.
- * regs.h (in_hard_reg_set_p): Assert that regno is a hard register and
- check end_regno - 1 is a hard register.
-
-2012-05-24 Richard Guenther <rguenther@suse.de>
-
- * varpool.c (add_new_static_var): Remove call to create_var_ann.
- * tree-ssa-operands.c (create_vop_var): Likewise.
-
-2012-05-24 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/53466
- * tree-ssa-live.c (remove_unused_scope_block_p): Properly
- handle globals.
- (remove_unused_locals): Pass global_unused_vars to
- remove_unused_scope_block_p. Restore code walking all
- referenced vars and pruning them.
-
-2012-05-23 Jan Hubicka <jh@suse.cz>
-
- * tree.h (alias_diag_flags): Remove.
- (alias_pair): Remove emitted_diags.
- (finish_aliases_1, finish_aliases_2, remove_unreachable_alias_pairs,
- symbol_alias_set_t, symbol_alias_set_destroy,
- symbol_alias_set_contains, propagate_aliases_backward): Remove.
- * toplev.c (compile_file): Do not call finish_aliases_2
- * cgraphunit.c (cgraph_process_new_functions): Do not call
- finish_aliases_1.
- (handle_alias_pairs): Output diagnostics about aliases to externals.
- (assemble_thunks_and_aliases): Use do_assemble_alias.
- (output_weakrefs): Likewise.
- (finalize_compilation_unit): Do not call finish_aliases_1.
- * ipa.c (symtab_remove_unreachable_nodes): De not call
- remove_unreachable_alias_pairs.
- * varasm.c (do_assemble_alias): Export.
- (symbol_alias_set_create, symbol_alias_set_destroy,
- symbol_alias_set_contains, symbol_alias_set_insert,
- propagate_aliases_forward, propagate_aliases_backward,
- propagate_aliases_backward, trivially_visible_alias,
- trivially_defined_alias, remove_unreachable_alias_pairs,
- finish_aliases_1, finish_aliases_2, assemble_alias): Remove.
- * output.h (do_assemble_alias): Declare.
- * varpool.c (varpool_remove_unreferenced_decls): Do not call
- finish_aliases_1.
-
-2012-05-23 Martin Jambor <mjambor@suse.cz>
-
- * ipa-inline-analysis.c (inline_merge_summary): Free operand_map.
-
-2012-05-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimple.c (gimple_types_compatible_p_1) <ARRAY_TYPE>: Remove bogus
- size handling.
- (gimple_canonical_types_compatible_p) <ARRAY_TYPE>: Likewise.
- (iterative_hash_gimple_type): Adjust comment.
- (iterative_hash_canonical_type): Likewise. Hash the bounds of the
- domain for an array type instead of the domain type itself.
-
-2012-05-23 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53438
- * tree-sra.c (analyze_access_subtree): Correct bitfield exclusion.
-
-2012-05-23 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/53448
- * config/avr/avr.h (ASM_OUTPUT_ALIGN): Don't inhibit .p2align 1.
- * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Use
- ASM_OUTPUT_ALIGN.
-
-2012-05-23 Richard Guenther <rguenther@suse.de>
-
- * tree-dfa.c (add_referenced_var_1): Do not add global vars.
- * tree-ssa-live.c (mark_all_vars_used_1): Handle global vars
- via the global_unused_vars bitmap.
- (remove_unused_locals): Handle global vars in local-decls via
- a global_unused_vars bitmap instead of the used flag in the
- var annotation. Simplify global variable handling and removal.
-
-2012-05-22 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/53426
- * tree-ssa-structalias.c (create_variable_info_for): Skip constructors
- from other partitions.
-
-2012-05-22 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/53161
- * symtab.c (symtab_register_node): Fix ordering issue.
-
-2012-05-22 Steven Drake <sbd@NetBSD.org>
-
- * gcc.c (do_spec_1): Add %M spec token to output multilib_os_dir.
-
-2012-05-22 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_table_ref):
- Use strip_name_encoding target hook.
-
-2012-05-22 Richard Guenther <rguenther@suse.de>
-
- * tree.h (VAR_DECL_IS_VIRTUAL_OPERAND): New.
- (init_function_for_compilation): Remove.
- * tree-dfa.c (find_vars_r): Take struct function argument.
- (find_referenced_vars_in): Adjust.
- * tree-ssa-operands.c (clobber_stats): Remove.
- (create_vop_var): Take struct function argument. Mark
- virtual operand with VAR_DECL_IS_VIRTUAL_OPERAND.
- (init_ssa_operands): Take struct function argument.
- (fini_ssa_operands): Do not dump dead stats.
- * tree-ssa-operands.h (init_ssa_operands): Take struct function
- argument.
- * cgraphunit.c (init_lowered_empty_function): Adjust.
- * lto-streamer-in.c (input_cfg): Likewise.
- * tree-inline.c (initialize_cfun): Likewise.
- * tree-into-ssa.c (rewrite_into_ssa): Likewise.
- * omp-low.c (expand_omp_taskreg): Likewise. Avoid switching cfun.
- * gimple.c (is_gimple_reg): Optimize the SSA_NAME case,
- virtual operands are not registers.
-
-2012-05-22 Richard Guenther <rguenther@suse.de>
-
- * tree-cfg.c (verify_gimple_assign_unary): Fix typo in previous commit.
-
-2012-05-22 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53437
- * tree-inline.c (setup_one_parameter): Create a dummy init
- statement for unused parameters when not optimizing.
-
-2012-05-22 Richard Guenther <rguenther@suse.de>
-
- * tree-flow.h (add_referenced_var_1): Declare.
- (add_referenced_var): Define.
- * tree-dfa.c (referenced_var_check_and_insert): Avoid one hash lookup.
- (add_referenced_var): Rename to ...
- (add_referenced_var_1): ... this. Take struct function argument.
-
-2012-05-22 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/53334
- * config/arm/arm-protos.h (arm_validize_comparison): Declare.
- * config/arm/arm.c (arm_validize_comparison): Define.
- * config/arm/arm.md ("cbranchsi4"): Cleanup expansion and use
- arm_validize_comparison.
- ("cbranchdi4"): Likewise.
- ("cstoredi4"): Likewise.
- ("movsicc"): Likewise.
- ("movsfcc"): Likewise.
- ("movdfcc"): Likewise.
-
-2012-05-22 Dimitrios Apostolou <jimis@gmx.net>
-
- * df-scan.c (df_scan_alloc): Round up allocation pools size, reduce
- the mw_reg_pool size.
-
-2012-05-22 Paolo Bonzini <bonzini@gnu.org>
-
- PR tree-optimization/53336
- * tree-cfg.c (verify_gimple_assign_unary): Allow conversion from
- non-integer integral types to offset type and vice versa.
-
-2012-05-22 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/aix.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Delete.
- * config/rs6000/darwin.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Delete.
- * config/rs6000/sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE,
- V_SAVE_INLINE): Delete.
- * config/rs6000/rs6000.c (V_SAVE_INLINE): Delete.
- (rs6000_savres_strategy): Reimplement GP/FP/V_SAVE_INLINE logic.
- For ELF targets, use out-of-line restores for -Os and any number
- of regs if the restore exits, and out-of-line gp save for two or
- more regs. Use save_reg_p to test for holes in reg restore set.
- Replace "#if" with "if".
-
-2012-05-22 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (save_reg_p): New function.
- (first_reg_to_save, first_fp_reg_to_save): Use it here.
- (first_altivec_reg_to_save, restore_saved_cr): Likewise.
- (emit_frame_save): Use gen_frame_store.
- (gen_frame_mem_offset): Correct SPE condition requiring reg+reg.
- (rs6000_emit_prologue): Use save_reg_p. Use gen_frame_store for
- vrsave and toc.
- (rs6000_emit_epilogue): Use save_reg_p. Use gen_frame_load for
- vrsave, toc, gp and fp restores.
-
-2012-05-22 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c: Delete unnecessary forward declarations.
- Move those with ATTRIBUTE_UNUSED to immediately before definitions.
- Move function pointer variables after forward declarations.
- (rs6000_builtin_support_vector_misalignment): Make static.
- (rs6000_legitimate_address_p, rs6000_gimplify_va_arg): Likewise.
- (rs6000_function_value, rs6000_can_eliminate): Likewise.
-
-2012-05-21 Bernd Schmidt <bernds@codesourcery.com>
-
- PR rtl-optimization/53373
- * caller-save.c (save_call_clobbered_regs): Look into a possible
- PARALLEL manually rather than using single_set on a call insn.
-
-2012-05-21 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53436
- * omp-low.c (omp_build_component_ref): New function.
- (build_receiver_ref, build_sender_ref, create_task_copyfn): Use it.
-
-2012-05-21 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (put_condition_code): Change "reverse" and "fp"
- arguments to bool.
- (ix86_print_operand) <case 'O'>: Look at mode size of the operand.
- Do not print '.' here. Output operand lossage error for unhandled
- sizes. Move.
- <case '*'>: Move.
- <case '&'>: Ditto.
- <case 'Y'>: Ditto.
- <case 'z'>: Hardcode "code" argument into error strings.
- <case 'Z'>: Ditto.
- <case 'D'>: Merge AVX and non-AVX codes.
- <case 'C', case 'c', case 'F', case 'f'>: Merge. Fix error string.
- Update call to put_condition_code.
-
-2012-05-21 Andreas Schwab <schwab@linux-m68k.org>
-
- * config/m68k/m68k.md (*clzsi2_cf): Renamed from clzsi2. Call
- CC_STATUS_INIT.
- (clzsi2): New expander.
- (*clzsi2_68k): New insn.
- * config/m68k/m68k.h: Update comment about CLZ_DEFINED_VALUE_AT_ZERO.
-
-2012-05-21 Aldy Hernandez <aldyh@redhat.com>
-
- * gimple.h (gimple_set_in_transaction): Remove.
- (gimple_in_transaction): Look in BB instead.
- (gimple_statement_base): Remove in_transaction field.
- * basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
- * trans-mem.c (compute_transaction_bits): Place transaction bit
- information into basic blocks.
-
-2012-05-21 Andreas Schwab <schwab@linux-m68k.org>
-
- * expr.c (get_def_for_expr_class): Define only if
- HAVE_conditional_move.
- (convert_tree_comp_to_rtx): Likewise.
-
-2012-05-21 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/53399
- * config/i386/i386.md (ffs<mode>2): Generate CCCmode compare
- for TARGET_BMI.
- (ffssi2_no_cmove): Ditto.
- (*ffs<mode>_1): Remove insn pattern.
- (*tzcnt<mode>_1): New insn pattern.
- (*bsf<mode>1): Ditto.
-
-2012-05-21 Richard Guenther <rguenther@suse.de>
-
- * tree-dfa.c (add_referenced_var): Do not walk DECL_INITIAL for
- more referenced vars.
- * tree-ssa-live.c (mark_all_vars_used_1): Only set the used
- flag on variables that have a var-annotation.
-
-2012-05-21 Joseph Myers <joseph@codesourcery.com>
-
- PR c/53418
- * c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR
- from folded operands before wrapping another around the
- conditional expression.
-
-2012-05-21 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53366
- * tree-vect-slp.c (vect_supported_load_permutation_p): Don't shortcut
- tests if complex_numbers == 2, but there are non-complex number loads
- too.
-
- PR tree-optimization/53409
- * tree-vect-loop.c (vect_analyze_loop_operations): Don't check
- vinfo_for_stmt (op_def_stmt) if op_def_stmt isn't inside loop.
-
- PR tree-optimization/53410
- * fold-const.c (fold_binary_loc): Use build_zero_cst (type)
- instead of build_int_cst (type, 0) where vector types might be
- involved. Instead of build_int_cst (type, 1) convert the original
- integer_onep argument to the desired type.
-
-2012-05-21 Michael Matz <matz@suse.de>
-
- * genattrtab.c (attr_rtx_cost): Move earlier, start with cost being 1.
- (simplify_test_exp): Handle one more case of distributive law,
- decrease cost threshold.
- (tests_attr_p, get_attr_order): New functions.
- (optimize_attrs): Use topological order, inline only cheap values.
- (write_attr_set): Reset our_known_true after some time.
-
-2012-05-21 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/53425
- * config/i386/i386.c (type_natural_mode): Warn passing SSE
- vector argument without SSE enabled changes the ABI.
-
-2012-05-21 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53408
- * tree-vect-loop.c (vectorizable_induction): Properly check
- the restriction that we cannot handle induction results from
- the inner loop outside of the outer loop.
-
-2012-05-21 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/53416
- * config/i386/i386.md (UNSPEC_RDRAND): Renamed to ...
- (UNSPECV_RDRAND): This.
- (rdrand<mode>_1): Updated.
-
-2012-05-21 Richard Guenther <rguenther@suse.de>
-
- * tree-loop-distribution.c (can_generate_builtin): Reject
- volatile stmts.
-
-2012-05-21 Chung-Lin Tang <cltang@codesourcery.com>
-
- * Makefile.in (options.c): Add options.h to included header
- files, before tm.h.
-
-2012-05-21 Razya Ladelsky <razya@il.ibm.com>
-
- * tree-parloops.c : Add myself to contributors, update
- TODO list, add link to wiki.
-
-2012-05-21 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/predicates.md (input_operand): Don't match
- constant pool addresses. Remove label_ref, high and plus from
- match_code list. Remove redundant CONSTANT_P test.
- (splat_input_operand): Similarly update match_code list.
- (small_toc_ref): New predicate.
- * config/rs6000/rs6000-protos.h (toc_relative_expr_p): Update prototype.
- * config/rs6000/rs6000.c (tocrel_base, tocrel_offset): Make const.
- (legitimate_constant_pool_address_p): Move TARGET_TOC test and
- register checks to..
- (toc_relative_expr_p): ..here. Add "strict" param. Match new rtl
- generated by create_TOC_reference.
- (rs6000_legitimize_address): Update cerate_TOC_reference call.
- (rs6000_delegitimize_address): Handle new rtl for toc refs.
- (rs6000_cannot_force_const_mem, rs6000_find_base_term): Likewise.
- (use_toc_relative_ref): New function, split out from..
- (rs6000_emit_move): ..here. Remove redundant tests. Update
- create_TOC_reference calls.
- (rs6000_legitimize_reload_address): Formatting. Handle splitting
- of medium/large model toc addresses. Use use_toc_relative_ref.
- (print_operand): Formatting, style. Adjust for toc changes.
- (print_operand_address): Likewise.
- (rs6000_output_addr_const_extra): Likewise.
- (create_TOC_reference): Put TOC_REGISTER in UNSPEC_TOCREL rather
- than a PLUS. Use this formulation for both high and low part
- of -mcmodel=medium/large toc reference too. Before reload,
- always use the small model formulation.
- * config/rs6000/rs6000.md (tls_gd, tls_gd_high): Similarly avoid
- a PLUS in high part of addresses here.
- (tls_ld, tls_ld_high, tls_got_dtprel, tls_got_dtprel_high): Likewise.
- (tls_got_tprel, tls_got_tprel_high, largetoc_high): Likewise.
- (largetoc_high, largetoc_low): Move earlier. Cope when no
- base reg available.
- (largetoc_high_plus): New insn.
- (movsi_internal1, movsi_internal1_single, movsf_softfloat,
- movdi_mfpgpr, movdi_internal64): Don't handle 'R' constraint here..
- (tocref): ..instead do so here, new insn and split.
-
-2012-05-20 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Support
- RDRND, F16C and FSGSBASE.
-
-2012-05-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR rtl-optimzation/53373
- * config/pa/pa.md (call_symref_pic): Don't expose PIC register save in
- call pattern. Update split patterns.
- (call_symref_64bit, call_reg_pic, call_reg_64bit, call_val_symref_pic,
- call_val_symref_64bit, call_val_reg_pic, call_val_reg_64bit): Likewise.
-
-2012-05-20 Razya Ladelsky <razya@il.ibm.com>
-
- * tree-parloops.c (gen_parallel_loop): Change many_iterations_cond
- for outer loops.
-
-2012-05-18 Jan Hubicka <jh@suse.cz>
-
- * cgraphunit.c (handle_alias_pairs): Declare; free alias_pairs
- (cgraph_process_new_functions): Process also aliases.
- * lto-streamer-out.c (struct sets): Remove.
- (trivally_defined_alias): Remove.
- (output_alias_pair_p): Remove.
- (output_unreferenced_globals): Remove.
- (produce_symtab); Do not handle alias pairs.
- (produce_asm_for_decls): Likewise.
- * lto-streamer-in.c (input_alias_pairs): Remove.
- (lto_read_body): Do not input alias pairs.
- (lto_input_constructors_and_inits): Remove.
-
-2012-05-18 Jan Hubicka <jh@suse.cz>
-
- * cgraphunit.c (handle_alias_pairs): Cleanup; handle all types of
- aliases.
-
-2012-05-18 Jan Hubicka <jh@suse.cz>
-
- * cgraphbuild.c (record_reference): Update.
- * lto-cgraph.c (lto_output_varpool_node): External vars
- are not in other partition even if they are not output
- in current partition.
- * gimple-fold.c (can_refer_decl_in_current_unit_p): Take FROM_DECL
- argument; fix.
- (canonicalize_constructor_val): Take FROM_DECL argument.
- (fold_ctor_reference, fold_string_cst_ctor_reference,
- fold_array_ctor_reference, fold_nonarray_ctor_reference,
- fold_ctor_reference): Likewise.
- (fold_const_aggregate_ref_1, gimple_get_virt_method_for_binfo): Update.
- * gimple.h (gimple_fold_builtin): Likewise.
-
-2012-05-18 Olivier Hainque <hainque@adacore.com>
-
- * Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of
- $(libsubdir) as libexecsubdir.
-
-2012-05-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (print_operand): Revise code that unsafely
- relied on signed overflow behavior.
-
-2012-05-18 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53346
- * tree-loop-distribution.c (ldist_gen): Make sure to apply
- builtin transform even when only a single partition with
- all reads/writes exists.
-
-2012-05-18 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53390
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Ignore
- strided loads.
-
-2012-05-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * tree-ssa-reassoc.c (bip_map): Remove decl.
- (completely_remove_stmt): Remove function.
- (remove_def_if_absorbed_call): Remove function.
- (remove_visited_stmt_chain): Remove __builtin_powi handling.
- (possibly_move_powi): Remove function.
- (rewrite_expr_tree): Remove calls to possibly_move_powi.
- (rewrite_expr_tree_parallel): Likewise.
- (attempt_builtin_powi): Build multiplies explicitly rather than
- relying on the ops vector and rank system.
- (transform_stmt_to_copy): New function.
- (transform_stmt_to_multiply): Likewise.
- (reassociate_bb): Handle leftover operations after __builtin_powi
- optimization; build a final multiply if necessary.
-
-2012-05-18 Jan Hubicka <jh@suse.cz>
-
- * cgraphunit.c (varpool_finalize_decl): Allow external decls.
- (mark_functions_to_output): Fix sanity check.
- * ipa.c (function_and_variable_visibility): Remove TREE_STATIC check.
-
-2012-05-18 Richard Guenther <rguenther@suse.de>
-
- * tree-flow.h (mark_symbols_for_renaming): Remove.
- * tree-dfa.c (mark_symbols_for_renaming): Likewise.
- * tree-inline.c (copy_edges_for_bb): Do not mark symbols for renaming.
- (copy_debug_stmt): Likewise.
- (expand_call_inline): Likewise.
- (declare_return_variable): Mark the return variable for renaming
- if necessary.
-
-2012-05-18 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/arm-protos.h (arm_emit_coreregs_64bit_shift): New
- prototype.
- * config/arm/arm.c (arm_emit_coreregs_64bit_shift): New function.
- * config/arm/arm.md (ashldi3): Use arm_emit_coreregs_64bit_shift.
- (ashrdi3,lshrdi3): Likewise.
- (arm_cond_branch): Remove '*' to enable gen_arm_cond_branch.
-
-2012-05-18 Meador Inge <meadori@codesourcery.com>
-
- PR rtl-optimization/53352
- * cse.c (equiv_constant): Ignore paradoxical subregs.
-
-2012-05-17 Steven Bosscher <steven@gcc.gnu.org>
-
- PR rtl-optimization/53125
- * regstat.c (regstat_bb_compute_ri): Take new local_live_last_luid
- argument. Simplify calculation of REG_LIVE_LENGTH for regnos that
- die in the basic block. Correctly top off REG_FREQ and
- REG_FREQ_CALLS_CROSSED.
- Remove do_not_gen.
- (regstat_compute_ri): Allocate and free local_live_last_luid.
- Remove do_not_gen.
- (regstat_bb_compute_calls_crossed): Correctly top off
- REG_FREQ_CALLS_CROSSED.
-
-2012-05-17 Jan Hubicka <jh@suse.cz>
-
- * lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with
- constructor over decl without.
- * cgraph.c (cgraph_remove_node): Clear also body of unanalyzed nodes.
- * cgraph.h (varpool_can_remove_if_no_refs): Handle external correctly.
- * cgraphunit.c (process_function_and_variable_attributes): Finalize
- extrnal decls.
- (mark_functions_to_output): Also accept bodies for functions with
- clones.
- (output_in_order): Skip external vars.
- * lto-cgraph.c (lto_output_node): External functions are never in other
- partition.
- (lto_output_varpool_node): Likewise.
- * lto-streamer-out.c (lto_write_tree): Always use error_mark_nodes for
- forgotten initializers.
- * ipa.c (process_references): Handle external vars.
- (symtab_remove_unreachable_nodes): Update to handle external vars.
- (varpool_externally_visible_p): External vars are externally visible.
- * gimple-fold.c (can_refer_decl_in_current_unit_p): Update.
- * varpool.c (varpool_remove_node): Remove constructor.
- (decide_is_variable_needed): Handle externals.
- (varpool_remove_unreferenced_decls): Likewise.
-
-2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * opts.c (common_handle_option): -pedantic-errors enables -Wpedantic.
- (enable_warning_as_error): Do not special case Wuninitialized.
- * optc-gen.awk: Add sanity checks.
-
-2012-05-17 Jan Hubicka <jh@suse.cz>
-
- * ipa-reference.c (is_proper_for_analysis): Do not check flags
- that might change as result of global optimization.
- (analyze_function): Do not check analyzed and externally_visible
- flags; be happy about address dereferences.
- (propagate): Prune all_module_statics so it really contains just
- statics; prune all the local summaries.
- (ipa_reference_write_optimization_summary): Simplify.
-
-2012-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
-
- * config/m68k/m68k-devices.def: Add 51ag, 51je, 51jf, 51jg, 51mm, 51qm.
- * config/m68k/m68k-tables.opt: Regenerated.
- * doc/invoke.texi (M680x0 Options): Document.
-
-2012-05-16 Dave Boutcher <daveboutcher@gmail.com>
- Patrick Marlier <patrick.marlier@gmail.com>
-
- * trans-mem.c (ipa_tm_transform_clone): Transform functions with
- indirect calls.
-
-2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * configure: Regenerated.
-
-2012-05-16 Andrew Pinski <apinski@cavium.com>
-
- * gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under
- GIMPLE_ASSIGN.
-
-2012-05-16 David S. Miller <davem@davemloft.net>
-
- * jump.c (delete_related_insns): If we remove a CALL, make sure
- we delete it's NOTE_INSN_CALL_ARG_LOCATION note too.
-
-2012-05-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/53217
- * tree-ssa-reassoc.c (bip_map): New static variable.
- (possibly_move_powi): Move feeding multiplies with __builtin_powi call.
- (attempt_builtin_powi): Save feeding multiplies on a stack.
- (reassociate_bb): Create and destroy bip_map.
-
-2012-05-16 Olivier Hainque <hainque@adacore.com>
-
- * Makefile.in (install-no-fixedincludes): New target, former toplevel
- gcc-no-fixedincludes. Stash "include-fixed" in addition to "include".
- Add comments and improve stamp preservation across the whole sequence.
- (stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h.
-
-2012-05-16 Richard Guenther <rguenther@suse.de>
-
- * tree-inline.c (insert_init_stmt): Do not call
- mark_symbols_for_renaming.
- (setup_one_parameter): Avoid initializing unused parameters.
- (declare_return_variable): Properly handle DECL_BY_REFERENCE
- return vars in SSA form.
-
-2012-05-16 Richard Guenther <rguenther@suse.de>
-
- * tree-flow.h (get_virtual_var): Remove.
- * tree-dfa.c (get_virtual_var): Likewise.
-
-2012-05-16 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1):
- Remove set-only bitmap of new names.
- (slpeel_tree_peel_loop_to_edge): Likewise. Do not set
- CFG hooks.
- * tree-flow.h (ssa_names_to_replace): Remove.
- * tree-into-ssa.c (ssa_names_to_replace): Likewise.
-
-2012-05-16 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53364
- * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
- detect a view-conversion of the decl.
-
-2012-05-16 Dodji Seketeli <dodji@redhat.com>
-
- PR preprocessor/7263
- * c-tree.h (enum c_declspec_word): Declare new enum.
- (struct c_declspecs::locations): New member.
- (declspecs_add_qual, declspecs_add_scspec)
- (declspecs_add_addrspace, declspecs_add_alignas): Take a new
- location parameter.
- * c-decl.c (build_null_declspecs): Initialize the new struct
- c_declspecs::locations member.
- (declspecs_add_addrspace): Take a location parameter for the
- address space. Store it onto declaration specifiers.
- (declspecs_add_qual): Likewise, take a location parameter for the
- qualifier.
- (declspecs_add_type): Likewise, take a location parameter for the
- type specifier.
- (declspecs_add_scspec): Likewise, take a location parameter for
- the storage class specifier.
- (declspecs_add_attrs): Likewise, take a location parameter for the
- first attribute.
- (declspecs_add_alignas): Likewise, take a location parameter for
- the alignas token.
- (finish_declspecs): For diagnostics, use the location of the
- relevant declspec, instead of the global input_location.
- * c-parser.c (c_parser_parameter_declaration): Pass the precise
- virtual location of the declspec to the declspecs-setters.
- (c_parser_declspecs): Likewise. Avoid calling c_parser_peek_token
- repeatedly.
-
-2012-05-16 Igor Zamyatin <igor.zamyatin@intel.com>
-
- * configure.ac: Stack protector enabling for Android targets.
- * configure: Regenerate.
-
-2012-05-16 Richard Sandiford <r.sandiford@uk.ibm.com>
-
- * ira.c (pseudo_move_insn): Delete.
- (find_moveable_pseudos): Don't set it.
- (move_unallocated_pseudos): Use DF_REG_DEF_CHAIN to find
- the definitions of the original pseudo. Delete all of them.
-
-2012-05-16 Olivier Hainque <hainque@adacore.com>
-
- * config/rs6000/rs6000-opts.h (enum processor_type): Add
- PROCESSOR_PPC8548.
- * config/rs6000/rs6000-cpus.def: Reference it for cpu="8548".
- * config/rs6000/rs6000.md (cpu attribute definition): Add ppc8548.
- * config/rs6000/8540.md: indicate that the units/patterns apply to
- ppc8548 as well.
-
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Rename
- default_cpu into implicit_cpu, conveying what --with-cpu was passed at
- configure time. Treat implicit_cpu as have_CPU. Pick defaults for SPE
- related flags, check that what is queried is supported by the selected
- configuration. Rework the single/double_float and MASK_STRING resets to
- hit for all the E500 cores (854x + E500MC variants). Select the ppc8540
- costs for PROCESSOR_PPC8548 as well.
- (rs6000_issue_rate): case CPU_PPC8548 together with CPU_PPC8540.
- (rs6000_use_sched_lookahead): Likewise, rewriting function as a case
- statement instead of a sequence of ifs.
-
- * config/rs6000/rs6000.h (TARGET_E500): Remove.
- (TARGET_NO_LWSYNC): Adjust accordingly.
- * config/rs6000/e500.h (TARGET_E500): Remove.
- (CHECK_E500_OPTIONS): Adjust accordingly.
- * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Remove.
- (TARGET_DEFAULT): Reformat definition to match the one in linuxspe.h.
- * config/rs6000/linuxspe.h: Likewise.
- * config/rs6000/vxworks.h: Remove bogus TARGET_E500 overrides and
- superfluous comments.
- * config/rs6000/e500-double.h: Remove.
-
- * config.gcc (pick a default with_cpu): For powerpc*-*-*spe*,
- default to with_cpu=8548 if --enable-e500-double, and to 8540
- otherwise.
- (set misc flags section): For powerpc*|rs6000*, remove inclusion
- of e500-double.h for --enable-e500-double.
-
-2012-05-16 Olivier Hainque <hainque@adacore.com>
-
- * Makefile.in (s-header-vars): Resort to -n instead of trailing
- -e d in sed invocation.
-
-2012-05-16 Hans-Peter Nilsson <hp@axis.com>
-
- * doc/tm.texi.in (Type Layout) <SIZE_TYPE>: Update reference to
- source-code.
- * doc/tm.texi: Regenerate.
-
-2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
-
- * tree.h (EXPR_LOCATION): Use CAN_HAVE_LOCATION_P.
-
-2012-05-15 Jakub Jelinek <jakub@redhat.com>
-
- PR target/53358
- * config/i386/i386.md (*addqi_2 peephole with QImode addition): Check
- that operands[2] is either immediate, or q_regs_operand.
-
-2012-05-15 Richard Guenther <rguenther@suse.de>
-
- * cgraphunit.c (thunk_adjust): Use make_rename_temp.
- (assemble_thunk): Likewise. Manually rename and register
- function arguments.
-
-2012-05-15 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53355
- * tree-vrp.c (extract_range_from_binary_expr_1): Handle LSHIFT_EXPRs
- by constants.
-
-2012-05-15 Tristan Gingold <gingold@adacore.com>
-
- * tree-ssa-strlen.c (get_string_length): Convert lhs if needed.
-
-2012-05-15 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_set_modified): Move ...
- * gimple.h (gimple_set_modified): ... here.
-
-2012-05-15 Tristan Gingold <gingold@adacore.com>
-
- * ira-color.c (move_spill_restore): Add a guard.
-
-2012-05-15 Tristan Gingold <gingold@adacore.com>
-
- * config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust calls to
- plus_constant.
-
-2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimplify.c (gimplify_init_constructor): Do a block move for very
- small objects as well.
-
-2012-05-15 Bernd Schmidt <bernds@codesourcery.com>
-
- * ira.c (find_moveable_pseudos): Skip registers whose
- DF_REG_EQ_USE_COUNT is nonzero.
-
-2012-05-15 Kenneth Zadeck <zadeck@naturalbridge.com>
-
- * doc/md.texi (fma): Define to only be applicable for single rounding.
-
-2012-05-14 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/46098
- * config/i386/i386.c (ix86_expand_special_args_builtin): Always
- generate target register for "load" class builtins.
-
- Revert:
- 2010-10-22 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/46098
- * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
- Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
- (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
- (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
- (<sse>_movu<ssemodesuffix>): New expander.
- (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
- (avx_movdqu<avxmodesuffix>): New expander.
- (*sse2_movdqu): Rename from sse2_movdqu.
- (sse2_movdqu): New expander.
-
-2012-05-14 Marc Glisse <marc.glisse@inria.fr>
-
- PR target/52607
- * config/i386/i386.c (ix86_expand_vec_perm_const): Move code to ...
- (canonicalize_perm): ... new function.
- (expand_vec_perm_2vperm2f128_vshuf): New function.
- (ix86_expand_vec_perm_const_1): Call it.
-
-2012-05-14 Andrew Pinski <apinski@cavium.com>
- H.J. Lu <hongjiu.lu@intel.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR target/53315
- * config/i386/i386.md (xbegin_1): Use + in constraint and match_dup.
- (xbegin): Updated.
-
-2012-05-14 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (dwarf2out_define, dwarf2out_undef): Treat
- lineno 1 the same as lineno 0 before first start file directive.
- (optimize_macinfo_range): Likewise.
-
- * dwarf2out.c (have_macinfo): Define.
- (dwarf2out_finish): Don't emit DW_AT_GNU_macros or DW_AT_macro_info
- attribute, don't force empty compilation unit and don't emit any
- .debug_macinfo/.debug_macro section if macinfo_table is empty.
-
-2012-05-14 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/53344
- * config/avr/avr.c (avr_const_address_lo16): Remove.
- (avr_assemble_integer): Print ".byte lo8(x)",
- ".byte hi8(x)", ".byte hh8(x)" instead of emit an assembler
- .warning if 3-byte address is assembled.
- * doc/extend.texi (AVR Named Address Spaces): Document that
- binutils 2.23 is needed to assemble 3-byte addresses.
-
-2012-05-14 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_setup_realignment): Remove
- call to mark_symbols_for_renaming.
- (vect_permute_load_chain): Likewise.
- * tree-vect-loop.c (vect_is_slp_reduction): Update stmt
- instead of calling mark_symbols_for_renaming.
- * tree-vect-stmts.c (read_vector_array): Remove call to
- mark_symbols_for_renaming.
- (write_vector_array): Likewise.
- (vectorizable_call): Likewise.
- (vectorizable_store): Likewise.
- (vectorizable_load): Likewise.
- * matrix-reorg.c (transform_allocation_sites): Likewise.
- * tree-ssa-pre.c (create_expression_by_pieces): Likewise.
- (create_expression_by_pieces): Likewise.
-
-2012-05-14 Richard Guenther <rguenther@suse.de>
-
- * gimplify.c (gimple_regimplify_operands): Only mark the LHS
- of statements for renaming.
- (force_gimple_operand_1): Likewise, consistently for both
- calls to force_gimple_operand and force_gimple_operand_gsi.
-
-2012-05-14 Richard Guenther <rguenther@suse.de>
-
- * tree-dfa.c (make_rename_temp): Be forgiving if not in SSA form.
- * omp-low.c (expand_omp_taskreg): Properly conditionalize call
- to update_ssa.
- (expand_omp_for): Likewise.
- (expand_omp_for_generic): Adjust conditional add to referenced vars.
- Use make_rename_temp for temporaries that should be rewritten into
- SSA form.
- (expand_omp_for_static_nochunk): Likewise.
- (expand_omp_atomic_pipeline): Likewise.
-
-2012-05-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53331
- * tree-vect-data-refs.c (vect_verify_datarefs_alignment): Ignore
- strided loads.
- * tree-vect-stmts.c (vect_model_load_cost): Handle strided loads.
-
-2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 53063
- * doc/options.texi: (LangEnabledBy): Document it.
- * optc-gen.awk: Handle LangEnabledBy.
- * opth-gen.awk: Generate declaration for lang-specific functions.
- * opt-read.awk: Record lang numbers.
- * opt-functions.awk (flag_set_p): Ignore the arguments of flags.
- (lang_sanitized_name): New.
-
-2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
-
- * attribs.c (decl_attributes): Avoid emitting a warning if
- ATTR_FLAG_BUILT_IN.
- * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Use lowercase for rtx
- codes. Document meaning of sets inside CALL_INSN_FUNCTION_USAGE.
- * builtin-attrs.def (DEF_ATTR_FOR_STRING): Define. Use it to
- define a string "1".
- (ATTR_RET1_NOTHROW_NONNULL_LEAF): New attr definition.
- * builtins.def (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET,
- BUILT_IN_STRCPY): Use it for these functions.
- * postreload.c (reload_combine): Deal with SETs inside
- CALL_INSN_FUNCTION_USAGE.
- * caller-save.c (setup_save_areas, save_call_clobbered_regs):
- Look for REG_RETURNED notes and use a cheap restore if possible.
- * ira-int.h (struct ira_allocno): New member cheap_calls_crossed_num.
- (ALLOCNO_CHEAP_CALLS_CROSSED_NUM): New macro.
- * ira-build.c (ira_create_allocno, create_cap_allocno,
- propagate_allocno_info, propagate_some_info_from_allocno,
- copy_info_to_removed_store_destination, ira_flattening): Handle it.
- * ira-lives.c (pseudo_regno_single_word_and_live_p,
- find_call_crossed_cheap_reg): New static functions.
- (process_bb_node_lives): Look for SETs in CALL_INSN_FUNCTION_USAGE,
- and set ALLOCNO_CHEAP_CALLS_CROSSED_NUM if possible. Also make
- a REG_RETURNED note in that case.
- * ira.c (setup_reg_renumber): Change assert to allow cases where
- allocnos only cross calls for which they are cheap to restore.
- * ira-costs.c (ira_tune_allocno_costs): Compare
- ALLOCNO_CALLS_CROSSED_NUM to ALLOCNO_CHEAP_CALLS_CROSSED_NUM rather
- than 0.
- * reg-notes.def (REG_RETURNED): New note.
- * cse.c (cse_insn): Likewise.
- * sched-deps.c (sched_analyze_insn): Likewise.
- * expr.c (init_block_move_fn): Set a "fn spec" attribute.
- * calls.c (decl_return_flags): New static function.
- (expand_call): Generate a SET in CALL_INSN_FUNCTION_USAGE for
- functions that return one of their arguments.
- * regcprop.c (struct kill_set_value_data): New.
- (kill_set_value): Interpret data as a pointer to such a struct.
- Do nothing if the caller wants the register to be ignored.
- (copyprop_hardreg_forward_1): Handle SETs in CALL_INSN_FUNCTION_USAGE.
-
-2012-05-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53340
- * tree-ssa-pre.c (op_valid_in_sets): Fix error in last commit.
-
-2012-05-14 Richard Guenther <rguenther@suse.de>
-
- * gimplify.c (gimplify_expr): Remove odd code.
-
-2012-05-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * stor-layout.c (bit_from_pos): Distribute conversion to bitsizetype
- into a PLUS_EXPR byte offset.
-
- * tree-ssa-pre.c (can_value_number_call): Delete.
- (compute_avail): Skip all statements with side effects.
- <GIMPLE_CALL>: Skip calls to internal functions.
-
-2012-05-13 Steven Bosscher <steven@gcc.gnu.org>
-
- * config/pa/pa.md: Use define_c_enum for "unspec" and "unspecv".
-
-2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * common.opt (Wtype-limits): Use EnabledBy.
-
-2012-05-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*pushtf): Enable for TARGET_SSE.
- (pushtf splitter): Ditto.
- (movtf): Ditto.
- (*movtf_internal): Ditto. Use V4SFmode for !TARGET_SSE2.
- (<code>tf2): Enable for TARGET_SSE.
- (*absnegtf2_sse): Ditto.
- (copysign<mode>3): Enable TFmode for TARGET_SSE.
- (copysign<mode>3_const): Ditto.
- (copysign<mode>3_var): Ditto.
- * config/i386/sse.md (<code>tf3): Enable for TARGET_SSE.
- (*andnottf3): Ditto. Use V4SFmode for !TARGET_SSE2.
- (*<code>tf3): Ditto.
- * config/i386/i386.c (struct builtin_description bdesc_args)
- <IX86_BUILTIN_FABSQ>: Enable for TARGET_SSE.
- <IX86_BUILTIN_COPYSIGNQ>: Ditto.
- (ix86_expand_builtin) <IX86_BUILTIN_FABSQ, IX86_BUILTIN_COPYSIGNQ>:
- Emit a normal call if SSE isn't available.
-
-2012-05-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (<sse>_andnot<mode>3): Handle
- TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
- (<code><mode>3): Ditto.
- (*andnot<mode>3): Ditto.
- (*andnottf3): Ditto.
- (*<code><mode>3): Ditto.
- (<code>tf3): Ditto.
-
-2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * optc-gen.awk: Error instead of warning for conflicting help.
-
-2012-05-12 Jason Merrill <jason@redhat.com>
-
- PR debug/53235
- * dwarf2out.c (build_local_stub): Prefer DW_AT_signature for
- comdat types.
-
-2012-05-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * function.c (requires_stack_frame_p): If the function can throw
- non-call exceptions, return true if the insn can throw internally.
-
-2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- * doc/generic.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P.
-
-2012-05-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
- ORDERED and UNORDERED conditions.
-
-2012-05-11 Richard Guenther <rguenther@suse.de>
-
- * tree-flow.h (referenced_var_check_and_insert): Remove.
- (find_new_referenced_vars): Likewise.
- * tree-dfa.c (referenced_var_check_and_insert): Make static.
- (find_new_referenced_vars_1, find_new_referenced_vars): Remove.
- * tree-inline.c (copy_bb): Use find_referenced_vars_in
- instead of find_new_referenced_vars.
- * gimple-fold.c (gimplify_and_update_call_from_tree): Likewise.
-
-2012-05-11 Richard Guenther <rguenther@suse.de>
-
- * tree-pass.h (pass_rest_of_compilation,
- pass_all_optimizations, pass_postreload, pass_all_early_optimizations):
- Remove.
- * passes.c (pass_all_optimizations, pass_postreload,
- pass_all_early_optimizations): Make static.
- (pass_rest_of_compilation): Likewise. Make it an RTL_PASS.
- * tree-phinodes.c (init_phinodes, fini_phinodes): Remove.
- * tree-ssa.c (init_tree_ssa): Do not call init_phinodes.
- (delete_tree_ssa): Do not call fini_phinodes.
- * tree-flow.h (init_phinodes, fini_phinodes): Remove.
-
-2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 53063
- * doc/options.texi (EnabledBy): Document
- * opts.c: Include opts.h and options.h before tm.h.
- (finish_options): Do not handle some sub-options here...
- (common_handle_option): ... instead call common_handle_option_auto
- here.
- * optc-gen.awk: Handle EnabledBy.
- * opth-gen.awk: Declare common_handle_option_auto.
- * common.opt (Wuninitialized): Use EnabledBy. Delete Init.
- (Wmaybe-uninitialized): Likewise.
- (Wunused-but-set-variable): Likewise.
- (Wunused-function): Likewise.
- (Wunused-label): Likewise.
- (Wunused-value): Likewise.
- (Wunused-variable): Likewise.
- * opt-read.awk: Create opt_numbers array.
-
-2012-05-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53295
- * tree-data-ref.h (stride_of_unit_type_p): Handle non-constant
- strides.
- * tree-data-ref.c (dr_analyze_innermost): Allow non-constant
- strides when analyzing data-references in a loop context.
- * tree-vect-data-refs.c (vect_mark_for_runtime_alias_test): Reject
- non-constant strides for now.
- (vect_enhance_data_refs_alignment): Ignore data references
- that are strided loads.
- (vect_analyze_data_ref_access): Handle non-constant strides.
- (vect_check_strided_load): Verify the data-reference is a load.
- (vect_analyze_data_refs): Restructure to make strided load
- support not dependent on gather support.
- * tree-vect-stmts.c (vectorizable_load): Avoid useless work
- when doing strided or gather loads.
- * tree-vect-loop-manip.c (vect_vfa_segment_size): Use
- integer_zerop to compare stride with zero.
-
-2012-05-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Support RTM.
-
-2012-05-11 Jan Hubicka <jh@suse.cz>
-
- PR bootstrap/53300
- * varpool.c (varpool_assemble_decl): Also output constat pool entries
- that output_constant_pool missed.
-
-2012-05-11 Mingjie Xing <mingjie.xing@gmail.com>
-
- * config/mips/t-vxworks: Change MUTLILIB_EXTRA_OPTS to
- MULTILIB_EXTRA_OPTS.
-
-2012-05-11 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/53291
- * config/i386/i386.md (xtest): Use NE condition in ix86_expand_setcc.
-
-2012-05-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movti_internal_rex64): Avoid MOVAPS size
- optimization for TARGET_AVX.
- (*movti_internal_sse): Ditto.
- (*movdi_internal_rex64): Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
- (*movdi_internal): Ditto.
- (*movsi_internal): Ditto.
- (*movtf_internal): Avoid MOVAPS size optimization for TARGET_AVX.
- (*movdf_internal_rex64): Ditto.
- (*movfd_internal): Ditto.
- (*movsf_internal): Ditto.
- * config/i386/sse.md (mov<mode>): Handle TARGET_SSE_LOAD0_BY_PXOR.
-
-2012-05-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * dwarf2out.c (add_byte_size_attribute) <RECORD_TYPE>: Handle variable
- reference as size attribute.
-
-2012-05-10 Eric Botcazou <ebotcazou@adacore.com>
- Tristan Gingold <gingold@adacore.com>
-
- * doc/md.texi (Standard Names): Document probe_stack_address.
- * explow.c (emit_stack_probe): Handle probe_stack_address.
- * config/ia64/ia64.md (UNSPECV_PROBE_STACK_ADDRESS): New constant.
- (UNSPECV_PROBE_STACK_RANGE): Likewise.
- (probe_stack_address): New insn.
- (probe_stack_range): Likewise.
- * config/ia64/ia64.c: Include common/common-target.h.
- (ia64_compute_frame_size): Mark r2 and r3 as used if static stack
- checking is enabled.
- (ia64_emit_probe_stack_range): New function.
- (output_probe_stack_range): Likewise.
- (ia64_expand_prologue): Invoke ia64_emit_probe_stack_range if static
- builtin stack checking is enabled.
- (rtx_needs_barrier) <UNSPEC_VOLATILE>: Handle UNSPECV_PROBE_STACK_RANGE
- and UNSPECV_PROBE_STACK_ADDRESS.
- (unknown_for_bundling_p): New predicate.
- (group_barrier_needed): Use important_for_bundling_p.
- (ia64_dfa_new_cycle): Use unknown_for_bundling_p.
- (issue_nops_and_insn): Likewise.
- (bundling): Likewise.
- (final_emit_insn_group_barriers): Likewise.
- * config/ia64/ia64-protos.h (output_probe_stack_range): Declare.
- * config/ia64/hpux.h (STACK_CHECK_STATIC_BUILTIN): Define.
- (STACK_CHECK_PROTECT): Likewise.
- * config/ia64/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
-
-2012-05-10 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (update_all_callee_keys): Remove.
- (inline_small_functions): Simplify priority updating.
-
-2012-05-10 Jan Hubicka <jh@suse.cz>
-
- * ipa.c (symtab_remove_unreachable_nodes): Fix marking of clones.
-
-2012-05-10 Jan Hubicka <jh@suse.cz>
-
- * cgraph.h (cgraph_remove_unreachable_nodes): Rename to ...
- (symtab_remove_unreachable_nodes): ... this one.
- * ipa-cp.c (ipcp_driver): Do not remove unreachable nodes.
- * cgraphunit.c (ipa_passes): Update.
- * cgraphclones.c (cgraph_materialize_all_clones): Update.
- * cgraph.c (cgraph_release_function_body): Only turn initial
- into error mark when initial was previously set.
- * ipa-inline.c (ipa_inline): Update.
- * ipa.c: Include ipa-inline.h
- (enqueue_cgraph_node, enqueue_varpool_node): Remove.
- (enqueue_node): New function.
- (process_references): Update.
- (symtab_remove_unreachable_nodes): Cleanup.
- * passes.c (execute_todo, execute_one_pass): Update.
-
-2012-05-10 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/53125
- * ira.c (ira): Call find_moveable_pseudos and
- move_unallocated_pseudos if only ira_conflicts_p is true.
-
-2012-05-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movoi_internal_avx): Handle
- TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL and TARGET_SSE_TYPELESS_STORES.
- (*movti_internal_rex64): Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
- (*movti_internal_sse): Ditto.
- (*movtf_internal): Ditto.
- * config/i386/sse.md (ssePSmode): New mode attribute.
- (*move<mode>_internal): Use ssePSmode.
- (*<sse>_movu<ssemodesuffix><avxsizesuffix>): Ditto.
- (*<sse2>_movdqu<avxsizesuffix>): Ditto.
- * config/i386/i386.c (standard_sse_constant_opcode): Do not handle
- TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL here.
-
-2012-05-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the
- DECL_ORIGINAL_TYPE if it is present.
-
-2012-05-10 Nick Clifton <nickc@redhat.com>
-
- PR target/53120
- * config/m32c/bitops.md (bset_qi): Change operand 2 from having
- a "0" constraint to being a (match_dup 0).
-
-2012-05-10 Richard Guenther <rguenther@suse.de>
-
- * stor-layout.c (byte_from_pos): Amend comment.
-
-2012-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/extend.texi (X86 Built-in Functions, __builtin_cpu_init):
- Document requirement to call in constructors.
-
- * config/i386/i386.c: Update comments for i386-cpuinfo.c name change.
-
-2012-05-10 Richard Guenther <rguenther@suse.de>
-
- * tree.h (TYPE_IS_SIZETYPE): Remove.
- * fold-const.c (int_const_binop_1): Remove TYPE_IS_SIZETYPE use.
- (extract_muldiv_1): Likewise.
- * gimple.c (gtc_visit): Likewise.
- (gimple_types_compatible_p): Likewise.
- (iterative_hash_canonical_type): Likewise.
- (gimple_canonical_types_compatible_p): Likewise.
- * gimplify.c (gimplify_one_sizepos): Likewise.
- * print-tree.c (print_node): Likewise.
- * stor-layout.c (initialize_sizetypes): Do not set TYPE_IS_SIZETYPE.
-
-2012-05-09 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/52908
- * config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using
- xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high.
- (vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern
- instead of xop_mulv2div2di3_low.
- (xop_p<macs>dql): Fix vec_select selector.
- (xop_p<macs>dqh): Ditto.
- (xop_mulv2div2di3_low): Remove insn_and_split pattern.
- (xop_mulv2div2di3_high): Ditto.
-
-2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c++/53289
- * diagnostic.h (diagnostic_context): Add last_location.
- * diagnostic.c (diagnostic_initialize): Initialize it.
- (diagnostic_show_locus): Use it.
-
-2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * doc/extend.texi (Function Attributes): Point xref to section
- about Pragmas.
-
-2012-05-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (*movdf_internal_rex64): Remove
- TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code.
- Calculate "mode" attribute according to
- TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flag.
- (*movdf_internal): Ditto.
-
-2012-05-09 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/44141
- * config/i386/i386.c (ix86_expand_vector_move_misalign): Do not handle
- 128 bit vectors specially for TARGET_AVX. Emit sse2_movupd and
- sse_movupd RTXes for TARGET_AVX, TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
- or when optimizing for size.
- * config/i386/sse.md (*mov<mode>_internal): Remove
- TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code.
- Calculate "mode" attribute according to optimize_function_for_size_p
- and TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flag.
- (*<sse>_movu<ssemodesuffix><avxsizesuffix>): Choose asm template
- depending on the mode of the instruction. Calculate "mode" attribute
- according to optimize_function_for_size_p, TARGET_SSE_TYPELESS_STORES
- and TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flags.
- (*<sse2>_movdqu<avxsizesuffix>): Ditto.
-
-2012-05-09 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/53256
- * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove.
- * config/avr/avr-protos.h (avr_asm_declare_function_name): Remove.
- * config/avr/avr.h (struct machine_function): Add attributes_checked_p.
- * config/avr/avr.c (avr_asm_declare_function_name): Remove.
- (expand_prologue): Move initialization of cfun->machine->is_naked,
- is_interrupt, is_signal, is_OS_task, is_OS_main from here to...
- (avr_set_current_function): ...this new static function.
- (TARGET_SET_CURRENT_FUNCTION): New define.
- (avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of
- checking attributes of current_function_decl.
- (avr_regs_to_save): Ditto.
- (signal_function_p): Rename to avr_signal_function_p.
- (interrupt_function_p): Rename to avr_interrupt_function_p.
-
- * doc/extend.texi (Function Attributes): Better explanation of
- 'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish
- alphabetical order.
-
-2012-05-09 Michael Matz <matz@suse.de>
-
- PR tree-optimization/53185
- * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Disable
- peeling when we see strided loads.
-
-2012-05-09 Matthias Klose <doko@ubuntu.com>
-
- * gcc-ar.c (main): Don't check for execute bits for the plugin.
-
-2012-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * tree-ssa-loop-ivopts.c (add_autoinc_candidates, get_address_cost):
- Replace use of HAVE_{POST/PRE}_{INCREMENT/DECREMENT} with
- USE_{LOAD/STORE}_{PRE/POST}_{INCREMENT/DECREMENT} appropriately.
- * config/arm/arm.h (ARM_AUTOINC_VALID_FOR_MODE_P): New.
- (USE_LOAD_POST_INCREMENT): Define.
- (USE_LOAD_PRE_INCREMENT): Define.
- (USE_LOAD_POST_DECREMENT): Define.
- (USE_LOAD_PRE_DECREMENT): Define.
- (USE_STORE_PRE_DECREMENT): Define.
- (USE_STORE_PRE_INCREMENT): Define.
- (USE_STORE_POST_DECREMENT): Define.
- (USE_STORE_POST_INCREMENT): Define.
- (arm_auto_incmodes): Add enumeration.
- * config/arm/arm-protos.h (arm_autoinc_modes_ok_p): Declare.
- * config/arm/arm.c (arm_autoinc_modes_ok_p): Define.
-
-2012-05-09 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53226
- * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Remove
- prev and prev_initialized vars, gimple_set_plf (stmt, GF_PLF_1, false)
- before processing it and gimple_set_plf (stmt, GF_PLF_1, true) if it
- doesn't need to be revisited, look for earliest stmt with
- !gimple_plf (stmt, GF_PLF_1) if something changed.
-
-2012-05-09 Terry Guo <terry.guo@arm.com>
-
- * genmultilib: Update copyright dates.
- * doc/fragments.texi: Ditto.
-
-2012-05-09 Terry Guo <terry.guo@arm.com>
-
- * Makefile.in (s-mlib): Add new argument MULTILIB_REQUIRED.
- * genmultilib (MULTILIB_REQUIRED): New.
- * doc/fragments.texi: Document the MULTILIB_REQUIRED.
-
-2012-05-09 Richard Guenther <rguenther@suse.de>
-
- * tree-vectorizer.h (vect_loop_versioning): Adjust prototype.
- (vect_do_peeling_for_loop_bound): Likewise.
- (vect_do_peeling_for_alignment): Likewise.
- * tree-vect-loop-manip.c (conservative_cost_threshold): Remove.
- (vect_do_peeling_for_loop_bound): Get check_profitability and
- threshold as parameters.
- (vect_do_peeling_for_alignment): Likewise.
- (vect_loop_versioning): Likewise.
- * tree-vect-loop.c (vect_transform_loop): Compute check_profitability
- and threshold here. Control where to put the check here.
-
-2012-05-09 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR middle-end/53249
- * dwarf2out.h (get_address_mode): Move declaration to...
- * rtl.h: ...here.
- * dwarf2out.c (get_address_mode): Move definition to...
- * rtlanal.c: ...here.
- * var-tracking.c (get_address_mode): Delete.
- * combine.c (find_split_point): Use get_address_mode instead of
- targetm.addr_space.address_mode.
- * cselib.c (cselib_record_sets): Likewise.
- * dse.c (canon_address, record_store): Likewise.
- * emit-rtl.c (adjust_address_1, offset_address): Likewise.
- * expr.c (move_by_pieces, emit_block_move_via_loop, store_by_pieces)
- (store_by_pieces_1, expand_assignment, store_expr, store_constructor)
- (expand_expr_real_1): Likewise.
- * ifcvt.c (noce_try_cmove_arith): Likewise.
- * optabs.c (maybe_legitimize_operand_same_code): Likewise.
- * reload.c (find_reloads): Likewise.
- * sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
- * sel-sched-dump.c (debug_mem_addr_value): Likewise.
-
-2012-05-09 Maciej W. Rozycki <macro@codesourcery.com>
-
- * config/mips/mips.c (mips16_gp_pseudo_reg): Remove line
- information from the instruction produced.
-
-2012-05-09 Richard Guenther <rguenther@suse.de>
-
- * stor-layout.c (bit_from_pos): Document.
- (byte_from_pos): Likewise. Optimize.
- (pos_from_bit): Likewise.
- (normalize_offset): Use pos_from_bit instead of replicating it.
-
-2012-05-09 Alan Modra <amodra@gmail.com>
-
- PR target/53271
- * config/rs6000/rs6000.c (gen_frame_set): New function.
- (gen_frame_load, gen_frame_store): New functions.
- (rs6000_savres_rtx): Use the above.
- (rs6000_emit_epilogue, rs6000_emit_prologue): Here too.
- Correct mode used for CR2 in save/restore_world patterns.
- Don't emit instructions for eh_return frame unwind reg info.
-
-2012-05-08 Jan Hubicka <jh@suse.cz>
-
- * cgraphbuild.c (build_cgraph_edges): Do not finalize vars
- with VALUE_EXPR.
- * cgraph.h (varpool_can_remove_if_no_refs): Vars with VALUE_EXPR
- are removable.
- * toplev.c (wrapup_global_declaration_2): Vars with VALUE_EXPR
- need to wrapup.
- (compile_file): Do not output variables.
- * cgraphbuild.c (varpool_finalize_decl): When var is finalized late,
- output it.
- * langhooks.c: Include timevar.h
- (write_global_declarations): Finalize compilation unit after wrapup;
- set timevars correctly.
- * passes.c (rest_of_decl_compilation): Decls with VALUE_EXPR needs
- not to be added to varpool.
- * varpool.c (varpool_assemble_decl): Sanity check that we are called
- only on cases where it makes sense; skip constant pool and value expr
- vars.
-
-2012-05-08 David S. Miller <davem@davemloft.net>
-
- * config/sparc/linux.h (LINK_SPEC): Don't pass "-Y" option.
- * config/sparc/linux64.h (LINK_ARCH32_SPEC): Likewise.
- * config/sparc/linux64.h (LINK_ARCH64_SPEC): Likewise.
-
-2012-05-08 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR rtl-optimization/53278
- * lower-subreg.c (decompose_multiword_subregs): Remove left-over
- speed_p code from earlier patch.
-
-2012-05-08 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/sh.md (*branch_true, *branch_false): New insns.
-
-2012-05-08 Teresa Johnson <tejohnson@google.com>
-
- * gcov-io.h (__gcov_reset, __gcov_dump): Declare.
- * doc/gcov.texi: Add note on using __gcov_reset and __gcov_dump.
-
-2012-05-08 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_call_edge_duplication_hooks): Export.
- (cgraph_create_node_1): Rename to ...
- (cgraph_create_empty_node): ... this one; export.
- (cgraph_create_node): Update.
- (cgraph_set_call_stmt_including_clones): Move to cgraphclones.c
- (cgraph_create_edge_including_clones): Likewise.
- (cgraph_find_replacement_node): Likewise.
- (cgraph_clone_edge): Likewise.
- (cgraph_clone_node): Likewise.
- (clone_function_name): Likewise.
- (cgraph_create_virtual_clone): Likewise.
- (cgraph_remove_node_and_inline_clones): Likewise.
- (cgraph_redirect_edge_call_stmt_to_callee): Move here from cgraphunit.c
- * cgraph.h: Reorder declarations so they match file of origin.
- (cgraph_create_empty_node): Declare.
- * cgraphunit.c (update_call_expr): Move to cgraphclones.c
- (cgraph_copy_node_for_versioning): Likewise.
- (cgraph_function_versioning): Likewise.
- (cgraph_materialize_clone): Likewise.
- (cgraph_redirect_edge_call_stmt_to_callee): Likewise.
- (cgraph_materialize_all_clones): Likewise.
- * cgraphclones.c: New file.
- * Makefile.in: Update for cgraphclones.
-
-2012-05-08 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/53176
- * config/i386/i386.c (ix86_set_reg_reg_cost): New function.
- (ix86_rtx_costs): Handle SET.
-
-2012-05-08 Michael Matz <matz@suse.de>
-
- * basic-block.h (struct rtl_bb_info): Remove visited member and
- move head_ member to ...
- (struct basic_block_def.basic_block_il_dependent): ... the new
- member x, replacing but containing old member rtl.
- (enum bb_flags): New BB_VISITED flag.
- (BB_HEADER, BB_FOOTER): New macros.
-
- * jump.c (mark_all_labels): Adjust.
- * cfgcleanup.c (try_optimize_cfg): Adjust.
- * cfglayout.c (record_effective_endpoints): Adjust.
- (relink_block_chain): Ditto (and don't fiddle with visited).
- (fixup_reorder_chain): Adjust.
- (fixup_fallthru_exit_predecessor): Ditto.
- (cfg_layout_duplicate_bb): Ditto.
- * combine.c (update_cfg_for_uncondjump): Adjust.
- * bb-reorder.c (struct bbro_basic_block_data_def): Add visited member.
- (bb_visited_trace): New accessor.
- (mark_bb_visited): Move in front.
- (rotate_loop): Use bb_visited_trace.
- (find_traces_1_round): Ditto.
- (emit_barrier_after): Ditto.
- (copy_bb): Ditto, and initialize visited on resize.
- (reorder_basic_blocks): Initize visited member.
- (duplicate_computed_gotos): Clear bb flags at start, use
- BB_VISITED flags.
-
- * cfgrtl.c (try_redirect_by_replacing_jump): Adjust.
- (rtl_verify_flow_info_1): Ditto.
- (cfg_layout_split_block): Ditto.
- (cfg_layout_delete_block): Ditto.
- (cfg_layout_merge_blocks): Ditto.
- (init_rtl_bb_info): Adjust and initialize il.x.head_ member.
-
-2012-05-08 Hans-Peter Nilsson <hp@axis.com>
-
- PR target/53272
- * config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
- when a constant source operand matches an "I" constraint, the "no
- CC0 change" applies to a register-destination only, not a
- strict_low_part-destination.
-
-2012-05-08 Richard Guenther <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Fold (X * CST1) & CST2
- to zero or to (X * CST1) & CST2' when CST1 has trailing zeros.
-
-2012-05-08 Georg-Johann Lay <avr@gjlay.de>
-
- * Makefile.in (TEXI_GCC_FILES): Add avr-mmcu.texi.
-
- * doc/avr-mmcu.texi: New auto-generated file.
- * doc/invoke.texi (AVR Options): Include avr-mmcu.texi in order
- to document all valid -mmcu= arguments.
-
- * config/avr/avr.h (arch_info_s): New struct definition.
- * config/avr/avr-devices.c (avr_texinfo): New variable.
- * config/avr/gen-avr-mmcu-texi.c: New file.
- * config/avr/t-avr: New rules and dependencies to build avr-mmcu.texi.
-
-2012-05-08 Dehao Chen <dehao@google.com>
-
- * predict.c (find_qualified_ssa_name): New.
- (find_ssa_name_in_expr): New.
- (find_ssa_name_in_assign_stmt): New.
- (is_comparison_with_loop_invariant_p): New.
- (is_bound_expr_similar): New.
- (predict_iv_comparison): New.
- (predict_loops): Add heuristic for loop-nested branches that compare an
- induction variable to a loop bound variable.
- * predict.def (PRED_LOOP_IV_COMPARE): New macro.
-
-2012-05-08 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (has_dispatch): Use TARGET_BDVER1 and
- TARGET_BDVER2 defines where appropriate.
-
-2012-05-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * configure.ac (PLUGIN_LD): Rename into...
- (PLUGIN_LD_SUFFIX): ...this and strip the target_alias triplet.
- * config.in: Regenerate.
- * configure: Likewise.
- * collect2.c (main): Set plugin_ld_suffix to PLUGIN_LD_SUFFIX.
-
-2012-05-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-dfa.c (get_ref_base_and_extent) <ARRAY_REF>: Do the offset
- computation using the precision of the index type.
- * gimple-fold.c (fold_const_aggregate_ref_1) <ARRAY_REF>: Likewise.
- (fold_array_ctor_reference): Do index computations in the index type.
-
-2012-05-07 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_prologue_setup_frame): Fix mode passed
- down to plus_constant.
- (expand_epilogue): Ditto.
-
-2012-05-07 Steven Bosscher <steven@gcc.gnu.org>
-
- * postreload.c (reload_cse_regs): Make static.
- * reload.h (reload_cse_regs): Remove prototype.
-
-2012-05-07 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.md (clear_cache): New pattern.
-
-2012-05-07 Steven Bosscher <steven@gcc.gnu.org>
-
- PR middle-end/53245
- * gimplify.c (preprocess_case_label_vec_for_gimple): If low or high
- is folded to a type boundary value, verify that the resulting case
- label is still a care range.
-
-2012-05-07 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (ctz<mode>2): Emit rep;bsf
- only for TARGET_GENERIC, when not optimizing for size.
- (*ffs<mode>_1): Ditto.
-
-2012-05-07 Steven Bosscher <steven@gcc.gnu.org>
-
- * tree-cfg.c (verify_gimple_switch): Tighten checks.
-
-2012-05-07 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53239
- * tree-vrp.c (get_value_range): Set VR of SSA_NAME_IS_DEFAULT_DEF
- of DECL_BY_REFERENCE RESULT_DECL to nonnull.
-
-2012-05-07 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53195
- * tree-inline.c (setup_one_parameter): Properly add referenced
- vars from the parameters new known value.
-
-2012-05-07 Steven Bosscher <steven@gcc.gnu.org>
-
- * config/m68k/m68k.c (m68k_sched_branch_type): Remove.
- (sched_branch_type): Remove.
- (m68k_sched_md_init_global): Don't allocate it.
- (m68k_sched_md_finish_global): Don't free it.
- * config/m68k/m68k.h (m68k_sched_branch_type): Remove prototype.
- * config/m68k/m68k.md: Set the type of insns using
- m68k_sched_branch_type to bcc directly.
-
-2012-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/sol2.c (solaris_override_options): New function.
- * config/sol2-protos.h (solaris_override_options): Declare.
- * config/sol2.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
-
-2012-05-07 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Return
- whether we failed to compute data dependences.
- (loop_prefetch_arrays): Fail if we failed.
-
-2012-05-07 Uros Bizjak <ubizjak@gmail.com>
- Paolo Bonzini <bonzini@gnu.org>
-
- * config/i386/i386.md (ctz<mode>2): Emit rep;bsf even for !TARGET_BMI.
- Emit bsf when optimizing for size.
- (*ffs<mode>_1): Ditto.
-
-2012-05-07 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53250
- * config/sh/sh.c (sh_rtx_costs): Handle SET.
-
-2012-05-06 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/53227
- * config/i386/i386.md (swap<mode>): Rename from *swap<mode>.
- (bswapdi2): Split from bswap<mode>2. Use nonnimediate_operand
- predicate for operand 1. Force operand 1 to register for TARGET_BSWAP.
- (bswapsi2): Ditto.
- (*bswapdi2_doubleword): New insn pattern.
- (*bswap<mode>2): Rename from *bswap<mode>2_1.
-
-2012-05-06 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_set_reg_reg_piece_cost): New function.
- (mips_set_reg_reg_cost): Likewise.
- (mips_rtx_costs): Handle SET.
-
-2012-05-06 Richard Sandiford <rdsandiford@googlemail.com>
-
- * lower-subreg.c (shift_cost): Use set_src_cost, avoiding the SET.
- (compute_costs): Likewise for the zero extension. Use set_rtx_cost
- to compute the cost of moves. Set the mode of the target register.
-
-2012-05-05 Richard Sandiford <rdsandiford@googlemail.com>
-
- * rtl.h (plus_constant, plus_constant_mode): Merge into a single
- plus_constant function.
- * explow.c (plus_constant, plus_constant_mode): Likewise. Assert
- that the mode is sensible.
- (use_anchored_address, round_push, allocate_dynamic_stack_space)
- (probe_stack_range, anti_adjust_stack_and_probe): Update calls to
- plus_constant.
-
- * alias.c (canon_rtx): Likewise.
- (init_alias_analysis): Likewise.
- * builtins.c (expand_builtin_return_addr)
- (expand_builtin_setjmp_setup, expand_builtin_longjmp)
- (expand_builtin_nonlocal_goto, expand_builtin_update_setjmp_buf)
- (expand_builtin_apply_args_1, expand_builtin_apply, expand_movstr)
- (expand_builtin_stpcpy): Likewise.
- * calls.c (save_fixed_argument_area, restore_fixed_argument_area)
- (compute_argument_addresses, internal_arg_pointer_based_exp)
- (expand_call, emit_library_call_value_1): Likewise.
- * cfgexpand.c (expand_one_stack_var_at, expand_debug_expr): Likewise.
- * combine-stack-adj.c (try_apply_stack_adjustment): Likewise.
- * combine.c (combine_simplify_rtx, force_to_mode): Likewise.
- * cse.c (insert_const_anchor, find_reg_offset_for_const)
- (use_related_value, fold_rtx): Likewise.
- * cselib.c (cselib_subst_to_values): Likewise.
- * dse.c (record_store, check_mem_read_rtx): Likewise.
- * dwarf2out.c (rtl_for_decl_location, gen_variable_die): Likewise.
- * emit-rtl.c (adjust_address_1): Likewise.
- * except.c (sjlj_emit_function_enter)
- (expand_builtin_extract_return_addr)
- (expand_builtin_frob_return_addr): Likewise.
- * expmed.c (expand_divmod): Likewise.
- * expr.c (move_by_pieces, store_by_pieces, store_by_pieces_1)
- (emit_move_resolve_push, push_block, emit_push_insn, store_expr)
- (expand_expr_addr_expr_1, expand_expr_real_1): Likewise.
- * function.c (assign_stack_local_1)
- (instantiate_virtual_regs_in_rtx): Likewise.
- * optabs.c (prepare_cmp_insn): Likewise.
- * recog.c (offsettable_address_addr_space_p): Likewise.
- * reload.c (find_reloads_address, form_sum)
- (find_reloads_subreg_address): Likewise.
- * reload1.c (init_reload, eliminate_regs_1)
- (eliminate_regs_in_insn): Likewise.
- * simplify-rtx.c (simplify_unary_operation_1)
- (simplify_binary_operation_1, simplify_plus_minus): Likewise.
- * var-tracking.c (compute_cfa_pointer, prepare_call_arguments)
- (vt_add_function_parameter): Likewise.
-
- * config/alpha/alpha.h (EH_RETURN_HANDLER_RTX): Likewise.
- * config/alpha/vms.h (EH_RETURN_HANDLER_RTX): Likewise.
- * config/alpha/alpha.c (alpha_legitimize_address_1)
- (get_unaligned_address, alpha_expand_unaligned_load)
- (alpha_expand_unaligned_store, alpha_expand_unaligned_load_words)
- (alpha_expand_unaligned_store_words, alpha_expand_block_clear)
- (alpha_expand_builtin_establish_vms_condition_handler)
- (alpha_setup_incoming_varargs, emit_frame_store_1)
- (alpha_expand_prologue, alpha_expand_epilogue)
- (alpha_use_linkage): Likewise.
- * config/alpha/alpha.md: Likewise.
-
- * config/arm/arm.c (arm_trampoline_init, legitimize_pic_address)
- (arm_load_pic_register, arm_pic_static_addr, arm_legitimize_address)
- (thumb_legitimize_address, arm_gen_load_multiple_1)
- (arm_gen_store_multiple_1, arm_gen_multiple_op, gen_ldm_seq)
- (gen_stm_seq, gen_const_stm_seq, arm_block_move_unaligned_straight)
- (arm_block_move_unaligned_loop, arm_gen_movmemqi, arm_reload_in_hi)
- (arm_reload_out_hi, arm_reorg, vfp_emit_fstmd, emit_multi_reg_push)
- (emit_sfm, thumb_set_frame_pointer, arm_expand_prologue)
- (thumb1_emit_multi_reg_push, thumb1_expand_prologue)
- (thumb_expand_movmemqi, arm_set_return_address)
- (thumb_set_return_address): Likewise.
- * config/arm/arm.md: Likewise.
-
- * config/avr/avr.c (avr_incoming_return_addr_rtx)
- (avr_prologue_setup_frame, expand_epilogue)
- (avr_const_address_lo16): Likewise.
-
- * config/bfin/bfin.h (EH_RETURN_HANDLER_RTX): Likewise.
- * config/bfin/bfin.c (setup_incoming_varargs, bfin_load_pic_reg)
- (bfin_expand_prologue, bfin_trampoline_init, bfin_expand_call)
- (bfin_output_mi_thunk): Likewise.
-
- * config/c6x/c6x.c (c6x_initialize_trampoline)
- (c6x_output_mi_thunk): Likewise.
-
- * config/cr16/cr16.h (EH_RETURN_HANDLER_RTX): Likewise.
- * config/cr16/cr16.c (cr16_create_dwarf_for_multi_push): Likewise.
-
- * config/cris/cris.c (cris_return_addr_rtx, cris_split_movdx)
- (cris_expand_prologue, cris_expand_epilogue, cris_gen_movem_load)
- (cris_emit_movem_store, cris_trampoline_init): Likewise.
- * config/cris/cris.md: Likewise.
-
- * config/darwin.c (machopic_indirect_data_reference)
- (machopic_legitimize_pic_address): Likewise.
-
- * config/epiphany/epiphany.c (epiphany_emit_save_restore)
- (epiphany_expand_prologue, epiphany_expand_epilogue)
- (epiphany_trampoline_init): Likewise.
- * config/epiphany/epiphany.md: Likewise.
-
- * config/fr30/fr30.c (fr30_move_double): Likewise.
-
- * config/frv/frv.c (frv_dwarf_store, frv_expand_prologue)
- (frv_expand_block_move, frv_expand_block_clear, frv_return_addr_rtx)
- (frv_index_memory, unspec_got_name, frv_find_base_term)
- (frv_output_dwarf_dtprel): Likewise.
-
- * config/h8300/h8300.c (h8300_push_pop, h8300_return_addr_rtx)
- (h8300_swap_into_er6, h8300_swap_out_of_er6): Likewise.
-
- * config/i386/i386.h (RETURN_ADDR_RTX): Likewise.
- * config/i386/i386.c (setup_incoming_varargs_64)
- (setup_incoming_varargs_ms_64, choose_baseaddr)
- (ix86_emit_save_reg_using_mov, ix86_adjust_stack_and_probe)
- (ix86_emit_probe_stack_range, ix86_expand_prologue)
- (ix86_emit_restore_reg_using_pop, ix86_emit_leave)
- (ix86_expand_epilogue, legitimize_pic_address, ix86_legitimize_address)
- (ix86_split_long_move, ix86_expand_movmem, ix86_expand_setmem)
- (ix86_static_chain, ix86_trampoline_init, x86_this_parameter)
- (x86_output_mi_thunk): Likewise.
- * config/i386/i386.md: Likewise.
-
- * config/ia64/ia64.c (ia64_expand_load_address)
- (ia64_expand_tls_address, ia64_expand_move, ia64_split_tmode)
- (do_spill, ia64_trampoline_init): Likewise.
-
- * config/iq2000/iq2000.c (iq2000_va_start)
- (iq2000_emit_frame_related_store, iq2000_expand_prologue)
- (iq2000_expand_eh_return, iq2000_setup_incoming_varargs)
- (iq2000_print_operand, iq2000_legitimize_address): Likewise.
-
- * config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
-
- * config/m32c/m32c.c (m32c_return_addr_rtx)
- (m32c_expand_insv): Likewise.
-
- * config/m32r/m32r.c (m32r_setup_incoming_varargs)
- (m32r_legitimize_pic_address, m32r_print_operand)
- (m32r_print_operand_address): Likewise.
-
- * config/m68k/linux.h (FINALIZE_TRAMPOLINE): Likewise.
- * config/m68k/m68k.h (RETURN_ADDR_RTX): Likewise.
- (EH_RETURN_HANDLER_RTX): Likewise.
- * config/m68k/m68k.c (m68k_emit_movem, m68k_expand_prologue)
- (m68k_expand_epilogue, legitimize_pic_address)
- (m68k_output_mi_thunk): Likewise.
- * config/m68k/m68k.md: Likewise.
-
- * config/mcore/mcore.c (mcore_expand_prolog): Likewise.
- (mcore_expand_epilog): Likewise.
- * config/mcore/mcore.md: Likewise.
-
- * config/mep/mep.c (mep_allocate_initial_value)
- (mep_expand_prologue, mep_expand_epilogue): Likewise.
-
- * config/microblaze/microblaze.c (double_memory_operand)
- (microblaze_block_move_loop): Likewise.
-
- * config/mips/mips.c (mips_strip_unspec_address, mips_add_offset)
- (mips_setup_incoming_varargs, mips_va_start, mips_block_move_loop)
- (mips_print_operand, mips16e_save_restore_reg, mips_save_restore_reg)
- (mips_expand_prologue, mips_epilogue_set_cfa)
- (mips_expand_epilogue): Likewise.
- * config/mips/mips.md: Likewise.
-
- * config/mmix/mmix.c (mmix_dynamic_chain_address, mmix_return_addr_rtx)
- (mmix_expand_prologue, mmix_expand_epilogue): Likewise.
-
- * config/mn10300/mn10300.c (mn10300_gen_multiple_store)
- (mn10300_builtin_saveregs, mn10300_trampoline_init): Likewise.
-
- * config/moxie/moxie.h (INCOMING_RETURN_ADDR_RTX): Likewise.
- (EH_RETURN_HANDLER_RTX): Likewise.
- * config/moxie/moxie.c (moxie_static_chain): Likewise.
-
- * config/pa/pa.c (legitimize_pic_address, hppa_legitimize_address)
- (store_reg, set_reg_plus_d, pa_expand_prologue, load_reg)
- (pa_return_addr_rtx, hppa_builtin_saveregs)
- (pa_trampoline_init): Likewise.
- * config/pa/pa.md: Likewise.
-
- * config/pdp11/pdp11.c (pdp11_expand_epilogue): Likewise.
-
- * config/picochip/picochip.c (picochip_static_chain): Likewise.
-
- * config/rs6000/rs6000.h (RS6000_SAVE_TOC): Likewise.
- * config/rs6000/rs6000.c (rs6000_legitimize_address)
- (setup_incoming_varargs, print_operand, rs6000_return_addr)
- (rs6000_emit_eh_reg_restore, rs6000_emit_probe_stack_range)
- (rs6000_emit_epilogue)
- (rs6000_machopic_legitimize_pic_address): Likewise.
-
- * config/rx/rx.c (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
-
- * config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Likewise.
- (DYNAMIC_CHAIN_ADDRESS): Likewise.
- * config/s390/s390.c (s390_decompose_address, legitimize_pic_address)
- (s390_delegitimize_address, print_operand, annotate_constant_pool_refs)
- (replace_constant_pool_ref, s390_return_addr_rtx, s390_back_chain_rtx)
- (save_fpr, restore_fpr, save_gprs, restore_gprs, s390_emit_prologue)
- (s390_emit_epilogue, s390_function_profiler): Likewise.
- * config/s390/s390.md: Likewise.
-
- * config/score/score.c (score_add_offset, score_prologue): Likewise.
-
- * config/sh/sh.c (expand_block_move, push_regs, sh_builtin_saveregs)
- (sh_output_mi_thunk): Likewise.
- * config/sh/sh.md: Likewise.
-
- * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS, FRAME_ADDR_RTX)
- (RETURN_ADDR_RTX, INCOMING_RETURN_ADDR_RTX): Likewise.
- * config/sparc/sparc.c (sparc_legitimize_pic_address)
- (sparc_emit_probe_stack_range, emit_save_or_restore_regs)
- (emit_window_save, sparc_flat_expand_prologue, sparc_struct_value_rtx)
- (emit_and_preserve): Likewise.
- * config/sparc/sparc.md: Likewise.
-
- * config/spu/spu.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
- * config/spu/spu.c (spu_expand_insv, spu_machine_dependent_reorg)
- (spu_setup_incoming_varargs, ea_load_store_inline)
- (spu_expand_load): Likewise.
-
- * config/stormy16/stormy16.c (xstormy16_expand_prologue)
- (combine_bnp): Likewise.
-
- * config/tilegx/tilegx.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
- * config/tilegx/tilegx.c (tilegx_setup_incoming_varargs)
- (tilegx_expand_unaligned_load, tilegx_trampoline_init): Likewise.
-
- * config/tilepro/tilepro.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
- * config/tilepro/tilepro.c (tilepro_setup_incoming_varargs)
- (tilepro_expand_unaligned_load, tilepro_trampoline_init): Likewise.
-
- * config/v850/v850.c (expand_prologue, expand_epilogue): Likewise.
- * config/v850/v850.md: Likewise.
-
- * config/vax/elf.h (EH_RETURN_STACKADJ_RTX): Likewise.
- (EH_RETURN_HANDLER_RTX): Likewise.
- * config/vax/vax.h (DYNAMIC_CHAIN_ADDRESS, RETURN_ADDR_RTX): Likewise.
- * config/vax/vax.c (vax_add_reg_cfa_offset, vax_expand_prologue)
- (print_operand_address, vax_trampoline_init): Likewise.
-
- * config/xtensa/xtensa.c (xtensa_expand_prologue, xtensa_return_addr)
- (xtensa_function_value_regno_p): Likewise.
-
-2012-05-04 Andrew Pinski <apinski@cavium.com>
-
- * expr.c (get_def_for_expr_class): New function.
- (convert_tree_comp_to_rtx): New function.
- (expand_cond_expr_using_cmove): New function.
- (expand_expr_real_2 <case COND_EXPR>): Call
- expand_cond_expr_using_cmove first and return if it succeeds.
- Remove the check for HAVE_conditional_move since we should have
- already converted it to a conditional move.
- * config/i386/i386.c (ix86_expand_int_movcc): Disallow comparison
- modes of DImode for 32bits and TImode.
-
-2012-05-04 Steven Bosscher <steven@gcc.gnu.org>
-
- PR other/29442
- * read-md.c (fprint_md_ptr_loc, fprint_c_condition): New functions.
- (print_md_ptr_loc, print_c_condition): Use them.
- * read-md.h (fprint_md_ptr_loc, fprint_c_condition): New prototypes.
- * genattrtab.c (attr_file_name, dfa_file_name, latency_file_name,
- attr_file, dfa_file, latency_file): New global variables.
- (write_attr_valueq, write_attr_set, write_attr_case, write_attr_value,
- write_upcase, write_indent, write_length_unit_log, write_test_expr,
- write_attr_get, write_insn_cases, write_eligible_delay,
- write_const_num_delay_slots): Accept FILE pointer and toss it around.
- Update all callers.
- (write_header, open_outfile, handle_arg): New funcions.
- (make_automaton_attrs): Write prototypes as extern to the output
- files.
- (main): Use init_rtx_reader_args_cb with handle_arg to take 3 file
- names from the command line. Open the output files and write out
- internal functions for DFA functions to dfa_file_name, insn latency
- functions to latency_file_name, and everything else to attr_file.
- * Makefile.in (OBJS): Add insn-dfatab.o and insn-latencytab.o.
- (BACKEND): Build libbackend first.
- (MOSTLYCLEANFILES): Add insn-dfatab.c and insn-latencytab.c.
- (.PRECIOUS): Likewise.
- (insn-dfatab.o): New rule.
- (insn-latencytab.o): New rule.
- (simple_rtl_generated_c): Do not include insn-attrtab.c.
- (s-attrtab): New rule.
-
-2012-05-04 Steven Bosscher <steven@gcc.gnu.org>
-
- * rtl.def (ATTR_FLAG): Remove probability indicating flags.
- * genattr.c (main): Remove ATTR_FLAG_likely, ATTR_FLAG_unlikely,
- ATTR_FLAG_very_likely, and ATTR_FLAG_very_unlikely.
- * reorg.c (get_jump_flags): Do not set the removed flags.
-
- * doc/md.texi (attr_flag): Update for abovementioned changes.
-
-2012-05-04 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/53228
- * config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE.
- (TARGET_CMOV): Rename from TARGET_CMOVE.
- (TARGET_CMOVE): New define.
- * config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV.
- Do not set TARGET_CMOVE here.
-
-2012-05-04 Dodji Seketeli <dodji@redhat.com>
-
- Enable -Wunused-local-typedefs when -Wall or -Wunused is on
- * opts.c (finish_options): Activate -Wunused-local-typedefs if
- -Wunused is activated.
- * doc/invoke.texi: Update blurb of -Wunused-local-typedefs.
-
-2012-05-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.md (*movmem_short, *clrmem_short)
- (*cmpmem_short): Move the mode check from the insn condition to
- the match_scratch.
-
-2012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- PR tree-optimization/52633
- * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of
- vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern.
- (vect_recog_over_widening_pattern): Remove handling of code that was
- already detected as over-widening pattern. Remove special handling
- of "unsigned" cases. Instead, support general case of conversion
- of the shift result to another type.
-
-2012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * tree-vect-patterns.c (vect_single_imm_use): New function.
- (vect_recog_widen_mult_pattern): Use it instead of open-coding loop.
- (vect_recog_over_widening_pattern): Likewise.
- (vect_recog_widen_shift_pattern): Likewise.
-
-2012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * tree-vect-patterns.c (vect_same_loop_or_bb_p): New function.
- (vect_handle_widen_op_by_const): Use it instead of open-coding test.
- (vect_recog_widen_mult_pattern): Likewise.
- (vect_operation_fits_smaller_type): Likewise.
- (vect_recog_over_widening_pattern): Likewise.
- (vect_recog_widen_shift_pattern): Add to vect_same_loop_or_bb_p test.
-
-2012-05-04 Richard Guenther <rguenther@suse.de>
-
- PR lto/50602
- * lto-wrapper.c (merge_and_complain): Complain about mismatches
- of -freg-struct-return and -fpcc-struct-return.
- (run_gcc): Pass through -freg-struct-return and -fpcc-struct-return
- from the input file options and ignore those from the link
- command line.
-
-2012-05-04 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53168
- * tree-ssa-pre.c (phi_translate_1): Only handle type-punned
- memory reads when the result is a constant we can pun.
-
-2012-05-04 Richard Guenther <rguenther@suse.de>
-
- * common.opt (flto-report): Do not mark as Optimization.
-
-2012-05-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/48496
- * recog.c (constrain_operands): If extra constraints are present, also
- accept pseudo-registers with equivalent memory locations during reload.
-
-2012-05-04 Olivier Hainque <hainque@adacore.com>
-
- * collect2.c (may_unlink_output_file): New global.
- (maybe_unlink): Honor it.
- * collect2.h: Add extern for it.
- * tlink.c (do_tlink): Set it to true if the link succeeded.
-
-2012-05-04 Olivier Hainque <hainque@adacore.com>
-
- * gcc.c (eval_spec_function): Finalize/restore the current string
- obstack state as part of the context push/pop operations.
-
-2012-05-04 Bin Cheng <bin.cheng@arm.com>
-
- PR rtl-optimization/52804
- * reload1.c (reload_reg_reaches_end_p): Check whether successor
- reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register
- of current one with type RELOAD_FOR_INPADDR_ADDRESS.
- Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and
- RELOAD_FOR_OUTADDR_ADDRESS.
-
-2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c++/24985
- * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Show caret
- for macro expansion.
-
-2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * flags.h (flag_permissive): Do not declare.
- * diagnostic.c (diagnostic_report_diagnostic): Handle fpermissive
- option specially.
- * toplev.c (flag_permissive): Do not define.
- * c-tree.h (system_header_p): Delete unused.
-
-2012-05-03 David S. Miller <davem@davemloft.net>
-
- PR target/52684
- * config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a
- MEM directly into a libcall, mark it's MEM_EXPR as addressable.
- (sparc_emit_float_lib_cmp): Likewise.
-
-2012-05-03 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/53199
- * config/rs6000/rs6000.md (bswapdi splitters): If
- -mavoid-indexed-addresses (or -mcpu=power6 which sets it by
- default) is used, generate an alternate sequence that does not
- depend on using indexed addressing.
-
-2012-05-03 Jason Merrill <jason@redhat.com>
-
- * gengtype.c (write_types): Fix warning message.
- (write_local): Likewise.
-
-2012-05-02 Jason Merrill <jason@redhat.com>
-
- * dwarf2out.c (struct external_ref, build_local_stub): New.
- (hash_external_ref, external_ref_eq, lookup_external_ref): New.
- (optimize_external_refs, optimize_external_refs_1): New.
- (change_AT_die_ref): New.
- (clone_as_declaration): Add DW_AT_signature when cloning a declaration.
- (build_abbrev_table): Take the external refs hashtable.
- (output_comp_unit): Get it from optimize_external_refs and pass it in.
-
-2012-05-03 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/53093
- * tree-emutls.c (new_emutls_decl): Fix handling of aliases.
-
-2012-05-03 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/53106
- * ipa.c (cgraph_remove_unreachable_nodes): Fix handling of clones.
-
-2012-05-03 Jason Merrill <jason@redhat.com>
-
- * dwarf2out.c (die_struct): Add comdat_type_p flag. Use it instead of
- use_debug_types to discriminate the die_id union.
- (print_die, assign_symbol_names, copy_decls_walk): Likewise.
- (build_abbrev_table, output_die): Likewise.
- (prune_unused_types_walk_attribs): Likewise.
- (generate_type_signature, copy_declaration_context): Set it.
- (remove_child_or_replace_with_skeleton): Set it.
- (dwarf2out_start_source_file, dwarf2out_end_source_file): Don't
- check use_debug_types.
- (dwarf2out_finish): Do break_out_includes after .debug_types.
-
-2012-05-03 Jason Merrill <jason@redhat.com>
-
- * dwarf2out.c (modified_type_die): Use scope_die_for.
- (gen_type_die_with_usage, dwarf2out_finish): Likewise.
- (uses_local_type_r, uses_local_type): New.
- (scope_die_for): Keep a type that uses a local type in local scope.
- Use get_context_die for namespace and type scope.
-
-2012-05-03 Jason Merrill <jason@redhat.com>
-
- * config/i386/i386.c (ix86_code_end): Set DECL_IGNORED_P on the
- pc thunk.
- * dwarf2out.c (output_aranges): Skip DECL_IGNORED_P functions.
- (dwarf2out_finish): Likewise.
-
-2012-05-03 Martin Jambor <mjambor@suse.cz>
-
- * builtins.c (get_object_alignment_1): Return whether we can determine
- the alignment or conservatively assume byte alignment. Return the
- alignment by reference. Use get_pointer_alignment_1 for dereference
- alignment.
- (get_pointer_alignment_1): Return whether we can determine the
- alignment or conservatively assume byte alignment. Return the
- alignment by reference. Use get_ptr_info_alignment to get SSA name
- alignment.
- (get_object_alignment): Update call to get_object_alignment_1.
- (get_object_or_type_alignment): Likewise, fall back to type alignment
- only when it returned false.
- (get_pointer_alignment): Update call to get_pointer_alignment_1.
- * fold-const.c (get_pointer_modulus_and_residue): Update call to
- get_object_alignment_1.
- * ipa-prop.c (ipa_modify_call_arguments): Update call to
- get_pointer_alignment_1.
- * tree-sra.c (build_ref_for_offset): Likewise, fall back to the type
- of MEM_REF or TARGET_MEM_REF only when it returns false.
- * tree-ssa-ccp.c (get_value_from_alignment): Update call to
- get_object_alignment_1.
- (ccp_finalize): Use set_ptr_info_alignment.
- * tree.h (get_object_alignment_1): Update declaration.
- (get_pointer_alignment_1): Likewise.
- * gimple-pretty-print.c (dump_gimple_phi): Use get_ptr_info_alignment.
- (dump_gimple_stmt): Likewise.
- * tree-flow.h (ptr_info_def): Updated comments of fields align and
- misalign.
- (get_ptr_info_alignment): Declared.
- (mark_ptr_info_alignment_unknown): Likewise.
- (set_ptr_info_alignment): Likewise.
- (adjust_ptr_info_misalignment): Likewise.
- * tree-ssa-address.c (copy_ref_info): Use new access functions to get
- and set alignment of SSA names.
- * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Call
- mark_ptr_info_alignment_unknown.
- * tree-ssanames.c (get_ptr_info_alignment): New function.
- (mark_ptr_info_alignment_unknown): Likewise.
- (set_ptr_info_alignment): Likewise.
- (adjust_ptr_info_misalignment): Likewise.
- (get_ptr_info): Call mark_ptr_info_alignment_unknown.
- * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
- Likewise.
- (bump_vector_ptr): Likewise.
- * tree-vect-stmts.c (create_array_ref): Use set_ptr_info_alignment.
- (vectorizable_store): Likewise.
- (vectorizable_load): Likewise.
-
-2012-05-03 Michael Matz <matz@suse.de>
-
- * basic-block.h (struct rtl_bb_info, struct gimple_bb_info): Move
- in front of basic_block_def.
- (struct basic_block_def): Make il.gimple the full struct, not a
- pointer.
- (__assert_gimple_bb_smaller_rtl_bb): Asserting typedef.
-
- * cfgexpand.c (expand_gimple_basic_block): Clear all il.gimple members.
- * gimple-iterator.c (gimple_stmt_iterator): Don't special case
- NULL il.gimple, which can't happen anymore.
- * gimple.h (bb_seq): il.gimple can't be NULL.
- (bb_seq_add): Ditto.
- (set_bb_seq): Adjust.
- (gsi_start_bb, gsi_last_bb): Tidy.
- * lto-streamer-in.c (make_new_block): Don't zero members that
- are zeroed already, don't allocate a gimple_bb_info.
- * tree-cfg.c (create_bb): Don't allocate a gimple_bb_info.
- (remove_bb): Clear all il.gimple members.
- (gimple_verify_flow_info): Adjust for flat il.gimple.
- * tree-flow-inline.h (phi_nodes, phi_nodes_ptr, set_phi_nodes): Adjust.
-
- * coretypes.h (const_gimple_seq): Remove typedef.
- * gimple.h (gimple_seq_first): Take gimple_seq.
- (gimple_seq_first_stmt): Ditto.
- (gimple_seq_last): Ditto.
- (gimple_seq_last_stmt): Ditto.
- (gimple_seq_empty_p): Ditto.
-
-2012-05-03 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-pre.c (valid_in_sets): Remove checking of trapping
- operations.
- (prune_clobbered_mems): Do it here. Do not uselessly sort expressions.
- (compute_avail): Do not add possibly trapping operations to
- EXP_GEN if they might not be executed in the block.
-
-2012-05-03 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/elf.h (MAX_OFILE_ALIGNMENT): Remove.
-
-2012-05-03 Steven Bosscher <steven@gcc.gnu.org>
-
- * tree-switch-conversion.c (gen_inbound_check): Free post-dominance
- information as early as possible. Update dominance info instead of
- discarding it.
-
-2012-05-03 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-pre.c (debug_bitmap_sets_for): New function.
- (union_contains_value): Remove.
- (vro_valid_in_sets): Likewise.
- (op_valid_in_sets): New function.
- (valid_in_sets): Use op_valid_in_sets.
- (insert_into_preds_of_block): Move dumping ...
- (do_regular_insertion): ... here.
- (do_partial_partial_insertion): ... and here. Dump that
- we've found a partial partial redundancy.
- (insert): Dump the current insert iteration.
-
-2012-05-03 Jakub Jelinek <jakub@redhat.com>
-
- PR plugins/53126
- * gcc-ar.c (main): If GCC_EXEC_PREFIX is set in env,
- append program name to it and pass that as first argument
- to make_relative_prefix. Always pass standard_libexec_prefix
- as last argument to make_relative_prefix. If
- make_relative_prefix returns NULL, fall back to
- standard_libexec_prefix.
-
- PR debug/53174
- * tree-predcom.c (remove_stmt): Call reset_debug_uses on stmts being
- removed.
-
- PR target/53187
- * config/arm/arm.c (arm_select_cc_mode): If x has MODE_CC class
- mode, return that mode.
-
- PR target/53194
- * config/i386/i386-c.c (ix86_target_macros_internal): Don't
- define __ATOMIC_HLE_* macros here.
- (ix86_target_macros): But here, using cpp_define_formatted.
-
-2012-05-03 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53144
- * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
- Rename to ...
- (vn_reference_lookup_or_insert_for_pieces): ... this. Properly deal
- with SSA name values.
- (vn_reference_lookup_3): Adjust callers.
-
-2012-05-03 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Reset
- has_fma4 for AMD processors with both fma3 and fma4 support.
-
-2012-05-03 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/53201
- * config/i386/driver-i386.c (host_detect_local_cpu): Add space to
- "-mno-hle".
-
-2012-05-03 Michael Matz <matz@suse.de>
-
- PR bootstrap/53197
- * tree-ssa-dse.c (dse_optimize_stmt): Take pointer to iterator.
- (dse_enter_block): Properly iterate the whole sequence even
- if the last statement was removed.
-
-2012-05-02 Steven Bosscher <steven@gcc.gnu.org>
-
- * config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): For pic code,
- unset flag_jump_tables.
- * stmt.c (expand_case): Remove special flag_pic case conditional
- on ASM_OUTPUT_ADDR_DIFF_ELT not being defined.
-
-2012-05-02 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * common/config/s390/s390-common.c (s390_option_optimization_table):
- Enable -fsched-pressure using -fsched-pressure-algorithm=model by
- default when optimizing.
-
-2012-05-02 Martin Jambor <mjambor@suse.cz>
-
- PR lto/52605
- * dwarf2out.c (dwarf2out_decl): Only lookup die representing context
- of a variable when the contect is a function.
-
-2012-05-02 Michael Matz <matz@suse.de>
-
- * coretypes.h (gimple_seq, const_gimple_seq): Typedef as gimple.
- * gimple.h (struct gimple_seq_node_d, struct gimple_seq_d): Remove.
- (const_gimple_seq_node): Remove.
- (gimple_seq_node): Typedef as gimple.
- (struct gimple_statement_base): Add next and prev members,
- adjust all WORD markers in using structs.
- (union gimple_statement_d): Link via gsbase.next field for GC and PCH.
- (gimple_seq_first, gimple_seq_first_stmt, gimple_seq_last,
- gimple_seq_last_stmt): Adjust as gimple_seq, gimple_seq_node and
- gimple are the same.
- (gimple_seq_set_last, gimple_seq_set_first): Don't allocate
- gimple_seq, adjust.
- (gimple_init_singleton): New function.
- (gsi_start_1, gsi_last_1, gsi_end_p, gsi_one_before_end_p): Adjust.
- (gsi_next, gsi_prev): Adjust, handle prev cyclic list correctly.
- (gsi_stmt): Adjust.
- (gsi_stmt_ptr): Remove.
- (enum gimple_alloc_kind): Remove gimple_alloc_kind_seq member.
-
- * gimple-iterator.c (update_bb_for_stmts): Take last parameter
- again, adjust for above changes.
- (update_call_edge_frequencies): Adjust for above changes.
- (gsi_insert_seq_nodes_before): Rewrite for new data structure.
- (gsi_insert_seq_nodes_after): Ditto.
- (gsi_split_seq_after): Ditto.
- (gsi_set_stmt): Ditto.
- (gsi_split_seq_before): Ditto.
- (gsi_remove): Ditto.
- (gsi_insert_seq_before_without_update): Don't free sequence.
- (gsi_insert_seq_after_without_update): Ditto.
- (gsi_replace): Assert some more invariants.
- (gsi_insert_before_without_update, gsi_insert_after_without_update):
- Tidy.
- (gsi_for_stmt): Don't search for stmt.
- (gsi_insert_on_edge_immediate): Tidy.
-
- * gimple.c (gimple_alloc_k): Remove "sequences".
- (gimple_seq_cache): Remove.
- (gimple_alloc_stat): Make stmt a singleton sequence.
- (gimple_seq_alloc, gimple_seq_free): Remove.
- (gimple_assign_set_rhs_with_ops_1): Ensure new stmt is a singleton.
- (gimple_copy): Ditto.
- * gimplify.c (gimplify_cleanup_point_expr): Use gsi_set_stmt,
- create iterator from correct sequence.
- * tree-phinodes.c (make_phi_node): Make stmt a singleton.
-
-2012-05-02 Michael Matz <matz@suse.de>
-
- * gimple.h (gimple_stmt_iterator <seq>): Make it be pointer to
- gimple_seq.
- (gimple_seq_set_last, gimple_seq_set_first): Take pointer to
- sequence, lazily allocate it.
- (bb_seq_addr): New function.
- (gsi_start_1): Rename from gsi_start, but take pointer to sequence.
- (gsi_start): Macro to wrap gsi_start_1 taking pointer of argument.
- (gsi_none): New function.
- (gsi_start_bb): Adjust.
- (gsi_last_1): Rename from gsi_last, but take pointer to sequence.
- (gsi_last): Macro to wrap gsi_last_1 taking pointer of argument.
- (gsi_last_bb): Adjust.
- (gsi_seq): Adjust.
- * tree-flow-inline.h (phi_nodes_ptr): New function.
-
- * gimple-iterator.c (gsi_insert_seq_nodes_before): Adjust to
- datastructure and interface change.
- (gsi_insert_seq_before_without_update): Ditto.
- (gsi_insert_seq_nodes_after): Ditto.
- (gsi_insert_seq_after_without_update): Ditto.
- (gsi_split_seq_after): Ditto, don't use gimple_seq_alloc.
- (gsi_split_seq_before): Ditto.
- (gsi_start_phis): Adjust.
- * tree-vect-loop.c (vect_determine_vectorization_factor): Use gsi_none.
- (vect_transform_loop): Ditto.
- * gimple.c (gimple_seq_add_stmt, gimple_seq_add_seq,
- gimple_seq_copy): Don't use gimple_seq_alloc.
- * gimplify.c (gimple_seq_add_stmt_without_update): Ditto.
- (gimplify_seq_add_seq): Ditto.
- * lto-streamer-in.c (make_new_block): Ditto.
- * tree-cfg.c (create_bb): Ditto.
- * tree-sra.c (initialize_parameter_reductions): Ditto.
-
-2012-05-02 Michael Matz <matz@suse.de>
-
- * gimple.h (gimple_seq_first, gimple_seq_first_stmt, gimple_seq_last,
- gimple_seq_last_stmt, gimple_seq_set_last, gimple_seq_set_first,
- gimple_seq_empty_p, gimple_seq_alloc_with_stmt, bb_seq,
- set_bb_seq): Move down to after gimple_statement_d definition.
-
-2012-05-02 Michael Matz <matz@suse.de>
-
- * gimple-fold.c (gimplify_and_update_call_from_tree): Use
- gsi_replace_with_seq, instead of inserting itself.
- * gimple-iterator.c (gsi_replace_with_seq): New function.
- * tree-ssa-forwprop.c (forward_propagate_comparison): Take
- iterator instead of statement, advance it.
- (ssa_forward_propagate_and_combine): Adjust call to above.
-
-2012-05-02 Michael Matz <matz@suse.de>
-
- * tree-phinodes.c (add_phi_node_to_bb): Tidy, don't use
- gimple_seq_alloc.
- * omp-low.c (finalize_task_copyfn): Don't use gimple_seq_alloc.
- * tree-nested.c (walk_gimple_omp_for): Ditto.
- * trans-mem.c (lower_transaction): Ditto.
- * tree-eh.c (do_return_redirection): Ditto.
- (do_goto_redirection): Ditto.
- (lower_try_finally_switch): Ditto.
- * gimplify.c (gimplify_stmt): Ditto.
- (gimplify_scan_omp_clauses): Ditto.
- (gimplify_omp_for): Ditto.
- (gimplify_function_tree): Ditto.
- * gimple-fold.c (gimplify_and_update_call_from_tree): Ditto.
- * tree-mudflap.c (mf_decl_cache_locals): Ditto.
- (mf_build_check_statement_for): Ditto.
- (mx_register_decls): Ditto.
- * graphite-sese-to-poly.c (remove_invariant_phi): Ditto,
- and don't use itertors to append.
- (insert_stmts): Ditto.
- (insert_out_of_ssa_copy): Ditto.
- (insert_out_of_ssa_copy_on_edge): Ditto.
-
-2012-05-02 Michael Matz <matz@suse.de>
-
- * gimple.h (gimple_bind_body_ptr): New function.
- (gimple_bind_body): Use it.
- (gimple_catch_handler): Use gimple_catch_handler_ptr.
- (gimple_eh_filter_failure_ptr): New function.
- (gimple_eh_filter_failure): Use it.
- (gimple_eh_else_n_body_ptr): New function.
- (gimple_eh_else_n_body): Use it.
- (gimple_eh_else_e_body_ptr): New function.
- (gimple_eh_else_e_body): Use it.
- (gimple_try_eval_ptr): New function.
- (gimple_try_eval): Use it.
- (gimple_try_cleanup_ptr): New function.
- (gimple_try_cleanup): Use it.
- (gimple_wce_cleanup_ptr): New function.
- (gimple_wce_cleanup): Use it.
- (gimple_omp_body_ptr): New function.
- (gimple_omp_body): Use it.
- (gimple_omp_for_pre_body_ptr): New function.
- (gimple_omp_for_pre_body): Use it.
- (gimple_transaction_body_ptr): New function.
- (gimple_transaction_body): Use it.
- (gsi_split_seq_before): Adjust to return nothing and take pointer
- to sequence.
- (gsi_set_stmt): Declare.
- (gsi_replace_with_seq): Declare.
- (walk_gimple_seq_mod): Declare.
- * function.h (struct function <gimple_body>): Use typedef gimple_seq.
-
- * gimple-iterator.c (gsi_set_stmt): New function.
- (gsi_split_seq_before): Return new sequence via pointer argument.
- (gsi_replace): Use gsi_set_stmt.
-
- * tree-ssa-loop-im.c (move_computations_stmt): First remove
- then insert stmt.
- * tree-complex.c (update_complex_components_on_edge): Don't copy gsi.
- * tree-phinodes.c (resize_phi_node): Don't resize stmt in-place,
- return new stmt.
- (reserve_phi_args_for_new_edge): Change call to above,
- use gsi_set_stmt.
-
- * omp-low.c (lower_omp): Change prototype to take pointer to sequence.
- (lower_rec_input_clauses): Use gimple_seq_add_seq instead of
- iterators. Adjust call to lower_omp.
- (lower_lastprivate_clauses): Adjust call to lower_omp.
- (lower_reduction_clauses): Ditto.
- (expand_omp_taskreg): Nullify non-cfg body of child_fn.
- (lower_omp_sections): Don't explicitely count sequence length,
- nullify lowered bodies earlier, ensure stmts are part of only
- one sequence, adjust call to lower_omp.
- (lower_omp_single): Ensure stmts are part of only one sequence,
- adjust call to lower_omp.
- (lower_omp_master): Ditto.
- (lower_omp_ordered): Ditto.
- (lower_omp_critical): Ditto.
- (lower_omp_for): Ditto.
- (lower_omp_taskreg): Ditto, tidy.
- (lower_omp_1): Adjust calls to lower_omp.
- (execute_lower_omp): Ditto.
- (lower_omp): Adjust to take pointer to sequence.
- (diagnose_sb_2): Use walk_gimple_seq_mod.
- (diagnose_omp_structured_block_errors): Ditto and set possibly
- changed function body.
- * gimple-low.c (lower_function_body): Set function body after
- it stabilizes.
- (lower_sequence): Adjust to take pointer to sequence.
- (lower_omp_directive): Ensure stmt isn't put twice into the
- sequence, adjust call to lower_sequence.
- (lower_stmt): Adjust calls to lower_sequence.
- (lower_gimple_bind): Ditto.
- (gimple_try_catch_may_fallthru): Call gsi_start with lvalue.
- * tree-nested.c (walk_body): Take pointer to sequence, use
- walk_gimple_seq_mod.
- (walk_function): Adjust call to walk_body, set possibly changed body.
- (walk_gimple_omp_for): Adjust calls to walk_body.
- (convert_nonlocal_omp_clauses): Ditto.
- (convert_nonlocal_reference_stmt): Ditto.
- (convert_local_omp_clauses): Ditto.
- (convert_local_reference_stmt): Ditto.
- (convert_tramp_reference_stmt): Ditto.
- (convert_gimple_call): Ditto.
- (convert_nl_goto_reference): Use local iterator copy.
- * gimple.c (walk_gimple_seq_mod): Renamed from walk_gimple_seq,
- but taking pointer to sequence, ensure gsi_start is called with
- callers lvalue.
- (walk_gimple_seq): New wrapper around walk_gimple_seq_mod,
- asserting that the sequence head didn't change.
- (walk_gimple_stmt): Replace all calls to walk_gimple_seq with
- walk_gimple_seq_mod.
- * trans-mem.c (lower_transaction): Use walk_gimple_seq_mod.
- (execute_lower_tm): Ditto, and set possibly changed body.
- * tree-eh.c (lower_eh_constructs_1): Take pointer to sequence,
- call gsi_start with that lvalue.
- (replace_goto_queue_stmt_list): Ditto.
- (replace_goto_queue_1): Adjust calls to replace_goto_queue_stmt_list.
- (replace_goto_queue): Ditto.
- (lower_try_finally_nofallthru): Adjust calls to lower_eh_constructs_1.
- (lower_try_finally_onedest): Ditto.
- (lower_try_finally_copy): Ditto.
- (lower_try_finally_switch): Ditto.
- (lower_try_finally): Ditto.
- (lower_eh_filter): Ditto.
- (lower_eh_must_not_throw): Ditto.
- (lower_cleanup): Ditto.
- (lower_eh_constructs_2): Ditto.
- (lower_catch): Ditto, and ensure gsi_start is called with lvalue.
- (lower_eh_constructs): Adjust calls to lower_eh_constructs_1, and
- set possibly changed body.
- (optimize_double_finally): Call gsi_start with lvalue.
-
- * tree-cfg.c (make_blocks): Adjust call to gsi_split_seq_before.
- (gimple_split_block): Ditto.
- (gimple_merge_blocks): Use gsi_start_phis.
- (move_stmt_r): Use walk_gimple_seq_mod.
- * tree-ssa-dse.c (dse_enter_block): Use gsi_last_bb.
- * cgraphbuild.c (build_cgraph_edges): Use gsi_start_phis.
- (rebuild_cgraph_edges): Ditto.
- (cgraph_rebuild_references): Ditto.
- * ipa-prop.c (ipa_analyze_params_uses): Ditto.
- * tree-inline.c (copy_phis_for_bb): Ditto.
- * tree-ssa-dce.c: Ditto.
-
- * cgraphunit.c (cgraph_analyze_function): Use gimple_has_body_p.
-
-2012-05-02 Kirill Yukhin <kirill.yukhin@intel.com>
- Andi Kleen <ak@linux.intel.com>
-
- * coretypes.h (MEMMODEL_MASK): New.
- * builtins.c (get_memmodel): Add val. Call target.memmodel_check
- and return new variable.
- (expand_builtin_atomic_exchange): Mask memmodel values.
- (expand_builtin_atomic_compare_exchange): Ditto.
- (expand_builtin_atomic_load): Ditto.
- (expand_builtin_atomic_store): Ditto.
- (expand_builtin_atomic_clear): Ditto.
- * doc/extend.texi: Mention port-dependent memory model flags.
- * config/i386/cpuid.h (bit_HLE): New.
- * config/i386/driver-i386.c (host_detect_local_cpu): Detect
- HLE support.
- * config/i386/i386-protos.h (ix86_generate_hle_prefix): New.
- * config/i386/i386-c.c (ix86_target_macros_internal): Set HLE defines.
- (ix86_target_string)<-mhle>: New.
- (ix86_valid_target_attribute_inner_p) <OPT_mhle>: Ditto.
- * config/i386/i386.c (ix86_target_string) <OPTION_MASK_ISA_HLE>: New.
- (ix86_valid_target_attribute_inner_p) <OPT_mhle>: Ditto.
- (ix86_option_override_internal) <PTA_HLE>: New switch, set it
- enabled for generic, generic64 and core-avx2.
- (ix86_print_operand): Generate HLE lock prefixes.
- (ix86_memmodel_check): New.
- (TARGET_MEMMODEL_CHECK): Ditto.
- * config/i386/i386.h (OPTION_ISA_HLE): Ditto.
- (IX86_HLE_ACQUIRE): Ditto.
- (IX86_HLE_RELEASE): Ditto.
- * config/i386/i386.h (ix86_generate_hle_prefix): Ditto.
- * config/i386/i386.opt (mhle): Ditto.
- * config/i386/sync.md(atomic_compare_and_swap<mode>): Pass
- success model to instruction emitter.
- (atomic_fetch_add<mode>): Ditto.
- (atomic_exchange<mode>): Ditto.
- (atomic_add<mode>): Ditto.
- (atomic_sub<mode>): Ditto.
- (atomic_<code><mode>): Ditto.
- (*atomic_compare_and_swap_doubledi_pic): Ditto.
- (atomic_compare_and_swap_single<mode>): Define and use argument
- for success model.
- (atomic_compare_and_swap_double<mode>): Ditto.
- * configure.ac: Check if assembler support HLE prefixes.
- * configure: Regenerate.
- * config.in: Ditto.
-
-2012-05-02 Steven Bosscher <steven@gcc.gnu.org>
-
- PR middle-end/53153
- * gimplify.c (preprocess_case_label_vec_for_gimple): New function,
- split out from ...
- (gimplify_switch_expr): ... here.
- * gimple.h (preprocess_case_label_vec_for_gimple): Add prototype.
- * tree-ssa-forwprop.c (simplify_gimple_switch_label_vec): New function
- to clean up case labels with values outside the index type range.
- (simplify_gimple_switch): Call it if something changed.
- Remove strange and unnecessary assert.
-
-2012-05-02 Richard Guenther <rguenther@suse.de>
-
- * fold-const.c (div_if_zero_remainder): sizetypes no longer
- sign-extend.
- (int_const_binop_1): New worker for int_const_binop with
- overflowable parameter. Pass it through to force_fit_type_double.
- (int_const_binop): Wrap around int_const_binop_1 with overflowable
- equal to one.
- (size_binop_loc): Call int_const_binop_1 with overflowable equal
- to minus one, forcing overflow detection for even unsigned types.
- (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE special-casing.
- (fold_binary_loc): Call try_move_mult_to_index with signed offset.
- * stor-layout.c (initialize_sizetypes): sizetypes no longer
- sign-extend.
- (layout_type): For zero-sized arrays ignore overflow on the
- size calculations.
- * tree-ssa-ccp.c (bit_value_unop_1): Likewise.
- (bit_value_binop_1): Likewise.
- * tree.c (double_int_to_tree): Likewise.
- (double_int_fits_to_tree_p): Likewise.
- (force_fit_type_double): Likewise.
- (host_integerp): Likewise.
- (int_fits_type_p): Likewise.
- * varasm.c (output_constructor_regular_field): Sign-extend the
- field-offset to cater for negative offsets produced by the Ada
- frontend.
- * omp-low.c (extract_omp_for_data): Convert the loop step to
- signed for pointer adjustments.
-
-2012-05-02 Richard Guenther <rguenther@suse.de>
-
- * tree.c (valid_constant_size_p): New function.
- * tree.h (valid_constant_size_p): Declare.
- * cfgexpand.c (expand_one_var): Adjust check for too large
- variables by using valid_constant_size_p.
- * varasm.c (assemble_variable): Likewise.
-
- * c-decl.c (grokdeclarator): Properly check for sizes that
- cover more than half of the address-space.
-
-2012-05-02 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53163
- * tree-ssa-phiopt.c (cond_if_else_store_replacement): Don't ignore
- return value from compute_all_dependences.
-
- PR rtl-optimization/53160
- * ree.c (combine_reaching_defs): Handle the case where cand->insn
- has been modified by ree pass already.
-
-2012-05-01 Ian Lance Taylor <iant@google.com>
-
- PR c/37303
- * c-decl.c (build_compound_literal): Make the decl readonly if it
- an array of a readonly type.
- * gimplify.c (gimplify_compound_literal_expr): Add fallback
- parameter. Change all callers. If the decl is not addressable
- and is not an l-value, make it readonly.
-
-2012-05-01 Bernd Schmidt <bernds@codesourcery.com>
-
- * ira.c (allocated_reg_info_size): New static variable.
- (expand_reg_info): Manage it. Call
- setup_preferred_alternate_classes_for_new_pseudos.
- (ira): Don't do it here. Remove local allocated_reg_info_size,
- set the global before calling find_moveable_pseudos.
- (find_moveable_pseudos): Call expand_reg_info rather than
- resize_reg_info.
-
-2012-05-01 Richard Henderson <rth@redhat.com>
-
- * common.opt (fsync-libcalls): New.
- * doc/invoke.texi: Document it.
- * optabs.c (init_sync_libfuncs): Honor it.
-
-2012-05-01 Kenneth Zadeck <zadeck@naturalbridge.com>
- Richard Sandiford <r.sandiford@uk.ibm.com>
-
- PR rtl-optimization/52543
- * Makefile.in (lower-subreg.o, target-globals.o): Depend on
- lower-subreg.h.
- * lower-subreg.h: New file.
- * target-globals.h (this_target_lower_subreg): Declare.
- (target_globals): Add lower_subreg;
- (restore_target_globals): Restore this_target_lower_subreg.
- * target-globals.c: Include it.
- (default_target_globals): Add default_target_lower_subreg.
- (save_target_globals): Initialize target_lower_subreg.
- * rtl.h (init_lower_subreg): Added declaration.
- * toplev.c (backend_init_target): Call initializer for lower-subreg
- pass.
- * lower-subreg.c (LOG_COSTS, FORCE_LOWERING): New macros.
- (default_target_lower_subreg): New variable.
- (this_target_lower_subreg): Likewise.
- (twice_word_mode, choices): New macros.
- (shift_cost, compute_splitting_shift, compute_costs)
- (init_lower_subreg): New functions.
- (resolve_simple_move): Add speed_p argument. Check choices.
- (find_pseudo_copy): Don't check the mode size here.
- (resolve_simple_move): Assert the mode size.
- (find_decomposable_shift_zext): Add speed_p argument and return
- a bool. Check choices.
- (resolve_shift_zext): Add comment.
- (dump_shift_choices, dump_choices): New functions.
- (decompose_multiword_subregs): Dump list of profitable
- transformations. Add code to skip non profitable transformations.
- Update calls to simple_move and find_decomposable_shift_zext.
-
-2012-05-01 Ian Bolton <ian.bolton@arm.com>
- Sameera Deshpande <sameera.deshpande@arm.com>
- Greta Yorsh <greta.yorsh@arm.com>
-
- * config/arm/arm-protos.h (thumb_unexpanded_epilogue): Rename to...
- (thumb1_unexpanded_epilogue): ...this.
- * config/arm/arm.c (thumb_unexpanded_epilogue): Rename to...
- (thumb1_unexpanded_epilogue): ...this.
- * config/arm/arm.md (thumb_unexpanded_epilogue): Rename to...
- (thumb1_unexpanded_epilogue): ...this.
-
-2012-05-01 Richard Earnshaw <rearnsha@arm.com>
-
- * arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_DEFAULT): Avoid ifdef
- comparing enumeration values. Update comments.
-
-2012-05-01 Alan Modra <amodra@gmail.com>
-
- PR target/53038
- * config/rs6000/rs6000.c (load_lr_save, restore_saved_lr,
- load_cr_save, add_crlr_cfa_restore): New functions.
- (rs6000_restore_saved_cr): Rename to..
- (restore_saved_cr): ..this. Add cfa_restore notes for cr.
- (rs6000_emit_epilogue): Use new functions. Adjust condition
- for emitting lr and cr cfa_restore. Emit cfa_restores for fp
- regs when using out-of-line restore only when shrink wrapping.
-
-2012-04-30 Uros Bizjak <ubizjak@gmail.com>
-
- PR middle-end/53136
- * ipa-prop.c (ipa_print_node_jump_functions): Wrap multiple
- calls to cgraph_node_name in xstrdup.
- (ipa_make_edge_direct_to_target): Ditto.
- * cgraph.c (dump_cgraph_node): Ditto.
- * tree-sra.c (convert_callers_for_node): Ditto.
- * lto-symtab.c (lto_cgraph_replace_node): Ditto.
- * ipa-cp.c (perhaps_add_new_callers): Ditto.
- * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Ditto.
- (cgraph_materialize_all_clones): Ditto.
- * ipa-inline.c (report_inline_failed_reason): Ditto.
- (want_early_inline_function_p): Ditto.
- (edge_badness): Ditto.
- (update_edge_key): Ditto.
- (flatten_function): Ditto.
- (ipa_inline): Ditto.
- (inline_always_inline_functions): Ditto.
- (early_inline_small_functions): Ditto.
-
-2012-04-30 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/53141
- * config/i386/i386.md (*umul<mode><dwi>3_1): Switch places of
- constraints 0 and 1.
-
-012-04-30 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (ld_plugin_symbol_resolution_names): Move to symtab.c
- (cgraph_asm_nodes, cgraph_asm_last_node): Move to cgraphunit.c
- (cgraph_add_to_same_comdat_group): Remove.
- (cgraph_add_asm_node): Move to cgraphunit.c.
- (cgraph_make_decl_local): Move to symtab.c
- (cgraph_make_node_local_1): Update.
- (cgraph_can_remove_if_no_direct_calls_and): Update.
- (used_from_object_file_p): Update.
- (resolution_used_from_other_file_p): Move to symtab.c
- (cgraph_used_from_object_file_p): move to symtab.c
- (verify_cgraph_node): Verify same comdat groups.
- * cgraph.h (cgraph_asm_node): Rename to ...
- (asm_node): ... this one.
- (cgraph_asm_nodes): Rename to ...
- (asm_nodes): ... this one.
- (symtab_add_to_same_comdat_group): New function.
- (symtab_dissolve_same_comdat_group_list): New function.
- (symtab_used_from_object_file_p): Declare.
- (symtab_make_decl_local): Declare.
- (cgraph_add_to_same_comdat_group): Remove.
- (cgraph_add_asm_node): Remove.
- (cgraph_used_from_object_file_p, varpool_used_from_object_file_p):
- Remove.
- (cgraph_finalize_compilation_unit): Rename to ...
- (finalize_compilation_unit): ... this one.
- (cgraph_optimize): Rename to ....
- (compile): ... this one.
- (add_asm_node): Declare.
- (fixup_same_cpp_alias_visibility): Declare.
- (cgraph_make_decl_local): Remove.
- (varpool_assemble_pending_decls): Rename to ...
- (varpool_output_variables): ... this one.
- (varpool_remove_unreferenced_decls): Remove.
- * ipa-inline-transform.c (clone_inlined_nodes): Dissolve comdat groups.
- (preserve_function_body_p): Make static.
- * toplev.c (compile_file): Update comments; update.
- * cgraphunit.c: Update comments.
- (cgraph_expand_all_functions): Rename to ...
- (expand_all_functions): ... this one; update.
- (cgraph_mark_functions_to_output): Rename to ...
- (mark_functions_to_output): ... this one; cleanup.
- (cgraph_output_pending_asms): Remove prototype.
- (asm_nodes, asm_last_node): New static vars.
- (cgraph_process_new_functions): Update.
- (cgraph_reset_node): Cleanup; add comment.
- (cgraph_add_new_function): Update.
- (cgraph_output_pending_asms): Rename to ...
- (output_asm_statements): ... this one.
- (add_asm_node): New function.
- (fixup_same_cpp_alias_visibility): New function based on code
- in cgraph_analyze_function.
- (cgraph_analyze_function): Use it.
- (cgraph_order_sort): Update.
- (cgraph_output_in_order): Update.
- (cgraph_function_versioning): Update.
- (cgraph_optimize): Rename to ...
- (compile): ... this one; initialize streamer hooks here.
- (cgraph_finalize_compilation_unit): Rename to ...
- (finalize_compilation_unit): ... this one; do not initialize streamer
- hook here.
- * lto-streamer-out.c (lto_output_toplevel_asms): Update.
- * dwarf2out.c: Update ocmment.
- * optimize.c (maybe_clone_body): Use symtab_add_to_same_comdat_group.
- * method.c (use_thunk): Likewise.
- * semantics.c (maybe_add_lambda_conv_op): Likewise.
- * decl2.c (maybe_emit_vtables): Likewise.
- (cp_write_global_declarations): Use finalize_compilation_unit.
- * parser.c (cp_parser_asm_definition): Use add_asm_node.
- * lto-streamer-in.c (lto_input_toplevel_asms): Use add_asm_node
- * c-decl.c (c_write_global_declarations): Use
- finalize_compilation_unit.
- * langhooks.c (write_global_declarations): Update.
- * ipa.c (cgraph_externally_visible_p): Update.
- (dissolve_same_comdat_group_list): Remove.
- (function_and_variable_visibility): Update.
- * symtab.c: Inlcude lto-streamer.h and rtl.h
- (ld_plugin_symbol_resolution_names): New.
- (symtab_add_to_same_comdat_group): New.
- (symtab_dissolve_same_comdat_group_list): New.
- (resolution_used_from_other_file_p): Move here from cgraph.c
- (symtab_used_from_object_file_p): New.
- (symtab_make_decl_local): New.
- * passes.c (register_pass): Update comments.
- * c-parser.c (c_parser_asm_definition): Update.
- * varpool.c (varpool_analyze_node): Use
- fixup_same_cpp_alias_visibility.
- (varpool_remove_unreferenced_decls): Make static.
- (varpool_assemble_pending_decls): Rename to ...
- (varpool_output_variables): ... this one; call
- varpool_remove_unreferenced_decls.
- (varpool_used_from_object_file_p): Remove.
-
-2012-04-30 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/51033
- * c-typeck.c (build_array_ref): Call
- convert_vector_to_pointer_for_subscript.
- * doc/extend.texi (Vector Extensions): Subscripting not just for C.
-
-2012-04-30 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (and<mode>3): Change runtime operand mode checks
- to compile-time "mode == <MODE>mode" checks.
- (and splitter): Ditto.
-
-2012-04-30 Richard Henderson <rth@redhat.com>
-
- * config/arm/arm.md (UNSPEC_LL): New.
- * config/arm/sync.md (atomic_loaddi, atomic_loaddi_1): New.
- (arm_load_exclusivedi): Use %H0.
-
-2012-04-30 Jason Merrill <jason@redhat.com>
-
- * dwarf2out.c (comdat_symbol_id): Add const.
- (union die_symbol_or_type_node): Add const to die_symbol.
- (output_die_symbol, output_die, output_comp_unit): Adjust.
-
-2012-04-30 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/arm.md (negdi2): Use gen_negdi2_neon.
- * config/arm/neon.md (negdi2_neon): New insn.
- Also add splitters for core and NEON registers.
-
-2012-04-30 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/arm.c (neon_valid_immediate): Allow const_int.
- (arm_print_operand): Add 'x' format.
- * config/arm/constraints.md (Dn): Allow const_int.
- * config/arm/neon.md (neon_mov<mode>): Use VDX to allow DImode.
- Use 'x' format to print constants.
- * config/arm/predicates.md (imm_for_neon_mov_operand): Allow const_int.
- * config/arm/vfp.md (movdi_vfp): Disable for const_int when neon
- is enabled.
- (movdi_vfp_cortexa8): Likewise.
-
-2012-04-30 Ian Bolton <ian.bolton@arm.com>
- Sameera Deshpande <sameera.deshpande@arm.com>
- Greta Yorsh <greta.yorsh@arm.com>
-
- * config/arm/arm-protos.h (ldm_stm_operation_p): New declaration.
- * config/arm/arm.c (ldm_stm_operation_p): New function.
- * config/arm/predicates.md (load_multiple_operation): Update predicate.
- (store_multiple_operation): Likewise.
-
- * config/arm/arm-protos.h (ldm_stm_operation_p): New parameters.
- * config/arm/arm.c (ldm_stm_operation_p): New parameters.
- * config/arm/predicates.md (load_multiple_operation): Add arguments.
- (store_multiple_operation): Likewise.
-
-2012-04-30 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (and<mode>3): Expand masking operations with
- 0xff, 0xffff or 0xffffffff immediates to corresponding zero_extend RTX.
- (and splitter): Split to DImode zero_extend RTX for DImode operand[0].
-
-2012-04-30 Dodji Seketeli <dodji@redhat.com>
-
- Add -Wvarargs option
- * builtins.c (fold_builtin_next_arg): Use OPT_Wvarargs as an
- argument for the various warning_at calls.
- * docs/invoke.texi: Update the documentation.
-
-2012-04-30 Dodji Seketeli <dodji@redhat.com>
-
- Switch -ftrack-macro-expansion=2 on by default.
- * docs/cppopts.texi: Adjust for enabling -ftrack-macro-expansion=2
- by default.
-
- Fix va_start related location
- * builtins.c (fold_builtin_next_arg): Unwinds to the first
- location in real source code.
-
- Make conversion warnings work on NULL with -ftrack-macro-expansion
- * input.h (expansion_point_location_if_in_system_header): Declare
- new function.
- * input.c (expansion_point_location_if_in_system_header): Define it.
-
- Fix -Wuninitialized for -ftrack-macro-expansion
- * tree-ssa.c (warn_uninit): Use the spelling location of the variable
- declaration. Use linemap_location_before_p for source locations.
-
- Strip "<built-in>" loc from displayed expansion context
- * input.c (expand_location_1): When expanding to spelling location
- in a context of a macro expansion, skip reserved system header
- locations. Update comments. * tree-diagnostic.c
- (maybe_unwind_expanded_macro_loc): Likewise.
-
- Make expand_location resolve to locus in main source file
- * input.c (expand_location_1): New. Takes a parameter to choose
- whether to resolve the location to spelling or expansion point.
- Was factorized from ...
- (expand_location): ... here.
- (expand_location_to_spelling_point): New. Implemented in terms of
- expand_location_1.
- * diagnostic.c (diagnostic_build_prefix): Use the new
- expand_location_to_spelling_point instead of expand_location.
-
- Fix PCH crash on GTYed pointer-to-scalar field of a struct
- * gengtype.c (write_types_process_field): Force second argument of
- the call to the PCH object hierarchy walker to be 'x'.
-
-2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/i386/i386.c (ix86_handle_struct_attribute): Use the proper
- predicate to discriminate types.
-
-2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * doc/invoke.texi (Wmissing-format-attribute): Document as an
- alias of Wsuggest-attribute=format.
- * c-typeck.c (convert_for_assignment): Replace
- Wmissing-format-attribute with Wsuggest-attribute=format.
- (digest_init): Likewise.
-
-2012-04-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * opts.c (finish_options): Do not handle -Wmissing-noreturn here.
- * common.opt (Wmissing-noreturn): Alias of
- -Wsuggest-attribute=noreturn.
-
-2012-04-29 Hans-Peter Nilsson <hp@axis.com>
-
- PR target/53156
- * config/cris/cris.md (andqu): New peephole2.
- (andu): Tweak head comment.
-
-2012-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
- Steven Bosscher <steven@gcc.gnu.org>
- Maxim Kuvyrkov <maxim@codesourcery.com>
-
- PR tree-optimization/38785
- * common.opt (ftree-partial-pre): New option.
- * doc/invoke.texi: Document it.
- * opts.c (default_options_table): Initialize flag_tree_partial_pre.
- * tree-ssa-pre.c (do_partial_partial_insertion): Insert only if it will
- benefit speed path.
- (execute_pre): Use flag_tree_partial_pre.
-
-2012-04-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/52999
- * config/pa/pa.c (pa_legitimate_constant_p): Don't put function labels
- in constant pool.
-
-2012-04-27 Ollie Wild <aaw@google.com>
-
- * doc/invoke.texi (Wliteral-suffix): Document new option.
-
-2012-04-27 Tom Tromey <tromey@redhat.com>
-
- * dwarf2out.c (dwarf_stack_op_name): Use get_DW_OP_name.
- (dwarf_tag_name): Use get_DW_TAG_name.
- (dwarf_attr_name): Use get_DW_AT_name.
- (dwarf_form_name): Use get_DW_FORM_name.
- * dwarf2cfi.c (dwarf_cfi_name): Use get_DW_CFA_name.
-
-2012-04-27 Paolo Bonzini <bonzini@gnu.org>
-
- * tree-ssa-phiopt.c (conditional_replacement): Replace PHIs whose
- arguments are -1 and 0, by negating the result of the conditional.
-
-2012-04-27 Paolo Bonzini <bonzini@gnu.org>
-
- PR target/53138
- * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg): Add clobber.
-
-2012-04-27 Richard Guenther <rguenther@suse.de>
-
- * tree-flow.h (is_hidden_global_store): Remove.
- * tree-ssa-sink.c (is_hidden_global_store): Likewise.
- * tree-ssa-alias.h (ref_may_alias_global_p): Declare.
- (stmt_may_clobber_global_p): Likewise.
- * tree-ssa-alias.c (ref_may_alias_global_p): New function.
- (stmt_may_clobber_global_p): Likewise.
- * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Call
- stmt_may_clobber_global_p.
- * tree-ssa-dse.c (dse_possible_dead_store_p): Likewise.
-
-2012-04-27 Steven Bosscher <steven@gcc.gnu.org>
-
- * cfg.c (disconnect_src): Do df_mark_solutions_dirty in the right
- place.
-
- * tree-switch-conversion.c (struct switch_conv_info): Add range_max,
- reorganize some fields and update comments. Rename bit_test_uniq
- and bit_test_count to uniq resp. count. Remove bit_test_bb.
- (collect_switch_conv_info): New function, collects info about a
- GIMPLE_SWITCH into a struct switch_conv_info.
- (check_range): Simplify to use pre-recorded info. Fix think-o in
- range-branch ratio check.
- (check_process_case): Remove function.
- (check_all_empty_except_final): New function, verifies that all
- non-final basic blocks are empty.
- (process_switch): Simplify to use pre-recorded info. Call
- collect_switch_conv_info to do that. Assert that degenerate switch
- statements have been cleaned up.
-
-2012-04-27 Marc Glisse <marc.glisse@inria.fr>
-
- PR middle-end/27139
- * tree-ssa-forwprop.c (combine_conversions): Handle INT->FP->INT.
-
-2012-04-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/53130
- * c-typeck.c (pop_init_level): Use %qD instead of %qT.
-
-2012-04-27 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/51879
- * tree-ssa-sccvn.h (struct vn_reference_s): Add result_vdef field.
- * tree-ssa-sccvn.c (mark_use_processed): New function, factored out
- of ...
- (defs_to_varying): ... here. Don't set use_processed.
- (visit_reference_op_call): Handle gimple_vdef.
- Handle case that lhs is NULL_TREE.
- (visit_use): Use mark_use_processed. Handle calls with side-effect
- using visit_reference_op_call.
-
-2012-04-26 Richard Sandiford <richard.sandiford@linaro.org>
-
- * sched-deps.c (fixup_sched_groups): Rename to...
- (chain_to_prev_insn): ...this.
- (chain_to_prev_insn_p): New function.
- (deps_analyze_insn): Use it instead of SCHED_GROUP_P.
-
-2012-04-26 Richard Sandiford <richard.sandiford@linaro.org>
-
- * sched-int.h (_haifa_insn_data): Move priority_status.
- Add model_index.
- (INSN_MODEL_INDEX): New macro.
- * haifa-sched.c (insn_delay): New function.
- (sched_regno_pressure_class): Update commentary.
- (mark_regno_birth_or_death): Pass the liveness bitmap and
- pressure array as arguments, instead of using curr_reg_live and
- curr_reg_pressure. Only update the pressure if the bit in the
- liveness set has changed.
- (initiate_reg_pressure_info): Always trust the live-in set for
- SCHED_PRESSURE_MODEL.
- (initiate_bb_reg_pressure_info): Update call to
- mark_regno_birth_or_death.
- (dep_list_size): Take the list as argument.
- (calculate_reg_deaths): New function, extracted from...
- (setup_insn_reg_pressure_info): ...here.
- (MODEL_BAR): New macro.
- (model_pressure_data, model_insn_info, model_pressure_limit)
- (model_pressure_group): New structures.
- (model_schedule, model_worklist, model_insns, model_num_insns)
- (model_curr_point, model_before_pressure, model_next_priority):
- New variables.
- (MODEL_PRESSURE_DATA, MODEL_MAX_PRESSURE, MODEL_REF_PRESSURE)
- (MODEL_INSN_INFO, MODEL_INSN): New macros.
- (model_index, model_update_limit_points_in_group): New functions.
- (model_update_limit_points, model_last_use_except): Likewise.
- (model_start_update_pressure, model_update_pressure): Likewise.
- (model_recompute, model_spill_cost, model_excess_group_cost): Likewise.
- (model_excess_cost, model_dump_pressure_points): Likewise.
- (model_set_excess_costs): Likewise.
- (rank_for_schedule): Extend SCHED_PRIORITY_WEIGHTED ordering to
- SCHED_PRIORITY_MODEL. Use insn_delay. Use the order in the model
- schedule as an alternative tie-breaker. Update the call to
- dep_list_size.
- (ready_sort): Call model_set_excess_costs.
- (update_register_pressure): Update call to mark_regno_birth_or_death.
- Rely on that function to check liveness rather than doing it here.
- (model_classify_pressure, model_order_p, model_add_to_worklist_at)
- (model_remove_from_worklist, model_add_to_worklist, model_promote_insn)
- (model_add_to_schedule, model_analyze_insns, model_init_pressure_group)
- (model_record_pressure, model_record_pressures): New functions.
- (model_record_final_pressures, model_add_successors_to_worklist)
- (model_promote_predecessors, model_choose_insn): Likewise.
- (model_reset_queue_indices, model_dump_pressure_summary): Likewise.
- (model_start_schedule, model_finalize_pressure_group): Likewise.
- (model_end_schedule): Likewise.
- (schedule_insn): Say when we're scheduling the next instruction
- in the model schedule.
- (schedule_insn): Handle SCHED_PRESSURE_MODEL.
- (queue_to_ready): Do not add instructions that are
- MAX_SCHED_READY_INSNS beyond the current point of the model schedule.
- Always allow the next instruction in the model schedule to be added.
- (debug_ready_list): Print the INSN_REG_PRESSURE_EXCESS_COST_CHANGE
- and delay for SCHED_PRESSURE_MODEL too.
- (prune_ready_list): Extend SCHED_PRIORITY_WEIGHTED handling to
- SCHED_PRIORITY_MODEL, but also take the DFA into account.
- (schedule_block): Call model_start_schedule and model_end_schedule.
- Extend SCHED_PRIORITY_WEIGHTED stall handling to SCHED_PRIORITY_MODEL.
- (sched_init): Extend INSN_REG_PRESSURE_EXCESS_COST_CHANGE handling
- to SCHED_PRESSURE_MODEL, but don't allocate saved_reg_live or
- region_ref_regs.
- (sched_finish): Update accordingly.
- (fix_tick_ready): Extend INSN_REG_PRESSURE_EXCESS_COST_CHANGE handling
- to SCHED_PRESSURE_MODEL.
- (add_jump_dependencies): Update call to dep_list_size.
- (haifa_finish_h_i_d): Fix leak of max_reg_pressure.
- (haifa_init_insn): Extend INSN_REG_PRESSURE_EXCESS_COST_CHANGE handling
- to SCHED_PRESSURE_MODEL.
- * sched-deps.c (init_insn_reg_pressure_info): Likewise, but don't
- allocate INSN_MAX_REG_PRESSURE for SCHED_PRESSURE_MODEL.
- (sched_analyze_insn): Extend INSN_REG_PRESSURE_EXCESS_COST_CHANGE
- handling to SCHED_PRESSURE_MODEL.
-
-2012-04-26 Richard Sandiford <richard.sandiford@linaro.org>
-
- * common.opt (fsched-pressure-algorithm=): New option.
- * flag-types.h (sched_pressure_algorithm): New enum.
- * sched-int.h (sched_pressure_p): Replace with...
- (sched_pressure): ...this new variable.
- * haifa-sched.c (sched_pressure_p): Replace with...
- (sched_pressure): ...this new variable.
- (sched_regno_pressure_class, rank_for_schedule, ready_sort)
- (update_reg_and_insn_max_reg_pressure, schedule_insn)
- (debug_ready_list, prune_ready_list, schedule_block, sched_init)
- (sched_finish, fix_tick_ready, haifa_init_insn): Update accordingly.
- * sched-deps.c (init_insn_reg_pressure_info): Likewise.
- (sched_analyze_insn): Likewise.
- * sched-rgn.c (schedule_region): Likewise.
- * config/m68k/m68k.c (m68k_sched_variable_issue): Likewise.
-
-2012-04-26 Bernd Schmidt <bernds@codesourcery.com>
-
- PR middle-end/52997
- * ira.c (find_moveable_pseudos): Call resize_reg_info.
-
- PR middle-end/52940
- * machmode.h (CLASS_HAS_WIDER_MODES_P): True for MODE_PARTIAL_INT.
- * expr.c (convert_move): Honor unsignedp when extending partial int
- modes.
- * genmodes.c (complete_mode): Don't clear component field of partial
- int modes.
- (emit_mode_inner): Don't emit it however.
- (calc_wider_mode): Partial int modes widen to their component.
-
-2012-04-26 David S. Miller <davem@davemloft.net>
-
- * config/sparc/niagara4.md: New file.
- * config/sparc/sparc.md: Include it.
- * config/sparc/sparc.c (niagara4_costs): New processor costs.
- (sparc_option_override): Use it.
- (sparc_use_sched_lookahead): Return 2 for niagara4.
- (sparc_issue_rate): Likewise.
-
- * config/sparc/sparc.md (attr type): Delete 'fgm_cmp'.
- (fpack16_vis, fpackfix_vis, fpack32_vis): Set type to fgm_pack.
- (fmul8x16_vis, fmul8x16au_vis, fmul8x16al_vis, fmul8sux16_vis,
- fmul8ulx16_vis, fmuld8sux16_vis, fmuld8ulx16_vis): Set type to fgm_mul.
- (alignaddrsi_vis, alignaddrdi_vis, alignaddrlsi_vis,
- alignaddrldi_vis): Set type to gsr.
- (pdist_vis, pdistn<mode>_vis): Set type to fgm_pdsit.
- (fcmp<code><GCM:gcm_name><P:mode>_vis, cmask8<P:mode>_vis,
- cmask16<P:mode>_vis, cmask32<P:mode>_vis, fchksm16_vis,
- v<vis3_shift_patname><mode>3, fmean16_vis,
- fp<plusminus_insn>64_vis, <vis3_addsub_ss_patname><mode>3,
- fucmp<code>8<P:mode>_vis): Set type to fga.
- * config/sparc/ultra1_2.md: Remove refrences to fgm_cmp.
- * config/sparc/niagara.md: Likewise.
- * config/sparc/niagara2.md: Likewise.
- * config/sparc/ultra3.md: Likewise, and fix type matching for
- us3_ialuX reservation.
-
-2012-04-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * reload.c (find_reloads): Change the loop nesting when trying an
- alternative with swapped operands.
-
-2012-04-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Fix
- comment. Delete unused parameter first_exp_point_map.
- (virt_loc_aware_diagnostic_finalizer): Update call.
-
-2012-04-26 Michael Hope <michael.hope@linaro.org>
- Richard Earnshaw <rearnsha@arm.com>
-
- * config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_SOFT_FLOAT): Define.
- (GLIBC_DYNAMIC_LINKER_HARD_FLOAT): Define.
- (GLIBC_DYNAMIC_LINKER_DEFAULT): Define.
- (GLIBC_DYNAMIC_LINKER): Redefine to use the hard float path.
-
-2012-04-25 Sriraman Tallam <tmsriram@google.com>
-
- * doc/extend.texi: Document avx2 support.
- * config/i386/i386.c (fold_builtin_cpu): Add avx2.
-
-2012-04-26 Hans-Peter Nilsson <hp@axis.com>
-
- PR target/53120
- * config/cris/cris.md ("*andhi_lowpart_v32")
- ("*andqi_lowpart_v32"): Change first input-only operand from
- a (match_operand ...) to (match_dup 0). Drop alternatives with
- const_int-matching constraints for redundancy.
- ("*andhi_lowpart_non_v32", "*andqi_lowpart_non_v32"): Ditto. Drop
- three-operand alternative.
-
-2012-04-25 Jakub Jelinek <jakub@redhat.com>
-
- PR target/53110
- * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg
- instead expand it as zero extension.
-
-2012-04-25 H.J. Lu <hongjiu.lu@intel.com>
-
- PR debug/52857
- * dwarf2out.c (dbx_reg_number): Assert return value != INVALID_REGNUM.
-
-2012-04-25 Jakub Jelinek <jakub@redhat.com>
-
- * common.opt (flag_debug_types_section): Default to 0.
- (dwarf_version): Default to 4.
- (dwarf_record_gcc_switches): Default to 1.
- (dwarf_strict): Default to 0.
- * toplev.c (process_options): Don't handle dwarf_strict
- or dwarf_version here.
- * config/vxworks.c (vxworks_override_options): Don't
- test whether dwarf_strict or dwarf_version are negative,
- instead test !global_options_set.x_dwarf_*.
- * config/darwin.c (darwin_override_options): Default to
- dwarf_version 2.
- * doc/invoke.texi: Note that -gdwarf-4, -grecord-gcc-switches
- and -fno-debug-types-section are now the default.
-
-2012-04-25 Jan Hubicka <jh@suse.cz>
-
- * cgraphunit.c: Update toplevel comment.
- (tree_rest_of_compilation): Merge into cgraph_expand_function.
- (cgraph_analyze_function): Make static.
- (cgraph_decide_is_function_needed): Make static.
- (cgraph_add_new_function): Use expand_function instead of
- rest_of_compilation.
- (clone_of_p, verify_edge_count_and_frequency, cgraph_debug_gimple_stmt,
- verify_edge_corresponds_to_fndecl, verify_cgraph_node, verify_cgraph):
- Move to cgraph.c
- (cgraph_inline_p): Remove.
- (cgraph_preserve_function_body_p): Move to ipa-inline-transform.
- (init_cgraph): Add comment.
- * cgraphbuild.c (record_reference, mark_address, mark_load,
- mark_store): Do not call analyze_expr hook.
- * cgraph.c: Update toplevel comment.
- (clone_of_p, verify_edge_count_and_frequency, cgraph_debug_gimple_stmt,
- verify_edge_corresponds_to_fndecl, verify_cgraph_node, verify_cgraph):
- Move fere from cgraphunit.c
- (cgraph_mark_force_output_node): Move to cgraph.h
- * cgraph.h: Reorder so the comments match the function placement.
- (cgraph_analyze_function, cgraph_decide_is_function_needed): Remove.
- (cgraph_mark_force_output_node): Move here from cgraph.c
- * tree.c (free_lang_data): Do not clear analyze_expr hook.
- * ipa-inline-transform.c (preserve_function_body_p): New function.
- (inline_transform): Update.
- * langhooks.c (lhd_callgraph_analyze_expr): Remove.
- * langhooks.h (lang_hooks_for_callgraph): Remove.
- (lang_hooks): Remove callgraph.
- * tree-inline.c (expand_call_inline): Do not use cgraph_inline_p.
- * varpool.c: Remove out of date comment.
- * langhooks-def.h (lhd_callgraph_analyze_expr): Remove.
- (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Remove.
-
-2012-04-25 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/53089
- * cgraphunit.c (referred_to_p): Move ahead in file to avoid
- forward declaration.
- (cgraph_finalize_function): Finalize them here.
- * symtab.c (dump_symtab): Dump ctors and dtors.
-
-2012-04-25 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/52979
- * stor-layout.c (get_best_mode): Don't return mode with bitsize
- larger than maxbits. Don't compute maxbits modulo align.
- Also check that unit bytes long store at bitpos / unit * unit
- doesn't affect bits beyond bitregion_end.
- * expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM
- would not fit into bitregion_start ... bitregion_end + 1 bit region.
- (store_split_bit_field): Decrease unit close to end of bitregion_end
- if access is restricted in order to avoid mutual recursion.
-
- PR tree-optimization/53058
- * double-int.h (double_int_max_value, double_int_min_value): New
- prototypes.
- * double-int.c (double_int_max_value, double_int_min_value): New
- functions.
- * tree-vrp.c (register_edge_assert_for_2): Compare mask for LE_EXPR
- or GT_EXPR with double_int_max_value instead of double_int_mask.
-
-2012-04-25 Richard Guenther <rguenther@suse.de>
-
- * tree-vectorizer.h (vect_loop_versioning): Adjust prototype.
- * tree-vect-loop.c (vect_transform_loop): Adjust.
- * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Record
- the maximum number of iterations for the epilogue loop.
- (vect_loop_versioning): Remove case re-using the peeled epilogue loop.
-
-2012-04-25 Jakub Jelinek <jakub@redhat.com>
-
- PR c/52880
- * c-typeck.c (set_nonincremental_init,
- set_nonincremental_init_from_string): Pass true instead of false
- as IMPLICIT to add_pending_init.
-
-2012-04-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * c-typeck.c (pop_init_level): Improve diagnostics.
-
-2012-04-25 Uros Bizjak <ubizjak@gmail.com>
-
- * compare-elim.c (try_eliminate_compare): Also handle operands with
- implicit extensions.
-
-2012-04-25 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000 (SAVE_INLINE_VRS, REST_INLINE_VRS,
- V_SAVE_INLINE, SAVRES_LR, SAVRES_SAVE, SAVRES_REG,
- SAVRES_GPR, SAVRES_FPR, SAVRES_VR): Define.
- (no_global_regs_above): Delete.
- (no_global_regs): New function.
- (rs6000_savres_strategy): Handle vector regs. Use proper lr_save_p
- value for load multiple test.
- (savres_routine_syms): Increase size.
- (rs6000_savres_routine_name, rs6000_savres_routine_sym,
- ptr_regno_for_savres, rs6000_emit_savres_rtx): Pass in int selector
- rather than a number of boolean flags. Update all callers.
- (rs6000_savres_routine_name): Generate vector save/restore names.
- (rs6000_savres_routine_sym): Handle vector regs. Delete forward decl.
- (ptr_regno_for_savres, rs6000_emit_savres_rtx): Likewise.
- (rs6000_emit_prologue): Delete saving_FPRs_inline, saving_GPRs_inline
- and using_store_multiple. Expand uses. Don't always use r11 as
- frame reg when needed for out-of-line saves. Set up initial offset
- for out-of-line vector saves when buying stack frame. Handle pointer
- reg setup for out-of-line fp save. Emit call to out-of-line vector
- save function. Choose r11 or r12 for vrsave reg when available for
- better scheduling.
- (rs6000_output_function_prologue): Don't emit .extern for ELF.
- (rs6000_emit_epilogue): Choose a better frame reg when restoring
- from back-chain to suit out-of-line vector restore functions. Emit
- call to out-of-line vector restore function. Adjust register used
- for cr restore. Tweak pointer register setup for gpr restore.
- * config/rs6000/rs6000.h (FIRST_SAVED_GP_REGNO): Take into account
- FIXED_R13.
- * config/rs6000/sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Simplify.
- (V_SAVE_INLINE): Define.
- * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*): New insns.
-
-2012-04-25 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_savres_strategy): Allow
- out-of-line save/restore for large frames. Don't disable
- out-of-line saves on ABI_AIX when using static chain reg.
- (rs6000_emit_prologue): Adjust cr_save_regno on ABI_AIX to not
- clobber static chain reg, and tweak for out-of-line gpr saves
- that use r1.
-
-2012-04-25 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (START_USE, END_USE, NOT_INUSE): Define.
- (rs6000_emit_prologue): Use the above to catch register overlap.
-
-2012-04-25 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Delete forward
- decl. Move logic selecting update reg to callers. Update all callers.
- (rs6000_emit_allocate_stack): Add copy_off param.
- (emit_frame_save): Don't handle reg+reg addressing.
- (ptr_regno_for_savres): New function, extracted from..
- (rs6000_emit_savres_rtx): ..here. Add lr_offset param.
- (rs6000_emit_prologue): Generate frame_ptr_rtx as we need it.
- Set frame_reg_rtx to r11 whenever r11 is needed, and merge
- frame offset adjustment for out-of-line save with copy from sp.
- Simplify condition controlling whether cr is saved early or
- late. Use ptr_regno_for_savres to verify correct reg is set
- up for out-of-line saves. Pass the actual pointer reg used to
- rs6000_emit_savres_rtx so rtl matches insns in out-of-line
- function. Rearrange spe vars so code is similar to that
- elsewhere in this function. Don't update frame_off when spe
- save code will restore r11. Use emit_frame_save for spe and
- gpr saves. Consolidate darwin out-of-line gpr setup with that
- for other abis. Don't assume frame_offset is zero and frame
- reg is sp when setting up altivec reg saves, and calculate
- exact offset requirement.
- (rs6000_emit_epilogue): Use HOST_WIDE_INT for frame_off. Tidy
- spe restore code. Consolidate darwin out-of-line gpr setup
- with that for other abis.
-
-2012-04-25 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_frame_related): Don't emit a
- REG_FRAME_RELATED_EXPR note when the instruction exactly matches
- the replacement.
- (emit_frame_save): Delete frame_ptr param. Rename total_size to
- frame_reg_to_sp.
- (rs6000_emit_prologue): Add sp_off. Update rs6000_frame_related
- and emit_frame_save calls. Cope with possibly missing note.
-
-2012-04-24 Sriraman Tallam <tmsriram@google.com>
-
- * config/i386/i386.c (build_processor_model_struct): New function.
- (make_var_decl): New function.
- (fold_builtin_cpu): New function.
- (ix86_fold_builtin): New function.
- (make_cpu_type_builtin): New function.
- (ix86_init_platform_type_builtins): New function.
- (ix86_expand_builtin): Expand new builtins by folding them.
- (ix86_init_builtins): Make new builtins to detect CPU type.
- (TARGET_FOLD_BUILTIN): New macro.
- (IX86_BUILTIN_CPU_INIT): New enum value.
- (IX86_BUILTIN_CPU_IS): New enum value.
- (IX86_BUILTIN_CPU_SUPPORTS): New enum value.
- * config/i386/i386-builtin-types.def: New function type.
- * doc/extend.texi: Document builtins.
-
-2012-04-24 Olivier Hainque <hainque@adacore.com>
-
- * common.opt (gdwarf-): Initialize dwarf_version to -1 instead of 2.
- * toplev.c (process_options): Default to dwarf_version 2.
- * config/vxworks.c (vxworks_override_options): Default to strict-dwarf
- and dwarf_version 2.
-
-2012-04-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * tree-pretty-print.h (default_tree_printer): Do not declare.
- * tree-diagnostic.c: Include tree-pretty-print.h, tree-pass.h and
- intl.h.
- (default_tree_diagnostic_starter): Make static.
- (default_tree_printer): Move to here. Make static.
- (tree_diagnostics_defaults): New.
- * tree-diagnostic.h (default_tree_diagnostic_starter): Do not declare.
- * tree.c (free_lang_data): Use tree_diagnostics_defaults.
- * toplev.c: Do not include tree-pass.h.
- (default_tree_printer): Move from here.
- (general_init): Use tree_diagnostics_defaults.
-
-2012-04-24 Chao-ying Fu <fu@mips.com>
-
- * config.gcc (mips64*-*-linux*): Append mips/linux-common.h to tm_file.
- (mips*-*-linux*): Append mips/linux-common.h to tm_file.
- * config/mips/gnu-user.h
- (SUBTARGET_CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC directly.
- (GNU_USER_TARGET_LINK_SPEC): New define.
- (LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
- (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC directly.
- (GNU_USER_TARGET_MATHFILE_SPEC): New define.
- (ENDFILE_SPEC): Use GNU_USER_TARGET_MATHFILE_SPEC and
- GNU_USER_TARGET_ENDFILE_SPEC.
- * config/mips/gnu-user64.h (LIB_SPEC): Remove.
- (GNU_USER_TARGET_LINK_SPEC): New define.
- (LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
- * config/mips/linux-common.h: New file.
-
-2012-04-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/47197
- * config/rs6000/rs6000-c.c (fully_fold_convert): New function.
- (altivec_build_resolved_builtin): Call fully_fold_convert.
-
-2012-04-24 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/53065
- * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define.
-
-2012-04-24 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53085
- * tree-ssa-pre.c (eliminate): Do not eliminate volatile redundant
- stores.
-
-2012-04-24 Richard Guenther <rguenther@suse.de>
-
- * tree-if-conv.c (main_tree_if_conversion): Move bb under
- ENABLE_CHECKING.
-
-2012-04-24 Jim Meyering <meyering@redhat.com>
-
- * genattrtab.c (gen_attr): Avoid NULL-deref after diagnosing
- absence of an define_enum call.
-
-2012-04-24 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): If
- the epilogue loop is not re-used as unvectorized version
- record the its maximum number of iterations.
-
-2012-04-24 Andrew Pinski <apinski@cavium.com>
-
- * tree-ssa-forwprop.c (simplify_bitwise_binary):
- Don't directly use def1/def2.
-
-2012-04-24 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53098
- * tree-vect-loop.c (vect_analyze_loop_operations): Fixup
- comparison sign.
-
-2012-04-24 Andrew Pinski <apinski@cavium.com>
-
- PR tree-opt/33512
- * tree-ssa-forwprop.c (defcodefor_name): New function.
- (simplify_bitwise_binary): Use defcodefor_name instead of manually
- Simplify "( X | Y) & X" to X and "( X & Y) | X" to X.
- Simplify "(~X | Y) & X" to "X & Y" and
- "(~X & Y) | X" to "X | Y".
-
-2012-04-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * recog.c (insn_invalid_p): Add IN_GROUP parameter and use
- validate_change to add clobbers if IN_GROUP is nonzero.
- (verify_changes): Call insn_invalid_p with IN_GROUP set to true.
- * recog.h (insn_invalid_p): Add IN_GROUP parameter to function
- prototype.
- * gcse.c (process_insert_insn): Call insn_invalid_p with IN_GROUP
- set to false.
- * config/s390/s390.c (insn_invalid_p): Likewise.
-
-2012-04-24 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/53084
- * varasm.c (compute_reloc_for_constant): Handle ADDR_EXPR of MEM_REF.
- (output_addressed_constants): Likewise.
-
- PR middle-end/52999
- * varasm.c (get_section): Don't ICE for section conflicts with
- built-in section kinds.
-
-2012-04-23 DJ Delorie <dj@redhat.com>
-
- * config/s390/s390.h (LINK_SPEC): Remove, no longer needed.
- (LIBSTDCXX): Change to CPP2.
-
-2012-04-23 H.J. Lu <hongjiu.lu@intel.com>
-
- PR bootstrap/52878
- * opth-gen.awk: Check if MASK_ and TARGET_ macros are defined for
- extra_masks.
-
-2012-04-23 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*add<mode>_2): Add r/r/0 alternative.
- (*addsi_2_zext): Ditto.
- (*add<mode>_3): Ditto.
- (*addsi_3_zext): Ditto.
- (*add<mode>_5): Ditto.
-
-2012-04-23 Andrew Pinski <apinski@cavium.com>
-
- * tree-ssa-forwprop.c (simplify_bitwise_binary): Simplify (A & B) OP0
- (C & B) to (A OP0) & B.
-
-2012-04-23 Martin Jambor <mjambor@suse.cz>
-
- * expr.c (expand_expr_real_1): Remove setting parent's alias set for
- temporaries created for a bitfield (reverting revision 122014).
-
-2012-04-23 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-loop-manip.c (slpeel_add_loop_guard): Gimplify
- the condition using is_gimple_condexpr and avoid the not necessary
- boolification.
- (set_prologue_iterations): Likewise.
- (vect_loop_versioning): Likewise.
-
-2012-04-23 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53070
- * tree-if-conv.c (combine_blocks): Free predicates in all blocks.
- (main_tree_if_conversion): Verify we succeeded in that.
-
-2012-04-23 Jan Hubicka <jh@suse.cz>
-
- * lto-symtab.c (lto_cgraph_replace_node): Do not call
- mark_reahcable_node.
- * cgraph.c (cgraph_remove_node): Do not clear reachable.
- (cgraph_mark_reachable_node): Remove.
- (cgraph_mark_force_output_node): Do not set reachable.
- (dump_cgraph_node): Do not dump reachable.
- (cgraph_create_virtual_clone): Do not set reachable.
- * cgraph.h (cgraph_node): Remove reachable flag.
- (varpool_node): Remove reachable flag.
- (cgraph_mark_if_needed): Remove.
- (cgraph_mark_reachable_node): Remove.
- * tree-emutls.c (ipa_lower_emutls): Do not check reachable.
- * cgraphunit.c (cgraph_finalize_function): Do not mark node as
- reachable.
- (cgraph_add_new_function): Likewise.
- (cgraph_mark_if_needed): Remove.
- (cgraph_analyze_function): Do not set target as reachable.
- (process_function_and_variable_attributes): Do not care about
- dllexport.
- (cgraph_analyze_functions): Do not set reachable flags.
- (cgraph_mark_functions_to_output): Do not check reachability.
- (cgraph_copy_node_for_versioning): Do not set reachable flag.
- (dbxout_expand_expr): Update.
- * c-decl.c (merge_decls): Do not track changed externs.
- * ipa.c: Include pointer-set.h
- (enqueue_cgraph_node): Use reachable pointer set.
- (process_references): Likewise.
- (cgraph_remove_unreachable_nodes): Likewise.
- (whole_program_function_and_variable_visibility): Do not recompute
- reachable.
- * trans-mem.c (ipa_tm_execute): Do not check reachable flag.
-
-2012-04-23 Georg-Johann Lay <avr@gjlay.de>
-
- * doc/extend.texi (AVR Named Address Spaces): Fix typos.
-
-2012-04-23 Richard Guenther <rguenther@suse.de>
-
- PR c/53060
- * c-typeck.c (build_binary_op): Fix typo.
-
-2012-04-23 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimizations/52891
- * tree-vect-patterns.c (adjust_bool_pattern): Use
- build_nonstandard_type even if rhs1 has unsigned INTEGER_TYPE,
- but with non-standard precision.
-
-2012-04-22 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Bail out at NULL
- tree refs.
-
-2012-04-22 Jan Hubicka <jh@suse.cz>
-
- * lto-symtab.c (lto_varpool_replace_node): Do not merge needed flags.
- * cgraphbuild.c (record_reference, record_type_list, mark_address,
- mark_load, mark_store): Do not mark varpool nodes as needed.
- * cgraph.c (cgraph_new_nodes): Remove.
- (cgraph_create_function_alias): Do not mark nodes as reachable.
- (cgraph_add_thunk): Likewise.
- (cgraph_mark_reachable_node): Do not manage the queue.
- * cgraph.h (cgraph_node): Remove next_needed.
- (varpool_nodes_queue): Remove next_needed and prev_needed.
- (x_cgraph_nodes_queue, x_cgraph_nodes_queue, cgraph_new_nodes): Remove.
- (cgraph_new_nodes): Declare.
- (x_varpool_nodes_queue, varpool_nodes_queue); Remove.
- (varpool_analyze_pending_decls): Remove.
- (varpool_analyze_node): New.
- (varpool_mark_needed_node): Remove.
- (varpool_first_variable, varpool_next_variable): New inlines.
- (varpool_first_static_initializer, varpool_next_static_initializer):
- Update.
- (FOR_EACH_STATIC_VARIABLE): Remove unused walker.
- (varpool_first_defined_variable): New inline.
- (varpool_next_defined_variable): New inline
- (FOR_EACH_VARIABLE): Reimplement.
- (FOR_EACH_DEFINED_VARIABLE): Reimplement.
- * toplev.c (wrapup_global_declaration_2): Use analyzed instead of
- needed flag.
- * cgraphunit.c (cgraph_new_nodes): Declare here.
- (enqueue_node): New function.
- (cgraph_process_new_functions): update for new
- node set; when constructing cgraph enqueue node for processing.
- (cgraph_add_new_function): Use new node set.
- (process_function_and_variable_attributes): Do not set varpool needed
- flags.
- (referred_to_p): New function.
- (varpool_finalize_decl): Move here from varpool.c; enqueue needed node
- when varpool is in construction.
- (cgraph_analyze_functions): Rewrite.
- (cgraph_expand_all_functions): Update.
- (cgraph_output_in_order): Do not analyze pending decls; do not set
- needed flags.
- (cgraph_optimize): Do not analyze pending decls.
- * lto-cgraph.c (input_varpool_node): Clear analyzed flag for objects
- in other partition; do not mark node as needed.
- * dwarf2out.c (reference_to_unused): Use analyzed flag.
- (premark_types_used_by_global_vars_helper): Likewise.
- * ipa.c (process_references): Do not call varpool_mark_needed_node.
- (cgraph_remove_unreachable_nodes): Do not rely on varpool and
- cgrpah queues.
- (function_and_variable_visibility): Do not mark node as needed.
- (whole_program_function_and_variable_visibility): Likewise.
- * Makefile.in (gt-varpool.h): No longer needed.
- * passes.c (execute_one_pass, execute_ipa_pass_list): Update.
- (ipa_write_summaries): Do not use needed flag.
- * varpool.c: Do not include gt-varpool.h
- (x_varpool_nodes_queue, x_varpool_last_needed_node,
- x_varpool_last_needed_node, x_varpool_first_unanalyzed_node,
- x_varpool_first_unanalyzed_node, varpool_assembled_nodes_queue):
- Remove.
- (varpool_remove_node): Do not update the lists.
- (dump_varpool_node): Do not dump needed flag.
- (varpool_enqueue_needed_node): Remove.
- (varpool_mark_needed_node): Remove.
- (varpool_reset_queue): Remove.
- (varpool_finalize_decl): Move to cgraphunit.c
- (varpool_analyze_node): New functions based on former
- varpool_analyze_pending_decls.
- (varpool_analyze_pending_decls): Remove.
- (varpool_assemble_decl): Do not update the lists.
- (enqueue_node): New function.
- (varpool_remove_unreferenced_decls): Rewrite.
- (varpool_empty_needed_queue): Remove.
- (add_new_static_var): Do not mark node as needed.
- (varpool_create_variable_alias): Handle expansion state
- creation.
- * except.c (output_ttype): Do not mark node as needed.
- * varasm.c (mark_decl_referenced): Do not use mark_needed_node.
- * tree-profile.c (init_ic_make_global_vars, init_ic_make_global_vars):
- Likewise.
- * tree-switch-conversion.c (build_one_array): Likewise.
-
-2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/44774
- * doc/invoke.texi (pedantic): Rename to Wpedantic.
- * common.opt (Wpedantic): New.
- (pedantic): Alias Wpedantic.
- * diagnostic.c (warning_at): Likewise.
- * c-decl.c (diagnose_mismatched_decls): Likewise.
- (build_array_declarator): Likewise.
- (mark_forward_parm_decls):
- (check_bitfield_type_and_width): Likewise.
- (grokdeclarator): Likewise.
- (grokfield): Likewise.
- (finish_struct): Likewise.
- (build_enumerator): Likewise.
- (store_parm_decls_oldstyle): Likewise.
- (declspecs_add_qual): Likewise.
- (declspecs_add_type): Likewise.
- (finish_declspecs): Likewise.
- * c-typeck.c (composite_type): Likewise.
- (comp_target_types): Likewise.
- (build_array_ref): Likewise.
- (pointer_diff): Likewise.
- (build_unary_op): Likewise.
- (build_conditional_expr): Likewise.
- (build_c_cast): Likewise.
- (convert_for_assignment): Likewise.
- (maybe_warn_string_init): Likewise.
- (digest_init): Likewise.
- (pop_init_level): Likewise.
- (set_init_index): Likewise.
- (c_finish_goto_label): Likewise.
- (c_finish_return): Likewise.
- (do_case): Likewise.
- (build_binary_op): Likewise.
- * c-parser.c (static): Likewise.
- (c_parser_external_declaration): Likewise.
- (c_parser_declaration_or_fndef): Likewise.
- (c_parser_static_assert_declaration_no_se): Likewise.
- (c_parser_enum_specifier): Likewise.
- (c_parser_struct_or_union_specifier): Likewise.
- (c_parser_struct_declaration): Likewise.
- (c_parser_alignas_specifier): Likewise.
- (c_parser_braced_init): Likewise.
- (c_parser_initelt): Likewise.
- (c_parser_compound_statement_nostart): Likewise.
- (c_parser_conditional_expression): Likewise.
- (c_parser_alignof_expression): Likewise.
- (c_parser_postfix_expression): Likewise.
- (c_parser_postfix_expression_after_paren_): Likewise.
- (c_parser_objc_class_instance_variables): Likewise.
- (c_parser_objc_method_definition): Likewise.
- (c_parser_objc_methodprotolist): Likewise.
-
-2012-04-22 Ian Lance Taylor <iant@google.com>
-
- * godump.c (go_output_typedef): Dump size of structs.
-
-2012-04-22 Razya Ladelsky <razya@il.ibm.com>
-
- Correcting transform_to_exit_first_loop + fix to PR46886
- * tree-parloops.c (transform_to_exit_first_loop): Remove
- setting of number of iterations according to the loop pattern.
- Duplicate from entry to exit->src instead of loop->latch.
- (pallelize_loops): Remove the condition preventing do-while loops.
- * tree-cfg.c (bool bb_in_region_p): New.
- (gimple_duplicate_sese_tail): Adjust duplication of the the subloops.
- Adjust redirection of the duplicated iteration.
-
-2012-04-21 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR bootstrap/53021
- * rtl.def (ADDRESS): Use "i" rather than "w".
- * rtl.h (find_base_term): Delete.
- (may_be_sp_based_p): Declare.
- * rtl.c (rtx_code_size): Remove ADDRESS special case.
- * alias.h (UNIQUE_BASE_VALUE_SP, UNIQUE_BASE_VALUE_ARGP)
- (UNIQUE_BASE_VALUE_FP, UNIQUE_BASE_VALUE_HFP): Move to...
- * alias.c: ...here.
- (find_base_term): Make static.
- (may_be_sp_based_p): New function.
- * dse.c (record_store): Use it.
- * store-motion.c (store_killed_in_insn): Likewise.
-
-2012-04-21 Richard Sandiford <rdsandiford@googlemail.com>
-
- * fold-const.c (fold_checksum_tree): Fix VECTOR_CST case.
-
-2012-04-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 35441
- * c-typeck.c (inform_declaration): New.
- (build_function_call_vec): Do not pretty-print
- expressions when caret is enabled.
- (convert_arguments): Use inform_declaration.
-
-2012-04-20 Jim Meyering <meyering@redhat.com>
-
- * genmodes.c (make_complex_modes): Don't truncate a mode name of
- length 7 or more when prepending a "C". Suggested by Richard Guenther.
-
-2012-04-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR rtl-optimization/44214
- * fold-const.c (exact_inverse): New function.
- (fold_binary_loc): Fold vector and complex division by constant into
- multiply by recripocal with flag_reciprocal_math; fold vector division
- by constant into multiply by reciprocal with exact inverse.
-
-2012-04-20 Jan Hubicka <jh@suse.cz>
-
- * lto-symtab.c (lto_cgraph_replace_node): Merge needed instead of
- force flags.
- * cgraph.c (cgraph_add_thunk): Use mark_reachable_node.
- (cgraph_remove_node): Update.
- (cgraph_mark_needed_node): Remove.
- (cgraph_mark_force_output_node): New.
- (dump_cgraph_node): Do not dump needed flag.
- (cgraph_node_cannot_be_local_p_1): Update.
- (cgraph_can_remove_if_no_direct_calls_and_refs): Update.
- * cgraph.h (symtab_node_base): Add force_output flag.
- (cgraph_node): Remove needed flag.
- (varpool_node): Remove force_output flag.
- (cgraph_mark_needed_node): Remove.
- (cgraph_mark_force_output_node): New.
- (cgraph_only_called_directly_or_aliased_p,
- varpool_can_remove_if_no_refs, varpool_all_refs_explicit_p): Update.
- * ipa-cp.c (ipcp_generate_summary): Remove out of date assert.
- * cgraphunit.c (cgraph_decide_is_function_needed): rewrite.
- (cgraph_add_new_function): Update.
- (cgraph_mark_if_needed): Update.
- (verify_cgraph_node): Update.
- (cgraph_analyze_function): Alias target is reachable.
- (process_function_and_variable_attributes): Update: externally_visible
- flag makes function reachable.
- (cgraph_analyze_functions): Update dumping.
- * lto-cgraph.c (lto_output_node, lto_output_varpool_node,
- input_overwrite_node, input_varpool_node): Update streaming.
- * lto-streamer-out.c (produce_symtab): Use force_output.
- * ipa.c (process_references): Weakrefs must be processed.
- (cgraph_remove_unreachable_nodes): Likewise; update for new
- force_output flag.
- (varpool_externally_visible_p): Weakrefs are externally visible
- even if they are not.
- (function_and_variable_visibility): Update; when processing alias
- pair force the targets to be output.
- (whole_program_function_and_variable_visility): Use
- mark_reachable_node.
- * trans-mem.c (ipa_tm_mark_needed_node): Remove
- (ipa_tm_mark_force_output_node): New function.
- (ipa_tm_create_version_alias, ipa_tm_create_version): Update.
- * gimple-fold.c (can_refer_decl_in_current_unit_p): Be lax about
- aliases.
- * varasm.c (mark_decl_referenced): Update.
- (find_decl_and_mark_needed): Remove.
- (find_decl): New function.
- (weak_finish, finish_aliases_1, assemble_alias): Update; do not mark
- alias targets as needed.
- (dump_tm_clone_pairs): Update.
- * tree-inline.c (copy_bb): Update check.
- * symtab.c (dump_symtab_base): Dump force_output.
- * tree-ssa-structalias.c (ipa_pta_execute): Use force_output.
- * passes.c (execute_todo): Fix dumping.
- * varpool.c (decide_is_variable_needed, varpool_finalize_decl): Update.
- (varpool_analyze_pending_decls): Alias target is reachable.
- (varpool_create_variable_alias): Finalize weakrefs.
-
-2012-04-20 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/53021
- * alias.h (UNIQUE_BASE_VALUE_SP, UNIQUE_BASE_VALUE_ARGP,
- UNIQUE_BASE_VALUE_FP, UNIQUE_BASE_VALUE_HFP): Define.
- * alias.c (init_alias_targets): Use UNIQUE_BASE_VALUE_*
- macros instead of constants.
- * dse.c (record_store): Check for SP ADDRESS by comparing
- XWINT to UNIQUE_BASE_VALUE_SP instead of expecting
- XEXP to be stack_pointer_rtx.
-
-2012-04-20 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-copy.c (propagate_tree_value_into_stmt): Use
- update_call_from_tree when propagating into a call.
-
-2012-04-20 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_emit_savres_rtx): Formatting.
- (rs6000_emit_prologue, rs6000_emit_epilogue): Likewise. Rename
- sp_offset to frame_off. Move world save code earlier.
-
-2012-04-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53050
- * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine):
- Do only one transform on COND_EXPRs at the same time.
-
-2012-04-19 Jan Hubicka <jh@suse.cz>
-
- * symtab.c (dump_symtab_base): Revert accidental checkin.
-
-2012-04-20 Alan Modra <amodra@gmail.com>
-
- PR target/53040
- * config/rs6000/rs6000.c (rs6000_savres_strategy): When using
- static chain, set REST_INLINE_FPRS too.
-
-2012-04-20 Thomas Schwinge <thomas@codesourcery.com>
-
- * tree-dump.c (dequeue_and_dump) <BIT_FIELD_REF>: Dump the three child
- nodes.
-
-2012-04-20 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-loop.c (vect_analyze_loop_operations): Do not vectorize
- loops that can never run more often than the vectorization factor.
-
-2012-04-19 Jan Hubicka <jh@suse.cz>
-
- * symtab.c (dump_symtab_base): Fix dumping of asm lists.
-
-2012-04-19 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/sync.md (fetchop_name): Change ior attribute to "or".
-
-2012-04-19 Jim Meyering <meyering@redhat.com>
-
- * genmodes.c (make_complex_modes): Avoid unnecessary use of strncpy.
- We verified above that the string(including trailing NUL) fits in buf,
- so just use memcpy.
-
-2012-04-19 Richard Guenther <rguenther@suse.de>
-
- * symtab.c (dump_symtab_base): Use TREE_STRING_POINTER
- for dumping DECL_SECTION_NAME.
-
-2012-04-19 Michael Matz <matz@suse.de>
-
- PR middle-end/52977
- * tree.h (VECTOR_CST_NELTS): Use part number of types again.
- (struct tree_vector): Adjust GTY length.
- * tree.c (make_vector_stat): Don't set VECTOR_CST_NELTS.
-
- * gengtype.c (struct walk_type_data): Add in_record_p and loopcounter
- members.
- (walk_type, <TYPE_POINTER, TYPE_ARRAY>): Handle case where our
- caller emitted the length calulation already.
- (walk_type, <TYPE_UNION, TYPE_STRUCT>): Emit length calculations
- before handling any of the fields for structs.
-
-2012-04-19 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53031
- * tree-vrp.c (adjust_range_with_scev): Revert back to
- using max_loop_iterations.
-
-2012-04-19 Michael Matz <matz@suse.de>
-
- * diagnostic.c (emit_diagnostic): Move va_end call after user
- of the va_list.
- (warning, warning_at, pedwarn, permerror): Ditto.
-
-2012-04-19 Richard Guenther <rguenther@suse.de>
-
- * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
- array access.
-
-2012-04-19 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/53033
- * config/avr/avr.c (avr_out_load_psi): Fix assembler template for
- the case *(X+const).
-
-2012-04-19 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * config/arm/sync.md (sync_optab): Change ior attribute to "or".
-
-2012-04-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/52283/37985
- * stmt.c (warn_if_unused_value): Skip NOP_EXPR.
- * convert.c (convert_to_integer): Don't set TREE_NO_WARNING.
-
-2012-04-19 Richard Guenther <rguenther@suse.de>
-
- PR rtl-optimization/44688
- * loop-iv.c (determine_max_iter): Only return max_iter.
- (iv_number_of_iterations): Also use the recorded loop bound
- on the maximum number of iterations.
- * loop-unroll.c (decide_unroll_runtime_iterations): Use
- max_iter to avoid unrolling loops that do not roll.
- (decide_unroll_stupid): Likewise.
-
-2012-04-18 Steven Bosscher <steven@gcc.gnu.org>
-
- * targhooks.c (default_case_values_threshold): Fix code style nit.
-
- * stmt.c (add_case_node, expand_case): Move logic to remove/reduce
- case range and type folding from here...
- * gimplify.c (gimplify_switch_expr): ... to here. Expect NULL_TREE
- type, as documented in tree.def.
-
-2012-04-18 Jan Hubicka <jh@suse.cz>
-
- * cgraph.h (verify_symtab, verify_symtab_node, verify_symtab_base):
- Declare.
- * cgraphunit.c (verify_cgraph_node): Verify symtab base; do not verify
- cgraph hash and same comdat groups.
- (cgraph_optimize): Verify symbol table.
- * ipa.c (cgraph_remove_unreachable_nodes): Verify symbol table.
- (dissolve_same_comdat_group_list): Work on symtab nodes.
- (function_and_variable_visibility): Dissolve variable same comdat group
- lists, too.
- * symtab.c: Include timevar.h
- (verify_symtab_base, verify_symtab_node, verify_symtab): New functions.
-
-2012-04-18 Steven Bosscher <steven@gcc.gnu.org>
-
- * tree-switch-conversion.c (info): Remove global pass info.
- (check_range, check_process_case, check_final_bb, create_temp_arrays,
- free_temp_arrays, gather_default_values, build_constructors,
- array_value_type, build_one_array, build_arrays, gen_def_assigns,
- fix_phi_nodes, gen_inbound_check): Pass info around from ...
- (process_switch): ... here. Unify message format. Return a const
- char pointer to the failure reason message.
- (do_switchconv): Unify message format. Update process_switch usage.
-
- * tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands.
- * tree-cfg.c (edge_to_cases): Fix documentation.
-
-2012-04-18 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/sync.md (fetchop_name): Change ior attribute to "or".
-
-2012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/52976
- * tree-ssa-reassoc.c (add_to_ops_vec_max_rank): Delete.
- (possibly_move_powi): New function.
- (rewrite_expr_tree): Call possibly_move_powi.
- (rewrite_expr_tree_parallel): Likewise.
- (attempt_builtin_powi): Change call of add_to_ops_vec_max_rank to
- call add_to_ops_vec instead.
-
-2012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/52976
- * tree-ssa-reassoc.c (stmt_is_power_of_op): New function.
- (decrement_power): Likewise.
- (propagate_op_to_single_use): Likewise.
- (zero_one_operation): Handle __builtin_pow* calls in linearized
- expression trees; factor logic into propagate_op_to_single_use.
- (undistribute_ops_list): Allow operands with repeat counts > 1.
-
-2012-04-18 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/44688
- * cfgloop.h (record_niter_bound): Declare.
- * tree-ssa-loop-niter.c (record_niter_bound): Export.
- Update the estimation with the upper bound here...
- (estimate_numbers_of_iterations_loop): ... instead of here.
- Do not forcefully reset a recorded upper bound.
- * tree-vect-loop-manip.c (vect_do_peeling_for_alignment):
- Record the maximum number of loop iterations of the prologue loop.
-
-2012-04-18 Jan Hubicka <jh@suse.cz>
-
- * lto-symtab.c (lto_cgraph_replace_node): Update.
- * cgraphbuild.c (record_reference, record_type_list,
- record_eh_tables, mark_address, mark_load, mark_store): Update.
- * cgraph.c (cgraph_same_body_alias, dump_cgraph_node,
- cgraph_create_virtual_clone, cgraph_for_node_thunks_and_aliases):
- Update.
- * cgraph.h (symtab_node_def, symtab_node, const_symtab_node): Remove.
- (cgraph_alias_aliased_node, varpool_alias_aliased_node): Update.
- * reload.c: Fix typo in comment.
- * rtlanal.c: Likewise.
- * tree-emultls.c (gen_emutls_addr): Update.
- * ipa-reference.c (analyze_function): Update.
- * cgraphunit.c (cgraph_analyze_function,
- cgraph_process_same_body_aliases, assemble_thunks_and_aliases):
- Update.
- * ipa-ref.c (ipa_record_reference): Reorg to avoid reference types.
- (ipa_remove_reference): Likewise.
- (ipa_remove_all_refering): Rename to ...
- (ipa_remove_all_referring): ... this one; update.
- (ipa_dump_references): Update.
- (ipa_dump_referring): Update.
- (ipa_clone_references): Update.
- (ipa_clone_refering): Rename to ...
- (ipa_clone_referring): ... this one; update.
- (ipa_ref_cannot_lead_to_return): Update.
- (ipa_ref_has_aliases_p): Update.
- * ipa-ref.h (symtab_node_def, symtab_node, const_symtab_node): New
- forward typedefs.
- (ipa_ref_type): Remove.
- (ipa_ref_ptr_u): Remove.
- (ipa_ref): Remove referencing, refered, refered_index, refering_type
- and refered_type; add referring, referred and referred_index.
- (ipa_ref_list): Rename refering to referring.
- (ipa_record_reference, ipa_remove_all_referring, ipa_dump_referring,
- ipa_clone_references, ipa_clone_referring): Update prototypes.
- * lto-cgraph.c (referenced_from_other_partition_p): Update.
- (lto_output_ref): Update.
- (add_references): Update.
- (input_varpool_node): Update.
- (input_refs): Update.
- * ipa-ref-inline.h (ipa_ref_node): Update.
- (ipa_ref_varpool_node): Update.
- (ipa_ref_referring_node): Update.
- (ipa_ref_referring_varpool_node): Update.
- (ipa_ref_referring_ref_list): Update.
- (ipa_ref_referred_ref_list): Update.
- (ipa_ref_list_first_referring): Update.
- (ipa_empty_ref_list): Update.
- (ipa_ref_list_refering_iterate): Rename to ...
- (ipa_ref_list_referring_iterate): ... this one.
- * cse.c: Update comment.
- * ipa-utils.c (ipa_reverse_postorder): Update.
- * tree-ssa-alias.c: Update.
- * ipa-inline.c (reset_edge_caches): Update.
- (update_caller_keys): Update.
- * ipa-inline.h: Update comments.
- * jump.c: Update comment.
- * alias.c: Likewise.
- * ipa.c (process_references): Update.
- (cgraph_remove_unreachable_nodes): Likewise.
- (ipa_discover_readonly_nonaddressable_var): Likewise.
- (cgraph_address_taken_from_non_vtable_p): Likewise.
- * trans-mem.c (ipa_tm_execute): Update.
- * simplify-rtx.c: Fix comment.
- * rtl.c: Fix comment.
- * symtab.c (symtab_unregister_node): Update.
- * varpool.c (dump_varpool_node): Update.
- (varpool_analyze_pending_decls): Update.
- (assemble_aliases): Update.
- (varpool_for_node_and_aliases): Update.
-
-2012-04-18 Richard Guenther <rguenther@suse.de>
-
- * cfgloop.h (estimate_numbers_of_iterations_loop): Remove
- use_undefined_p parameter.
- * tree-flow.h (estimate_numbers_of_iterations): Likewise.
- * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
- Likewise.
- (estimate_numbers_of_iterations): Likewise.
- (estimated_loop_iterations): Adjust.
- (max_loop_iterations): Likewise.
- (scev_probably_wraps_p): Likewise.
- * tree-ssa-loop.c (tree_ssa_loop_bounds): Likewise.
- * tree-vrp.c (adjust_range_with_scev): Use max_stmt_executions,
- not max_loop_iterations.
- (execute_vrp): Remove explicit number of iterations estimation.
-
-2012-04-18 Enkovich Ilya <ilya.enkovich@intel.com>
-
- * config/i386/linux-common.h: New.
-
- * config.gcc: Add i386/linux-common.h before
- all i386/linux.h and i386/linux64.h usages.
-
- * config/i386/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): New.
- (LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
- * config/i386/gnu-user64.h: Likewise.
-
- * config/i386/gnu-user.common.h (GNU_USER_TARGET_CC1_SPEC): New.
- (CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC.
- (GNU_USER_TARGET_MATHFILE_SPEC): New.
- (ENDFILE_SPEC): Use GNU_USER_TARGET_MATHFILE_SPEC.
-
-2012-04-18 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_node_name): Remove.
- (dump_cgraph_node): Use dump_symtab_base; reformat.
- * cgraph.h (symtab_node_asm_name, symtab_node_name, dump_symtab,
- debug_symtab, dump_symtab_node, debug_symtab_node, dump_symtab_base):
- Declare.
- (cgraph_node_name, varpool_node_name): Remove.
- (cgraph_node_asm_name, varpool_node_asm_name,
- cgraph_node_name, varpool_node_name): New.
- * tree-pass.h (TODO_dump_cgraph): Rename to ...
- (TODO_dump_symtab): ... this one.
- * ipa-cp (pass_ipa_cp): Update.
- * ia-reference.c (generate_summary, read_write_all_from_decl,
- propagate, ipa_reference_read_optimization_summary): Update.
- * cgraphunit.c (cgraph_analyze_functions): Update.
- (cgraph_optimize): Update.
- * ipa-ref.c (ipa_dump_references): Update.
- (ipa_dump_refering): Update.
- * ipa-inline.c (pass_ipa_inline): Update.
- * matrix-reorg.c (pass_ipa_matrix_reorg): Update.
- * ipa.c (pass_ipa_function_visibility,
- pass_ipa_whole_program_visibility): Update.
- * tree-sra.c (pass_early_ipa_sra): Update.
- * symtab.c: Include langhooks.h
- (symtab_node_asm_name): New.
- (symtab_node_name): New.
- (symtab_type_names): New static var.
- (dump_symtab_base): New.
- (dump_symtab_node, dump_symtab): New.
- (debug_symtab_node, debug_symtab): New.
- * tree-ssa-structalias.c: Dump symbol table.
- * pases.c (execute_todo): Handle TODO_dump_symtab instead
- of TODO_dump_cgraph.
- * varpoo.c (varpool_node_name): Remove.
- (dump_varpool_node): Use dump_symtab_base; reformat.
-
-2012-04-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * doc/invoke.texi (Language Independent Options): @item should be
- before @opindex.
-
-2012-04-17 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR bootstrap/53021
- * rtl.c (rtx_code_size): Handle ADDRESS.
-
-2012-04-17 Tom de Vries <tom@codesourcery.com>
-
- * tree-iterator.c (append_to_statement_list_1): Handle case that *list_p
- is not a STMT_LIST.
-
-2012-04-17 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/53020
- * config/i386/sync.md (atomic_<code><mode>): Rename to
- atomic_<logic><mode>.
-
-2012-04-17 Richard Sandiford <rdsandiford@googlemail.com>
-
- * rtl.def (ADDRESS): Turn operand into a HOST_WIDE_INT.
- * alias.c (reg_base_value): Expand and update comment.
- (arg_base_value): New variable.
- (unique_id): Move up file.
- (unique_base_value, unique_base_value_p, known_base_value_p): New.
- (find_base_value): Use arg_base_value and known_base_value_p.
- (record_set): Document REG_NOALIAS handling. Use unique_base_value.
- (find_base_term): Use known_base_value_p.
- (base_alias_check): Use unique_base_value_p.
- (init_alias_target): Initialize arg_base_value. Use unique_base_value.
- (init_alias_analysis): Use 1 as the first id for REG_NOALIAS bases.
-
-2012-04-17 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Remove DImode.
-
-2012-04-17 Michael Matz <matz@suse.de>
-
- PR tree-optimization/18437
- * tree-vectorizer.h (_stmt_vec_info.stride_load_p): New member.
- (STMT_VINFO_STRIDE_LOAD_P): New accessor.
- (vect_check_strided_load): Declare.
- * tree-vect-data-refs.c (vect_check_strided_load): New function.
- (vect_analyze_data_refs): Use it to accept strided loads.
- * tree-vect-stmts.c (vectorizable_load): Ditto and handle them.
-
-2012-04-17 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53011
- * tree-eh.c (cleanup_empty_eh_merge_phis): Properly discard
- loops when redirecting an entry or latch edge.
-
-2012-04-17 Bernd Schmidt <bernds@codesourcery.com>
-
- * sel-sched.c (sel_global_init): Revert previous change.
-
-2012-04-17 Richard Guenther <rguenther@suse.de>
-
- * tree-flow.h (array_at_struct_end_p): Move declaration ...
- * tree.h (array_at_struct_end_p): ... here.
- * tree-ssa-loop-niter.c (array_at_struct_end_p): Move ...
- * expr.c (array_at_struct_end_p): ... here. Rewrite.
-
-2012-04-17 Steven Bosscher <steven@gcc.gnu.org>
-
- * stmt.c (cost_table_, use_cost_table, cost_table_initialize,
- COST_TABLE): Remove.
- (estimate_case_costs): Remove.
- (expand_case): Do not call estimate_case_costs
- to set use_cost_table.
- (balance_case_nodes): Do not use use_cost_table.
-
-2012-04-16 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_hash, assembler_name_hash): Remove.
- (hash_node, eq_node): Remove.
- (cgraph_create_node): Do not handle hashtable.
- (cgraph_get_node): Remove.
- (cgraph_insert_node_to_hashtable): Remove.
- (hash_node_by_assembler_name): Remove.
- (eq_assembler_name): Remove.
- (cgraph_node_for_asm): Rewrite.
- (cgraph_find_replacement_node): Break out from ...
- (cgraph_remove_node): ... here; do not maintain hashtables.
- (change_decl_assembler_name): Remove.
- (cgraph_clone_node): Do not maintain hashtables.
- * cgraph.h (const_symtab_node): New typedef.
- (cgraph_insert_node_to_hashtable): Remove.
- (symtab_get_node, symtab_node_for_asm,
- symtab_insert_node_to_hashtable): Declare.
- (cgraph_find_replacement_node): Declare.
- (cgraph_get_node, varpool_get_node): Turn into inlines.
- (cgraph, varpool): Work sanely on NULL pointers.
- (FOR_EACH_SYMBOL): New walker.
- * ipa-inline-transform.c (save_inline_function_body): Use
- symtab_insert_node_to_hashtable.
- * symtab.c: Include ggc.h and diagnostics.h
- (symtab_hash, assembler_name_hash): New static vars;
- (hash_node, eq_node, hash_node_by_assembler_name,
- eq_assembler_name, insert_to_assembler_name_hash,
- unlink_from_assembler_name_hash): New.
- (symtab_register_node): Update hashtables.
- (symtab_insert_node_to_hashtable): New.
- (symtab_unregister_node): Update hashtables.
- (symtab_get_node): New.
- (symtab_node_for_asm): New.
- (change_decl_assembler_name): New.
- * Makefile.in (symtab.o): Needs GTY.
- * varpool.c (varpool_hash): Remove.
- (hash_varpool_node, eq_varpool_node, varpool_get_node): Remove.
- (varpool_node): Rewrite using varpool_get_node.
- (varpool_remove_node): DO not maintain hashtables.
- (varpool_node_for_asm): Rewrite.
-
-2012-04-16 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi: Copy-edit to put verbs in the present tense
- when describing the current behavior of GCC.
-
-2012-04-16 Richard Sandiford <rdsandiford@googlemail.com>
-
- * genemit.c (gen_exp): Remove ADDRESS handling.
- * genoutput.c (scan_operands): Likewise.
- * genpeep.c (match_rtx): Likewise.
- * genrecog.c (add_to_sequence): Likewise.
-
-2012-04-16 David Edelsohn <dje.gcc@gmail.com>
-
- * doc/install.texi (Specific, *-ibm-aix*): Update assembler bug status.
-
-2012-04-16 Martin Jambor <mjambor@suse.cz>
-
- * tree-sra.c (build_ref_for_model): Create COMPONENT_REFs only for
- bit-fields.
-
-2012-04-16 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- PR target/51819
- * config/arm/arm.c (arm_print_operand): Fix invalid alignment
- hints for 'A' operand types.
-
-2012-04-16 Jan Hubicka <jh@suse.cz>
-
- * cgraph.h (symtab_node_base): Add next and previous pointers.
- (cgraph_node): Remove next and preivous pointers.
- (varpool_node): Likewise; remove next/previous GTY marker;
- it is not type safe.
- (symtab_node_def): Update GTY marker
- (x_cgraph_nodes, cgraph_nodes): Remove.
- (symtab_nodes): New function.
- (cgraph_order): Rename to ...
- (symtab_order): ... this one.
- (symtab_register_node, symtab_unregister_node, symtab_remove_node):
- Declare.
- (x_varpool_nodes, varpool_nodes): Remove.
- (FOR_EACH_STATIC_VARIABLE): Update.
- (symtab_function_p, symtab_variable_p): New function.
- (FOR_EACH_VARIABLE): Update.
- (varpool_first_variable, varpool_next_variable): New functions.
- (FOR_EACH_VARIABLE): Update.
- (cgraph_first_defined_function): Update.
- (cgraph_next_defined_function, cgraph_next_defined_function): Update.
- (FOR_EACH_DEFINED_FUNCTION, FOR_EACH_FUNCTION): Update.
- (cgraph_first_function, cgraph_next_function): New.
- (FOR_EACH_FUNCTION): Update.
- (cgraph_first_function_with_gimple_body,
- cgraph_next_function_with_gimple_body): Update.
- * symtab.c: New file.
- * cgraph.c: Update copyright dates.
- (x_cgraph_nodes, cgraph_order): Remove.
- (NEXT_FREE_NODE): Update.
- (SET_NEXT_FREE_NODE): New.
- (cgraph_create_node_1): Remove common code.
- (cgraph_create_node): Remove common code; call symtab_register_node.
- (cgraph_remove_node): Remove common code; call symtab_unregister-node.
- (cgraph_add_asm_node): Update.
- (cgraph_clone_node): Register new node.
- * cgraphunit.c (process_function_and_variable_attributes): Update.
- (cgraph_analyze_functions): Update.
- (cgraph_analyze_functions): Update.
- (cgraph_output_in_order): Update.
- * lto-cgraph.c (input_node, input_varpool_node, input_cgraph_1):
- Update.
- * ipa-inline.c (recursive_inlining): Update.
- * lto-streamer-in.c (lto_input_toplevel_asms): Update.
- * ipa.c (cgraph_remove_unreachable_nodes): Update.
- * Makefile.in: Add symtab.o
- * varpool.c (x_varpool_nodes): Remove
- (varpool_node): Remove common code; call symtab_register_node.
- (varpool_remove_node): Remove common code; call symtab_unregister_node.
-
-2012-04-16 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52977
- * tree.h (VECTOR_CST_NELTS): Adjust.
- (struct tree_vector): Add explicit length field.
- (make_vector_stat): Declare.
- (make_vector): Define.
- * tree.c (make_vector_stat): New function.
- (build_vector_stat): Use it.
- * tree-streamer-in.c (streamer_alloc_tree): Likewise.
-
-2012-04-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/52976
- * tree-ssa-reassoc.c (add_to_ops_vec_max_rank): New function.
- (undistribute_ops_list): Ops with repeat counts aren't eligible for
- undistribution.
- (attempt_builtin_powi): Call add_to_ops_vec_max_rank.
-
-2012-04-16 Jan Hubicka <jh@suse.cz>
-
- * cgraph.h (FOR_EACH_VARIABLE, FOR_EACH_VARIABLE, FOR_EACH_FUNCTION):
- New macros.
- * lto-symtab.c (lto_symtab_merge_cgraph_nodes): Use FOR_EACH
- walkers to walk cgraph and varpool.
- * cgraph.c (cgraph_node_for_asm): Likewise.
- (dump_cgraph): Likewise.
- * value-prof.c (init_node_map): Likewise.
- * tree.c (free_lang_data_in_cgraph): Likewise.
- * tree-emutls.c: (ipa_lower_emutls): Likewise.
- * ipa-reference.c (generate_summary, propagate): Likewise.
- * cgraphunit.c (verify_cgraph, cgraph_process_same_body_aliases,
- cgraph_mark_functions_to_output, cgraph_output_in_order,
- output_weakrefs, cgraph_materialize_all_clones,
- cgraph_optimize): Likewise.
- * lto-cgraph.c (merge_profile_summaries): Likewise.
- (input_cgraph): Likewise.
- * ipa-pure-const.c (generate_summary): Likewise.
- (propagate): Likwise.
- * ipa-utils.c (ipa_reduced_postorder): Likewise.
- (ipa_free_postorder_info): Likewise.
- (ipa_reverse_postorder): Likewise.
- * ipa-inline.c (ipa_inline): Likewise.
- * matrix-reorg.c (find_matrices_decl): Likewise.
- (matrix_reorg): Likewise.
- * tree-vectorizer.c (increase_alignment): Likewise.
- * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
- (function_and_variable_visibility): Likewise.
- (whole_program_function_and_variable_visibility): Likewise.
- (ipa_cdtor_merge): Likewise.
- * trans-mem.c (ipa_tm_execute): Likewise.
- * ipa-inline-analysis.c (dump_inline_summaries): Likewise.
- * ipa-prop.c (ipa_print_all_jump_functions): Likewise.
- (ipa_print_all_params): Likewise.
- (ipa_update_after_lto_read): Likewise.
- * tree-profie.c (tree_profiling): Likewise.
- * tree-ssa-structalias.c (ipa_pta_execute): Likewise.
- * passes.c (dump_passes): Likewise.
- (do_per_function): Likewise.
- (ipa_write_summaries): Likewise.
- * varpool.c (dump_varpool): Likewise.
- (varpool_node_for_asm): Likewise.
- (varpool_assemble_pending_decls): Likewise.
-
-2012-04-16 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52975
- * tree-if-conv.c (predicate_bbs): Do not simplify inverted
- condition but always mark it with TRUTH_NOT_EXPR.
-
-2012-04-16 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52975
- * tree-ssa-forwprop.c (combine_cond_exprs): New function.
- (ssa_forward_propagate_and_combine): Call it for COND_EXPRs
- and VEC_COND_EXPRs. Also combine into VEC_COND_EXPRs condition.
- * fold-const.c (operand_equal_p): Handle TARGET_MEM_REF.
-
-2012-04-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (ssse3_plusminus): New code iterator.
- (avx2_ph<plusminus_mnemonic>wv16hi3): Macroize insn from
- avx2_ph{add,adds,sub,subs}wv16hi3 using ssse3_plusminus code iterator.
- (ssse3_ph<plusminus_mnemonic>wv8hi3): Macroize insn from
- ssse3_ph{add,adds,sub,subs}wv8hi3 using ssse3_plusminus code iterator.
- (ssse3_ph<plusminus_mnemonic>wv4hi3): Macroize insn from
- ssse3_ph{add,adds,sub,subs}wv4hi3 using ssse3_plusminus code iterator.
-
- (avx2_ph<plusminus_mnemonic>dv8si3): Macroize insn from
- avx2_ph{add,adds,sub,subs}dv8si3 using plusminus code iterator.
- (ssse3_ph<plusminus_mnemonic>dv4si3): Macroize insn from
- ssse3_ph{add,adds,sub,subs}dv4si3 using plusminus code iterator.
- (ssse3_ph<plusminus_mnemonic>dv2si3): Macroize insn from
- ssse3_ph{add,adds,sub,subs}dv2si3 using plusminus code iterator.
-
- (xop_plus): New code iterator.
- (macs): New code attribute.
- (macds): Ditto.
- (xop_p<macs><ssemodesuffix><ssemodesuffix>): Macroize insn from
- xop_pmacs{,s}{ww,dd} using xop_plus code iterator and VI24_128 mode
- iterator.
- (xop_p<macs>dql): Macroize insn from xop_pmacs{,s}dql using
- xop_plus code iterator.
- (xop_p<macs>dqh): Macroize insn from xop_pmacs{,s}dqh using
- xop_plus code iterator.
- (xop_p<macs>wd): Macroize insn from xop_pmacs{,s}wd using
- xop_plus code iterator.
- (xop_p<madcs>wd): Macroize insn from xop_pmadcs{,s}wd using
- xop_plus code iterator.
-
- (xop_phadd<u>bw): Macroize insn from xop_phadd{,u}bw usign
- any_extend code iterator.
- (xop_phadd<u>bd): Macroize insn from xop_phadd{,u}bd usign
- any_extend code iterator.
- (xop_phadd<u>bq): Macroize insn from xop_phadd{,u}bq usign
- any_extend code iterator.
- (xop_phadd<u>wd): Macroize insn from xop_phadd{,u}wd usign
- any_extend code iterator.
- (xop_phadd<u>wq): Macroize insn from xop_phadd{,u}wq usign
- any_extend code iterator.
- (xop_phadd<u>dq): Macroize insn from xop_phadd{,u}dq usign
- any_extend code iterator.
-
-2012-04-14 Tom de Vries <tom@codesourcery.com>
-
- * cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by
- call to delete_insn. Remove code to reorder BASIC_BLOCK note and
- DELETED_LABEL note, and move it to ...
- * cfgrtl.c (delete_insn): ... here. Change return type to void.
- (delete_insn_and_edges): Likewise.
- (delete_insn_chain): Handle new return type of delete_insn. Delete
- chain backwards rather than forwards.
- * rtl.h (delete_insn, delete_insn_and_edges): Change return type to
- void.
- * cfglayout.c (fixup_reorder_chain): Delete unused label.
-
-2012-04-14 Jan Hubicka <jh@suse.cz>
-
- * cgraph.h: Update copyrights;
- (symtab_node): Turn to union typedef.
- (symtab_node_base): New structure.
- (symtab_type): Add SYMTAB_SYMBOL tag.
- (cgraph_node): Annotate some pinters with nested_ptr.
- (varpool_node): Likewise.
- (cgraph_local_info): Remove lto_file_data
- and externally_visible.
- (cgraph_node): Remove decl; same_comdat_group list;
- aux; ref_list; order; address_taken; reachable_from_other_parittion,
- in_other_partition; resolution.
- (varpool_node): Remove decl; same_comdat_group;
- ref_list; lto_file_data; aux; order; resolution; externally_visible;
- used_from_other_partition; in_other_partition.
- (symtab_node_def): New union.
- (cgraph, varpool): Update.
- (varpool_first_static_initializer, varpool_next_static_initializer,
- cgraph_only_called_directly_or_aliased_p,
- varpool_can_remove_if_no_refs, varpool_can_remove_if_no_refs,
- varpool_all_refs_explicit_p, cgraph_alias_aliased_node,
- varpool_alias_aliased_node, cgraph_edge_recursive_p): Update
- field references.
- * cgraph.c: Likewise.
- (cgraph_hash, assembler_name_hash): Turn into symtab_node.
- * cgraphbuild.c: Likewise.
- * lto-symtab.c: Likewise.
- * c-gimplify.c: Likewise.
- * value-prof.c: Likewise.
- * tree.c: Likewise.
- * ipa-cp.c: Likewise.
- * tree-emutls.c: Likewise.
- * ipa-inline-transform.c: Likwise.
- * ipa-reference.c: Likewise.
- * cgraphunit.c: Likewise.
- * ipa-ref.c: Likewise.
- * lto-cgraph.c: Likewise.
- * ipa-ref-inline.h: Likewise.
- * ipa-pure-const.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * ipa-utils.c: Likewise.
- * ipa-inline.c: Likewise.
- * matrix-reorg.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-vectorizer.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa.c: Likewise.
- * trans-mem.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * gimplify.c: Likewise.
- * cfgexpand.c: Likewise.
- * tree-sra.c: Likewise.
- * ipa-prop.c: Likewise.
- * varasm.c: Likewise.
- * tree-nested.c: Likewise.
- * tree-inline.c: Likewise.
- * tree-profile.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * passes.c: Likewise.
- * varpool.c: Likewise.
-
-2012-04-14 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-tail-merge.c (stmt_local_def): New function, factored out of
- same_succ_hash, with local_def inlined. Use SINGLE_SSA_DEF_OPERAND.
- Use FOR_EACH_IMM_USE_FAST instead of FOR_EACH_IMM_USE_STMT. Remove use
- of find_edge.
- (gsi_advance_fw_nondebug_nonlocal): New function.
- (local_def): Removed function.
- (same_succ_hash): Use stmt_local_def.
- (same_succ_equal): Use gsi_advance_fw_nondebug_nonlocal.
- (gsi_advance_bw_nondebug_nonlocal): Use stmt_local_def.
-
-2012-04-13 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386-c.c (ix86_target_macros): Define _ILP32
- and __ILP32__ for x32.
-
-2012-04-13 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/52939
- * gimple-fold.c (gimple_get_virt_method_for_binfo): Bail out if
- fold_ctor_reference returns a zero constant.
-
-2012-04-13 Enkovich Ilya <ilya.enkovich@intel.com>
-
- * config.gcc: Add i386/gnu-user-common.h before all
- i386/gnu-user.h and i386/gnu-user64.h usages.
-
- * config/i386/gnu-user-common.h: New.
-
- * config/i386/gnu-user.h (CPP_SPEC): Moved to gnu-user-common.h.
- (CC1_SPEC): Likewise.
- (ENDFILE_SPEC): Likewise.
- (DEFAULT_PCC_STRUCT_RETURN): Likewise.
- (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Likewise.
- (TARGET_OS_CPP_BUILTINS): Likewise.
- (LIBGCC2_HAS_TF_MODE): Likewise.
- (LIBGCC2_TF_CEXT): Likewise.
- (TF_SIZE): Likewise.
- (TARGET_ASM_FILE_END): Likewise.
- (STACK_CHECK_MOVING_SP): Likewise.
- (STACK_CHECK_STATIC_BUILTIN): Likewise.
- * config/i386/gnu-user64.h: Likewise.
-
-2012-04-13 Martin Jambor <mjambor@suse.cz>
-
- * expr.c (expand_expr_real_1): Pass type, not the expression, to
- set_mem_attributes for a memory temporary. Do not call the function
- for the memory temporary created for a bitfield.
-
-2012-04-13 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/48866
- * df.h (enum debug_temp_where): New.
- (dead_debug_init, dead_debug_finish) Declare.
- (dead_debug_add, dead_debug_insert_temp): Declare.
- (struct dead_debug_use, struct dead_debug): Moved from...
- * df-problems.c: ... here.
- (df_set_unused_notes_for_mw): Bind debug uses of unused regno
- to a debug temp.
- (df_create_unused_note): Likewise.
- (df_set_dead_notes_for_mw): Move comment where it belongs.
- (dead_debug_init): Export.
- (dead_debug_reset_uses): New, factored out of...
- (dead_debug_finish): ...this. Export.
- (dead_debug_reset): Remove.
- (dead_debug_add): Export.
- (dead_debug_insert_before): Rename to...
- (dead_debug_insert_temp): ... this. Add where argument. Export.
- Locate stored value for BEFORE_WITH_VALUE. Avoid repeat inserts.
- Return insertion count.
- (df_note_bb_compute): Adjust.
- * dce.c (word_dce_process_block): Adjust dead debug uses.
- (dce_process_block): Likewise.
-
-2012-04-13 Alexandre Oliva <aoliva@redhat.com>
-
- * df-problems.c (df_note_bb_compute): Do not take note of
- debug uses for whose REGs we won't emit DEAD or UNUSED notes.
-
-2012-04-13 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/51570
- * var-tracking.c (expand_depth): New type.
- (onepart_aux, expand_loc_callback_data): Change depth type to it.
- (loc_exp_dep_alloc): Adjust initializer.
- (update_depth): Use new type. Add entryvals.
- (vt_expand_var_loc_chain): Take note of expansions with
- ENTRY_VALUEs, but don't accept them right away. Run an optional
- second pass accepting the minimum ENTRY_VALUE count found in the
- first pass.
- (vt_expand_loc_callback, INIT_ELCD): Adjust.
-
-2012-04-13 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add
- parameters vuse and vuse_escaped.
- (find_duplicate): Init vuse1, vuse2 and vuse_escaped. Pass to
- gsi_advance_bw_nondebug_nonlocal. Return if vuse_escaped and
- vuse1 != vuse2.
-
-2012-04-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52969
- * tree-if-conv.c (predicate_mem_writes): Properly gimplify
- the condition for the COND_EXPR and handle predicate negation
- by swapping the COND_EXPR arms.
-
-2012-04-13 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_devirt_pass): Remove use of
- TODO_dump_func flag.
-
-2012-04-13 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/52203
- PR rtl-optimization/52715
-
- Revert the 2012-03-07 fix for PR 52203.
- * sel-sched.c (reset_sched_cycles_in_current_ebb): Check that
- the insn does not modify DFA right before issuing, adjust
- issue_rate accordingly.
-
-2012-04-13 Richard Guenther <rguenther@suse.de>
-
- PR c/52549
- * c-typeck.c (pointer_diff): Remove bogus assert.
-
-2012-04-13 Richard Guenther <rguenther@suse.de>
-
- PR c/52862
- * convert.c (convert_to_pointer): Remove special-casing of zero.
-
-2012-04-13 Joey Ye <joey.ye@arm.com>
-
- * config/arm/constraints.md (Pe): New constraint.
- * config/arm/arm.md: New split for imm 256-510.
-
-2012-04-13 Terry Guo <terry.guo@arm.com>
-
- * config/arm/arm-cores.def: Added core cortex-m0plus.
- * config/arm/arm-tune.md: Regenerated.
- * config/arm/arm-tables.opt: Regenerated.
- * doc/invoke.texi: Added entry for cpu ARM cortex-m0plus.
-
-2012-04-13 Alan Modra <amodra@gmail.com>
-
- PR target/52828
- * config/rs6000/rs6000.c (rs6000_emit_stack_tie): Rewrite with
- tie regs on destination of sets. Delete forward declaration.
- (rs6000_emit_stack_reset): Update rs6000_emit_stack_tie calls.
- (rs6000_emit_prologue): Likewise.
- (rs6000_emit_epilogue): Likewise. Use in place of gen_frame_tie
- and gen_stack_tie.
- (is_mem_ref): Use tie_operand to recognise stack ties.
- * config/rs6000/predicates.md (tie_operand): New.
- * config/rs6000/rs6000.md (restore_stack_block): Generate new
- stack tie rtl.
- (restore_stack_nonlocal): Likewise.
- (stack_tie): Update.
- (frame_tie): Delete.
-
-2012-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * tree-ssa-reassoc.c (attempt_builtin_powi_stats): Change %ld to
- HOST_WIDE_INT_PRINT_DEC in format strings.
-
-2012-04-12 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/52932
- * config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second
- argument type to __m256i. Update call to __builtin_ia32_permvarsf256.
- * config/i386/sse.md (UNSPEC_VPERMVAR): New.
- (UNSPEC_VPERMSI, UNSPEC_VPERMSF): Remove.
- (avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2.
- (avx2_permvar<mode>): Macroize insn from avx2_permvarv8sf and
- avx2_permvarv8si using VI4F_256 mode iterator.
- * config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>:
- Update builtin type to V8SF_FTYPE_V8SF_V8SI.
- (ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and
- gen_avx2_permvarv8sf.
- (expand_vec_perm_pshufb): Ditto.
-
-2012-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/52775
- * config/rs6000/rs6000.h (TARGET_FCFID): Add TARGET_PPC_GPOPT to
- the list of options to enable the FCFID instruction.
- (TARGET_EXTRA_BUILTINS): Adjust comment.
-
-2012-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/18589
- * tree-ssa-reassoc.c (reassociate_stats): Add two fields.
- (operand_entry): Add count field.
- (add_repeat_to_ops_vec): New function.
- (completely_remove_stmt): Likewise.
- (remove_def_if_absorbed_call): Likewise.
- (remove_visited_stmt_chain): Remove feeding builtin pow/powi calls.
- (acceptable_pow_call): New function.
- (linearize_expr_tree): Look for builtin pow/powi calls and add operand
- entries with repeat counts when found.
- (repeat_factor_d): New struct and associated typedefs.
- (repeat_factor_vec): New static vector variable.
- (compare_repeat_factors): New function.
- (get_reassoc_pow_ssa_name): Likewise.
- (attempt_builtin_powi): Likewise.
- (reassociate_bb): Call attempt_builtin_powi.
- (fini_reassoc): Two new calls to statistics_counter_event.
-
-2012-04-12 Richard Guenther <rguenther@suse.de>
-
- * Makefile.in (cgraphunit.o): Add $(EXCEPT_H) dependency.
- * cgraph.h (tree_rest_of_compilation): Remove.
- * cgraph.c (cgraph_add_new_function): Move ...
- * cgraphunit.c (cgraph_add_new_function): ... here.
- (tree_rest_of_compilation): Make static.
- (cgraph_expand_function): Do not set cgraph_function_flags_ready.
- * tree-optimize.c (gate_all_optimizations, pass_all_optimizations,
- gate_all_early_local_passes, execute_all_early_local_passes,
- pass_early_local_passes, gate_all_early_optimizations,
- pass_all_early_optimizations): Move ...
- * passes.c (gate_all_optimizations, pass_all_optimizations,
- gate_all_early_local_passes, execute_all_early_local_passes,
- pass_early_local_passes, gate_all_early_optimizations,
- pass_all_early_optimizations): ... here.
- * tree-optimize.c (execute_free_datastructures): Remove.
- * tree-flow.h (execute_free_datastructures): Remove.
- * tree-optimize.c (execute_init_datastructures,
- pass_init_datastructures): Move ...
- * tree-ssa.c (execute_init_datastructures,
- pass_init_datastructures): ... here.
- * cfgexpand.c (gimple_expand_cfg): Inline-expand call to
- execute_free_datastructures.
-
-2012-04-12 Bernd Schmidt <bernds@codesourcery.com>
-
- * dbgcnt.def (ira_move): New counter.
- * ira-int.h (ira_create_new_reg): Declare function.
- (first_moveable_pseudo, last_moveable_pseudo): Declare variables.
- * ira-emit.c (ira_create_new_reg): Renamed from craete_new_reg and
- no longer static. All callers changed.
- * ira.c: Include "dbgcnt.h".
- (rtx_moveable_p, insn_dominated_by_p, find_moveable_pseudos,
- move_unallocated_pseudos): New static functions.
- (first_moveable_pseudo, last_moveable_pseudo): New global variables.
- (pseudo_replaced_reg, pseudo_move_insn): New static variables.
- (ira): Call find_moveable_pseudos and move_unallocated_pseudos.
- * ira-costs.c (find_costs_and_classes): Assign a memory cost of zero
- to the pseudos generated in find_moveable_pseudos.
- * Makefile.in (ira.o): Add $(DBGCNT_H).
-
-2012-04-12 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52943
- * tree-chrec.h (chrec_is_positive): Remove.
- * tree-scalar-evolution.c (chrec_is_positive): Move ...
- * tree-data-ref.c (chrec_is_positive): ... here. Make static.
- Return false for a constant zero instead of negative.
- (analyze_siv_subscript_cst_affine): Handle zero difference
- in the initial condition explicitely.
-
-2012-04-12 Richard Guenther <rguenther@suse.de>
-
- * tree-parloops.c (parallelize_loops): Also consult the upper
- bound for the number of iterations.
- * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
- (loop_prefetch_arrays): Likewise.
-
-2012-04-12 Richard Guenther <rguenther@suse.de>
-
- * cfgloop.h (estimated_loop_iterations_int): Ditch
- 'conservative' parameter.
- (max_stmt_executions_int): Likewise.
- (estimated_loop_iterations): Likewise.
- (max_stmt_executions): Likewise.
- (max_loop_iterations): Declare.
- (max_loop_iterations_int): Likewise.
- (estimated_stmt_executions): Likewise.
- (estimated_stmt_executions_int): Likewise.
- * tree-ssa-loop-niter.c (estimated_loop_iterations):
- Split parts to ...
- (max_loop_iterations): ... this.
- (estimated_loop_iterations_int): Split parts to ...
- (max_loop_iterations_int): ... this.
- (max_stmt_executions_int): Split parts to ...
- (estimated_stmt_executions_int): ... this.
- (max_stmt_executions): Split parts to ...
- (estimated_stmt_executions): ... this.
- * graphite-sese-to-poly.c (build_loop_iteration_domains): Adjust.
- * predict.c (predict_loops): Likewise.
- * tree-data-ref.c (max_stmt_executions_tree): Likewise.
- (analyze_siv_subscript_cst_affine): Likewise.
- (compute_overlap_steps_for_affine_1_2): Likewise.
- (analyze_subscript_affine_affine): Likewise.
- (init_omega_for_ddr_1): Likewise.
- * tree-parloops.c (parallelize_loops): Likewise.
- * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
- (may_eliminate_iv): Likewise.
- * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
- (loop_prefetch_arrays): Likewise.
- * tree-vrp.c (adjust_range_with_scev): Likewise.
-
-2012-04-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.h (RETURN_ADDR_RTX): Use NULL_RTX instead of 0.
- * config/sh/sh.c (INSN_REGMODE_WEIGHT, CURR_REGMODE_PRESSURE):
- Fix line width.
- (dump_table): Use bool type for need_align and have_df variables.
- (find_barrier, sfunc_uses_reg): Use NULL_RTX instead of 0.
- (regs_used): Remove register modifier.
- (barrier_align): Move variables slot, credit, jump_to_next
- into if block above for loop. Use bool type for jump_to_next.
- (sh_function_arg): Use NULL_RTX instead of 0.
-
-2012-04-11 Andreas Schwab <schwab@linux-m68k.org>
-
- * config/m68k/m68k.md (rotrhi3+1): Name it rotrhi_lowpart.
- (bswapsi2): New expander.
-
-2012-04-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/host-linux.c (TRY_EMPTY_VM_SPACE): Defined to
- 0x60000000 if __x86_64 is defined and __LP64__ isn't defined.
-
-2012-04-11 H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl-optimization/52876
- * emit-rtl.c (set_reg_attrs_from_value): Handle arbitrary value.
- Don't call mark_reg_pointer for incompatible pointer sign extension.
- * reginfo.c (reg_scan_mark_refs): Call set_reg_attrs_from_value
- directly.
-
-2012-04-11 Bernd Schmidt <bernds@codesourcery.com>
-
- * fold-const.c (fold_unary_loc): Use GET_MODE_PRECISION for
- comparisons against TYPE_PRECISION.
- * tree-ssa-forwprop.c (combine_conversions): Likewise.
-
-2012-04-11 Xinliang David Li <davidxl@google.com>
-
- * tree-passes.h: Remove TODO_dump_func.
- * tree-ssa-tail-merge.c (tail_merge_optimize): Remove TODO_dump_func.
- * trans-mem.c: Remove TODO_dump_func.
- * ira.c: Remove TODO_dump_func.
-
-2012-04-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_option_override_internal): Check
- SUBTARGET_OVERRIDE_OPTIONS and SUBSUBTARGET_OVERRIDE_OPTIONS
- after TARGET_64BIT is updated.
-
-2012-04-11 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.h: Remove old secondary reload code.
-
-2012-04-11 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.c (SCHED_REORDER): Merge macro into ...
- (ready_reorder): ... this function.
-
-2012-04-11 Bernd Schmidt <bernds@codesourcery.com>
-
- * sel-sched.c (sel_global_init): Swap order of sched_rgn_init and
- sched_init calls.
-
- * haifa-sched.c (prune_ready_list): Rework handling of SCHED_GROUP_P
- insns so that no other insn is queued for a time before them.
-
- * config/c6x/c6x.md (load_got_gotoff): Set op_pattern attribute to
- unknown.
-
-2012-04-11 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52621
- * tree-chrec.c (evolution_function_is_invariant_rec_p): Properly
- consider loop nesting.
- (evolution_function_is_univariate_p): Properly check the remainder
- for chrecs.
-
-2012-04-11 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52918
- * except.c (sjlj_emit_dispatch_table): Properly update loop structure.
-
-2012-04-11 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_expand_prologue): Set stack use
- information, if requested.
-
- * config/rx/rx.c (rx_expand_prologue): Likewise.
-
-2012-04-11 Peter Bergner <bergner@vnet.ibm.com>
- Michael Matz <matz@suse.de>
-
- PR target/16458
- * rtlanal.c (unsigned_reg_p): New function.
- Update copyright notice dates.
- * rtl.h (unsigned_reg_p): Prototype it.
- Update copyright notice dates.
- * config/rs6000/rs6000.c (rs6000_generate_compare): Use it.
- Update comment.
- * expr.c (expand_expr_real_1): Set register attributes.
- * stmt.c (expand_case): Likewise.
-
-2012-04-11 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/50751
- * config/sh/sh-protos.h (sh_legitimate_index_p): Add new arguments
- consider_sh2a and allow_zero.
- * config/sh/sh.c (sh_legitimate_index_p): Likewise.
- (disp_addr_displacement): New function.
- (sh_address_cost): Use disp_addr_displacement function instead
- of DISP_ADDR_OFFSET.
- (sh_legitimate_address_p): Adapt to changed
- sh_legitimate_index_p declaration.
- (sh_find_mov_disp_adjust): Remove HImode check.
- (sh_secondary_reload): Add HImode case. Use satisfies_constraint_Sdd,
- disp_addr_displacement and max_mov_insn_displacement.
- (max_mov_insn_displacement): Remove HImode check.
- * config/sh/sh.h (CONST_OK_FOR_K04, CONST_OK_FOR_K12,
- DISP_ADDR_P, DISP_ADDR_OFFSET): Remove.
- * config/sh/constraints.md (K05, K13): New constraints.
- (K12): Correct comment.
- (Sdd): Do not use DISP_ADDR_P macro.
- (Snd, Sbw): Use satisfies_constraint_Sdd.
- * config/sh/sh.md (extendhisi2): Remove constraints from expander.
- (*extendhisi2_compact, movhi_i): Remove.
- (*extendhisi2_compact_reg, *extendhisi2_compact_mem_disp,
- *extendhisi2_compact_mem_disp, *extendhisi2_compact_snd,
- *movhi_reg_reg, *movhi_store_mem_disp05, *movhi_store_mem_disp13,
- *movhi_load_mem_disp, *movhi_load_mem_disp, *movhi): New insns.
- (*extendqisi2_compact_mem_disp, *extendqisi2_compact_mem_disp,
- *movqi_store_mem_disp04, *movqi_store_mem_disp12, *movqi_load_mem_disp,
- *movqi_load_mem_disp): Use sh_legitimate_index_p instead of
- CONST_OK_FOR_Kxx.
- Add new peepholes for HImode displacement addressing.
-
-2012-04-11 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.h (SIDI_OFF): Remove.
- * config/sh/sh.md: Use gen_highpart and gen_lowpart to access
- DImode subregs instead of gen_rtx_REG or simplifly_gen_subreg
- or operand_subword.
-
-2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/52624
- * doc/extend.texi (Other Builtins): Document __builtin_bswap16.
- (PowerPC AltiVec/VSX Built-in Functions): Remove it.
- * doc/md.texi (Standard Names): Add bswap.
- * builtin-types.def (BT_UINT16): New primitive type.
- (BT_FN_UINT16_UINT16): New function type.
- * builtins.def (BUILT_IN_BSWAP16): New.
- * builtins.c (expand_builtin_bswap): Add TARGET_MODE argument.
- (expand_builtin) <BUILT_IN_BSWAP16>: New case. Pass TARGET_MODE to
- expand_builtin_bswap.
- (fold_builtin_bswap): Add BUILT_IN_BSWAP16 case.
- (fold_builtin_1): Likewise.
- (is_inexpensive_builtin): Likewise.
- * optabs.c (expand_unop): Deal with bswap in HImode specially. Add
- missing bits for bswap to libcall code.
- * tree.c (build_common_tree_nodes): Build uint16_type_node.
- * tree.h (enum tree_index): Add TI_UINT16_TYPE.
- (uint16_type_node): New define.
- * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_BSWAP_HI): Delete.
- * config/rs6000/rs6000.c (rs6000_expand_builtin): Remove handling of
- above builtin.
- (rs6000_init_builtins): Likewise.
- * config/rs6000/rs6000.md (bswaphi2): Add TARGET_POWERPC predicate.
-
-2012-04-11 Tristan Gingold <gingold@adacore.com>
-
- * doc/extend.texi (Type Attributes): Move paragraph.
-
-2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 24985
- * diagnostic.h (show_caret): Declare.
- (caret_max_width): Declare.
- (diagnostic_show_locus): Declare.
- * diagnostic.c (diagnostic_initialize): Initialize to false.
- (diagnostic_show_locus): New.
- (diagnostic_report_diagnostic): Call it.
- (getenv_columns): New.
- (adjust_line): New.
- (diagnostic_set_caret_max_width): New.
- * input.c (read_line): New.
- (location_get_source_line): New.
- * input.h (location_get_source_line): Declare.
- * toplev.c (general_init): Initialize show_caret from options.
- * dwarf2out.c (gen_producer_string): Handle fdiagnostics-show-caret.
- * opts.c (common_handle_option): Likewise.
- * pretty-print.h (pp_get_prefix): New.
- (pp_base_get_prefix): New.
- * common.opt (fdiagnostics-show-caret): New option.
- * doc/invoke.texi (fdiagnostics-show-caret): Document it.
-
-2012-04-11 Richard Guenther <rguenther@suse.de>
-
- PR rtl-optimization/52881
- * ifcvt.c (find_if_case_2): Avoid speculating loop latches.
-
-2012-04-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52912
- * tree-ssa-threadupdate.c (thread_block): Tell the cfg
- manipulation code we are threading through a loop header
- to an exit destination.
-
-2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * tree.h (warn_if_unused_value): Move declaration from here.
- * stmt.c (warn_if_unused_value): Move definition from here.
-
-2012-04-10 Michael Matz <matz@suse.de>
-
- * tree-vectorizer.h (_loop_vec_info.strided_stores): Rename to
- grouped_stores.
- (LOOP_VINFO_STRIDED_STORES): Rename to LOOP_VINFO_GROUPED_STORES.
- (struce _bb_vec_info.strided_stores): Rename to grouped_stores.
- (BB_VINFO_STRIDED_STORES): Rename to BB_VINFO_GROUPED_STORES.
- (STMT_VINFO_STRIDED_ACCESS): Rename to STMT_VINFO_GROUPED_ACCESS.
- (vect_strided_store_supported): Rename to vect_grouped_store_supported.
- (vect_strided_load_supported): Rename to vect_grouped_load_supported.
- (vect_transform_strided_load): Rename to vect_transform_grouped_load.
- (vect_record_strided_load_vectors): Rename to
- vect_record_grouped_load_vectors.
- * tree-vect-data-refs.c (vect_update_misalignment_for_peel):
- Rename use of above macros.
- (vect_verify_datarefs_alignment): Ditto.
- (vector_alignment_reachable_p): Ditto.
- (vect_peeling_hash_get_lowest_cost): Ditto.
- (vect_enhance_data_refs_alignment): Ditto.
- (vect_analyze_group_access): Ditto and rename stride to groupsize.
- (vect_analyze_data_ref_access): Rename "strided" to "grouped".
- (vect_strided_store_supported): Rename to vect_grouped_store_supported.
- (vect_strided_load_supported): Rename to vect_grouped_load_supported.
- (vect_transform_strided_load): Rename to vect_transform_grouped_load.
- (vect_record_strided_load_vectors): Rename to
- vect_record_grouped_load_vectors.
- * tree-vect-loop.c (new_loop_vec_info): Rename use of above macros.
- (destroy_loop_vec_info): Ditto.
- (vect_transform_loop): Ditto and rename strided_store to grouped_store.
- * tree-vect-slp.c (vect_build_slp_tree): Rename use of above macros.
- (vect_analyze_slp): Ditto.
- (new_bb_vec_info): Ditto.
- (destroy_bb_vec_info): Ditto.
- (vect_schedule_slp_instance): Ditto and rename strided_store to
- grouped_store.
- * tree-vect-stmts.c (vect_cost_strided_group_size): Rename to
- vect_cost_group_size.
- (vect_model_store_cost): Rename use of above macros and call
- to vect_cost_strided_group_size.
- (vect_model_load_cost): Ditto.
- (vectorizable_store): Ditto, rename strided_store to grouped_store
- and calls to renamed tree-vectorizer.h functions.
- (vectorizable_load): Ditto.
- (vect_transform_stmt): Rename use of above macros and strided_store
- to grouped_store.
-
-2012-04-10 Jan Hubicka <jh@suse.cz>
-
- * cgraph.h: Remove misledaing comment on ipa-ref.h.
- (symtab_type): New enum.
- (symtab_node): New structure.
- (cgraph_node, varpool_node): Add symbol base type.
- (cgraph, varpool): New accestor functions.
- * cgraph.c (cgraph_create_node_1): Set symbol type.
- * varpool.c (varpool_node): Set symbol type.
-
-2012-04-10 Ulrich Weigand <ulrich.weigand@linaro.org>
- Richard Sandiford <rdsandiford@googlemail.com>
-
- * fwprop.c (propagate_rtx): Also set PR_CAN_APPEAR for subregs.
-
-2012-04-10 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52888
- * gimple-low.c (gimple_check_call_args): Properly account for
- compatible aggregate types.
-
-2012-04-10 Richard Guenther <rguenther@suse.de>
-
- * toplev.h (tree_rest_of_compilation): Remove.
- * tree-optimize.c (tree_rest_of_compilation): Likewise.
- * cgraph.h (tree_rest_of_compilation): Declare.
- * tree-optimize.c (tree_rest_of_compilation): Move ...
- * cgraphunit.c (tree_rest_of_compilation): ... here.
- * cgraph.c (cgraph_add_new_function): Adjust.
- * Makefile.in (tree-optimize.o): Adjust.
- (cgraphunit.o): Likewise.
-
-2012-04-10 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- PR tree-optimization/52870
- * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Verify that
- presumed pattern statement is within the same loop or basic block.
-
-2012-04-10 Tristan Gingold <gingold@adacore.com>
-
- * gengtype.c (main): Make uintptr_t a known type.
-
-2012-04-10 Richard Guenther <rguenther@suse.de>
-
- * tree-pass.h (tree_lowering_passes): Remove.
- * tree-optimize.c (tree_lowering_passes): Remove.
- * cgraph.c (cgraph_add_new_function): Inline relevant parts
- of tree_lowering_passes, avoid redundant call of early local passes.
- * cgraphunit.c (cgraph_lower_function): Fold into ...
- (cgraph_analyze_function): ... its single caller. Inline
- relevant parts of tree_lowering_passes.
-
-2012-04-09 H.J. Lu <hongjiu.lu@intel.com>
-
- PR other/52777
- * config/pa/pa.opt: Remove SIO and GNU_LD.
-
-2012-04-09 Jan Hubicka <jh@suse.cz>
-
- PR lto/52722
- PR lto/51765
- PR lto/52634
- * lto-cgraph.c (compute_ltrans_boundary): When alias is in the
- boundary, add its target too.
- * lto.c (add_references_to_partition): Add also aliased nodes.
- (add_cgraph_node_to_partition,
- add_varpool_node_to_partition): Work on nodes, not functions/variables;
- when adding alias, add also the aliased object.
-
-2012-04-09 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/52883
- * config/i386/predicates.md (x86_64_zext_general_operand): Prevent
- VOIDmode immediate operands.
- * config/i386/constraints.md (Wz): New constraint.
- * config/i386/i386.md (*zero_extendsidi2_rex64): Use Wz instead of Z.
-
-2012-04-09 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/52717
- * config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on
- the DECL generated for the special GOT helper.
-
-2012-04-09 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/constraints.md: Update list of constraints in
- comment block.
- (Sr0): Remove unused memory constraint.
-
-2012-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * tree-pretty-print.h: Update comment.
-
-2012-04-08 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md: Use braced string notation where applicable.
- (*prefetch_i4, prefetch_m2a): Merge into ...
- (*prefetch): ... this new insn.
-
-2012-04-07 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.h (high_life_started): Remove
- * config/sh/predicates.md (general_movdst_operand): Use
- 'reload_in_progress' instead of 'high_life_started'.
- * config/sh/sh.md (divsi_inv_call, *divsi_inv_call_combine,
- divsi_inv_fp): Likewise.
-
-2012-04-07 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh-protos.h (prepare_move_operands): Return void
- instead of int.
- * config/sh/sh.c (prepare_move_operands): Likewise.
- * config/sh/sh.md: Remove return value checks of prepare_move_operands.
-
-2012-04-07 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh-protos.h (fp_int_operand, symbol_ref_operand,
- general_movsrc_operand, general_movdst_operand, arith_reg_operand,
- fp_arith_reg_operand, arith_operand, arith_reg_or_0_operand,
- logical_operand, fpscr_operand, fpul_operand, expand_fp_branch,
- commutative_float_operator, noncommutative_float_operator,
- sh_handle_pragma): Remove.
-
-2012-04-06 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi: Clean up Texinfo markup throughout the file.
- Use @option markup on command-line options. Use @samp markup on
- literal keywords to options. Use @code markup on code fragments.
- Use other markup in preference to quotation marks in the text.
- Add markup to some passages without any.
-
-2012-04-06 Mike Stump <mikestump@comcast.net>
-
- * gimple-fold.c (gimple_fold_stmt_to_constant_1): Avoid warning.
-
-2012-04-06 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.c (hi_const): Remove.
- (find_barrier, sh_reorg): Use satisfies_constraint_I16 instead
- of hi_const.
-
-2012-04-06 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh-protos.h (sh_expand_t_scc): Change return type from int
- to bool.
- * config/sh/sh.c (sh_expand_t_scc): Likewise.
- * config/sh/sh.md (cstoresi4, cstoredi4): Remove GET_CODE checks before
- calling sh_expand_t_scc.
-
-2012-04-06 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh-protos.h (fp_zero_operand, fp_one_operand,
- nonpic_symbol_mentioned_p, expand_block_move, expand_ashiftrt,
- sh_dynamicalize_shift_p, gen_shl_and, gen_shl_sext, system_reg_operand,
- reg_unused_after, sh_can_redirect_branch, sh_need_epilogue, fldi_ok,
- sh_hard_regno_rename_ok, sh_cfun_interrupt_handler_p,
- sh_cfun_resbank_handler_p, sh_attr_renesas_p, sh_cfun_attr_renesas_p,
- check_use_sfunc_addr, sh_contains_memref_p, sh_loads_bankedreg_p,
- sh2a_is_function_vector_call): Use bool as return type.
- (sh_pass_in_reg_p): Remove.
- * config/sh/sh.c (broken_move, mova_p, noncall_uses_reg, high_pressure,
- flow_dependent_p, sh2a_function_vector_p, expand_block_move,
- expand_ashiftrt, sh_dynamicalize_shift_p, gen_shl_and, gen_shl_sext,
- sh_need_epilogue, sh2a_is_function_vector_call, sh_attr_renesas_p,
- sh_cfun_attr_renesas_p, sh_cfun_interrupt_handler_p,
- sh_cfun_resbank_handler_p, system_reg_operand, fp_zero_operand,
- fp_one_operand, fldi_ok, reg_unused_after, sh_can_redirect_branch,
- sh_hard_regno_rename_ok, check_use_sfunc_addr, sh_contains_memref_p,
- sh_loads_bankedreg_p): Use bool as return type.
- (nonpic_symbol_mentioned_p): Use bool as return type. Remove
- 'register' modifier.
-
-2012-04-06 Matt Turner <mattst88@gmail.com>
-
- * doc/install.texi: Correct typo "-mno-lsc" -> "-mno-llsc".
-
-2012-04-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/ia64/ia64.c (ia64_load_pair_ok): Return 0 if the second member
- of the destination isn't also a FP_REGS register.
-
-2012-04-05 Teresa Johnson <tejohnson@google.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_LCP_STALL.
- * config/i386/i386.md (move immediate to memory peephole2):
- Add cases for HImode move when LCP stall avoidance is needed.
- * config/i386/i386.c (initial_ix86_tune_features): Initialize
- X86_TUNE_LCP_STALL entry.
-
-2012-04-05 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/52882
- * config/i386/i386.c (ix86_decompose_address): Allow VOIDmode
- CONST_INT operands, zero-extended with AND.
-
-2012-04-05 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/50751
- * config/sh/sh.c (sh_find_mov_disp_adjust): Take machine_mode as the
- first argument instead of mode size. Move displacement calculations
- to ...
- (mov_insn_size, max_mov_insn_displacement, mov_insn_alignment_mask):
- ... these new functions.
- (disp_adjust): Remove max_mov_disp field.
- (sh_legitimate_index_p): Use max_mov_insn_displacement and
- mov_insn_alignment_mask.
- (sh_address_cost): Use max_mov_insn_displacement.
-
-2012-04-05 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/arm.md (arch): Add neon_onlya8 and neon_nota8.
- (arch_enabled): Handle new arch types.
- (one_cmpldi2): Add NEON support.
-
-2012-04-05 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (walk_gimple_op): Compute val_only for the LHS
- of an assigment in the canonical way, avoiding is_gimple_mem_rhs.
- (is_gimple_mem_rhs, is_gimple_reg_rhs, is_gimple_stmt): Move ...
- * gimplify.c (is_gimple_mem_rhs, is_gimple_reg_rhs, is_gimple_stmt):
- ... here and make static.
- * gimple.h (is_gimple_mem_rhs, is_gimple_reg_rhs, is_gimple_stmt):
- Remove.
-
-2012-04-05 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-dse.c (dse_optimize_stmt): Remember the stmt
- basic-block before removing it.
-
-2012-04-05 Richard Guenther <rguenther@suse.de>
-
- * tree-ssanames.c (release_dead_ssa_names): Compact the SSA
- version namespace as we release the freelist.
-
-2012-04-05 Richard Guenther <rguenther@suse.de>
-
- * tree-nrv.c (tree_nrv): Release VDEFs.
- * tree-sra.c (sra_modify_constructor_assign): Likewise.
- (sra_modify_assign): Likewise.
- * tree-vect-stmts.c (vect_remove_stores): Likewise.
- * tree-vect-loop.c (vect_transform_loop): Likewise.
- * tree-ssa-dom.c (optimize_stmt): Likewise.
- * tree-vect-slp.c (vect_schedule_slp): Likewise.
- * tree-ssa-math-opts.c (execute_cse_sincos): Likewise.
-
-2012-04-05 Richard Guenther <rguenther@suse.de>
-
- * gimple-iterator.c (gsi_remove): Return whether EH edges need to be
- cleanup.
- * gimple.h (gsi_remove): Adjust.
- * tree-ssa-operands.c (unlink_stmt_vdef): Optimize.
- * tree-ssa-dom.c (optimize_stmt): Use gsi_remove result.
- * tree-ssa-dse.c (dse_optimize_stmt): Likewise.
- * tree-ssa-forwprop.c (remove_prop_source_from_use): Likewise.
- * tree-ssa-math-opts.c (execute_optimize_widening_mul): Likewise.
- * tree-ssa-pre.c (eliminate): Likewise.
-
-2012-04-04 Mike Stump <mikestump@comcast.net>
-
- * doc/rtl.texi (const_double): Document as sign-extending.
- * expmed.c (expand_mult): Ensure we don't use shift incorrectly.
- * emit-rtl.c (immed_double_int_const): Refine to state the
- value is signed.
- * simplify-rtx.c (mode_signbit_p): Add a fixme for wider than
- CONST_DOUBLE integers.
- (simplify_const_unary_operation, UNSIGNED_FLOAT): Ensure no
- negative values are converted. Fix conversions bigger than
- HOST_BITS_PER_WIDE_INT.
- (simplify_binary_operation_1): Ensure we don't use shift incorrectly.
- (simplify_immed_subreg): Sign-extend CONST_DOUBLEs.
- * explow.c (plus_constant_mode): Add.
- (plus_constant): Implement with plus_constant_mode.
- * rtl.h (plus_constant_mode): Add.
-
-2012-04-04 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52808
- * tracer.c (tail_duplicate): Do not tail-duplicate loop header blocks.
- * Makefile.in (tracer.o): Depend on $(CFGLOOP_H).
-
-2012-04-04 Tristan Gingold <gingold@adacore.com>
-
- * expr.c (expand_expr_real_2): Handle larger sizetype in
- POINTER_PLUS_EXPR.
-
-2012-04-03 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/t-sh (MULTILIB_MATCHES): Match m2a-single-only
- to m2a-single instead of m2e.
-
-2012-04-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * expr.c (get_bit_range): Add OFFSET parameter and adjust BITPOS.
- Change type of BITOFFSET to signed. Make sure the lower bound of
- the computed range is non-negative by adjusting OFFSET and BITPOS.
- (expand_assignment): Adjust call to get_bit_range.
-
-2012-04-03 Sandeep Kumar Singh <Sandeep.Singh2@kpitcummins.com>
-
- * h8300/h8300.c (h8300_current_function_monitor_function_p):
- New function. Added to check monitor functions.
- (h8300_option_override): Modified to generate error/warning
- messages for invalid combinations of different command line
- options.
- * h8300/h8300.md: Generate 'rte' for monitor functions. Do not
- save EXR on stack for monitor function in case of H8S target
- when "-mno-exr" is passed.
- * h8300/h8300-protos.h (h8300_current_function_monitor_function_p):
- Add prototype.
- * doc/invoke.texi: Document H8S options.
-
-2012-04-03 Tristan Gingold <gingold@adacore.com>
-
- * configure.ac: Use GCC_AC_FUNC_MMAP_BLACKLIST instead
- of gcc_AC_FUNC_MMAP_BLACKLIST.
- * acinclude.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Remove.
- * Makefile.in (aclocal_deps): Add mmap.m4.
- * configure: Regenerate.
- * aclocal.m4: Regenerate.
-
-2012-04-03 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52808
- * tracer.c (tail_duplicate): Return whether we have duplicated
- any block.
- (tracer): If we have duplicated any block, cleanup the CFG.
- * cfghooks.c (duplicate_block): If we duplicated a loop
- header but not its loop, destroy the loop because it now has
- multiple entries.
- * tree-ssa-threadupdate.c (thread_through_loop_header): Tell
- the cfg manipulation routines we are not creating a multiple
- entry loop.
-
-2012-04-03 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/vms-c.c (vms_pragma_nomember_alignment): Handle
- 'byte' alignment.
- (vms_c_common_override_options): Allow parameterless variadic
- functions.
-
-2012-04-03 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52835
- * tree-data-ref.c (build_rdg): Return NULL if
- compute_data_dependences_for_loop failed.
-
-2012-04-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * varasm.c (initializer_constant_valid_for_bitfield_p): Return true
- for REAL_CST as well.
- (output_constructor): Use RECORD_OR_UNION_TYPE_P predicate.
- In the bitfield case, if the value is a REAL_CST, convert it first to
- an INTEGER_CST.
-
-2012-04-02 H.J. Lu <hongjiu.lu@intel.com>
-
- * config.gcc: Use i386/biarchx32.h instead of i386/biarch64.h
- for --with-abi={x32|mx32} or --with-multilib-list=mx32.
- (supported_defaults): Add abi for i[34567]86-*-* and x86_64-*-*.
-
- * config/i386/biarchx32.h: New.
-
-2012-04-02 Anatoly Sokolov <aesok@post.ru>
-
- * config/arm/arm.h (PREFERRED_RELOAD_CLASS): Remove.
- * config/arm/arm.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
- (arm_preferred_reload_class): New function.
-
-2012-04-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52756
- * tree-ssa-threadupdate.c (def_split_header_continue_p): New function.
- (thread_through_loop_header): After threading through the loop latch
- remove the split part from the loop and clear further threading
- opportunities that would create a multiple entry loop.
-
-2012-04-02 Richard Guenther <rguenther@suse.de>
-
- PR rtl-optimization/52800
- * cprop.c (execute_rtl_cprop): Call cleanup_cfg with
- CLEANUP_CFG_CHANGED.
-
-2012-04-02 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52803
- * loop-init.c (gate_handle_loop2): Destroy loops here if
- we don't enter RTL loop optimizers.
-
-2012-04-02 Uros Bizjak <ubizjak@gmail.com>
-
- Partially revert:
- 2012-03-29 Richard Guenther <rguenther@suse.de>
-
- * rtl.h (extended_count): Remove.
- * combine.c (extended_count): Remove.
-
-2012-04-02 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/40942
- * pt.c (more_specialized_fn): Don't apply decay conversion to
- types of function parameters.
-
-2012-04-02 Tristan Gingold <gingold@adacore.com>
-
- * ggc-page.c (PAGE_L1_SIZE, PAGE_L2_SIZE, LOOKUP_L1, LOOKUP_L2)
- (ggc_allocated_p, lookup_page_table_entry, set_page_table_entry)
- (alloc_page, init_ggc, clear_marks, struct ggc_pch_data)
- (ggc_pch_this_base): Use uintptr_t instead of size_t.
-
-2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
-
- PR bootstrap/52784
- * config/i386/i386.c (ix86_option_override_internal): Don't
- check TARGET_64BIT if TARGET_64BIT_DEFAULT is false.
-
-2012-03-31 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-cfg.c (call_can_make_abnormal_goto): New predicate.
- (stmt_can_make_abnormal_goto): Use it.
- (is_ctrl_altering_stmt): Likewise.
-
-2012-03-30 Naveen H.S <naveen.S@kpitcummins.com>
- Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.c (push_regs): Skip banked registers when
- resbank attribute is specified.
- (sh_expand_epilogue): Likewise.
-
-2012-03-30 Richard Henderson <rth@redhat.com>
-
- PR debug/52727
- * combine-stack-adj.c (prev_active_insn_bb): New.
- (next_active_insn_bb): New.
- (force_move_args_size_note): New.
- (combine_stack_adjustments_for_block): Use it.
-
-2012-03-30 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386.c (struct expand_vec_perm_d): Add one_operand_p.
- (ix86_expand_vector_init_duplicate): Initialize it.
- (expand_vec_perm_palignr): Likewise.
- (ix86_expand_vec_perm_const): Likewise.
- (ix86_vectorize_vec_perm_const_ok): Likewise.
- (expand_vec_perm_blend): Use it.
- (expand_vec_perm_vpermil): Likewise.
- (expand_vec_perm_pshufb): Likewise.
- (expand_vec_perm_1): Likewise.
- (expand_vec_perm_pshuflw_pshufhw): Likewise.
- (expand_vec_perm_interleave2): Likewise.
- (expand_vec_perm_vpermq_perm_1): Likewise.
- (expand_vec_perm_vperm2f128): Likewise.
- (expand_vec_perm_interleave3): Likewise.
- (expand_vec_perm_vperm2f128_vblend): Likewise.
- (expand_vec_perm_vpshufb2_vpermq): Likewise.
- (expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise,.
- (expand_vec_perm_broadcast): Likewise.
- (expand_vec_perm_vpshufb4_vpermq2): Likewise.
-
-2012-03-30 Richard Henderson <rth@redhat.com>
-
- * dwarf2out.c (gen_variable_die): Initialize off.
-
-2012-03-30 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/vms-f.c: New file.
- * config/vms/t-vms (vms-f.o): New rule.
- * config.gcc (*-*-*vms*): Define fortran_target_objs.
-
-2012-03-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52754
- * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only
- propagate arbitrary addresses into really plain dereferences.
-
-2012-03-30 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52772
- * except.c (emit_to_new_bb_before): Move loop updating ...
- (dw2_build_landing_pads): ... here. Use a proper block for
- querying the loop father.
-
-2012-03-30 Tristan Gingold <gingold@adacore.com>
-
- * config/ia64/ia64.c (ia64_section_type_flags): Remove
- common_object attribute handling.
- (SECTION_VMS_OVERLAY): Remove
- (ia64_vms_common_object_attribute): Replace abort with an assert.
- Do not set DECL_SECTION_NAME.
- (ia64_vms_output_aligned_decl_common): Handle common_object
- attribute.
- (ia64_vms_elf_asm_named_section): Remove.
- * config/ia64/vms.h (TARGET_ASM_NAMED_SECTION): Remove.
-
-2012-03-30 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52786
- * double-int.c (rshift_double): Remove not needed cast.
-
-2012-03-30 Richard Guenther <rguenther@suse.de>
-
- * tree-affine.h (print_aff): Remove.
- * tree-affine.c (print_aff): Make static.
- * tree-data-ref.h (access_matrix_get_index_for_parameter): Remove.
- (get_references_in_stmt): Likewise.
- (print_direction_vector): Likewise.
- (print_dir_vectors): Likewise.
- (print_dist_vectors): Likewise.
- (dump_subscript): Likewise.
- (dump_ddrs): Likewise.
- (dump_dist_dir_vectors): Likewise.
- (dump_data_references): Likewise.
- (dump_data_dependence_relation): Likewise.
- (dump_data_dependence_direction): Likewise.
- (dump_rdg_vertex): Likewise.
- (dump_rdg_component): Likewise.
- (debug_ddrs): Declare.
- (struct data_ref_loc_d): Move ...
- * tree-data-ref.c (struct data_ref_loc_d): ... here.
- (get_references_in_stmt): Make static.
- (dump_data_references): Likewise.
- (dump_subscript): Likewise.
- (print_direction_vector): Likewise.
- (print_dir_vectors): Likewise.
- (print_dist_vectors): Likewise.
- (dump_data_dependence_relation): Likewise.
- (dump_dist_dir_vectors): Likewise.
- (dump_ddrs): Likewise.
- (dump_rdg_vertex): Likewise.
- (dump_rdg_component): Likewise.
- (debug_ddrs): New function.
- (access_matrix_get_index_for_parameter): Remove.
-
-2012-03-30 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/vms.c (VMS_CRTL_FLOAT32): Rename.
- (VMS_CRTL_FLOAT64, VMS_CRTL_FLOAT64_VAXD): New.
- (VMS_CRTL_FLOAT128, VMS_CRTL_DPML, VMS_CRTL_NODMPL)
- (VMS_CRTL_32ONLY, VMS_CRTL_G_MASK, VMS_CRTL_G_NONE)
- (VMS_CRTL_GA, VMS_CRTL_GL, VMS_CRTL_FLOATV2): New.
- (vms_patch_builtins): Handle new flags
- * config/vms/vms-crtlmap.map: Completed using nm on
- c and math system libraries.
- * config/vms/make-crtlmap.awk: Handle any number of flags.
-
-2012-03-30 Martin Jambor <mjambor@suse.cz>
-
- * tree-ssa-ccp.c (insert_clobbers_for_var): Do not assert that there
- is a builtin_stack_save in a dominating BB.
-
-2012-03-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results
- crossing 128bit lane boundary.
-
-2012-03-29 Vladimir Makarov <vmakarov@redhat.com>
-
- * ira-color.c (setup_left_conflict_sizes_p): Process all
- conflicting objects.
-
-2012-03-29 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52760
- * tree-vect-slp.c (vect_get_constant_vectors): Convert constant_p
- shift count for {L,R}{SHIFT,ROTATE}_EXPR to TREE_TYPE (vector_type).
-
-2012-03-29 Richard Guenther <rguenther@suse.de>
-
- * cgraph.h (cgraph_materialize_all_clones): Remove.
- (reset_inline_failed): Likewise.
- * cgraphunit.c (cgraph_materialize_all_clones): Make static.
- * cgraphbuild.c (reset_inline_failed): Remove.
- * rtl.h (cse_main): Remove.
- (extended_count): Likewise.
- * cse.c (dump_class): Mark as DEBUG_FUNCTION.
- (cse_main): Make static.
- * combine.c (extended_count): Remove.
- (dump_combine_stats): Mark as DEBUG_FUNCTION.
- * basic-block.h (reorder_basic_blocks): Remove.
- * bb-reorder.c (reorder_basic_blocks): Make static.
- * Makefile.in (dse.o): Remove dse.h dependency.
- * dse.h: Remove.
- * dse.c (gate_dse): Remove.
- (clear_alias_mode_eq): Likewise.
- (clear_alias_mode_hash): Likewise.
- (dse_record_singleton_alias_set): Likewise.
- (dse_invalidate_singleton_alias_set): Likewise.
-
-2012-03-29 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/linux-android.h (ANDROID_STARTFILE_SPEC): Use
- crtbegin_so%O%s for -shared.
- (ANDROID_ENDFILE_SPEC): Use crtend_so%O%s for -shared.
-
-2012-03-29 Richard Guenther <rguenther@suse.de>
-
- * tree-flow.h (struct pre_expr_d): Remove forward declaration.
- (add_to_value): Remove.
- (print_value_expressions): Likewise.
- * tree-ssa-pre.c (add_to_value): Make static.
- (print_value_expressions): Likewise.
- * gimple.h (gimple_adjust_this_by_delta): Remove.
- * gimple-fold.c (gimple_adjust_this_by_delta): Likewise.
-
-2012-03-29 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50708
- * double-int.h (rshift_double): Remove.
- * double-int.c (lshift_double): Use absu_hwi to make count positive.
- (rshift_double): Make static, take unsigned count argument,
- remove handling of negative count argument.
- (double_int_rshift): Dispatch to lshift_double.
-
-2012-03-28 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Add
- OPTION_MASK_ABI_64.
- * config/i386/gnu-user64.h (SPEC_64): Support TARGET_BI_ARCH == 2.
- (SPEC_X32): Likewise.
- (MULTILIB_DEFAULTS): Likewise.
- * config/i386/i386.c (isa_opts): Remove -m64.
- (ix86_target_string): Properly handle -m32/-m64/-mx32.
- (ix86_option_override_internal): Properly
- set OPTION_MASK_ISA_64BIT and OPTION_MASK_ISA_X32 as well as
- handle -m32, -m64 and -mx32.
- * config/i386/i386.h (TARGET_X32): Replace OPTION_ISA_X32
- with OPTION_ABI_X32. Moved after TARGET_LP64.
- (TARGET_LP64): Changed to OPTION_ABI_64.
- * config/i386/i386.opt (m64): Replace ISA_64BIT with ABI_64.
- (mx32): Replace ISA_X32 with ABI_X32.
-
-2012-03-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.c (tree_size) <VECTOR_CST>: New case.
-
-2012-03-28 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_modes_tieable_p): Handle 32bit AVX modes.
- (ix86_expand_vector_move_misalign): Remove un-needed gen_lowpart calls.
-
-2012-03-28 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/52691
- * tree-ssa-ccp.c (optimize_stdarg_builtin): Optimize
- __builtin_va_start to __builtin_next_arg if the latter is
- builtin_decl_explicit_p rather than when it is not.
-
- PR middle-end/52750
- * tree-vect-generic.c (vector_element): Perform multiplication
- for pos in bitsizetype type instead of idx type.
-
-2012-03-28 Richard Guenther <rguenther@suse.de>
-
- * loop-init.c (loop_optimizer_init): If loops are preserved
- perform incremental initialization of required loop features.
- (loop_optimizer_finalize): If loops are to be preserved only
- clean up optional loop features.
- (rtl_loop_done): Forcefully free loops here.
- * cgraph.c (cgraph_release_function_body): Forcefully free loops.
- * cfgexpand.c (expand_gimple_cond): Properly add new basic-blocks
- to existing loops.
- (construct_init_block): Likewise.
- (construct_exit_block): Likewise.
- (gimple_expand_cfg): Clear LOOP_CLOSED_SSA loop state. Cleanup
- the CFG after expanding.
- * cfgloop.c (verify_loop_structure): Calculate or verify dominators.
- If we needed to calculate them, free them afterwards.
- * tree-pass.h (PROP_loops): New define.
- * tree-ssa-loop.c (pass_tree_loop_init): Provide PROP_loops.
- * basic-block.h (CLEANUP_CFG_CHANGED): New.
- * cfgcleanup.c (merge_blocks_move): Protect loop latches.
- (cleanup_cfg): If we did something and have loops around, fix them up.
- * cse.c (rest_of_handle_cse_after_global_opts): Call cleanup_cfg
- with CLEANUP_CFG_CHANGED.
- * cfghooks.c (merge_blocks): If we merge a loop header into
- its predecessor, update the loop structure.
- (duplicate_block): If we copy a loop latch, adjust loop state
- to note we may have multiple latches.
- (delete_basic_block): Mark loops for fixup if we remove a loop.
- * cfganal.c (forwarder_block_p): Protect loop latches, headers
- and preheaders.
- * cfgrtl.c (rtl_can_merge_blocks): Protect loop latches.
- (cfg_layout_can_merge_blocks_p): Likewise.
- * cprop.c (bypass_block): If we create a loop with multiple
- entries, mark it for removal.
- * except.c (emit_to_new_bb_before): Add the new basic-block
- to existing loops.
- * tree-eh.c (lower_resx): Likewise.
- * omp-low.c (finalize_task_copyfn): Do not copy PROP_loops.
- (expand_omp_taskreg): Likewise.
- * tree-inline.c (initialize_cfun): Likewise.
- * tree-mudflap.c (add_bb_to_loop): Prototype.
- (mf_build_check_statement_for): Properly add new basic-blocks
- to existing loops.
- * tree-ssa-threadupdate.c (thread_block): Mark loops for fixup
- if we remove a loop.
- (thread_through_loop_header): Likewise.
- * trans-mem.c (tm_log_emit_save_or_restores): Properly add
- new basic-blocks to existing loops.
- (expand_transaction): Likewise.
- * Makefile.in (except.o): Add $(CFGLOOP_H).
- (expr.o): Likewise.
- (cgraph.o): Likewise.
- (cprop.o): Likewise.
- (cfgexpand.o): Likewise.
- (cfganal.o): Likewise.
- (trans-mem.o): Likewise.
- (tree-eh.o): Likewise.
-
-2012-03-28 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/52692
- * config/avr/avr.c (TARGET_BUILTIN_DECL): New define.
- (avr_builtin_decl): New static function.
- (struct avr_builtin_description, avr_bdesc): Move up.
- Add GTY marker. Add field fndecl. Remove redundant field id.
- (avr_init_builtins): Initialize avr_bdesc[ID].fndecl.
- (avr_expand_builtin): Code cleanup because .id is removed.
-
-2012-03-28 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/52737
- * config.gcc (tm_file): Remove avr/multilib.h.
-
- * doc/invoke.texi (AVR Options): Adjust documentation of -mtiny-stack.
-
- * config/avr/genmultilib.awk: Remove code to generate multilib.h.
- (BEGIN): Use -msp8 as multilib option instead of -mtiny-stack.
- * config/avr/t-avr: Remove generation of multilib.h.
- * config/avr/t-multilib: Regenerate.
- * config/avr/multilib.h: Remove.
- * config/avr/avr.opt (-msp8): New option.
- (avr_sp8): New variable.
- * config/avr/driver-avr.c (avr_device_to_sp8): New function.
- * config/avr/avr.h (AVR_HAVE_SPH): New define.
- (AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8.
- (avr_device_to_sp8): New prototype.
- (EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 }
- (DRIVER_SELF_SPECS): New define.
- * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
- __AVR_SP8__, __AVR_HAVE_SPH__.
- * config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of
- AVR_HAVE_8BIT_SP to decide if SP_H is present.
- (avr_file_start): Ditto.
-
-2012-03-28 Jakub Jelinek <jakub@redhat.com>
-
- PR target/52736
- * config/i386/sse.md (sse2_loadlpd splitter): Use offset 0
- instead of 8 in adjust_address.
-
-2012-03-27 Aurelien Buhrig <aurelien.buhrig.gcc@gmail.com>
-
- PR middle-end/51893
- * expmed.c (store_bit_field_1): Fix wordnum value for big-endian
- targets.
-
-2012-03-27 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/50751
- * config/sh/sh.c (sh_legitimize_address, sh_legitimize_reload_address):
- Rearrange conditional logic. Move displacement address calculations
- to ...
- (sh_find_mov_disp_adjust): ... this new function.
-
-2012-03-27 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/arm/arm.opt (mapcs): Remove MaskExists.
- * config/cris/linux.opt (mno-gotplt): Likewise.
- * config/i386/i386.opt (mhard-float): Likewise.
- (msse4): Likewise.
- (mno-sse4): Likewise.
- * config/m68k/m68k.opt (mhard-float): Likewise.
- * config/mep/mep.op (mcop32): Likewise.
- * config/pa/pa-hpux.opt (msio): Likewise.
- * config/pa/pa64-hpux.opt (mgnu-ld): Likewise.
- * config/picochip/picochip.opt (mlittle): Likewise.
- * config/sh/sh.opt (mrenesas): Likewise.
- * config/sparc/long-double-switch.opt (mlong-double-128): Likewise.
- * config/sparc/sparc.opt (mhard-float): Likewise.
- * config/v850/v850.opt (mv850es): Likewise.
- * config/vax/vax.opt (mg-float): Likewise.
-
-2012-03-27 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/52693
- * tree-sra.c (sra_modify_assign): Do not call
- load_assign_lhs_subreplacements when working with an unscalarizable
- region.
-
-2012-03-27 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/52698
- * config/i386/i386-protos.h (ix86_legitimize_reload_address):
- New prototype.
- * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define.
- * config/i386/i386.c: Include reload.h.
- (ix86_legitimize_reload_address): New function.
-
-2012-03-27 H.J. Lu <hongjiu.lu@intel.com>
-
- * opth-gen.awk: Allocated a bit for Mask and InverseMask if it
- hasn't been allocated. Define a target macro for Mask and
- InverseMask if it hasn't been defined. Remove MaskExists handling.
-
- * doc/options.texi: Remove MaskExists.
-
-2012-03-27 Chung-Lin Tang <cltang@codesourcery.com>
-
- PR target/52667
- * config/sh/sh.c (find_barrier): Add equality check of last_got
- to avoid going above orig insn. Update comments.
-
-2012-03-27 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52720
- * fold-const.c (try_move_mult_to_index): Handle &x.array more
- explicitely.
-
-2012-03-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * expmed.c (store_bit_field): Assert that BITREGION_START is a multiple
- of a unit before computing the offset in units.
- * expr.c (get_bit_range): Return the null range if the enclosing record
- is part of a larger bit field.
-
-2012-03-27 Tristan Gingold <gingold@adacore.com>
-
- * config/ia64/vms.h (CASE_VECTOR_MODE): Define.
- * config/ia64/ia64.md: Remove mode in template.
- Sign extend operand in expand_simple_binop.
- * config/ia64/ia64.h (ASM_OUTPUT_ADDR_DIFF_ELT): Use
- CASE_VECTOR_MODE instead of TARGET_ILP32.
- (ADDR_VEC_ALIGN): Make it depends on CASE_VECTOR_MODE.
-
-2012-03-26 Steven Bosscher <steven@gcc.gnu.org>
-
- * varasm.c (assemble_external): #if 0 out the new assert from the
- previous commit, it breaks the Java and Go front ends.
-
-2012-03-26 Steven Bosscher <steven@gcc.gnu.org>
-
- * toplev.c (check_global_declaration_1): Do not call assemble_external.
- * expr.c (emit_block_move_libcall_fn): Likewise.
- (clear_storage_libcall_fn): Likewise.
- (expand_expr_addr_expr_1): Likewise.
- (expand_expr_real_1): Likewise.
- * calls.c (rtx_for_function_call): Likewise.
-
- * varasm.c (assemble_external): Assert this function is only called
- during or after expanding to RTL.
-
-2012-03-26 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/50052
- * tree-sra.c (tree_non_aligned_mem_p): Removed.
- (tree_non_aligned_mem_for_access_p): Likewise.
- (build_accesses_from_assign): Removed strict alignment requirements
- checks.
- (access_precludes_ipa_sra_p): Likewise.
-
-2012-03-26 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52701
- * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always
- compute and set the evolution part of PHI nodes.
-
-2012-03-26 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52721
- * tree-vect-stmts.c (vect_init_vector): Handle scalars.
-
-2012-03-26 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- PR tree-optimization/52686
- * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Handle
- WIDEN_LSHIFT_EXPR.
-
-2012-03-26 Tristan Gingold <gingold@adacore.com>
-
- * config/alpha/vms.h (LINK_SPEC): Simplify.
- (STARTFILE_SPEC): Remove -mvms-return-codes handling.
- (NAME__MAIN, SYMBOL__MAIN): Remove.
- (VMS_DEBUG_MAIN_POINTER): Remove.
- * config/ia64/vms.h: Likewise.
- * config/alpha/alpha.c (alpha_start_function): Move vms_debug_main
- code to vms.c. Call vms_start_function.
- * config/ia64/ia64.c (ia64_start_function): Likewise.
- * config/vms/vms-protos.h (vms_start_function): Declare.
- * config/vms/vms.c (vms_start_function): New function.
- * config/vms/vms.h (MATH_LIBRARY): Define.
- (VMS_DEBUG_MAIN_POINTER): Define.
-
-2012-03-26 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/52629
- * reload1.c (count_pseudo): Short-circuit common case.
- (count_spilled_pseudo): Return early for pseudos without hard regs.
- Assert that the pseudo has got a hard reg before manipulating it.
-
-2012-03-24 Jan Hubicka <jh@suse.cz>
-
- PR lto/51663
- * varpool.c (varpool_finalize_decl): Handle toplevel_reorder here.
- (decide_is_variable_needed): Do not handle toplevel reorder here.
- * cgraph.h (varpool_can_remove_if_no_refs): Likewise.
- * ipa.c (cgraph_remove_unreachable_nodes): Remove unreachable vars
- even at -O0.
-
-2012-03-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * expr.c (optimize_bitfield_assignment_op) <BIT_IOR_EXPR>: Use str_mode
- and str_bitsize instead of more convoluted expressions.
-
-2012-03-24 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/52610
- * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=leon.
-
-2012-03-24 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/52656
- * config/sparc/sparc.c (sparc_handle_vis_mul8x16): Fix pasto.
-
-2012-03-23 Martin Jambor <mjambor@suse.cz>
-
- * tree-sra.c (build_accesses_from_assign): Remove FIXME comment.
-
-2012-03-23 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52678
- * tree-vectorizer.h (struct _stmt_vec_info): Add
- loop_phi_evolution_part member.
- (STMT_VINFO_LOOP_PHI_EVOLUTION_PART): New define.
- * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Initialize
- STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
- * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
- Use the cached evolution part and the PHI nodes value from
- the loop preheader edge instead of re-analyzing the evolution.
-
-2012-03-22 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * config/mips/mips-tables.opt: Update.
- * config/mips/mips.md (processor): Add xlp.
- * config/mips/mips-cpus.def: Add xlp.
- * config/mips/mips.c (mips_rtx_cost_data): Add costs for XLP, copy from
- 5KF for now.
- * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Handle xlp.
- * doc/invoke.texi: Mention XLP.
-
-2012-03-22 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/52547
- * tree-nested.c (convert_tramp_reference_stmt): Call declare_vars
- on any new_local_var_chain vars declared during recursing on
- GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK body.
-
-2012-03-22 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.h (ASM_OUTPUT_ALIGN): Move to config/alpha/elf.h
- (ASM_OUTPUT_SKIP): Move to config/alpha/vms.h
- (ASM_OUTPUT_LOCAL): Ditto.
- (ASM_OUTPUT_COMMON): Remove.
- * config/alpha/elf.h (ASM_OUTPUT_DEF_FROM_DECLS): Use ASM_OUTPUT_DEF.
- * config/alpha/vms.h (ASM_OUTPUT_ALIGN): Do not undefine before define.
-
-2012-03-22 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/51737
- * cgraph.c (cgraph_remove_node_and_inline_clones): Add FORBIDDEN_NODE
- parameter.
- * cgraph.h (cgraph_remove_node_and_inline_clones): Update prototype.
- * ipa-inline-transform.c (save_inline_function_body): Remove
- copied clone if needed.
- * tree-inline.c (delete_unreachable_blocks_update_callgraph): Update.
-
-2012-03-22 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52666
- * fold-const.c (fold_ternary_loc): Fix typo.
-
-2012-03-22 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/52496
- * config/avr/avr.md (unspec): Remove UNSPEC_MEMORY_BARRIER.
- (unspecv): Add UNSPECV_MEMORY_BARRIER.
- (cli_sei): Use unspec_volatile instead of unspec for memory barrier.
- (delay_cycles_1, delay_cycles_2): Ditto.
- (delay_cycles_3, delay_cycles_4): Ditto.
- (nopv, *nopv): Ditto.
- (sleep, *sleep): Ditto.
- (wdr, *wdr): Ditto.
-
-2012-03-22 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52548
- * tree-ssa-pre.c (valid_in_sets): Remove handling of invalidation
- because of clobbers.
- (prune_clobbered_mems): New function.
- (compute_antic_aux): Use it to prune ANTIC_OUT.
- (compute_partial_antic_aux): Use it to prune PA_IN.
- (compute_avail): Only insert expressions into EXP_GEN that are not
- invalidated when translated up to the beginning of the block.
-
-2012-03-22 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52638
- * tree-vect-stmts.c (vect_init_vector_1): New function, split
- out from ...
- (vect_init_vector): ... here. Handle scalar vector inits.
- (vect_get_vec_def_for_operand): Adjust.
- (vectorizable_load): Likewise.
-
-2012-03-22 Uros Bizjak <ubizjak@gmail.com>
-
- * config.gcc (alpha*-*-linux*): Add elfos.h to tm_file.
- (alpha*-*-freebsd*): Ditto.
- (alpha*-*-netbsd*): Ditto.
- (alpha*-*-openbsd*): Ditto.
- * config/alpha/elf.h (OBJECT_FORMAT_ELF): Remove.
- (DWARF2_DEBUGGING_INFO): Remove.
- (PREFERRED_DEBUGGING_TYPE): Remove.
- (ASM_FINAL_SPEC): Remove.
- (IDENT_ASM_OP): Remove.
- (ASM_OUTPUT_IDENT): Remove.
- (SKIP_ASM_OP): Remove.
- (ASM_OUTPUT_SKIP): Remove.
- (ALIGN_ASM_OP): Remove.
- (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
- (ASM_OUTPUT_CASE_LABEL): Remove.
- (ASM_OUTPUT_EXTERNAL_LIBCALL): Remove.
- (COMMON_ASM_OP): Remove.
- (ASM_OUTPUT_ALIGNED_COMMON): Remove.
- (ASCII_DATA_ASM_OP): Remove.
- (READONLY_DATA_SECTION_ASM_OP): Remove.
- (INIT_SECTION_ASM_OP): Remove.
- (FINI_SECTION_ASM_OP): Remove.
- (ASM_SECTION_START_OP): Remove.
- (ASM_OUTPUT_SECTION_START_FILE): Remove.
- (TARGET_ASM_NAMED_SECTION): Remove.
- (TARGET_ASM_SELECT_SECTION): Remove.
- (MAKE_DECL_ONE_ONLY): Remove.
- (TYPE_ASM_OP): Remove.
- (SIZE_ASM_OP): Remove.
- (ASM_WEAKEN_LABEL): Remove.
- (TYPE_OPERAND_FMT): Remove.
- (ASM_DECLARE_RESULT): Remove.
- (ASM_DECLARE_OBJECT_NAME): Remove.
- (ASM_FINISH_DECLARE_OBJECT): Remove.
- (ELF_ASCII_ESCAPES): Remove.
- (ELF_STRING_LIMIT): Remove.
- (STRING_ASM_OP): Remove.
- (ASM_OUTPUT_EXTERNAL): Remove.
- (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Redefine to false.
- * config/alpha/alpha.h (PCC_BITFIELD_TYPE_MATTERS): Undefine
- before define.
- (ASM_DECLARE_FUNCTION_NAME): Ditto.
- (ASM_DECLARE_FUNCTION_SIZE): Ditto.
- (ASM_GENERATE_INTERNAL_LABEL): Ditto.
- (ASM_OUTPUT_SKIP): Ditto.
- (READONLY_DATA_SECTION_ASM_OP): Remove.
- (USER_LABEL_PREFIX): Remove.
- (ASM_OUTPUT_ASCII): Remove.
- (ASM_OUTPUT_CASE_LABEL): Remove.
- (NO_DOLLAR_IN_LABEL): Undefine.
-
-2012-03-22 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52459
- * tree-ssa-pre.c (inhibit_phi_insertion): Do not inhibit
- PHI insertion for calls.
-
-2012-03-21 Steven Bosscher <steven@gcc.gnu.org>
-
- * cse.c (invalidate_from_sets_and_clobbers, try_back_substitute_reg,
- find_sets_in_insn, canonicalize_insn): Split out from ...
- (cse_insn): ... here.
- (invalidate_from_clobbers): Take an insn instead of the pattern.
-
-2012-03-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/52479
- * config/sh/sh-protos.h (sh_fsca_df2int): Remove.
- * config/sh/sh.c (sh_fsca_df2int_rtx, sh_fsca_df2int): Remove.
- * config/sh/sh.md (sindf2, cosdf2): Remove.
-
-2012-03-21 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/52642
- * config/sh/sh.c (sh_expand_prologue): Emit blockage at the end of
- prologue for unwinder and profiler.
-
-2012-03-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac (HAVE_LD_NO_DOT_SYMBOLS): Add powerpc64-*-freebsd*.
- Introduce emul_name to select the right linker emulation for
- powerpc64-*-freebsd*.
- * configure: Regenerate.
- * config.gcc: Add bits to support powerpc64-*-freebsd*.
- * config/rs6000/freebsd.h (POWERPC_FREEBSD): Define.
- * config/rs6000/freebsd64.h: New file.
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
- POWERPC_FREEBSD.
- (rs6000_savres_strategy): Likewise.
- (rs6000_savres_routine_name): Likewise.
- (rs6000_elf_file_end): Likewise.
- * config/rs6000/t-freebsd64: New file.
- * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set the
- rs6000_current_abi for 64-bit FreeBSD to ABI_AIX.
-
- * config/rs6000/freebsd64.h: Remove duplicated entries from last
- commit.
- * config/rs6000/t-freebsd64: Likewise.
-
-2012-03-21 Georg-Johann Lay <avr@gjlay.de>
-
- PR rtl-optimization/52543
- PR target/52461
- * config/avr/avr-protos.h (avr_load_lpm): New prototype.
- * config/avr/avr.c (avr_mode_dependent_address_p): New function.
- (TARGET_MODE_DEPENDENT_ADDRESS_P): New define.
- (avr_load_libgcc_p): Restrict to __flash loads.
- (avr_out_lpm): Only handle 1-byte loads from __flash.
- (avr_load_lpm): New function.
- (avr_find_unused_d_reg): Remove.
- (avr_out_lpm_no_lpmx): Remove.
- (adjust_insn_length): Handle ADJUST_LEN_LOAD_LPM.
- * config/avr/avr.md (unspec): Add UNSPEC_LPM.
- (load_<mode>_libgcc): Use UNSPEC_LPM instead of MEM.
- (load_<mode>, load_<mode>_clobber): New insns.
- (mov<mode>): For multi-byte move from non-generic
- 16-bit address spaces: Expand to load_<mode> resp.
- load_<mode>_clobber.
- (load<mode>_libgcc): Remove expander.
- (split-lpmx): Remove split.
-
-2012-03-21 Richard Earnshaw <rearnsha@arm.com>
-
- * neon.md (neon_vget_lanev2di): Use gen_lowpart and gen_highpart.
- * config/arm/neon.ml (Fixed_return_reg): Renamed to fixed_vector_reg.
- All callers changed.
- (Fixed_core_reg): New feature.
- (Vget_lane [sizes S64 and U64]): Add Fixed_core_reg. Allow fmrrd in
- disassembly.
- * neon-testgen.ml: Handle Fixed_core_reg.
-
-2012-03-21 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/arm.c (thumb2_reorg): Add complete support
- for 16-bit instructions.
- * config/arm/thumb2.md: Delete obsolete flag-clobbering peepholes.
-
-2012-03-21 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimizer/52636
- * tree-vect-slp.c (vect_get_constant_vectors): Convert constants
- to the appropriate type.
-
-2012-03-21 Richard Guenther <rguenther@suse.de>
-
- * Makefile.in (cfgexpand.o): Add $(REGS_H) and $(INTEGRATE_H)
- dependencies.
- * cfgexpand.c (gimple_expand_cfg): Fold in pass_init_function,
- pass_jump, pass_initial_value_sets and pass_unshare_all_rtl.
- * passes.c (init_optimization_passes): Remove pass_init_function,
- pass_jump, pass_initial_value_sets and pass_unshare_all_rtl.
- * tree-pass.h (pass_init_function): Remove.
- (pass_jump): Remove.
- (pass_initial_value_sets): Remove.
- (pass_unshare_all_rtl): Remove.
- * integrate.c (pass_initial_value_sets): Remove.
- * emit-rtl.c (pass_unshare_all_rtl): Remove.
- * tree.h (init_function_for_compilation): Remove.
- * function.c (init_function_for_compilation): Remove.
- (pass_init_function): Remove.
- * cfgcleanup.c (rest_of_handle_jump): Remove.
- (pass_jump): Remove.
-
-2012-03-20 Jason Merrill <jason@redhat.com>
-
- * tree-streamer-in.c (streamer_alloc_tree): Call
- ggc_alloc_zone_cleared_tree_node instead of
- ggc_alloc_zone_cleared_tree_node_stat.
-
-2012-03-20 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/extend.texi (Template Instantiation): Remove anachronisms.
-
-2012-03-20 Jakub Jelinek <jakub@redhat.com>
-
- PR target/52607
- * config/i386/i386.c (expand_vec_perm_vperm2f128): New function.
- (ix86_expand_vec_perm_const_1): Call it.
-
- * config/i386/i386.c (vselect_insn): New variable.
- (init_vselect_insn): New function.
- (expand_vselect, expand_vselect_insn): Add testing_p argument.
- Call init_vselect_insn if vselect_insn is NULL. Adjust
- PATTERN (vselect_insn), instead of creating a new insn each time,
- only emit a copy of it if not testing and recog has been successful.
- (expand_vec_perm_pshufb, expand_vec_perm_1,
- expand_vec_perm_pshuflw_pshufhw, expand_vec_perm_broadcast_1): Adjust
- callers.
-
- PR target/52607
- * config/i386/i386.md ("isa" attribute): Add avx2 and noavx2.
- ("enabled" attribute): Handle avx2 and noavx2 isas.
- * config/i386/sse.md (avx2_vec_dupv8sf_1, avx2_pbroadcast<mode>_1):
- New insns.
- (vec_dup<mode>): Add avx2 =x,x alternative.
- (vec_dup<mode> splitter): Don't split if TARGET_AVX2.
- (*avx_vperm_broadcast_<mode>): Don't split V4DFmode if TARGET_AVX2.
- For TARGET_AVX2, V8SFmode and elt == 0 split into vbroadcastss.
- * config/i386/i386.c (expand_vec_perm_pshufb): Emit also vpermps
- for V8SFmode.
- (expand_vec_perm_1): For broadcasts, use avx2_pbroadcast<mode>_1
- if possible, handle also V8SFmode.
-
-2012-03-20 Richard Earnshaw <rearnsha@arm.com>
-
- * arm/predicates.md (zero_operand, reg_or_zero_operand): New predicates.
- * arm/neon.md (neon_vceq<mode>, neon_vcge<mode>): Use
- reg_or_zero_operand predicate.
- (neon_vcle<mode>, neon_vclt<mode>): Use zero_operand predicate.
-
-2012-03-20 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (ix86_decompose_address) <case ZERO_EXTEND>:
- If operand isn't UNSPEC, return 0.
-
-2012-03-20 Richard Guenther <rguenther@suse.de>
-
- * tree-pass.h (pass_rtl_eh): Remove.
- * except.c (gate_handle_eh): Likewise.
- (rest_of_handle_eh): Likewise.
- (pass_rtl_eh): Likewise.
- (finish_eh_generation): Export.
- * except.h (finish_eh_generation): Declare.
- * passes.c (init_optimization_passes): Remove pass_rtl_eh.
- * cfgexpand.c (gimple_expand_cfg): Call finish_eh_generation
- after expanding stack alignment. Instead of compacting blocks
- call cleanup_cfg.
-
-2012-03-20 Richard Guenther <rguenther@suse.de>
-
- * stor-layout.c (finish_bitfield_representative): Fallback
- to conservative maximum size if the padding up to the next
- field cannot be computed as a constant.
- (finish_bitfield_layout): If we cannot compute the distance
- between the start of the bitfield representative and the
- bitfield member start a new representative.
- * expr.c (get_bit_range): The distance between the start of
- the bitfield representative and the bitfield member is zero
- if the field offsets are not constants.
-
-2012-03-20 Tristan Gingold <gingold@adacore.com>
-
- * tree.h (enum size_type_kind): Add stk_ prefix to constants,
- convert in lowercase.
- (sizetype_tab, sizetype, bitsizetype, ssizetype, sbitsizetype)
- (size_int, ssize_int, bitsize_int, sbitsize_int): Adjust.
- * stor-layout.c (sizetype_tab): Adjust.
- (initialize_sizetypes): Use SIZETYPE instead of SIZE_TYPE.
- * tree-streamer.c (preload_common_nodes): Use stk_type_kind_last
- instead of type_kind_last.
- * tree-scalar-evolution.c (interpret_rhs_expr): Use size_int
- instead of size_int_kind.
- * doc/tm.texi.in (Type Layout): Document SIZETYPE.
- * doc/tm.texi: Regenerate.
- * defaults.h (SIZETYPE): Provide a default value.
- * config/vms/vms.h (SIZE_TYPE): Define as "unsigned int".
- (SIZETYPE): Define.
-
-2012-03-20 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md: Use braced string notation where applicable.
-
-2012-03-19 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (allocate_stack): Simplify.
-
-2012-03-19 Uros Bizjak <ubizjak@gmail.com>
-
- * builtins.c (expand_builtin_cexpi): Use copy_addr_to_reg instead of
- copy_to_mode_reg (Pmode, ...).
- (expand_builtin_frame_address): Ditto.
- * expr.c (emit_block_move_via_libcall): Ditto.
- (set_storage_via_libcall): Ditto.
-
- * config/i386/i386.c (ix86_expand_movmem): Ditto.
- (ix86_expand_setmem): Ditto.
- (ix86_trampoline_init): DItto.
- * config/i386/i386.md (cmpstrnsi): Ditto.
-
-2012-03-19 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/sh/sh.opt (madjust-unroll): Mark as ignored/obsolete.
- * config/sh/sh.h (TARGET_OPT_DEFAULT): Don't use MASK_ADJUST_UNROLL.
- * doc/invoke.texi (Option Summary): Remove -madjust-unroll.
- (SH Options): Likewise.
-
-2012-03-19 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (get_thread_pointer): Add tp_mode argument.
- Generate ZERO_EXTEND in place if GET_MODE (tp) != tp_mode.
- (legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>: Always generate
- DImode UNSPEC_GOTNTPOFF references on TARGET_64BIT.
- (ix86_decompose_address): Allow zero extended UNSPEC_TP references.
-
- Revert:
- 2012-03-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (TARGET_TLS_INDIRECT_SEG_REFS): New.
- * config/i386/i386.c (ix86_decompose_address): Use
- TARGET_TLS_INDIRECT_SEG_REFS to prevent %fs:(%reg) addresses.
- (legitimize_tls_address): Use TARGET_TLS_INDIRECT_SEG_REFS to load
- thread pointer to a register.
-
- Revert:
- 2012-03-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_decompose_address): Disallow fs:(reg)
- if Pmode != word_mode.
- (legitimize_tls_address): Call gen_tls_initial_exec_x32 if
- Pmode == SImode for TARGET_X32.
- * config/i386/i386.md (UNSPEC_TLS_IE_X32): New.
- (tls_initial_exec_x32): Likewise.
-
-2012-03-19 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/50751
- * config/sh/sh.h (CONST_OK_FOR_K04, CONST_OK_FOR_K12, DISP_ADDR_P,
- DISP_ADDR_OFFSET): New macros.
- * config/sh/sh.c (sh_address_cost): Add SH2A special case.
- (sh_legitimate_index_p): Allow QImode displacements for non-SH2A.
- (sh_legitimize_address): Add QImode displacement handling.
- (sh_cannot_change_mode_class): Disallow GENERAL_REGS for SFmode
- vector subregs.
- (sh_secondary_reload): Add QImode displacement handling.
- * config/sh/predicates.md (movsrc_no_disp_mem_operand): New predicate.
- * config/sh/constraints.md (K04, Snd, Sdd): New constraints.
- * config/sh/sh.md (extendqisi2): Remove constraints from expander.
- (*extendqisi2_compact): Rename to *extendqisi2_compact_reg, restrict
- to register operands only.
- (*extendqisi2_compact_mem_disp, *extendqisi2_compact_snd): New insns.
- (extendqihi2): Change insn to expander.
- (*extendqihi2_compact_reg): New insn.
- (movqi_i, movqi): Replace with ...
- (movqi, *movqi_reg_reg, *movqi_store_mem_disp12,
- *movqi_load_mem_disp, *movqi_load_mem_disp): ... these.
- Add new peepholes for QImode displacement addressing.
-
-2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/14710
- * doc/invoke.texi: Document -Wuseless-cast.
-
-2012-03-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.def (REALPART_EXPR, IMAGPART_EXPR, VIEW_CONVERT_EXPR): Move.
- * tree.h (handled_component_p): Reorder cases.
- * dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref): Do
- not initialize unsignedp.
- (loc_list_from_tree): Likewise.
- (fortran_common): Likewise.
- * simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
-
-2012-03-19 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_expand_prologue) <CM_LARGE_PIC>: Use Pmode
- mode consistently. Use ix86_gen_add3. Assert that Pmode == DImode.
- (ix86_expand_split_stack_prologue): Use ix86_gen_add3.
- (ix86_split_long_move): Ditto.
- (legitimize_tls_address): Use ix86_gen_sub3.
- (construct_plt_address): Assert that Pmode == DImode.
-
-2012-03-18 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md: Remove empty predicates and/or constraints.
- * config/i386/sync.md: Ditto.
- * config/i386/sse.md: Ditto.
- * config/i386/mmx.md: Ditto.
- * config/i386/pentium.md: Ditto.
- * config/i386/athlon.md: Ditto.
-
-2012-03-16 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52603
- * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Clarify
- comment.
-
- Revert
- 2012-03-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52571
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Move
- flag_section_anchors check ...
- (vect_can_force_dr_alignment_p): ... here.
-
-2012-03-16 Martin Jambor <mjambor@suse.cz>
-
- * expr.c (expand_expr_real_1): Handle misaligned scalar reads from
- memory through MEM_REFs by calling extract_bit_field.
-
-2012-03-16 Richard Guenther <rguenther@suse.de>
-
- * fold-const.c (native_interpret_expr): Also support POINTER_TYPE
- and REFERENCE_TYPE interpretations.
- (can_native_interpret_type_p): New function.
- (fold_ternary_loc): Use native encode/interpret to fold
- BIT_FIELD_REFs of constants.
-
-2012-03-16 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52584
- * fold-const.c (fold_ternary_loc): Fold vector typed BIT_FIELD_REFs
- of vector constants and constructors.
-
-2012-03-16 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
- VIEW_CONVERT_EXPR to convert constants.
- (vect_is_simple_use): Treat all constants as vec_constant_def.
-
-2012-03-16 Richard Guenther <rguenther@suse.de>
- Kai Tietz <ktietz@redhat.com>
-
- PR middle-end/48814
- * gimplify.c (gimplify_self_mod_expr): Evaluate postfix
- side-effects completely in the pre-queue and use a temporary
- for the result.
-
-2012-03-16 Richard Guenther <rguenther@suse.de>
-
- * stor-layout.c (finish_bitfield_representative): Fall back
- to the conservative maximum size if we cannot compute the
- size of the tail padding.
-
-2012-03-16 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/vms.h (TARGET_OS_CPP_BUILTINS): Define
- __CRTL_VER and __VMS_VER.
- * config/vms/vms-protos.h: Declare vms_c_get_crtl_ver
- and vms_c_get_vms_ver.
- * config/vms/vms-c.c (vms_c_get_crtl_ver, vms_c_get_vms_ver): New
- functions.
- * config/alpha/vms.h (VMS_DEFAULT_CRTL_VER)
- (VMS_DEFAULT_VMS_VER): Define.
- * config/ia64/vms.h (VMS_DEFAULT_CRTL_VER)
- (VMS_DEFAULT_VMS_VER): Define.
-
-2012-03-16 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-loop.c (get_initial_def_for_induction): Use
- build_constructor directly.
- * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
- build_vector_from_val.
- * tree.c (build_vector_from_val): Avoid creating a constructor
- first when we want a constant vector.
-
-2012-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/install.texi (Specific, *-*-solaris2*): Improve wording.
-
-2012-03-16 Richard Guenther <rguenther@suse.de>
-
- * tree.h (TREE_VECTOR_CST_ELTS): Remove.
- (VECTOR_CST_NELTS, VECTOR_CST_ELTS, VECTOR_CST_ELT): New defines.
- (struct tree_vector): Remove elements member, add variable size
- elts array member.
- (build_vector_stat): Declare.
- (build_vector): Define in terms of build_vector_stat.
- * tree.c (build_vector): Rename to ...
- (build_vector_stat): ... this. Take array of trees as parameter.
- (build_vector_from_ctor): Adjust.
- (integer_zerop, integer_onep, integer_all_onesp, iterative_hash_expr,
- initializer_zerop): Adjust.
- * cfgexpand.c (expand_debug_expr): Likewise.
- * expr.c (categorize_ctor_elements_1, expand_expr_real_1,
- const_vector_from_tree): Likewise.
- * fold-const.c (const_binop, operand_equal_p, native_encode_vector,
- native_interpret_vector, fold_unary_loc, vec_cst_ctor_to_array,
- fold_vec_perm, fold_binary_loc, fold_ternary_loc): Likewise.
- * tree-streamer-in.c (streamer_alloc_tree): Handle TS_VECTOR.
- (lto_input_ts_vector_tree_pointers): Adjust.
- * tree-streamer-out.c (streamer_write_tree_header): Handle TS_VECTOR.
- (write_ts_vector_tree_pointers): Adjust.
- * varasm.c (const_hash_1, compare_constant, copy_constant,
- output_constant): Adjust.
- * gimple-fold.c (gimple_fold_stmt_to_constant_1): Adjust.
- * print-tree.c (print_node): Adjust.
- * tree-pretty-print.c (dump_generic_node): Adjust.
- * tree-vect-generic.c (uniform_vector_p, vector_element,
- lower_vec_perm): Adjust.
- * tree-vect-loop.c (get_initial_def_for_reduction): Adjust.
- * tree-vect-slp.c (vect_get_constant_vectors,
- vect_transform_slp_perm_load): Adjust.
- * tree-vect-stmts.c (vect_gen_perm_mask): Adjust.
- * expmed.c (make_tree): Adjust.
- * config/i386/i386.c (ix86_expand_builtin): Adjust.
- * config/sparc/sparc.c (sparc_handle_vis_mul8x16): Adjust interface
- and implementation.
- (sparc_fold_builtin): Adjust.
-
-2012-03-16 Tristan Gingold <gingold@adacore.com>
-
- * config.gcc (*-*-*vms*): Define use_gcc_stdint and tm_file.
- * config/vms/vms-stdint.h: New file.
-
-2012-03-16 Tristan Gingold <gingold@adacore.com>
-
- * config.host (alpha64-dec-*vms*, alpha*-dec-*vms*)
- (ia64-hp-*vms*): Replaced by ...
- (*-*-*vms*): ... This new entry.
-
-2012-03-15 Jakub Jelinek <jakub@redhat.com>
-
- PR target/52568
- * config/i386/i386.c (expand_vec_perm_vperm2f128_vblend): New function.
- (ix86_expand_vec_perm_const_1): Use it.
-
- PR target/52568
- * config/i386/sse.md (UNSPEC_VPERMDF): Remove.
- (avx2_permv4df): Remove.
- (avx2_permv4di): Macroize into...
- (avx2_perm<mode>): ... this using VI8F_256 iterator.
- (avx2_permv4di_1): Macroize into...
- (avx2_perm<mode>_1): ... this using VI8F_256 iterator.
-
-2012-03-15 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * combine.c (apply_distributive_law): Do not distribute SUBREG.
-
-2012-03-15 Ira Rosen <irar@il.ibm.com>
- Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * tree-vect-patterns.c (widened_name_p): Rename to ...
- (type_conversion_p): ... this. Add new argument to determine
- if it's a promotion or demotion operation. Check for
- CONVERT_EXPR_CODE_P instead of NOP_EXPR.
- (vect_recog_dot_prod_pattern): Call type_conversion_p instead
- widened_name_p.
- (vect_recog_widen_mult_pattern, vect_recog_widen_sum_pattern,
- vect_operation_fits_smaller_type, vect_recog_widen_shift_pattern):
- Likewise.
- (vect_recog_mixed_size_cond_pattern): Likewise and allow
- non-constant then and else clauses.
-
-2012-03-15 Ira Rosen <irar@il.ibm.com>
- Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * tree-vectorizer.h (vect_pattern_recog): Add new argument.
- * tree-vect-loop.c (vect_analyze_loop_2): Update call to
- vect_pattern_recog.
- * tree-vect-patterns.c (widened_name_p): Pass basic block
- info to vect_is_simple_use.
- (vect_recog_dot_prod_pattern): Fail for basic blocks.
- (vect_recog_widen_sum_pattern): Likewise.
- (vect_handle_widen_op_by_const): Support basic blocks.
- (vect_operation_fits_smaller_type,
- vect_recog_over_widening_pattern): Likewise.
- (vect_recog_vector_vector_shift_pattern): Support basic blocks.
- Update call to vect_is_simple_use.
- (vect_recog_mixed_size_cond_pattern): Support basic blocks.
- Add printing.
- (check_bool_pattern): Add an argument, update call to
- vect_is_simple_use and the recursive calls.
- (vect_recog_bool_pattern): Update relevant function calls.
- Add printing.
- (vect_mark_pattern_stmts): Update calls to new_stmt_vec_info.
- (vect_pattern_recog_1): Check for reduction only in loops.
- (vect_pattern_recog): Add new argument. Support basic blocks.
- * tree-vect-stmts.c (vectorizable_conversion): Pass basic block
- info to vect_is_simple_use_1.
- * tree-vect-slp.c (vect_get_and_check_slp_defs): Support basic blocks.
- (vect_slp_analyze_bb_1): Call vect_pattern_recog.
-
-2012-03-15 Jakub Jelinek <jakub@redhat.com>
- Andrew Pinski <apinski@cavium.com>
-
- PR middle-end/52592
- * builtins.c (expand_builtin_int_roundingfn_2): If expanding
- BUILT_IN_IR{INT,OUND}* using optab fails, emit lr{int,ound}*
- calls instead of __builtin_ir{int,ound}*.
-
-2012-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * doc/sourcebuild.texi (cleanup-modules, keep-modules): Update
- documentation.
-
-2012-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * config.gcc (target_type_format_char): New. Document it. Set it for
- arm*-*-* .
- * configure.ac (gnu_unique_option): Use target_type_format_char
- in test. Comment rationale.
- * configure: Regenerate .
-
-2012-03-15 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52267
- * tree-vrp.c (masked_increment): New function.
- (register_edge_assert_for_2): Derive ASSERT_EXPRs
- from (X & CST1) cmp CST2 tests.
-
-2012-03-15 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52580
- * tree-data-ref.c (subscript_dependence_tester_1): Check
- all dimensions for non-conflicting access functions.
-
-2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c++/44783
- * doc/invoke.texi [C++ Language Options]: Document
- -ftemplate-backtrace-limit.
-
-2012-03-15 Tristan Gingold <gingold@adacore.com>
-
- * c-parser.c (c_parser_parameter_declaration): Handle #pragma
- before a parameter.
-
-2012-03-15 Tristan Gingold <gingold@adacore.com>
-
- * dwarf2out.c (gen_subprogram_die): Require dwarf unwinding to
- use DW_OP_call_frame_cfa.
-
-2012-03-14 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/50797
- * config/i386/i386-opts.h (pmode): New.
- * config/i386/i386.c (ix86_option_override_internal): Properly
- check and set ix86_pmode.
- * config/i386/i386.h (Pmode): Check ix86_pmode instead of TARGET_64BIT.
- * config/i386/i386.opt (maddress-mode=): New.
- * doc/invoke.texi: Document -maddress-mode=short|long for x86.
-
-2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * dwarf2cfi.c (def_cfa_0): Remove MIPS_DEBUGGING_INFO handling.
- (dwarf2out_do_cfi_asm): Likewise.
- * dwarf2out.c (output_call_frame_info): Remove MIPS_DEBUGGING_INFO
- handling.
- (add_data_member_location_attribute): Likewise.
- (gen_array_type_die): Likewise.
- (gen_subprogram_die): Likewise.
- (gen_producer_string): Likewise.
- * sdbout.c (sdbout_begin_prologue): Declare unconditionally.
- Remove MIPS_DEBUGGING_INFO handling.
- (sdb_debug_hooks): Likewise.
- (sdbout_begin_block): Likewise.
- (sdbout_end_block): Likewise.
- (sdbout_begin_prologue): Likewise.
- (sdbout_start_source_file): Likewise.
- (sdbout_end_source_file): Likewise.
- (sdbout_init): Likewise.
- * system.h (MIPS_DEBUGGING_INFO): Poison.
-
-2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/alpha/alpha.c [HAVE_STAMP_H]: Remove.
- (alpha_file_start) [MS_STAMP]: Remove.
-
- * config/alpha/elf.h (TARGET_GAS): Remove.
- * config/alpha/freebsd.h (TARGET_DEFAULT): Remove.
- * config/alpha/linux.h (TARGET_DEFAULT): Remove.
- * config/alpha/netbsd.h (TARGET_DEFAULT): Remove.
- * config/alpha/vms.h (TARGET_DEFAULT): Remove.
- * config.gcc (alpha*-*-linux*): Remove target_cpu_default.
- (alpha*-*-freebsd*): Likewise.
- (alpha*-*-netbsd*): Likewise.
- (alpha*-*-openbsd*): Likewise.
- (alpha*-*-*): Remove target_cpu_default2.
- * config/alpha/alpha.c (alpha_output_filename): Remove !TARGET_GAS
- handling.
- * config/alpha/alpha.h (TARGET_AS_CAN_SUBTRACT_LABELS): Remove.
- (TARGET_AS_SLASH_BEFORE_SUFFIX): Remove.
- * config/alpha/alpha.c (print_operand): Always assume
- TARGET_AS_SLASH_BEFORE_SUFFIX.
- * config/alpha/alpha.md ("*builtin_setjmp_receiver_er_sl_1"):
- Remove TARGET_AS_CAN_SUBTRACT_LABELS.
- ("*builtin_setjmp_receiver_er_1"): Remove.
- * config/alpha/alpha.opt (malpha-as): Remove.
- (mgas): Ignore.
- * doc/invoke.texi (Option Summary, DEC Alpha Options): Remove
- -malpha-as, -mgas.
- Remove DEC Unix reference.
-
- * config/alpha/alpha.h (OBJECT_FORMAT_COFF): Remove.
- (EXTENDED_COFF): Remove.
- * config/alpha/elf.h (OBJECT_FORMAT_COFF): Don't undef.
- (EXTENDED_COFF): Don't undef.
- * config/alpha/alpha.c (alpha_file_start): Always assume
- OBJECT_FORMAT_ELF.
- Don't set targetm.asm_file_start_file_directive.
- [!OBJECT_FORMAT_ELF]: Remove.
- (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Remove.
-
- * config/alpha/alpha.h (SDB_DEBUGGING_INFO): Remove.
- (DBX_DEBUGGING_INFO): Remove.
- (MIPS_DEBUGGING_INFO): Remove.
- (PREFERRED_DEBUGGING_TYPE): Remove.
- (DBX_OUTPUT_SOURCE_LINE): Remove.
- (SDB_OUTPUT_SOURCE_LINE): Remove.
- (DBX_CONTIN_LENGTH): Remove.
- (NO_DBX_FUNCTION_END): Remove.
- (ASM_STABS_OP): Remove.
- (ASM_STABN_OP): Remove.
- (ASM_STABD_OP): Remove.
- (SDB_ALLOW_FORWARD_REFERENCES): Remove.
- (SDB_ALLOW_UNKNOWN_REFERENCES): Remove.
- (PUT_SDB_DEF): Remove.
- (PUT_SDB_PLAIN_DEF): Remove.
- (PUT_SDB_TYPE): Remove.
- (sdb_label_count): Remove.
- (PUT_SDB_BLOCK_START): Remove.
- (PUT_SDB_BLOCK_END): Remove.
- (PUT_SDB_FUNCTION_START): Remove.
- (PUT_SDB_FUNCTION_END): Remove.
- (PUT_SDB_EPILOGUE_END): Remove.
- * config/alpha/elf.h (SDB_DEBUGGING_INFO): Don't undef.
- (MIPS_DEBUGGING_INFO): Don't undef.
- (DBX_DEBUGGING_INFO): Don't undef.
- * config/alpha/vms.h (SDB_DEBUGGING_INFO): Don't undef.
- (MIPS_DEBUGGING_INFO): Don't undef.
- (DBX_DEBUGGING_INFO): Don't undef.
- * config/alpha/freebsd.h (DBX_CONTIN_CHAR): Remove.
- * config/alpha/alpha.c (alpha_option_override): Remove SDB_DEBUG
- handling.
- (alpha_start_function): Likewise.
- (sdb_label_count): Remove.
- (alpha_output_filename): Remove DBX_DEBUG handling.
- (alpha_file_start): Likewise.
-
-2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config.gcc (enable_obsolete): Remove *-*-solaris2.8*.
- (*-*-solaris2.[0-8], *-*-solaris2.[0-8].*): Mark unsupported.
- (i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Remove
- Solaris 8 support.
- * configure.ac (gcc_cv_ld_hidden): Remove *-*-solaris2.8*.
- (ld_tls_support): Remove Solaris 8 references.
- (lwp_dir, lwp_spec): Remove support for alternate thread library.
- * acinclude.m4 (gcc_cv_initfini_array): Remove *-*-solaris2.* tests.
- * configure: Regenerate.
- * config.in: Regenerate.
-
- * config/sol2.h (LINK_SPEC): Remove LIB_THREAD_LDFLAGS_SPEC.
- * config/i386/sol2.h: Remove Solaris 8 references.
-
- * doc/install.texi (Specific, i?86-*-solaris2.[89]): Rename to ...
- (i?86-*-solaris2.9): ... this.
- Remove Solaris 8 references.
- (Specific, *-*-solaris2*): Document Solaris 8 removal.
- Remove Solaris 8 references.
-
-2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config.gcc (enable_obsolete): Remove mips-sgi-irix6.5.
- (mips-sgi-irix6.5*): Remove.
- * config.host (mips-sgi-irix*): Remove.
- * configure.ac (enable_fixed_point): Remove mips*-sgi-irix*.
- (set_have_as_tls): Remove *-*-irix6*.
- (gcc_cv_ld_static_dynamic): Remove mips-sgi-irix6*.
- * configure: Regenerate.
-
- * config/mips/iris6.h: Remove.
- * config/mips/iris6.opt: Remove.
- * config/mips/t-irix6: Remove.
-
- * config/mips/mips.h (TARGET_GPWORD): Remove IRIX 6 N64 handling.
- (TARGET_IRIX6): Remove.
- (TARGET_CPU_CPP_BUILTINS): Remove IRIX 6 handling.
- Don't define LANGUAGE_C, _LANGUAGE_C for Objective-C.
- * config/mips/mips.c (mips_build_builtin_va_list): Remove IRIX 6
- handling.
- (mips_file_start): Likewise.
- * config/mips/mips-protos.h (irix_asm_output_align): Remove.
-
- * config/mips/driver-native.c [__sgi__]: Remove.
- (host_detect_local_cpu) [__sgi__]: Remove.
-
- * config/mips/gnu-user.h: Remove iris5.h reference.
-
- * config/mips/mips-modes.def: Remove IRIX 6 reference.
- * config/mips/gnu-user64.h (MIPS_TFMODE_FORMAT): Remove.
- * config/mips/mips.c (mips_option_override) [MIPS_TFMODE_FORMAT]:
- Remove.
-
- * gcc.c (main): Move asm_debug initialization ...
- (asm_debug): ... here.
-
- * ginclude/stddef.h (__STDDEF_H__): Don't define.
-
- * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): Remove.
- * system.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): Poison.
- * collect2.c [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES]: Remove.
- (main) [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES]: Remove.
- [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES] (is_in_args): Remove.
- * doc/tm.texi.in (Driver, LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
- Remove.
- * doc/tm.texi: Regenerate.
-
- * doc/invoke.texi (Debugging Options, -gdwarf-<version>): Remove
- IRIX 6 reference.
- (MIPS Options, -march): Remove IRIX reference.
- * doc/install.texi (Binaries, SGI IRIX): Remove.
- (Specific, mips-sgi-irix6): Document IRIX 6.5 removal, remove rest
- of section.
- * doc/trouble.texi (Interoperation): Remove -lgl_s handling.
-
-2012-03-14 Martin Jambor <mjambor@suse.cz>
-
- * expr.c (expand_assignment): Use expand_expr with EXPAND_WRITE
- when expanding MEM_REFs, MEM_TARGET_REFs and handled_component bases.
- (expand_expr_real_1): Do not handle misalignment if modifier is
- EXPAND_WRITE.
-
-2012-03-14 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52584
- * tree-vect-generic.c (type_for_widest_vector_mode): Take
- element type instead of mode, use build_vector_type_for_mode
- instead of the langhook, build a vector of proper signedness.
- (expand_vector_operations_1): Adjust.
-
-2012-03-14 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52582
- * gimple-fold.c (canonicalize_constructor_val): Make sure we have
- a cgraph node for a FUNCTION_DECL that comes from a constructor.
- (gimple_get_virt_method_for_binfo): Likewise.
-
-2012-03-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52571
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Move
- flag_section_anchors check ...
- (vect_can_force_dr_alignment_p): ... here. Do not re-align
- DECL_COMMON variables.
-
-2012-03-14 Richard Guenther <rguenther@suse.de>
-
- * tree.h (DECL_BIT_FIELD_REPRESENTATIVE): New define.
- * stor-layout.c (start_bitfield_representative): New function.
- (finish_bitfield_representative): Likewise.
- (finish_bitfield_layout): Likewise.
- (finish_record_layout): Call finish_bitfield_layout.
- * tree.c (free_lang_data_in_decl): Only free DECL_QUALIFIER
- for QUAL_UNION_TYPE fields.
- * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
- Stream DECL_BIT_FIELD_REPRESENTATIVE.
- * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
-
- PR middle-end/52080
- PR middle-end/52097
- PR middle-end/48124
- * expr.c (get_bit_range): Unconditionally extract bitrange
- from DECL_BIT_FIELD_REPRESENTATIVE.
- (expand_assignment): Adjust call to get_bit_range.
-
-2012-03-14 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52578
- * fold-const.c (fold_unary_loc): Fold (T1)(T2)x to (T1)x if
- the outermost conversion is a sign-change only.
- (fold_binary_loc): Disregard widening and sign-changing
- conversions when we determine if two variables are equal
- for reassociation.
- * tree-ssa-forwprop.c (combine_conversions): Fold (T1)(T2)x to
- (T1)x if the outermost conversion is a sign-change only.
-
-2012-03-14 Uros Bizjak <ubizjak@gmail.com>
-
- Revert:
- 2012-03-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (constant_call_address_operand): Declare
- as special predicate. Update all uses.
-
-2012-03-13 Jakub Jelinek <jakub@redhat.com>
-
- PR c/52577
- * c-parser.c (c_parser_postfix_expression)
- <case RID_BUILTIN_SHUFFLE>: Call mark_exp_read on argument values.
-
- * config/i386/smmintrin.h: Avoid /* within a comment.
- * config/i386/nmmintrin.h: Likewise.
-
-2012-03-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (xbegin): Remove constraint from expander.
-
-2012-03-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (constant_call_address_operand): Declare
- as special predicate. Update all uses.
- * config/i386/i386.md: Remove mode from constant_call_address_operand
- predicates.
- * config/i386/i386.c (ix86_output_call_insn): Call
- constant_call_address_operand with VOIDmode.
-
-2012-03-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_decompose_address): Handle subregs of
- AND zero extended address correctly.
-
-2012-03-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (tls_symbolic_operand): Declare as
- special predicate.
- (tls_modbase_operand): Ditto.
- * config/i386/i386.md: Remove mode from tls_symbolic_operand and
- tls_modbase_operand predicates.
-
-2012-03-13 Martin Jambor <mjambor@suse.cz>
-
- * expr.c (expand_assignment): Handle misaligned scalar writes to
- memory through top-level MEM_REFs by calling store_bit_field.
-
-2012-03-13 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52134
- * fold-const.c (fold_binary_loc): Fold (X * Y) & -(1 << CST) to X * Y
- if Y is a constant multiple of 1 << CST.
-
-2012-03-13 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/52488
- * config/avr/avr.c (avr_prologue_setup_frame): Cut down stack
- offset (size) to a value the insns can deal with.
- (expand_epilogue): Ditto.
-
-2012-03-13 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * config/arm/neon.ml (ops): Fixup expected instructions for
- unsigned vector compares.
-
-2012-03-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_decompose_address): Prevent %fs:(%reg)
- addresses only when %reg is not in word mode.
-
-2012-03-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/microblaze/microblaze.md: Fix typo.
- * tree-if-conv.c: Likewise.
- * tree-vect-patterns.c: Likewise.
-
-2012-03-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config.gcc (extra_passes): Remove.
- * configure.ac (extra_passes): Don't substitute.
- * configure: Regenerate.
- * Makefile.in (EXTRA_PASSES): Remove.
- (GCC_PASSES): Remove $(EXTRA_PASSES).
- (MOSTLYCLEANFILES): Likewise.
- (native): Likewise.
- (install-common): Likewise.
-
-2012-03-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (TARGET_TLS_INDIRECT_SEG_REFS): New.
- * config/i386/i386.c (ix86_decompose_address): Use
- TARGET_TLS_INDIRECT_SEG_REFS to prevent %fs:(%reg) addresses.
- (legitimize_tls_address): Use TARGET_TLS_INDIRECT_SEG_REFS to load
- thread pointer to a register.
-
-2012-03-12 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Remove :P
- on tls_symbolic_operand.
- (tls_global_dynamic_64_<mode>): Likewise.
-
-2012-03-12 Georg-Johann Lay <avr@gjlay.de>
-
- PR other/52545
- * output.h (SECTION_EXCLUDE, SECTION_MACH_DEP): Don't use
- SECTION_MACH_DEP reserved bits for SECTION_EXCLUDE.
-
-2012-03-12 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/52499
- * config/avr/avr.c (avr_mode_code_base_reg_class): Change return
- type from reg_class_t to enum reg_class.
- * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
-
-2012-03-12 Andrew Pinski <apinski@cavium.com>
-
- * tree-ssa-phiopt.c (single_non_singleton_phi_for_edges): New function.
- (tree_ssa_phiopt_worker): Use single_non_singleton_phi_for_edges.
- (value_replacement): Likewise.
- (empty_block_p): Check also if the PHIs for the block are empty.
-
-2012-03-12 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/52148
- * config/avr/avr.c (avr_out_movmem): Fix typo in output template
- for the case ADDR_SPACE_FLASH and AVR_HAVE_LPMX introduced in
- r184615 from 2012-02-28.
-
-2012-03-12 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_gen_tls_global_dynamic_64): New.
- (ix86_gen_tls_local_dynamic_base_64): Likewise.
- (ix86_option_override_internal): Set ix86_gen_tls_global_dynamic_64
- and ix86_gen_tls_local_dynamic_base_64.
- (legitimize_tls_address): Use ix86_gen_tls_global_dynamic_64 and
- ix86_gen_tls_local_dynamic_base_64.
- * config/i386/i386.md (*tls_global_dynamic_64): Renamed to ...
- (*tls_global_dynamic_64_<mode>): This.
- (tls_global_dynamic_64): Renamed to ...
- (tls_global_dynamic_64_<mode>): This.
- (*tls_local_dynamic_base_64): Renamed to ...
- (*tls_local_dynamic_base_64_<mode>): This.
- (tls_local_dynamic_base_64): Renamed to ...
- (tls_local_dynamic_base_64_<mode>): This.
-
-2012-03-12 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_option_override_internal): Properly
- set ix86_gen_leave and ix86_gen_monitor. Check Pmode == DImode,
- instead of TARGET_64BIT, to set ix86_gen_add3, ix86_gen_sub3,
- ix86_gen_one_cmpl2, ix86_gen_andsp, ix86_gen_allocate_stack_worker,
- ix86_gen_adjust_stack_and_probe and ix86_gen_probe_stack_range.
- * config/i386/sse.md (sse3_monitor64): Renamed to ...
- (sse3_monitor64_<mode>): This.
-
-2012-03-12 Tristan Gingold <gingold@adacore.com>
-
- * config/ia64/ia64.c (ia64_function_arg_1): Move code around.
- (ia64_function_arg_advance): Ditto.
-
-2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config.gcc (mips*-*-openbsd*): Remove.
- * config/mips/openbsd.h: Remove.
- * config/mips/sdb.h: Remove.
-
- * config/mips/mips.h (SDB_OUTPUT_SOURCE_LINE): Remove.
- * config/mips/mips.c (sdb_label_count): Remove.
- (mips_debugger_offset): Remove #if 0 code.
- (mips_output_function_prologue) [SDB_DEBUGGING_INFO]: Remove.
- * config/mips/sde.h (SDB_DEBUGGING_INFO): Don't undef.
-
-2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/install.texi (Specific, i?86-*-solaris2.[89]): Update
- binutils reference.
- (Specific, i?86-*-solaris2.10): Remove GCC 4.0 reference.
- Update binutils references.
- (Specific, *-*-solaris2*): Mention bundled GCC in Solaris 10 and 11.
- Update binutils reference.
- Update Sun as/GNU ld caveat.
- Document binutils largefile requirement for LTO plugin.
- Remove reference to alternate libpthread.
-
-2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config.gcc (alpha*-dec-osf5.1*): Remove.
- * config.host (alpha*-dec-osf*): Remove.
- * configure.ac (*-*-osf*): Remove.
- (alpha*-dec-osf*): Remove.
- * configure: Regenerate.
-
- * config/alpha/host-osf.c, config/alpha/osf5.h, config/alpha/osf5.opt,
- config/alpha/va_list.h, config/alpha/x-osf: Remove.
-
- * config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Remove.
- * config/alpha/alpha.c (struct machine_function): Update comment.
- (alpha_start_function): Remove Tru64 UNIX as handling for
- max_frame_size.
- * config/alpha/alpha.md ("exception_receiver"): Remove
- TARGET_LD_BUGGY_LDGP.
- ("*exception_receiver_2"): Likewise.
- * except.c (finish_eh_generation): Remove Tru64 reference.
- * ginclude/stdarg.h [_HIDDEN_VA_LIST]: Don't undef _VA_LIST.
- * system.h (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Poison.
- * target.def (handle_pragma_extern_prefix): Remove.
-
- * Makefile.in (mips-tfile.o-warn): Remove.
- (ALL_HOST_BACKEND_OBJS): Remove mips-tfile.o, mips-tdump.o.
- (mips-tfile, mips-tfile.o, mips-tdump, mips-tdump.o): Remove.
- * mips-tdump.c, mips-tfile.c: Remove.
-
- * doc/extend.texi (Symbol-Renaming Pragmas): Remove #pragma
- extern_prefix.
- * doc/install.texi (Binaries): Remove Tru64 UNIX reference.
- (Specific, alpha*-dec-osf5.1): Note removal.
- * doc/tm.texi.in (Misc, TARGET_HANDLE_PRAGMA_EXTERN_PREFIX):
- Remove.
- * doc/tm.texi: Regenerate.
- * doc/trouble.texi (Cross-Compiler Problems): Remove.
-
-2012-03-12 Richard Guenther <rguenther@suse.de>
-
- * config/arm/arm.c (neon_dereference_pointer): Do not call
- covert during RTL expansion.
-
-2012-03-12 Tristan Gingold <gingold@adacore.com>
-
- * doc/invoke.texi (VMS Options): Merge Alpha/VMS and IA-64/VMS
- Options. Mention -mpointer-size.
-
-2012-03-12 Richard Guenther <rguenther@suse.de>
-
- * config/alpha/alpha.c (alpha_gimplify_va_arg): Use
- build_nonstandard_integer_type.
-
-2012-03-12 Richard Guenther <rguenther@suse.de>
-
- * tree.c (signed_or_unsigned_type_for): Use
- build_nonstandard_integer_type.
- (signed_type_for): Adjust documentation.
- (unsigned_type_for): Likewise.
- * tree-pretty-print.c (dump_generic_node): Use standard names
- for non-standard integer types if available.
-
-2012-03-12 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/vms.opt: Add vms-opts.h header.
- (mmalloc64): Use flag_vms_malloc64 flag instead of MALLOC64
- target mask.
- (-mvms-return-codes): Document.
- (-mpointer-size): New option.
- (vms_pointer_size): Add enumeration.
- * config/vms/vms-opts.h: New file.
- * config/vms/vms.h (TARGET_OS_CPP_BUILTINS): Define
- __INITIAL_POINTER_SIZE.
- (POINTER_SIZE, SIZE_TYPE, PTRDIFF_TYPE): Adjust definition.
- (C_COMMON_OVERRIDE_OPTIONS): Define.
- (DWARF2_ADDR_SIZE): Define.
- * config/vms/vms.c (vms_patch_builtins): Adjust condition.
- * config/vms/vms-protos.h (vms_c_common_override_options):
- New prototype.
- * config/vms/vms-c.c (vms_pragma_pointer_size): Ignore pragma
- if -mno-pointer-size.
- (vms_c_common_override_options): New function.
- * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_MALLOC64.
- * config/alpha/vms.h (TARGET_DEFAULT): Remove MASK_MALLOC64.
- (MALLOC_ABI_ALIGNMENT): Use flag_vms_malloc64
- and flag_vms_pointer_size.
- (MASK_RETURN_ADDR): Set according to flag_vms_pointer_size.
- * config.gcc (*-*-*vms*): Define xm_file.
- (alpha*-dec-*vms*): Do not define xm_file.
- (alpha64-dec-*vms*): Remove.
- (ia64-hp-*vms*): Do not define xm_file. Simplify tm_file
- and tmake_file.
-
-2012-03-12 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51721
- * tree-vrp.c (register_edge_assert_for_2): Add asserts for unsvar
- if (int) unsvar cmp CST.
-
-2012-03-12 Richard Guenther <rguenther@suse.de>
-
- * tree-sra.c (create_access_replacement): Only rename the replacement
- if we can rewrite it into SSA form. Properly mark register typed
- replacements that we cannot rewrite with TREE_ADDRESSABLE.
- * tree-cfg.c (verify_expr): Fix BIT_FIELD_REF verification
- for aggregate or BLKmode results.
-
-2012-03-12 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52533
- * tree-vrp.c (register_edge_assert_for_2): Use double_int
- type for mask, only handle shifts by non-zero in-range
- shift count, for LE_EXPR and GT_EXPR if new_val is
- maximum, don't add the assertion.
-
-2012-02-12 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * doc/invoke.texi: Document -mrtm option.
- * common/config/i386/i386-common.c (OPTION_MASK_ISA_RTM_SET): New.
- (OPTION_MASK_ISA_RTM_UNSET): Ditto.
- (ix86_handle_option): Handle OPT_mrtm.
- * config.gcc (i[34567]86-*-*): Add rtmintrin.h and
- xtestintrin.h.
- (x86_64-*-*): Ditto.
- * i386-builtin-types.def (INT_FTYPE_VOID): New.
- * config/i386/i386-c.c (ix86_target_macros_internal): Define
- __RTM__ if needed.
- (ix86_target_string): Define -mrtm option.
- (PTA_RTM): New.
- (ix86_option_override_internal): Extend "corei7-avx" with RTM option.
- Handle new option.
- (ix86_valid_target_attribute_inner_p): Add OPT_mrtm.
- (ix86_builtins): Add IX86_BUILTIN_XBEGIN, IX86_BUILTIN_XEND,
- IX86_BUILTIN_XTEST.
- (bdesc_special_args): Ditto.
- (ix86_init_mmx_sse_builtins): Add IX86_BUILTIN_XABORT.
- (ix86_expand_special_args_builtin): Handle new built-in type.
- (ix86_expand_builtin): Handle XABORT instruction.
- * config/i386/i386.h (TARGET_RTM): New.
- * config/i386/i386.md (UNSPECV_XBEGIN): New.
- (UNSPECV_XEND): Ditto.
- (UNSPECV_XABORT): Ditto.
- (UNSPECV_XTEST): Ditto.
- (xbegin): Ditto.
- (xbegin_1): Ditto.
- (xend): Ditto.
- (xabort): Ditto
- (xtest): Ditto.
- (xtest_1): Ditto.
- * config/i386/i386.opt (mrtm): New.
- * config/i386/immintrin.h: Include rtmintrin.h and xtestintrin.h.
- * config/i386/rtmintrin.h: New header.
- * config/i386/xtestintrin.h: Ditto.
-
-2012-03-12 Tristan Gingold <gingold@adacore.com>
-
- * ginclude/stddef.h: Adjust previous patch.
- Use __VMS__ instead of VMS.
-
-2012-03-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (setcc + movzbl to xor + setcc peephole2):
- Also convert sequences with CC setting arithmetic instruction.
-
-2012-03-11 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (Option Summary): Move -no-integrated-cpp
- from C Language Options to Preprocessor Options.
- (C Dialect Options): Move -no-integrated-cpp documentation
- from here...
- (Preprocessor Options): ...to here. Rewrite the description
- so it makes more sense, and remove discussion of merging front ends.
-
-2012-03-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_expand_movmem): Use word_mode for size
- needed for loop.
- (ix86_expand_setmem): Likewise.
-
-2012-03-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_zero_extend_to_Pmode): Rewrite using
- convert_to_mode.
-
-2012-03-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_trampoline_init): Use movl for 64bit if
- ptr_mode == SImode. Replace DImode with Pmode or ptr_mode.
-
-2012-03-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (x86_this_parameter): Replace DImode with Pmode.
-
-2012-03-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.md (lwp_slwpcb): Check Pmode instead of
- TARGET_64BIT.
-
-2012-03-11 H.J. Lu <hongjiu.lu@intel.com>
- Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (call_insn_operand): Allow
- constant_call_address_operand in Pmode only.
- (sibcall_insn_operand): Ditto.
- * config/i386/i386.md (*call): Use W mode iterator instead of P mode.
- (*call_vzeroupper): Ditto.
- (*sibcall): Ditto.
- (*sibcall_vzeroupper): Ditto.
- (*call_value): Ditto.
- (*call_value_vzeroupper): Ditto.
- (*sibcall_value): Ditto.
- (*sibcall_value_vzeroupper): Ditto.
- (*indirect_jump): Ditto.
- (*tablejump_1): Ditto.
- (indirect_jump): Convert memory address to word mode for TARGET_X32.
- (tablejump): Ditto.
- * config/i386/i386.c (ix86_expand_call): Convert indirect operands
- to word mode.
-
-2012-03-11 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/sh.md (movnegt): Expand into respective insns immediately.
- Use movrt_negc instead of negc pattern for non-SH2A.
- (*movnegt): Remove.
- (*movrt_negc, *negnegt, *movtt, *movt_qi): New insns and splits.
-
-2012-03-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_decompose_address): Disallow fs:(reg)
- if Pmode != word_mode.
- (legitimize_tls_address): Call gen_tls_initial_exec_x32 if
- Pmode == SImode for TARGET_X32.
- * config/i386/i386.md (UNSPEC_TLS_IE_X32): New.
- (tls_initial_exec_x32): Likewise.
-
-2012-03-10 Chung-Lin Tang <cltang@codesourcery.com>
-
- PR rtl-optimization/52528
- * combine.c (can_combine_p): Add setting of subst_low_luid
- before call to expand_field_assignment().
-
-2012-03-09 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi: Use correct names/markup for "GCC", "GDB", "ld",
- and related program names.
-
-2012-03-09 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi: Use correct names for "DWARF", "stabs", and "ELF".
-
-2012-03-09 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/52530
- * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier.
- (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback
- to set code to 'q'.
- * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec.
- (*movdi_internal_rex64): Use %E operand modifier for lea.
- (*movsi_internal): Ditto.
- (*lea_1): Ditto.
- (*lea<mode>_2): Ditto.
- (*lea_{3,4,5,6}_zext): Ditto.
- (*tls_global_dynamic_32_gnu): Ditto.
- (*tls_global_dynamic_64): Ditto.
- (*tls_dynamic_gnu2_lea_32): Ditto.
- (*tls_dynamic_gnu2_lea_64): Ditto.
- (pro_epilogue_adjust_stack_<mode>_add): Ditto.
-
-2012-03-09 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Do not
- redefine to be NULL if the current bit-size is different from the
- configured bit-size.
-
- * config/rs6000/rs6000.c (rs6000_option_override_internal): If the
- cpu is defaulted, use PROCESSOR_DEFAULT and PROCESSOR_DEFAULT64 to
- set the default tuning. Add asserts to make sure the cpu and tune
- indexes are defined. Fix tests for cpu/tune index to use >= 0 to
- test whether the index is set, instead of > 0.
- (rs6000_file_start): Do not reset the default cpu if the current
- bit-size is different from the configured bit-size.
-
-2012-03-09 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/vms-crtlmap.map: Add comments.
- Add entries needed to build Ada RTS.
-
-2012-03-09 Tristan Gingold <gingold@adacore.com>
-
- * ginclude/stddef.h: Do not define __size_t on VMS.
-
-2012-03-09 Tristan Gingold <gingold@adacore.com>
-
- * c-tree.h (c_default_pointer_mode): New variable.
- * c-decl.c (c_default_pointer_mode): New variable.
- (c_build_pointer_type): New function.
- (grokdeclarator): Call c_build_pointer_type instead
- of build_pointer_type.
-
- * config/vms/vms-c.c: Include c-tree.h
- (saved_pointer_mode): New variable.
- (handle_pragma_pointer_size): New function.
- (vms_pragma_pointer_size, vms_pragma_required_pointer_size): Likewise.
- (vms_c_register_pragma): Register __pointer_size and
- __required_pointer_size pragmas.
-
-2012-03-09 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/vms-c.c (vms_construct_include_filename): New function.
- (vms_c_register_includes): Reference it.
-
-2012-03-09 Andrew Pinski <apinski@cavium.com>
-
- PR middle-end/51988
- * tree-ssa-phiopt.c: Include tree-pretty-print.h for
- print_generic_expr.
- (tree_ssa_phiopt_worker): Go through all the PHIs for
- value_replacement instead of just the singleton one.
- (value_replacement): Change return type to int. Return 0 instead of
- false.
- Allow the middle basic block to contain more than just the defining
- statement.
- Handle non empty middle basic blocks.
- * Makefile.in (tree-ssa-phiopt.o): Add tree-pretty-print.h.
-
-2012-03-09 Jiangning Liu <jiangning.liu@arm.com>
-
- * tree-scalar-evolution (interpret_rhs_expr): generate chrec for
- array reference and component reference.
- (analyze_scalar_evolution_for_address_of): New.
-
-2012-03-08 Jie Zhang <jzhang918@gmail.com>
-
- PR target/49862
- * config/bfin/bfin.c (hwloop_optimize): Fix unused variable warnings.
- (hwloop_pattern_reg): Fix set but not used warning.
- (bfin_reorg_loops): Remove unused parameter.
- (bfin_reorg): Update use of bfin_reorg_loops.
-
-2012-03-08 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (setup_incoming_varargs_64): Use word_mode
- with integer parameters in registers.
- (gen_push): Push register in word_mode instead of Pmode.
- (ix86_emit_save_regs): Likewise.
- (ix86_emit_save_regs_using_mov): Save integer registers in word_mode.
- (gen_pop): Pop register in word_mode instead of Pmode.
- (ix86_emit_restore_regs_using_pop): Likewise.
- (ix86_expand_prologue): Replace Pmode with word_mode for push
- immediate. Use ix86_gen_pro_epilogue_adjust_stack. Save and
- restore RAX and R10 in word_mode.
- (ix86_emit_restore_regs_using_mov): Restore integer registers
- in word_mode.
- (ix86_expand_split_stack_prologue): Save R10_REG and restore in
- word_mode.
- (ix86_split_to_parts): Use word_mode with PUT_MODE for push.
- (ix86_split_long_move): Likewise.
- * config/i386/i386.md (W): New.
- (*push<mode>2_prologue): Replace :P with :W.
- (*pop<mode>1): Likewise.
- (*pop<mode>1_epilogue): Likewise.
- (push/pop peephole2): Use word_mode scratch registers.
-
-2012-03-08 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (indirect_branch_operand): Simplify.
-
-2012-03-08 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md (*addhi3, addhi3_clobber): Add "w" alternative
- for constants in [-63,63].
-
-2012-03-08 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/52530
- Revert:
- 2012-03-04 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_print_operand_address): Only handle
- zero-extended DImode addresses.
-
-2012-03-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_as_ix86_tlsldmplt): Add label.
- * configure: Regenerate.
-
-2012-03-08 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/52496
- * config/avr/avr.c (avr_mem_clobber): New static function.
- (avr_expand_delay_cycles): Add memory clobber operand to
- delay_cycles_1, delay_cycles_2, delay_cycles_3, delay_cycles_4.
- * config/avr/avr.md (unspec): Add UNSPEC_MEMORY_BARRIER.
- (enable_interrupt, disable_interrupt): New expander.
- (nopv, sleep, wdr): New expanders.
- (delay_cycles_1): Add memory clobber.
- (delay_cycles_2): Add memory clobber.
- (delay_cycles_3): Add memory clobber.
- (delay_cycles_4): Add memory clobber.
- (cli_sei): New insn from former "enable_interrupt",
- "disable_interrupt" with memory clobber.
- (*wdt): New insn from former "wdt" with memory clobber.
- (*nopv): Similar, but for "nopv".
- (*sleep): Similar, but for "sleep".
-
-2012-03-07 Oleg Endo <olegendo@gcc.gnu.org>
- Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/52503
- * config/sh/sh.opt (msoft-atomic): Use Var instead of Mask.
- * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_SOFT_ATOMIC.
- (SUBTARGET_OVERRIDE_OPTIONS): Define.
-
-2012-03-07 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (x86_64_zext_general_operand): New.
- * config/i386/i386.md (*zero_extendsidi2_rex64): Change operand 1
- predicate to x86_64_zext_general_operand. Accept "Z" constraint.
-
-2012-03-07 Walter Lee <walt@tilera.com>
-
- * config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
- REG_CFA_* notes for the stack pointer.
- (tilegx_expand_epilogue): Restore stack pointer by adjusting it by
- EH_RETURN_STACKADJ_RTX.
- * config/tilepro/tilepro.c (tilepro_expand_prologue): Don't
- generate REG_CFA_* notes for the stack pointer.
- (tilepro_expand_epilogue): Restore stack pointer by adjusting it
- by EH_RETURN_STACKADJ_RTX.
-
-2012-03-07 Georg-Johann Lay <avr@gjlay.de>
-
- * doc/invoke.texi (AVR Built-in Macros): Correct condition for
- when __AVR_3_BYTE_PC__ is defined.
-
-2012-03-07 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_print_operand_punct_valid_p): Add '^'.
- (ix86_print_operand): Handle '^'.
- * config/i386/i386.md (*strmovdi_rex_1): Macroize memory operands
- using P mode iterator. Add %^ to asm template to conditionally emit
- addr32 prefix.
- (*rep_movdi_rex64): Ditto.
- (*strsetdi_rex_1): Ditto.
- (*rep_stosdi_rex64): Ditto.
- (*strmov{si,hi,qi}_1): Add %^ to asm template to
- conditionally emit addr32 prefix.
- (*rep_mov{si,qi}): Ditto.
- (*strset{si,hi,qi}): Ditto.
- (*rep_stos{si,qi}): Ditto.
- (*cmpstrnqi_nz_1): Ditto.
- (*cmpstrnqi_1): Ditto.
- (*strlenqi_1): Ditto.
-
-2012-03-07 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (function_value_64): Return pointers in
- word_mode instead of Pmode.
- (ix86_promote_function_mode): Likewise.
-
-2012-03-07 Richard Guenther <rguenther@suse.de>
-
- * coverage.c (get_gcov_type): Use type_for_mode.
- (get_gcov_unsigned_t): Likewise.
- * expr.c (store_constructor): Use type_for_mode.
- (try_casesi): Likewise.
- * tree-ssa-loop-ivopts.c (add_standard_iv_candidates_for_size): Remove.
- (add_standard_iv_candidates): Use standard type trees.
- * dojump.c (do_jump): Remove dead code.
-
-2012-03-07 Richard Guenther <rguenther@suse.de>
-
- * c-typeck.c (pointer_diff): Use c_common_type_for_size.
-
-2012-03-07 Richard Guenther <rguenther@suse.de>
-
- * convert.c (strip_float_extensions): Move ...
- * tree.c (strip_float_extensions): ... here.
-
-2012-03-07 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/52484
- * config/avr/avr.md (xload<mode>_A): Add R22... to register footprint.
-
-2012-03-07 Richard Guenther <rguenther@suse.de>
-
- * omp-low.c (extract_omp_for_data): Use signed_type_for.
- (expand_omp_for_generic): Likewise.
- (expand_omp_for_static_nochunk): Likewise.
- (expand_omp_for_static_chunk): Likewise.
- * tree-vect-stmts.c (vect_gen_perm_mask): Use type_for_mode.
- * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
- * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
- Use unsigned_type_for.
- (vect_create_cond_for_align_checks): Use signed_type_for.
-
-2012-03-07 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/52203
- * sel-sched.c (estimate_insn_cost): New parameter pempty. Adjust
- all callers to pass NULL except ...
- (reset_sched_cycles_in_current_ebb): ... here, save the value
- in new variable 'empty'. Increase issue_rate only for
- non-empty insns.
-
-2012-03-07 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- PR target/51417
- * Makefile.in: Let install-gcc-ar depend on installdirs,
- gcc-ar$(exeext), gcc-nm$(exeext), gcc-ranlib$(exeext).
- Don't double canonicalize if cross-compiling.
-
-2012-03-07 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/52506
- * config/avr/avr.c (expand_epilogue): Fix order of restoration
- to: RAMPZ, RAMPY, RAMPX, RAMPD.
- (expand_prologue): Only clear RAMPZ if it has effect on RAM-read.
-
-2012-03-07 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/52505
- * config/avr/avr.c (avr_out_xload): Don't read unintentionally
- from RAM.
- * config/avr/avr.md (xload_8): Adjust insn length.
-
-2012-03-07 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/52461
- * config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage
- if RAMPZ affects reading from RAM.
-
-2012-03-07 Richard Guenther <rguenther@suse.de>
-
- PR pch/52518
- PR pch/38987
- * doc/invoke.texi (Precompiled Headers): Remove sentence that
- suggests you can include PCHs from inside another header.
-
-2012-03-07 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR middle-end/52515
- * rtl.h (pc_rtx, cc0_rtx, ret_rtx, simple_return_rtx): Add GTY markers.
-
-2012-03-07 Kai Tietz <ktietz@redhat.com>
-
- * doc/invoke.texi (fwritable-relocated-rdata): Document
- new Cygwin/MinGW target option.
- * config/i386/winnt.c (i386_pe_unique_section): Ignore
- reloc if flag -fwritable-relocated-rdata is not set.
- (i386_pe_section_type_flags): Likewise.
- * config/i386/cygming.opt (fwritable-relocated-rdata):
- Add new flag variable flag_writable_rel_rdata.
-
-2012-03-07 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-math-opts.c (convert_mult_to_widen): Check actual
- precision against gimple constraints.
-
-2012-03-06 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR middle-end/52372
- * rtl.h (pc_rtx, ret_rtx, simple_return_rtx, cc0_rtx): Redefine as
- variables.
- (GR_PC, GR_CC0, GR_RETURN, GR_SIMPLE_RETURN): Delete.
- * emit-rtl.c (pc_rtx, ret_rtx, simple_return_rtx, cc0_rtx): New
- variables.
- (init_emit_regs): Move associated initialization to...
- (init_emit_once): ...here.
-
-2012-03-06 Richard Henderson <rth@redhat.com>
-
- * config/m68k/m68k.h (ISA_HAS_TAS): New.
- * config/m68k/sync.md (atomic_test_and_set): Use it.
- (atomic_test_and_set_1): Likewise.
-
-2012-03-06 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/50310
- * config/rs6000/vector.md (vector_uneq<mode>): Add support for
- UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons.
- (vector_ltgt<mode>): Likewise.
- (vector_ordered<mode>): Likewise.
- (vector_unordered<mode>): Likewise.
- * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
-
-2012-03-06 Aldy Hernandez <aldyh@redhat.com>
-
- * trans-mem.c: New typedef for tm_region_p.
- Define vector types for tm_region_p.
- (tm_region_init): Replace region_worklist to a vector called
- bb_regions.
-
-2012-03-06 Richard Guenther <rguenther@suse.de>
-
- * fold-const.c (build_fold_addr_expr_with_type_loc): Fold
- MEM_REF with constant pointer operand.
-
-2012-03-06 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52493
- * tree-ssa-alias.c (ptr_derefs_may_alias_p): Robustify.
-
-2012-03-06 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/vms-c.c (vms_pragma_nomember_alignment): Handle octaword.
- (external_model_kind): Improve documentation.
- (vms_pragma_extern_model): Handle relaxed_redef.
- (vms_c_register_pragma): Allow expansion for nomember_alignment.
-
-2012-03-06 Georg-Johann Lay <avr@gjlay.de>
-
- * doc/invoke.texi (AVR Options): -mmcu=: Document the XMEGA cores.
- Explain RAMPD, RAMPX, RAMPDY, RAMPZ usage by avr-gcc.
- Some more notes on EIND usage and reorder EIND subsection.
-
-2012-03-06 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/vms.c (VMS_CRTL_LDBL): Rename from VMS_CRTL_PRNTF.
- * config/vms/vms-crtlmap.map: Rename PRNTF to LDBL.
-
-2012-03-06 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/t-vmsnative (version): Define.
- * config/vms/t-vms (STMP_FIXPROTO, STMP_FIXINC, version): Remove.
-
-2012-03-06 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/52250
- * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb
- to put note list into. Unconditionally call move_bb_info.
- (move_bb_info): Do not assert the blocks being in the same region,
- just drop the note list if they are not.
-
-2012-03-06 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * config/sh/sh.c (sh_expand_t_scc): Remove SH2A special case
- and use unified expansion logic.
- * config/sh/sh.md (xorsi3_movrt): Rename to movrt. Move
- closer to the existing movt insn.
- (negc): Rename insn to *negc. Add new expander.
- (movnegt): Use xor pattern for T bit negation. Reserve helper
- constant for negc pattern.
- (*movnegt): New insn and splitter.
-
-2012-03-05 Bernd Schmidt <bernds@codesourcery.com>
-
- * c-typeck.c (pointer_diff): Check for POINTER_PLUS_EXPR, not
- PLUS_EXPR.
-
-2012-03-05 Richard Henderson <rth@redhat.com>
-
- * genemit.c (main): Include "target.h" in insn-emit.c.
- * Makefile.in (insn-emit.o): Depend on TARGET_H.
- * config/sh/sync.md (atomic_test_and_set): Reference
- targetm.atomic_test_and_set_trueval instead of
- TARGET_ATOMIC_TEST_AND_SET_TRUEVAL.
-
-2012-03-05 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * config/epiphany/epiphany.c (epiphany_function_value_regno_p):
- Make static.
-
-2012-03-05 Steven Bosscher <steven@gcc.gnu.org>
-
- * langhooks.c (add_builtin_type): New function.
- * langhooks.h (add_builtin_type): Export it.
- * config/mep/mep.c (mep_init_builtins): Use it.
- * config/rs6000/rs6000.c (rs6000_init_builtins): Use it.
-
-2012-03-05 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/51902
- * tree.h (BLOCK_SAME_RANGE): Define.
- * function.c (block_fragments_nreverse): Clear BLOCK_SAME_RANGE
- if BLOCK_FRAGMENT_CHAIN is non-NULL, but has it cleared.
- Also clear BLOCK_SAME_RANGE if fragment chain's supercontext fragment
- isn't equal to supercontext fragment's fragment chain.
- Adjust BLOCK_SUPERCONTEXT to point to supercontext fragment's
- fragment origin.
- (blocks_nreverse_all): Likewise.
- (reorder_blocks_1): Compute BLOCK_SAME_RANGE bits. Set
- BLOCK_SUPERCONTEXT to supercontext fragment instead of
- supercontext fragment's fragment origin.
- * dwarf2out.c (add_high_low_attributes): If stmt has the same
- range as its parent (or parents thereof etc.), use the parent's
- DW_AT_ranges value instead of creating a new .debug_ranges range.
-
-2012-03-05 Richard Henderson <rth@redhat.com>
-
- PR tree-opt/52242
- Revert: 2011-11-26 Richard Henderson <rth@redhat.com>
- * omp-low.c (expand_omp_atomic): Assume anything aligned to
- BIGGEST_ALIGNMENT is aligned.
-
-2012-03-05 Richard Henderson <rth@redhat.com>
-
- * config/sh/sh.h (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Move...
- * config/sh/sh.c: ... here.
-
-2012-03-05 Richard Henderson <rth@redhat.com>
-
- PR target/52481
- * config/m68k/sync.md (atomic_test_and_set): Use expand_simple_unop
- instead of calling negqi2 directly.
-
-2012-03-05 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/52463
- * trans-mem.c (tm_region_init): Use last_basic_block.
-
-2012-03-05 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.h (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook.
- * config/sh/sync.md (atomic_test_and_set): New expander.
- (tasb, atomic_test_and_set_soft): New insns.
- * config/sh/sh.opt (menable-tas): New option.
- * doc/invoke.texi (SH Options): Document it.
-
-2012-03-05 Richard Guenther <rguenther@suse.de>
-
- * cfgloop.c (verify_loop_structure): Verify dominators before
- using them.
- * graphite-clast-to-gimple.c (graphite_verify): Do not verify
- dominators from here.
- * graphite-scop-detection.c (create_sese_edges): Likewise.
- * loop-doloop.c (doloop_optimize_loops): Likewise.
- * loop-init.c (loop_optimizer_init): Likewise.
- * loop-unroll.c (unroll_and_peel_loops): Likewise.
- * loop-unswitch.c (unswitch_loops): Likewise.
- * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise.
- * tree-parloops.c (parallelize_loops): Likewise. Verify
- only when checking is enabled.
- * tree-loop-distribution.c (tree_loop_distribution): Likewise.
-
-2012-03-05 Bernd Schmidt <bernds@codesourcery.com>
-
- * genautomata.c (parse_automata_opt): New static function.
- (initiate_automaton_gen): Remove all option handling code. Remove
- argc argument. All callers changed.
- (main): Call init_rtx_reader_args_cb with the new function as argument.
-
-2012-03-05 Richard Guenther <rguenther@suse.de>
-
- * cfgexpand.c (gimple_expand_cfg): Free dominator info.
- * tree-if-conv.c (combine_blocks): Free post-dominator info
- after breaking it.
- * tree-parloops.c (create_parallel_loop): Free and re-compute
- dominator info after breaking it.
-
-2012-03-05 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52353
- * optabs.h (trapv_unoptab_p): New function.
- (trapv_binoptab_p): Likewise.
- * optabs.c (expand_binop): Use emit_libcall_block_1 with
- a proper equiv_may_trap argument.
- (expand_unop): Likewise.
- (emit_libcall_block_1): Take extra argument whether the
- instruction may trap. Renamed from ...
- (emit_libcall_block): ... this. New wrapper.
-
-2012-03-05 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51721
- * tree-vrp.c (register_edge_assert_for_2): If comparing
- lhs of right shift by constant with an integer constant,
- add ASSERT_EXPRs for the rhs1 of the right shift.
-
- * cfgrtl.c (cfg_layout_merge_blocks): Cleanup.
-
-2012-03-05 Richard Guenther <rguenther@suse.de>
-
- * tree.c (integer_zerop): Handle VECTOR_CSTs.
- (integer_onep): Likewise.
- (integer_all_onesp): Likewise.
-
-2012-03-05 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md (*umaddqihi4.2): New insn-and-split.
-
-2012-03-04 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (pro_epilogue_adjust_stack): Check Pmode
- instead of TARGET_64BIT.
-
-2012-03-04 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_expand_prologue): Check Pmode to set
- adjust_stack_insn.
-
-2012-03-04 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_print_operand_address): Only handle
- zero-extended DImode addresses.
-
-2012-03-04 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_print_operand) <case '+'>: Declare
- taken and cputaken as bool.
-
-2012-03-04 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/constraints.md (Ya): New internal constraint.
- * config/i386/i386.md (zero_extendsidi2): Remove expansion.
- (*zero_extendsidi2_rex64): Add x,x alternative.
- (*zero_extendsidi2): Ditto. Add o,0 alternative.
- Remove flags reg clobber. Adjust corresponding splits.
- (zero_extend<mode>si2): Macroize expander from zero_extendhisi2 and
- zero_extendqisi2 expanders using SWI12 mode iterator.
- (zero_extend<mode>si2_and): Macroize insn from
- zero_extendhisi2_and and zero_extendqisi2_and. Merge corresponding
- splitters.
- (*zero_extend<mode>si2): Macroize insn from
- *zero_extendhisi2_movzbl and *zero_extendqisi2_movzbl.
- (*zero_extend*2_movzbl_and): Remove insn patterns.
- (zero_extendqihi2_and): Merge corresponding splitter.
- (*zero_extendqihi2): Rename from *zero_extendqihi2_movzbl.
- (*zero_extend*2_movzbl_and): Remove insn patterns.
- (*anddi_1): Split TYPE_IMOVX instructions.
- (*andsi_1): Use Ya for alternative 2. Split TYPE_IMOVX instructions.
- (*andhi_1): Ditto.
- (and->zext splitter): Add splitter pattern.
- (zero extend with andsi3 splitter): Adjust zero_extend pattern.
-
-2012-03-04 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (C++ Dialect Options): Minor copy-edits to
- x86-specific text.
- (Debugging Options): Likewise.
- (Optimize Options): Likewise.
- (i386 and x86-64 Options): Discuss -march before -mtune, consistently
- with other architectures. Use official processor names with correct
- spelling/capitalization. Fix formatting and grammar issues.
- (i386 and x86-64 Windows Options): Similar cleanup here.
-
-2012-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.md (abssi2): Add TARGET_SH1 condition.
-
-2012-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.c (sh_dwarf_register_span): Don't apply
- DBX_REGISTER_NUMBER.
-
-2012-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.c (shiftcosts): Return MAX_COST when the first
- operand is CONST_INT. Take COSTS_N_INSNS into account.
- (sh_rtx_costs): Don't apply COSTS_N_INSNS to the return value
- of shiftcosts.
-
-2012-03-02 Richard Henderson <rth@redhat.com>
-
- * optabs.c (expand_atomic_test_and_set): Honor
- atomic_test_and_set_trueval even when atomic_test_and_set
- optab is not in use.
-
-2012-03-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/48596
- PR target/48806
- * config/sh/sh.c (sh_register_move_cost): Increase cost between
- GENERAL_REGS and FP_REGS for SImode.
-
-2012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/49486
- * config/sh/sh.md (negdi2): Add TARGET_SH1 condition.
- (absdi2): New expander.
- (*absdi2, *negabsdi2, negdi_cond): New insns and splits.
-
-2012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sync.md (atomic_exchange<mode>): New expander.
- (atomic_exchange<mode>_soft): New insn.
-
-2012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sync.md: Update copyright notice dates.
- (atomic_compare_and_swap<mode>): Use SImode for return value instead
- of QImode.
- (atomic_compare_and_swap<mode>_soft): Likewise.
-
-2012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/31640
- * config/sh/sh.h (LOOP_ALIGN): Move logic to sh_loop_align.
- * config/sh/sh.c: Update copyright notice dates.
- (sh_loop_align): Add logic from LOOP_ALIGN. Don't disable loop
- alignment for TARGET_HARD_SH4.
- (sh_option_override): Reduce default function alignment. Set
- loop alignment to 4 bytes when not optimizing for size.
-
-2012-03-02 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- PR middle-end/50335
- * doc/invoke.texi (floop-flatten): Remove.
- * toplev.c (process_options): Remove references to flag_loop_flatten.
- * tree-ssa-loop.c (gate_graphite_transform): Same.
- * common.opt (floop-flatten): Obsolete.
- * graphite-poly.c (apply_poly_transforms): Remove reference to
- flag_loop_flatten.
- * Makefile.in (graphite-flattening.o): Remove.
- * graphite-flattening.c: Remove.
-
-2012-03-02 Uros Bizjak <ubizjak@gmail.com>
-
- * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
- having mode compatible with the mode of previous compare. Substitute
- compare mode of previous compare with the mode, compatible
- with eliminated and previous compare.
-
-2012-03-02 Peter Bergner <bergner@vnet.ibm.com>
-
- * config/rs6000/dfp.md (floatdidd2): New define_insn.
-
-2012-03-02 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_cc_modes_compatible): Declare CCZmode
- compatible with CCGOCmode and CCGCmode.
-
-2012-03-02 Peter Bergner <bergner@vnet.ibm.com>
-
- * config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands.
-
-2012-03-02 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * config/arm/arm.c (arm_sat_operator_match): New function.
- * config/arm/arm-protos.h (arm_sat_operator_match): Add prototype.
- * config/arm/arm.md ("insn" attribute): Add "sat" value.
- ("SAT", "SATrev"): New code iterators.
- ("SATlo", "SAThi"): New code iterator attributes.
- ("*satsi_<SAT:code>"): New pattern.
- ("*satsi_<SAT:code>_shift"): Likewise.
- * config/arm/arm-fixed.md ("arm_ssatsihi_shift"): Add "insn"
- and "shift" attributes.
- ("arm_usatsihi"): Add "insn" attribute.
- * config/arm/predicates.md (sat_shift_operator): Allow multiplication
- by powers of two. Do not allow shift by 32.
-
-2012-03-02 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/46716
- * config/i386/i386.c (construct_container): Use gen_reg_or_parallel
- to pass the argument in the register of "natural" mode.
-
-2012-03-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52406
- * tree-data-ref.h: Update documentation about DR_BASE_OBJECT.
- (struct indices): Add unconstrained_base member.
- (struct dr_alias): Remove unused vops member.
- (DR_UNCONSTRAINED_BASE): New define.
- * tree-data-ref.c (dr_analyze_indices): For COMPONENT_REFs
- add indices to allow their disambiguation. Make DR_BASE_OBJECT
- be an artificial access that covers the whole indexed object,
- or mark it with DR_UNCONSTRAINED_BASE if we cannot do so. Canonicalize
- plain decl base-objects to their MEM_REF variant.
- (dr_may_alias_p): When the base-object of either data reference
- has unknown size use only points-to information.
- (compute_affine_dependence): Make dumps easier to read and
- more verbose.
- * tree-vect-data-ref.c (vector_alignment_reachable_p): Use
- DR_REF when looking for packed references.
- (vect_supportable_dr_alignment): Likewise.
-
-2012-03-02 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * config/arm/arm-ldmstm.ml (write_ldm_commutative_peephole):
- Improve conditions for peepholes of loads followed by commutative
- operators.
- * config/arm/ldmstm.md: Regenerated.
-
-2012-03-02 Richard Guenther <rguenther@suse.de>
-
- * BASE-VER: Set to 4.8.0.
-
-2012-03-01 Richard Earnshaw <rearnsha@arm.com>
-
- * config.gcc (obsolete): Add all ARM targets using the FPA.
- (with_fpu): Obsolete selection of the FPA or Maverick on ARM.
- * doc/install.texi: Avoid references to obsolete ARM ports.
-
-2012-03-01 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * config/epiphany/epiphany.md (movmisalign<mode>): New patterns.
-
-2012-03-01 Jeremy Bennett <jeremy.bennett@embecosm.com>
- Joern Rennecke <joern.rennecke@embecosm.com>
-
- * doc/extend.texi: Expand and update information on interrupt
- attribute for Epiphany.
-
-2012-03-01 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh-protos.h: Update copyright notice dates.
- * config/sh/sh.h: Likewise.
- * config/sh/sh.md: Likewise.
- * config/sh/constraints.md: Likewise.
- * config/sh/predicates.md: Likewise.
-
-2012-03-01 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh-protos.h (tertiary_reload_operand): Remove dead function.
- * config/sh/sh.c (tertiary_reload_operand): Likewise.
-
-2012-03-01 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/constraints.md: Fix comment typo.
-
-2012-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/52408
- * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to
- unsigned HOST_WIDE_INT.
- (zvdep_imm64): Likewise.
- (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT.
- (vdepi_and): Likewise.
- Likewise for unamed 64-bit patterns.
- * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment.
-
-2012-03-01 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/52001
- PR rtl-optimization/52417
- * cselib.c (cselib_any_perm_equivs): New variable.
- (cselib_reset_table): Check that it's not set when not
- preserving constants.
- (cselib_add_permanent_equiv): Set it.
- (cselib_have_permanent_equivalences): New.
- (cselib_init, cselib_finish): Reset it.
- * cselib.h (cselib_have_permanent_equivalences): Declare.
- * alias.c (get_addr): Restore earlier behavior when there
- aren't permanent equivalences.
-
-2012-03-01 Steven Bosscher <steven@gcc.gnu.org>
-
- * config/mn10300/mn10300-modes.def: Fix copyright notice.
- * config/v850/v850-modes.def: Fix copyright notice.
-
-2012-03-01 Georg-Johann Lay <avr@gjlay.de>
-
- * doc/extend.texi (AVR Built-in Functions): Document
- __builtin_avr_flash_segment.
-
- * config/avr/builtins.def (__builtin_avr_flash_segment): New entry.
- * config/avr/avr.md (flash_segment, flash_segment1): New expanders.
- (*split.flash_segment): New insn-and-split.
- * config/avr/avr.c (avr_init_builtins): Add local variables:
- const_memx_void_node, const_memx_ptr_type_node,
- char_ftype_const_memx_ptr.
-
-2012-03-01 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52445
- * tree-ssa-phiopt.c (struct name_to_bb): Remove ssa_name field,
- add ssa_name_ver, offset and size fields and change store field
- to bool.
- (name_to_bb_hash, name_to_bb_eq): Adjust for the above changes.
- (add_or_mark_expr): Likewise. Only consider previous stores
- with the same size and offset.
- (nt_init_block): Only look at gimple_assign_single_p stmts,
- doesn't look at rhs2.
-
-2012-03-01 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52443
- * tree-cfg.c (verify_gimple_assign_unary): Allow any
- conversions from integral types to pointer types.
-
-2012-03-01 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in
- defines for __UINT24_MAX__, __INT24_MAX__, __INT24_MIN__
- unintentionally removed in r184616.
-
-2012-03-01 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * doc/invoke.texi: Document AMD bdver2 and remove mentioning
- 3DNow from bdver1.
-
-2012-02-29 Jakub Jelinek <jakub@redhat.com>
- Uros Bizjak <ubizjak@gmail.com>
-
- PR target/52437
- * config/i386/sse.md (vec_set<mode>_0): Swap "*r" and "fF"
- alternatives, add "e" constraint to the new last alternative
- and ! to last 3 alternatives.
-
-2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * dwarf2out.c (modified_type_die): Set DW_AT_GNAT_descriptive_type and
- DW_AT_artificial attributes at the end of the processing.
- (gen_array_type_die): Likewise.
- (gen_enumeration_type_die): Likewise.
- (gen_struct_or_union_type_die): Likewise.
- (add_gnat_descriptive_type_attribute): Do not suppress debug info for
- the parent type.
-
-2012-02-29 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/52419
- * expr.c (expand_assignment): If doing misaligned store that doesn't
- cover all mode bits, perform a RMW cycle.
-
- PR tree-optimization/52429
- * tree-parloops.c (separate_decls_in_region_debug): Return early
- if var is LABEL_DECL.
-
-2012-02-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/52424
- * tree-ssa-dom.c (dom_opt_leave_block): Push a marker before
- calling dom_thread_across_edge.
-
-2012-02-29 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c: Move definition of TARGET macros to end of file.
-
-2012-02-29 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr-protos.h (avr_output_bld): Remove unused prototype.
- * config/avr/avr.c (avr_output_bld): Remove unused function.
- (avr_out_sbxx_branch): Use "%T" to print bit position.
-
-2012-02-29 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md: Untabify.
-
-2012-02-29 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md (eqne): New code iterator.
- (*dec-and-branchsi): Use it in text peephole's condition.
- (*dec-and-branchhi): Ditto.
- (*dec-and-branchqi): Ditto.
-
-2012-02-29 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49939
- * config/avr/avr.h (ASM_SPEC): Add -mno-skip-bug if we know that
- the device does not have the skip-bug.
-
-2012-02-29 Oleg Endo <olegendo@gcc.gnu.org>
-
- * doc/invoke.texi (-msoft-atomic): Add more detailed description.
- (-mbranch-cost, -mcbranchdi -mcmpeqdi -mfused-madd
- -mpretend-cmove): New.
-
-2012-02-29 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/52397
- * df.h (struct df_d): Adjust comment that hard_regs_live_count
- doesn't count DEBUG_INSN refs.
- * df-scan.c (df_ref_create_structure): Don't set DF_HARD_REG_LIVE
- for DEBUG_INSN refs.
-
-2012-02-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- Partially revert:
-
- 2012-02-20 Richard Guenther <rguenther@suse.de>
- PR tree-optimization/52298
- * tree-vect-stmts.c (vectorizable_load): Properly use
- STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing outer loops.
-
-2012-02-28 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/51752
- * gimple.h (gimple_in_transaction): New.
- (gimple_set_in_transaction): New.
- (struct gimple_statement_base): Add in_transaction field.
- * tree-ssa-loop-im.c: (movement_possibility): Restrict movement of
- transaction loads.
- (tree_ssa_lim_initialize): Compute transaction bits.
- * tree.h (compute_transaction_bits): Protoize.
- * trans-mem.c (tm_region_init): Use the heap to store BB
- auxilliary data.
- (compute_transaction_bits): New.
-
-2012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * gcc.c (display_help): Document --help=common and sort entries
- alphabetically.
-
-2012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * doc/install.texi: Document check-$LANG specific shortcuts
-
-2012-02-28 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- PR target/51534
- * config/arm/arm.c (neon_builtin_data): Add entries for vcgeu
- and vcgtu.
- * config/arm/arm_neon.h: Regenerate.
- * config/arm/neon.md (unspec): Add UNSPEC_VCGEU, and UNSPEC_VCGTU.
- (neon_vcgeu): New insn.
- (neon_vcgtu): Likewise.
- * config/arm/neon.ml (s_8_32, u_8_32): New lists.
- (ops): Unsigned comparison intrinsics call a different builtin.
-
-2012-02-28 Richard Guenther <rguenther@suse.de>
-
- PR target/52407
- * config/i386/i386.c (ix86_expand_vector_set): Fix element
- ordering for the VEC_CONCAT for two element vectors for
- V2SFmode, V2SImode and V2DImode.
-
-2012-02-28 Richard Earnshaw <rearnsha@arm.com>
-
- PR target/49448
- * config.gcc (arm*-*-linux*): Use an unambiguous pattern for
- detecting big-endian triplets.
-
-2012-02-28 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.c (aapcs_vfp_is_call_or_return_candidate): Only use the machine
- mode if there is no type information available.
-
-2012-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR tree-optimization/53207
- * doc/invoke.texi: Document as experimental and relying on graphite.
-
-2012-02-28 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part
- of initializer to changes from r184614.
-
-2012-02-28 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52395
- * tree-sra.c (build_ref_for_offset): Also look at the base
- TYPE_ALIGN when figuring out the alignment of the replacement.
-
-2012-02-28 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52402
- * ipa-prop.c (ipa_modify_call_arguments): Properly use
- mis-aligned types when creating the accesses at the call site.
-
-2012-02-28 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/builtins.def: New file.
- * config/avr/t-avr (avr.o, avr-c.o): Depend on it.
- * config/avr/avr.c (enum avr_builtin_id): Use it.
- (avr_init_builtins): Use it. And use avr_bdesc.
- (bdesc_1arg): Remove.
- (bdesc_2arg): Remove.
- (bdesc_3arg): Remove.
- (struct avr_builtin_description): Add field n_args.
- (avr_bdesc): New static variable using builtins.def.
- (avr_expand_builtin): Use it.
- Don't call avr_expand_delay_cycles if op0 is not CONST_INT.
- (avr_fold_builtin): Fold AVR_BUILTIN_SWAP.
- Don't fold AVR_BUILTIN_INSERT_BITS if arg0 is not INTEGER_CST.
-
-2012-02-28 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/52148
- * config/avr/avr.md (movmem_<mode>): Replace match_operand that
- match only one single hard register with respective hard reg rtx.
- (movmemx_<mode>): Ditto.
- * config/avr/avr.c (avr_emit_movmemhi): Adapt expanding to new
- insn anatomy of movmem[x]_<mode>.
- (avr_out_movmem): Same for printing assembler and operand usage.
-
-2012-02-28 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49868
- PR target/52261
- * doc/extend.texi (AVR Named Address Spaces): No more try to fix
- address spaces located outside of device flash.
-
- * config/avr/avr.h (base_arch_s): Remove field n_segments.
- (mcu_type_s): Add field n_flash.
- * config/avr/avr-devices.c (avr_arch_types): Remove .n_segments.
- Set .have_elpm and .have_elpmx to 1 for avrxmega4 and avrxmega5.
- (AVR_MCU): Add N_FLASH argument.
- * config/avr/avr-mcus.def (AVR_MCU): Add initializer for .n_flash.
- * config/avr/avr-c.c (avr_cpu_cpp_builtins): Only define built-in
- macro __FLASH<n> if that address space makes sense for the device.
- * config/avr/avr.c (avr_out_lpm): Don't try to fix address spaces
- outside of target flash.
- (avr_asm_named_section): Ditto.
- (avr_asm_select_section): Ditto.
- (avr_addr_space_convert): Ditto.
- (avr_emit_movmemhi): Ditto.
- (avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Error if
- address space is outside of device flash.
- (avr_insert_attributes): Ditto.
- (avr_xload_libgcc_p): Use avr_current_device->n_flash instead of
- avr_current_arch->n_segments.
-
-2012-02-27 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/52352
- * config/i386/i386.md (*movabs<mode>_1): Enable only for TARGET_LP64.
- (*movabs<mode>_2): Likewise.
-
-2012-02-27 Jakub Jelinek <jakub@redhat.com>
-
- PR target/52375
- * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Use
- s_register_operand in the test instead of REG_P. Don't call
- gen_reg_rtx if it won't be used.
-
- PR tree-optimization/52376
- * ipa-split.c (split_function): Ignore CLOBBER stmts.
-
-2012-02-27 Stuart Henderson <shenders@gcc.gnu.org>
-
- * ifcvt.c (noce_get_condition): Check condition variable is not
- small_register_classes_for_mode_p before accepting.
-
-2012-02-27 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints.
-
-2012-02-27 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- Revert:
- 2012-01-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
- * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
- tuning parameters.
- * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
-
-2012-02-27 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro.
-
-2012-02-26 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/predicates.md: Remove blank lines.
- * config/sh/sh.c: Fix typos in comments.
- * config/sh/constraints.md: Likewise.
- * config/sh/sh.md: Remove blank lines.
- Fix typos in comments. Use ;; as comment characters.
-
-2012-02-26 Walter Lee <walt@tilera.com>
-
- * config/tilegx/tilegx.c (match_pcrel_step2): Fix instruction pattern.
- (replace_mov_pcrel_step2): Ditto.
-
-2012-02-25 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/52001
- * alias.c (refs_newer_value_cb, refs_newer_value_p): New.
- (get_addr): Walk canonical value's locs. Avoid returning VALUEs
- and locs that reference values newer than the non-canonical value
- at hand. Return the canonical value as a worst case.
- (memrefs_conflict_p): Walk canonical value's locs.
-
- PR debug/52001
- * cselib.c (preserve_only_constants): Rename to...
- (preserve_constants_and_equivs): ... this. Split out...
- (invariant_or_equiv_p): ... this. Preserve plus expressions
- of other preserved expressions too.
- (cselib_reset_table): Adjust.
- * var-tracking.c (reverse_op): Use canonical value to build
- reverse operation.
-
-2012-02-23 Kai Tietz <ktietz@redhat.com>
-
- * config/i386/i386.c (ix86_delegitimize_address): Handle
- UNSPEC_PCREL plus displacement.
-
-2012-02-24 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/52261
- * config/avr/avr.c (avr_out_movhi_mr_r_xmega): Use base
- to test for unusedness in st X addressing.
-
-2012-02-24 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52361
- * gimple.c (walk_gimple_op): Use predicates with less redundant tests.
- (is_gimple_reg_type): Move inline ...
- * gimple.h (is_gimple_reg_type): ... here.
-
-2012-02-24 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52361
- * passes.c (execute_function_todo): When verifying SSA form
- verify gimple form first.
- * tree-ssa.c (verify_ssa): Do not verify gimple form here.
-
-2012-02-24 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52355
- * fold-const.c (fold_addr_of_array_ref_difference): New function.
- (fold_binary_loc): Use it to extend the existing &a[i] - &a[j] folding.
-
-2012-02-13 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * tree-if-conv (predicate_scalar_phi): Commentary typo fix.
-
-2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * tree-phinodes.c (make_phi_node): Mark static.
- * tree-flow.h (make_phi_node): Remove extern decl.
- * doc/gimple.texi (make_phi_node): Remove documentation.
-
-2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * tree-into-ssa (update_ssa): Avoid trailing whitespace in dump_file.
- * tree-ssa-sccvn.c (print_scc): Ditto.
-
-2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * doc/passes.texi (Full redundancy elimination): Fix typo.
-
-2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * doc/invoke.texi (-fdse, -fdce): Remove duplicate entries.
-
-2012-02-23 Eric Botcazou <ebotcazou@adacore.com>
-
- PR bootstrap/52287
- * haifa-sched.c (rank_for_schedule): Stabilize sort for debug insns.
-
-2012-02-23 Uros Bizjak <ubizjak@gmail.com>
-
- PR c/52290
- * c-decl.c (start_function): Exit early if decl1 is not FUNTION_DECL.
-
-2012-02-23 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md (code_stdname): Add ior, xor.
- (xior): New code iterator.
- (*<code_stdname><mode>qi.byte0): Use xior instead of ior.
- (*<code_stdname><mode>qi.byte1-3): Ditto.
-
-2012-02-23 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52019
- * ipa-split.c (find_return_bb, find_retval, visit_bb): Ignore
- CLOBBER stmts.
-
-2012-02-23 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of
- HAVE_INITFINI_ARRAY to work around namespace pollution in
- certain versions of newlib system headers.
- * config.in: Regenerate.
- * configure: Regenerate.
- * config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT
- instead of HAVE_INITFINI_ARRAY.
-
-2012-02-22 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/52330
- * config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x
- is not offsettable memory reference.
-
-2012-02-22 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/18145
- * config/avr/avr.c (avr_asm_output_aligned_decl_common): Skip
- setting avr_need_clear_bss_p for __gnu_lto* symbols.
-
-2012-02-22 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.h (avr_accumulate_outgoing_args): Return int.
- * config/avr/avr.c (avr_accumulate_outgoing_args): Return int.
-
-2012-02-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (LIB_TLS_SPEC): Enforce use of alternate thread
- library on Solaris 8 even without TLS support.
- * configure: Regenerate.
-
-2012-02-22 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52329
- * gimple-fold.c (fold_stmt_1): Also canonicalize ADDR_EXPRs
- for GIMPLE_DEBUG stmts.
-
-2012-02-22 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/51782
- * emit-rtl.c (set_mem_attributes_minus_bitpos): Set address space
- according to the base object.
-
-2012-02-22 Georg-Johann Lay <avr@gjlay.de>
-
- PR rtl-optimization/50063
- * config/avr/avr.md (movhi_sp_r): Handle -1 (unknown IRQ state)
- and 2 (8-bit SP) in operand 2.
- * config/avr/avr.c (avr_prologue_setup_frame): Adjust prologue
- setup to use movhi_sp_r instead of vanilla move to write SP.
- Adjust REG_CFA notes to superseed unspec.
- (expand_epilogue): Adjust epilogue setup to use movhi_sp_r instead
- of vanilla move.
- As function body might contain CLI or SEI: Use irq_state 0 (IRQ
- known to be off) only with TARGET_NO_INTERRUPTS. Never use
- irq_state 1 (IRQ known to be on) here.
-
-2012-02-21 Bernd Schmidt <bernds@codesourcery.com>
-
- * ira.c (check_allocation): Use REG_WORDS_BIG_ENDIAN, not
- WORDS_BIG_ENDIAN.
- * ira-color.c (setup_profitable_hard_regs, check_hard_reg_p,
- assign_hard_reg): Likewise.
-
-2012-02-21 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md (neghi2): Remove "!d,0" alternative. Tweak "r,0".
-
-2012-02-21 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md
- (*dec-and-branchhi!=-1.d.clobber): New text peephole.
- (*dec-and-branchhi!=-1.l.clobber): New text peephole.
-
-2012-02-21 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr-protos.h (avr_accumulate_outgoing_args): Move
- prototype from here to...
- * config/avr/avr.h: ...here.
-
-2012-02-21 Richard Earnshaw <rearnsha@arm.com>
-
- PR target/52294
- * thumb2.md (thumb2_shiftsi3_short): Split register and
- immediate shifts. For register shifts tie operands 0 and 1.
- (peephole2 for above): Check that register-controlled shifts
- have suitably tied operands.
-
-2012-02-21 Quentin Neill <quentin.neill@amd.com>
-
- PR target/52137
- * config/i386/bdver1.md (bdver1_call, bdver1_push,
- bdver1_pop, bdver1_leave, bdver1_lea, bdver1_imul_DI, bdver1_imul,
- bdver1_imul_mem_DI, bdver1_imul_mem, bdver1_idiv, bdver1_idiv_mem,
- bdver1_str, bdver1_idirect, bdver1_ivector, bdver1_idirect_loadmov,
- bdver1_idirect_load, bdver1_ivector_load, bdver1_idirect_movstore,
- bdver1_idirect_both, bdver1_ivector_both, bdver1_idirect_store,
- bdver1_ivector_store, bdver1_fldxf, bdver1_fld, bdver1_fstxf,
- bdver1_fst, bdver1_fist, bdver1_fmov_bdver1, bdver1_fadd_load,
- bdver1_fadd, bdver1_fmul_load, bdver1_fmul, bdver1_fsgn,
- bdver1_fdiv_load, bdver1_fdiv, bdver1_fpspc_load, bdver1_fpspc,
- bdver1_fcmov_load, bdver1_fcmov, bdver1_fcomi_load,
- bdver1_fcomi, bdver1_fcom_load, bdver1_fcom,
- bdver1_fxch, bdver1_ssevector_avx128_unaligned_load,
- bdver1_ssevector_avx256_unaligned_load,
- bdver1_ssevector_sse128_unaligned_load,
- bdver1_ssevector_avx128_load, bdver1_ssevector_avx256_load,
- bdver1_ssevector_sse128_load, bdver1_ssescalar_movq_load,
- bdver1_ssescalar_vmovss_load, bdver1_ssescalar_sse128_load,
- bdver1_mmxsse_load, bdver1_sse_store_avx256, bdver1_sse_store,
- bdver1_mmxsse_store_short, bdver1_ssevector_avx256,
- bdver1_movss_movsd, bdver1_mmxssemov, bdver1_sselog_load_256,
- bdver1_sselog_256, bdver1_sselog_load, bdver1_sselog,
- bdver1_ssecmp_load, bdver1_ssecmp, bdver1_ssecomi_load,
- bdver1_ssecomi, bdver1_vcvtX2Y_avx256_load, bdver1_vcvtX2Y_avx256,
- bdver1_ssecvt_cvtss2sd_load, bdver1_ssecvt_cvtss2sd,
- bdver1_sseicvt_cvtsi2sd_load, bdver1_sseicvt_cvtsi2sd,
- bdver1_ssecvt_cvtpd2ps_load, bdver1_ssecvt_cvtpd2ps,
- bdver1_ssecvt_cvtdq2ps_load, bdver1_ssecvt_cvtdq2ps,
- bdver1_ssecvt_cvtdq2pd_load, bdver1_ssecvt_cvtdq2pd,
- bdver1_ssecvt_cvtps2pd_load, bdver1_ssecvt_cvtps2pd,
- bdver1_ssecvt_cvtsX2si_load, bdver1_ssecvt_cvtsX2si,
- bdver1_ssecvt_cvtpd2pi_load, bdver1_ssecvt_cvtpd2pi,
- bdver1_ssecvt_cvtpd2dq_load, bdver1_ssecvt_cvtpd2dq,
- bdver1_ssecvt_cvtps2pi_load, bdver1_ssecvt_cvtps2pi,
- bdver1_ssemuladd_load_256, bdver1_ssemuladd_256,
- bdver1_ssemuladd_load, bdver1_ssemuladd, bdver1_sseimul_load,
- bdver1_sseimul, bdver1_sseiadd_load, bdver1_sseiadd,
- bdver1_ssediv_double_load_256, bdver1_ssediv_double_256,
- bdver1_ssediv_single_load_256, bdver1_ssediv_single_256,
- bdver1_ssediv_double_load, bdver1_ssediv_double,
- bdver1_ssediv_single_load, bdver1_ssediv_single, bdver1_sseins):
- Add "bdver2" attribute.
-
-2012-02-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_option_override): Make -mhard-dfp the
- default if possible and not specified otherwise.
-
-2012-02-21 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52314
- * gimplify.c (create_tmp_from_val): Use the main variant type
- for the type of the temporary we create.
-
-2012-02-21 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52324
- * gimplify.c (gimplify_expr): When re-gimplifying expressions
- do not gimplify a MEM_REF address operand if it is already
- in suitable form.
-
-2012-02-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.md ("fixuns_trunc<mode>si2"): Replace
- TARGET_HARD_FLOAT with TARGET_HARD_DFP.
-
-2012-02-21 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-stmts.c (vectorizable_load): Use pre-computed
- nested_in_vect_loop.
-
-2012-02-21 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52318
- * gimple-fold.c (gimplify_and_update_call_from_tree): Add
- vdef also to non-pure/const call stmts in the sequence.
-
-2012-02-21 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/vms-ld.c (main): Fix IDENTIFICATION padding.
-
-2012-02-20 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (load_pcrel_sym<P:mode>): Explain why we
- don't use the "rd %pc" instruction on v9 for PIC register loads.
-
-2012-02-20 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/52141
- * trans-mem.c (ipa_tm_scan_irr_block): Error out on GIMPLE_ASM's
- in a transaction safe function.
-
-2012-02-20 Kai Tietz <ktietz@redhat.com>
-
- PR target/52238
- * stor-layout.c (place_field): Handle desired_align for
- ms-bitfields, too.
-
-2012-02-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52298
- * tree-vect-stmts.c (vectorizable_store): Properly use
- STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
- outer loops.
- (vectorizable_load): Likewise.
- * tree-vect-data-refs.c (vect_analyze_data_ref_access):
- Access DR_STEP after ensuring it is not NULL.
-
-2012-02-20 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52286
- * fold-const.c (fold_binary_loc): For (X & C1) | C2
- optimization use double_int_to_tree instead of build_int_cst_wide,
- rewrite to use double_int vars.
-
-2012-02-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/50166
- * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Require gcc_SUN_LD_VERSION.
- Define _start.
- Remove -e 0 from $gcc_cv_ld invocation.
- Only use __GLIBC_PREREQ if defined.
- Enable on Solaris since Solaris 8 patch.
- (gcc_SUN_LD_VERSION): New macro.
- * configure.ac (ld_ver) <*-*-solaris2*>: Refer to
- gcc_SUN_LD_VERSION for version number format.
- * configure: Regenerate.
- * varasm.c (get_elf_initfini_array_priority_section): Set
- SECTION_NOTYPE for non-default priority.
- Use get_section instead of get_unnamed_section to emit
- .init_array/.fini_array with default priority.
-
-2012-02-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable.
- (mips_get_tp): Set it. Record that __mips16_rdhwr binds locally.
- (mips_start_unique_function, mips_output_mips16_rdhwr)
- (mips_code_end): New functions.
- (TARGET_ASM_CODE_END): Define.
-
-2012-02-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips16_build_call_stub): Add CFI information
- to stubs with non-sibling calls.
-
-2012-02-18 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (-fira-* options): Copy-edit.
- (ira-* parameters): Copy-edit.
-
-2012-02-17 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi: Minor copy-edits to bring into conformance with
- GCC coding conventions.
-
-2012-02-17 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi: Consistently hyphenate "big-endian"/"little-endian"
- when used as adjectives.
-
-2012-02-16 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi: Clean up "that"/"which" confusion.
-
-2012-02-17 Steven Bosscher <steven@gcc.gnu.org>
-
- * system.h: Poison SMALL_REGISTER_CLASSES
- * config/rl78/rl78.h: Replace SMALL_REGISTER_CLASSES with hook.
- * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES.
-
-2012-02-16 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52285
- * tree-tailcall.c (find_tail_calls): Ignore gimple_clobber_p stmts
- when deciding if a call is a tail call or tail recursion.
-
-2012-02-16 Kai Tietz <ktietz@redhat.com>
-
- * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
- interger-constant displacement for UNSPEC_PCREL.
-
-2012-02-16 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/52208
- * ira-costs.c (scan_one_insn): Don't decrease mem_cost
- for MEMs with REG_EQUIV, if the MEM isn't general_operand.
-
- PR tree-optimization/52255
- * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): If
- loop->header has virtual PHI, but exit_e->dest doesn't, add
- virtual PHI to exit_e->dest and adjust all uses after the loop.
-
- PR debug/52260
- * dwarf2out.c (copy_decls_walk): Fill in *slot before traversing
- children with clone_tree_hash, not after it.
-
-2012-02-16 Iain Sandoe <iains@gcc.gnu.org>
-
- * config/darwin.h (ASM_OUTPUT_LABELREF): Add user label prefix for
- extended identifiers.
-
-2012-02-16 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/51929
- * cgraphunit.c (verify_edge_corresponds_to_fndecl): If node is
- a same_body_alias, also test whether e->callee isn't a former
- or current clone of the decl this is a same body alias of.
-
- PR translation/52264
- * cgraphunit.c (verify_cgraph_node): Fix a typo.
-
-2012-02-15 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi: Clean up "n-bit/byte/word" modifiers.
-
-2012-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/52199
- * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
- force_reg instead of copy_to_reg for better optimization. Force
- non-register or memory operands into a register.
-
-2012-02-15 Andrew MacLeod <amacleod@redhat.com>
-
- * extend.texi: Reserve upper bits of memory model for future use.
-
-2012-01-15 Georg-Johann Lay <avr@gjlay.de>
- Anatoly Sokolov <aesok@post.ru>
- Eric Weddington <eric.weddington@atmel.com>
-
- PR target/52261
- * config/avr/avr-devices.c (avr_arch_types): Add avrxmega2,
- avrxmega4, avrxmega5, avrxmega6, avrxmega7.
- Rewrite initializers for .macro.
- * config/avr/avr-mcus.def (AVR_MCU): Add known MCUs:
- avrxmega2: atxmega16a4, atxmega16d4, atxmega16x1, atxmega32a4
- atxmega32d4, atxmega32x1.
- avrxmega4: atxmega64a3, atxmega64d3.
- avrxmega5: atxmega64a1, atxmega64a1u.
- avrxmega6: atxmega128a3, atxmega128d3, atxmega192a3, atxmega192d3,
- atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256d3.
- avrxmega7: atxmega128a1, atxmega128a1u.
- * config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2,
- ARCH_AVRXMEGA4, ARCH_AVRXMEGA5, ARCH_AVRXMEGA6, ARCH_AVRXMEGA7.
- (struct base_arch_s): Rename reserved to xmega_p.
- Rename reserved2 to have_rampd.
- (AVR_XMEGA): New define.
- (AVR_HAVE_RAMPD, AVR_HAVE_RAMPX, AVR_HAVE_RAMPY): New defines.
- (AVR_HAVE_RAMPZ): Change definition to fit xmega.
- * config/avr/predicates.md (io_address_operand): Take into
- account SFR offset.
- (low_io_address_operand): Ditto.
- (high_io_address_operand): Ditto.
- * config/avr/avr.md (isa): Add alternatives no_xmega, xmega.
- (enabled, movhi_sp_r): Use them.
- * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use
- cpp_define_formatted to built-in define __AVR_ARCH__.
- (__AVR_XMEGA__): New built-in define.
- (__AVR_HAVE_RAMPD__): New built-in define.
- (__AVR_HAVE_RAMPX__): New built-in define.
- (__AVR_HAVE_RAMPY__): New built-in define.
- (__AVR_HAVE_RAMPZ__): Change condition when to built-in define it.
-
- * config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy.
- (avr_option_override): Initialize them.
- (sreg_rtx, rampd_rtx, rampx_rtx, rampy_rtx): New GTY rtx.
- (avr_init_expanders): Initialize them. No more block several calls.
- (emit_push_sfr): New static function.
- (avr_prologue_setup_frame): Use it to push SREG, RAMPD/X/Y/Z as needed.
- Handle AVR_XMEGA.
- (expand_epilogue): Handle AVR_XMEGA. Pop RAMPD/X/Y/Z as needed.
- (avr_print_operand): Print addreeses as symbols for
- RAMPX, RAMPY, RAMPD, CCP.
- (output_movhi): Handle AVR_XMEGA when writing to SP.
- (avr_out_movhi_mr_r_xmega): New static function.
- (out_movhi_mr_r): Forward to avr_out_movhi_mr_r_xmega for AVR_XMEGA.
- (avr_file_start): Print symbol defines for __RAMPX__, __RAMPY__,
- __RAMPD__, __CCP__ as needed.
-
- * config/avr/multilib.h: Regenerate.
- * config/avr/t-multilib: Regenerate.
- * config/avr/avr-tables.opt: Regenerate.
-
-2012-02-15 Tobias Grosser <grosser@fim.uni-passau.de>
-
- PR tree-optimization/50561
- * graphite-flattening.c (lst_project_loop): Do not
- remove old scattering dimensions after flattening.
- (lst_do_flatten): Likewise.
-
-2012-02-15 Georg-Johann Lay <avr@gjlay.de>
-
- * doc/extend.texi (AVR Built-in Functions): Remove doc for
- __builtin_avr_map8, __builtin_avr_map16.
- Document __builtin_avr_insert_bits.
-
- * config/avr/avr.md (map_bitsqi, map_bitshi): Remove.
- (insert_bits): New insn.
- (adjust_len.map_bits): Rename to insert_bits.
- (UNSPEC_MAP_BITS): Rename to UNSPEC_INSERT_BITS.
- * avr-protos.h (avr_out_map_bits): Remove.
- (avr_out_insert_bits, avr_has_nibble_0xf): New.
- * config/avr/constraints.md (Cxf,C0f): New.
- * config/avr/avr.c (avr_cpu_cpp_builtins): Remove built-in
- defines __BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16.
- New built-in define __BUILTIN_AVR_INSERT_BITS.
- * config/avr/avr.c (TARGET_FOLD_BUILTIN): New define.
- (enum avr_builtin_id): Add AVR_BUILTIN_INSERT_BITS.
- (avr_move_bits): Rewrite.
- (avr_fold_builtin, avr_map_metric, avr_map_decompose): New static
- functions.
- (avr_map_op_t): New typedef.
- (avr_map_op): New static variable.
- (avr_out_insert_bits, avr_has_nibble_0xf): New functions.
- (adjust_insn_length): Handle ADJUST_LEN_INSERT_BITS.
- (avr_init_builtins): Add definition for __builtin_avr_insert_bits.
- (bdesc_3arg, avr_expand_triop_builtin): New.
- (avr_expand_builtin): Use them. And handle AVR_BUILTIN_INSERT_BITS.
- (avr_revert_map, avr_swap_map, avr_id_map, avr_sig_map): Remove.
- (avr_map_hamming_byte, avr_map_hamming_nonstrict): Remove.
- (avr_map_equal_p, avr_map_sig_p): Remove.
- (avr_out_swap_bits, avr_out_revert_bits, avr_out_map_bits): Remove.
- (bdesc_2arg): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
- (adjust_insn_length): Remove handling for ADJUST_LEN_MAP_BITS.
- (enum avr_builtin_id): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
- (avr_init_builtins): Remove __builtin_avr_map8, __builtin_avr_map16.
- (avr_expand_builtin): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
-
-2012-02-14 Bernd Schmidt <bernds@codesourcery.com>
-
- * config/c6x/c6x.md (reserve_cycles): New attribute.
- * config/c6x/c6x.c (c6x_sched_reorder_1): Ensure insns we predicate
- don't reserve functional units after the branch occurs.
-
-2012-02-14 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/52142
- * ipa-inline.c (can_inline_edge_p): Do not inline tm_pure
- functions into non-tm_pure functions.
-
-2012-02-14 Eric Botcazou <ebotcazou@adacore.com>
-
- PR lto/52178
- * gimple.c (iterative_hash_gimple_type): Use RECORD_OR_UNION_TYPE_P.
- (iterative_hash_canonical_type): Likewise.
- * tree-ssa-pre.c (fini_pre): Clean up the CFG only after purging all
- the dead edges.
-
-2012-02-14 Bernd Schmidt <bernds@codesourcery.com>
-
- * haifa-sched.c (prune_ready_list): Ensure that if there is a
- sched-group insn, it either remains alone or the entire list is pruned.
-
-2012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/install.texi (Prerequisites): Fix grammar.
- (Configuration): Likewise.
-
-2012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/install.texi (Prerequisites): Suggest building GMP, MPFR and
- MPC as part of GCC before describing configuring with --with-gmp etc.
- (Installing GCC: Configuration): --with-gmp etc. aren't needed if
- sources are present.
-
-2012-02-14 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/51950
- * dwarf2out.c (clone_tree_hash): New function.
- (copy_decls_walk): Use it instead of clone_tree.
-
-2012-02-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52244
- PR tree-optimization/51528
- * tree-sra.c (analyze_access_subtree): Only create INTEGER_TYPE
- replacements for integral types.
-
-2012-02-14 Walter Lee <walt@tilera.com>
-
- * config.gcc: Handle tilegx and tilepro.
- * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
- tilegx and tilepro.
- Add HAVE_AS_TLS check for tilegx and tilepro.
- * configure: Regenerate.
- * doc/contrib.texi: Add Mat Hostetter and self.
- * doc/extend.texi (TILE-Gx Built-in Functions): New node.
- Document instruction intrinsics and network accessing intrinsics.
- (TILEPro Built-in Functions): New node. Document instruction
- intrinsics and network accessing intrinsics.
- * doc/install.texi (Specific, tilegx-*-linux*): Document it.
- (Specific, tilepro-*-linux*): Likewise.
- * doc/invoke.texi (TILE-Gx Options): New section.
- (TILEPro Options): New section.
- * doc/md.texi (TILE-Gx): New section.
- (TILEPro): New section.
- * common/config/tilegx/tilegx-common.c: New file.
- * common/config/tilepro/tilepro-common.c: New file.
- * config/tilegx/constraints.md: New file.
- * config/tilegx/linux.h: New file.
- * config/tilegx/mul-tables.c: New file.
- * config/tilegx/predicates.md: New file.
- * config/tilegx/sync.md: New file.
- * config/tilegx/t-tilegx: New file.
- * config/tilegx/tilegx-builtins.h: New file.
- * config/tilegx/tilegx-c.c: New file.
- * config/tilegx/tilegx-generic.md: New file.
- * config/tilegx/tilegx-modes.def: New file.
- * config/tilegx/tilegx-multiply.h: New file.
- * config/tilegx/tilegx-protos.h: New file.
- * config/tilegx/tilegx.c: New file.
- * config/tilegx/tilegx.h: New file.
- * config/tilegx/tilegx.md: New file.
- * config/tilegx/tilegx.opt: New file.
- * config/tilepro/constraints.md: New file.
- * config/tilepro/gen-mul-tables.cc: New file.
- * config/tilepro/linux.h: New file.
- * config/tilepro/mul-tables.c: New file.
- * config/tilepro/predicates.md: New file.
- * config/tilepro/t-tilepro: New file.
- * config/tilepro/tilepro-builtins.h: New file.
- * config/tilepro/tilepro-c.c: New file.
- * config/tilepro/tilepro-generic.md: New file.
- * config/tilepro/tilepro-modes.def: New file.
- * config/tilepro/tilepro-multiply.h: New file.
- * config/tilepro/tilepro-protos.h: New file.
- * config/tilepro/tilepro.c: New file.
- * config/tilepro/tilepro.h: New file.
- * config/tilepro/tilepro.md: New file.
- * config/tilepro/tilepro.opt: New file.
-
-2012-02-14 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52210
- * tree-vect-slp.c (vect_get_and_check_slp_defs): Call
- vect_model_simple_cost with two entry vect_def_type array instead
- of an address of dt.
-
-2012-02-14 Richard Guenther <rguenther@suse.de>
-
- PR lto/52178
- * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
- Do not stream DECL_QUALIFIER.
- * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
- * tree.c (free_lang_data_in_decl): Free DECL_QUALIFIER.
- (find_decls_types_r): Do not walk DECL_QUALIFIER.
-
-2012-02-14 Jakub Jelinek <jakub@redhat.com>
-
- PR c/52181
- * c-decl.c (merge_decls): Copy DECL_USER_ALIGN bit from olddecl to
- newdecl.
-
-2012-02-13 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/52172
- * cselib.h (cselib_subst_to_values_from_insn): New prototype.
- * cselib.c (cselib_subst_to_values_from_insn): New function.
- * sched-deps.c (add_insn_mem_dependence,
- sched_analyze_1, sched_analyze_2): Use it.
-
-2012-02-13 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/52214
- * predict.c (predict_paths_for_bb): Fix thinko in prevoius patch.
-
-2012-02-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
- (GTM_SELF_SPECS): Define if not already defined.
- (driver_self_specs): Add GTM_SELF_SPECS.
- * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
- (GTM_SELF_SPECS): Define.
- * config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
- * config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
-
-2012-02-13 Jakub Jelinek <jakub@redhat.com>
-
- * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right
- away if seen.
-
- * cselib.c (dump_cselib_val): Don't assume l->setting_insn is non-NULL.
-
- PR middle-end/52230
- * omp-low.c (expand_omp_for): If a static schedule without chunk size
- has NULL region->cont, force fd.chunk_size to be integer_zero_node.
-
-2012-02-13 Andrew MacLeod <amacleod@redhat.com>
-
- PR c/52190
- * doc/extend.texi : Fix another __atomic_compare_exchange typo.
-
-2012-02-13 Richard Guenther <rguenther@suse.de>
-
- PR translation/52211
- * passes.c (enable_disable_pass): Fix typo.
-
-2012-02-13 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/52209
- * expr.c (expand_expr_real_2) <case BIT_NOT_EXPR>: Only expand using
- XOR for reduce_bit_field if type is unsigned.
-
-2012-02-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): In 64-bit mode,
- disallow changes from SFmode to mode with different size in FP regs.
-
-2012-02-12 Robert Millan <rmh@gnu.org>
- Gerald Pfeifer <gerald@pfeifer.com>
-
- * ginclude/stddef.h [__FreeBSD_kernel__] (__size_t): Do not define.
- Tweak comment.
-
-2012-02-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR rtl-optimization/52175
- * reorg.c (fill_slots_from_thread): Don't apply add/sub optimization
- to frame-related instructions.
-
-2012-02-10 Jason Merrill <jason@redhat.com>
-
- PR c++/51910
- * tlink.c (demangled_hash_entry): Change mangled to a VEC.
- (demangle_new_symbols): Fill it.
- (scan_linker_output): Walk it.
- (start_tweaking): Split out from scan_linker_output.
- (maybe_tweak): Update sym->chosen.
- * Makefile.in (COLLECT2_OBJS): Add vec.o and gcc-none.o
-
-2012-02-11 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/52132
- * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use get_true_reg.
-
-2012-02-11 Uros Bizjak <ubizjak@gmail.com>
-
- * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
- having the same mode as previous compare.
-
-2012-02-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.c (sparc_flat_expand_prologue): Use emit_use.
- * config/sparc/sparc.md (UNSPECV_GOTO): Delete.
- (nonlocal_goto_internal): Likewise.
- (nonlocal_goto): Emit a use and an indirect jump directly.
-
-2012-02-10 Andrew MacLeod <amacleod@redhat.com>
-
- PR c/52190
- * doc/extend.texi : Update comments for __atomic_compare_exchange and
- __atomic_{is,always}_lock_free.
-
-2012-02-10 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/52146
- * config/i386/i386.c (ix86_legitimate_address_p): Disallow
- negative constant address for TARGET_X32.
-
-2012-02-10 Richard Henderson <rth@redhat.com>
-
- * tree-ssa-dce.c (propagate_necessity): Handle GIMPLE_TRANSACTION.
- * tree-ssa-operands.c (parse_ssa_operands): Add virtual operands
- for GIMPLE_TRANSACTION. Tidy if's into a switch.
-
-2012-02-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
- Ira Rosen <irar@il.ibm.com>
-
- PR tree-optimization/50031
- * targhooks.c (default_builtin_vectorization_cost): Handle
- vec_promote_demote.
- * target.h (enum vect_cost_for_stmt): Add vec_promote_demote.
- * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle
- all types of reduction and pattern statements.
- (vect_estimate_min_profitable_iters): Likewise.
- * tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function.
- (vect_get_load_cost): Use vec_perm for permutations; add dump logic
- for explicit realigns.
- (vectorizable_conversion): Call vect_model_promotion_demotion_cost.
- * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
- vec_promote_demote.
- * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
- * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update
- vec_perm for VSX and handle vec_promote_demote.
-
-2012-02-10 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/52177
- * builtins.c (fold_builtin_atomic_always_lock_free,
- expand_builtin_atomic_always_lock_free,
- fold_builtin_atomic_is_lock_free, expand_builtin_atomic_is_lock_free):
- Return and/or test boolean_true_node/boolean_false_node instead of
- integer_one_node/integer_zero_node.
-
-2012-02-10 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/48600
- * predict.c (predict_paths_for_bb): Prevent looping.
- (predict_paths_leading_to_edge, predict_paths_leading_to): Update.
-
-2012-02-10 Roman Zhuykov <zhroma@ispras.ru>
-
- * config/arm/arm.c (output_move_double): In one case properly
- count number of instructions that will be emitted.
-
-2012-02-10 Richard Guenther <rguenther@suse.de>
-
- PR translation/52193
- * cgraphunit.c (cgraph_mark_functions_to_output): Fix typo.
-
-2012-02-09 Peter Bergner <bergner@vnet.ibm.com>
-
- PR middle-end/52140
- * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.
-
-2012-02-09 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/52165
- * var-tracking.c (emit_note_insn_var_location): If
- EMIT_NOTE_BEFORE_INSN and insn is NOTE_INSN_CALL_ARG_LOCATION,
- emit it before next non-NOTE_INSN_CALL_ARG_LOCATION
- non-NOTE_DURING_CALL_P insn.
-
-2012-02-09 Bin Cheng <bin.cheng@arm.com>
-
- PR middle-end/51867
- * builtins.c (expand_builtin): Don't check DECL_ASSEMBLER_NAME_SET_P.
-
-2012-02-08 Magnus Granberg <zorry@gentoo.org>
-
- PR driver/48524
- * gcc.c (switch_matches) Support switches with separated form,
- -D and -U.
-
-2012-02-08 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md (SREG_ADDR): Remove constant definition.
- (SP_ADDR): Ditto.
- (RAMPZ_ADDR): Ditto.
- * config/avr/avr.c (avr_addr_t): New typedef.
- (avr_addr): New struct to hold RAM address of SPL, SPH, RAMPZ, SREG.
- (avr_init_expanders): Initialize it.
- (expand_prologue): Use avr_addr instead of RAMPZ_ADDR, SP_ADDR,
- SREG_ADDR.
- (expand_epilogue): Ditto.
- (avr_print_operand): Ditto.
- (avr_file_start): Ditto.
- (avr_emit_movmemhi): Ditto.
-
-2012-02-08 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/46886
- * tree-flow.h (do_while_loop_p): Declare.
- * tree-ssa-loop-ch.c (do_while_loop_p): Export.
- * tree-parloops.c (parallelize_loops): Only parallelize do-while loops.
-
-2012-02-08 Andrew MacLeod <amacleod@redhat.com>
-
- * optabs.c (expand_atomic_load): Do not assume compare_and_swap will
- always succeed for integers larger than a native word.
-
-2012-02-08 Richard Guenther <rguenther@suse.de>
-
- PR rtl-optimization/52170
- * simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to
- properly handle integer vector modes.
-
-2012-02-08 Jakub Jelinek <jakub@redhat.com>
-
- PR gcov-profile/52150
- * coverage.c: Include target.h.
- (build_var): Call targetm.strip_name_encoding on the assembler name.
- Change one _ into . or $ if the target allows it.
- * Makefile.in (coverage.o): Depend on $(TARGET_H).
-
- PR rtl-optimization/52139
- * cfgrtl.c (cfg_layout_merge_blocks): If BB_END
- is a BARRIER after emit_insn_after_noloc, move BB_END
- to the last non-BARRIER insn before it.
-
-2012-02-07 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR middle-end/24306
- * config/mips/mips.c (mips_std_gimplify_va_arg_expr): New function.
- (mips_gimplify_va_arg_expr): Call it instead of
- std_gimplify_va_arg_expr.
-
-2012-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_trampoline_init): Fix error
- message for -mno-pointers-to-nested-function.
-
-2012-02-07 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/51994
- * expr.c (get_inner_reference): If there is an offset, add a negative
- bit position to it (if any).
-
-2012-02-07 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/52060
- * combine.c (try_combine): Add i0src_copy and i0src_copy2 variables,
- copy i1src to i1src_copy whenever added_sets_2 && i1_feeds_i2_n already
- before i1dest -> i1src substitution in newpat, copy i0src to i0src_copy
- and/or i0src_copy2 when needed.
-
-2012-02-07 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.c (main): Don't look for lto-wrapper or lto-wrapper
- or LTOPLUGINSONAME if have_c.
-
- * config/freebsd-spec.h: Add comment about what macros can be defined
- in this header.
- (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): Don't define here.
- * config/freebsd.h (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): But
- here instead.
-
-2012-02-07 Richard Guenther <rguenther@suse.de>
-
- * gimple-pretty-print.c (dump_gimple_phi): Avoid excessive
- newline in -alias dumps.
-
-2012-02-07 Kai Tietz <ktietz@redhat.com>
- Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40068
- * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
- Take care that typinfo gets dllexport-attribute.
-
-2012-02-07 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/52074
- * expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL
- if modifier < EXPAND_SUM call force_operand on the result.
-
-2012-02-07 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * config/epiphany/epiphany.h (ASM_DECLARE_FUNCTION_SIZE): Redefine,
- adding __forwarder_dst__ prefix if a forwarder_section attribute is
- present.
- (epiphany_function_type): Replace types for specific interrupts with
- EPIPHANY_FUNCTION_INTERRUPT.
- (EPIPHANY_INTERRUPT_P): Update.
- * config/epiphany/epiphany.c (epiphany_handle_forwarder_attribute):
- New static function.
- (epiphany_attribute_table) <interrupt>: min_len is 0, max_len is 9.
- <disinterrupt>: Affects type identity.
- (epiphany_handle_interrupt_attribute): Handle variable number of
- arguments.
- (epiphany_compute_function_type): Update for new
- epiphany_function_type definition.
- (epiphany_expand_prologue): Don't save (reg:DI GPR_0) for interrupt
- handlers with a longcall forwarder.
- (epiphany_start_function): Handle multiple interrupt arguments and/or
- forwarder_section attribute.
-
- * config/epiphany/epiphany.h (LIB_SPEC): Link libc again after
- libgloss.
-
-2012-02-07 Alan Modra <amodra@gmail.com>
-
- PR target/52107
- * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode
- subregs of TFmode.
-
-2012-02-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/50969
- * tree-vect-stmts.c (vect_model_store_cost): Correct statement cost to
- use vec_perm rather than vector_stmt.
- (vect_model_load_cost): Likewise.
- * config/i386/i386.c (ix86_builtin_vectorization_cost): Change cost of
- vec_perm to be the same as other vector statements.
- * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
- cost of vec_perm for TARGET_VSX.
-
-2012-02-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52115
- * tree-sra.c (access_has_replacements_p): New function.
- (sra_modify_assign): Use it to decide whether a use is uninitialized.
-
-2012-02-06 Patrick Marlier <patrick.marlier@gmail.com>
-
- PR middle-end/52047
- * trans-mem.c (expand_call_tm): Add an assertion.
- * calls.c (flags_from_decl_or_type): Add ECF_TM_PURE to 'no vops'
- functions.
-
-2012-02-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50955
- * tree-ssa-loop-ivopts.c (get_computation_cost_at): Artificially
- raise cost of expressions that replace an address with an
- expression based on a different pointer.
-
-2012-02-06 Jakub Jelinek <jakub@redhat.com>
-
- PR target/52129
- * calls.c (mem_overlaps_already_clobbered_arg_p): If val is
- CONST_INT_P, subtract resp. add crtl->args.pretend_args_size to it.
-
-2012-02-06 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/48680
- * doc/invoke.texi (C++ Dialect Options): Use @option markup for
- -Weffc++ and specify guidelines come from second edition.
-
-2012-02-05 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.md (sibcall_internal, sibcall_value_internal)
- (sibcall_value_multiple_internal, call_split, call_internal_direct)
- (call_direct_split, call_value_split, call_value_internal_direct)
- (call_value_direct_split, call_value_multiple_split): Use jal and
- jal_macro attributes.
-
-2012-02-05 Richard Sandiford <rdsandiford@googlemail.com>
-
- * reload1.c (reload_regs_reach_end_p): Replace with...
- (reload_reg_rtx_reaches_end_p): ...this function.
- (new_spill_reg_store): Update commentary.
- (emit_input_reload_insns): Don't clear new_spill_reg_store here.
- (emit_output_reload_insns): Check reload_reg_rtx_reaches_end_p
- before setting new_spill_reg_store.
- (emit_reload_insns): Use a separate loop to clear new_spill_reg_store.
- Use reload_reg_rtx_reaches_end_p instead of reload_regs_reach_end_p.
- Also use reload_reg_rtx_reaches_end_p when reading new_spill_reg_store
- for non-spill reload registers.
-
-2012-02-05 Ira Rosen <irar@il.ibm.com>
-
- PR tree-optimization/52091
- * tree-vectorizer.h (vect_is_simple_use): Add an argument.
- (vect_is_simple_use_1): Likewise.
- * tree-vect-loop.c (vectorizable_reduction): Update calls
- to vect_is_simple_use_1 and vect_is_simple_use.
- (vectorizable_live_operation): Likewise.
- * tree-vect-patterns.c (widened_name_p,
- vect_recog_vector_vector_shift_pattern, check_bool_pattern): Likewise.
- * tree-vect-stmts.c (process_use, vect_get_vec_def_for_operand,
- vectorizable_call, vectorizable_conversion, vectorizable_assignment,
- vectorizable_shift,vectorizable_operation, vectorizable_store,
- vectorizable_load): Likewise.
- (vect_is_simple_cond): Add an argument, pass it to
- vect_is_simple_use_1.
- (vectorizable_condition): Update calls to vect_is_simple_cond,
- vect_is_simple_use.
- (vect_is_simple_use): Add an argument, the statement in which
- OPERAND is used. Check that if OPERAND's def stmt is a double
- reduction phi node, the use is a phi node too.
- (vect_is_simple_use_1): Add an argument, pass it to
- vect_is_simple_use.
- * tree-vect-slp.c (vect_get_and_check_slp_defs): Update a call
- to vect_is_simple_use.
-
-2012-02-04 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/52095
- * modulo-sched.c (dump_insn_locator): New function.
- (loop_canon_p, sms_schedule): Use it.
-
- PR rtl-optimization/52113
- * lower-subreg.c (decompose_multiword_subregs): Call recog_memoized
- even for decomposable shift/zext insns.
-
-2012-02-03 Jakub Jelinek <jakub@redhat.com>
- Zdenek Dvorak <ook@ucw.cz>
-
- PR rtl-optimization/52092
- * loop-unswitch.c (unswitch_single_loop): Call copy_rtx_if_shared
- on get_iv_value result.
-
-2012-02-02 Andrew Pinski <apinski@cavium.com>
-
- PR middle-end/47982
- PR middle-end/43967
- * doc/libgcc.texi (__udivmoddi4/__udivmodti4): Fix documentation typo.
-
-2012-02-02 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/48071
- * diagnostic.c (diagnostic_finish): Remove trailing newlines.
-
-2012-02-02 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/49800
- * haifa-sched.c (sched_init): Call regstat_init_n_sets_and_refs.
- (sched_finish): Call regstat_free_n_sets_and_refs.
-
-2012-02-02 Jia Liu <proljc@gmail.com>
-
- * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather
- than operand 2.
-
-2012-02-02 Jan Hubicka <jh@suse.cz>
- Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/51998
- * cgraphunit.c (cgraph_analyze_function): Break cyclic aliases.
- * varpool.c (varpool_analyze_pending_decls): Likewise.
-
-2012-02-02 Sumanth G <sumanth.gundapaneni@kpitcummins.com>
- Jayant R Sonar <jayant.sonar@kpitcummins.com>
-
- * config.gcc: Add cr16-* support.
-
- * doc/extend.texi: Document cr16 extensions.
- * doc/install.texi: Document cr16 install.
- * doc/invoke.texi: Document cr16 options.
- * doc/md.texi: Document cr16 constraints.
-
- * common/config/cr16/cr16-common.c: New file.
- * config/cr16/cr16.c: New file.
- * config/cr16/cr16.h: New file.
- * config/cr16/cr16.md: New file.
- * config/cr16/cr16.opt: New file.
- * config/cr16/cr16-protos.h: New file.
- * config/cr16/predicates.md: New file.
- * config/cr16/constraints.md: New file.
- * config/cr16/t-cr16: New file.
-
-2012-02-02 Jakub Jelinek <jakub@redhat.com>
-
- PR target/52086
- * config/i386/i386.md (*addqi_2 peephole with SImode addition): Check
- that operands[2] is either immediate, or q_regs_operand.
-
- PR tree-optimization/52073
- * tree-vect-stmts.c (vect_mark_relevant): When checking uses of
- a pattern stmt for pattern uses, ignore uses outside of the loop.
-
-2012-02-01 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c: Resolve all AS1 and AS2 macros.
- * config/avr/avr.h (AS1, AS2, AS2C, AS3): Remove.
- (OUT_AS1, OUT_AS2): Remove.
-
-2012-02-01 Georg-Johann Lay <avr@gjlay.de>
-
- PR rtl-optimization/51374
- * combine.c (can_combine_p): Don't allow volatile_refs_p insns
- to cross other volatile_refs_p insns.
-
-2012-02-01 Richard Guenther <rguenther@suse.de>
-
- * doc/invoke.texi (fno-inline): Clarify documentation.
- (finline-small-functions): Likewise.
- (finline-functions): Likewise.
- * common.opt (finline): Adjust comment and documentation.
- (finline-small-functions): Clarify documentation.
- (finline-functions): Likewise.
- (finline-functions-called-once): Likewise.
-
-2012-02-01 Tristan Gingold <gingold@adacore.com>
-
- * c-typeck.c (composite_type): Keep mode for pointers.
-
-2012-01-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * function.h (regno_reg_rtx): Adjust comment.
- * reginfo.c (init_reg_modes_target): Only use the previous mode
- if it fits within one register. Remove MIPS comment.
-
-2012-01-31 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/52058
- * combine.c (do_SUBST_LINK, SUBST_LINK): Guard with #ifndef HAVE_cc0.
-
-2012-01-31 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.md ("*ashr<mode>3_and"): Add missing z196 flag
- to srak instruction.
-
-2012-01-31 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition.
-
-2012-01-31 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/52041
- PR bootstrap/52039
- PR target/51974
- * ipa-prop.c (detect_type_change_1): Call ao_ref_init.
-
-2012-01-31 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51528
- * tree-sra.c (sra_modify_assign): Avoid copy-in/out for aggregate
- assigns.
-
-2012-01-31 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/52041
- PR bootstrap/52039
- PR target/51974
- * ree.c (add_removable_extension): Change def_map argument
- to unsigned *, store in def_map 1 + offset into *insn_list vector
- instead of pointers into the vector.
- (find_removable_extensions): Adjust caller.
-
-2012-01-30 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md: Resolve all AS1 and AS2 macros.
- Transform all "* quoted-c-code" to { c-code }.
- Remove redundant test for "optimize" in combine patterns.
- Move (include "avr-dimode.md") to end of file.
-
-2012-01-30 Bin Cheng <bin.cheng@arm.com>
-
- PR target/51835
- * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
- for __aeabi_d2iz/__aeabi_d2uiz with hard-float.
-
-2012-01-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52028
- * tree-loop-distribution.c (ldist_gen): Properly update
- virtual SSA form.
-
-2012-01-30 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/52027
- * dwarf2out.c (dwarf2out_switch_text_section): Don't call
- set_cur_line_info_table if not emitting debug info.
-
- PR tree-optimization/52046
- * tree-vect-patterns.c (check_bool_pattern): Give up if
- a comparison could throw.
-
- PR debug/52048
- * tree-ssa-tail-merge.c (local_def): Ignore debug uses.
-
-2012-01-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52045
- * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Update
- SSA form if cfgcleanup did anything.
-
-2012-01-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52045
- * ipa-inline-transform.c (inline_transform): Call execute_fixup_cfg
- before computing final todo.
-
-2012-01-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51528
- * tree-sra.c (sra_modify_assign): Re-factor in preparation
- for PR51528 fix.
-
-2012-01-30 Paolo Bonzini <bonzini@gnu.org>
-
- * df-problems.c (df_kill_notes): Check that the use refers
- to the note under examination.
-
-2012-01-30 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/51920
- * config/sparc/sparc.c (vector_init_fpmerge): Remove INNER_MODE
- parameter and use short-lived pseudos.
- (vector_init_faligndata): Remove INNER_MODE parameter and use loop.
- (sparc_expand_vector_init): Const-ify local variables and adjust
- calls to above functions.
-
-2012-01-30 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (out_movqi_mr_r): Fix length computation.
-
-2012-01-29 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi: Make usage of "compile time" and
- "run time"/"runtime" consistent throughout the file.
-
-2012-01-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_option_override): Default to
- full IEEE compliance mode for Go language.
-
-2012-01-29 Tijl Coosemans <tijl@coosemans.org>
-
- * config/freebsd-spec.h [TARGET_LIBC_PROVIDES_SSP]
- (LINK_SSP_SPEC): Define.
-
-2012-01-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/51871
- * config/pa/pa.c (pa_return_addr_rtx): Add support for PA2.0 export
- stubs.
-
-2012-01-28 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi: Correct hyphenation of "floating point",
- "double precision", and related terminology throughout the file.
-
-2012-01-28 Jakub Jelinek <jakub@redhat.com>
-
- PR target/52006
- * config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use
- arm_general_register_operand predicate for operand 2 instead of
- register_operand.
-
-2012-01-27 Ian Lance Taylor <iant@google.com>
-
- PR go/47656
- * builtins.def (BUILT_IN_INIT_HEAP_TRAMPOLINE): Define.
- * builtins.c (expand_builtin_init_trampoline): Add onstack
- parameter. Change caller.
- (expand_builtin): Handle BUILT_IN_INIT_HEAP_TRAMPOLINE.
- * tree.c (build_common_builtin_nodes): Declare
- __builtin_init_heap_trampoline.
-
-2012-01-27 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr-protos.h (lpm_reg_rtx, lpm_addr_reg_rtx,
- tmp_reg_rtx, zero_reg_rtx, all_regs_rtx, rampz_rtx): Make global.
- * config/avr/avr.c: Ditto.
- (avr_regnames): Remove because unused.
- * config/avr/avr.md (*cpse.ne): New peephole.
- (*cpse.eq): New peephole from former cpse peepholes.
-
-2012-01-27 Michael Eager <eager@eagercon.com>
-
- * config/microblaze.c (microblaze_emit_compare): Correct
- test after pcmp instruction.
-
-2012-01-27 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52020
- * tree-sra.c (sra_modify_assign): Do not transform clobbers.
-
-2012-01-27 Richard Guenther <rguenther@suse.de>
-
- * ipa-pure-const.c (check_stmt): Clobbers do not make a
- function non-const/pure.
-
-2012-01-27 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50444
- * tree-sra.c (build_ref_for_offset): Properly adjust the
- MEM_REF type for unaligned accesses.
-
-2012-01-27 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50444
- * expr.c (mem_ref_refers_to_non_mem_p): New function.
- (expand_assignment): Use it. Properly handle misaligned
- bases when expanding stores to component references.
- (expand_expr_real_1): Use mem_ref_refers_to_non_mem_p and
- refactor that case.
-
-2012-01-27 Andrey Belevantsev <abel@ispras.ru>
-
- PR middle-end/51389
- * Makefile.in (tree-data-ref.o): Depend on $(PARAMS_H).
- * tree-data-ref.h (find_data_references_in_loop): Remove declaration.
- * tree-data-ref.c (find_data_references_in_loop): Make static.
- (compute_all_dependences): Change return type to bool. Bail out
- for too many datarefs in a loop. Move the hunk resetting the data
- dependences vector from ...
- (compute_data_dependences_for_loop): ... here. Account for
- compute_all_dependences returning false.
- (compute_data_dependences_for_bb): Likewise.
- * params.def (PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS): New param.
- * doc/invoke.texi (loop-max-datarefs-for-datadeps): Document it.
-
-2012-01-27 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/51959
- * expr.c (store_field): Use the alias-set of the scratch memory
- for storing to it.
-
-2012-01-27 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/51990
- * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle
- WITH_SIZE_EXPR.
- * tree-ssa-pre.c (create_component_ref_by_pieces_1): Same.
-
-2012-01-27 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/52001
- * var-tracking.c (reverse_op): Don't add any reverse operation
- if V already has any constant locations.
-
-2012-01-27 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi: Correct usage of "command line" (noun)
- vs "command-line" (adjective) throughout.
-
-2012-01-27 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (Language Independent Options): Move
- -Wcoverage-mismatch blurb from here....
- (Warning Options): ...to here.
-
-2012-01-27 Peter Bergner <bergner@vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_option_override_internal):
- Set rs6000_always_hint to false for 476.
-
-2012-01-27 Matthias Klose <doko@ubuntu.com>
-
- * gcc.c (add_sysrooted_prefix): Remove trailing dir separator from
- system root.
- * incpath.c (add_standard_paths): Likewise.
-
-2012-01-27 Richard Henderson <rth@redhat.com>
-
- * config/m68k/m68k.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
- * config/m68k/sync.md (atomic_test_and_set): Rename from
- sync_test_and_setqi and adjust the operands.
- (atomic_test_and_set_1): Rename from sync_test_and_setqi_1
- and unconditionally enable.
-
-2012-01-27 Richard Henderson <rth@redhat.com>
-
- * config/sparc/sparc.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
- * config/sparc/sync.md (atomic_test_and_set): Only handle QImode.
- (ldstub): Rename from ldstubqi.
- (ldstub<I24MODE>): Remove.
-
-2012-01-27 Richard Henderson <rth@redhat.com>
-
- * target.def (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
- * c-cppbuiltin.c (cpp_atomic_builtins): Define
- __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
- * doc/tm.texi.in (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Add doc hook.
- * doc/tm.texi: Rebuild.
-
-2012-01-27 Richard Henderson <rth@redhat.com>
-
- * optabs.c (gen_atomic_test_and_set): Remove default.
- (maybe_emit_atomic_test_and_set): Use maybe_expand_insn.
-
-2012-01-26 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/51978
- * ree.c (make_defs_and_copies_lists): Change set_pat type to const_rtx.
- (combine_reaching_defs): Likewise.
- (struct re_info): Remove.
- (add_removable_extension): Remove x and data arguments,
- add insn, insn_list and def_map. Use the arguments directly
- instead of using struct re_info.
- (find_removable_extensions): Don't call add_removable_extension
- through note_stores, instead just call it with single_set
- result if non-NULL.
- (find_and_remove_re): Pass curr_cand->expr instead of
- PATTERN (curr_cand->insn) as set_pat argument to combine_reaching_defs.
-
-2012-01-26 Michael Matz <matz@suse.de>
-
- PR tree-optimization/46590
- * cfgexpand.c: Revert last change (r183305).
- * gimplify.c (gimplify_bind_expr): Add clobbers for all non-gimple
- regs.
- * tree-eh.c (cleanup_empty_eh): Try to optimize clobbers before
- checking for emptiness.
-
-2012-01-26 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/51895
- * expr.c (expand_expr_real_1): Handle BLKmode MEM_REF of
- non-addressable non-BLKmode base correctly.
-
-2012-01-26 Michael Matz <matz@suse.de>
-
- PR tree-optimization/48794
- * tree-eh.c (remove_unreachable_handlers_no_lp): Don't remove
- regions referenced from RESX/EH_DISPATCH.
-
-2012-01-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.h: Make BRANCH_COST an option.
- * config/s390/s390.opt: New option -mbranch-cost.
-
-2012-01-26 Richard Henderson <rth@redhat.com>
-
- Revert 2012-01-24 change:
- * trans-mem.c (requires_barrier): Do not instrument thread local
- variables and emit save/restore for them.
-
-2012-01-25 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/51986
- * sched-deps.c (sched_get_condition_with_rev_uncached): Don't test
- for pat == 0.
-
-2012-01-25 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_small_data_pattern_1): Don't process
- ASM_OPERANDS.
-
-2012-01-25 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49868
- Rename __pgm to __flash.
- Rename __pgm1 to __flash1.
- Rename __pgm2 to __flash2.
- Rename __pgm3 to __flash3.
- Rename __pgm4 to __flash4.
- Rename __pgm5 to __flash5.
- Rename __pgmx to __memx.
- * doc/extend.texi (AVR Named Address Spaces)
- Rename address space names as indicated above.
- * config/avr/avr.c (avr_addrspace): Ditto.
-
- * config/avr/avr-protos.h
- (avr_mem_pgmx_p): Rename to avr_mem_memx_p.
- (avr_mem_pgm_p): Rename to avr_mem_flash_p.
- * config/avr/predicates.md: Ditto.
- * config/avr/avr.c Ditto, and
- (avr_decl_pgmx_p): Rename to avr_decl_memx_p.
- (avr_decl_pgm_p): Rename to avr_decl_flash_p.
-
- * config/avr/avr.h (ADDR_SPACE_PGM): Rename to ADDR_SPACE_FLASH.
- (ADDR_SPACE_PGM1): Rename to ADDR_SPACE_FLASH1.
- (ADDR_SPACE_PGM2): Rename to ADDR_SPACE_FLASH2.
- (ADDR_SPACE_PGM3): Rename to ADDR_SPACE_FLASH3.
- (ADDR_SPACE_PGM4): Rename to ADDR_SPACE_FLASH4.
- (ADDR_SPACE_PGM5): Rename to ADDR_SPACE_FLASH5.
- (ADDR_SPACE_PGMX): Rename to ADDR_SPACE_MEMX.
- * config/avr/avr.c: Ditto.
- * config/avr/avr.md: Ditto.
-
-2012-01-25 Jason Merrill <jason@redhat.com>
-
- PR c++/51992
- * tree.c (find_decls_types_in_node): Walk gimple_call_fntype.
-
-2012-01-25 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51987
- * tree-data-ref.c (get_references_in_stmt): Handle references in
- non-volatile GIMPLE_ASM.
-
-2012-01-25 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both
- bases are dereferenced.
-
-2012-01-25 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/48374
- * sel-sched-ir.h (get_all_loop_exits): Check for zero successors.
-
-2012-01-25 Andrey Belevantsev <abel@ispras.ru>
-
- * tree-predcom.c (tree_predictive_commoning_loop): Bail out when
- compute_data_dependences_for_loop returns false.
- * tree-parloops.c (loop_parallel_p): Likewise.
-
-2012-01-25 Richard Guenther <rguenther@suse.de>
-
- * tree.h (get_pointer_alignment_1): Declare.
- * builtins.c (get_pointer_alignment_1): New function.
- (get_pointer_alignment): Use it.
-
-2012-01-25 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR rtl-optimization/48308
- * combine.c (enum undo_kind): Add UNDO_LINKS.
- (struct undo): Add member l to other_contents and where.
- (do_SUBST_LINK): New.
- (SUBST_LINK): New.
- (try_combine): Handle LOG_LINKS for the dummy i1 case.
- (undo_all): Handle UNDO_LINKS.
-
-2012-01-25 Richard Henderson <rth@redhat.com>
-
- * optabs.c (maybe_emit_atomic_test_and_set): Allow non-QImode
- mem inputs.
-
-2012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
-
- * optabs.c (gen_atomic_test_and_set): Use each argument.
-
-2012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips-ps-3d.md (mips_addr_ps, reduc_splus_v2sf)
- (mips_cvt_pw_ps, mips_cvt_ps_pw, mips_mulr_ps, mips_cabs_cond_<fmt>)
- (mips_cabs_cond_4s, mips_cabs_cond_ps, bc1any4t, bc1any4f, bc1any2t)
- (bc1any2f, mips_rsqrt1_<fmt>, mips_rsqrt2_<fmt>, mips_recip1_<fmt>)
- (mips_recip2_<fmt>): Require TARGET_MIPS3D rather than
- TARGET_PAIRED_SINGLE_FLOAT.
-
-2012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
-
- * doc/rtl.texi (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
- (in_struct, return_val): Remove MEM documentation.
- * rtl.h (rtx_def): Remove MEM meanings from in_struct and return_val.
- (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
- (MEM_COPY_ATTRIBUTES): Remove references to MEM_IN_STRUCT_P
- and MEM_SCALAR.
- * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
- * cfgexpand.c (add_alias_set_conflicts): Likewise.
- * expr.c (store_field): Likewise.
- * function.c (assign_stack_temp_for_type): Likewise.
- * ifcvt.c (noce_try_cmove_arith): Likewise.
- * reload1.c (reload): Likewise.
- * config/alpha/alpha.c (alpha_set_memflags_1): Likewise.
- (alpha_set_memflags): Likewise.
- * config/m32c/m32c.c (m32c_immd_dbl_mov): Nullify.
-
-2012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
-
- * rtl.h (true_dependence, canon_true_dependence): Remove varies
- parameter.
- * alias.c (fixed_scalar_and_varying_struct_p): Delete.
- (true_dependence_1, write_dependence_p, may_alias_p): Don't call it.
- (true_dependence_1, true_dependence, canon_true_dependence): Remove
- varies parameter.
- * cselib.c (cselib_rtx_varies_p): Delete.
- (cselib_invalidate_mem): Update call to canon_true_dependence.
- * dse.c (record_store, check_mem_read_rtx): Likewise.
- (scan_reads_nospill): Likewise.
- * cse.c (check_dependence): Likewise.
- (cse_rtx_varies_p): Delete.
- * expr.c (safe_from_p): Update call to true_dependence.
- * ira.c (validate_equiv_mem_from_store): Likewise.
- (memref_referenced_p): Likewise.
- * postreload-gcse.c (find_mem_conflicts): Likewise.
- * sched-deps.c (sched_analyze_2): Likewise.
- * store-motion.c (load_kills_store): Likewise.
- * config/frv/frv.c (frv_registers_conflict_p_1): Likewise.
- * gcse.c (mems_conflict_for_gcse_p): Likewise.
- (compute_transp): Update call to canon_true_dependence.
-
-2012-01-25 Richard Henderson <rth@redhat.com>
-
- * optabs.c (CODE_FOR_atomic_test_and_set): Provide default.
- (maybe_emit_atomic_test_and_set): New.
- (expand_sync_lock_test_and_set): Use it.
- (expand_atomic_test_and_set): Likewise.
- * doc/extend.texi (__atomic_test_and_set): Adjust the docs to match
- the implementation; clarify implementation defined details.
- * doc/md.texi (atomic_test_and_set): Document.
-
-2012-01-25 Richard Henderson <rth@redhat.com>
-
- * config/sparc/predicates.md (zero_or_v7_operand): Use match_code.
-
-2012-01-25 Richard Henderson <rth@redhat.com>
-
- PR target/51968
- * config/arm/arm.c (neon_split_vcombine): Emit deleted note
- to effect no-op split.
-
-2012-01-24 Aldy Hernandez <aldyh@redhat.com>
-
- PR lto/51698
- * builtin-types.def: (BT_CONST_DOUBLE_PTR): New.
- (BT_FN_VOID_PTR_CONST_PTR_SIZE): New.
- (BT_FN_VOID_PTR_INT_SIZE): New.
- (BT_FN_UINT_UINT_VAR): Remove.
- (BT_FN_UINT32_UINT32_VAR): New.
- (BT_FN_DOUBLE_VPTR): Remove.
- (BT_FN_DOUBLE_CONST_DOUBLE_PTR): New.
-
- * gtm-builtins.def (_ITM_abortTransaction): Set return type to void.
- (_ITM_changeTransactionMode): Same.
- (_ITM_memmoveRtWt): Change return type to void.
- (_ITM_memcpyRtWt): Same.
- (_ITM_memsetW): Same.
- (_ITM_RaRD): Change types to double.
- (_ITM_RD): Same.
- (_ITM_RaWD): Same.
- (_ITM_RfWD): Same.
-
- * builtins.def (DEF_TM_BUILTIN): Set BOTH_P to true.
-
-2012-01-24 Aldy Hernandez <aldyh@redhat.com>
- Patrick Marlier <patrick.marlier@gmail.com>
-
- * trans-mem.c (requires_barrier): Do not instrument thread local
- variables and emit save/restore for them.
-
-2012-01-24 Jason Merrill <jason@redhat.com>
-
- PR c++/51812
- * cgraphunit.c (cgraph_decide_is_function_needed): Don't always
- output static aliases.
-
-2012-01-24 Jakub Jelinek <jakub@redhat.com>
-
- PR driver/47249
- * common.opt (-pie, -shared, pie, shared): Change from Common to
- Driver.
- * gcc.c (display_help): Display help for -pie and -shared.
-
-2012-01-24 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49868
- * doc/extend.texi (AVR Named Address Spaces): Move sample code up.
- Remove note on size/offset limitation.
- (AVR Variable Attributes): Add example how to read data located
- with progmem. Refer to named address spaces.
- * doc/invoke.texi (AVR Options): Fix typo.
-
-2012-01-24 Richard Guenther <rguenther@suse.de>
-
- Forward-port to trunk
- 2010-09-21 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/45678
- * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If
- op0 isn't sufficiently aligned and there is movmisalignM
- insn for mode, use it to load op0 into a temporary register.
-
-2012-01-24 Jakub Jelinek <jakub@redhat.com>
-
- PR target/51957
- * target.def (const_not_ok_for_debug_p): New hook.
- * doc/tm.texi.in (TARGET_CONST_NOT_OK_FOR_DEBUG_P): New hook
- documentation.
- * doc/tm.texi: Regenerated.
- * dwarf2out.c (const_ok_for_output_1): If
- targetm.const_not_ok_for_debug_p returns true, fail.
- * config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): New
- function.
- (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine.
-
-2012-01-23 Kai Tietz <ktietz@redhat.com>
-
- PR target/51900
- * config/i386/predicates.md (symbolic_operand): Allow
- UNSPEC_PCREL as PIC expression for lea.
- * config/i386/winnt.c (i386_pe_binds_local_p): Reworked.
- * config/i386/i386.c (ix86_delegitimize_address): Handle
- UNSPEC_PCREL for none-MEM, too.
-
-2012-01-23 Aldy Hernandez <aldyh@redhat.com>
-
- * trans-mem.c (ipa_tm_create_version): Set externally_visible.
- (ipa_tm_create_version_alias): Same.
-
-2012-01-23 Uros Bizjak <ubizjak@gmail.com>
-
- PR libitm/51830
- * builtin-types.def (BT_FN_UINT_UINT_VAR): New.
- * gtm-builtins.def (BUILT_IN_TM_START): Declare as BT_FN_UINT_UINT_VAR.
-
-2012-01-23 Aldy Hernandez <aldyh@redhat.com>
- Patrick Marlier <patrick.marlier@gmail.com>
- Iain Sandoe <developer@sandoe-acoustics.co.uk>
-
- PR lto/51916
- * lto-wrapper.c (run_gcc): Pass the LTO section name to
- simple_object_start_read.
-
-2012-01-23 Richard Guenther <rguenther@suse.de>
-
-
- PR tree-optimization/51895
- * tree-sra.c (decide_one_param_reduction): Avoid sub-optimal
- parameter decomposition into BLKmode components.
-
-2012-01-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-structalias.c (intra_create_variable_infos): Do not create
- fake variables for restrict-qualified pointers whose pointed-to type
- contains a placeholder.
-
-2012-01-23 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51949
- * ipa-split.c (execute_split_functions): Do not split malloc functions.
-
-2012-01-23 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/51933
- * ree.c (transform_ifelse): Return true right away if dstreg is
- already wider or equal to cand->mode.
- (enum ext_modified_kind, struct ext_modified, ext_state): New types.
- (make_defs_and_copies_lists): Remove defs_list and copies_list
- arguments, add state argument, just truncate state->work_list
- instead of always allocating and freeing the vector. Assert that
- get_defs succeeds instead of returning 2. Changed return type to bool.
- (merge_def_and_ext): Add state argument. If SET_DEST doesn't
- have ext_src_mode, see if it has been modified already with the
- right kind of extension and has been extended before from the
- ext_src_mode. If SET_DEST is already wider or equal to cand->mode,
- just return true. Remember the original mode in state->modified array.
- (combine_reaching_defs): Add state argument. Don't allocate and
- free here def_list, copied_list and vec vectors, instead just
- VEC_truncate the vectors in *state. Don't handle outcome == 2 here.
- (find_and_remove_re): Set DF_DEFER_INSN_RESCAN df flag.
- Add state variable, clear vectors in it, initialize state.modified
- if needed. Free all the vectors at the end and state.modified too.
- Don't skip a candidate if the extension expression has been modified.
-
-2012-01-22 Douglas B Rupp <rupp@gnat.com>
-
- PR target/47096
- * config.gcc: (i[34567]86-*-interix3*): Remove from obsolete
- configurations. Change triplet to i[34567]86-*-interix[3-9]*.
- (extra_options) interix.opt -> i386/interix.opt"
- (extra_objs):Add winnt-stubs.o
- * configure.ac: Add interix to target_os .comm on PE check.
- * configure: Regenerate.
- * config/interix3.h: Delete and move bits to..
- * config/interix.h: Delete and move bits to..
- * config/i386/i386-interix3.h: Delete and move bits to..
- * config/i386/i386-interix.h: ..here.
- (TARGET_CPU_DEFAULT): Remove redefinition.
- (TARGET_ASM_CONSTRUCTOR): Undefine.
- (SUBTARGET_SWITCHES): Define for ms-bitfields.
- (TARGET_OS_CPP_BUILTINS): Remove __OPENNT. Add __declspec.
- (PTRDIFF_TYPE): Define.
- (LONG_DOUBLE_TYPE_SIZE): Define.
- (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
- (SUBTARGET_OVERRIDE_OPTIONS): Remove.
- (TARGET_SECTION_TYPE_FLAGS): Define.
- (ASM_DECLARE_FUNCTION_NAME): Define.
- (ASM_OUTPUT_EXTERNAL): Define.
- (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
- (ASM_OUTPUT_ALIGNED_BSS): Define.
- (PCC_BITFIELD_TYPE_MATTERS): Define.
- (USE_CONST_SECTION): Define.
- (SUBTARGET_ENCODE_SECTION_INFO): Remove.
- (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
- (SUPPORTS_ONE_ONLY): Remove.
- (I386_PE_STRIP_ENCODING): Define.
- * config/interix.opt: Delete and move bits to..
- * config/i386/interix.opt: ..here. New.
- (mpe-aligned-commons): Add.
- * config/i386/t-interix: Add copyright header.
- (winnt-stubs.o): Add rule.
-
-2012-01-22 Jason Merrill <jason@redhat.com>
-
- PR c++/51832
- * varpool.c (varpool_analyze_pending_decls): Copy DECL_EXTERNAL
- for extra name aliases.
-
-2012-01-22 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/51924
- * ree.c (combine_set_extension): Improve debugging message.
- (combine_reaching_defs): Likewise.
- (get_defs): Rename confusingly named variable.
- (find_and_remove_re): Skip a candidate if the extension expression has
- been modified.
-
-2012-01-21 Robert Millan <rmh@gnu.org>
- Gerald Pfeifer <gerald@pfeifer.com>
-
- * config/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKERX32): New macro.
- (GNU_USER_DYNAMIC_LINKER): Adjust indentation.
-
-2012-01-20 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51914
- * tree-vect-stmts.c (vectorizable_conversion): For
- cvt_type && modifier == WIDEN, put temporary with cvt_type
- at the beginning of vec_dsts and set vec_dest to temporary
- with vectype_out.
-
-2012-01-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * cfgrtl.c (rtl_dump_bb): Do not dump insns for {ENTRY|EXIT}_BLOCK.
-
-2012-01-20 Tijl Coosemans <tijl@coosemans.org>
-
- * config/i386/i386.c: Fix checks for !TARGET_MACHO.
- * config/rs6000/rs6000.c: Likewise.
-
-2012-01-20 Jakub Jelinek <jakub@redhat.com>
-
- PR target/51915
- * config/arm/arm.c (arm_count_output_move_double_insns): Call
- output_move_double on a copy of operands array.
-
-2012-01-20 Cary Coutant <ccoutant@google.com>
- Dodji Seketeli <dodji@redhat.com>
-
- PR debug/45682
- * dwarf2out.c (copy_declaration_context): Return ref to parent
- of declaration DIE, if necessary.
- (remove_child_or_replace_with_skeleton): Add new parameter; update
- caller. Place skeleton DIE under parent DIE of original declaration.
- Move call to copy_declaration_context to here ...
- (break_out_comdat_types): ... from here.
-
-2012-01-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- PR rtl-optimization/51856
- * reload.c (find_reloads_subreg_address): Set the address_reloaded
- flag to reloaded.
-
-2012-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/51819
- * config/arm/arm.c (arm_print_operand): Correct output of alignment
- hints for neon loads and stores.
-
-2012-01-20 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49868
- PR target/50887
- * doc/extend.texi (Named Address Spaces): Split into subsections.
- (AVR Named Address Spaces): New subsection.
- (M32C Named Address Spaces): New subsection.
- (RL78 Named Address Spaces): New subsection.
- (SPU Named Address Spaces): New subsection.
- (Variable Attributes): New anchor "AVR Variable Attributes".
- (AVR Variable Attributes): Rewrite and avoid wording
- "address space" in this context.
- * doc/invoke.texi (AVR Options): Rewrite and add documentation
- for -maccumulate-args, -mbranch-cost=, -mrelax, -mshort-calls.
- (AVR Built-in Macros): New subsubsection therein.
- * doc/md.texi (AVR constraints): Remove "C04", "R".
-
-2012-01-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51903
- * tree-ssa-pre.c (eliminate): Properly purging of EH edges
- when removing stmts.
-
-2012-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/50313
- * config/arm/arm.c (arm_load_pic_register): Use
- gen_pic_load_addr_unified. Delete calls to gen_pic_load_addr_32bit
- , gen_pic_add_dot_plus_eight and gen_pic_add_dot_plus_four.
- (arm_pic_static_addr): Likewise.
- (arm_rtx_costs_1): Adjust cost for UNSPEC_PIC_UNIFIED.
- (arm_note_pic_base): Handle UNSPEC_PIC_UNIFIED.
- * config/arm/arm.md (UNSPEC_PIC_UNIFIED): Define.
- (pic_load_addr_unified): New.
-
-2012-01-20 Andrey Belevantsev <abel@ispras.ru>
-
- PR target/51106
- * function.c (instantiate_virtual_regs_in_insn): Use
- delete_insn_and_edges when removing a wrong asm insn.
-
-2012-01-19 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/40761
- * ira-int.h (struct ira_loop_tree_node): Add comment for member loop.
- Add new member loop_num.
- (IRA_LOOP_NODE_BY_INDEX): Modify the check.
- (ira_build): Remove the parameter.
-
- * ira.c (ira_print_disposition): Use loop_num instead of loop->num.
- (ira.c): Do not build CFG loops for one region allocation. Remove
- argument from ira_build call.
-
- * ira-build.c (init_loop_tree_node): New function.
- (create_loop_tree_nodes): Use it. Separate the case when CFG
- loops are not built.
- (more_one_region_p): Check current_loops.
- (finish_loop_tree_nodes): Separate the case when CFG loops are not
- built.
- (add_loop_to_tree): Process loop equal to NULL too.
- (form_loop_tree): Separate the case when CFG loops are not built.
- Use explicitly number for the root.
- (rebuild_regno_allocno_maps, create_loop_tree_node_allocnos): Add
- an assertion.
- (ira_print_expanded_allocno, loop_compare_func): Use loop_num
- instead of loop->num.
- (mark_loops_for_removal): Ditto. Use loop_num instead of loop->num.
- (mark_all_loops_for_removal): Ditto.
- (remove_unnecessary_regions): Separate the case when CFG loops
- are not built.
- (ira_build): Remove the parameter. Use explicit number of regions
- when CFG loops are not built.
-
- * ira-color.c (print_loop_title): Separate the case for the root node.
- Use loop_num instead of loop->num.
- (move_spill_restore): Use loop_num instead of loop->num.
-
- * ira-emit.c (setup_entered_from_non_parent_p): Add an assertion.
- (change_loop): Ditto.
- (change_loop): Use loop_num instead of loop->num.
-
- * ira-lives.c (process_bb_node_lives): Ditto.
-
- * ira-costs.c (print_allocno_costs, find_costs_and_classes): Ditto.
-
- * ira-conflicts.c (print_allocno_conflicts): Ditto.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR libmudflap/40778
- * tree-mudflap.c (mf_artificial): New function.
- (execute_mudflap_function_ops, execute_mudflap_function_decls,
- mx_register_decls, mudflap_enqueue_decl): Use it.
-
- PR target/51876
- * config/arm/neon.md (*neon_vswp<mode>): Fix up operand
- numbers in the insn pattern.
-
-2012-01-19 Michael Matz <matz@suse.de>
-
- PR tree-optimization/46590
- * cfgexpand.c (add_scope_conflicts_1): New old_conflicts argument,
- use it in remembering which conflicts we already created.
- (add_scope_conflicts): Adjust call to above, (de)allocate helper
- bitmap.
-
-2012-01-19 Aldy Hernandez <aldyh@redhat.com>
-
- PR lto/51280
- * lto-wrapper.c (run_gcc): Pass -fgnu_tm on.
- (merge_and_complain): Same.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/50237
- * config/initfini-array.h: Guard content of the header
- with #ifdef HAVE_INITFINI_ARRAY.
- * configure.ac: Move gcc_AC_INITFINI_ARRAY much later into the file.
- Add initfini-array.h to tm_file here.
- * acinclude.m4 (gcc_AC_INITFINI_ARRAY): For non-ia64 do a linker test.
- * config.gcc: Don't add initfini-array.h to tm_file here.
- * configure: Regenerated.
-
-2012-01-19 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/51505
- * df-problems.c (df_kill_notes): New parameter live. Update comment.
- Remove REG_EQUAL/REG_EQUIV notes referring to dead registers.
- (df_note_bb_compute): Update the call to df_kill_notes.
-
-2012-01-18 Aldy Hernandez <aldyh@redhat.com>
-
- * trans-mem.c (requires_barrier): Remove call to is_global_var.
-
-2012-01-18 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa.c (useless_type_conversion_p): Remove special-casing
- of conversions to void *.
-
-2012-01-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
- Richard Sandiford <rdsandiford@googlemail.com>
-
- PR middle-end/50325
- PR middle-end/51192
- * optabs.h (simplify_expand_binop): Declare.
- * optabs.c (simplify_expand_binop): Make global.
- * expmed.c (store_bit_field_1): Use simplify_expand_binop on big
- endian targets if the source cannot be exactly covered by word
- mode chunks.
-
-2012-01-17 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/51872
- * hard-reg-set.h (struct hard_reg_set_container): New type.
- * target.h (struct hard_reg_set_container): Forward declare.
- * target.def (set_up_by_prologue): New target hook.
- * doc/tm.texi.in (TARGET_SET_UP_BY_PROLOGUE): Document it.
- * doc/tm.texi: Regenerated.
- * function.c (thread_prologue_and_epilogue_insns): Change
- set_up_by_prologue HARD_REG_SET into struct hard_reg_set_container.
- Call targetm.set_up_by_prologue on it.
- * config/rs6000/rs6000.c (rs6000_set_up_by_prologue): New function.
- (TARGET_SET_UP_BY_PROLOGUE): Redefine to it.
-
-2012-01-17 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.c (rx_can_use_simple_return): New function.
- * config/rx/rx-protos.h (rx_can_use_simple_return): Prototype.
- * config/rx/rx.md (return): Predicate on rx_can_use_simple_return.
-
-2012-01-17 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/51782
- * expr.c (expand_assignment): Take address-space information
- from the address operand of MEM_REF and TARGET_MEM_REF.
- (expand_expr_real_1): Likewise.
-
-2012-01-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * ira.c (do_reload): Make sure ira_dump_file is re-set if no
- reload dump is requested.
-
-2012-01-17 Aldy Hernandez <aldyh@redhat.com>
-
- PR other/51165
- * trans-mem.c (requires_barrier): Call may_be_aliased.
-
-2012-01-17 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51877
- * tree-ssa-tail-merge.c (gimple_equal_p): Don't return true whenever
- call arguments and fndecls compare equal, instead return false if they
- don't. Return true only if lhs1 and lhs2 are either both NULL, or
- both SSA_NAMEs that are valueized the same, or they satisfy
- operand_equal_p.
-
-2012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_target_dl_iterate_phdr): Only check on
- Solaris 11+.
- * configure: Regenerate.
-
-2012-01-16 Jan Hubicka <jh@suse.cz>
-
- PR c/12245
- PR c++/14179
- * convert.c (convert_to_integer): Use fold_convert for
- converting an INTEGER_CST to integer type.
-
-2012-01-16 Jason Merrill <jason@redhat.com>
-
- PR c++/14179
- * vec.c (vec_gc_o_reserve_1): Use ggc_round_alloc_size.
-
-2012-01-16 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/51860
- * config/s390/s390.c (s390_chunkify_start): Don't skip
- call insns followed by NOTE_INSN_CALL_ARG_LOCATION note. Skip
- NOTE_INSN_VAR_LOCATION and NOTE_INSN_CALL_ARG_LOCATION notes.
- If insn is followed by NOTE_INSN_VAR_LOCATION or
- NOTE_INSN_CALL_ARG_LOCATION notes, insert jump after all those notes.
- Don't use location of note insns.
-
- PR tree-optimization/51865
- * tree-inline.c (tree_function_versioning): Call remap_decl
- on DECL_RESULT whenever it has VOID_TYPE_P type.
-
-2012-01-15 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips16_build_call_stub): Don't use a stub
- for calls to locally-binding MIPS16 functions if only the return
- type uses float regs.
-
-2012-01-15 Chung-Lin Tang <cltang@codesourcery.com>
- Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete.
- (SYMBOL_32_HIGH): Likewise.
- (mips_output_tls_reloc_directive): Declare.
- * config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md.
- (mips_use_pcrel_pool_p, mips_lo_relocs, mips_hi_relocs): Declare.
- * config/mips/mips.c (mips_use_pcrel_pool_p): New variable.
- (mips_lo_relocs, mips_hi_relocs): Make extern.
- (mips16_stub_function): Move up file.
- (mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling.
- (mips_symbolic_constant_p): Likewise. Remove SYMBOL_32_HIGH too.
- (mips_symbol_insns_1): Likewise. Check mips_use_pcrel_pool_p.
- (mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead of
- SYMBOL_FORCE_TO_MEM. Only check mips_tls_symbol_ref_1 if it's false.
- (mips_get_tp): Add MIPS16 support.
- (mips_legitimize_tls_address): Remove MIPS16 sorry().
- Generalize DTPREL and TPREL handling.
- (mips_init_relocs): Initialize mips_use_pcrel_pool_p.
- Add MIPS16 TLS support.
- (mips_output_tls_reloc_directive): New function.
- (mips16_rewrite_pool_refs): Ignore UNSPEC_TLS_GET_TPs.
- * config/mips/predicates.md (symbolic_operand_with_high)
- (tls_reloc_operand): New predicates.
- (force_to_mem_operand): Use mips_use_pcrel_pool_p.
- * config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec.
- (PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h.
- (*unshifted_high): New instruction. Use it for MIPS16 high splitter.
- (consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns.
- (*tls_get_tp_mips16_call_<mode>): Likewise.
-
-2012-01-15 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/51821
- * recog.c (peep2_find_free_register): Determine clobbered registers
- from insn pattern.
-
-2012-01-14 Denis Chertykov <chertykov@gmail.com>
-
- PR target/50925
- * config/avr/avr-protos.h: Revert change of 2012-01-09.
- * config/avr/avr.c: Likewise.
- * config/avr/avr.h: Likewise.
-
-2012-01-13 Ian Lance Taylor <iant@google.com>
-
- PR c++/50012
- * tree.h (TYPE_QUALS): Add cast to int.
- (TYPE_QUALS_NO_ADDR_SPACE): Likewise.
-
-2012-01-13 Ian Lance Taylor <iant@google.com>
-
- * ipa-cp.c (ipa_get_indirect_edge_target): Add typecasts when
- comparing param_index to VEC_length result.
-
-2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
-
- * c-decl.c: Do not include tree-mudflap.h
- * tree-optimize.c: Likewise.
- * Makefile.in: Update dependencies.
-
-2012-01-13 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/8081
- * gimplify.c (gimplify_modify_expr_rhs): For calls with a
- variable-sized result always use RSO.
-
-2012-01-12 DJ Delorie <dj@redhat.com>
-
- * cfgexpand.c (convert_debug_memory_address): Allow any valid
- pointer type, not just the default pointer type.
-
-2012-01-09 Richard Henderson <rth@redhat.com>
- Denis Chertykov <chertykov@gmail.com>
-
- PR target/50925
- * config/avr/avr-protos.h (avr_hard_regno_nregs): Declare.
- * config/avr/avr.c (avr_can_eliminate): Simplify.
- (avr_initial_elimination_offset): Likewise.
- (avr_prologue_setup_frame): Use hard_frame_pointer_rtx.
- (expand_epilogue): Likewise.
- (avr_legitimize_address): Gut.
- (avr_legitimize_reload_address): Use hard_frame_pointer_rtx.
- (avr_hard_regno_nregs): New.
- (avr_hard_regno_ok): Allow only Pmode for arg and frame_pointers.
- (avr_regno_mode_code_ok_for_base_b): Handle arg and frame pointers.
- * config/avr/avr.h (FIXED_REGISTERS): Adjust arg pointer,
- add soft frame pointer.
- (CALL_USED_REGISTERS): Likewise.
- (REG_CLASS_CONTENTS): Likewise.
- (REGISTER_NAMES): Likewise.
- (HARD_REGNO_NREGS): Use avr_hard_regno_nregs.
- (HARD_FRAME_POINTER_REGNUM): New.
- (FRAME_POINTER_REGNUM): Use soft frame pointer.
- (ELIMINABLE_REGS): Eliminate from the soft frame pointer,
- remove the HARD_FRAME_POINTER self-elimination.
-
-2012-01-12 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/51756
- * config/avr/avr.c (avr_encode_section_info): Test for absence of
- DECL_EXTERNAL when checking for initializers of progmem variables.
-
-2012-01-12 Ira Rosen <irar@il.ibm.com>
-
- PR tree-optimization/51799
- * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check
- that the last operation is a type demotion.
-
-2012-01-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template.
- (x86_shift<mode>_adj_1): Remove operand constraint from operand 3.
-
-2012-01-11 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/51796
- * combine.c (distribute_notes): If i3 is a noreturn call,
- allow old_size to be equal to args_size and make sure the
- noreturn call gets REG_ARGS_SIZE note.
- * expr.c (fixup_args_size_notes): Put REG_ARGS_SIZE notes
- on noreturn calls even when the delta is 0.
-
-2012-01-11 Nathan Sidwell <nathan@acm.org>
-
- * gcov.c (STRING_SIZE): Remove.
- (generate_results): Erase annotations for source files with no
- coverage information.
- (read_line): New.
- (output_lines): Use it.
-
-2012-01-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimple.h (gimplify_body): Remove first argument.
- * gimplify.c (copy_if_shared): Add DATA argument. Do not create the
- pointer set here, instead just pass DATA to walk_tree.
- (unshare_body): Remove BODY_P argument and adjust. Create the pointer
- set here and invoke copy_if_shared on the size trees of DECL_RESULT.
- (unvisit_body): Likewise, but with unmark_visited.
- (gimplify_body): Remove BODY_P argument and adjust.
- (gimplify_function_tree): Adjust call to gimplify_body.
- * omp-low.c (finalize_task_copyfn): Likewise.
-
-2012-01-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.h (build_function_decl_skip_args): Add boolean parameter.
- (build_function_type_skip_args): Delete.
- * tree.c (build_function_type_skip_args): Make static and add
- SKIP_RETURN parameter. Fix thinko in the handling of variants.
- (build_function_decl_skip_args): Add SKIP_RETURN parameter and
- pass it to build_function_type_skip_args.
- * cgraph.h (cgraph_function_versioning): Add boolean parameter.
- (tree_function_versioning): Likewise.
- * cgraph.c (cgraph_create_virtual_clone): Adjust call to
- build_function_decl_skip_args.
- * cgraphunit.c (cgraph_function_versioning): Add SKIP_RETURN parameter
- and pass it to build_function_decl_skip_args/tree_function_versioning.
- (cgraph_materialize_clone): Adjust call to tree_function_versioning.
- * ipa-inline-transform.c (save_inline_function_body): Likewise.
- * trans-mem.c (ipa_tm_create_version): Likewise.
- * tree-sra.c (modify_function): Ditto for cgraph_function_versioning.
- * tree-inline.c (declare_return_variable): Remove always-true test.
- (tree_function_versioning): Add SKIP_RETURN parameter. If the function
- returns non-void and SKIP_RETURN, create a void-typed RESULT_DECL.
- * ipa-split.c (split_function): Skip the return value for the split
- part if it doesn't return.
-
-2012-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/49642
- * ipa-split.c (forbidden_dominators): New variable.
- (check_forbidden_calls): New function.
- (dominated_by_forbidden): Likewise.
- (consider_split): Check for forbidden dominators.
- (execute_split_functions): Initialize and free forbidden
- dominators info; call check_forbidden_calls.
-
-2012-01-11 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * config/arm/arm.md (mov_notscc): Use MVN for false condition.
-
-2012-01-11 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.md (return): Define pattern.
-
-2012-01-11 Richard Guenther <rguenther@suse.de>
-
- * doc/extend.texi (malloc attribute): Adjust according to
- implementation.
-
-2012-01-10 Aldy Hernandez <aldyh@redhat.com>
- Patrick Marlier <patrick.marlier@gmail.com>
-
- PR middle-end/51516
- * trans-mem.c (get_cg_data): Traverse aliases if requested.
- (ipa_tm_scan_calls_block): Update parameters to get_cg_data.
- (ipa_tm_note_irrevocable): Same.
- (ipa_tm_scan_irr_block): Same.
- (ipa_tm_decrement_clone_counts): Same.
- (ipa_tm_scan_irr_function): Same.
- (ipa_tm_create_version_alias): Same.
- (ipa_tm_create_version): Same.
- (ipa_tm_transform_calls_redirect): Same.
- (ipa_tm_transform_calls): Same.
- (ipa_tm_transform_transaction): Same.
- (ipa_tm_execute): Same.
-
-2012-01-10 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/51806
- * opts.c (common_handle_option): Handle -Werror.
-
-2012-01-10 Andreas Schwab <schwab@linux-m68k.org>
-
- * config/m68k/sync.md ("atomic_compare_and_swap<mode>_1"): Fix
- operand number.
-
-2012-01-10 Jason Merrill <jason@redhat.com>
-
- * doc/invoke.texi (C++ Dialect Options): Update -fabi-version=6
- information.
-
-2012-01-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check if linker
- supports R_386_TLS_GD_PLT reloc.
- (gcc_cv_as_ix86_tlsldmplt): Check if linker
- supports R_386_TLS_LDM_PLT reloc.
- * configure: Regenerate.
- * config.in: Regenerate.
-
-2012-01-10 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49868
- Extend __pgmx semantics to linearize memory.
- * config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to
- determine if code comes inline or from libgcc.
- (MOVMEM_r_d:HI): Add "w" to constraint for better preference.
- (movmem_qi, movmem_qi): Set constraint #2 to "n".
- (movmem_qi_elpm, movmem_hi_elpm): Remove insns.
- (movmemx_qi, movmemx_hi): New insns.
- (xload_<mode>_libgcc): Rewrite to new insn condition.
- (xload_<mode>): Remove insns.
- * config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle
- cases that don't satisfy avr_xload_libgcc_p().
- (avr_addr_space_convert): Allow converting in any direction.
- (avr_addr_space_subset_p): Return always true.
- (avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics.
- (avr_emit_movmemhi): Ditto.
- (avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more.
- (avr_out_movmem): Ditto.
- (AVR_SYMBOL_FLAG_PROGMEM): New macro.
- (AVR_SYMBOL_SET_ADDR_SPACE): New macro.
- (AVR_SYMBOL_GET_ADDR_SPACE): New macro.
- (avr_encode_section_info): Encode 'progmem' in symbol flags.
- (output_reload_in_const): Don't zero-extend any 24-bit symbols.
-
-2012-01-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50913
- * graphite-scop-detection.c (stmt_has_simple_data_refs_p):
- Require data-refs to be representable by Graphite with respect
- to any loop nest.
-
-2012-01-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/constraints.md ("L"): Return true for 0xffffffff.
- * config/i386/i386.c (*anddi_1): Emit AND with 0xffffffff as MOV.
-
-2012-01-10 Tom de Vries <tom@codesourcery.com>
-
- PR rtl-optimization/51271
- * dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when
- handling annulled branch.
-
-2012-01-10 Richard Henderson <rth@redhat.com>
-
- * config/arm/arm.c (arm_vectorize_vec_perm_const_ok,
- TARGET_VECTORIZE_VEC_PERM_CONST_OK, neon_split_vcombine, MAX_VECT_LEN,
- struct expand_vec_perm_d, arm_expand_vec_perm_1, arm_expand_vec_perm,
- arm_evpc_neon_vuzp, arm_evpc_neon_vzip, arm_evpc_neon_vrev,
- arm_evpc_neon_vtrn, arm_evpc_neon_vtbl, arm_expand_vec_perm_const_1,
- arm_expand_vec_perm_const): New.
- * config/arm/arm-protos.h: Update.
- * config/arm/neon.md (UNSPEC_VCONCAT): New.
- (*neon_vswp<VDQX>): New.
- (neon_vcombine<VDX>): Use neon_split_vcombine.
- (neon_vtbl1v16qi, neon_vtbl2v16qi, neon_vcombinev16qi): New.
- * config/arm/vec-common.md (vec_perm_const<VALL>): New.
- (vec_perm<VE>): New.
-
-2012-01-10 Richard Henderson <rth@redhat.com>
-
- * config/arm/arm.c (arm_gen_compare_reg): Add scratch argument;
- use it if reload_completed.
- (arm_legitimize_sync_memory, arm_emit, arm_insn_count, arm_count,
- arm_output_asm_insn, arm_process_output_memory_barrier,
- arm_output_memory_barrier, arm_ldrex_suffix, arm_output_ldrex,
- arm_output_strex, arm_output_it, arm_output_op2, arm_output_op3,
- arm_output_sync_loop, arm_get_sync_operand, FETCH_SYNC_OPERAND,
- arm_process_output_sync_insn, arm_output_sync_insn,
- arm_sync_loop_insns, arm_call_generator, arm_expand_sync): Remove.
- (arm_pre_atomic_barrier, arm_post_atomic_barrier): New.
- (arm_emit_load_exclusive, arm_emit_store_exclusive): New.
- (emit_unlikely_jump): New.
- (arm_expand_compare_and_swap, arm_split_compare_and_swap): New.
- (arm_split_atomic_op): New.
- * config/arm/arm-protos.h: Update.
- * config/arm/arm.h (enum arm_sync_generator_tag): Remove.
- (struct arm_sync_generator): Remove.
- * config/arm/arm.md (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK,
- VUNSPEC_SYNC_OP, VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): Remove.
- (VUNSPEC_ATOMIC_CAS, VUNSPEC_ATOMIC_XCHG, VUNSPEC_ATOMIC_OP): New.
- (VUNSPEC_LL, VUNSPEC_SC): New.
- (sync_result, sync_memory, sync_required_value, sync_new_value,
- sync_t1, sync_t2, sync_release_barrier, sync_op): Remove.
- (attr length): Don't use arm_sync_loop_insns.
- (cbranch_cc, cstore_cc): Update call to arm_gen_compare_reg.
- (movsfcc, movdfcc): Likewise.
- * config/arm/constraints.md (Ua): New.
- * config/arm/prediates.md (mem_noofs_operand): New.
- (sync_compare_and_swap<QHSD>, sync_lock_test_and_set<QHSD>): Remove.
- (sync_clobber, sync_t2_reqd): Remove.
- (sync_<syncop><QHSD>, sync_nand<QHSD>): Remove.
- (sync_new_<syncop><QHSD>, sync_new_nand<QHSD>): Remove.
- (sync_old_<syncop><QHSD>, sync_old_nand<QHSD>): Remove.
- (arm_sync_compare_and_swap<SIDI>): Remove.
- (arm_sync_compare_and_swap<NARROW>): Remove.
- (arm_sync_lock_test_and_set<SIDI>): Remove.
- (arm_sync_lock_test_and_set<NARROW>): Remove.
- (arm_sync_new_<syncop><SIDI>): Remove.
- (arm_sync_new_<syncop><NARROW>): Remove.
- (arm_sync_new_nand<SIDI>): Remove.
- (arm_sync_new_nand<NARROW>): Remove.
- (arm_sync_old_<syncop><SIDI>): Remove.
- (arm_sync_old_<syncop><NARROW>): Remove.
- (arm_sync_old_nand<SIDI>): Remove.
- (arm_sync_old_nand<NARROW>): Remove.
- (*memory_barrier): Merge arm_output_memory_barrier.
- (atomic_compare_and_swap<QHSD>): New.
- (atomic_compare_and_swap<NARROW>_1): New.
- (atomic_compare_and_swap<SIDI>_1): New.
- (atomic_exchange<QHSD>): New.
- (cas_cmp_operand, cas_cmp_str): New.
- (atomic_op_operand, atomic_op_str): New.
- (atomic_<syncop><QHSD>, atomic_nand<QHSD>): New.
- (atomic_fetch_<syncop><QHSD>, atomic_fetch_nand<QHSD>): New.
- (atomic_<syncop>_fetch<QHSD>, atomic_nand_fetch<QHSD>): New.
- (arm_load_exclusive<NARROW>): New.
- (arm_load_exclusivesi, arm_load_exclusivedi): New.
- (arm_store_exclusive<QHSD>): New.
-
-2012-01-09 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add DF
- reload patterns if -mvsx-scalar-memory.
-
- * config/rs6000/vsx.md (vsx_xscvspdp): Allow xscvspdp to be
- generated, even -mno-vsx-scalar-double was used.
- (vsx_xscvdpsp_scalar): Likewise.
- (vsx_xscvspdp_scalar2): Likewise.
-
-2012-01-09 Tom de Vries <tom@codesourcery.com>
- Andrew Pinski <apinski@cavium.com>
-
- PR debug/51471
- * reorg.c (fill_slots_from_thread): Don't speculate
- frame-related insns.
-
-2012-01-09 Richard Sandiford <rdsandiford@googlemail.com>
-
- * sched-int.h (bb_note): Move to...
- * basic-block.h: ...here.
- * haifa-sched.c (bb_note): Move to...
- * cfgrtl.c: ...here.
- * function.c (next_block_for_reg): New function.
- (move_insn_for_shrink_wrap): Likewise.
- (prepare_shrink_wrap): Rewrite to use the above.
-
-2012-01-09 Aldy Hernandez <aldyh@redhat.com>
-
- * gimple.c (is_gimple_non_addressable): Remove.
- * gimple.h: Remove is_gimple_non_addressable.
- * gimplify.c (gimplify_modify_expr_rhs): Use is_gimple_reg instead of
- is_gimple_non_addressable.
- * trans-mem.c (expand_assign_tm): Same.
-
-2012-01-09 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51775
- * tree-ssa-sccvn.c (visit_use): Value-number throwing stmts.
- * tree-ssa-pre.c (eliminate): Properly fixup EH info.
-
-2012-01-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
- tuning parameters.
- * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
-
-2012-01-09 Richard Guenther <rguenther@suse.de>
-
- * tree-streamer-out.c (write_ts_optimization): Fix spelling.
-
-2012-01-08 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimize/51680
- * ipa-inline-analyss.c (evaluate_properties_for_edge): Fix condition
- on when known_vals needs to be computed; cleanup.
-
-2012-01-08 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimize/51694
- * ipa-cp.c (ipa_get_indirect_edge_target): Add bounds checks.
-
-2012-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/cpp.texi (Predefined Macros): __STRICT_ANSI__ is defined
- for -std=c++98 and -std=c++11 too.
-
-2012-01-08 Chung-Lin Tang <cltang@codesourcery.com>
-
- * cfgloop.c (cancel_loop): Add free() of bbs array.
-
-2012-01-07 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/51600
- * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Disable code
- that benefits small functions.
-
-2012-01-07 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (want_inline_small_function_p): Fix formating.
-
-2012-01-07 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/51680
- * ipa-inline.c (want_inline_small_function_p): Be more lax on functions
- whose inlining reduce unit size.
-
-2012-01-07 Alexandre Oliva <aoliva@redhat.com>
-
- PR bootstrap/51725
- * cselib.c (new_elt_loc_list): Promote addr_list to canonical node.
- Add canonical node to containing_mem chain after the non-canonical
- one, even if there weren't any locs to propagate.
- (remove_useless_values): Keep only canonical values.
- (add_mem_for_addr, cselib_lookup_mem): Canonicalize addr.
- (cselib_invalidate_mem): Likewise. Ensure v is canonical, and
- canonicalize mem_chain elements that are not discarded.
-
-2012-01-06 Jakub Jelinek <jakub@redhat.com>
-
- PR target/47333
- * cgraphunit.c (cgraph_optimize): Call output_weakrefs
- before emitting functions.
-
- PR gcov-profile/50127
- * bb-reorder.c (partition_hot_cold_basic_blocks): Call
- clear_aux_for_blocks.
-
-2012-01-06 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/51746
- * cselib.c (cselib_hash_rtx): Hash incoming VALUEs too.
-
-2012-01-06 Arnaud Charlet <charlet@adacore.com>
-
- * c-decl.c (ext_block): Moved up.
- (collect_all_refs, for_each_global_decl): Take ext_block into account.
-
-2012-01-06 Han Shen <shenhan@google.com>
-
- Translate built-in include paths for sysroot.
- * Makefile.in (gcc_gxx_include_dir_add_sysroot): New.
- (PREPROCESSOR_DEFINES): Define GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT.
-
- * cppdefault.c (cpp_include_defaults): Replace hard coded "0" with
- GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT for "add_sysroot" field.
-
- * configure.ac (AC_SUBST): Add gcc_gxx_include_dir_add_sysroot to
- control whether sysroot should be prepended to gxx include dir.
-
- * configure: Regenerate.
-
-2012-01-06 Torvald Riegel <triegel@redhat.com>
-
- PR rtl-optimization/51771
- * builtin-attrs.def (ATTR_RETURNS_TWICE, ATTR_TM_NOTHROW_RT_LIST): New.
- * gtm-builtins.def (BUILT_IN_TM_START): Add returns-twice attrib.
-
-2012-01-05 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/51315
- * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
- (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
-
-2012-01-05 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/51681
- * config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands
- for shrp pattern. Correctly handle and fixup shift variable.
- Return false when shift > nelt for BYTES_BIG_ENDIAN target.
-
-2012-01-05 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/51762
- * calls.c (emit_call_1): For noreturn calls force a REG_ARGS_SIZE
- note when !ACCUMULATE_OUTGOING_ARGS.
-
-2012-01-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-vrp.c (extract_range_from_binary_expr_1): Remove duplicated
- condition.
- (extract_range_from_unary_expr_1): Avoid useless computations.
-
-2012-01-05 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/51767
- * cfgrtl.c (force_nonfallthru_and_redirect): Force addition
- of jump_block and add an extra edge for degenerated asm gotos.
-
- PR middle-end/51768
- * stmt.c (check_unique_operand_names): Don't ICE during error
- reporting if i is from labels chain.
-
- PR middle-end/44777
- * profile.c (branch_prob): Split bbs that have exit edge
- and need a fake entry edge too.
-
-2012-01-05 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/49710
- * cfgloopmanip.c (remove_path): Walk loop hiearchy upwards when
- unlooping loops.
-
-2012-01-05 Richard Guenther <rguenther@suse.de>
-
- PR lto/50490
- * tree-streamer-out.c (write_ts_optimization): New function.
- (streamer_write_tree_body): Call it.
- * tree-streamer-in.c (lto_input_ts_optimization): New function.
- (streamer_read_tree_body): Call it.
- * lto-streamer-out.c (lto_is_streamable): Handle OPTIMIZATION_NODE.
-
-2012-01-05 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/51761
- * gimple.h (struct gimplify_ctx): Add in_cleanup_point_expr field.
- * gimplify.c (gimplify_cleanup_point_expr): Save and set
- in_cleanup_point_expr before gimplify_stmt call and restore it
- afterwards.
- (gimplify_target_expr): Don't add {CLOBBER} cleanup if
- in_cleanup_point_expr is false.
-
-2012-01-05 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/51764
- * common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move
- to c.opt.
- * toplev.c (process_options): Reject combining mudflap and LTO.
- * tree-nomudflap.c (nogo): Use sorry instead of internal_error.
-
-2012-01-05 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51760
- * tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT,
- not VARYING.
- (bit_value_unop): Handle UNDEFINED operands.
- (bit_value_binop): Likewise.
-
-2012-01-05 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_replace_prefix): Remove.
- (avr_asm_named_section): Use ACONCAT instead of avr_replace_prefix.
- (avr_asm_function_rodata_section): Ditto.
- (avr_asm_select_section): Ditto.
-
-2012-01-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
-
- * reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND
- insertion.
-
-2012-01-05 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/51648
- * tree-cfg.c (need_fake_edge_p): Return true also for noreturn
- calls that have any non-fake successor edges.
-
- PR debug/51746
- * var-tracking.c (add_stores): For COND_EXEC allow oval to be NULL.
-
-2012-01-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/51624
- * tree-sra.c (build_ref_for_model): When replicating a chain of
- COMPONENT_REFs, stop as soon as the offset would become negative.
-
-2012-01-04 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/51695
- * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions
- in .debug_loc on the floor.
-
-2012-01-04 Andrew Pinski <apinski@cavium.com>
-
- * doc/invoke.texi (-march=@var{arch}): Add octeon+ and octeon2.
-
-2012-01-04 Andrew Pinski <apinski@cavium.com>
- Adam Nemet <anemet@caviumnetworks.com>
-
- * config/mips/mips.md (size): Add SI and DI.
- (SIZE): New mode attribute.
- (U): New code attribute.
- * config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_extsi.
- (mips_lbux_<mode>): Delete.
- (mips_l<SHORT:size><u>x_ext<GPR:mode>_<P:mode>): New pattern.
- (mips_lhx): Use gen_mips_lhx_extsi.
- (mips_lhx_<mode>): Delete.
- (mips_lwx): Delete.
- (mips_l<size>x): New expand.
- (mips_lwx_<mode>): Delete.
- (mips_l<GPR:size>x_<P:mode>): New pattern.
- (*mips_lw<u>x_<P:mode>_ext): Likewise.
- * config/mips/mips-ftypes.def: Add DI f(POINTER, SI) function type.
- * config/mips/mips.c (mips_lx_address_p): New function.
- (mips_rtx_costs <case MEM>): Call mips_lx_address_p.
- (dsp64): New availability predicate.
- (mips_builtins): Add an entry for __builtin_mips_ldx.
- * config/mips/mips.h (ISA_HAS_LBX): New define.
- (ISA_HAS_LBUX): Likewise.
- (ISA_HAS_LHX): Likewise.
- (ISA_HAS_LHUX): Likewise.
- (ISA_HAS_LWX): Likewise.
- (ISA_HAS_LWUX): Likewise.
- (ISA_HAS_LDX): Likewise.
- * doc/extend.texi (__builtin_mips_ldx): Document.
-
-2012-01-04 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/xm-vms.h (HOST_LONG_FORMAT, HOST_PTR_PRINTF): Define
- when long pointers are used.
- * config.build (*-*-*vms*): Handle all OpenVMS targets.
- (alpha64-dec-*vms*, alpha*-dec-*vms*)
- (ia64-hp-*vms*): Remove.
- * config/vms/xm-vms64.h: Delete.
-
-2012-01-04 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/51472
- * trans-mem.c (expand_assign_tm): Handle TM_MEMMOVE loads correctly.
-
-2012-01-04 Aldy Hernandez <aldyh@redhat.com>
-
- * opts.c (finish_options): Remove duplicate sorry.
-
-2012-01-04 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/51696
- * trans-mem.c (diagnose_tm_1): Display indirect calls with no name
- correctly.
-
-2012-01-04 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/51750
- * tree.c (size_low_cst): New function.
- * tree.h (size_low_cst): Declare.
- * fold-const.c (fold_comparison): Use it to extract the low
- part of the POINTER_PLUS_EXPR offset.
-
-2012-01-04 Georg-Johann Lay <avr@gjlay.de>
-
- Fix clearing ZERO_REG
- * config/avr/avr.md (cc): Add alternative "ldi".
- (movqi_insn): Use it in cc attribute.
- * config/avr/avr.c (notice_update_cc): Handle CC_LDI.
- (output_reload_in_const): Use CLR to move 0 to ZERO_REG.
- (output_reload_insisf): Use ZERO_REG to pre-clear register.
-
-2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * configure: Regenerate.
-
-2012-01-04 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49651
- * tree-ssa-structalias.c (type_can_have_subvars): New function.
- (var_can_have_subvars): Use it.
- (get_constraint_for_1): Only consider subfields if there can be any.
-
-2012-01-03 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/51725
- * cselib.c (new_elt_loc_list): When moving locs from one cselib_val
- to its new canonical_cselib_val and the cselib_val was in
- first_containing_mem chain, but the canonical_cselib_val was not,
- add the latter into the chain.
- (cselib_invalidate_mem): Compare canonical_cselib_val of
- addr_list chain elt with v.
-
- PR pch/51722
- * dwarf2out.c (dwarf2out_start_source_file, dwarf2out_define,
- dwarf2out_undef): Allocate e.info using ggc_strdup instead
- of xstrdup.
- (output_macinfo_op): Don't ggc_strdup fd->filename.
- (optimize_macinfo_range): Allocate grp_name using XALLOCAVEC,
- then ggc_strdup it. Don't free inc->info or cur->info.
- (output_macinfo): Don't free ref->info or file->info.
-
-2012-01-03 Ira Rosen <irar@il.ibm.com>
-
- PR tree-optimization/51269
- * tree-vect-loop-manip.c (set_prologue_iterations): Make
- first_niters a pointer.
- (slpeel_tree_peel_loop_to_edge): Likewise.
- (vect_do_peeling_for_loop_bound): Update call to
- slpeel_tree_peel_loop_to_edge.
- (vect_gen_niters_for_prolog_loop): Don't compute wide_prolog_niters
- here. Remove it from the parameters list.
- (vect_do_peeling_for_alignment): Update calls and compute
- wide_prolog_niters.
-
-2012-01-03 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51070
- * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
- Properly handle calls.
-
-2012-01-03 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51692
- * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not remove
- the LHS of allocation stmts.
-
-2012-01-03 Olivier Hainque <hainque@adacore.com>
-
- * system.h: Prior to #define, #undef fopen and freopen unconditionally.
-
-2012-01-03 Olivier Hainque <hainque@adacore.com>
-
- * collect2.c (main): In AIX specific computations for vector
- insertions, use CONST_CAST2 to cast from char ** to const char **.
-
-2012-01-03 Richard Guenther <rguenther@suse.de>
-
- PR debug/51650
- * dwarf2out.c (dwarf2out_finish): Always create a DIE for
- the context of a limbo DIE when it does not already exist.
-
-2012-01-03 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51719
- * value-prof.c (gimple_ic): When indirect call isn't noreturn,
- but direct call is, clear direct call's lhs and don't add fallthrough
- edge from dcall_bb to join_bb and PHIs.
-
-2012-01-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.md ("*cmp<mode>_ccs"): Fix comment mentioning
- the instructions emitted by the pattern.
- ("*TDC_insn_<mode>"): Add comment.
-
-2012-01-03 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/51730
- * fold-const.c (fold_comparison): Properly canonicalize
- tree offset and HOST_WIDE_INT bit position.
-
-2012-01-02 Uros Bizjak <ubizjak@gmail.com>
-
- * config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct
- operands for extzv pattern.
-
-2012-01-02 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/51725
- * cselib.c (add_mem_for_addr): Call canonical_cselib_val
- on mem_elt first.
-
-2012-01-02 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (-flto and related options): Copy-edit.
-
-2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
-
-2012-01-02 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4):
- New patterns.
-
-2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * expr.h (move_by_pieces_ninsns): Declare.
- * expr.c (move_by_pieces_ninsns): Make external.
- * config/mips/mips-protos.h (mips_move_by_pieces_p): Declare.
- (mips_store_by_pieces_p): Likewise.
- * config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p.
- (STORE_BY_PIECES_P): Likewise mips_store_by_pieces_p.
- * config/mips/mips.c (mips_move_by_pieces_p): New function.
- (mips_store_by_pieces_p): Likewise.
-
-2012-01-02 Jakub Jelinek <jakub@redhat.com>
-
- * passes.c (register_one_dump_file): Free full_name.
-
- * reload1.c (reload): Don't allocate reg_max_ref_width here.
- (calculate_elim_costs_all_insns): Free offsets_at and
- offsets_known_at at the end and clear the pointers.
-
-2012-01-02 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.opt (-mbranch-cost): Fix double definition of
- this option introduced in r180739.
-
-2012-01-02 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/51345
- * config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
- (tmake_file target=avr): Add avr/t-multilib.
-
- * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
- to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__.
- * config/avr/genmultilib.awk: New file.
- * config/avr/t-multilib: New auto-generated file.
- * config/avr/multilib.h: New auto-generated file.
- * config/avr/t-avr (AVR_MCUS): New variable.
- (genopt.sh): Use it.
- (s-mlib): Depend on t-multilib.
- (t-multilib, multilib.h): New dependencies.
- (s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS.
- (MULTILIB_OPTIONS): Remove.
- (MULTILIB_MATCHES): Remove.
- (MULTILIB_DIRNAMES): Remove.
- (MULTILIB_EXCEPTIONS): Remove:
- * config/avr/genopt.sh: Don't use hard coded file name;
- pass AVR_MCUS from t-avr instead.
-
-2012-01-02 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
-
-2012-01-02 Georg-Johann Lay <avr@gjlay.de>
-
- Implement light-weight DImode support.
- * config/avr/avr-dimode.md: New file.
- * config/avr/avr.md: Include it.
- (adjust_len): Add plus64, compare64.
- (HIDI): Remove code iterator.
- (code_stdname): New code attribute.
- (rotx, rotsmode): Remove DI.
- (rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
- as code iterator.
- * config/avr/avr-protos.h (avr_have_dimode): New.
- (avr_out_plus64, avr_out_compare64): New.
- * config/avr/avr.c (avr_out_compare): Handle DImode.
- (avr_have_dimode): New variable definition and initialization.
- (avr_out_compare64, avr_out_plus64): New functions.
- (avr_out_plus_1): Use simplify_unary_operation to negate xval.
- (adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
- (avr_compare_pattern): Skip DImode comparisons.
-
-2012-01-02 Revital Eres <revital.eres@linaro.org>
-
- * ddg.c (def_has_ccmode_p): New function.
- (add_cross_iteration_register_deps,
- create_ddg_dep_from_intra_loop_link): Call it.
-
-2012-01-02 Richard Guenther <rguenther@suse.de>
-
- PR other/51679
- * invoke.texi (fassociative-math): Remove spurious paranthesis.
-
-2012-01-01 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.c (process_command): Update copyright notice dates.
- * gcov.c (print_version): Likewise.
- * gcov-dump.c (print_version): Likewise.
- * mips-tfile.c (main): Likewise.
- * mips-tdump.c (main): Likewise.
-
-2012-01-01 Ira Rosen <irar@il.ibm.com>
-
- PR tree-optimization/51704
- * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that
- a use is inside the basic block or loop before accessing its vect info.
-
-2012-01-01 Jan Hubicka <jhjh@suse.cz>
-
- PR rtl-optimization/51069
- * cfgloopmanip.c (remove_path): Removing path making irreducible
- region unconditional makes BB part of the region.
-
-2012-01-01 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51683
- * tree-ssa-propagate.c (substitute_and_fold): Don't optimize away
- calls with side-effects.
- * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2013 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/ChangeLog-2012 b/gcc/ChangeLog-2012
new file mode 100644
index 00000000000..ee4c57444c3
--- /dev/null
+++ b/gcc/ChangeLog-2012
@@ -0,0 +1,35421 @@
+2012-12-27 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_deligitimze_address): Do not
+ delegitimize TLS addresses on AIX.
+ (rs6000_legitimize_tls_address_aix): Append TLS symbol qualifier.
+ Set SYMBOL_FLAG_LOCAL on module symbol.
+ (output_toc): Do not append TLS symbol qualifier here.
+ * config/rs6000/rs6000.md (tls_get_addr_internal): Add GPR 4 to
+ clobbers.
+
+2012-12-27 Andreas Schwab <schwab@linux-m68k.org>
+
+ * target.def (supports_function_versions): Fix typo.
+
+2012-12-26 Sriraman Tallam <tmsriram@google.com>
+
+ * doc/tm.texi.in (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Document
+ new target hook.
+ * doc/tm.texi: Regenerate.
+ * c-family/c-common.c (handle_target_attribute): Retain target attribute
+ for targets that support versioning.
+ * target.def (supports_function_versions): New hook.
+ * cp/class.c (add_method): Remove calls
+ to DECL_FUNCTION_SPECIFIC_TARGET.
+ * config/i386/i386.c (ix86_function_versions): Use target string
+ to check for function versions instead of target flags.
+ * (ix86_supports_function_versions): New function.
+ * (is_function_default_version): Check target string.
+ * TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS: New macro.
+
+2012-12-27 Steven Bosscher <steven@gcc.gnu.org>
+
+ * cgraph.c (verify_cgraph_node): Don't allocate/free visited_nodes set.
+
+2012-12-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/53789
+ * config/pa/pa.md (movsi): Reject expansion of TLS symbol references
+ after reload starts.
+
+2012-12-22 Jan Hubicka <jh@suse.cz>
+
+ PR lto/54728
+ * cgraph.h (symtab_real_symbol_p): Drop code looking for external functions.
+ * lto-streamer-out.c (output_symbol_p): New function.
+ (produce_symtab) Use it.
+
+2012-12-21 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/55355
+ * tree-sra.c (type_internals_preclude_sra_p): Also check that
+ bit_position is small enough to fit a single HOST_WIDE_INT.
+
+2012-12-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * rtlanal.c (volatile_insn_p): Delete commented out code.
+ (side_effects_p): Likewise.
+ (may_trap_p_1) <UNSPEC_VOLATILE>: Return 1 again.
+ * target.def (unspec_may_trap_p): Adjust comment.
+ * targhooks.c (default_unspec_may_trap_p): Don't handle UNSPEC_VOLATILE.
+ * config/ia64/ia64.c (ia64_unspec_may_trap_p): Adjust to above change.
+
+2012-12-21 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/55775
+ * lra-assigns.c (improve_inheritance): Do nothing after
+ LRA_MAX_INHERITANCE_PASSES pass.
+ * lra-constraints.c (MAX_CONSTRAINT_ITERATION_NUMBER): Rename to
+ LRA_MAX_CONSTRAINT_ITERATION_NUMBER. Move to lra-int.h.
+ (MAX_INHERITANCE_PASSES): Rename to LRA_MAX_INHERITANCE_PASSES.
+ Move to lra-int.h.
+ * lra-int.h (LRA_MAX_CONSTRAINT_ITERATION_NUMBER): Move from
+ lra-constraints.c.
+ (LRA_MAX_INHERITANCE_PASSES): Ditto.
+
+2012-12-21 Steve Ellcey <sellcey@mips.com>
+
+ PR bootstrap/54128
+ * ira.c (build_insn_chain): Check only NONDEBUG instructions for
+ register usage.
+
+2012-12-21 David Edelsohn <dje.gcc@gmail.com>
+
+ * varasm.c (bss_initializer_p): Remove static.
+ * output.h (bss_initializer_p): Declare.
+ * xcoffout.c (xcoff_tbss_section_name): Define.
+ * xcoffout.h (xcoff_tbss_section_name): Declare.
+ * config/rs6000/xcoff.h (TARGET_ENCODE_SECTION_INFO): Define.
+ (ASM_OUTPUT_TLS_COMMON): Merge strings.
+ * config/rs6000/rs6000.c (tls_private_data_section): New.
+ (output_toc): Only output CSECT decoration for TLS.
+ Output appropriate CSECT for data or bss.
+ (rs6000_xcoff_asm_init_sections) Define tls_private_data_section.
+ (rs6000_xcoff_select_section): Handle TLS bss and private data.
+ (rs6000_xcoff_file_start): Generate xcoff_tbss_section_name.
+ (rs6000_xcoff_encode_section_info): Strip SYMBOL_FLAG_HAS_BLOCK_INFO
+ from native TLS symbols.
+
+2012-12-21 Richard Biener <rguenther@suse.de>
+
+ PR rtl-optimization/52996
+ * cprop.c (bypass_block): When loops are to be preserved
+ do not bypass loop headers. Revert earlier kludge to remove
+ loops when doing that.
+
+2012-12-21 Richard Biener <rguenther@suse.de>
+
+ PR bootstrap/54659
+ * system.h: Include gmp.h.
+ * tree-ssa-loop-niter.c: Do not include gmp.h here.
+ * double-int.h: Likewise.
+ * realmpfr.h: Likewise.
+
+2012-12-21 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * config/arm/cortex-a7.md: New file.
+ * config/arm/t-arm (MD_INCLUDES): Add cortex-a7.md.
+ * config/arm/arm.md: Include cortex-a7.md.
+ (generic_sched): Don't use generic scheduler for Cortex-A7.
+ (generic_vfp): Likewise.
+ * config/arm/arm.c: (TARGET_SCHED_REORDER): Use arm_sched_reorder.
+ (arm_sched_reorder,cortexa7_sched_reorder): New function.
+ (cortexa7_older_only,cortexa7_younger): Likewise.
+ (arm_issue_rate): Add Cortex-A7.
+
+2012-12-20 Ian Bolton <ian.bolton@arm.com>
+
+ * gcc/config/aarch64/aarch64.md
+ (*addsi3_aarch64_uxtw): New pattern.
+ (*addsi3_compare0_uxtw): New pattern.
+ (*add_<shift>_si_uxtw): New pattern.
+ (*add_<optab><SHORT:mode>_si_uxtw): New pattern.
+ (*add_<optab><SHORT:mode>_shft_si_uxtw): New pattern.
+ (*add_<optab><SHORT:mode>_mult_si_uxtw): New pattern.
+ (*add_<optab>si_multp2_uxtw): New pattern.
+ (*addsi3_carryin_uxtw): New pattern.
+ (*addsi3_carryin_alt1_uxtw): New pattern.
+ (*addsi3_carryin_alt2_uxtw): New pattern.
+ (*addsi3_carryin_alt3_uxtw): New pattern.
+ (*add_uxtsi_multp2_uxtw): New pattern.
+ (*subsi3_uxtw): New pattern.
+ (*subsi3_compare0_uxtw): New pattern.
+ (*sub_<shift>_si_uxtw): New pattern.
+ (*sub_mul_imm_si_uxtw): New pattern.
+ (*sub_<optab><SHORT:mode>_si_uxtw): New pattern.
+ (*sub_<optab><SHORT:mode>_shft_si_uxtw): New pattern.
+ (*sub_<optab>si_multp2_uxtw): New pattern.
+ (*sub_uxtsi_multp2_uxtw): New pattern.
+ (*negsi2_uxtw): New pattern.
+ (*negsi2_compare0_uxtw): New pattern.
+ (*neg_<shift>_si2_uxtw): New pattern.
+ (*neg_mul_imm_si2_uxtw): New pattern.
+ (*mulsi3_uxtw): New pattern.
+ (*maddsi_uxtw): New pattern.
+ (*msubsi_uxtw): New pattern.
+ (*mulsi_neg_uxtw): New pattern.
+ (*<su_optab>divsi3_uxtw): New pattern.
+
+2012-12-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/55750
+ * gimplify.c (gimplify_self_mod_expr): Don't force lvalue to
+ pass is_gimple_min_lval.
+
+2012-12-20 Richard Henderson <rth@redhat.com>
+ Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/constraints.md (NxxDq, NxxSq): New.
+ * config/s390/predicates.md (contiguous_bitmask_operand): New.
+ * config/s390/s390.c (print_operand) ['e', 'f', 's', 't']: New
+ operand letters.
+ * config/s390/s390.md (bfstart, bfend): New mode attrs.
+ (*insv<GPR>_zEC12_noshift): Use them.
+ (*insv<GPR>_z10_noshift): Likewise.
+ (*insv<GPR>_or_z10_noshift): Likewise.
+
+ * config/s390/s390.md (*insv_l_di_reg_extimm): Un-macroize from :P.
+
+ * config/s390/s390.md (*anddi3_cc): Add risbg alternative.
+ (*anddi3_cconly, *anddi3): Likewise.
+ (*andsi3, *andsi3_cconly, *andsi3_zarch): Likewise.
+
+ * config/s390/s390.md (bitsize): New mode attr.
+ (*extzv<GPR>, *extzv<GPR>, *insv<GPR>_zEC12, *insv<GPR>_z10): Use it.
+ (extend<HQI><DSI>2, zero_extend<HQI>si2): Likewise.
+ (zero_extend<HQI>di2, fixuns_trunc<BFP><GPR>2): Likewise.
+
+ * config/s390/predicates.md (nonzero_shift_count_operand): New.
+ * config/s390/s390-protos.h (s390_extzv_shift_ok): Declare.
+ * config/s390/s390.c (s390_extzv_shift_ok): New function.
+ * config/s390/s390.md (extzv): New expander.
+ (*extzv<GPR>_zEC12, *extzv<GPR>_z10): New insns.
+ (*pre_z10_extzv<GPR>): Rename from *extzv<GPR>; simplify with
+ nonzero_shift_count_operand.
+ (*extzv_<GPR>_srl, *extzv_<GPR>_sll): New insns.
+
+ * config/s390/s390.md (IXOR): New code iterator.
+ (*r<IXOR>sbg_<GPR>_noshift): Rename from *insv<GPR>_or_z10_noshift;
+ macro-ize to handle XOR too.
+ (*r<IXOR>sbg_di_rotl, *r<IXOR>sbg_<GPR>_srl, *r<IXOR>sbg_<GPR>_sll):
+ New patterns.
+
+ * config/s390/s390.md (*insv_rnsbg_noshift, *insv_rnsbg_srl): New.
+
+2012-12-20 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR bootstrap/55202
+ * configure.ac <PLUGIN_LD_SUFFIX>: Use POSIX shell syntax.
+ * configure: Regenerate.
+
+2012-12-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR target/55754
+ * config/arm/arm.c (arm_canonicalize_comparison): Remove
+ op0_preserve_value check for zero_extend to and transformation.
+
+2012-12-20 Teresa Johnson <tejohnson@google.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR gcov-profile/55734
+ * gcov-io.c (gcov_read_summary): Use __builtin_popcount instead
+ of __builtin_popcountll when building libgcov.a, otherwise use
+ popcount_hwi.
+ (gcov_histo_index): When not building libgcov.a, use floor_log2
+ instead of __builtin_clzll.
+
+2012-12-20 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/55740
+ * cfghooks.c (merge_blocks): Properly handle merging of
+ two loop headers.
+
+2012-12-20 Roland Stigge <stigge@debian.org>
+ Matthias Klose <doko@ubuntu.com>
+
+ * config/rs6000/t-spe (MULTIARCH_DIRNAME): Remove.
+ * config/rs6000/t-linux (MULTIARCH_DIRNAME): Define name for
+ powerpc-linux-gnuspe.
+
+2012-12-19 Matthias Klose <doko@ubuntu.com>
+
+ * config/i386/t-kfreebsd (MULTIARCH_DIRNAME): Add comma to
+ separate arguments in make function.
+
+2012-12-19 Uros Bizjak <ubizjak@gmail.com>
+ Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * config/i386/i386.h (enum ix86_tune_indices): Add
+ X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE.
+ (TARGET_AVOID_MEM_OPND_FOR_CMOVE): New define.
+ * config/i386/i386.c (initial_ix86_tune_features)
+ <X86TUNE_AVOID_MEM_OPND_FOR_CMOVE>: Initialize.
+ * config/i386/i386.md (splitters to avoid cmove memory operands): New.
+ (peephole2s to avoid cmove memory operands): New.
+
+2012-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.md (f_minmaxs, f_minmaxd): New types.
+ * config/arm/vfp.md (smax<mode>3): New pattern.
+ (smin<mode>3): Likewise.
+
+2012-12-19 Richard Biener <rguenther@suse.de>
+
+ * targhooks.h (default_canonicalize_comparison): Fix prototype.
+ * targhooks.c (default_canonicalize_comparison): Define.
+
+2012-12-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55736
+ PR tree-optimization/55703
+ * gimplify.c (prune_expr_location): New function.
+ (unshare_expr_without_location): Likewise.
+ * tree.h (unshare_expr_without_location): Declare.
+ * ipa-prop.c (prune_expression_for_jf): Remove.
+ (prune_expression_for_jf_1): Likewise.
+ (ipa_set_jf_constant): Use unshare_expr_without_location.
+ (ipa_set_jf_arith_pass_through): Likewise.
+ (determine_known_aggregate_parts): Likewise.
+ * tree-switch-conversion.c (build_constructors): Use
+ unshare_expr_without_location on all constructor elements.
+
+2012-12-19 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * target.def: Define canonicalize_comparison hook.
+ * targhooks.h (default_canonicalize_comparison): New prototype.
+ * targhooks.c (default_canonicalize_comparison): New function.
+ * doc/tm.texi: Add documentation for the new target hook.
+ * doc/tm.texi.in: Likewise.
+ * combine.c (try_combine): Adjust to use the target hook.
+ * config/alpha/alpha.h (CANONICALIZE_COMPARISON): Remove macro
+ definition.
+ * config/alpha/alpha.c (alpha_canonicalize_comparison): New function.
+ (TARGET_CANONICALIZE_COMPARISON): New macro definition.
+ * config/arm/arm-protos.h (arm_canonicalize_comparison): Remove
+ prototype.
+ * config/arm/arm.c (arm_canonicalize_comparison): Add new parameter.
+ (TARGET_CANONICALIZE_COMPARISON): New macro definition.
+ * config/arm/arm.h (CANONICALIZE_COMPARISON): Remove macro definition.
+ * config/s390/s390-protos.h (s390_canonicalize_comparison): Remove
+ prototype.
+ * config/s390/s390.c (s390_canonicalize_comparison): Add new parameter.
+ (TARGET_CANONICALIZE_COMPARISON): New macro definition.
+ * config/s390/s390.h (CANONICALIZE_COMPARISON): Remove macro definition.
+ * config/sh/sh-protos.h (sh_canonicalize_comparison): Remove prototype.
+ * config/sh/sh.c (sh_canonicalize_comparison): Add new prototype. New
+ function overloading the old one.
+ (TARGET_CANONICALIZE_COMPARISON): New macro definition.
+ * config/sh/sh.h (CANONICALIZE_COMPARISON): Remove macro definition.
+ * config/spu/spu.c (spu_canonicalize_comparison): New function.
+ (TARGET_CANONICALIZE_COMPARISON): New macro definition.
+ * config/spu/spu.h (CANONICALIZE_COMPARISON): Remove macro definition.
+
+2012-12-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/55730
+ * dwarf2out.c (mem_loc_descriptor): Ignore CLOBBER.
+ * valtrack.c (gen_lowpart_for_debug): New function.
+ (propagate_for_debug): Temporarily set rtl_hooks.gen_lowpart_no_emit
+ to gen_lowpart_for_debug.
+
+2012-12-18 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/55683
+ * ipa-prop.c (try_make_edge_direct_virtual_call): Look into constants
+ for binfo.
+
+2012-12-19 Terry Guo <terry.guo@arm.com>
+
+ * config/arm/arm.c (thumb_find_work_register): Check argument
+ register number based on current PCS.
+
+2012-12-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/55562
+ * sbitmap.c (bitmap_and, bitmap_xor, bitmap_ior): Return whether
+ dst sbitmap changed even if it doesn't have popcount.
+
+2012-12-18 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64.md (insv_imm<mode>): Add modes
+ for source operands.
+
+2012-12-18 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_simd_attr_length_move):
+ Remove unused variables.
+ (aarch64_split_compare_and_swap): Likewise.
+
+2012-12-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/driver-arm.c (arm_cpu_table): Add Cortex-A7.
+
+2012-12-18 Aldy Hernandez <aldyh@redhat.com>
+
+ PR other/54324
+ * doc/install.texi (Tools/packages necessary for building GCC):
+ Suggest --disable-stage1-checking for older GCC's.
+
+2012-12-18 Aldy Hernandez <aldyh@redhat.com>
+
+ PR other/54324
+ * tree-ssa-coalesce.c (struct ssa_name_var_hash): Remove "union"
+ from template parameter.
+
+2012-12-18 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/54838
+ * cfgloopmanip.c (fix_loop_structure): Re-discover latch
+ edges first and mark loops for removal if no latch edges remain.
+ Properly re-create LOOPS_HAVE_FALLTHRU_PREHEADERS.
+ * loop-init.c (loop_optimizer_finalize): Set
+ LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
+
+2012-12-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55555
+ * tree-ssa-loop-niter.c (idx_infer_loop_bounds): Properly
+ analyze evolution of the index for the loop it is used in.
+ * tree-scalar-evolution.c (instantiate_scev_name): Take
+ inner loop we will be creating a chrec for. Generalize
+ fix for PR40281 and prune invalid SCEVs.
+ (instantiate_scev_poly): Likewise - pass down inner loop
+ we will be creating a chrec for.
+ (instantiate_scev_binary): Take and pass through inner loop.
+ (instantiate_array_ref): Likewise.
+ (instantiate_scev_convert): Likewise.
+ (instantiate_scev_not): Likewise.
+ (instantiate_scev_3): Likewise.
+ (instantiate_scev_2): Likewise.
+ (instantiate_scev_1): Likewise.
+ (instantiate_scev_r): Likewise.
+ (resolve_mixers): Adjust.
+ (instantiate_scev): Likewise.
+
+2012-12-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/55717
+ * rtlhooks-def.h (RTL_HOOKS_GEN_LOWPART_NO_EMIT): Define to
+ gen_lowpart_if_possible.
+ (gen_lowpart_no_emit_general): Remove prototype.
+ * rtlhooks.c (gen_lowpart_no_emit_general): Removed.
+ * simplify-rtx.c (simplify_unary_operation_1,
+ simplify_binary_operation_1): Continue simplifying if
+ rtl_hooks.gen_lowpart_no_emit returns NULL_RTX.
+ * dwarf2out.c (mem_loc_descriptor) <case TRUNCATE>: Handle
+ truncation like lowpart SUBREG.
+
+2012-12-17 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/contrib.texi (Contributors): Update Kaveh Ghazi's entry;
+ remove broken link to Rutgers University.
+
+2012-12-17 Jan-Benedict Glaw <jbglaw@lug-owl.de>
+
+ * varasm.c (pending_assemble_externals_processed): Guard
+ with ASM_OUTPUT_EXTERNAL.
+
+2012-12-17 Andrew Stubbs <ams@codesourcery.com>
+ Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * config/arm/arm.md (zero_extend<mode>di2): Add extra alternatives
+ for NEON registers.
+ Add alternative for one-instruction extend-in-place.
+ (extend<mode>di2): Likewise.
+ Add constraints for Thumb-mode memory loads.
+ Prevent extend splitters doing NEON alternatives.
+ * config/arm/iterators.md (qhs_extenddi_cstr, qhs_zextenddi_cstr):
+ Adjust constraints to add new alternatives.
+ * config/arm/neon.md: Add splitters for zero- and sign-extend.
+
+2012-12-17 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * config/arm/arm.md (type): Add "simple_alu_shift" to attribute "type".
+ (core_cycles): Update for simple_alu_shift.
+ (thumb1_zero_extendhisi2,arm_zero_extendhisi2_v6): Use simple_alu_shift
+ instead of a CPU-speicific condition for "type" attribute.
+ (thumb1_zero_extendqisi2_v6,arm_zero_extendqisi2_v6): Likewise.
+ (thumb1_extendhisi2,arm_extendhisi2_v6,arm_extendqisi_v6): Likewise.
+ (thumb1_extendqisi2): Likewise.
+ * config/arm/thumb2.md (thumb2_extendqisi_v6): Likewise.
+ (thumb2_zero_extendhisi2_v6,thumb2_zero_extendqisi2_v6) Likewise.
+ * config/arm/arm1020e.md (alu_shift_op): Use simple_alu_shift.
+ * config/arm/arm1026ejs.md (alu_shift_op): Likewise.
+ * config/arm/arm1136jfs.md (11_alu_shift_op): Likewise.
+ * config/arm/arm926ejs.md (9_alu_op): Likewise.
+ * config/arm/cortex-a15.md (cortex_a15_alu_shift): Likewise.
+ * config/arm/cortex-a5.md (cortex_a5_alu_shift): Likewise.
+ * config/arm/cortex-a8.md (cortex_a8_alu_shift,cortex_a8_mov): Likewise.
+ * config/arm/cortex-a9.md (cortex_a9_dp,cortex_a9_dp_shift): Likewise.
+ * config/arm/cortex-m4.md (cortex_m4_alu): Likewise.
+ * config/arm/cortex-r4.md (cortex_r4_alu_shift): Likewise.
+ * config/arm/fa526.md (526_alu_shift_op): Likewise.
+ * config/arm/fa606te.md (fa606te_core): Likewise.
+ * config/arm/fa626te.md (626te_alu_shift_op): Likewise.
+ * config/arm/fa726te.md (726te_alu_shift_op): Likewise.
+ * config/arm/fmp626.md (mp626_alu_shift_op): Likewise.
+
+2012-12-17 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/54781
+ * alias.c (ao_ref_from_mem): More appropriately constrain the
+ base object we feed to the tree oracle. Remove dead code.
+
+2012-12-17 James Greenhalgh <james.greenhalgh@arm.com>
+ Tejas Belagod <tejas.belagod@arm.com>
+
+ * config/aarch64/aarch64.c
+ (aarch64_autovectorize_vector_sizes): New.
+ (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
+
+2012-12-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/55709
+ Forward port from 4.7 branch:
+ 2012-04-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/52894
+ * varasm.c (process_pending_assemble_externals): Set
+ pending_assemble_externals_processed true.
+ (assemble_external): Call assemble_external_real if the pending
+ assemble externals have been processed.
+
+2012-12-16 Eric Botcazou <ebotcazou@adacore.com>
+ Tomash Brechko <tomash.brechko@gmail.com>
+
+ PR target/55673
+ * config/sparc/sparc.c (sparc_emit_membar_for_model): Fix reversed
+ handling of before and after cases.
+ * config/sparc/sync.md (atomic_store): Fix pasto.
+
+2012-12-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/55630
+ * expr.c (expand_assignment): Do not call copy_blkmode_to_reg to move
+ BLKmode return values to the return register.
+
+2012-12-15 Alexandre Oliva <aoliva@redhat.com>
+
+ PR libmudflap/53952
+ * expr.c (mem_ref_refers_to_non_mem_p): Factor out
+ implementation into...
+ (addr_expr_of_non_mem_decl_p_1): ... this new function.
+ (addr_expr_of_non_mem_decl_p): New.
+ * tree.h (addr_expr_of_non_mem_decl_p): Declare.
+ * tree-mudflap.c (mf_xform_derefs_1): Don't change MEM_REFs
+ and TARGET_MEM_REFs that have an ADDR_EXPR of a non-mem DECL
+ as base operand.
+
+2012-12-14 Yvan Roux <yvan.roux@linaro.org>
+
+ * optabs.c (expand_atomic_store): Elide redundant model test.
+
+2012-12-14 Teresa Johnson <tejohnson@google.com>
+
+ PR gcov-profile/55674
+ * lto-cgraph.c (merge_profile_summaries): Set min correctly the
+ first time we merge into a histogram entry.
+
+2012-12-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55684
+ * tree-ssa-loop-ivcanon.c (remove_redundant_iv_tests): Handle
+ gracefully the case where we cannot compute the number of
+ iterations at an exit.
+
+2012-12-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55687
+ * tree-chrec.h (no_evolution_in_loop_p): Properly use
+ tree_contains_chrecs.
+
+2012-12-13 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/55492
+ * optabs.c (expand_atomic_load): Emit acquire barrier after the load.
+
+2012-12-13 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_pad_function_end): Consider barriers
+ when looking for NOTE_INSN_CALL_ARG_LOCATION.
+
+2012-12-13 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/53476
+ * varpool.c (varpool_remove_unreferenced_decls): Revert to 4.7
+ behavior.
+
+2012-12-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/unspecs.md: Add copyright notice.
+
+2012-12-13 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-ssa-threadedge.c (propagate_threaded_block_debug_into): Avoid
+ -Wsign-compare warning.
+
+2012-12-13 Richard Biener <rguenther@suse.de>
+
+ PR lto/55660
+ * tree-streamer.c (record_common_node): Check that we are not
+ recursively pre-loading nodes we want to skip. Handle
+ char_type_node appearing as part of va_list_type_node.
+
+2012-12-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR gcov-profile/55650
+ * coverage.c (coverage_obj_init): Return false if no functions
+ are being emitted.
+
+2012-12-13 Steven Bosscher <steven@gcc.gnu.org>
+
+ * bitmap.c (struct bitmap_descriptor): Remove forward declaration.
+ (struct bitmap_head_def): Remove desc pointer. Add descriptor_id
+ field. Reorder fields for pointer alignment.
+ * bitmap.c: Include vec.h.
+ (struct bitmap_descriptor): Rename to bitmap_descriptor_d.
+ (bitmap_descriptor): New typedef, pointer to bitmap_descriptor_d.
+ Update all struct bitmap_descriptor references.
+ (next_bitmap_desc_id): New running index for bitmap desciptors.
+ (bitmap_descriptors): Vec of all bitmap descriptors by descriptor id.
+ (hash_descriptor, eq_descriptor): Update for struct bitmap_descriptor
+ change.
+ (bitmap_descriptor): Rename function to get_bitmap_descriptor.
+ Stuff newly allocated bitmap descriptor into bitmap_descriptors.
+ Set the bitmap descriptor id.
+ (bitmap_register): Lookup bitmap desciptor and store its ID in
+ the passed bitmap.
+ (register_overhead): Likewise.
+ (bitmap_find_bit): Lookup descriptor by id in bitmap_descriptors.
+ (print_statistics): Update for struct bitmap_descriptor change.
+
+ * Makefile.in: Fix bitmap.o dependencies.
+
+2012-12-13 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-pre.c (get_representative_for): Adjust dumping.
+ Mark created SSA names for release.
+ (eliminate_bb): Insert only when expr is not NULL.
+
+2012-12-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/55665
+ * tree-inline.c (remap_decls): Change nonlocalized_list
+ to pointer to pointer to vector from pointer to vector.
+ (remap_block): Pass address of BLOCK_NONLOCALIZED_VARS.
+
+ PR sanitizer/55508
+ * builtin-attrs.def (ATTR_TMPURE_NOTHROW_LEAF_LIST,
+ ATTR_TMPURE_NORETURN_NOTHROW_LEAF_LIST): New.
+ * asan.c (ATTR_TMPURE_NOTHROW_LEAF_LIST,
+ ATTR_TMPURE_NORETURN_NOTHROW_LEAF_LIST): Define.
+ * sanitizer.def: Make __asan_report_* and __asan_handle_no_return
+ builtins tm pure.
+
+2012-12-12 Steve Ellcey <sellcey@mips.com>
+
+ * config/mips/mips.c (mips_option_override): Set
+ mips_dbx_regno entries to IGNORED_DWARF_REGNUM by default.
+
+2012-12-12 Steven Bosscher <steven@gcc.gnu.org>
+
+ * graph.c: Include sbitmap.h and cfgloop.h.
+ (draw_cfg_nodes_no_loops): New function to dump basic blocks in
+ topological order if the function does not have a loop tree.
+ Handle unreachable blocks also.
+ (draw_cfg_nodes_for_loop): New function to dump basic blocks in
+ one loop tree node as a named cluster of nodes.
+ (draw_cfg_nodes): New function to draw all CFG nodes.
+ (draw_cfg_edges): New function to draw all CFG edges.
+ (print_graph_cfg): Simplify using the new functions.
+ * Makefile.in (graph.o): Fix dependencies.
+
+2012-12-12 Steven Bosscher <steven@gcc.gnu.org>
+
+ * dumpfile.h (enum tree_dump_index): Remove TDI_vcg.
+ * dumpfile.c (dump_files[]): Remove entry for TDI_vcg.
+ * tree-cfg.c (gimple_cfg2vcg): Remove.
+ (build_gimple_cfg): Don't call it.
+ * doc/invoke.texi (-fdump-tree-vcg): Remove documentation.
+ Correct GraphViz documentation, it does handle multiple functions
+ in a single dump.
+
+2012-12-12 Zdenek Dvorak <ook@ucw.cz>
+
+ PR tree-optimization/55481
+ * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fall
+ back to general rewriting if we cannot leave an original biv
+ definition alone.
+
+2012-12-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/55659
+ Revert
+ 2012-12-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/43631
+ * var-tracking.c (emit_note_insn_var_location): If insn is followed
+ by BARRIER, put note after the BARRIER.
+ (next_non_note_insn_var_location): Skip over BARRIERs.
+ (emit_notes_in_bb): If call is followed by BARRIER, put note after
+ the BARRIER.
+
+ 2012-12-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/43631
+ * var-tracking.c (emit_note_insn_var_location, emit_notes_in_bb):
+ Clear BLOCK_FOR_INSN on notes emitted in between basic blocks,
+ don't adjust BB_END when inserting note after BB_END of some bb.
+
+2012-12-12 Steven Bosscher <steven@gcc.gnu.org>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/52640
+ * varasm.c (pending_assemble_externals_set): New pointer set.
+ (process_pending_assemble_externals): Destroy the pointer set.
+ (assemble_external): See if decl is in pending_assemble_externals_set,
+ and add it to pending_assemble_externals if necessary.
+ (init_varasm_once): Allocate pending_assemble_externals_set.
+
+2012-12-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/55633
+ * tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk):
+ Ignore bounds on which bound += double_int_one overflowed.
+
+2012-12-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/54121
+ * config/sparc/sparc.md (tldo_stb_sp32): Fix pasto.
+ (tldo_stb_sp64): Likewise.
+ (tldo_sth_sp32): Likewise.
+ (tldo_sth_sp64): Likewise.
+ (tldo_stw_sp32): Likewise.
+ (tldo_stw_sp64): Likewise.
+ (tldo_stx_sp64): Likewise.
+
+2012-12-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/55193
+ * lra-constraints.c (loc_equivalence_callback): New function.
+ (lra_constraints): Call simplify_replace_fn_rtx instead of
+ loc_equivalence_change_p on DEBUG_INSNs.
+
+2012-12-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/55642
+ * config/arm/thumb2.md (*thumb2_abssi2):
+ Set ce_count attribute to 2.
+ (*thumb2_neg_abssi2): Likewise.
+
+2012-12-11 Jakub Jelinek <jakub@redhat.com>
+
+ * varasm.c (get_variable_section): Don't return lcomm_section
+ for asan_protect_global decls.
+ * asan.c (asan_protect_global): Only avoid public common variables.
+ Don't call get_variable_section here.
+
+ PR middle-end/43631
+ PR bootstrap/55615
+ * var-tracking.c (emit_note_insn_var_location): If insn is followed
+ by BARRIER, put note after the BARRIER.
+ (next_non_note_insn_var_location): Skip over BARRIERs.
+ (emit_notes_in_bb): If call is followed by BARRIER, put note after
+ the BARRIER.
+
+ * sanitizer.def: Add comment about importance of ordering of
+ BUILT_IN_ASAN_REPORT* builtins.
+ * cfgcleanup.c (old_insns_match_p): Don't cross-jump __asan_report_*
+ builtins.
+
+ * sanitizer.def (BUILT_IN_ASAN_HANDLE_NO_RETURN): New builtin.
+ * asan.c (instrument_builtin_call): Change is_gimple_builtin_call
+ gcc_assert to gcc_checking_assert.
+ (maybe_instrument_call): Imit __builtin___asan_handle_no_return ()
+ before noreturn calls other than __builtin_trap () and
+ __builtin_unreachable ().
+
+2012-12-11 Richard Biener <rguenther@suse.de>
+
+ PR other/54324
+ * doc/install.texi (Tools/packages necessary for building GCC):
+ State ISO C++98 host compiler requirement. Increment minimum
+ GCC version required for building all languages for a cross-compiler
+ to 3.4 or later.
+
+2012-12-11 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55079
+ * tree-vrp.c (extract_range_from_binary_expr_1): Handle MAX/MIN_EXPR
+ for more cases.
+ (register_edge_assert_for_2): Register asserts for post-in/decrement
+ tests.
+ (check_array_ref): Dump what expression we emit array bound
+ warnings for.
+ (search_for_addr_array): Likewise.
+
+2012-12-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-loop-ivopts.c (prepare_decl_rtl) <ADDR_EXPR>: Generate RTL
+ only for a DECL which HAS_RTL_P.
+
+2012-12-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/predicates.md ("execute_operation"): New predicate.
+ * config/s390/s390.md ("*execute_rl", "*execute"): Use the new
+ predicate.
+
+2012-12-10 Xinliang David Li <davidxl@google.com>
+
+ * config/i386/i386.c: Enable push/pop in pro/epilogue for modern CPUs.
+
+2012-12-10 Steve Ellcey <sellcey@mips.com>
+
+ * config/mips/gnu-user.h (NO_SHARED_SPECS): Add space before option.
+
+2012-12-10 Steve Ellcey <sellcey@mips.com>
+
+ PR target/54061
+ * rtl.h (IGNORED_DWARF_REGNUM): New.
+ * dwarf2out.c (reg_loc_descriptor): Check for IGNORED_DWARF_REGNUM.
+ (mem_loc_descriptor): Ditto.
+ * config/mips/mips.h (ALL_COP_REG_FIRST): New.
+ (ALL_COP_REG_LAST): New.
+ (ALL_COP_REG_NUM): Redefine using above macros.
+ * config/mips/mips.c (mips_option_override): Set mips_dbx_regno
+ coprocessor entries to IGNORED_DWARF_REGNUM.
+
+2012-12-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR lto/55466
+ * lto-symtab.c (lto_symtab_merge_decls_1): Don't record the
+ prevailing variable.
+
+2012-12-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55107
+ * tree-ssa-pre.c (struct pre_stats): Remove constified field.
+ (bitmap_set_replace_value): Add gcc_unreachable.
+ (do_regular_insertion): Re-write all_same handling. Insert
+ an assignment instead of a PHI in this case.
+ (eliminate_bb): Record availability also for SSA names defined
+ by a constant.
+ (do_pre): Do not record constified events.
+ (execute_fre): Likewise.
+
+2012-12-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/spu/spu.md: Replace "operands" with "operands != NULL" in
+ insn conditions.
+
+2012-12-10 Jakub Jelinek <jakub@redhat.com>
+
+ * asan.c (asan_init_shadow_ptr_types): Move earlier in the file.
+ Call initialize_sanitizer_builtins at the end.
+ (asan_pp_string): Use TREE_TYPE (shadow_ptr_types[0])
+ as character type instead of char_type_node.
+ (asan_emit_stack_protection): Call asan_init_shadow_ptr_types
+ if shadow_ptr_types isn't initialized.
+ (asan_protect_global): Return true for STRING_CSTs except those
+ created by asan_pp_string.
+ (count_string_csts, add_string_csts): New functions.
+ (struct asan_add_string_csts_data): New type.
+ (asan_finish_file): Clear flag_asan at the beginning, restore at the
+ end. Traverse constant_pool_htab () to look for protected
+ STRING_CSTs. Don't call initialize_sanitizer_builtins,
+ instead call asan_init_shadow_ptr_types if shadow_ptr_types isn't
+ initialized yet.
+ (asan_instrument): Don't call initialize_sanitizer_builtins.
+ * varasm.c (output_constant_def_contents): If STRING_CST should be
+ asan protected, align it sufficiently and emit padding after it.
+ (categorize_decl_for_section): If flag_asan, don't put STRING_CSTs
+ that should be asan protected into mergeable sections. For
+ -fmerge-all-constants, ignore it for -fmudflap or if decl is
+ asan protected.
+
+2012-12-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/neon.ml (opcode): Add Vrintn, Vrinta, Vrintp, Vrintm,
+ Vrintz to type.
+ (type features): Add Requires_arch type constructor.
+ (ops): Define Vrintn, Vrinta, Vrintp, Vrintm, Vrintz features.
+ * config/arm/neon-docgen.ml (intrinsic_groups): Define Vrintn,
+ Vrinta, Vrintp, Vrintm, Vrintz, Vrintx.
+ * config/arm/neon-testgen.ml (effective_target): Define check for
+ Requires_arch 8.
+ * config/arm/neon-gen.ml (print_feature_test_start): Handle
+ Requires_arch.
+ (print_feature_test_end): Likewise.
+ Add 2012 to Copyright notice.
+ * doc/arm-neon-intrinsics.texi: Regenerate.
+ * config/arm/arm_neon.h: Regenerate.
+
+2012-12-10 Kai Tietz <ktietz@redhat.com>
+
+ * stmt.c (expand_sjlj_dispatch_table): Fix off by one.
+
+ PR target/53912
+ * stmt.c (compute_cases_per_edge): Cast from pointer via intptr_t.
+ (expand_case): Likewise.
+
+ PR target/53912
+ * print-tree.c (print_node): Cast from pointer via uintptr_t.
+
+2012-12-10 Jakub Jelinek <jakub@redhat.com>
+
+ * asan.c (instrument_derefs): Handle bitfield COMPONENT_REFs
+ accesses as reads/writes to their DECL_BIT_FIELD_REPRESENTATIVE.
+
+2012-12-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lto-streamer-out.c (lto_write_tree): Do not reset the DECL_INITIAL of
+ variables in the global constant pool.
+
+2012-12-08 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/55158
+ * sched-rgn.c (bb_state_array, bb_state): Add some explaining
+ comment, and initialize to NULL explicitly.
+ (realloc_bb_state_array): New function.
+ (free_bb_state_array): New function.
+ (schedule_region): Call realloc_bb_state_array after schedule_block.
+ (sched_rgn_init): Use realloc_bb_state_array to initialize bb_state.
+ (sched_rgn_finish): Use free_bb_state_array to free it.
+
+2012-12-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-loop-im.c (for_each_index) <CONST_DECL>: New case.
+
+2012-12-07 Sriraman Tallan <tmsriram@google.com>
+
+ * toplev.c (process_options): Do not warn when -ffunction-sections
+ and -fprofile are used together.
+
+2012-12-07 Steven Bosscher <steven@gcc.gnu.org>
+
+ * ree.c (struct ext_cand): Remove GTY markers.
+
+2012-12-07 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55141
+ * lra-constraints.c (lra_constraints): Use biggest mode for
+ df_set_regs_ever_live.
+
+2012-12-07 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Add UPPER_BOUND
+ parameter.
+ (try_unroll_loop_completely) Update.
+
+2012-12-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/55395
+ * varpool.c (varpool_remove_node): Don't drop DECL_INITIAL
+ for -g for any kind of debug info.
+
+2012-12-07 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/54886
+ * graphite-sese-to-poly.c (build_loop_iteration_domains): Properly
+ free all memory.
+
+2012-12-07 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/55078
+ * ipa-inline-transform.c (inline_call): Turn #if 0 to
+ #ifdef ENABLE_CHECKING.
+ * ipa-prop.c (try_make_edge_direct_simple_call): Use
+ ipa_value_from_jfunc.
+ (try_make_edge_direct_virtual_call): Likewise.
+ (update_indirect_edges_after_inlining): Lookup new_root_info and pass
+ it to the functions above.
+
+2012-12-07 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/55590
+ * tree-sra.c (build_ref_for_offset): Use get_object_alignment_1 to
+ get base alignment.
+
+2012-12-06 Uros Bizjak <ubizjak@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/55597
+ * config/i386/i386.c (legitimize_tls_address): Zero-extend x to Pmode,
+ before using it as insn or call equivalent.
+
+2012-12-06 Peter Bergner <bergner@vnet.ibm.com>
+
+ * config/rs6000/sysv4.h (TARGET_ASAN_SHADOW_OFFSET): Define.
+ * config/rs6000/rs6000.c (rs6000_asan_shadow_offset): New function.
+ * config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Disable if using ASAN.
+
+2012-12-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/55395
+ * varpool.c (varpool_remove_node): Don't drop DECL_INITIAL
+ if -g and emitting DWARF2+.
+
+2012-12-06 Pat Haugen <pthaugen@us.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Set
+ default loop peeling limits.
+
+2012-12-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/55032
+ PR c++/55245
+ * tree.c (build_array_type_1): Re-layout if we found it in the
+ hash table.
+
+2012-12-06 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR 55599/sanitizer
+ * config/darwin.h (LINK_COMMAND_SPEC_A): Remove static libasan support.
+
+2012-12-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/43631
+ * var-tracking.c (emit_note_insn_var_location, emit_notes_in_bb):
+ Clear BLOCK_FOR_INSN on notes emitted in between basic blocks,
+ don't adjust BB_END when inserting note after BB_END of some bb.
+
+ PR c++/55137
+ * fold-const.c (fold_binary_loc) <associate>: Don't introduce
+ TREE_OVERFLOW through reassociation. If type doesn't have defined
+ overflow, but one or both of the operands do, use the wrapping type
+ for reassociation and only convert to type at the end.
+
+2012-12-06 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (fold_stmt_1): Remove code handling folding stmts away.
+
+2012-12-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * doc/sourcebuild.texi: Document arm_v8_neon_ok.
+
+2012-12-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.c (neon_itype): Define NEON_RINT enum element.
+ (neon_builtin_data): Register vrintn, vrinta, vrintp, vrintm,
+ vrintz, vrintx neon builtins.
+ (arm_init_neon_builtins): Handle NEON_RINT.
+ (arm_expand_neon_builtin): Likewise.
+ * config/arm/unspecs.md: New file.
+ * config/arm/arm.md ("unspec"): Move to unspecs.md.
+ * config/arm/iterators.md (NEON_VRINT): New int iterator.
+ (nvrint_variant): New int attribute.
+ * config/arm/neon.md
+ (neon_vrint<NEON_VRINT:nvrint_variant><VCVTF:mode>): New pattern.
+ ("unspec"): Move to unspecs.md.
+ * config/arm/iwmmxt2.md ("unspec"): Move to unspecs.md.
+
+2012-12-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify
+ opaque cond in all call insns.
+
+2012-12-05 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/55604
+ * lra-lives.c (lra_create_live_ranges): If there are no referenced
+ pseudos left, do not compute live ranges.
+
+2012-12-05 Steven Bosscher <steven@gcc.gnu.org>
+
+ * doc/tm.texi.in (TARGET_CLASS_LIKELY_SPILLED_P): Update documentation.
+ * doc/tm.texi: Regenerate.
+ * regs.h (REG_LIVE_LENGTH): Update comments to not refer to no longer
+ existing files global.c and local-alloc.c.
+ * regmove.c (copy_src_to_dest): Likewise.
+ * function.h (struct rtl_data): Likewise.
+ * ira-color.c (allocno_priority_compare_func): Likewise.
+ * regstat.c (regstat_compute_ri): Likewise.
+ * config/epiphany/epiphany.h, config/vax/vax.h, config/cris/cris.h,
+ config/h8300/h8300.h, config/alpha/alpha.h, config/sparc/sparc.h,
+ config/rs6000/rs6000.h, config/pdp11/pdp11.h, config/pa/pa.h,
+ config/v850/v850.h, config/mn10300/mn10300.h, config/m32r/m32r.h,
+ config/i386/i386.h, config/mcore/mcore.h, config/sh/sh.h,
+ config/arm/arm.h (REGNO_OK_FOR_BASE_P): Likewise.
+
+2012-12-05 Aldy Hernandez <aldyh@redhat.com>
+
+ PR target/54160
+ * config/t-darwin (darwin-c.o): Depend on $(CPP_INTERNAL_H).
+ * config/darwin-c.c (darwin_cpp_builtins): Only set __OBJC2__ when
+ in obj mode.
+ Include libcpp/internal.h.
+
+2012-12-05 Michael Eager <eager@eagercon.com>
+
+ PR rtl-optimization/54739
+ * config/microblaze/microblaze.md: (anddi3, iordi3, xordi3): Delete
+ patterns.
+
+2012-12-05 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64-simd-builtins.def: Add new builtins.
+ * config/aarch64/aarch64-simd.md (simd_type): Add uzp.
+ (aarch64_<PERMUTE:perm_insn><PERMUTE:perm_hilo><mode>): New.
+ * config/aarch64/aarch64.c (aarch64_evpc_trn): New.
+ (aarch64_evpc_uzp): Likewise.
+ (aarch64_evpc_zip): Likewise.
+ (aarch64_expand_vec_perm_const_1): Check for trn, zip, uzp patterns.
+ * config/aarch64/iterators.md (unspec): Add neccessary unspecs.
+ (PERMUTE): New.
+ (perm_insn): Likewise.
+ (perm_hilo): Likewise.
+
+2012-12-05 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64-protos.h
+ (aarch64_split_combinev16qi): New.
+ (aarch64_expand_vec_perm): Likewise.
+ (aarch64_expand_vec_perm_const): Likewise.
+ * config/aarch64/aarch64-simd.md (vec_perm_const<mode>): New.
+ (vec_perm<mode>): Likewise.
+ (aarch64_tbl1<mode>): Likewise.
+ (aarch64_tbl2v16qi): Likewise.
+ (aarch64_combinev16qi): New.
+ * config/aarch64/aarch64.c
+ (aarch64_vectorize_vec_perm_const_ok): New.
+ (aarch64_split_combinev16qi): Likewise.
+ (MAX_VECT_LEN): Define.
+ (expand_vec_perm_d): New.
+ (aarch64_expand_vec_perm_1): Likewise.
+ (aarch64_expand_vec_perm): Likewise.
+ (aarch64_evpc_tbl): Likewise.
+ (aarch64_expand_vec_perm_const_1): Likewise.
+ (aarch64_expand_vec_perm_const): Likewise.
+ (aarch64_vectorize_vec_perm_const_ok): Likewise.
+ (TARGET_VECTORIZE_VEC_PERM_CONST_OK): Likewise.
+ * config/aarch64/iterators.md
+ (unspec): Add UNSPEC_TBL, UNSPEC_CONCAT.
+ (V_cmp_result): Add mapping for V2DF.
+
+2012-12-05 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_simd_mangle_map_entry): New
+ typedef.
+ (aarch64_simd_mangle_map): New table.
+ (aarch64_mangle_type): Locate and return the mangled name for
+ a given AdvSIMD vector type.
+
+2012-12-05 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_mangle_type): New function.
+ (TARGET_MANGLE_TYPE): Define.
+
+2012-12-05 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64-builtins.c
+ (aarch64_builtin_vectorized_function): New.
+ * config/aarch64/aarch64-protos.h
+ (aarch64_builtin_vectorized_function): Declare.
+ * config/aarch64/aarch64-simd-builtins.def (frintz, frintp): Add.
+ (frintm, frinti, frintx, frinta, fcvtzs, fcvtzu): Likewise.
+ (fcvtas, fcvtau, fcvtps, fcvtpu, fcvtms, fcvtmu): Likewise.
+ * config/aarch64/aarch64-simd.md
+ (aarch64_frint_<frint_suffix><mode>): New.
+ (<frint_pattern><mode>2): Likewise.
+ (aarch64_fcvt<frint_suffix><su><mode>): Likewise.
+ (l<fcvt_pattern><su_optab><fcvt_target><VDQF:mode>2): Likewise.
+ * config/aarch64/aarch64.c (TARGET_VECTORIZE_BUILTINS): Define.
+ (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Likewise.
+ * config/aarch64/aarch64.md
+ (btrunc<mode>2, ceil<mode>2, floor<mode>2)
+ (round<mode>2, rint<mode>2, nearbyint<mode>2): Consolidate as...
+ (<frint_pattern><mode>2): ...this.
+ (lceil<su_optab><mode><mode>2, lfloor<su_optab><mode><mode>2)
+ (lround<su_optab><mode><mode>2)
+ (lrint<su_optab><mode><mode>2): Consolidate as...
+ (l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): ... this.
+ * config/aarch64/iterators.md (fcvt_target): New.
+ (FCVT_TARGET): Likewise.
+ (FRINT): Likewise.
+ (FCVT): Likewise.
+ (frint_pattern): Likewise.
+ (frint_suffix): Likewise.
+ (fcvt_pattern): Likewise.
+
+2012-12-05 Steven Bosscher <steven@gcc.gnu.org>
+
+ * passes.c (pass_init_dump_file): Only open a clean graph dump file if
+ the dump was not already initialized.
+
+ Revert:
+ 2012-12-03 Steven Bosscher <steven@gcc.gnu.org>
+ * passes.c (finish_optimization_passes): Don't finish graph dumps here.
+ (pass_fini_dump_file): Wrap in TV_DUMP. Finish graph dumps.
+ (execute_one_pass): Don't set up graph dumps here.
+
+2012-12-05 Richard Biener <rguenther@suse.de>
+
+ PR lto/55525
+ * gimple-streamer-in.c (input_gimple_stmt): Fixup ARRAY_REFs as well.
+
+2012-12-04 Ian Lance Taylor <iant@google.com>
+
+ * godump.c (find_dummy_types): Output a dummy type if we couldn't
+ output the real type.
+
+2012-12-04 Steven Bosscher <steven@gcc.gnu.org>
+
+ * rtl.h (print_insn_with_notes): Remove prototype.
+ (rtl_dump_bb_for_graph): New prototype.
+ * sched-vis.c (print_insn_with_notes): Make static again. Fix
+ printing of notes.
+ (rtl_dump_bb_for_graph): New function.
+ * cfghooks.h (struct cfg_hooks) <dump_bb_for_graph>: New hook.
+ (dump_bb_for_graph): New prototype.
+ * cfghooks.c (dump_bb_for_graph): New function.
+ * tree-cfg.c (gimple_cfg_hooks): Register gimple_dump_bb_for_graph
+ as dump_bb_for_graph hook implementation for GIMPLE.
+ * cfgrtl.c (rtl_cfg_hooks): Likewise for rtl_dump_bb_for_graph.
+ (cfg_layout_rtl_cfg_hooks): Likewise.
+ * graph.c (draw_cfg_node): Don't include sbitmap.h, rtl.h, tree.h,
+ gimple.h, and gimple-pretty-print.h.
+ (draw_cfg_node, draw_cfg_node_succ_edges): Use the uniqe function
+ definition number instead of the function declaration UID.
+ (print_graph_cfg): Take a struct function instead of a tree.
+ Use the dump_bb_for_graph hook to dump the basic block content.
+ * graph.h (print_graph_cfg): Update prototype.
+ * passes.c (execute_function_dump): Update print_graph_cfg call.
+ * Makefile.in (graph.o): Fixup dependencies.
+
+2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_build_builtin_va_list): Set
+ TYPE_STUB_DECL.
+
+2012-12-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_select_ccmode): Enable using CC of
+ x + imm for higher immediates on z9-109 upwards.
+
+2012-12-04 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.opt (cirrus-fix-invalid-insns): Delete option.
+ * invoke.texi (cirrus-fix-invalid-insns): Remove documentation.
+
+2012-12-04 Jakub Jelinek <jakub@redhat.com>
+
+ * tsan.c (instrument_expr): If expr_ptr isn't a gimple val, first
+ store it into a SSA_NAME.
+
+ PR sanitizer/55439
+ * Makefile.in (tsan.o): Depend on tree-ssa-propagate.h.
+ * sanitizer.def: Add __tsan_atomic* builtins.
+ * asan.c (initialize_sanitizer_builtins): Adjust to also
+ initialize __tsan_atomic* builtins.
+ * tsan.c: Include tree-ssa-propagate.h.
+ (enum tsan_atomic_action): New enum.
+ (tsan_atomic_table): New table.
+ (instrument_builtin_call): New function.
+ (instrument_gimple): Take pointer to gimple_stmt_iterator
+ instead of gimple_stmt_iterator. Call instrument_builtin_call
+ on builtin call stmts.
+ (instrument_memory_accesses): Adjust instrument_gimple caller.
+ * builtin-types.def (BT_FN_BOOL_VPTR_PTR_I1_INT_INT,
+ BT_FN_BOOL_VPTR_PTR_I2_INT_INT, BT_FN_BOOL_VPTR_PTR_I4_INT_INT,
+ BT_FN_BOOL_VPTR_PTR_I8_INT_INT, BT_FN_BOOL_VPTR_PTR_I16_INT_INT): New.
+
+2012-12-04 Tejas Belagod <tejas.belagod@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_simd_vector_alignment,
+ aarch64_simd_vector_alignment_reachable): New.
+ (TARGET_VECTOR_ALIGNMENT, TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE):
+ Define.
+
+2012-12-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55124
+ * tree-ssa-pre.c (find_or_generate_expression): Instead of
+ ICEing when we are not able to generate an expression defer it
+ by signalling failure. Fix possible wrong-code issue by
+ not picking random REFERENCE expressions as fallback.
+ (create_component_ref_by_pieces_1): Adjust. Add failure paths.
+ (create_expression_by_pieces): Likewise.
+ (insert_into_preds_of_block): When expression generation failed
+ for one edge make sure to not insert a PHI node.
+
+2012-12-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
+ area if the function allocates dynamic stack space.
+ (ia64_initial_elimination_offset): Adjust offsets to above change.
+
+2012-12-03 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcse.c (struct reg_use): Remove unused struct.
+ (gcse_emit_move_after): Do not create REG_EQUAL notes that reference
+ the SET_DEST of the instruction the note would be attached to.
+ * cse.c (cse_main): Add the DF_NOTE problem.
+
+2012-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ * sanitizer.def: Add Address Sanitizer builtins.
+ Rename BUILT_IN_TSAN_READ_* to BUILT_IN_TSAN_READ* and
+ BUILT_IN_TSAN_WRITE_* to BUILT_IN_TSAN_WRITE*.
+ * Makefile.in (asan.o): Depend on langhooks.h.
+ (tsan.o): Depend on asan.h.
+ * asan.h (initialize_sanitizer_builtins): New prototype.
+ * asan.c: Include langhooks.h.
+ (report_error_func): Use builtin_decl_implicit of corresponding
+ BUILT_IN_ASAN_REPORT_{LOAD,STORE}*.
+ (asan_init_func): Removed.
+ (initialize_sanitizer_builtins): New function.
+ (asan_finish_file): Call it. Use builtin_decl_implicit
+ on BUILT_IN_ASAN_{INIT,{,UN}REGISTER_GLOBALS}.
+ (asan_instrument): Call initialize_sanitizer_builtins.
+ * builtins.def (DEF_SANITIZER_BUILTIN): Change condition to
+ (flag_asan || flag_tsan).
+ * tsan.c: Include asan.h and tsan.h.
+ (get_memory_access_decl): Rename BUILT_IN_TSAN_{READ,WRITE}_*
+ to BUILT_IN_TSAN_{READ,WRITE}*.
+ (tsan_pass): Call initialize_sanitizer_builtins.
+ (tsan_gate, tsan_gate_O0): Don't check if
+ builtin_decl_implicit_p (BUILT_IN_TSAN_INIT) is true.
+ (tsan_finish_file): Call initialize_sanitizer_builtins.
+ * builtin-types.def (BT_FN_VOID_PTR_PTRMODE): New fn type.
+
+2012-12-03 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/55401
+ * trans-mem.c (get_tm_region_blocks): Exclude uninstrumented
+ blocks from vector if requested.
+ (collect_bb2reg): Pass new argument to get_tm_region_blocks.
+ (get_bb_regions_instrumented): Add INCLUDE_UNINSTRUMENTED_P
+ argument, and pass it to expand_regions.
+ (execute_tm_mark): Pass new argument to get_bb_regions_instrumented.
+ (execute_tm_edges): Same.
+
+2012-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ * asan.c (instrument_mem_region_access): Don't instrument
+ if base doesn't have pointer type or len integral type.
+ Add cast if len doesn't have size_t compatible type.
+ (instrument_builtin_call): Don't instrument BUILT_IN_ATOMIC_LOAD,
+ BUILT_IN_ATOMIC_TEST_AND_SET, BUILT_IN_ATOMIC_CLEAR,
+ BUILT_IN_ATOMIC_EXCHANGE, BUILT_IN_ATOMIC_COMPARE_EXCHANGE
+ and BUILT_IN_ATOMIC_STORE.
+
+ * asan.c (instrument_assignment): Instrument lhs only
+ for gimple_store_p and rhs1 only for gimple_assign_load_p.
+
+2012-12-03 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * Makefile.in: Add target mddump, build/genmddump.o. Extend
+ genprogrtl with mddump.
+ * genmddump.c: New.
+
+2012-12-03 Steven Bosscher <steven@gcc.gnu.org>
+
+ * rtl.h (print_insn_with_notes): Prototype.
+ * sched-vis.c (print_insn_with_notes): Export it.
+
+ * gimple-pretty-print.h (gimple_dump_bb_for_graph): Prototype.
+ * gimple-pretty-print.c (print_gimple_expr): Flush the buffer.
+ (pp_gimple_stmt_1): Don't do it here.
+ (gimple_dump_bb_for_graph): New function.
+ * tree-pretty-print.c (print_generic_expr): Flush the buffer here.
+ (dump_generic_node): Don't flush the buffer here.
+
+ * graph.h (print_rtl_graph_with_bb): Rename to print_graph_cfg.
+ * graph.c: Include gimple.h, dumpfile.h, and gimple-pretty-print.h.
+ (draw_cfg_node): Handle GIMPLE basic blocks also.
+ (print_rtl_graph_with_bb): Rename to print_graph_cfg.
+ * passes.c (finish_optimization_passes): Don't finish graph dumps here.
+ (execute_function_dump): Use print_graph_cfg. Enable dumping the CFG
+ for GIMPLE also.
+ (pass_init_dump_file): Wrap in TV_DUMP. Set up CFG graph dumps.
+ (pass_fini_dump_file): Wrap in TV_DUMP. Finish graph dumps.
+ (execute_one_pass): Don't set up graph dumps here.
+
+2012-12-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa.c (warn_uninitialized_var): Use OPT_Wmaybe_uninitialized tag
+ in the non-always executed case.
+
+2012-12-03 Sofiane Naci <sofiane.naci@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_build_constant): Update prototype.
+ Call emit_move_insn instead of printing movi/movn/movz instructions.
+ Call gen_insv_immdi instead of printing movk instruction.
+ (aarch64_add_constant): Update prototype.
+ Generate RTL instead of printing add/sub instructions.
+ (aarch64_output_mi_thunk): Update calls to aarch64_build_constant
+ and aarch64_add_constant.
+
+2012-12-03 Kai Tietz <ktietz@redhat.com>
+
+ PR target/53912
+ * ggc-common.c (POINTER_HASH): Cast from pointer via intptr_t.
+
+ PR target/53912
+ * tree-dump.c (dump_pointer): Print pointer via HOST_WIDE_INT_PRINT.
+
+ PR target/53912
+ * pointer-set.c (hash1): Cast from pointer via uintptr_t.
+
+2012-12-02 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/54838
+ * cprop.c (bypass_block): Determine number of latches. Return
+ when there is more than one latch edge.
+
+2012-12-02 Teresa Johnson <tejohnson@google.com>
+
+ PR gcov-profile/55551
+ * lto-cgraph.c (merge_profile_summaries): Handle scaled histogram
+ entries that map to the same index.
+
+2012-12-02 Steven Bosscher <steven@gcc.gnu.org>
+
+ * optabs.c (add_equal_note): Do not create self-referencing REG_EQUAL
+ notes.
+ * fwprop.c (forward_propagate_and_simplify): Likewise.
+
+2012-12-02 Steven Bosscher <steven@gcc.gnu.org>
+
+ * function.h (struct rtl_data): Remove epilogue_delay_list.
+ * reorg.c (find_end_label): Simplify always-true test.
+ (optimize_skip): Likewise.
+ * final.c (leaf_function_p): Don't loop over epilogue_delay_list.
+ (leaf_renumber_regs): Likewise.
+ * varasm.c (mark_constant_pool): Likewise.
+ * except.c (set_nothrow_function_flags): Likewise.
+ * cfgrtl.c (print_rtl_with_bb): Likewise.
+
+2012-12-02 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config/mmix/mmix.c (mmix_function_value): Set the mode of the
+ returned PARALLEL to that of the return-value, not VOIDmode.
+
+2012-12-02 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi: Various corrections to punctuation and grammar
+ throughout the file. Use consistent terminology and proper names.
+ Correct some minor markup issues.
+
+2010-12-01 Xinliang David Li <davidxl@google.com>
+
+ * config/i386/i386.c: Allow sign extend instructions (cltd etc)
+ on modern CPUs.
+
+2012-12-02 Steven Bosscher <steven@gcc.gnu.org>
+
+ * reorg.c: Remove an obsolete comment.
+ * config/pa/pa.md: Add back the HP-PA comment here, with details.
+
+2012-11-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
+ Deal with degenerate cases where the bitsize isn't positive.
+ Rework comment.
+
+2012-11-30 David Edelsohn <dje.gcc@gmail.com>
+
+ * xcoffout.c (xcoff_tls_data_section_name): Define.
+ * xcoffout.h (xcoff_tls_data_section_name): Declare.
+ * config/rs6000/rs6000.c (tls_data_section): Define.
+ (TARGET_USE_BLOCKS_FOR_DECL_P): Define.
+ (rs6000_legitimize_tls_address_aix): New function.
+ (rs6000_legitimize_tls_address): Use new function for AIX.
+ (rs6000_cannot_force_const_mem): No sum in TLS TOC symbols.
+ Allow TLS symbol in constant pool other than ELF.
+ (rs6000_legitimate_address_p): Allow TLS symbol other than ELF.
+ (rs6000_assemble_visibility): Do not emit anything on AIX.
+ (output_toc): Handle alias of TLS general-dynamic symbols.
+ Emit TLS decorations on symbols.
+ (rs6000_use_blocks_for_decl_p): New function.
+ (rs6000_xcoff_output_tls_section_asm_op): New function.
+ (rs6000_xcoff_asm_init_sections): Initialize tls_data_section.
+ (rs6000_xcoff_select_section): Choose tls_data_section for
+ thread-local storage.
+ (rs6000_xcoff_file_start): Generate xcoff_tls_data_section_name.
+ (rs6000_legitimate_constant_p): Allow TLS symbol other than ELF.
+ * config/rs6000/rs6000.md (tls_tls_): Restrict to ELF.
+ (tls_get_tpointer): New.
+ (tle_get_tpointer_internal): New.
+ (tls_get_addr<mode>): New.
+ (tls_get_addr_internal<mode>): New.
+ * config/rs6000/xcoff.h (ASM_OUTPUT_TLS_COMMON): Define.
+
+2012-11-30 Teresa Johnson <tejohnson@google.com>
+
+ * lto-cgraph.c (output_profile_summary): Stream out sum_all
+ and histogram.
+ (input_profile_summary): Stream in sum_all and histogram.
+ (merge_profile_summaries): Merge sum_all and histogram, and
+ change to use RDIV.
+ (input_symtab): Call compute_working_sets after merging summaries.
+ * gcov-io.c (gcov_histo_index): Make extern for compiler.
+ * gcov-io.h (gcov_histo_index): Ditto.
+ * profile.c (compute_working_sets): Remove static keyword.
+ * profile.h (compute_working_sets): Ditto.
+ * Makefile.in (lto-cgraph.o): Depend on profile.h.
+
+2012-11-30 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/52890
+ PR tree-optimization/55415
+ PR tree-optimization/54386
+ PR target/55448
+ * ipa-prop.c (ipa_modify_call_arguments): Be optimistic when
+ get_pointer_alignment_1 returns false and the base was not a
+ dereference.
+ * tree-sra.c (access_precludes_ipa_sra_p): New parameter req_align,
+ added check for required alignment. Update the user.
+
+2012-11-30 Ramana Radhakrishnan <Ramana.Radhakrishnan@arm.com>
+ Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * config/arm/arm.md (type): Subdivide "alu" into "alu_reg"
+ and "simple_alu_imm".
+ (core_cycles): Use new names.
+ (arm_addsi3): Set type of patterns to use to alu_reg and simple_alu_imm.
+ (addsi3_compare0, addsi3_compare0_scratch): Likewise.
+ (addsi3_compare_op1, addsi3_compare_op2, compare_addsi2_op0): Likewise.
+ (compare_addsi2_op1, arm_subsi3_insn, subsi3_compare0): Likewise.
+ (subsi3_compare, arm_decscc,arm_andsi3_insn): Likewise.
+ (thumb1_andsi3_insn, andsi3_compare0_scratch): Likewise.
+ (zeroextractsi_compare0_scratch,iorsi3_insn,iorsi3_compare0): Likewise.
+ (iorsi3_compare0_scratch, arm_xorsi3, thumb1_xorsi3_insn): Likewise.
+ (xorsi3_compare0, xorsi3_compare0_scratch): Likewise.
+ (thumb1_zero_extendhisi2,arm_zero_extendhisi2_v6): Likewise.
+ (thumb1_zero_extendqisi2_v, arm_zero_extendqisi2_v6): Likewise.
+ (thumb1_extendhisi2, arm_extendqisi_v6): Likewise.
+ (thumb1_extendqisi2, arm_movsi_insn): Likewise.
+ (movsi_compare0, movhi_insn_arch4, movhi_bytes): Likewise.
+ (arm_movqi_insn, thumb1_movqi_insn, arm_cmpsi_insn): Likewise.
+ (movsicc_insn, if_plus_move, if_move_plus): Likewise.
+ * config/arm/neon.md (neon_mov<mode>/VDX): Likewise.
+ (neon_mov<mode>/VQXMOV): Likewise.
+ * config/arm/arm1020e.md (1020alu_op): Likewise.
+ * config/arm/fmp626.md (mp626_alu_op): Likewise.
+ * config/arm/fa726te.md (726te_alu_op): Likewise.
+ * config/arm/fa626te.md (626te_alu_op): Likewise.
+ * config/arm/fa606te.md (606te_alu_op): Likewise.
+ * config/arm/fa526.md (526_alu_op): Likewise.
+ * config/arm/cortex-r4.md (cortex_r4_alu, cortex_r4_mov): Likewise.
+ * config/arm/cortex-m4.md (cortex_m4_alu): Likewise.
+ * config/arm/cortex-a9.md (cprtex_a9_dp): Likewise.
+ * config/arm/cortex-a8.md (cortex_a8_alu, cortex_a8_mov): Likewise.
+ * config/arm/cortex-a5.md (cortex_a5_alu): Likewise.
+ * config/arm/cortex-a15.md (cortex_a15_alu): Likewise.
+ * config/arm/arm926ejs.md (9_alu_op): Likewise.
+ * config/arm/arm1136jfs.md (11_alu_op): Likewise.
+ * config/arm/arm1026ejs.md (alu_op): Likewise.
+
+2012-11-30 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-pre.c (get_expr_value_id): Do not allocate value-ids here.
+
+2012-11-30 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (run_scc_vn): Remove iteration propagating
+ value_ids.
+
+2012-11-30 Steven Bosscher <steven@gcc.gnu.org>
+
+ * coretypes.h (struct pretty_print_info): Make a coretype.
+ (typedef pretty_printer): Likewise.
+ * pretty-print.h (typedef pretty_printer): Not needed here anymore.
+ * pretty-print.c (pp_write_text_as_dot_label_to_stream): New function.
+ * rtl.h (str_pattern_slim): New prototype.
+ (print_value, print_pattern, print_insn): Adjust prototypes to take
+ a pretty-printer rather than a char buffer.
+ * sched-vis.c (safe_concat): Remove.
+ (print_exp): Print into a pretty-printer.
+ (print_value): Likewise.
+ (print_pattern): Likewise.
+ (print_insn): Likewise.
+ (print_insn_with_notes): New static function.
+ (init_rtl_slim_pretty_print): New function.
+ (dump_value_slim): Simplify. Print into and flush a pretty-printer.
+ (dump_insn_slim): Likewise.
+ (dump_rtl_slim): Likewise.
+ (str_pattern_slim): New function.
+ * haifa-sched.c (model_recompute): Use str_pattern_slim instead of
+ static buffers.
+ (model_record_pressures): Likewise.
+ (schedule_insn): Likewise.
+ * sel-sched-dump.c (dump_insn_rtx_1): Likewise.
+ (sel_prepare_string_for_dot_label): Refer to graph.c CFG dumper code.
+ * graph.c: Include pretty-print.h.
+ (init_graph_slim_pretty_print): New function.
+ (print_escaped_line): Removed here, and reincarnated as
+ pp_write_text_as_dot_label_to_stream.
+ (draw_cfg_node): Print into a pretty printer.
+ (draw_cfg_node_succ_edges): Likewise.
+ (print_rtl_graph_with_bb): Likewise.
+ * Makefile.in (graph.o): Fix dependencies.
+ (tree-optimize.o, toplev.o, sched-vis.o): Likewise.
+
+2012-11-30 Jakub Jelinek <jakub@redhat.com>
+
+ * tsan.c (is_load_of_const_p): Removed.
+ (instrument_expr): Use result of get_inner_reference
+ instead of get_base_address, avoid some unnecessary tests,
+ use !pt_solution_includes and !may_be_aliased tests to
+ check whether base might escape current function.
+
+2012-11-30 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * gensupport.c (maybe_eval_c_test): Remove not-null check for expr.
+ * read-rtl.c (apply_iterators): Initialize condition with "" instead
+ of NULL.
+
+2012-11-30 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/host-mingw32.c (va_granularity): Make none-const.
+ (mingw32_gt_pch_alloc_granularity): Return OS' allocation granularity.
+ (mingw32_gt_pch_use_address): Retry mapping of used address
+ as multiple instances might interfer.
+
+ * config/i386/mingw32.h (SHARED_LIBGCC_SPEC): Synchronize with
+ cygwin-host.
+
+2012-11-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/55321
+ * calls.c (emit_library_call_value_1): Mark as no-nonlocal if no-throw.
+
+2012-11-29 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/55456
+ * lra-int.h (lra_new_regno_start): New external.
+ * lra.c (lra_new_regno_start): New global.
+ (lra): Set up lra_new_regno_start.
+ * lra-constraints.c (match_reload): Sync values only for original
+ pseudos.
+
+2012-11-29 Kai Tietz <ktietz@redhat.com>
+
+ PR target/53912
+ * prefix.c (lookup_key): Replace xmalloc/xrealloc
+ use by XNEWVEC/XRESIZEVEC.
+
+2012-11-29 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/55073
+ * config/arm/neon.md (neon_vtrn<mode>_internal): Split into expand
+ and insn patterns. Re-order insn arguments to tie inputs to outputs.
+ (neon_vzip<mode>_internal): Likewise.
+ (neon_vuzp<mode>_internal): Likewise.
+
+2012-11-29 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/53094
+ * fold-const.c (fold): Replace a CONSTRUCTOR with a VECTOR_CST.
+
+2012-11-29 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-pre.c (get_expr_value_id): Do not add expr
+ to the set of value expressions here.
+ (add_to_exp_gen, make_values_for_phi): Fold into ...
+ (compute_avail): ... here, and avoid useless work. Dump
+ avail sets in processing order.
+ (do_pre): Do not dump avail sets here.
+
+2012-11-29 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
+
+ PR target/54974
+ * config/arm/arm.md (thumb2_pool_range, pool_range): Add comment on
+ Thumb pool ranges.
+ (thumb1_extendhisi2): Reduce Thumb pool range.
+ (arm_movdi): Likewise.
+ (thumb1_movdi_insn): Likewise.
+ (thumb1_movsi_insn): Likewise.
+ (pic_load_addr_unified): Likewise.
+ (pic_load_addr_32bit): Likewise.
+ (pic_load_addr_thumb1): Likewise.
+ (thumb1_movhf): Likewise.
+ (arm_movsf_soft_insn): Likewise.
+ (thumb1_movsf_soft_insn): Likewise.
+ (movdf_soft_insn): Likewise.
+ (thumb1_movdf_soft_insn): Likewise.
+ * config/arm/neon.md (*neon_mov<mode>): Likewise.
+ (*neon_mov<mode>): Likwise.
+ * config/arm/thumb2.md: (*thumb2_movsi_insn): Likewise.
+ (*thumb2_movhi_insn): Likewise.
+ (*thumb2_extendqisi_v6): Likewise.
+ (*thumb2_zero_extendqisi_v6): Likewise.
+ (*thumb2_zero_extendqisi2_v6): Likewise.
+ * config/arm/vfp.md: (*thumb2_movsi_vfp): Likewise.
+ (*movdi_vfp): Likewise.
+ (*movdi_vfp_cortexa8): Likewise.
+ (*thumb2_movsf_vfp): Likewise.
+ (*thumb2_movdf_vfp): Likewise.
+
+2012-11-29 Kai Tietz <ktietz@redhat.com>
+
+ PR target/55171
+ * config/i386/i386.c (get_scratch_register_on_entry): Handle
+ thiscall-convention.
+ (split_stack_prologue_scratch_regno): Likewise.
+ (ix86_static_chain): Likewise.
+ (x86_output_mi_thunk): Likewise.
+
+2012-11-29 Marek Polacek <polacek@redhat.com>
+
+ * cprop.c (bypass_block): Improve debug message.
+
+2012-11-29 Oleg Raikhman <oleg@adapteva.com>
+
+ * config/epiphany/epiphany.h (FIXED_REGISTERS, CALL_USED_REGISTERS):
+ Make r40..r43 call-used.
+ (REG_ALLOC_ORDER): Sort r40..r43 into the call-used registers.
+
+2012-11-29 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * config/epiphany/predicates.md (addsub_operator): New predicate.
+ * config/epiphany/epiphany-sched.md (sched_use_fpu): New attribute.
+ * config/epiphany/epiphany.md (isub_i+1): New peephole2.
+ * config/epiphany/epiphany-protos.h (get_attr_sched_use_fpu): Declare.
+
+ * config/epiphany/epiphany.h (EPIPHANY_LIBRARY_EXTRA_SPEC): Define.
+ (EXTRA_SPECS, DRIVER_SELF_SPECS): Likewise.
+ * config/epiphany/t-epiphany (SPECS): Set.
+ (specs): New rule.
+
+ * config/epiphany/epiphany.md (isub_i+1): Work around generator bug.
+
+ * config/epiphany/epiphany.c (epiphany_adjust_cost): Use
+ reg_overlap_mentioned_p.
+
+2012-11-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/36728
+ PR debug/55467
+ PR middle-end/55507
+ PR bootstrap/55511
+ * cselib.c (cselib_process_insn): If cselib_preserve_constants,
+ don't reset table and exit early on volatile insns and setjmp.
+ Reset table afterwards on setjmp.
+
+2012-11-28 Andrew Pinski <apinski@cavium.com>
+
+ PR bootstrap/54279
+ * Makefile.in (${QMTEST_DIR}/context): Use xg++ instead of g++.
+
+2012-11-28 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR rtl-optimization/55052
+ * simplify-rtx.c (simplify_subreg): Restore SCALAR_INT_MODE_P check.
+
+2012-11-28 David Edelsohn <dje.gcc@gmail.com>
+
+ * target.def (use_blocks_for_decl_p): New hook.
+ * varasm.c (use_blocks_for_decl_p): Apply hook as final condition.
+ * doc/tm.texi.in (USE_BLOCKS_FOR_DECL_P): New description.
+ * doc/tm.texi: Regenerated.
+
+2012-11-28 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR middle-end/55438
+ * expmed.c (simple_mem_bitfield_p): New function, extracted from
+ store_bit_field_1 and extract_bit_field_1. Use GET_MODE_ALIGNMENT
+ rather than bitsize when checking the alignment.
+ (store_bit_field_1, extract_bit_field_1): Call it.
+ * stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
+ Don't limit ALIGN_. Assume that memory is mapped in chunks of at
+ least word size, regardless of BIGGEST_ALIGNMENT.
+ (bit_field_mode_iterator::get_mode): Use GET_MODE_ALIGNMENT rather
+ than unit when checking the alignment.
+ (get_best_mode): Use GET_MODE_ALIGNMENT.
+
+2012-11-28 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55512
+ * lra-assigns.c (assign_by_spills): Assigned arbitrary hard regs
+ to failed reload pseudos instead of changing asm pattern.
+ * lra-constraints.c (MAX_CONSTRAINT_ITERATION_NUMBER): Increase value.
+
+2012-11-28 Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ PR other/55358
+ * dse.c (rest_of_handle_dse): Remove superfluous clearing.
+
+2012-11-28 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * config/epiphany/predicates.md (move_double_src_operand):
+ Check that misaligned addresses are offsettable.
+ (move_dest_operand): Likewise.
+ * config/epiphany/epiphany.c (REG_OK_FOR_BASE_P): Don't force a
+ misaligned stack address to reg+index.
+
+ * config/epiphany/epiphany.opt (mfp-iarith): New option.
+ * config/epiphany/epiphgany.md (addsi3): Check for TARGET_FP_IARITH.
+ (subsi3, iadd, isub): Rename to ..
+ (subsi3_i, iadd_i, isub_i): .. This.
+ (subsi3, iadd, isub): New define_expands.
+
+ * config/epiphany/epiphgany.md (attribute type): Add v2fp.
+ (attribute fp_mode): Test for v2fp.
+ (<float_operation:insn_opname>v2sf3_i): Change type to v2fp.
+ * config/epiphany/epiphany-sched.md (fp_arith_nearest,
+ fp_arith_trunc): Combine to ..
+ (fp_arith): .. this.
+ (v2fp_arith): New insn reservation.
+
+ * config/epiphany/epiphgany.md (maddsi_combine): Fix output pattern.
+
+2012-11-28 Oleg Raikhman <oleg@adapteva.com>
+
+ * config/epiphany/epiphany.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
+
+2012-11-28 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * config/epiphany/epiphany.h (HARD_REGNO_RENAME_OK): Define.
+ * config/epiphany/epiphany-protos.h (epiphany_regno_rename_ok):
+ Declare.
+ * config/epiphany/epiphany.c (epiphany_regno_rename_ok): New function.
+
+ * config/epiphany/epiphany.md (mov<mode>, *mov<mode>_insn): Check
+ for misaligned memory operands.
+ * config/epiphany/predicates.md (misaligned_operand): New predicate.
+
+ * config/epiphany/epiphany.opt (-may-round-for-trunc): New option.
+ * config/epiphany/epiphany.md (*fix_truncsfsi2_i): Take it
+ into account.
+
+2012-11-28 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/54547
+ * tree-vrp.c (set_and_canonicalize_value_range): Handle
+ 1-bit anti-ranges explicitely.
+ (extract_range_from_assert): Properly canonicalize all
+ built anti-ranges.
+
+2012-11-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * stor-layout.c (layout_type) <ARRAY_TYPE>: Do not clear TREE_OVERFLOW
+ on overflowed zeroes, except in one specific case.
+
+2012-11-28 Marc Glisse <marc.glisse@inria.fr>
+
+ PR middle-end/55266
+ * fold-const.c (fold_ternary_loc) [BIT_FIELD_REF]: Handle
+ CONSTRUCTOR with vector elements.
+ * tree-ssa-propagate.c (valid_gimple_rhs_p): Handle CONSTRUCTOR
+ and BIT_FIELD_REF.
+
+2012-11-28 Richard Biener <rguenther@suse.de>
+
+ PR c/35634
+ * gimple.h (gimplify_self_mod_expr): Declare.
+ * gimplify.c (gimplify_self_mod_expr): Export. Take a different
+ type for performing the arithmetic in.
+ (gimplify_expr): Adjust.
+ * tree-vect-loop-manip.c (vect_can_advance_ivs_p): Strip
+ sign conversions we can re-apply after adjusting the IV.
+
+2012-11-28 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/55006
+ * loop-unroll.c (struct iv_to_split): Add new 'orig_var' member.
+ (analyze_iv_to_split_insn): Record it.
+ (maybe_strip_eq_note_for_split_iv): New function to remove REG_EQUAL
+ notes that refer to IVs that are being split.
+ (apply_opt_in_copies): Use maybe_strip_eq_note_for_split_iv. Twice.
+ Use FOR_BB_INSNS_SAFE.
+
+2012-11-27 Steven Bosscher <steven@gcc.gnu.org>
+
+ * rtl.h (debug_bb_n_slim, debug_bb_slim, debug_insn_slim): Remove
+ prototypes.
+ (debug_rtl_slim): Rename to dump_rtl_slim.
+ (print_value_slim): Rename to dump_value_slim.
+ * ira.c (ira_update_equiv_info_by_shuffle_insn): Update
+ print_value_slim user.
+ * lra.c (lra_process_new_insns): Use dump_insn_slim to dump single
+ insns. Use dump_rtl_slim for insn chains.
+ * lra-constraints.c (get_reload_reg): Update print_value_slim user.
+ (process_addr_reg): Likewise.
+ (equiv_address_substitution): Likewise.
+ (inherit_reload_reg): Likewise. Use dump_insn_slim to dump single
+ insns.
+ (check_and_process_move): Likewise.
+ (lra_constraints): Likewise.
+ (split_reg): Likewise.
+ (update_ebb_live_info): Likewise.
+ (remove_inheritance_pseudos): Likewise.
+ * sched-vis.c: Don't include sched-int.h.
+ Remove #ifdef INSN_SCHEDULING tests.
+ (print_value_slim): Rename to dump_value_slim. Simplify a few
+ cases using GET_RTX_NAME.
+ (print_pattern): Do not handle UNSPEC and UNSPECV here, explain why.
+ (print_insn): Reorganize code to be independent of INSN_SCHEDULING.
+ Always print CALL_INSN patterns. Harmonize INSN_UID dumping template.
+ Handle NOTE_INSN_CALL_ARG_LOCATION.
+ (dump_rtl_slim): Copied from debug_rtl_slim.
+ (debug_rtl_slim): Wrapper around dump_rtl_slim to stderr.
+ * haifa-sched.c (schedule_insn): Update print_insn user.
+
+2012-11-27 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55458
+ * lra-assigns.c: Include rtl-error.h.
+ (assign_by_spills): Report about asm impossible constraints.
+ * Makefile.in (lra-assigns.c): Add $(RTL_ERROR_H).
+
+2012-11-27 Paolo Bonzini <pbonzini@redhat.com>
+
+ PR rtl-optimization/55489
+ * gcse.c (compute_transp): Precompute a canonical version
+ of XEXP (x, 0), and pass it to canon_true_dependence.
+
+ * alias.c (init_alias_analysis): Fix allocation of reg_known_value.
+
+2012-11-27 Diego Novillo <dnovillo@google.com>
+
+ * vec.h: Replace 'class vec' with 'struct vec' everywhere.
+ (ggc_internal_cleared_alloc_stat): Remove.
+ (va_gc::reserve): Add PASS_MEM_STAT to ggc_realloc_stat call.
+ (va_stack::reserve): Add PASS_MEM_STAT to va_heap::reserve call.
+ (vec<T, A, vl_embed>::copy): Replace ALONE_MEM_STAT_DECL with
+ ALONE_CXX_MEM_STAT_INFO.
+ (vec_safe_reserve): Replace MEM_STAT_DECL with CXX_MEM_STAT_INFO.
+ (vec_safe_reserve_exact): Likewise.
+ (vec_alloc): Likewise.
+ (vec_safe_grow): Likewise.
+ (vec_safe_grow_cleared): Likewise.
+ (vec_safe_push): Likewise.
+ (vec_safe_insert): Likewise.
+ (vec_safe_splice): Likewise.
+ (vec_alloc): Likewise.
+ (vec_check_alloc): Likewise.
+
+2012-11-27 Marc Glisse <marc.glisse@inria.fr>
+
+ * tree-cfg.c (verify_gimple_comparison): Verify that vector
+ comparison returns a vector.
+
+2012-11-27 Meador Inge <meadori@codesourcery.com>
+
+ * collect2.c (main): Call find_file_set_debug.
+ (find_a_find, add_prefix, prefix_from_env, prefix_from_string):
+ Factor out into ...
+ * file-find.c (New file): ... here and ...
+ * file-find.h (New file): ... here.
+ * gcc-ar.c (standard_exec_prefix): New variable.
+ (standard_libexec_prefix): Ditto.
+ (tooldir_base_prefix) Ditto.
+ (self_exec_prefix): Ditto.
+ (self_libexec_prefix): Ditto.
+ (self_tooldir_prefix): Ditto.
+ (target_version): Ditto.
+ (path): Ditto.
+ (target_path): Ditto.
+ (setup_prefixes): New function.
+ (main): Rework how wrapped programs are found.
+ * Makefile.in (OBJS-libcommon-target): Add file-find.o.
+ (AR_OBJS): New variable.
+ (gcc-ar$(exeext)): Add dependency on $(AR_OBJS).
+ (gcc-nm$(exeext)): Ditto.
+ (gcc-ranlib(exeext)): Ditto.
+ (COLLECT2_OBJS): Add file-find.o.
+ (collect2.o): Add file-find.h prerequisite.
+ (file-find.o): New rule.
+
+2010-11-27 Dehao Chen <dehao@google.com>
+
+ * ipa-prop.c (ipa_modify_call_arguments): Set loc correctly.
+ * emit-rtl.c (last_location): Remove unused variable.
+
+2012-11-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md
+ (*jcc<X87MODEF:mode>_<SWI24:mode>_i387 splitters): Remove
+ unneeded temporary.
+
+2012-11-27 Dehao Chen <dehao@google.com>
+
+ * cfgrtl.c (rtl_merge_blocks): Check with UNKNOWN_LOCATION correctly.
+ (cfg_layout_merge_blocks): Likewise.
+
+2012-11-27 Jakub Jelinek <jakub@redhat.com>
+
+ * passes.c (init_optimization_passes): Add pass_asan and pass_tsan
+ to -Og optimization passes.
+
+2012-11-27 H.J. Lu <hongjiu.lu@intel.com>
+ Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ PR lto/54795
+ * lto-opts.c (lto_write_options): Also handle
+ OPT_SPECIAL_unknown, OPT_SPECIAL_ignore and
+ OPT_SPECIAL_program_name.
+
+ PR lto/55474
+ * lto-wrapper.c (merge_and_complain): Handle
+ OPT_SPECIAL_unknown, OPT_SPECIAL_ignore,
+ OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
+
+2012-11-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/52650
+ * function.c (instantiate_virtual_regs_in_insn): Don't delete invalid
+ asm gotos, instead just clear their template and inputs.
+
+ PR tree-optimization/55110
+ * tree-vect-loop.c (vectorizable_reduction): Don't assert
+ that STMT_VINFO_RELATED_STMT of orig_stmt is stmt.
+
+2012-11-27 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (fold_stmt_1): Remove unnecessary code.
+
+2012-11-27 Bin Cheng <bin.cheng@arm.com>
+
+ * config/arm/arm.c (thumb1_reorg): New function.
+ (arm_reorg): Call thumb1_reorg.
+ (thumb1_final_prescan_insn): Record src operand in thumb1_cc_op0.
+ * config/arm/arm.md : Remove peephole2 patterns which rewrite move
+ into subtract of ZERO.
+
+2012-11-27 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/55331
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Replace
+ stmt with a NOP instead of removing it.
+
+2012-11-27 Steven Bosscher <steven@gcc.gnu.org>
+
+ * loop-invariant.c (check_invariant_table_size): Take sizeof of
+ the right type.
+
+ * reorg.c (resource_conflicts_p): Use hard_reg_set_intersect_p.
+ (rare_destination): Remove.
+ (mostly_true_jump): Simplify. Base result on REG_BR_PROP notes if
+ available, otherwise assume branches are not taken.
+ (fill_eager_delay_slots): Update mostly_true_jump call.
+ (relax_delay_slots): Likewise.
+
+2012-11-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * reorg.c (redundant_insn): Do not handle DEBUG_INSNs.
+
+2012-11-26 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/55277
+ * lra-constraints.c (in_class_p): Check reg class contents too.
+
+2012-11-26 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/aarch64/aarch64-builtins.c (aarch64_builtin_decls): New.
+ (aarch64_init_simd_builtins): Store declaration after builtin
+ initialisation.
+ (aarch64_builtin_decl): New.
+ * config/aarch64/aarch64-protos.h (aarch64_builtin_decl): New.
+ * config/aarch64/aarch64.c (TARGET_BUILTIN_DECL): Define.
+
+2012-11-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * doc/invoke.texi: Remove -dv documentation. Fix up graph dump related
+ documentation. Document the '-graph' dump option. Complete the '-slim'
+ dump option documentation.
+
+ * common.opt (Variable graph_dump_format): Remove.
+ * flag-types.h (enum graph_dump_types): Remove.
+ * flags.h (dump_for_graph): Remove.
+ * opts.c (decode_d_option): Remove -dv handling.
+ * sched-int.h (print_insn, print_pattern, print_value): Move prototypes
+ from here ...
+ * rtl.h: ...to here. Add note that these functions ought to be in
+ another file.
+ * sched-vis.c (print_insn): Add detailed dump for insn notes.
+ * print-rtl.c (dump_for_graph): Remove.
+ (print_rtx): Remove dump_for_graph related code.
+ * graph.c: Almost complete re-write to dump DOT (GraphViz) dumps
+ instead of VCG dumps.
+ * graph.h (print_rtl_graph_with_bb): Update prototype.
+ * passes.c (finish_optimization_passes): Fix profile dump finishing.
+ Unconditionally loop over graph dumps to finalize.
+ (execute_function_dump): Split code to dump graphs to separate block.
+ (execute_one_pass): Don't set TDF_GRAPH here, let the dump option
+ decoders do their job.
+
+ * ddg.c (vcg_print_ddg): Make it a DEBUG_FUNCTION.
+ * toplev.c: Don't include graph.h.
+ * tree-optimize.c: Don't include graph.h.
+
+2012-11-26 Marek Polacek <polacek@redhat.com>
+
+ * cprop.c (hash_set): Remove variable. Use regno variable directly.
+
+2012-11-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.h (DECL_RESTRICTED_P): Delete.
+ (DECL_READ_P): Add comment.
+ (DECL_NONSHAREABLE): Likewise.
+ (TYPE_NO_FORCE_BLK): Fix comment.
+ (struct tree_decl_common): Remove decl_restricted_flag, add decl_flag_3.
+ * tree-emutls.c (new_emutls_decl): Do not deal with DECL_RESTRICTED_P.
+ * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise.
+ * tree-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
+
+ * alias.c (nonoverlapping_component_refs_p): Fix thinko.
+
+2012-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * doc/sourcebuild.texi: Document arm_v8_vfp_ok.
+
+2012-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.h (TARGET_FPU_ARMV8): New macro.
+ * config/arm/arm.md (UNSPEC_VRINTZ, UNSPEC_VRINTP, UNSPEC_VRINTM)
+ (UNSPEC_VRINTR, UNSPEC_VRINTX, UNSPEC_VRINTA): New unspecs.
+ (f_rints, f_rintd): New types.
+ * config/arm/iterators.md (VRINT): New int iterator.
+ (F_fma_type): Remove.
+ (vfp_type): New mode attribute.
+ (vfp_double_cond): Likewise.
+ (vrint_pattern, vrint_variant, vrint_predicable): New int attribute.
+ * config/arm/vfp.md (fma<SDF:mode>4): Use vfp_type iterator
+ instead of F_fma_type.
+ (*fmsub<SDF:mode>4, *fnmsub<SDF:mode>4, *fnmadd<SDF:mode>4): Likewise.
+ (<vrint_pattern><SDF:mode>2): New pattern.
+
+2012-11-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fold-const.c (const_binop): Adjust comment.
+ (extract_muldiv_1): Likewise.
+ (fold_comparison): Likewise.
+ * stor-layout.c (place_field): Fix typo.
+ * tree.c (double_int_fits_to_tree_p): Remove obsolete comment.
+ (force_fit_type_double): Likewise. Fix long line.
+
+2012-11-26 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * config/arm/arm.h (TARGET_LDRD): Reject Thumb1 targets.
+
+2012-11-26 Matthias Klose <doko@ubuntu.com>
+
+ * config/rs6000/t-linux (MULTIARCH_DIRNAME): Fix unbalanced
+ parentheses.
+
+2012-11-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54471
+ * tree-vrp.c (extract_range_from_binary_expr_1): For MULT_EXPR,
+ don't canonicalize range if min2 is zero.
+
+2012-11-26 Hans-Peter Nilsson <hp@bitrange.com>
+
+ PR middle-end/55030
+ * builtins.c (expand_builtin_setjmp_receiver): Update comment
+ regarding purpose of blockage.
+ * emit-rtl.c [!HAVE_blockage] (gen_blockage): Similarly for
+ the head comment.
+ * rtlanal.c (volatile_insn_p): Ditto.
+ * doc/md.texi (blockage): Update similarly. Change wording to
+ require one of two forms, rather than implying a wider choice.
+ * cse.c (cse_insn): Where checking for blocking insns, use
+ volatile_insn_p instead of manual check for volatile ASM.
+ * dse.c (scan_insn): Ditto.
+ * cselib.c (cselib_process_insn): Ditto.
+
+2012-11-25 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (<sse>_loadu<ssemodesuffix><avxsizesuffix>):
+ Do not depend on TARGET_SSE_TYPELESS_STORES.
+ (<sse2>_loaddqu<avxsizesuffix>): Ditto.
+ (<sse>_storeu<ssemodesuffix><avxsizesuffix>): Fix handling of
+ TARGET_SSE_TYPELESS_STORES.
+ (<sse2>_storedqu<avxsizesuffix>): Ditto.
+
+2012-11-25 Steven Bosscher <steven@gcc.gnu.org>
+
+ * doc/tm.texi.in (DELAY_SLOTS_FOR_EPILOGUE): Remove documentation.
+ (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
+ * doc/tm.texi: Regenerate.
+ * reorg.c (fill_simple_delay_slots): Remove code conditional on
+ DELAY_SLOTS_FOR_EPILOGUE being defined.
+ (make_return_insns, dbr_schedule): Likewise.
+ * system.h (DELAY_SLOTS_FOR_EPILOGUE): Poison.
+ (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
+
+2012-11-24 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fsanitize=address.
+
+2012-11-24 Matthias Klose <doko@ubuntu.com>
+
+ * configure.ac (multiarch): Use $enableval instead of $withval.
+ * configure: Regenerate.
+ * config/i386/t-kfreebsd (MULTILIB_OSDIRNAMES): Filter out x32.
+ * gcc/config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Use
+ x86_64-linux-gnux32 as multiarch name for x32.
+
+2012-11-23 Tobias Burnus <burnus@net-b.de>
+
+ * doc/invoke.texi (-fsanitize=address): Remove obsolete remark.
+
+2012-11-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/54046
+ * Makefile.in (gimple-low.o): Depend on langhooks.h.
+ * gimple-low.c: Include langhooks.c.
+ (block_may_fallthru): Handle TARGET_EXPR and ERROR_MARK,
+ by default call lang_hooks.block_may_fallthru.
+ * langhooks.h (struct lang_hooks): Add block_may_fallthru langhook.
+ * langhooks-def.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define.
+ (LANG_HOOKS_INITIALIZER): Use it.
+
+2012-11-23 Jan Hubicka <jh@suse.cz>
+
+ * i386-c.c (ix86_target_macros_internal): Update handling of core
+ chips.
+ * i386.c (DUMMY_STRINGOP_ALGS): Update
+ (*_cost): Update.
+ (core_cost): Copy from generic64_cost; fix stringop descriptors.
+ (m_CORE2_32, m_CORE2_64, m_COREI7_32, m_COREI7_64, m_CORE2I7_32,
+ m_CORE2I7_64): Remove.
+ (m_CORE2, m_COREI7, m_CORE2I7): Update.
+ (initial_ix86_tune_features): Update.
+ (processor_target): Update.
+ (ix86_option_override_internal): Update.
+ (ix86_option_override_internal): Remove PROCESSOR_CORE2_64,
+ PROCESSOR_COREI7_64 special cases.
+ (decide_alg): Add noalign parameter; set it.
+ (ix86_expand_movmem, ix86_expand_setmem): Update noalign handling.
+ (ix86_issue_rate): Update.
+ (ia32_multipass_dfa_lookahead): Update.
+ (ix86_sched_init_global): Update.
+ (get_builtin_code_for_version): Update.
+ * i386.h (stringop_strategy): Add noalign flag.
+ (TARGET_CORE2_32, TARGET_CORE2_64, TARGET_COREI7_32, TARGET_COREI7_64):
+ Remove.
+ (TARGET_CORE2, TARGET_COREI7): New.
+ (enum processor_type): Remove PROCESSOR_CORE2_32, PROCESSOR_CORE2_64,
+ PROCESSOR_COREI7_32, PROCESSOR_COREI7_64; add PROCESSOR_CORE2,
+ PROCESSOR_COREI7.
+
+2012-11-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/55388
+ * alias.c (nonoverlapping_component_refs_p): Handle bitfields.
+ * emit-rtl.c (adjust_address_1): Deal with VOIDmode early.
+ * expmed.c (store_bit_field): Turn the call to adjust_address
+ into a call to adjust_bitfield_address_size.
+
+2012-11-23 Vladimir Makarov <vmakarov@redhat.com>
+
+ * lra.c (lra): Move init_reg_info and expand_reg_info calls before
+ init_insn_recog_data.
+
+2012-11-23 Jakub Jelinek <jakub@redhat.com>
+
+ * tsan.c: Fix up comment formatting.
+ (instrument_gimple): Ignore gimple_clobber_p stmts.
+ (pass_tsan, pass_tsan_O0): Remove TODO_update_address_taken
+ from todo_flags_finish.
+
+ PR sanitizer/55435
+ * asan.c (gate_asan): Don't instrument functions with
+ no_address_safety_analysis attribute.
+ (gate_asan_O0): Use !optimize && gate_asan ().
+ * doc/extend.texi (no_address_safety_analysis): Document new
+ function attribute.
+
+2012-11-22 Teresa Johnson <tejohnson@google.com>
+ Jan Hubicka <jh@suse.cz>
+
+ * predict.c (maybe_hot_count_p): Use threshold from profiled working
+ set instead of hard limit.
+ (cgraph_maybe_hot_edge_p): Invoke maybe_hot_count_p() instead of
+ directly checking limit.
+ * params.def (HOT_BB_COUNT_FRACTION): Remove.
+ (HOT_BB_COUNT_WS_PERMILLE): New parameter.
+ * doc/invoke.texi (hot-bb-count-fraction): Remove.
+ (hot-bb-count-ws-permille): Document.
+
+2012-11-22 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/55430
+ * lra.c: Move #include "hard-reg-set.h" before #include "rtl.h".
+ (new_insn_reg): Update biggest_mode.
+ (collect_non_operand_hard_regs): Check eliminable regs too.
+ (initialize_lra_reg_info_element): Initialize biggest_mode.
+ (add_regs_to_insn_regno_info): Ignore non-allocatable
+ non-eliminable hard regs.
+ (lra.c): Move setting lra_no_alloc_regs before
+ init_insn_recog_data.
+ * lra-constraints.c (simplify_operand_subreg): Add a comment.
+ (lra_constraints): Ignore equivalent memory of
+ regs occuring in paradoxical subregs.
+ * lra-lives.c (lra_create_live_ranges): Add a comment.
+
+2012-11-22 Dmitry Vyukov <dvyukov@google.com>
+ Wei Mi <wmi@google.com>
+
+ * builtins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins.
+ * sanitizer.def: Ditto.
+ * Makefile.in (tsan.o): Add tsan.o target.
+ (BUILTINS_DEF): Add sanitizer.def.
+ * passes.c (init_optimization_passes): Add tsan passes.
+ * tree-pass.h (register_pass_info): Ditto.
+ * toplev.c (compile_file): Ditto.
+ * doc/invoke.texi: Document tsan related options.
+ * gcc.c (LINK_COMMAND_SPEC): Add LIBTSAN_SPEC in link command if
+ -fsanitize=thread.
+ * tsan.c: New file about tsan.
+ * tsan.h: Ditto.
+ * common.opt: Add -fsanitize=thread.
+
+2012-11-22 Uros Bizjak <ubizjak@gmail.com>
+
+ * doc/md.texi (RTL Templates Transformation): Use @pxref for
+ cross-reference in parentheses.
+
+2012-11-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ * doc/md.texi (AArch64 family): Remove Utf.
+
+2012-11-22 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*jcc<mode>_0_i387): Macroize insn
+ from *fp_jcc_3_387 using X87MODEF mode iterator.
+ (*jcc<mode>_0_r_i387): New.
+ (*jccxf_i387): Ditto.
+ (*jccxf_r_i387): Ditto.
+ (*jcc<mode>_i387): Macroize insn from *fp_jcc_1_387 using
+ MODEF mode iterator.
+ (*jcc<mode>_r_i387): Macroize insn from *fp_jcc_1r_387 using
+ MODEF mode iterator.
+ (*jccu<mode>_i387): Macroize insn from *fp_jcc_2_387 using
+ X87MODEF mode iterator.
+ (*jccu<mode>_r_i387): Macroize insn from *fp_jcc_2r_387 using
+ X87MODEF mode iterator.
+ (*jcc{,u}<mode>_i387 splitters): Macroize splitters using
+ X87MODEF mode iterator.
+ (*jcc<X87MODEF:mode>_<SWI24:mode>_i387): Macroize insn
+ from *fp_jcc_4_<mode>_387 using X87MODEF mode iterator.
+ (*jcc<X87MODEF:mode>_<SWI24:mode>_r_i387): New.
+ (*jcc<X87MODEF:mode>_<SWI24:mode>_i387 splitters): Macroize
+ splitters using X87MODEF and SWI24 mode iterators.
+
+2012-11-22 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (FPCMP): New mode iterator.
+ (unord): New mode attribute.
+ (*cmp<mode>_0_i387): Macroize insn from *cmpfp_0
+ using X87MODEF mode iterator.
+ (*cmp<mode>_0_cc_i387): Macroize insn from *cmpfp_0_cc using
+ X87MODEF mode iterator.
+ (*cmpxf_i387): Rename from *cmpfp_xf.
+ (*cmpxf_cc_i387): Rename from *cmpfp_xf_cc.
+ (*cmp<mode>_i387): Rename from *cmpfp_<mode>.
+ (*cmp<mode>_cc_i387): Rename from *cmpfp_<mode>_cc.
+ (*cmpu<mode>_i387): Macroize insn from *cmpfp_u using X87MODEF
+ mode iterator.
+ (*cmpu<mode>_cc_i387): Macroize insn from *cmpfp_u_cc using X87MODEF
+ mode iterator.
+ (*cmp<X87MODEF:mode>_<SWI24:mode>_i387): Macroize_insn from
+ *cmpfp_<mode> using X87MODEF mode iterator.
+ (*cmp<X87MODEF:mode>_<SWI24:mode>_cc_i387): Macroize_insn from
+ *cmpfp_<mode>_cc using X87MODEF mode iterator.
+ (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Macroize insn from
+ *cmpfp_i{,u}_mixed using FPCMP and MODEF mode iterators.
+ (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Macroize insn from
+ *cmpfp_i{,u}_sse using FPCMP and MODEF mode iterators.
+ (*cmpi<CCFPCMP:unord><X87MODEF:mode>_i387): Macroize insn from
+ *cmpfp_i{,u}_387 using FPCMP and X87MODEF mode iterators.
+
+2012-11-22 Ian Bolton <ian.bolton@arm.com>
+
+ * config/aarch64/aarch64.md (bswaphi2): New pattern.
+
+2012-11-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR sanitizer/55379
+ * gcc.c (LINK_COMMAND_SPEC): Issue an error for -static with
+ -fsanitize=address.
+
+2012-11-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.c (ADD_STATIC_LIBASAN_LIBS): New macro. Defined
+ with STATIC_LIBASAN_LIBS.
+ (LIBASAN_SPEC): Add STATIC_LIBASAN_LIBS.
+ * config/gnu-user.h (STATIC_LIBASAN_LIBS): New macro.
+
+2012-11-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.md (*arm_abssi2): Define predicable attribute.
+ (*arm_neg_abssi2): Likewise.
+ * config/arm/thumb2.md (*thumb2_abssi2): Likewise.
+ (*thumb2_neg_abssi2): Likewise.
+
+2012-11-22 Jakub Jelinek <jakub@redhat.com>
+
+ * ree.c (struct ext_modified): Add ATTRIBUTE_PACKED.
+
+2012-11-22 Georg-Johann Lay <avr@gjlay.de>
+
+ Adjust decimal point of signed accum mode to GCC default.
+
+ PR target/54222
+ * config/avr/avr-modes.def (HA, SA, DA): Remove mode adjustments.
+ (TA): Move decimal point one bit to the right.
+ * config/avr/avr.c (avr_out_fract): Rewrite.
+
+2012-11-21 Matthias Klose <doko@ubuntu.com>
+
+ * config/alpha/t-linux: New file; define MULTIARCH_DIRNAME.
+ * config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux.
+
+2012-11-21 Matthias Klose <doko@ubuntu.com>
+
+ * config/m68k/t-linux: Define MULTIARCH_DIRNAME.
+
+2012-11-21 Matthias Klose <doko@ubuntu.com>
+
+ * config/ia64/t-linux: New file; define MULTIARCH_DIRNAME.
+ * config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux.
+
+2012-11-21 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55414
+ * lra-constraints.c (Index): New function.
+ (lra_constraints): Check dead equiv init insns.
+
+2012-11-21 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.md (extvmisaligndi): Rename from extv; update
+ mode of operand 1; remove ancient extract_bit_field workaround.
+ (insvmisaligndi): Rename from insv and update similarly.
+ (extzvmisaligndi): Rename from extzv and update similarly; split out...
+ (extzvdi): New expander.
+
+2012-11-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * doc/cpp.texi: Document __SANITIZE_ADDRESS__.
+
+2012-11-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR c/55397
+ * cppbuiltin.c (define_builtin_macros_for_compilation_flags):
+ Define __SANITIZE_ADDRESS__ for flag_asan.
+
+2012-11-21 Wei Mi <wmi@google.com>
+
+ * common.opt: Change faddress-sanitizer to fsanitize=address.
+ * toplev.c (process_options): Likewise.
+ * gcc.c (LINK_COMMAND_SPEC): Likewise.
+ * testsuite/lib/asan-dg.exp
+ (check_effective_target_faddress_sanitizer): Likewise.
+ (asan_init): Likewise.
+ * doc/invoke.texi (-fsanitize=address): Document.
+
+2012-11-21 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.h (struct ipa_node_params): Rename clone_for_all_contexts to
+ do_clone_for_all_contexts. Update all uses. New flag
+ is_all_contexts_clone.
+ * ipa-cp.c (cgraph_edge_brings_value_p): Also consider the case when cs
+ leads to the clone for all contexts.
+ (perhaps_add_new_callers): Likewise.
+ (decide_whether_version_node): Remove bogus !plats->aggs test. Set
+ is_all_contexts_clone when cloning for all contexts.
+
+2012-11-21 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/55260
+ * ipa-cp.c (intersect_aggregates_with_edge): New function.
+ (find_aggregate_values_for_callers_subset): Part moved to the function
+ above. Call it.
+ (cgraph_edge_brings_all_agg_vals_for_node): Reimplemented using
+ intersect_aggregates_with_edge.
+
+2012-11-21 Matthias Klose <doko@ubuntu.com>
+
+ * config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
+
+2012-11-21 Teresa Johnson <tejohnson@google.com>
+
+ PR gcov-profile/55417
+ * profile.c (compute_working_sets): Check index first
+ to avoid out-of-bounds array access.
+
+2012-11-21 Matthias Klose <doko@ubuntu.com>
+
+ * config/aarch64/t-aarch64-linux: Define MULTIARCH_DIRNAME for
+ linux target.
+
+2012-11-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md
+ (*float<SWI48x:mode><MODEF:mode>2_mixed_with_temp): Use SWI48 mode
+ iterator instead of SWI48x. Update insn constraint.
+ (*float<SWI48x:mode><MODEF:mode>2_mixed_interunit): Ditto.
+ (*float<SWI48x:mode><MODEF:mode>2_mixed_nointerunit): Ditto.
+ (*float<SWI48x:mode><MODEF:mode>2_sse_with_temp): Ditto.
+ (*float<SWI48x:mode><MODEF:mode>2_sse_interunit): Ditto.
+ (*float<SWI48x:mode><MODEF:mode>2_sse_nointerunit): Ditto.
+ (*float<SWI48x:mode><MODEF:mode>2 splitters): Ditto.
+ (lrint<MODEF:mode><SWI48x:mode>2): Ditto.
+
+2012-11-21 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ * Makefile.in (gengtype-lex.o): Add dependency on $(BCONFIG_H).
+
+2012-11-21 Bin Cheng <bin.cheng@arm.com>
+
+ * config/arm/arm-cores.def (cortex-m1, cortex-m0)
+ (cortex-m0plus): Use v6m.
+ * config/arm/arm-protos.h (tune_params): Add
+ logical_op_non_short_circuit.
+ * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune)
+ (arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune)
+ (arm_cortex_tune, arm_cortex_a15_tune, arm_cortex_a5_tune)
+ (arm_cortex_a9_tune, arm_fa726te_tune): Set
+ logical_op_non_short_circuit field.
+ (arm_v6m_tune): New tune_params struct.
+ * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Define.
+
+2012-11-20 Matthias Klose <doko@ubuntu.com>
+
+ * configure.ac: Substitute `with_cpu'.
+ * configure: Regenerate.
+ * Makefile.in: Define `with_cpu'.
+ * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
+ * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
+ * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
+ to the list.
+ (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS.
+ * config/rs6000/t-spe: Define MULTIARCH_DIRNAME.
+ * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
+ Include rs6000/t-linux for 32bit non-biarch configurations.
+
+2012-11-20 Matthias Klose <doko@ubuntu.com>
+
+ * doc/install.texi: Move multiarch paragraph out of multilib
+ documentation.
+
+2012-11-20 Matthias Klose <doko@ubuntu.com>
+
+ * config/arm/t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.
+
+2012-11-20 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * stor-layout.c (bit_field_mode_iterator::next_mode): Fix signedness.
+
+2012-11-20 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55396
+ * lra-constraints.c (get_reload_reg): Change class if it is
+ different from reg class.
+
+2012-11-20 Jakub Jelinek <jakub@redhat.com>
+
+ * vec.h (class vec_prefix): Change into struct.
+ Rename field alloc_PRIVATE_ back to alloc_.
+ Rename field num_PRIVATE_ to num_.
+ Update all users.
+ (class vec<T, A, vl_embed>): Rename field pfx_PRIVATE_ to vecpfx_.
+ Rename field data_PRIVATE_ to vecdata_.
+ Update all users.
+ (class vec<T, A, vl_ptr>): Make every field public.
+ Rename field vec_PRIVATE_ back to vec_.
+ Update all users.
+
+2012-11-20 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR middle-end/55403
+ PR middle-end/55391
+ * expmed.c (store_bit_field_1): Use adjust_bitfield_address_size
+ rather than adjust_bitfield_address to change the mode of a reference.
+ (extract_bit_field_1): Likewise.
+
+2012-11-20 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
+ explaining the register ordering preferences.
+
+2012-11-20 Aldy Hernandez <aldyh@redhat.com>
+
+ PR tree-optimization/55350
+ * gimple-ssa-strength-reduction.c (replace_dependent): Handle
+ POINTER_PLUS_EXPR correctly.
+
+2012-11-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (fix_trunc<MODEF:mode><SWI48:mode>_sse): Macroize
+ insn from fix_trunc<mode>{si,di}_sse using SWI48 mode iterator.
+ (peephole2 to avoid vector decoded forms): Macroize peephole2
+ using MODEF mode iterator. Use SWI48 mode iterator instead of SWI48x.
+
+2012-11-20 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/19398
+ * config/i386/i386.md
+ (peephole2 to shorten x87->SSE reload sequences): Remove peephole2.
+ * config/i386/i386.h (enum ix86_tune_indices)
+ <IX86_TUNE_SHORTEN_X87_SSE>: Remove.
+ (TARGET_SHORTEN_X87_SSE): Remove.
+ * config/i386/i386.c (initial_ix86_tune_features): Update.
+
+2012-11-20 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/19398
+ * lra-constraints.c (process_alt_operands): Discourage reloads
+ through secondary memory.
+
+2012-11-20 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/rs6000.md (largetoc_low): Revert.
+ (largetoc_low_aix<mode>): New.
+
+2012-11-20 Diego Novillo <dnovillo@google.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * vec.h (struct vnull): Declare.
+ (vNULL): Declare.
+ * vec.c (vNULL): Define.
+ * bb-reorder.c: Replace all vec<T, A>() initializers with vNULL.
+ * cfgexpand.c: Likewise.
+ * cfgloop.c: Likewise.
+ * cfgloopanal.c: Likewise.
+ * cfgloopmanip.c: Likewise.
+ * cgraph.c: Likewise.
+ * config/c6x/c6x.c: Likewise.
+ * config/i386/i386.c: Likewise.
+ * df-core.c: Likewise.
+ * dominance.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * except.c: Likewise.
+ * function.c: Likewise.
+ * gcse.c: Likewise.
+ * genautomata.c: Likewise.
+ * graphds.c: Likewise.
+ * graphite-scop-detection.c: Likewise.
+ * graphite.c: Likewise.
+ * haifa-sched.c: Likewise.
+ * ifcvt.c: Likewise.
+ * ipa-cp.c: Likewise.
+ * ipa-inline-analysis.c: Likewise.
+ * ipa-inline-transform.c: Likewise.
+ * ipa-inline.c: Likewise.
+ * ipa-prop.c: Likewise.
+ * ipa-split.c: Likewise.
+ * ipa-utils.c: Likewise.
+ * ira-build.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * lto-streamer-in.c: Likewise.
+ * lto-symtab.c: Likewise.
+ * opts-global.c: Likewise.
+ * passes.c: Likewise.
+ * ree.c: Likewise.
+ * sched-deps.c: Likewise.
+ * sel-sched-ir.c: Likewise.
+ * sel-sched-ir.h: Likewise.
+ * sel-sched.c: Likewise.
+ * stor-layout.c: Likewise.
+ * trans-mem.c: Likewise.
+ * tree-call-cdce.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-data-ref.c: Likewise.
+ * tree-diagnostic.c: Likewise.
+ * tree-eh.c: Likewise.
+ * tree-loop-distribution.c: Likewise.
+ * tree-predcom.c: Likewise.
+ * tree-ssa-loop-im.c: Likewise.
+ * tree-ssa-loop-ivcanon.c: Likewise.
+ * tree-ssa-loop-manip.c: Likewise.
+ * tree-ssa-loop-niter.c: Likewise.
+ * tree-ssa-loop-prefetch.c: Likewise.
+ * tree-ssa-math-opts.c: Likewise.
+ * tree-ssa-phiopt.c: Likewise.
+ * tree-ssa-pre.c: Likewise.
+ * tree-ssa-propagate.c: Likewise.
+ * tree-ssa-reassoc.c: Likewise.
+ * tree-ssa-sccvn.c: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-ssa-threadedge.c: Likewise.
+ * tree-ssa-uninit.c: Likewise.
+ * tree-stdarg.c: Likewise.
+ * tree-switch-conversion.c: Likewise.
+ * tree-vect-data-refs.c: Likewise.
+ * tree-vect-loop.c: Likewise.
+ * tree-vect-slp.c: Likewise.
+ * tree-vect-stmts.c: Likewise.
+ * value-prof.c: Likewise.
+ * varasm.c: Likewise.
+
+2012-11-20 Diego Novillo <dnovillo@google.com>
+
+ * Makefile.in (tlink.o): Add dependency on VEC_H.
+
+2012-11-20 Diego Novillo <dnovillo@google.com>
+
+ PR middle-end/55398
+ * vec.h (class vec_prefix): Make every field public.
+ Rename field alloc_ to alloc_PRIVATE_.
+ Rename field num_ to num_PRIVATE_.
+ Update all users.
+ (class vec<T, A, vl_embed>): Make every field public.
+ Rename field pfx_ to pfx_PRIVATE_.
+ Rename field data_ to data_PRIVATE_.
+ Update all users.
+ (class vec<T, A, vl_ptr>): Make every field public.
+ Rename field vec_ to vec_PRIVATE_.
+ Update all users.
+
+2012-11-20 Kai Tietz <ktietz@redhat.com>
+
+ PR target/55268
+ * i386.c (ix86_mangle_decl_assembler_name): Use
+ SUBTARGET_MANGLE_DECL_ASSEMBLER_NAME if defined.
+ * cygming.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Rename
+ to SUBTARGET_MANGLE_DECL_ASSEMBLER_NAME.
+
+2012-11-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_expand_call): Emit CLOBBERs in VOIDmode.
+
+2012-11-20 Nick Clifton <nickc@redhat.com>
+
+ * config/v850/v850.c (F): New function. Mark the given insn as
+ being frame related.
+ (v850_all_frame_related): New function. Mark the given push insn
+ as being frame related.
+ (v850_pass_by_reference): When using the RH850 ABI do not pass
+ arguments by reference.
+ (v850_strict_argument_naming): Delete function.
+ (v850_function_arg): Use word alignment with the RH850 ABI.
+ (v850_arg_partial_bytes): Likewise.
+ (v850_function_arg_advance): Likewise.
+ (v850_print_operand): Handle CONST_INT and CONST_DOUBLE.
+ (compute_register_save_size): Use df_regs_ever_live_p.
+ (increment_stack): Mark prologue adjustments as being frame related.
+ (expand_prologue): Handle pretend args. Mark insns generated as
+ being frame related.
+ (expand_epilogue): Likewise.
+ (v850_return_in_memory): When using the RH850 ABI return
+ aggregates in memory.
+ (v850_setup_incoming_varargs): Delete function.
+ (v850_option_override): New function.
+ (TARGET_DEBUG_UNWIND_INFO): Delete definition.
+ (TARGET_SETUP_INCOMING_VARARGS): Likewise.
+ (TARGET_STRICT_ARGUMENT_NAMING): Likewise.
+ (TARGET_OPTION_OVERRIDE): Define.
+ * config/v850/v850.h (ASM_SPEC): Pass 8byte-align and gcc-abi
+ options on to assembler.
+ (LINK_SPEC): Likewise.
+ (TARGET_CPU_CPP_BUILTINS): Define __V850_8BYTE_ALIGN__ and
+ __V850_GCC_ABI__.
+ (STACK_BOUNDARY): Set to BIGGEST_ALIGNMENT.
+ (FUNCTION_BOUNDARY): With the RH850 ABI always 32-bit alignment.
+ (BIGGEST_ALIGNMENT): With -8byte-align set to 64-bits.
+ (BIGGEST_FIELD_ALIGNMENT): Likewise.
+ (enum reg_class): Swap EVEN_REGS and GENERAL_REGS.
+ (REG_CLASS_NAMES): Likewise.
+ (REG_CLASS_CONTENTS): Likewise.
+ (struct cum_arg): Delete anonymous_args field.
+ (INIT_CUMULATIVE_ARGS): Update.
+ (PREFERRED_DEBUG): Set to DWARF2_DEBUG.
+ (DWARF2_FRAME_INFO): Define.
+ (DWARF2_UNWIND_INFO): Define.
+ (INCOMING_RETURN_ADDR_RTX): Define.
+ (DWARF_FRAME_RETURN_COLUMN): Define.
+ (TARGET_USE_FPU): Define.
+ * config/v850/v850.md: Replace TARGET_V850E2V3 in floating point
+ insns with TARGET_USE_FPU.
+ (fixuns_truncsfsi2): New pattern.
+ (fixuns_truncdfsi2): New pattern.
+ (fix_truncsfdi2): New pattern.
+ (fixuns_truncsfdi2): New pattern.
+ (fix_truncdfdi2): New pattern.
+ (fixuns_truncdfdi2): New pattern.
+ (unsfloatsisf2): New pattern.
+ (unsfloatsidf2): New pattern.
+ (floatdisf2): New pattern.
+ (unsfloatdisf2): New pattern.
+ (floatdidf2): New pattern.
+ (unsfloatdidf2): New pattern.
+ (fnmasf4): Fix RTl description.
+ (fnmssf4): Likewise.
+ * config/v850/v850.opt (mrelax): New option.
+ (mlong-jumps): Likewise.
+ (msoft-float): Likewise.
+ (mhard-float): Likewise.
+ (mrh850-abi): Likewise.
+ (mgcc-abi): Likewise.
+ (m8byte-align): Likewise.
+ * config/v850/t-v850 (MULTILIB_OPTIONS): Update multilib options.
+ (MULTILIB_DIRNAMES): Likewise.
+
+2012-11-20 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.c (rx_function_arg_boundary): When using the RX ABI
+ align stack arguments to their natural alignment.
+ (rx_narrow_volatile_bitfield): New function. Allows narrow
+ volatile bitfields.
+ (rx_ok_to_inline): New function. Do not inline functions with
+ local variables into a naked caller.
+ (TARGET_NARROW_VOLATILE_BITFIELD): Define.
+ (TARGET_CAN_INLINE_P): Define.
+ * config/rx/rx.c (TARGET_CPU_CPP_BUILTINS): Define __RX_ABI__ or
+ __RX_GC_ABI__.
+ (ASM_SPEC): Pass -mgcc-abi on to the assembler.
+ (STRICT_ALIGNMENT): Set to false.
+ (CTORS_SECTION_ASM_OP): Add executable attribute.
+ (DTORS_SECTION_ASM_OP): Add executable attribute.
+ (INIT_ARRAY_SECTION_ASM_OP): Add executable attribute.
+ (FINI_ARRAY_SECTION_ASM_OP): Add executable attribute.
+ * config/rx/rx.md (subdi3): Don't allow MEMs as the third operand,
+ as it causes too much reload pressure.
+ * config/rx/rx.opt (mgcc-abi): New option.
+ (mrx-abi): New option.
+ * config/rx/t-rx (MULTILIB_OPTIONS): Show how to add an ABI multilib.
+ (MULTILIB_DIRNAMES): Likewise.
+
+2012-11-20 James Greenhalgh <james.greenhalgh@arm.com>
+ Tejas Belagod <tejas.belagod@arm.com>
+
+ * config/aarch64/aarch64-builtins.c
+ (aarch64_simd_builtin_type_bits): Rename to...
+ (aarch64_simd_builtin_type_mode): ...this, make sequential.
+ (aarch64_simd_builtin_datum): Refactor members.
+ (VAR1, VAR2, ..., VAR12): Update accordingly.
+ (aarch64_simd_builtin_data): Include from aarch64-simd-builtins.def.
+ (aarch64_builtins): Update accordingly.
+ (init_aarch64_simd_builtins): Refactor, rename to...
+ (aarch64_init_simd_builtins): ...this.
+ (aarch64_simd_builtin_compare): Remove.
+ (locate_simd_builtin_icode): Likewise.
+ * config/aarch64/aarch64-protos.h (aarch64_init_builtins): New.
+ (aarch64_expand_builtin): New.
+ * config/aarch64/aarch64-simd-builtins.def: New file.
+ * config/aarch64/aarch64.c (aarch64_init_builtins):
+ Move to aarch64-builtins.c.
+ (aarch64_expand_builtin): Likewise.
+ * config/aarch64/aarch64.h
+ (aarch64_builtins): Move to aarch64-builtins.c.
+
+2012-11-20 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/55260
+ * ipa-cp.c (find_aggregate_values_for_callers_subset): Rename info to
+ dest_info, use caller_info instead of info when determining whether
+ callee is a clone.
+
+2012-11-20 Andrey Turetskiy <andrey.turetskiy@gmail.com>
+
+ * config/i386/sse.md (*<ssse3_avx2>_pmulhrsw<mode>3): Merge
+ *avx2_pmulhrswv16hi3 and *ssse3_pmulhrswv8hi3 into one pattern.
+
+2012-11-20 Sofiane Naci <sofiane.naci@arm.com>
+
+ * config/aarch64/aarch64.md
+ (define_attr "sync_*"): Remove.
+ (define_attr "length"): Update.
+ Include atomics.md.
+ * config/aarch64/aarch64-protos.h
+ (aarch64_expand_compare_and_swap): Add function prototype.
+ (aarch64_split_compare_and_swap): Likewise.
+ (aarch64_split_atomic_op): Likewise.
+ (aarch64_expand_sync): Remove function prototype.
+ (aarch64_output_sync_insn): Likewise.
+ (aarch64_output_sync_lock_release): Likewise.
+ (aarch64_sync_loop_insns): Likewise.
+ (struct aarch64_sync_generator): Remove.
+ (enum aarch64_sync_generator_tag): Likewise.
+ * config/aarch64/aarch64.c
+ (aarch64_legitimize_sync_memory): Remove function.
+ (aarch64_emit): Likewise.
+ (aarch64_insn_count): Likewise.
+ (aarch64_output_asm_insn): Likewise.
+ (aarch64_load_store_suffix): Likewise.
+ (aarch64_output_sync_load): Likewise.
+ (aarch64_output_sync_store): Likewise.
+ (aarch64_output_op2): Likewise.
+ (aarch64_output_op3): Likewise.
+ (aarch64_output_sync_loop): Likewise.
+ (aarch64_get_sync_operand): Likewise.
+ (aarch64_process_output_sync_insn): Likewise.
+ (aarch64_output_sync_insn): Likewise.
+ (aarch64_output_sync_lock_release): Likewise.
+ (aarch64_sync_loop_insns): Likewise.
+ (aarch64_call_generator): Likewise.
+ (aarch64_expand_sync): Likewise.
+ (* emit_f): Remove variable.
+ (aarch64_insn_count): Likewise.
+ (FETCH_SYNC_OPERAND): Likewise.
+ (aarch64_emit_load_exclusive): New function.
+ (aarch64_emit_store_exclusive): Likewise.
+ (aarch64_emit_unlikely_jump): Likewise.
+ (aarch64_expand_compare_and_swap): Likewise.
+ (aarch64_split_compare_and_swap): Likewise.
+ (aarch64_split_atomic_op): Likewise.
+ * config/aarch64/iterators.md
+ (atomic_sfx): New mode attribute.
+ (atomic_optab): New code attribute.
+ (atomic_op_operand): Likewise.
+ (atomic_op_str): Likewise.
+ (syncop): Rename to atomic_op.
+ * config/aarch64/sync.md: Delete.
+ * config/aarch64/atomics.md: New file.
+
+2012-11-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/55094
+ * builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note
+ on the trap insn for !ACCUMULATE_OUTGOING_ARGS.
+ * cfgcleanup.c (outgoing_edges_match): Don't look at debug insns
+ on the first old_insns_match_p call. For !ACCUMULATE_OUTGOING_ARGS
+ fail if the last real insn doesn't have REG_ARGS_SIZE note.
+
+ PR rtl-optimization/54921
+ * cselib.h (fp_setter_insn): New prototype.
+ * cselib.c (fp_setter_insn): New function.
+ (cselib_process_insn): If frame_pointer_needed,
+ call cselib_invalidate_rtx (stack_pointer_rtx) after
+ processing a frame pointer setter.
+ * var-tracking.c (fp_setter): Removed.
+ (vt_initialize): Use fp_setter_insn instead of fp_setter.
+
+2012-11-19 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
+ constraints so that the traditional floating point loads, stores,
+ and moves are done first, then the VSX loads, stores, and moves,
+ and finally the GPR loads, stores, and moves so that reload
+ chooses FPRs over GPRs, and uses the traditional load/store
+ instructions which provide an offset.
+ (movdf_hardfloat64): Likewise.
+
+2012-11-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR middle-end/55359
+ * simplify-rtx.c (simplify_subreg): Return null for invalid offsets.
+
+2012-11-19 Aldy Hernandez <aldyh@redhat.com>
+
+ * trans-mem.c (execute_tm_mark): Release bb_regions.
+
+2012-11-19 Aldy Hernandez <aldyh@redhat.com>
+
+ * trans-mem (collect_bb2reg): Stop scanning at irrevocable blocks.
+ (get_bb_regions_instrumented): Add new traverse_clone argument and
+ use it.
+ (expand_regions_1): Same.
+ (expand_region): Same.
+ (execute_tm_mark): Pass new argument to expand_regions.
+ (expand_block_edges): Pass new argument to get_bb_regions_instrumented.
+
+2012-11-19 Sofiane Naci <sofiane.naci@arm.com>
+
+ * config/aarch64/aarch64.c
+ (aarch64_output_mi_thunk): Refactor to generate RTL patterns.
+
+2012-11-19 Mans Rullgard <mans@mansr.com>
+
+ PR target/55276
+ * config/rs6000/rs6000.c (rs6000_stack_info): Always set vrsave_mask
+ for TARGET_ALTIVEC_ABI. Zero vrsave_save_offset if
+ !TARGET_ALTIVEC_VRSAVE.
+ (rs6000_emit_prologue): For SAVE_INLINE_VLRs, check vrsave_size
+ not vrsave_mask.
+
+2012-11-19 David Edelsohn <dje.gcc@gmail.com>
+
+ PR bootstrap/55384
+ * system.h (vec_free): Undef.
+
+2012-11-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/54630
+ * tree-ssa-coalesce.c (coalesce_ssa_name): Remove static
+ keyword from ssa_name_hash var.
+
+2012-11-19 Maxim Kuznetsov <maxim.kuznetsov@intel.com>
+ Kirill Yukhin <kirill.yukhin@intel.com>
+ Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * doc/md.texi: Document define_subst.
+ * gensupport.c (MAX_OPERANDS): New define.
+ (operand_data): New.
+ (match_operand_entries_in_pattern): New.
+ (used_operands_numbers): New.
+ (subst_true): New.
+ (subst_false): New.
+ (define_subst_queue): New.
+ (define_subst_tail): New.
+ (define_subst_attr_queue): New.
+ (define_subst_attr_tail): New.
+ (has_subst_attribute): New.
+ (subst_pattern_match): New.
+ (get_alternatives_number): New.
+ (alter_output_for_subst_insn): New.
+ (alter_attrs_for_subst_insn): New.
+ (process_substs_on_one_elem): New.
+ (subst_dup): New.
+ (process_define_subst): New.
+ (duplicate_alternatives): New.
+ (duplicate_each_alternative): New.
+ (constraints_handler_t): New typedef.
+ (alter_constraints): New.
+ (adjust_operands_numbers): New.
+ (replace_duplicating_operands_in_pattern): New.
+ (remove_from_queue): New.
+ (process_rtx): Handle define_subst and define_subst_attr.
+ (change_subst_attribute): New.
+ (alter_predicate_for_insn): Fix formatting.
+ (alter_attrs_for_insn): Likewise.
+ (alter_output_for_insn): Likewise.
+ (mark_operands_from_match_dup): New.
+ (mark_operands_used_in_match_dup): New.
+ (find_first_unused_number_of_operand): New.
+ (renumerate_operands_in_pattern): New.
+ (generate_match_dup): New.
+ (check_define_attr_duplicates): New.
+ (init_rtx_reader_args_cb): Add checking for duplicated attrs and
+ processing of define_subst.
+ (read_md_rtx): Handle define_subst.
+ * read-rtl.c (struct subst_attr_to_iter_mapping): New.
+ (substs): New global.
+ (apply_subst_iterator): New.
+ (bind_subst_iter_and_attr): New.
+ (find_subst_iter_by_attr): New.
+ (map_attr_string): Handle subst-iterators.
+ (add_condition_to_rtx): Handle define_subst.
+ (apply_iterators): Likewise.
+ (initialize_iterators): Likewise.
+ (add_define_attr_for_define_subst): New.
+ (add_define_subst_attr): New.
+ (read_subst_mapping): New.
+ (read_rtx): Handle define_subst_attr.
+ (read_rtx_code): Add subst-attributes recognition during reading of
+ strings.
+ * rtl.def (DEFINE_EXPAND): Add vector of attributes.
+ (DEFINE_SUBST): New.
+ (DEFINE_SUBST_ATTR): New.
+
+2012-11-19 Tom de Vries <tom@codesourcery.com>
+
+ PR rtl-optimization/55315
+
+ * rtlanal.c (nonzero_address_p): Don't assume a nonzero address plus a
+ const is a nonzero address.
+
+2012-11-18 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi: Use @smallexample consistently. Add @noindent
+ when continuing a sentence or paragraph past an example. Change
+ tabs to spaces in examples.
+
+2012-11-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * doc/md.texi (extv@var{m}, extvmisalign@var{m}, extzv@var{m})
+ (extzvmisalign@var{m}, insv@var{m}, insvmisalign@var{m}): Document.
+ (insv, extv, extzv): Deprecate.
+ * optabs.def (insv_optab, extv_optab, extzv_optab)
+ (insvmisalign_optab, extvmisalign_optab, extzvmisalign_optab):
+ New optabs.
+ * optabs.c (get_optab_extraction_insn): New function.
+ (get_extraction_insn): Use it.
+ * config/mips/mips.md (extv): Split into...
+ (extvmisalign<mode>, extv<mode>): ...these new patterns. Rename
+ existing extv<mode> pattern to...
+ (*extv<mode>): ...this.
+ (extzv): Split into...
+ (extzvmisalign<mode>, extzv<mode>): ...these new patterns. Rename
+ existing extzv<mode> pattern to...
+ (*extzv<mode>): ...this.
+ (insv): Split into...
+ (insvmisalign<mode>, insv<mode>): ...these new patterns. Rename
+ existing insv<mode> pattern to...
+ (*insv<mode>): ...this. Use const_int_operand rather than
+ immediate_operand.
+ * config/mips/mips.c (mips_block_move_straight): Use set_mem_size
+ to set the size of BLKmode accesses.
+ (mips_get_unaligned_mem): Require OP0 to be a BLKmode memory,
+ turning it from an "rtx *" to an rtx.
+ (mips_expand_ext_as_unaligned_load): Simplify for new optab
+ interface. Update call to mips_get_unaligned_mem.
+ (mips_expand_ins_as_unaligned_store): Update call to
+ mips_get_unaligned_mem.
+
+2012-11-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * Makefile.in (recog.o): Add insn-codes.h.
+ * expr.h (extraction_pattern): Move to optabs.h.
+ (mode_for_extraction): Delete.
+ * optabs.h (extraction_insn): New structure.
+ (extraction_pattern): Moved from expr.h.
+ (get_best_reg_extraction_insn, get_best_mem_extraction_insn): Declare.
+ * optabs.c (HAVE_insv, CODE_FOR_insv, HAVE_extv, CODE_FOR_extv)
+ (HAVE_extzv, CODE_FOR_extzv): Provide defaults.
+ (extraction_type): New enum.
+ (get_traditional_extraction_insn, get_extraction_insn)
+ (get_best_reg_extraction_insn, get_best_mem_extraction_insn):
+ New functions.
+ * combine.c (make_extraction): Use get_best_reg_extraction_insn
+ instead of mode_for_extraction.
+ * expmed.c (HAVE_insv, CODE_FOR_insv, gen_insv, HAVE_extv)
+ (CODE_FOR_extv, gen_extv, HAVE_extzv, CODE_FOR_extzv, gen_extzv):
+ Remove fallback definitions.
+ (mode_for_extraction): Delete.
+ (adjust_bit_field_mem_for_reg): New function.
+ (store_bit_field_using_insv): Replace OP_MODE parameter with
+ an extraction_insn. Pass struct_mode to narrow_bit_field_mem.
+ (extract_bit_field_using_extv): Likewise EXT_MODE.
+ (store_bit_field_1): Use get_best_reg_extraction_insn and
+ get_best_mem_extraction_insn instead of mode_for_extraction.
+ Use adjust_bit_field_mem_for_reg when forcing memory to a
+ register and doing a register insertion. Update calls to
+ store_bit_field_using_insv.
+ (extract_bit_field_1): Likewise extractions and calls to
+ extract_bit_field_using_extv.
+ (store_Bit_field): When narrowing to a bitregion, don't use the
+ insv mode as a limit.
+ * recog.c: (HAVE_extv, CODE_FOR_extv, HAVE_extzv, CODE_FOR_extzv):
+ Provide defaults.
+ (simplify_while_replacing): Use insn_data instead of
+ mode_for_extraction.
+
+2012-11-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator):
+ Set up a default value of bitregion_end_.
+ (bit_field_mode_iterator::next_mode): Always apply bitregion_end_
+ check. Include SLOW_UNALIGNED_ACCESS in the alignment check.
+ (get_best_mode): Ignore modes that are wider than the alignment.
+
+2012-11-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * machmode.h (bit_field_mode_iterator): New class.
+ (get_best_mode): Change final parameter to bool.
+ * stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator)
+ (bit_field_mode_iterator::next_mode): New functions, split out from...
+ (get_best_mode): ...here. Change final parameter to bool.
+ Use bit_field_mode_iterator.
+
+2012-11-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * expmed.c (narrow_bit_field_mem): New function.
+ (store_bit_field_using_insv, store_bit_field_1, store_fixed_bit_field)
+ (extract_bit_field_1): Use it.
+
+2012-11-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * expr.h (adjust_address_1): Add a size parameter.
+ (adjust_address, adjust_address_nv, adjust_bitfield_address)
+ (adjust_bitfield_address_nv): Adjust accordingly.
+ (adjust_bitfield_address_size): Define.
+ * emit-rtl.c (adjust_address_1): Add a size parameter.
+ Use it to set the size if MODE has no size. Check whether
+ the size matches before returning the original memref.
+ Require the size to be known for adjust_object.
+ (adjust_automodify_address_1, widen_memory_access): Update calls
+ to adjust_address_1.
+
+2012-11-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * combine.c (make_extraction): Handle TRUNCATEd INNERs.
+
+2012-11-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * expr.c (expand_assignment): Don't set MEM_KEEP_ALIAS_SET_P here.
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Handle DECL_BIT_FIELDs,
+ using their size instead of the COMPONENT_REF's.
+
+2012-11-17 Matthias Klose <doko@ubuntu.com>
+
+ * config/mips/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
+
+2012-11-17 Diego Novillo <dnovillo@google.com>
+
+ VEC API overhaul (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
+
+ * vec.c (register_overhead): Convert it into
+ member function of vec_prefix.
+ (release_overhead): Likewise.
+ (calculate_allocation): Likewise.
+ (vec_heap_free): Remove.
+ (vec_gc_o_reserve_1): Remove.
+ (vec_heap_o_reserve_1): Remove.
+ (vec_stack_o_reserve_1): Remove.
+ (vec_stack_o_reserve_exact): Remove.
+ (register_stack_vec): New.
+ (stack_vec_register_index): New.
+ (unregister_stack_vec): New.
+ (vec_assert_fail): Remove.
+ * vec.h: Conditionally include ggc.h. Document conditional hackery.
+ Update top-level documentation.
+ (ALONE_VEC_CHECK_INFO): Remove.
+ (VEC_CHECK_INFO): Remove.
+ (ALONE_VEC_CHECK_DECL): Remove.
+ (VEC_CHECK_DECL): Remove.
+ (ALONE_VEC_CHECK_PASS): Remove.
+ (VEC_CHECK_PASS): Remove.
+ (VEC_ASSERT): Remove.
+ (vec_prefix): Add friends va_gc, va_gc_atomic, va_heap and va_stack.
+ Mark fields alloc_ and num_ as protected.
+ (struct vec_t): Remove. Remove all function members.
+ (struct vl_embed): Declare.
+ (struct vl_ptr): Declare.
+ (free): Remove.
+ (reserve_exact): Remove.
+ (reserve): Remove.
+ (safe_splice): Remove.
+ (safe_push): Remove.
+ (safe_grow): Remove.
+ (safe_grow_cleared): Remove.
+ (safe_insert): Remove.
+ (DEF_VEC_I): Remove.
+ (DEF_VEC_ALLOC_I): Remove.
+ (DEF_VEC_P): Remove.
+ (DEF_VEC_ALLOC_P): Remove.
+ (DEF_VEC_O): Remove.
+ (DEF_VEC_ALLOC_O): Remove.
+ (DEF_VEC_ALLOC_P_STACK): Remove.
+ (DEF_VEC_ALLOC_O_STACK): Remove.
+ (DEF_VEC_ALLOC_I_STACK): Remove.
+ (DEF_VEC_A): Remove.
+ (DEF_VEC_ALLOC_A): Remove.
+ (vec_stack_p_reserve_exact_1): Remove.
+ (vec_stack_o_reserve): Remove.
+ (vec_stack_o_reserve_exact): Remove.
+ (VEC_length): Remove.
+ (VEC_empty): Remove.
+ (VEC_address): Remove.
+ (vec_address): Remove.
+ (VEC_last): Remove.
+ (VEC_index): Remove.
+ (VEC_iterate): Remove.
+ (VEC_embedded_size): Remove.
+ (VEC_embedded_init): Remove.
+ (VEC_free): Remove.
+ (VEC_copy): Remove.
+ (VEC_space): Remove.
+ (VEC_reserve): Remove.
+ (VEC_reserve_exact): Remove.
+ (VEC_splice): Remove.
+ (VEC_safe_splice): Remove.
+ (VEC_quick_push): Remove.
+ (VEC_safe_push): Remove.
+ (VEC_pop): Remove.
+ (VEC_truncate): Remove.
+ (VEC_safe_grow): Remove.
+ (VEC_replace): Remove.
+ (VEC_quick_insert): Remove.
+ (VEC_safe_insert): Remove.
+ (VEC_ordered_remove): Remove.
+ (VEC_unordered_remove): Remove.
+ (VEC_block_remove): Remove.
+ (VEC_lower_bound): Remove.
+ (VEC_alloc): Remove.
+ (VEC_qsort): Remove.
+
+ (va_heap): Declare.
+ (va_heap::default_layout): New typedef to vl_ptr.
+ (va_heap::reserve): New.
+ (va_heap::release): New.
+ (va_gc): Declare.
+ (va_gc::default_layout): New typedef to vl_embed.
+ (va_gc::reserve): New.
+ (va_gc::release): New.
+ (va_gc_atomic): Declare. Inherit from va_gc.
+ (va_stack): Declare.
+ (va_stack::default_layout): New typedef to vl_ptr.
+ (va_stack::alloc): New.
+ (va_stack::reserve): New.
+ (va_stack::release): New.
+ (register_stack_vec): Declare.
+ (stack_vec_register_index): Declare.
+ (unregister_stack_vec): Declare.
+
+ (vec<T, A = va_heap, L = typename A::default_layout>): Declare
+ empty vec template.
+ (vec<T, A, vl_embed>): Partial specialization for embedded
+ layout.
+ (vec<T, A, vl_embed>::allocated): New.
+ (vec<T, A, vl_embed>::length): New.
+ (vec<T, A, vl_embed>::is_empty): New.
+ (vec<T, A, vl_embed>::address): New.
+ (vec<T, A, vl_embed>::operator[]): New.
+ (vec<T, A, vl_embed>::last New.
+ (vec<T, A, vl_embed>::space): New.
+ (vec<T, A, vl_embed>::iterate): New.
+ (vec<T, A, vl_embed>::iterate): New.
+ (vec<T, A, vl_embed>::copy): New.
+ (vec<T, A, vl_embed>::splice): New.
+ (vec<T, A, vl_embed>::quick_push New.
+ (vec<T, A, vl_embed>::pop New.
+ (vec<T, A, vl_embed>::truncate): New.
+ (vec<T, A, vl_embed>::quick_insert): New.
+ (vec<T, A, vl_embed>::ordered_remove): New.
+ (vec<T, A, vl_embed>::unordered_remove): New.
+ (vec<T, A, vl_embed>::block_remove): New.
+ (vec<T, A, vl_embed>::qsort): New.
+ (vec<T, A, vl_embed>::lower_bound): New.
+ (vec<T, A, vl_embed>::embedded_size): New.
+ (vec<T, A, vl_embed>::embedded_init): New.
+ (vec<T, A, vl_embed>::quick_grow): New.
+ (vec<T, A, vl_embed>::quick_grow_cleared): New.
+ (vec_safe_space): New.
+ (vec_safe_length): New.
+ (vec_safe_address): New.
+ (vec_safe_is_empty): New.
+ (vec_safe_reserve): New.
+ (vec_safe_reserve_exact): New.
+ (vec_alloc): New.
+ (vec_free): New.
+ (vec_safe_grow): New.
+ (vec_safe_grow_cleared): New.
+ (vec_safe_iterate): New.
+ (vec_safe_push): New.
+ (vec_safe_insert): New.
+ (vec_safe_truncate): New.
+ (vec_safe_copy): New.
+ (vec_safe_splice): New.
+
+ (vec<T, A, vl_ptr>): New partial specialization for the space
+ efficient layout.
+ (vec<T, A, vl_ptr>::exists): New.
+ (vec<T, A, vl_ptr>::is_empty): New.
+ (vec<T, A, vl_ptr>::length): New.
+ (vec<T, A, vl_ptr>::address): New.
+ (vec<T, A, vl_ptr>::operator[]): New.
+ (vec<T, A, vl_ptr>::operator!=): New.
+ (vec<T, A, vl_ptr>::operator==): New.
+ (vec<T, A, vl_ptr>::last): New.
+ (vec<T, A, vl_ptr>::space): New.
+ (vec<T, A, vl_ptr>::iterate): New.
+ (vec<T, A, vl_ptr>::copy): New.
+ (vec<T, A, vl_ptr>::reserve): New.
+ (vec<T, A, vl_ptr>::reserve_exact): New.
+ (vec<T, A, vl_ptr>::splice): New.
+ (vec<T, A, vl_ptr>::safe_splice): New.
+ (vec<T, A, vl_ptr>::quick_push): New.
+ (vec<T, A, vl_ptr>::safe_push): New.
+ (vec<T, A, vl_ptr>::pop): New.
+ (vec<T, A, vl_ptr>::truncate): New.
+ (vec<T, A, vl_ptr>::safe_grow): New.
+ (vec<T, A, vl_ptr>::safe_grow_cleared): New.
+ (vec<T, A, vl_ptr>::quick_grow): New.
+ (vec<T, A, vl_ptr>::quick_grow_cleared): New.
+ (vec<T, A, vl_ptr>::quick_insert): New.
+ (vec<T, A, vl_ptr>::safe_insert): New.
+ (vec<T, A, vl_ptr>::ordered_remove): New.
+ (vec<T, A, vl_ptr>::unordered_remove): New.
+ (vec<T, A, vl_ptr>::block_remove): New.
+ (vec<T, A, vl_ptr>::qsort): New.
+ (vec<T, A, vl_ptr>::lower_bound): New.
+ (vec_stack_alloc): Define.
+ (FOR_EACH_VEC_SAFE_ELT): Define.
+ * vecir.h: Remove. Update all users.
+ * vecprim.h: Remove. Update all users.
+ Move uchar to coretypes.h.
+
+ * Makefile.in (VEC_H): Add $(GGC_H).
+ Remove vecir.h and vecprim.h dependencies everywhere.
+
+2012-11-16 Diego Novillo <dnovillo@google.com>
+
+ * gengtype-lex.l (VEC): Remove.
+ Add characters in the set [\!\>\.-].
+ * gengtype-parse.c (token_names): Remove "VEC".
+ (require_template_declaration): Remove handling of VEC_TOKEN.
+ (type): Likewise.
+ Call create_user_defined_type when parsing GTY((user)).
+ * gengtype-state.c (type_lineloc): handle TYPE_UNDEFINED.
+ (write_state_undefined_type): New.
+ (write_state_type): Call write_state_undefined_type for TYPE_UNDEFINED.
+ (read_state_type): Call read_state_undefined_type for TYPE_UNDEFINED.
+ * gengtype.c (dbgprint_count_type_at): Handle TYPE_UNDEFINED.
+ (create_user_defined_type): Make extern.
+ (type_for_name): Factor out of resolve_typedef.
+ (create_undefined_type): New
+ (resolve_typedef): Call it when we cannot find a previous
+ typedef and the type is not a template.
+ (find_structure): Accept TYPE_UNDEFINED.
+ (set_gc_used_type): Add argument ALLOWED_UNDEFINED_TYPES,
+ default to false.
+ Emit an error for TYPE_UNDEFINED unless LEVEL is GC_UNUSED or
+ ALLOWED_UNDEFINED_TYPES is set.
+ Set ALLOWED_UNDEFINED_TYPES to true for TYPE_USER_STRUCT.
+ (filter_type_name): Accept templates with more than one argument.
+ (output_mangled_typename): Handle TYPE_UNDEFINED
+ (walk_type): Likewise.
+ (write_types_process_field): Likewise.
+ (write_func_for_structure): If CHAIN_NEXT is set, ORIG_S
+ should not be a user-defined type.
+ (write_types_local_user_process_field): Handle TYPE_ARRAY,
+ TYPE_NONE and TYPE_UNDEFINED.
+ (write_types_local_process_field): Likewise.
+ (contains_scalar_p): Return 0 for TYPE_USER_STRUCT.
+ (write_root): Reject user-defined types that are not pointers.
+ Handle TYPE_NONE, TYPE_UNDEFINED, TYPE_UNION, TYPE_LANG_STRUCT
+ and TYPE_PARAM_STRUCT.
+ (output_typename): Handle TYPE_NONE, TYPE_UNDEFINED, and TYPE_ARRAY.
+ (dump_typekind): Handle TYPE_UNDEFINED.
+ * gengtype.h (enum typekind): Add TYPE_UNDEFINED.
+ (create_user_defined_type): Declare.
+ (enum gty_token): Remove VEC_TOKEN.
+
+2012-11-16 Diego Novillo <dnovillo@google.com>
+
+ Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
+
+ * coretypes.h (uchar): Define.
+ * alias.c: Use new vec API in vec.h.
+ * asan.c: Likewise.
+ * attribs.c: Likewise.
+ * basic-block.h: Likewise.
+ * bb-reorder.c: Likewise.
+ * builtins.c: Likewise.
+ * calls.c: Likewise.
+ * cfg.c: Likewise.
+ * cfganal.c: Likewise.
+ * cfgcleanup.c: Likewise.
+ * cfgexpand.c: Likewise.
+ * cfghooks.c: Likewise.
+ * cfghooks.h: Likewise.
+ * cfgloop.c: Likewise.
+ * cfgloop.h: Likewise.
+ * cfgloopanal.c: Likewise.
+ * cfgloopmanip.c: Likewise.
+ * cfgrtl.c: Likewise.
+ * cgraph.c: Likewise.
+ * cgraph.h: Likewise.
+ * cgraphclones.c: Likewise.
+ * cgraphunit.c: Likewise.
+ * combine.c: Likewise.
+ * compare-elim.c: Likewise.
+ * coverage.c: Likewise.
+ * cprop.c: Likewise.
+ * data-streamer.h: Likewise.
+ * dbxout.c: Likewise.
+ * dce.c: Likewise.
+ * df-core.c: Likewise.
+ * df-problems.c: Likewise.
+ * df-scan.c: Likewise.
+ * dominance.c: Likewise.
+ * domwalk.c: Likewise.
+ * domwalk.h: Likewise.
+ * dse.c: Likewise.
+ * dwarf2cfi.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * dwarf2out.h: Likewise.
+ * emit-rtl.c: Likewise.
+ * except.c: Likewise.
+ * except.h: Likewise.
+ * expr.c: Likewise.
+ * expr.h: Likewise.
+ * final.c: Likewise.
+ * fold-const.c: Likewise.
+ * function.c: Likewise.
+ * function.h: Likewise.
+ * fwprop.c: Likewise.
+ * gcc.c: Likewise.
+ * gcse.c: Likewise.
+ * genattr.c: Likewise.
+ * genattrtab.c: Likewise.
+ * genautomata.c: Likewise.
+ * genextract.c: Likewise.
+ * genopinit.c: Likewise
+ * ggc-common.c: Likewise.
+ * ggc.h: Likewise.
+ * gimple-low.c: Likewise.
+ * gimple-ssa-strength-reduction.c: Likewise.
+ * gimple-streamer-in.c: Likewise.
+ * gimple.c: Likewise.
+ * gimple.h: Likewise.
+ * gimplify.c: Likewise.
+ * graph.c: Likewise.
+ * graphds.c: Likewise.
+ * graphds.h: Likewise.
+ * graphite-blocking.c: Likewise.
+ * graphite-clast-to-gimple.c: Likewise.
+ * graphite-dependences.c: Likewise.
+ * graphite-interchange.c: Likewise.
+ * graphite-optimize-isl.c: Likewise.
+ * graphite-poly.c: Likewise.
+ * graphite-poly.h: Likewise.
+ * graphite-scop-detection.c: Likewise.
+ * graphite-scop-detection.h: Likewise.
+ * graphite-sese-to-poly.c: Likewise.
+ * graphite.c: Likewise.
+ * godump.c: Likewise.
+ * haifa-sched.c: Likewise.
+ * hw-doloop.c: Likewise.
+ * hw-doloop.h: Likewise.
+ * ifcvt.c: Likewise.
+ * insn-addr.h: Likewise.
+ * ipa-cp.c: Likewise.
+ * ipa-inline-analysis.c: Likewise.
+ * ipa-inline-transform.c: Likewise.
+ * ipa-inline.c: Likewise.
+ * ipa-inline.h: Likewise.
+ * ipa-prop.c: Likewise.
+ * ipa-prop.h: Likewise.
+ * ipa-pure-const.c: Likewise.
+ * ipa-ref-inline.h: Likewise.
+ * ipa-ref.c: Likewise.
+ * ipa-ref.h: Likewise.
+ * ipa-reference.c: Likewise.
+ * ipa-split.c: Likewise.
+ * ipa-utils.c: Likewise.
+ * ipa-utils.h: Likewise.
+ * ipa.c: Likewise.
+ * ira-build.c: Likewise.
+ * ira-color.c: Likewise.
+ * ira-emit.c: Likewise.
+ * ira-int.h: Likewise.
+ * ira.c: Likewise.
+ * loop-invariant.c: Likewise.
+ * loop-unroll.c: Likewise.
+ * lower-subreg.c: Likewise.
+ * lra-lives.c: Likewise.
+ * lra.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * lto-section-out.c: Likewise.
+ * lto-streamer-in.c: Likewise.
+ * lto-streamer-out.c: Likewise.
+ * lto-streamer.h: Likewise.
+ * lto-symtab.c: Likewise.
+ * mcf.c: Likewise.
+ * modulo-sched.c: Likewise.
+ * omp-low.c: Likewise.
+ * opts-common.c: Likewise.
+ * opts-global.c: Likewise.
+ * opts.c: Likewise.
+ * opts.h: Likewise.
+ * passes.c: Likewise.
+ * predict.c: Likewise.
+ * print-tree.c: Likewise.
+ * profile.c: Likewise.
+ * profile.h: Likewise.
+ * read-rtl.c: Likewise.
+ * ree.c: Likewise.
+ * reg-stack.c: Likewise.
+ * regrename.c: Likewise.
+ * regrename.h: Likewise.
+ * reload.c: Likewise.
+ * reload.h: Likewise.
+ * reload1.c: Likewise.
+ * rtl.h: Likewise.
+ * sched-deps.c: Likewise.
+ * sched-int.h: Likewise.
+ * sdbout.c: Likewise.
+ * sel-sched-dump.c: Likewise.
+ * sel-sched-ir.c: Likewise.
+ * sel-sched-ir.h: Likewise.
+ * sel-sched.c: Likewise.
+ * sese.c: Likewise.
+ * sese.h: Likewise.
+ * statistics.h: Likewise.
+ * stmt.c: Likewise.
+ * stor-layout.c: Likewise.
+ * store-motion.c: Likewise.
+ * tlink.c: Likewise.
+ * toplev.c: Likewise.
+ * trans-mem.c: Likewise.
+ * tree-browser.c: Likewise.
+ * tree-call-cdce.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-cfgcleanup.c: Likewise.
+ * tree-chrec.c: Likewise.
+ * tree-chrec.h: Likewise.
+ * tree-complex.c: Likewise.
+ * tree-data-ref.c: Likewise.
+ * tree-data-ref.h: Likewise.
+ * tree-dfa.c: Likewise.
+ * tree-diagnostic.c: Likewise.
+ * tree-dump.c: Likewise.
+ * tree-eh.c: Likewise.
+ * tree-emutls.c: Likewise.
+ * tree-flow.h: Likewise.
+ * tree-if-conv.c: Likewise.
+ * tree-inline.c: Likewise.
+ * tree-inline.h: Likewise.
+ * tree-into-ssa.c: Likewise.
+ * tree-iterator.c: Likewise.
+ * tree-loop-distribution.c: Likewise.
+ * tree-mudflap.c: Likewise.
+ * tree-optimize.c: Likewise.
+ * tree-outof-ssa.c: Likewise.
+ * tree-parloops.c: Likewise.
+ * tree-phinodes.c: Likewise.
+ * tree-predcom.c: Likewise.
+ * tree-pretty-print.c: Likewise.
+ * tree-scalar-evolution.c: Likewise.
+ * tree-sra.c: Likewise.
+ * tree-ssa-address.c: Likewise.
+ * tree-ssa-alias.c: Likewise.
+ * tree-ssa-ccp.c: Likewise.
+ * tree-ssa-coalesce.c: Likewise.
+ * tree-ssa-dce.c: Likewise.
+ * tree-ssa-dom.c: Likewise.
+ * tree-ssa-forwprop.c: Likewise.
+ * tree-ssa-live.c: Likewise.
+ * tree-ssa-live.h: Likewise.
+ * tree-ssa-loop-im.c: Likewise.
+ * tree-ssa-loop-ivcanon.c: Likewise.
+ * tree-ssa-loop-ivopts.c: Likewise.
+ * tree-ssa-loop-manip.c: Likewise.
+ * tree-ssa-loop-niter.c: Likewise.
+ * tree-ssa-loop-prefetch.c: Likewise.
+ * tree-ssa-math-opts.c: Likewise.
+ * tree-ssa-operands.c: Likewise.
+ * tree-ssa-phiopt.c: Likewise.
+ * tree-ssa-phiprop.c: Likewise.
+ * tree-ssa-pre.c: Likewise.
+ * tree-ssa-propagate.c: Likewise.
+ * tree-ssa-reassoc.c: Likewise.
+ * tree-ssa-sccvn.c: Likewise.
+ * tree-ssa-sccvn.h: Likewise.
+ * tree-ssa-strlen.c: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-ssa-tail-merge.c: Likewise.
+ * tree-ssa-threadedge.c: Likewise.
+ * tree-ssa-threadupdate.c: Likewise.
+ * tree-ssa-uncprop.c: Likewise.
+ * tree-ssa-uninit.c: Likewise.
+ * tree-ssa.c: Likewise.
+ * tree-ssanames.c: Likewise.
+ * tree-stdarg.c: Likewise.
+ * tree-streamer-in.c: Likewise.
+ * tree-streamer-out.c: Likewise.
+ * tree-streamer.c: Likewise.
+ * tree-streamer.h: Likewise.
+ * tree-switch-conversion.c: Likewise.
+ * tree-vect-data-refs.c: Likewise.
+ * tree-vect-generic.c: Likewise.
+ * tree-vect-loop-manip.c: Likewise.
+ * tree-vect-loop.c: Likewise.
+ * tree-vect-patterns.c: Likewise.
+ * tree-vect-slp.c: Likewise.
+ * tree-vect-stmts.c: Likewise.
+ * tree-vectorizer.c: Likewise.
+ * tree-vectorizer.h: Likewise.
+ * tree-vrp.c: Likewise.
+ * tree.c: Likewise.
+ * tree.h: Likewise.
+ * value-prof.c: Likewise.
+ * value-prof.h: Likewise.
+ * var-tracking.c: Likewise.
+ * varasm.c: Likewise.
+ * varpool.c: Likewise.
+ * vmsdbgout.c: Likewise.
+ * config/bfin/bfin.c: Likewise.
+ * config/c6x/c6x.c: Likewise.
+ * config/darwin.c: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/mep/mep.c: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/rs6000/rs6000-c.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/rx/rx.c: Likewise.
+ * config/spu/spu-c.c: Likewise.
+ * config/vms/vms.c: Likewise.
+ * config/vxworks.c: Likewise.
+ * config/epiphany/resolve-sw-modes.c: Likewise.
+
+2012-11-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/55236
+ * fold-const.c (make_range_step) <case NEGATE_EXPR>: For -fwrapv
+ and signed ARG0_TYPE, force low and high to be non-NULL.
+
+2012-11-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * common.opt (static-libasan): New option.
+ * gcc.c (LIBASAN_SPEC): New macro.
+ (LINK_COMMAND_SPEC): Replace -lasan with LIBASAN_SPEC.
+ * doc/invoke.texi: Document -static-libasan.
+
+2012-11-17 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55342
+ * lra-assigns.c (spill_for): Try to allocate other reload pseudos
+ before and after spilling.
+
+2012-11-16 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi: Various copy-edits to comply with GCC coding
+ standards for spelling, terminology, and markup, including use of
+ American spelling, correct use of terms like "back end" and
+ "run time", use correct name for GCC, use "@:" markup.
+
+2012-11-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/55329
+ * tree-ssa-dom.c (tree_ssa_dominator_optimize): Never clear
+ bits in needed_eh_cleanup while iterating over the bitmap.
+ Look through all forwarder blocks at once.
+
+2012-11-16 Jan Hubicka <jh@suse.cz>
+
+ * params.def (max-peeled-insns, max-completely-peeled-insns): Reduce
+ to 100.
+
+2012-11-16 Simon Baldwin <simonb@google.com>
+
+ * doc/cppopts.texi: Document -f[no-]canonical-system-headers.
+ * doc/install.texi: Document --enable-canonical-system-headers.
+
+2012-11-16 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55330
+ * lra-constraints.c (MAX_INHERITANCE_PASSES): New macro.
+ (lra_inheritance, lra_undo_inheritance): Use it to limit number of
+ the passes.
+
+2012-11-16 Matthias Klose <doko@ubuntu.com>
+
+ * config/pa/t-linux: New file; define MULTIARCH_DIRNAME.
+ * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file):
+ Include pa/t-linux.
+
+2012-11-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/54073
+ * config/i386/i386.md (mov<mode>cc): Use comparison_operator
+ instead of ordered_comparison_operator resp.
+ ix86_fp_comparison_operator predicates.
+ * config/i386/i386.c (ix86_expand_fp_movcc): Reject TImode
+ or for -m32 DImode comparisons.
+
+2012-11-16 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/54717
+ * tree-ssa-pre.c (do_partial_partial_insertion): Consider also edges
+ with ANTIC_IN.
+
+2012-11-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386-protos.h (ix86_emit_mode_set): Add third argument.
+ * config/i386/i386.h (EMIT_MODE_SET): Update.
+ * config/i386/i386.c (ix86_avx_emit_vzeroupper): New function.
+ (ix86_emit_mode_set) <AVX_U128>: Call ix86_avx_emit_vzeroupper.
+
+2012-11-16 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
+
+ bdver3 Enablement
+ * doc/extend.texi: Add details about bdver3.
+ * doc/invoke.texi: Add details about bdver3.
+ * config.gcc (i[34567]86-*-linux* | ...): Add bdver3.
+ (case ${target}): Add bdver3.
+ * config/i386/i386.h (TARGET_BDVER3): New definition.
+ * config/i386/i386.md (define_attr "cpu"): Add bdver3.
+ * config/i386/sse.md (sseshuf, sseshuf1): New type attributes.
+ * config/i386/athlon.md: Handle sseshuf attribute.
+ * config/i386/atom.md: Likewise.
+ * config/i386/ppro.md: Likewise.
+ * config/i386/bdver1.md: Likewise.
+ * config/i386/i386.opt (flag_dispatch_scheduler): Add bdver3.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Add
+ bdver3 def_and_undef
+ * config/i386/driver-i386.c (host_detect_local_cpu): Let
+ -march=native recognize bdver3 processors.
+ * config/i386/i386.c (struct processor_costs bdver3_cost): New.
+ (m_BDVER3): New definition.
+ (m_AMD_MULTIPLE): Includes m_BDVER3.
+ (initial_ix86_tune_features): Add bdver3 tune.
+ (processor_target_table): Add bdver3 entry.
+ (static const char *const cpu_names): Add bdver3 entry.
+ (software_prefetching_beneficial_p): Add bdver3.
+ (ix86_option_override_internal): Add bdver3 instruction sets.
+ (ix86_option_override_internal): Remove XSAVEOPT for bdver1 and bdver2.
+ (ix86_issue_rate): Add bdver3.
+ (ix86_adjust_cost): Add bdver3.
+ (enum target_cpu_default): Add TARGET_CPU_DEFAULT_bdver3.
+ (enum processor_type): Add PROCESSOR_BDVER3.
+ * config/i386/bdver3.md: New file describing bdver3 pipelines.
+
+2012-11-15 David S. Miller <davem@davemloft.net>
+
+ * expmed.c (expand_shift_1): Don't strip non-integral SUBREGs.
+
+ * configure.ac: Add check for assembler SPARC4 instruction support.
+ * configure: Rebuild.
+ * config.in: Add HAVE_AS_SPARC4 section.
+ * config/sparc/sparc.opt (mcbcond): New option.
+ * doc/invoke.texi: Document it.
+ * config/sparc/constraints.md: New constraint 'A' for 5-bit signed
+ immediates.
+ * doc/md.texi: Document it.
+ * config/sparc/sparc.c (dump_target_flag_bits): Handle MASK_CBCOND.
+ (sparc_option_override): Likewise.
+ (emit_cbcond_insn): New function.
+ (emit_conditional_branch_insn): Call it.
+ (emit_cbcond_nop): New function.
+ (output_ubranch): Use cbcond, remove label arg.
+ (output_cbcond): New function.
+ * config/sparc/sparc-protos.h (output_ubranch): Update.
+ (output_cbcond): Declare it.
+ (emit_cbcond_nop): Likewise.
+ * config/sparc/sparc.md (type attribute): New types 'cbcond'
+ and uncond_cbcond.
+ (emit_cbcond_nop): New attribute.
+ (length attribute): Handle cbcond and uncond_cbcond.
+ (in_call_delay attribute): Reject cbcond and uncond_cbcond.
+ (in_branch_delay attribute): Likewise.
+ (in_uncond_branch_delay attribute): Likewise.
+ (in_annul_branch_delay attribute): Likewise.
+ (*cbcond_sp32, *cbcond_sp64): New insn patterns.
+ (jump): Rewrite into an expander.
+ (*jump_ubranch, *jump_cbcond): New patterns.
+ * config/sparc/niagara4.md: Match 'cbcond' in 'n4_cti'.
+ * config/sparc/sparc.h (AS_NIAGARA4_FLAG): New macro, use it
+ when target default is niagara4.
+ (SPARC_SIMM5_P): Define.
+ * config/sparc/sol2.h (AS_SPARC64_FLAG): Adjust.
+ (AS_SPARC32_FLAG): Define.
+ (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Use
+ AS_NIAGARA4_FLAG as needed.
+
+2012-11-15 Steve Ellcey <sellcey@mips.com>
+
+ * expr.c (expand_cond_expr_using_cmove): Use promoted mode for temp.
+
+2012-11-15 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/54619
+ * tree-ssa-loop-ivopts.c (get_use_type): New function.
+ (get_computation_at): Use get_use_type.
+ (get_computation_cost_at): Declare and set mem_mode. Use mem_mode.
+
+2012-11-15 Jakub Jelinek <jakub@redhat.com>
+
+ * asan.c (report_error_func): Set DECL_IGNORED_P, don't touch
+ DECL_ASSEMBLER_NAME.
+ (asan_init_func): Likewise.
+ (asan_finish_file): Use void * instead of __asan_global * as type of
+ __asan_{,un}register_globals. Set DECL_IGNORED_P on the decls.
+
+2012-11-15 Matthias Klose <doko@ubuntu.com>
+
+ * Makefile.in (if_multiarch): Don't use a GNU make 3.81 feature.
+
+2012-11-14 Jan Hubicka <jh@suse.cz>
+
+ PR bootstrap/55051
+ * gcov-io.c (gcov_read_summary): Fix array bound check.
+
+2012-11-14 Sterling Augustine <saugustine@google.com>
+
+ PR debug/55328
+ * dwarf2out.c (index_address_table_entry): Check a node's refcount.
+
+2012-11-14 Jan Hubicka <jh@suse.cz>
+
+ PR bootstrap/55051
+ * ipa-inline.c (edge_badness): Improve dumping; fix overflow.
+
+2012-11-14 Matthias Klose <doko@ubuntu.com>
+
+ * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
+ * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME.
+ * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux
+ for 32bit non-biarch configurations.
+
+2012-11-14 Matthias Klose <doko@ubuntu.com>
+
+ * doc/invoke.texi: Document -print-multiarch.
+ * doc/install.texi: Document --enable-multiarch.
+ * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
+ * configure.ac: Add --enable-multiarch option.
+ * configure: Regenerate.
+ * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib.
+ enable_multiarch, with_float: New macros.
+ if_multiarch: New macro, define in terms of enable_multiarch.
+ * genmultilib: Add new argument for the multiarch name.
+ * gcc.c (multiarch_dir): Define.
+ (for_each_path): Search for multiarch suffixes.
+ (driver_handle_option): Handle multiarch option.
+ (do_spec_1): Pass -imultiarch if defined.
+ (main): Print multiarch.
+ (set_multilib_dir): Separate multilib and multiarch names
+ from multilib_select.
+ (print_multilib_info): Ignore multiarch names in multilib_select.
+ * incpath.c (add_standard_paths): Search the multiarch include dirs.
+ * cppdefault.h (default_include): Document multiarch in multilib
+ member.
+ * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
+ include directory for multiarch directories.
+ * common.opt: New options --print-multiarch and -imultilib.
+ * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
+ Include i386/t-linux.
+ <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file):
+ Include i386/t-kfreebsd.
+ <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu.
+ * config/i386/t-linux64: Add multiarch names in
+ MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME.
+ * config/i386/t-gnu: New file.
+ * config/i386/t-kfreebsd: Likewise.
+ * config/i386/t-linux: Likewise.
+
+2012-11-14 Jan Hubicka <jh@suse.cz>
+
+ * tree.c (set_call_expr_flags): New function.
+ (local_define_builtin): Use it.
+ * tree.h (set_call_expr_flags): Declare.
+
+2012-11-14 Uros Bizjak <ubizjak@gmail.com>
+ Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
+
+ PR target/47440
+ * config/i386/i386.c (gate_insert_vzeroupper): New function.
+ (rest_of_handle_insert_vzeroupper): Ditto.
+ (struct rtl_opt_pass pass_insert_vzeroupper): New.
+ (ix86_option_override): Register vzeroupper insertion pass here.
+ (ix86_check_avx256_register): Handle SUBREGs properly.
+ (ix86_init_machine_status): Remove optimize_mode_switching[AVX_U128]
+ initialization.
+
+2012-11-14 David Edelsohn <dje.gcc@gmail.com>
+
+ * configure.ac (HAVE_LD_LARGE_TOC): Add AIX test.
+ * configure: Regenerated.
+ * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Warn if
+ other toc options used with cmodel. Disable TARGET_NO_FP_IN_TOC
+ and TARGET_NO_SUM_IN_TOC if not CMODEL_SMALL. CMODEL_MEDIUM means
+ CMODEL_LARGE on AIX.
+ (ASM_SPEC): -mvsx implies -mpwr6. Add -many.
+ (ASM_DEFAULT_SPEC): Use -mpwr4.
+ (TARGET_CMODEL): Define.
+ (SET_CMODEL): Define.
+ * config/rs6000/rs6000.md (largetoc_high_aix<mode>): New.
+ (largetoc_high_plus_aix<mode>): New.
+ (largetoc_low<mode>): Change to mode iterator. Test TARGET_TOC
+ instead of TARGET_ELF.
+ (tocref): Remove TARGET_ELF test.
+ * config/rs6000/rs6000.c (output_toc): Use [TE] for large TOC
+ symbols on AIX.
+ * config/rs6000/aix64.opt (mcmodel): New.
+
+2012-11-14 Andreas Tobler <andreast@fgznet.ch>
+
+ * config/i386/i386.c (ix86_get_function_versions_dispatcher): Guard
+ variables with ASM_OUTPUT_TYPE_DIRECTIVE and
+ HAVE_GNU_INDIRECT_FUNCTION where needed.
+
+2012-11-13 Ian Lance Taylor <iant@google.com>
+
+ * common.opt (fPIC, fPIE, fpic, fpie): Create a Negative loop such
+ that any of these options disables the others.
+
+2012-11-13 Sriraman Tallam <tmsriram@google.com>
+
+ * cgraph.c (insert_new_cgraph_node_version): Use cgraph_get_node
+ instead of cgraph_get_create_node.
+ * config/i386/i386.c (ix86_get_function_versions_dispatcher): Move
+ ifunc not supported code to the end.
+
+2012-11-13 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/55253
+ * ipa-cp.c (merge_aggregate_lattices): Propagate aggs_contain_variable
+ flag.
+
+2012-11-13 Eric Botcazou <ebotcazou@adacore.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/55142
+ * config/i386/i386.c (legitimize_pic_address): Properly handle
+ REG + CONST.
+ (ix86_print_operand_address): Set code to 'k' when forcing
+ addr32 prefix. For x32, zero-extend negative displacement if
+ it < -16*1024*1024.
+
+2012-11-13 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/41993
+ * mode-switching.c (create_pre_exit): Set return_copy to last_insn if
+ copy_start is not a function return regno. Skip debug instructions
+ in instruction scan loop.
+
+2012-11-13 Andrew Stubbs <ams@codesourcery.com>
+ Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * config/arm/arm.c (arm_emit_coreregs_64bit_shift): Fix comment.
+ * config/arm/arm.md (opt, opt_enabled): New attributes.
+ (enabled): Use opt_enabled.
+ (ashldi3, ashrdi3, lshrdi3): Add TARGET_NEON case.
+ (ashldi3): Allow general operands for TARGET_NEON case.
+ * config/arm/iterators.md (rshifts): New code iterator.
+ (shift, shifttype): New code attributes.
+ * config/arm/neon.md (UNSPEC_LOAD_COUNT): New unspec type.
+ (neon_load_count, ashldi3_neon_noclobber, ashldi3_neon,
+ signed_shift_di3_neon, unsigned_shift_di3_neon,
+ ashrdi3_neon_imm_noclobber, lshrdi3_neon_imm_noclobber,
+ <shift>di3_neon): New patterns.
+
+2012-11-13 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.in (asan.o): Depend on $(TM_P_H).
+
+ PR tree-optimization/55281
+ * tree-vect-generic.c (expand_vector_condition): Accept any
+ is_gimple_val rather than just SSA_NAME if not COMPARISON_CLASS_P.
+ * fold-const.c (fold_ternary_loc): Fold VEC_COND_EXPR if arg0 is
+ either integer_all_onesp or integer_zerop.
+ * tree-vect-stmts.c (vectorizable_condition): Build the condition
+ using corresponding vector integer type instead of vectype.
+
+ PR rtl-optimization/54127
+ * cfgrtl.c (force_nonfallthru_and_redirect): When redirecting
+ asm goto labels from BB_HEAD (e->dest) to target bb, decrement
+ LABEL_NUSES of BB_HEAD (e->dest) and increment LABEL_NUSES of
+ BB_HEAD (target) appropriately and adjust JUMP_LABEL and/or
+ REG_LABEL_TARGET and REG_LABEL_OPERAND.
+
+2012-11-12 Jakub Jelinek <jakub@redhat.com>
+
+ * asan.c (instrument_builtin_call) <case BUILT_IN_BCOPY>: Fix up
+ dest assignment.
+
+2012-11-13 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/55257
+ * config/cris/cris.c (cris_asm_output_mi_thunk): Call
+ final_start_function and final_end_function.
+
+2012-11-12 David Edelsohn <dje.gcc@gmail.com>
+
+ * asan.c: Include tm_p.h.
+
+2012-11-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/55195
+ * config/pa/pa.md (attr type): Add sibcall and sh_func_adrs insn types.
+ (in_branch_delay): Don't allow sibcall or sh_func_adrs insns.
+ (in_nullified_branch_delay): Likewise.
+ (in_call_delay): Likewise.
+ Define delay for sibcall insns. Adjust Z3 and Z4 insn reservations for
+ new types. Add opaque cond to mark all calls, sibcalls, dyncalls and
+ the $$sh_func_adrs call as variable. Update type of sibcalls and
+ $$sh_func_adrs call.
+ * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated
+ length instead of adjustment. Handle negative and undefined call
+ adjustments for insn_default_length. Remove adjustment for millicode
+ insn with unfilled delay slot.
+ (pa_output_millicode_call): Update for revised millicode length.
+ * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH.
+
+2012-11-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-ccp.c (dump_lattice_value) <CONSTANT>: Fix duplication.
+
+2012-11-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * common.opt (fvar-tracking-uninit): Document.
+ * toplev.c (process_options): Fix handling of flag_var_tracking_uninit.
+ * config/darwin.c (darwin_override_options): Likewise.
+
+2012-11-12 Steven Bosscher <steven@gcc.gnu.org>
+
+ * sched-vis.c (print_pattern): Handle NULL patterns.
+
+2012-11-12 Steven Bosscher <steven@gcc.gnu.org>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/51447
+ * df-scan.c (df_get_entry_block_def_set): Add global regs to the set.
+ * df-problems.c (df_lr_local_compute): Make global regs always live.
+ * dce.c (deletable_insn_p): Make insns setting a global reg
+ inherently necessary.
+
+2012-11-12 Ian Bolton <ian.bolton@arm.com>
+
+ * config/aarch64/aarch64.md (cmov<mode>_insn): Emit CSINC when
+ one of the alternatives is constant 1.
+ * config/aarch64/constraints.md: New constraint.
+ * config/aarch64/predicates.md: Rename predicate
+ aarch64_reg_zero_or_m1 to aarch64_reg_zero_or_m1_or_1.
+
+2012-11-12 Ian Bolton <ian.bolton@arm.com>
+
+ * config/aarch64/aarch64.md (*compare_neg<mode>): New pattern.
+
+2012-11-12 Tobias Burnus <burnus@net-b.de>
+
+ * doc/invoke.texi: Move -faddress-sanitizer from Optimization
+ Options to Debugging Options.
+
+2012-11-12 Jakub Jelinek <jakub@redhat.com>
+
+ * asan.c: Formatting cleanups.
+
+2012-11-12 Wei Mi <wmi@google.com>
+
+ * gcc.c (LINK_COMMAND_SPEC): Add -lasan to link command if
+ -faddress-sanitizer is on.
+
+2012-11-12 Dodji Seketeli <dodji@redhat.com>
+
+ * gimple.h (is_gimple_builtin_call): Declare ...
+ * gimple.c (is_gimple_builtin_call): ... new public function.
+ * asan.c (insert_if_then_before_iter, instrument_mem_region_access,
+ instrument_strlen_call, maybe_instrument_builtin_call,
+ instrument_call): New static functions.
+ (create_cond_insert_point): Renamed
+ create_cond_insert_point_before_iter into this. Add a new
+ parameter to decide whether to insert the condition before or
+ after the statement iterator.
+ (build_check_stmt): Adjust for the new create_cond_insert_point.
+ Add a new parameter to decide whether to add the instrumentation
+ code before or after the statement iterator.
+ (instrument_assignment): Factorize from ...
+ (transform_statements): ... here. Use maybe_instrument_call to
+ instrument builtin function calls as well.
+ (instrument_derefs): Adjust for the new parameter of
+ build_check_stmt. Fix detection of bit-field access.
+
+2012-11-12 Dodji Seketeli <dodji@redhat.com>
+
+ * asan.c (create_cond_insert_point_before_iter): Factorize out of ...
+ (build_check_stmt): ... here.
+
+2012-11-12 Dodji Seketeli <dodji@redhat.com>
+
+ * asan.c (create_cond_insert_point_before_iter): Factorize out of ...
+ (build_check_stmt): ... here.
+
+2012-11-12 Dodji Seketeli <dodji@redhat.com>
+
+ * asan.c (build_check_stmt): Accept the memory access to be
+ represented by an SSA_NAME.
+
+2012-11-12 Jakub Jelinek <jakub@redhat.com>
+ Wei Mi <wmi@google.com>
+
+ * varasm.c: Include asan.h.
+ (assemble_noswitch_variable): Grow size by asan_red_zone_size
+ if decl is asan protected.
+ (place_block_symbol): Likewise.
+ (assemble_variable): If decl is asan protected, increase
+ DECL_ALIGN if needed, and for decls emitted using
+ assemble_variable_contents append padding zeros after it.
+ * Makefile.in (varasm.o): Depend on asan.h.
+ * asan.c: Include output.h.
+ (asan_pp, asan_pp_initialized, asan_ctor_statements): New variables.
+ (asan_pp_initialize, asan_pp_string): New functions.
+ (asan_emit_stack_protection): Use asan_pp{,_initialized}
+ instead of local pp{,_initialized} vars, use asan_pp_initialize
+ and asan_pp_string helpers.
+ (asan_needs_local_alias, asan_protect_global,
+ asan_global_struct, asan_add_global): New functions.
+ (asan_finish_file): Protect global vars that can be protected. Use
+ asan_ctor_statements instead of ctor_statements
+ * asan.h (asan_protect_global): New prototype.
+ (asan_red_zone_size): New inline function.
+
+2012-11-12 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.in (asan.o): Depend on $(EXPR_H) $(OPTABS_H).
+ (cfgexpand.o): Depend on asan.h.
+ * asan.c: Include expr.h and optabs.h.
+ (asan_shadow_set): New variable.
+ (asan_shadow_cst, asan_emit_stack_protection): New functions.
+ (asan_init_shadow_ptr_types): Initialize also asan_shadow_set.
+ * cfgexpand.c: Include asan.h. Define HOST_WIDE_INT heap vector.
+ (partition_stack_vars): If i is large alignment and j small
+ alignment or vice versa, break out of the loop instead of continue,
+ and put the test earlier. If flag_asan, break out of the loop
+ if for small alignment size is different.
+ (struct stack_vars_data): New type.
+ (expand_stack_vars): Add DATA argument. Change PRED type to
+ function taking size_t argument instead of tree. Adjust pred
+ calls. Fill DATA in and add needed padding in between variables
+ if -faddress-sanitizer.
+ (defer_stack_allocation): Defer everything for flag_asan.
+ (stack_protect_decl_phase_1, stack_protect_decl_phase_2): Take
+ size_t index into stack_vars array instead of the decl directly.
+ (asan_decl_phase_3): New function.
+ (expand_used_vars): Return var destruction sequence. Adjust
+ expand_stack_vars calls, add another one for flag_asan. Call
+ asan_emit_stack_protection if expand_stack_vars added anything
+ to the vectors.
+ (expand_gimple_basic_block): Add disable_tail_calls argument.
+ (gimple_expand_cfg): Pass true to it if expand_used_vars returned
+ non-NULL. Emit the sequence returned by expand_used_vars after
+ return_label.
+ * asan.h (asan_emit_stack_protection): New prototype.
+ (asan_shadow_set): New decl.
+ (ASAN_RED_ZONE_SIZE, ASAN_STACK_MAGIC_LEFT, ASAN_STACK_MAGIC_MIDDLE,
+ ASAN_STACK_MAGIC_RIGHT, ASAN_STACK_FRAME_MAGIC): Define.
+ (asan_protect_stack_decl): New inline.
+ * toplev.c (process_options): Also disable -faddress-sanitizer on
+ !FRAME_GROWS_DOWNWARDS targets.
+
+2012-11-12 Jakub Jelinek <jakub@redhat.com>
+
+ * asan.c (build_check_stmt): Rename join_bb variable to else_bb.
+ (gate_asan_O0): New function.
+ (pass_asan_O0): New variable.
+ * passes.c (init_optimization_passes): Add pass_asan_O0.
+ * tree-pass.h (pass_asan_O0): New declaration.
+
+2012-11-12 Jakub Jelinek <jakub@redhat.com>
+ Xinliang David Li <davidxl@google.com>
+ Dodji Seketeli <dodji@redhat.com>
+
+ * Makefile.in (GTFILES): Add $(srcdir)/asan.c.
+ (asan.o): Update the dependencies of asan.o.
+ * asan.c (tm.h, tree.h, tm_p.h, basic-block.h, flags.h
+ function.h, tree-inline.h, tree-dump.h, diagnostic.h, demangle.h,
+ langhooks.h, ggc.h, cgraph.h, gimple.h): Remove these unused but
+ included headers.
+ (shadow_ptr_types): New variable.
+ (report_error_func): Change is_store argument to bool, don't append
+ newline to function name.
+ (PROB_VERY_UNLIKELY, PROB_ALWAYS): Define.
+ (build_check_stmt): Change is_store argument to bool. Emit GIMPLE
+ directly instead of creating trees and gimplifying them. Mark
+ the error reporting function as very unlikely.
+ (instrument_derefs): Change is_store argument to bool. Use
+ int_size_in_bytes to compute size_in_bytes, simplify size check.
+ Use build_fold_addr_expr instead of build_addr.
+ (transform_statements): Adjust instrument_derefs caller.
+ Use gimple_assign_single_p as stmt test. Don't look at MEM refs
+ in rhs2.
+ (asan_init_shadow_ptr_types): New function.
+ (asan_instrument): Don't push/pop gimplify context.
+ Call asan_init_shadow_ptr_types if not yet initialized.
+ * asan.h (ASAN_SHADOW_SHIFT): Adjust comment.
+
+2012-11-12 Jakub Jelinek <jakub@redhat.com>
+
+ * toplev.c (process_options): Warn and turn off
+ -faddress-sanitizer if not supported by target.
+ * asan.c: Include target.h.
+ (asan_scale, asan_offset_log_32, asan_offset_log_64,
+ asan_offset_log): Removed.
+ (build_check_stmt): Use ASAN_SHADOW_SHIFT and
+ targetm.asan_shadow_offset ().
+ (asan_instrument): Don't initialize asan_offset_log.
+ * asan.h (ASAN_SHADOW_SHIFT): Define.
+ * target.def (TARGET_ASAN_SHADOW_OFFSET): New hook.
+ * doc/tm.texi.in (TARGET_ASAN_SHADOW_OFFSET): Add it.
+ * doc/tm.texi: Regenerated.
+ * Makefile.in (asan.o): Depend on $(TARGET_H).
+ * config/i386/i386.c (ix86_asan_shadow_offset): New function.
+ (TARGET_ASAN_SHADOW_OFFSET): Define.
+
+2012-11-12 Wei Mi <wmi@google.com>
+ Diego Novillo <dnovillo@google.com>
+ Dodji Seketeli <dodji@redhat.com>
+
+ * Makefile.in: Add asan.c and its dependencies.
+ * common.opt: Add -faddress-sanitizer option.
+ * doc/invoke.texi: Document the new flag.
+ * passes.c: Add the asan pass.
+ * toplev.c (compile_file): Call asan_finish_file.
+ * asan.c: New file.
+ * asan.h: New file.
+ * tree-pass.h: Declare pass_asan.
+
+2012-11-12 Tobias Burnus <burnus@net-b.de>
+
+ * diagnostic.c (diagnostic_append_note): Also call va_end when
+ inhibit_notes_p is true.
+
+2012-11-12 Bin Cheng <bin.cheng@arm.com>
+
+ * gcse.c (struct bb_data): Add new fields, old_pressure, live_in
+ and backup.
+ (get_regno_pressure_class): Add prototype.
+ (update_bb_reg_pressure): New.
+ (should_hoist_expr_to_dom): Add new parameter from.
+ Monitor the change of reg pressure and use it to drive hoisting.
+ (hoist_code): Update LIVE and reg pressure information.
+ (calculate_bb_reg_pressure): Initialize live_in and backup.
+
+2012-11-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * doc/md.texi (Standard Pattern Names For Generation): Fix swapped
+ sine and cosine operands in the sincos description.
+
+2012-11-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53512
+ * config/sh/sh.md (sincossf3): Fix swapped sin and cos operands.
+
+2012-11-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (*movti_internal_rex64): Remove "!" from
+ riF->o alternative.
+
+2012-11-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak.
+ * config/sparc/sol2.h (TARGET_CPU_niagara4 support): Fix pasto.
+
+2012-11-11 Eric Botcazou <ebotcazou@adacore.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/55247
+ PR middle-end/55259
+ * emit-rtl.c (adjust_address_1): If POINTERS_EXTEND_UNSIGNED > 0,
+ handle ZERO_EXTEND.
+ * recog.c (offsettable_address_addr_space_p): Likewise.
+
+2012-11-11 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/55263
+ * postreload.c (rest_of_handle_postreload): With non-call exceptions,
+ if edges are purged call cleanup_cfg to remove unreachable blocks.
+
+2012-11-11 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi: Copy-edit to use "built-in function" instead
+ of "builtin", per GCC coding standards. Also use consistent
+ capitalization in titles of sections describing built-in functions.
+
+2012-11-11 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/55238
+ * ipa-cp.c (agg_pass_through_permissible_p): New function.
+ (propagate_aggs_accross_jump_function): Use it.
+ (find_aggregate_values_for_callers_subset): Likewise and relax an
+ assert.
+
+2012-11-10 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/47440
+ * config/i386/i386.c (check_avx256_stores): Remove.
+ (ix86_check_avx256_register): New.
+ (ix86_avx_u128_mode_needed): Use ix86_check_avx256_register.
+ Check the whole RTX for 256bit registers using for_each_rtx.
+ (ix86_check_avx_stores): New.
+ (ix86_avx_u128_mode_after): Change mode of CALL RTX to AVX_U128_CLEAN
+ if there are no 256bit registers used in the function return register.
+ (ix86_avx_u128_mode_entry): Use ix86_check_avx256_register.
+ (ix86_avx_u128_mode_exit): Ditto.
+
+2012-11-10 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/48636
+ * ipa-inline.c (want_inline_small_function_p): Take aray index hint.
+ (edge_badness): Likewise.
+ * ipa-inline.h (inline_hints_vals): Add array_index and comments.
+ (inline_summary): Add ARRAY_INDEX.
+ * ipa-inline-analysis.c (dump_inline_hints): Dump array_index hint.
+ (reset_inline_summary): Handle array_index hint.
+ (inline_node_duplication_hook): Likewise.
+ (dump_inline_summary): Likewise.
+ (array_index_predicate): New function.
+ (estimate_function_body_sizes): Use it.
+ (estimate_node_size_and_time): Use array_index hint.
+ (inline_merge_summary, inline_read_section): Likewise.
+
+2012-11-10 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi: Copy-edit to use "bit-field" consistently
+ instead of "bitfield" or "bit field".
+
+2012-11-10 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi: Copy-edit to fix incorrect hyphenation phrases
+ involving "bit", "byte", "word", "precision", and "floating"
+ modifiers.
+
+2012-11-10 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi: Copy-edit to fix incorrect uses of "which"
+ and "that" throughout the file.
+
+2012-11-10 Andrew Pinski <apinski@cavium.com>
+
+ PR bootstrap/55202
+ * configure.ac: Set PLUGIN_LD_SUFFIX to just "ld" if it was "ld-new"
+ or "collect-ld".
+ * configure: Regenerate.
+
+2012-11-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expr.c (store_field): Remove TYPE parameter. Remove block of code
+ dealing with BLKmode in registers. Reimplement this support using
+ pseudo-registers and bit-field techniques.
+ (store_constructor_field): Remove TYPE parameter and adjust calls to
+ store_field.
+ (expand_assignment): Adjust calls to store_field. Add comment.
+ (store_expr): Add comment.
+ (store_constructor): Adjust calls to store_constructor_field.
+ (expand_expr_real_2): Adjust call to store_field.
+
+2012-11-10 Vladimir Makarov <vmakarov@redhat.com>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/55247
+ * config/i386/i386.md (*movti_internal_rex64): Add "!" to riF->o
+ alternative.
+
+2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ PR c++/54413
+ * doc/invoke.texi: Document f[no-]ext-numeric-literals flag.
+
+2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * doc/install.texi (sparc64-x-solaris2): Mention MPC as well.
+
+2012-11-09 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_lra_p): Remove.
+ (TARGET_LRA_P): Use hook_bool_void_true.
+
+2012-11-09 Jason Merrill <jason@redhat.com>
+
+ * attribs.c (lookup_attribute_spec): Handle getting a TREE_LIST.
+
+2012-11-09 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR tree-optimization/55154
+ * lra-int.h (LRA_LOSER_COST_FACTOR, LRA_MAX_REJECT): New macros.
+ * lra.c (setup_operand_alternative): Use them.
+ * lra-constraints.c (LOSER_COST_FACTOR, MAX_OVERALL_COST_BOUND):
+ Remove.
+ (process_alt_operands): Use LRA_LOSER_COST_FACTOR and LRA_MAX_REJECT.
+ Accumulate reject instead of setting for non-const.
+ (curr_insn_transform): Initialize best_losers and best_overall by
+ INT_MAX.
+
+2012-11-09 Christian Bruel <christian.bruel@st.com>
+
+ * config/sh/sh.c (sh_can_use_simple_return_p): Enable with
+ -freorder-blocks-and-partition.
+
+2012-11-09 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * rtl.h (CONST_SCALAR_INT_P): New macro.
+ * cfgexpand.c (expand_debug_locations): Changed to use
+ CONST_SCALAR_INT_P macro.
+ * combine.c (try_combine, subst, make_extraction,
+ gen_lowpart_for_combine): Ditto.
+ * cselib.c (entry_and_rtx_equal_p, rtx_equal_for_cselib_1): Ditto.
+ * dwarf2out.c (loc_descriptor): Ditto.
+ * emit-rtl.c (gen_lowpart_common): Ditto.
+ * ira-costs.c (record_reg_classes, record_address_regs): Ditto.
+ * ira-lives.c (single_reg_class): Ditto.
+ * recog.c (simplify_while_replacing, asm_operand_ok,
+ constrain_operands): Ditto.
+ * reload.c (find_reloads): Ditto.
+ * simplify-rtx.c (simplify_unary_operation_1,
+ simplify_const_unary_operation, simplify_binary_operation_1,
+ simplify_const_binary_operation, simplify_relational_operation_1,
+ simplify_subreg): Ditto.
+
+2012-11-09 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/54385
+ * postreload.c (reload_cse_simplify): Return a bool indicating
+ whether the CFG was changed.
+ (reload_cse_regs_1): Traverse the CFG instead of the insns chain.
+ Cleanup the CFG if edges may have been removed.
+ (reload_cse_regs): Update.
+
+2012-11-09 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/54472
+ * sel-sched-ir.c (has_dependence_note_reg_set): Handle implicit sets.
+ (has_dependence_note_reg_clobber, has_dependence_note_reg_use):
+ Likewise.
+
+2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/i386/i386.c (release_scratch_register_on_entry): Also adjust
+ sp_offset manually.
+
+2012-11-08 Christian Bruel <christian.bruel@st.com>
+
+ * tree-ssa-tail-merge.c (replace_block_by): Update bb2 profile count.
+ Do not reset dead bb1->frequency.
+
+2012-11-08 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR tree-optimization/55191
+ * cfganal.c (connect_infinite_loops_to_exit): Call dfs_deadend here.
+ (flow_dfs_compute_reverse_execute): Don't call it here.
+
+2012-11-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/53145
+ * dwarf2out.c (gen_compile_unit_die): Don't call gen_producer_string
+ here, instead add "" if producer_string is NULL.
+ (dwarf2out_finish): Call gen_producer_string here, unconditionally
+ decrease refcount of the old indirect string and set val_str to
+ find_AT_string result.
+
+ PR debug/54499
+ * cgraphunit.c (assemble_thunk): Don't call source_line debug hook
+ here, instead call insn_locations_{init,finalize} and initialize
+ prologue_location.
+
+2012-11-08 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
+
+ PR driver/54789
+ * gcc.c (process_command): Use save_switch for synthesized
+ -fcompare-debug=* option; mark the switch as known.
+
+2012-11-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/54308
+ * config/rs6000/rs6000.c (legitimate_indirect_address_p): Remove
+ inline keyword.
+
+2012-11-08 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/54850
+ * sched-deps.c (find_inc): Add all dependencies from the inc_insn
+ to the mem_insn.
+
+2012-11-08 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/48636
+ * ipa-inline.c (big_speedup_p): New function.
+ (want_inline_small_function_p): Use it.
+ (edge_badness): Dump it.
+ * params.def (inline-min-speedup): New parameter.
+ * doc/invoke.texi (inline-min-speedup): Document.
+
+2012-11-08 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.c (determine_known_aggregate_parts): Skip writes to
+ different declarations when tracking writes to a declaration.
+
+2012-11-07 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/constraints.md ("U"): Document, in detail,
+ which this constraint is necessary.
+
+2012-11-07 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/55235
+ * expr.c (store_expr): Do not call emit_block_move for
+ non-BLKmode values.
+
+2012-11-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/55219
+ * fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
+ the argument is itself a conditional expression.
+
+2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55122
+ * lra-constraints.c (match_reload): Sync values for dead input pseudos.
+
+2012-11-07 Richard Henderson <rth@redhat.com>
+
+ * trans-mem.c (pass_ipa_tm): Don't use TODO_update_ssa.
+
+2012-11-07 Peter Bergner <bergner@vnet.ibm.com>
+
+ * doc/invoke.texi (-mcpu=power8): Document.
+ * config.in (HAVE_AS_POWER8): New.
+ * config.gcc: Add cpu_type power8.
+ * configure.ac: (HAVE_AS_POWER8): Check for assembler support for
+ the POWER8 instructions.
+ * configure: Regenerate.
+ * config/rs6000/rs6000.h: (ASM_CPU_POWER8_SPEC): Define.
+ (ASM_CPU_SPEC): Pass %(asm_cpu_power8) for -mcpu=power8.
+ (EXTRA_SPECS): Add asm_cpu_power8 spec string.
+ * config/rs6000/rs6000-cpus.def (processor_target_table): Alias
+ POWER8 to POWER7.
+ * config/rs6000/rs6000-tables.opt: Regenerate.
+ * config/rs6000/driver-rs6000.c (ASM_CPU_SPEC): For -mcpu=power8,
+ pass %(asm_cpu_power8)/-mpwr8.
+ * config/rs6000/aix53.h: Likewise.
+ * config/rs6000/aix61.h: Likewise.
+
+2012-11-07 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/55224
+ * config/i386/i386.c (ix86_function_ok_for_sibcall): Put back exception
+ to make a sibcall if one of the functions has void return type.
+
+2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/53063
+ * doc/invoke.texi (Wformat): Update.
+
+2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * optc-gen.awk: Factor code out to...
+ * opt-functions.awk (lang_enabled_by): ... this new function.
+
+2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/53063
+ * common.opt (Wswitch,Wswitch-default,Wswitch-enum): Move to c.opt.
+
+2012-11-07 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_expand_prologue): Add the missing
+ argument 'Pmode' to the 'plus_constant' call.
+
+2012-11-07 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/53787
+ * ipa-cp.c (ipcp_value_source): New field offset.
+ (ipcp_agg_lattice): New type.
+ (ipcp_param_lattices): Likewise, move virt_call from ipcp_lattice here.
+ (ipcp_agg_lattice_pool): New variable.
+ (ipa_get_parm_lattices): New function.
+ (ipa_get_lattice): Turned into ipa_get_scalar_lat, use the above.
+ Adjusted all callers.
+ (print_lattice): New function.
+ (print_all_lattices): Use the above, also print aggregate lattices.
+ (set_agg_lats_to_bottom): New function.
+ (set_agg_lats_contain_variable): Likewise.
+ (set_all_contains_variable): Likewise.
+ (initialize_node_lattices): Also handle aggregate lattices, set
+ virt_call in ipcp_param_lattices.
+ (add_value_source): Handle offsets.
+ (add_value_to_lattice): Likewise.
+ (add_scalar_value_to_lattice): New function.
+ (propagate_vals_accross_pass_through): Use add_scalar_value_to_lattice.
+ (propagate_vals_accross_ancestor): Likewise.
+ (propagate_accross_jump_function): Renamed to
+ propagate_scalar_accross_jump_function, use
+ add_scalar_value_to_lattice.
+ (set_check_aggs_by_ref): New function.
+ (merge_agg_lats_step): Likewise.
+ (set_chain_of_aglats_contains_variable): Likewise.
+ (merge_aggregate_lattices): Likewise.
+ (propagate_constants_accross_call): Also handle aggregate lattices.
+ (hint_time_bonus): New function.
+ (context_independent_aggregate_values): Likewise.
+ (gather_context_independent_values): Also handle agggregate values.
+ (agg_jmp_p_vec_for_t_vec): New function.
+ (estimate_local_effects): Also handle agggregate values.
+ (add_all_node_vals_to_toposort): Likewise.
+ (ipcp_propagate_stage): Use struct ipcp_param_lattices.
+ (get_clone_agg_value): New function.
+ (cgraph_edge_brings_value_p): Also handle agggregate values.
+ (create_specialized_node): Likewise.
+ (find_more_values_for_callers_subset): Rename to
+ find_more_scalar_values_for_callers_subset. Modify dump.
+ (copy_plats_to_inter): New function.
+ (intersect_with_plats): Likewise.
+ (agg_replacements_to_vector): Likewise.
+ (intersect_with_agg_replacements): Likewise.
+ (find_aggregate_values_for_callers_subset): Likewise.
+ (known_aggs_to_agg_replacement_list): Likewise.
+ (cgraph_edge_brings_all_scalars_for_node): Likewise.
+ (cgraph_edge_brings_all_agg_vals_for_node): Likewise.
+ (perhaps_add_new_callers): Old functionality moved to
+ cgraph_edge_brings_all_scalars_for_node, call it and
+ cgraph_edge_brings_all_agg_vals_for_node.
+ (ipcp_val_in_agg_replacements_p): New function.
+ (decide_about_value): New function.
+ (decide_whether_version_node): A lot of functionality moved to
+ decide_about_value. Also handle agggregate values.
+ (ipcp_driver): Also allocate ipcp_agg_lattice_pool.
+ (pass_ipa_cp): Fill in new entries.
+ * ipa-prop.c (ipa_node_agg_replacements): New variable.
+ (free_parms_ainfo): New function.
+ (ipa_analyze_node): Use free_parms_ainfo to free stuff.
+ (ipa_find_agg_cst_for_param): Do not rely on offset ordering.
+ (ipa_set_node_agg_value_chain): New function.
+ (ipa_node_removal_hook): Also handle ipa_node_agg_replacements.
+ (ipa_node_duplication_hook): Likewise.
+ (ipa_free_all_structures_after_ipa_cp): Also free ipcp_agg_lattice_pool.
+ (ipa_free_all_structures_after_iinln): Likewise.
+ (ipa_dump_agg_replacement_values): New function.
+ (write_agg_replacement_chain): Likewise.
+ (read_agg_replacement_chain): Likewise.
+ (ipa_prop_write_all_agg_replacement): Likewise.
+ (read_replacements_section): Likewise.
+ (ipa_prop_read_all_agg_replacement): Likewise.
+ (adjust_agg_replacement_values): Likewise.
+ (ipcp_transform_function): Likewise.
+ * ipa-prop.h: Also define heap vector of ipa_agg_jf_item_t and of
+ ipa_agg_jump_function_t.
+ (ipa_node_params): Make lattices an array of ipcp_param_lattices.
+ (ipa_agg_replacement_value): New type and its vector.
+ (ipa_set_node_agg_value_chain) Declare.
+ (ipa_node_agg_replacements): Likewise.
+ (ipa_get_agg_replacements_for_node): New function.
+ (ipcp_agg_lattice_pool): Declare.
+ (ipa_dump_agg_replacement_values): Likewise.
+ (ipa_prop_write_all_agg_replacement): Likewise.
+ (ipa_prop_read_all_agg_replacement): Likewise.
+ (ipcp_transform_function): Likewise.
+ * ipa-inline-analysis.c (estimate_ipcp_clone_size_and_time): Pass around
+ known aggregates and hints.
+ * ipa-inline.h: include ipa-prop.h.
+ (estimate_ipcp_clone_size_and_time): Adjust declaration.
+ * lto-streamer.h (lto_section_type): New item
+ LTO_section_ipcp_transform.
+ * lto-section-in.c (lto_section_name): New element ipcp_trans.
+ * params.def (PARAM_IPA_CP_LOOP_HINT_BONUS): New parameter.
+ * Makefile.in (IPA_INLINE_H): New. Use everywhee instead of
+ ipa-inline.h.
+
+2012-11-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (enum upper_128bits_state): Remove.
+ (check_avx256_store): Use bool pointer argument.
+ (ix86_avx_u128_mode_needed): Use note_stores also for CALL insns.
+ * config/i386/predicates.md (vzeroupper_operation): Use match_test.
+
+2012-11-07 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_expand_prologue): For the
+ load-pair with writeback instruction, replace
+ aarch64_set_frame_expr with add_reg_note (REG_CFA_ADJUST_CFA);
+ add new local variable 'cfa_reg' and use it.
+
+2012-11-07 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR middle-end/49220
+ * mode-switching.c (create_pre_exit): Set short_block if there
+ are no copy insns.
+
+2012-11-07 Martin Jambor <mjambor@suse.cz>
+
+ * lto-cgraph.c: Include tree-pass.h.
+ (lto_output_node): Stream node->ipa_transforms_to_apply.
+ (input_node): Likewise.
+ * tree-pass.h (passes_by_id): Declare.
+ (passes_by_id_size): Likewise.
+ * Makefile.in (lto-cgraph.o): Add TREE_PASS_H to dependencies.
+
+2012-11-07 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-analysis.c (true_predicate, single_cond_predicate,
+ reset_inline_edge_summary): Fix formatting.
+ (account_size_time): Bump up the limit on number of size/time
+ entries to 256.
+ (estimate_function_body_sizes): Work in reverse postorder.
+
+2012-11-07 David S. Miller <davem@davemloft.net>
+
+ PR bootstrap/55211
+ Revert:
+ * config/sparc/constraints.md ("U"): Delete.
+ * config/sparc/sparc.md: Use 'r' constraint instead of 'U'.
+ * config/sparc/sync.md: Likewise.
+ And revert parts of:
+ * doc/md.texi: Sync sparc constraint documentation with reality.
+
+2012-11-07 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (ix86_avx_u128_mode_after): Don't
+ look for reg in CALL operand.
+
+ PR debug/54693
+ * tree-flow.h (propagate_threaded_block_debug_into): New prototype.
+ * tree-ssa-threadedge.c (propagate_threaded_block_debug_into): No
+ longer static.
+ * tree-ssa-loop-ch.c (copy_loop_headers): Use it.
+
+2012-11-06 Sterling Augustine <saugustine@google.com>
+
+ * dwarf2out.c (output_comdat_type_unit): Check for OBJECT_FORMAT_ELF.
+
+2012-11-06 Aldy Hernandez <aldyh@redhat.com>
+ Richard Henderson <rth@redhat.com>
+
+ * cfg-flags.def (TM_UNINSTRUMENTED, TM_ABORT): New.
+ * trans-mem.c (PROB_VERY_LIKELY, PROB_UNLIKELY, PROB_LIKELY): New.
+ (struct tm_region): Add tm_state, restart_block,
+ original_transaction_was_outer.
+ (tm_region_init_0): Initialize them.
+ (collect_bb2reg, get_bb_regions_instrumented): New.
+ (tm_log_emit_save_or_restores): Merge into ...
+ (expand_transaction): ... here.
+ (generate_tm_state, propagate_tm_flags_out): New.
+ (execute_tm_mark): Avoid processing blocks more than once.
+ (split_bb_make_tm_edge): Split out from ...
+ (make_tm_edge): ... here. And merge the rest into ...
+ (expand_block_edges): ... here.
+ (execute_tm_edges): Avoid processing blocks more than once.
+ (ipa_uninstrument_transaction): New.
+ (ipa_tm_scan_calls_transaction): Use it. Rebuild cgraph and ssa.
+ (ipa_tm_execute): Init and free original_copy_tables.
+ * trans-mem.h (PR_MULTIWAYCODE): New.
+ * tree-cfg.c (make_edges): Use EDGE_TM_ABORT.
+
+2012-11-06 Aldy Hernandez <aldyh@redhat.com>
+
+ * cfghooks.c (copy_bbs): Handle a null loop_father.
+
+ * cgraph.c (cgraph_debug_gimple_stmt): Handle a null
+ current_function_decl.
+
+2012-11-06 Richard Henderson <rth@redhat.com>
+
+ * tree-ssa-tail-merge.c (find_duplicate): Do not consider
+ is_tm_ending_fndecl calls as mergable.
+
+2012-11-06 Sterling Augustine <saugustine@google.com>
+ Cary Coutant <ccoutant@google.com>
+
+ * common.opt (gno-split-dwarf, gsplit-dwarf): New switches.
+ * doc/invoke.texi (Debugging Options): Document them.
+ * gcc.c (replace_extension_spec_func): New function.
+ (ASM_FINAL_SPEC): Adjust.
+ (static_spec_functions): Add new field for replace-extension.
+ (check_live_switch): Adjust comment. Add case for 'g'.
+ * opts.c (finish_options): Set x_debug_generate_pub_sections based on
+ x_dwarf_split_debug_info.
+ (common_handle_option): Add case for OPT_gsplit_dwarf.
+ * dwarf2out.h (addr_table_entry_struct): Add forward declaration.
+ (dw_val_struct): Add val_entry pointer.
+ * dwarf2out.c (debug_skeleton_info_section,
+ debug_skeleton_abbrev_section, debug_addr_section,
+ debug_skeleton_line_section, debug_str_offsets_section): New globals.
+ (NOT_INDEXED, NO_INDEX_ASSIGNED): New defines.
+ (indirect_string_node): New field index.
+ (ate_kind): New enum with fields ate_kind_rtc, ate_kind_rtx_dtprel,
+ ate_kind_label.
+ (addr_table_entry): New structure and type.
+ (dw_loc_list_struct): Add field begin_entry.
+ (new_loc_desc): Initialize val_entry.
+ (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
+ Add cases for DW_OP_GNU_addr_index and DW_OP_const_index.
+ (build_cfa_loc): Initialize val_entry.
+ (AT_index, add_addr_table_entry, remove_addr_table_entry,
+ add_AT_lbl_id): New functions.
+ (add_AT_addr, add_AT_range_list): New parameter force_direct.
+ (output_die_abbrevs): New function.
+ (add_ranges_by_labels): New parameter force_direct.
+ (output_line_info): New parameter prologue_only.
+ (dtprel_bool): New enum with dtprel_false and dtprel_true.
+ (dw_addr_op, new_addr_loc_descr): New functions.
+ (DEBUG_DWO_INFO_SECTION, DEBUG_DWO_ABBREV_SECTION,
+ DEBUG_ADDR_SECTION, DEBUG_NORM_MACINFO_SECTION,
+ DEBUG_DWO_MACINFO_SECTION, DEBUG_MACINFO_SECTION,
+ DEBUG_NORM_MACRO_SECTION, DEBUG_DWO_MACRO_SECTION,
+ DEBUG_MACRO_SECTION, DEBUG_DWO_LINE_SECTION,
+ DEBUG_DWO_LOC_SECTION, DEBUG_NORM_STR_OFFSETS_SECTION,
+ DEBUG_DWO_STR_OFFSETS_SECTION, DEBUG_STR_OFFSETS_SECTION,
+ DEBUG_DWO_STR_SECTION, DEBUG_NORM_STR_SECTION, DEBUG_STR_SECTION,
+ DEBUG_MACRO_SECTION_FLAGS, DEBUG_SKELETON_LINE_SECTION_LABEL,
+ DEBUG_SKELETON_INFO_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL
+ DEBUG_SKELETON_ABBREV_SECTION_LABEL): New macros.
+ (DEBUG_STR_SECTION_FLAGS): Adjust.
+ (TEXT_SECTION_LABEL, COLD_TEXT_SECTION_LABEL,
+ DEBUG_LINE_SECTION_LABEL, DEBUG_INFO_SECTION_LABEL,
+ DEBUG_ABBREV_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL,
+ DEBUG_LOC_SECTION_LABEL, DEBUG_RANGES_SECTION_LABEL,
+ DEBUG_MACINFO_SECTION_LABEL, DEBUG_MACRO_SECTION_LABEL): Adjust
+ indentation.
+ (debug_skeleton_abbrev_section_label, debug_addr_section_label,
+ debug_skeleton_line_section_label, debug_skeleton_info_section_label):
+ New global variables.
+ (add_AT_flag, add_AT_int, add_AT_unsigned, add_AT_double, add_AT_vec,
+ add_AT_data8): Initialize val_entry.
+ (add_AT_low_high_pc): New parameter force_direct. Handle
+ dwarf_split_debug_info.
+ (set_indirect_string, find_AT_string_form): New functions.
+ (AT_string_form): Adjust to call find_AT_string_from.
+ (add_AT_die_ref, add_AT_fde_ref, add_AT_loc, add_AT_list):
+ Initialize val_entry.
+ (addr_index_table): New global variable.
+ (addr_table_entry_do_hash, addr_table_entry_eq, add_addr_table_entry,
+ init_addr_table_entry, remove_addr_table_entry, index_addr_table_entry,
+ remove_loc_list_addr_table_entries): New functions.
+ (add_AT_addr, add_AT_lbl_id, add_AT_range_list): New parameter
+ force_direct. Handle dwarf_split_debug_info.
+ (add_AT_file, add_AT_vms_delta, add_AT_lineptr, add_AT_macptr,
+ add_AT_offset): Initialize val_entry.
+ (UNRELOCATED_OFFSET, RELOCATED_OFFSET): New defines.
+ (size_of_die): Handle dwarf_split_debug_info.
+ (size_of_aranges, value_format): Call AT_class. Check AT_index.
+ (output_die_abbrevs): New function.
+ (output_abbrev_section): Call output_die_abbrevs.
+ (new_loc_list): Initialize begin_entry.
+ (output_loc_list): Handle dwarf_split_debug_info.
+ (output_range_list_offset, output_loc_list_offset,
+ output_attr_index_or_value, ): New functions.
+ (output_die): Fix call to dw2_asm_output_data. Call
+ output_attr_index_or_value and output_range_list_offset.
+ Adjust logic around dw_val_class_str.
+ (add_top_lebel_skeleton_die_attrs, get_skeleton_type_unit,
+ output_skeleton_debug_sections): New functions.
+ (output_comdat_type_unit, output_pubname, output_aranges): Handle
+ dwarf_split_debug_info.
+ (add_ranges_by_labels): New parameter force_direct.
+ (mem_loc_descriptor, loc_descr): Call new_addr_loc_descr.
+ (loc_list_from_tree, add_const_value_attribtue): Use dtprel_bools in
+ place of generic integer.
+ (dwarf2out_vms_debug_main_pointer, gen_entry_point_die, gen_label_die,
+ gen_call_site_die, gen_subprogram_die, gen_variable_die,
+ add_high_low_attributes): Adjust calls to add_AT_lbl_id.
+ (output_macinfo_op): Adjust indirect_string_logic.
+ (save_macinfo_strings): New function.
+ (output_macinfo): Adjust.
+ (dwarf2out_init): Handle dwarf_split_debug_info.
+ (index_string, output_index_string_offset, output_index_string): New
+ functions.
+ (output_indirect_string): Adjust.
+ (output_indirect_strings, output_addr_table_entry, output_addr_table):
+ New functions.
+ (resolve_addr_in_expr, hash_loc_operands): Handle DW_OP_GNU_addr_index
+ and DW_OP_GNU_const_index. Handle dwarf_split_debug_info. Call
+ remove_loc_list_addr_table_entries and remove_addr_table_entry.
+ (index_location_lists): New function.
+ (dwarf2out_finish): Handle dwarf_split_debug_info. New variable
+ main_comp_unit_die. Adjust calls to add_AT_low_high_pc,
+ add_ranges_by_labels, add_AT_addr, and add_AT_lineptr. Call
+ save_macinfo_strings and output_indirect_strings.
+
+2012-11-06 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * config/i386/i386.c (make_dispatcher_decl): Guard with
+ ASM_OUTPUT_TYPE_DIRECTIVE and HAVE_GNU_INDIRECT_FUNCTION.
+
+2012-11-06 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-analysis.c (estimate_function_body_sizes,
+ inline_update_overall_summary): Cap time calculations.
+
+2012-11-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_init_machine_status): Do not
+ explicitly clear tls_descriptor_call_expanded_p again.
+
+2012-11-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md
+ (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
+ as read and written by the instruction.
+
+2012-11-06 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/54693
+ * tree-ssa-threadedge.c (propagate_threaded_block_debug_into):
+ Use a stack vector before allocating a pointer set.
+
+2012-11-06 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.c (ipa_get_param_decl_index_1): New function.
+ (ipa_get_param_decl_index): Just call ipa_get_param_decl_index_1.
+ (ipa_populate_param_decls): Accept descriptors parameter rather
+ than the whole info.
+ (load_from_unmodified_param): Likewise.
+ (ipa_load_from_parm_agg_1): Likewise.
+ (ipa_load_from_parm_agg): Extract descriptors from info.
+ (compute_complex_assign_jump_func): Likewise.
+ (ipa_analyze_indirect_call_uses): Likewise.
+
+2012-11-06 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (compute_uninlined_call_time): Return gcov_type.
+ (compute_inlined_call_time): Watch overflows.
+ (relative_time_benefit): Compute in gcov_type.
+
+2012-11-06 Jan Hubicka <jh@suse.cz>
+
+ * cfgloopanal.c (get_loop_hot_path): New function.
+ * tree-ssa-lop-ivcanon.c (struct loop_size): Add CONSTANT_IV,
+ NUM_NON_PURE_CALLS_ON_HOT_PATH, NUM_PURE_CALLS_ON_HOT_PATH,
+ NUM_BRANCHES_ON_HOT_PATH.
+ (tree_estimate_loop_size): Compute the new values.
+ (try_unroll_loop_completely): Disable unrolling of loops with only
+ calls or too many branches.
+ (tree_unroll_loops_completely): Deal also with outer loops of hot loops.
+ * cfgloop.h (get_loop_hot_path): Declare.
+ * params.def (PARAM_MAX_PEEL_BRANCHES): New parameters.
+ * invoke.texi (max-peel-branches): Document.
+
+2012-11-06 Jan Hubicka <jh@suse.cz>
+
+ * ipa-pure-const.c (check_stmt): Fix debug info formatting.
+
+2012-11-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
+ (ix86_instantiate_decls): New function.
+ (ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP
+ stack slot instead of SLOT_VIRTUAL.
+ <case IX86_BUILTIN_STMXCSR>: Ditto.
+ (assign_386_stack_local): Do not assert when virtual slot is valid.
+ * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
+ * config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
+ (truncxf<mode>2): Ditto.
+ (floatunssi<mode>2): Ditto.
+ (isinf<mode>2): Ditto.
+ * config/i386/sync.md (atomic_load<mode>): Ditto.
+ (atomic_store<mode>): Ditto.
+
+2012-11-06 Jan Hubicka <jh@suse.cz>
+
+ * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound,
+ vect_do_peeling_for_alignment): Fix loop bound computation.
+ * tree-vect-loop.c (vect_transform_loop): Maintain loop bounds.
+
+2012-11-06 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * config/sh/sh.c (and_xor_ior_costs, addsubcosts): Double the costs for
+ ops larger than SImode.
+ * config/sh/sh.md (rotcl, *rotcl): New insns and splits.
+ (ashldi3_k): Convert to insn_and_split and use new rotcl insn.
+
+2012-11-06 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
+
+ PR target/47440
+ * config/i386/i386-protos.h (emit_i387_cw_initialization): Delete.
+ (emit_vzero): Add prototype.
+ (ix86_mode_entry): Likewise.
+ (ix86_mode_exit): Likewise.
+ (ix86_emit_mode_set): Likewise.
+
+ * config/i386/i386.c (typedef struct block_info_def): Delete.
+ (define BLOCK_INFO): Delete.
+ (check_avx256_stores): Add checking for MEM_P.
+ (move_or_delete_vzeroupper_2): Delete.
+ (move_or_delete_vzeroupper_1): Delete.
+ (move_or_delete_vzeroupper): Delete.
+ (ix86_maybe_emit_epilogue_vzeroupper): Delete.
+ (function_pass_avx256_p): Delete.
+ (ix86_function_ok_for_sibcall): Remove sibcall disabling.
+ (nit_cumulative_args): Remove initialization of of avx256 fields of
+ cfun->machine.
+ (ix86_emit_restore_sse_regs_using_mov): Remove vzeroupper generation.
+ (ix86_expand_epilogue): Likewise.
+ (ix86_avx_u128_mode_needed): New.
+ (ix86_i387_mode_needed): Rename from ix86_mode_needed.
+ (ix86_mode_needed): New.
+ (ix86_avx_u128_mode_after): New.
+ (ix86_mode_after): New.
+ (ix86_avx_u128_mode_entry): New.
+ (ix86_mode_entry): New.
+ (ix86_avx_u128_mode_exit): New.
+ (ix86_mode_exit): New.
+ (ix86_emit_mode_set): New.
+ (ix86_expand_call): Delete vzeroupper generation.
+ (ix86_split_call_vzeroupper): Delete.
+ (ix86_init_machine_status): Initialize optimize_mode_switching.
+ (ix86_expand_special_args_builtin): Change.
+ (ix86_reorg): Delete a call of move_or_delete_vzeroupper.
+
+ * config/i386/i386.h (VALID_AVX256_REG_OR_OI_MODE): New.
+ (AVX_U128): New.
+ (avx_u128_state): New.
+ (NUM_MODES_FOR_MODE_SWITCHING): Added AVX_U128_ANY.
+ (MODE_AFTER): New.
+ (MODE_ENTRY): New.
+ (MODE_EXIT): New.
+ (EMIT_MODE_SET): Change.
+ (machine_function): Delete avx256 fields.
+
+ * config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): Delete.
+ (define_insn_and_split "*call_vzeroupper"): Delete.
+ (define_insn_and_split "*call_rex64_ms_sysv_vzeroupper"): Delete.
+ (define_insn_and_split "*sibcall_vzeroupper"): Delete.
+ (define_insn_and_split "*call_pop_vzeroupper"): Delete.
+ (define_insn_and_split "*sibcall_pop_vzeroupper"): Delete.
+ (define_insn_and_split "*call_value_vzeroupper"): Delete.
+ (define_insn_and_split "*sibcall_value_vzeroupper"): Delete.
+ (define_insn_and_split "*call_value_rex64_ms_sysv_vzeroupper"): Delete.
+ (define_insn_and_split "*call_value_pop_vzeroupper"): Delete.
+ (define_insn_and_split "*sibcall_value_pop_vzeroupper"): Delete.
+ (define_expand "return"): Remove vzeroupper emitting.
+ (define_expand "simple_return"): Delete.
+
+ * config/i386/predicates.md (vzeroupper_operation): New.
+
+ * config/i386/sse.md (avx_vzeroupper): Change.
+
+2012-11-06 Uros Bizjak <ubizjak@gmail.com>
+ Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/41993
+ * mode-switching.c (create_pre_exit): Set return_copy to
+ last_insn when copy_start is a pseudo reg.
+
+2012-11-06 Andrey Turetskiy <andrey.turetskiy@gmail.com>
+
+ * config/i386/i386.c (bdesc_args): Rename CODE_FOR_avx2_umulhrswv16hi3
+ to CODE_FOR_avx2_pmulhrswv16hi3.
+ * config/i386/predicates.md (const1_operand): Extend for vectors.
+ * config/i386/sse.md (ssse3_avx2): Extend.
+ (ssedoublemode): Ditto.
+ (<sse2_avx2>_uavg<mode>3): Merge avx2_uavgv32qi3, sse2_uavgv16qi3,
+ avx2_uavgv16hi3 and sse2_uavgv8hi3 into one.
+ (*<sse2_avx2>_uavg<mode>3): Merge *avx2_uavgv32qi3, *sse2_uavgv16qi3,
+ *avx2_uavgv16hi3 and *sse2_uavgv8hi3 into one.
+ (PMULHRSW): New.
+ (<ssse3_avx2>_pmulhrsw<mode>3): Merge avx2_umulhrswv16hi3,
+ ssse3_pmulhrswv8hi3 and ssse3_pmulhrswv4hi3 into one.
+ (*avx2_pmulhrswv16hi3): Replace const_vector with const1_operand
+ predicate.
+ (*ssse3_pmulhrswv8hi3): Ditto.
+ (*ssse3_pmulhrswv4hi3): Ditto.
+
+2012-11-06 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * config/epiphany/epiphany.c (epiphany_address_cost):
+ Use MODE parameter.
+
+2012-11-05 Sriraman Tallam <tmsriram@google.com>
+
+ * doc/tm.texi.in (TARGET_OPTION_FUNCTION_VERSIONS): New hook
+ description.
+ * (TARGET_COMPARE_VERSION_PRIORITY): New hook description.
+ * (TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): New hook description.
+ * (TARGET_GENERATE_VERSION_DISPATCHER_BODY): New hook description.
+ * doc/tm.texi: Regenerate.
+ * target.def (compare_version_priority): New target hook.
+ * (generate_version_dispatcher_body): New target hook.
+ * (get_function_versions_dispatcher): New target hook.
+ * (function_versions): New target hook.
+ * cgraph.c (cgraph_fnver_htab): New htab.
+ (cgraph_fn_ver_htab_hash): New function.
+ (cgraph_fn_ver_htab_eq): New function.
+ (version_info_node): New pointer.
+ (insert_new_cgraph_node_version): New function.
+ (get_cgraph_node_version): New function.
+ (delete_function_version): New function.
+ (record_function_versions): New function.
+ * cgraph.h (cgraph_node): New bitfield dispatcher_function.
+ (cgraph_function_version_info): New struct.
+ (get_cgraph_node_version): New function.
+ (insert_new_cgraph_node_version): New function.
+ (record_function_versions): New function.
+ (delete_function_version): New function.
+ (init_lowered_empty_function): Expose function.
+ * tree.h (DECL_FUNCTION_VERSIONED): New macro.
+ (tree_function_decl): New bit-field versioned_function.
+ * cgraphunit.c (cgraph_analyze_function): Generate body of multiversion
+ function dispatcher.
+ (cgraph_analyze_functions): Analyze dispatcher function.
+ (init_lowered_empty_function): Make non-static. New parameter in_ssa.
+ (assemble_thunk): Add parameter to call to init_lowered_empty_function.
+ * config/i386/i386.c (add_condition_to_bb): New function.
+ (get_builtin_code_for_version): New function.
+ (ix86_compare_version_priority): New function.
+ (feature_compare): New function.
+ (dispatch_function_versions): New function.
+ (ix86_function_versions): New function.
+ (attr_strcmp): New function.
+ (ix86_mangle_function_version_assembler_name): New function.
+ (ix86_mangle_decl_assembler_name): New function.
+ (make_name): New function.
+ (make_dispatcher_decl): New function.
+ (is_function_default_version): New function.
+ (ix86_get_function_versions_dispatcher): New function.
+ (make_attribute): New function.
+ (make_resolver_func): New function.
+ (ix86_generate_version_dispatcher_body): New function.
+ (fold_builtin_cpu): Return integer for cpu builtins.
+ (TARGET_MANGLE_DECL_ASSEMBLER_NAME): New macro.
+ (TARGET_COMPARE_VERSION_PRIORITY): New macro.
+ (TARGET_GENERATE_VERSION_DISPATCHER_BODY): New macro.
+ (TARGET_GET_FUNCTION_VERSIONS_DISPATCHER): New macro.
+ (TARGET_OPTION_FUNCTION_VERSIONS): New macro.
+
+2012-11-05 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * recog.c (extract_insn): Enabled alternative defaults to 1.
+
+2012-11-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (print_reg): Replace REX_INT_REG_P with
+ REX_INT_REGNO_P.
+
+2012-11-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/54986
+ * gimple-fold.c (canonicalize_constructor_val): Strip again all no-op
+ conversions on entry but add them back on exit if needed.
+
+2012-11-05 Andreas Schwab <schwab@linux-m68k.org>
+
+ * final.c (final_scan_insn) [HAVE_cc0]: Handle all comparison
+ codes in non-jump and cmove insn.
+
+2012-11-05 Uros Bizjak <ubizjak@gmail.com>
+ Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
+
+ * mode-switching.c (create_pre_exit): Force late switching if
+ __builtin_{apply,return} emitted a load that require mode,
+ other than MODE_EXIT.
+
+2012-11-05 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/55204
+ * config/i386/i386.c (ix86_address_subreg_operand): Remove stack
+ pointer check.
+ (print_reg): Use true_regnum rather than REGNO.
+ (ix86_print_operand_address): Remove SUBREG handling.
+
+2012-11-05 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-loop-niter.c (finite_loop_p): Revamp to be just wrapper of
+ max_loop_iterations.
+
+2012-11-05 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * reorg.c (fill_simple_delay_slots): Avoid calling optimize_skip
+ with a return instruction.
+
+2012-11-05 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55151
+ * lra-constraints.c (process_alt_operands): Permit putting reg
+ value into memory. Increase reject for this case.
+
+2012-11-05 Dehao Chen <dehao@google.com>
+
+ * final.c (reemit_insn_block_notes): Do not change scope if insn
+ location is UNKNOWN_LOCATION.
+
+2012-11-05 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * doc/md.texi (Defining Attributes): Document that we are defining
+ HAVE_ATTR_name macros as 1 for defined attributes, and as 0
+ for undefined special attributes.
+ * final.c (asm_insn_count, align_fuzz): Always define.
+ (insn_current_reference_address): Likewise.
+ (init_insn_lengths): Use if (HAVE_ATTR_length) instead of
+ #ifdef HAVE_ATTR_length.
+ (get_attr_length_1, shorten_branches, final): Likewise.
+ (final_scan_insn, output_asm_name): Likewise.
+ * genattr.c (gen_attr): Define HAVE_ATTR_name macros for
+ defined attributes as 1.
+ Remove ancient get_attr_alternative compatibility code.
+ For special purpose attributes not provided, define HAVE_ATTR_name
+ as 0.
+ In case no length attribute is given, provide stub definitions
+ for insn_*_length* functions, and also include insn-addr.h.
+ In case no enabled attribute is given, provide stub definition.
+ * genattrtab.c (write_length_unit_log): Always write a definition.
+ * hooks.c (hook_int_rtx_1, hook_int_rtx_unreachable): New functions.
+ * hooks.h (hook_int_rtx_1, hook_int_rtx_unreachable): Declare.
+ * lra-int.h (struct lra_insn_recog_data): Make member
+ alternative_enabled_p unconditional.
+ * lra.c (free_insn_recog_data): Use if (HAVE_ATTR_length) instead of
+ #ifdef HAVE_ATTR_length.
+ (lra_set_insn_recog_data): Likewise. Make initialization of
+ alternative_enabled_p unconditional.
+ (lra_update_insn_recog_data): Use #if instead of #ifdef for
+ HAVE_ATTR_enabled.
+ * recog.c [!HAVE_ATTR_enabled] (get_attr_enabled): Don't define.
+ (extract_insn): Check HAVE_ATTR_enabled.
+ (gate_handle_split_before_regstack): Use #if instead of
+ #if defined for HAVE_ATTR_length.
+
+2012-11-05 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (compute_uninlined_call_time,
+ compute_inlined_call_time): New functions.
+ (RELATIVE_TIME_BENEFIT_RANGE): New macro.
+ (relative_time_benefit): Rewrite.
+ (edge_badness): Rewrite path with guessed profile and estimated profile.
+ * ipa-inline.h (INLINE_HINT_declared_inline, INLINE_HINT_cross_module):
+ New hints.
+ (struct inline_summary): Add GROWTH filed.
+ * ipa-inline-analysis.c (dump_inline_hints): Update.
+ (reset_inline_summary): Update.
+ (dump_inline_summary): Update.
+ (will_be_nonconstant_predicate): Cleanup to use gimple_store_p and
+ gimple_assign_load_p predicates.
+ (estimate_node_size_and_time): Drop INLINE_HINT_declared_inline hint.
+ (simple_edge_hints): New function.
+ (do_estimate_edge_time): Return time of invocation of callee rather
+ than the time scaled by edge frequency; update hints code.
+ (do_estimate_edge_hints): Update.
+ (do_estimate_growth): Cleanup.
+
+2012-11-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/55194
+ * dwarf2out.c (value_format) <case dw_val_class_high_pc>: Handle
+ also DWARF2_ADDR_SIZE 1 and 2.
+
+2012-11-05 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-loop-niter.c (find_loop_niter): Remove just_once_each_iteration_p.
+ (maybe_lower_iteration_bound): Initialize not_executed_last_iteration to NULL
+ * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables): Skip
+ just_once_each_iteration_p; record estimated bound when loop has only one
+ likely exit; test just_once_each_iteration_p before IV canon itself.
+
+2012-11-05 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (leaf_node_p): Rename to ...
+ (num_calls) ... this one.
+ (want_early_inline_function_p): Allow smal growth on non-leafs.
+
+2012-11-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/54402
+ * var-tracking.c (fp_setter): Return false if there is REG_CFA_RESTORE
+ hfp note.
+ (vt_initialize): Look for fp_setter in any bb, not just successor of
+ entry bb.
+
+2012-11-05 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.h (TARGET_CACHE32, TARGET_HARVARD): Delete macro.
+ (TARGET_SUPERSCALAR): Add TARGET_SH2A.
+ (CACHE_LOG): Use TARGET_HARD_SH4 and TARGET_SH5 instead of
+ TARGET_CACHE32.
+ (TRAMPOLINE_ALIGNMENT): Use TARGET_HARD_SH4 and TARGET_SH5 instead of
+ TARGET_HARVARD.
+ * config/sh/sh.c (sh_trampoline_init): Likewise.
+
+2012-11-05 David Edelsohn <dje.gcc@gmail.com>
+
+ * system.h (loc_t): Poison.
+
+2012-11-05 Marc Glisse <marc.glisse@inria.fr>
+
+ * fold-const.c (fold_unary_loc): Disable conversion optimization
+ for void type.
+
+2012-11-04 Thomas Schwinge <thomas@codesourcery.com>
+
+ * configure: Regenerate.
+
+2012-11-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * combine.c: Adjust toplevel comment.
+ (make_extraction): Adjust head comment and move up canonicalization.
+
+2012-11-04 Alexandre Oliva <aoliva@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/54693
+ * tree-ssa-loop-ivopts.c (remove_unused_ivs): Emit debug temps
+ for dropped IV sets.
+
+2012-11-04 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/54693
+ * tree-ssa-threadedge.c (propagate_threaded_block_debug_into):
+ New, rewritten from debug stmt copying code...
+ (thread_around_empty_block): ... removed from here.
+ (thread_across_edge): Call propagate_threaded_block_debug_into.
+
+2012-11-04 Dehao Chen <dehao@google.com>
+
+ * expr.c (expand_expr_real_1): Change to not using input_location.
+
+2012-11-03 Jan Hubicka <jh@suse.cz>
+
+ * invoke.texi (profile-use): update documentation.
+ * opts.c (common_handle_option): Enable tree-vectorize
+ and tree-loop-distribute-patterns.
+ * tree-loop-distribution.c (tree_loop_distribution): Skip loops
+ optimized for size.
+ * config/i386/i386.c (ix86_option_override_internal): Enabe
+ prefetch_lop_arrays for profile-use.
+
+2012-11-03 Robert Mason <rbmj@verizon.net>
+
+ * gcov-io.c (gcov_open): Add file mode to open call (need for VxWorks)
+
+2012-11-03 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/extend.texi: Copy-edit to use present tense except when
+ explicitly describing future or past behavior.
+
+2012-11-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.c (output_movedouble, output_far_jump,
+ output_ieee_ccmpeq): Use multi-line strings for asm.
+ (find_regmode_weight): Wrap lines.
+ (sh_optimize_target_register_callee_saved): Remove commented out
+ variable.
+ (emit_load_ptr): Remove prototype.
+
+2012-11-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh.md (*cbranch_t): Allow splitting after reload.
+ Allow going beyond current basic block before reload when looking for
+ the reg set insn.
+ * config/sh/sh.c (sh_find_set_of_reg): Don't stop at labels.
+
+2012-11-02 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk): Add
+ missing sign to unsigned.
+
+2012-11-02 Andrew Pinski <apinski@cavium.com>
+
+ PR rtl-opt/54524
+ * simplify-rtx.c (simplify_relational_operation_1): Don't simplify
+ (LTU/GEU (PLUS a 0) 0) into (GEU/LTU a 0) since they are not
+ equivalent.
+
+2012-11-02 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-loop-niter.c (double_int_cmp, bound_index,
+ discover_iteration_bound_by_body_walk): New functions.
+ (discover_iteration_bound_by_body_walk): Use it.
+
+2012-11-02 Jan Hubicka <jh@suse.cz>
+
+ * predict.c (predict_loops): Predict also exits not dominating latch.
+
+2012-11-02 Jan Hubicka <jh@suse.cz>
+
+ * predict.c (predict_loops): Do not predict infinite loops.
+
+2012-11-02 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/55079
+ * tree-ssa-loop-niter.c (number_of_iterations_exit): Update
+ MAX field if NITER was folded to contant.
+ (record_estimate): Sanity check.
+ * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): New
+ function.
+ (remove_redundant_iv_test): New function.
+ (loops_to_unloop, loops_to_unloop_nunroll): New static vars.
+ (unloop_loops): Break out from ...
+ (try_unroll_loop_completely): ... here; Pass in MAXITER; use
+ remove_exits_and_undefined_stmts; do not unloop.
+ (canonicalize_loop_induction_variables): Compute MAXITER;
+ use remove_redundant_iv_test; remove loop_close_ssa_invalidated
+ and irred_invalidated arguments.
+ (canonicalize_induction_variables): Compute fresh bound estimates;
+ unloop; walk from innermost.
+ (tree_unroll_loops_completely): Likewise.
+
+2012-11-02 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/55130
+ * lra-constraints.c (debug_loc_equivalence_change_p): Rename to
+ loc_equivalence_change_p.
+ (lra_constraints): Check equiv_insn_bitmap for debug insn. Call
+ loc_equivalence_change_p for non-transformed insn.
+
+2012-11-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfg-flags.def (ABNORMAL_CALL): Fix comment.
+ (EH): Likewise.
+ (SIBCALL): Likewise.
+ * cfgrtl.c (rtl_verify_flow_info_1): Adjust error messages.
+ Deal with EDGE_SIBCALL and fix the EDGE_ABNORMAL check.
+
+2012-11-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/55147
+ * config/i386/i386.md (bswapdi2): Limit to TARGET_64BIT.
+ (*bswapdi2_doubleword): Removed.
+
+2012-11-02 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (Specific): Remove moxie web reference.
+
+2012-11-01 Marc Glisse <marc.glisse@inria.fr>
+
+ PR middle-end/55001
+ * tree-vect-generic.c (expand_vector_condition): New function.
+ (expand_vector_operations_1): Call it.
+
+2012-11-01 Steve Ellcey <sellcey@mips.com>
+
+ * target-globals.c (save_target_globals): Save lra_int struct.
+
+2012-11-01 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/standards.texi (Standards): Adjust reference to Go specification.
+
+2012-11-01 Lawrence Crowl <crowl@google.com>
+
+ * ebitmap.h: Remove unused.
+ * ebitmap.c: Remove unused.
+ * Makefile.in: Remove ebitmap.h and ebitmap.c.
+ * sbitmap.h (SBITMAP_SIZE_BYTES): Move to source file.
+ (SET_BIT_WITH_POPCOUNT): Remove unused.
+ (RESET_BIT_WITH_POPCOUNT): Remove unused.
+ (bitmap_copy_n): Remove unused.
+ (bitmap_range_empty_p): Remove unused.
+ (sbitmap_popcount): Remove unused.
+ (sbitmap_verify_popcount): Make private to source file.
+ * sbitmap.c (SBITMAP_SIZE_BYTES): Move here from header.
+ (bitmap_copy_n): Remove unused.
+ (bitmap_range_empty_p): Remove unused.
+ (sbitmap_popcount): Remove unused.
+ (sbitmap_verify_popcount): Make private to source file.
+
+2012-11-01 Lawrence Crowl <crowl@google.com>
+
+ * sbitmap.h (sbitmap_iter_init): Rename bmp_iter_set_init and add
+ unused parameter to match bitmap iterator. Update callers.
+ (sbitmap_iter_cond): Rename bmp_iter_set. Update callers.
+ (sbitmap_iter_next): Rename bmp_iter_next and add unused parameter to
+ match bitmap iterator. Update callers.
+ (EXECUTE_IF_SET_IN_SBITMAP_REV): Remove unused.
+ (EXECUTE_IF_SET_IN_SBITMAP): Rename EXECUTE_IF_SET_IN_BITMAP and
+ adjust to be identical to the definition in bitmap.h. Conditionalize
+ the definition based on not having been defined. Update callers.
+ * bitmap.h (EXECUTE_IF_SET_IN_BITMAP): Conditionalize the definition
+ based on not having been defined. (To match the above.)
+
+2012-11-01 Lawrence Crowl <crowl@google.com>
+
+ * sbitmap.h (TEST_BIT): Rename bitmap_bit_p, normalizing parameter
+ type. Update callers to match.
+ (SET_BIT): Rename bitmap_set_bit, normalizing parameter type. Update
+ callers to match.
+ (SET_BIT_WITH_POPCOUNT): Rename bitmap_set_bit_with_popcount,
+ normalizing parameter type. Update callers to match.
+ (RESET_BIT): Rename bitmap_clear_bit, normalizing parameter type.
+ Update callers to match.
+ (RESET_BIT_WITH_POPCOUNT): Rename bitmap_clear_bit_with_popcount,
+ normalizing parameter type. Update callers to match.
+ * basic-block.h (sbitmap_intersection_of_succs): Rename
+ bitmap_intersection_of_succs. Update callers to match.
+ * basic-block.h (sbitmap_intersection_of_preds): Rename
+ bitmap_intersection_of_preds. Update callers to match.
+ * basic-block.h (sbitmap_union_of_succs): Rename
+ bitmap_union_of_succs. Update callers to match.
+ * basic-block.h (sbitmap_union_of_preds): Rename
+ bitmap_union_of_preds. Update callers to match.
+
+2012-11-01 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/55150
+ * lra-constraints.c (lra_constraints): Check only pseudos with
+ equivalences. Add insns with equivalence pseudos.
+
+2012-11-01 Sharad Singhai <singhai@google.com>
+
+ PR other/55164
+ * dumpfile.h (struct dump_file_info): Fix order of flags.
+
+2012-11-01 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/55104
+ * ipa-inline-transform.c (inline_call): Silence an sanity check until
+ ipa-cp issue if fixed.
+
+2012-11-01 Sharad Singhai <singhai@google.com>
+
+ * doc/invoke.texi: Update -fopt-info documentation.
+ * dumpfile.c: Move dump_flags here from passes.c.
+ Rename opt_info_options to optinfo_verbosity_options.
+ Add optgroup_options.
+ (dump_files): Add field for optinfo_flags in the static initializer.
+ (dump_register): Handle additional parameter for optgroup_flags.
+ (opt_info_enable_passes): Renamed opt_info_enable_all. Handle
+ optgroup_flags. Fix documentation.
+ (opt_info_switch_p_1): Handle optgroup options.
+ (opt_info_switch_p): Handle optgroup_flags. Warn on multiple files.
+ * dumpfile.h (dump_register): Additional argument for optgroup_flags.
+ All callers updated.
+ (struct dump_file_info): Add field for optgroup_flags.
+ Define OPTGROUP_* flags.
+ * tree-pass.h (struct opt_pass): Add addtional field for optinfo_flags.
+ All opt_pass static initializers updated.
+ * opts-global.c (dump_remap_tree_vectorizer_verbose): Use 'all'
+ instead of 'optall'.
+ (handle_common_deferred_options): Fix typo in error message.
+ * passes.c (register_one_dump_file): Add argument for optgroup_flags.
+ Turn on OPTGROUP_IPA for IPA passes.
+ Move dump_flags from here to dumpfile.c.
+ * statistics.c (statistics_early_init): Use OPTGROUP_NONE in call to
+ dump_register.
+
+2012-11-01 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR target/55160
+ * config/sh/sh.md (doloop_end): Use emit_jump_insn.
+
+2012-10-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53708
+ * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
+ user-supplied alignment when used with an explicit section name.
+
+2012-10-31 Dehao Chen <dehao@google.com>
+
+ * tree-eh.c (do_return_redirection): Set location for jump statement.
+ (do_goto_redirection): Likewise.
+ (frob_into_branch_around): Likewise.
+ (lower_try_finally_nofallthru): Likewise.
+ (lower_try_finally_copy): Likewise.
+ (lower_try_finally_switch): Likewise.
+ * expr.c (store_expr): Use current insn location instead of expr
+ location.
+ (expand_expr_real): Likewise.
+ (expand_expr_real_1): Likewise.
+
+2012-10-31 Easwaran Raman <eraman@google.com>
+
+ PR target/54938
+ PR middle-end/54957
+ * optabs.c (emit_cmp_and_jump_insn_1): Add REG_BR_PROB note
+ only if it doesn't already exist.
+ * stmt.c (get_outgoing_edge_probs): Return 0 if BB is NULL.
+ (emit_case_dispatch_table): Handle the case where STMT_BB is NULL.
+ (expand_sjlj_dispatch_table): Pass BB containing before_case
+ to emit_case_dispatch_table.
+
+2012-10-31 Lawrence Crowl <crowl@google.com>
+
+ * is-a.h: New.
+ (is_a <T> (U*)): New. Test for is-a relationship.
+ (as_a <T> (U*)): New. Treat as a derived type.
+ (dyn_cast <T> (U*)): New. Conditionally cast based on is_a.
+ * cgraph.h (varpool_node): Rename to varpool_node_for_decl.
+ Adjust callers to match.
+ (is_a_helper <cgraph_node>::test (symtab_node_def *)): New.
+ (is_a_helper <varpool_node>::test (symtab_node_def *)): New.
+ (symtab_node_def::try_function): New. Change most calls to
+ symtab_function_p with calls to dyn_cast <cgraph_node> (p).
+ (symtab_node_def::try_variable): New. Change most calls to
+ symtab_variable_p with calls to dyn_cast <varpool_node> (p).
+ (symtab_function_p): Remove. Change callers to use
+ is_a <cgraph_node> (p) instead.
+ (symtab_variable_p): Remove. Change callers to use
+ is_a <varpool_node> (p) instead.
+ * cgraph.c (cgraph_node_for_asm): Remove redundant call to
+ symtab_node_for_asm.
+ * cgraphunit.c (symbol_finalized_and_needed): New.
+ (symbol_finalized): New.
+ (cgraph_analyze_functions): Split complicated conditionals out into
+ above new functions.
+ * Makefile.in (CGRAPH_H): Add is-a.h as used by cgraph.h.
+
+2012-10-31 Steven Bosscher <steven@gcc.gnu.org>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/55018
+ * basic-block.h (dfs_find_deadend): New prototype.
+ * cfganal.c (dfs_find_deadend): No longer static. Use bitmap
+ instead of sbitmap for visited.
+ (flow_dfs_compute_reverse_execute): Use dfs_find_deadend here, too.
+ * dominance.c (calc_dfs_tree): If saw_unconnected, traverse from
+ dfs_find_deadend of unconnected b instead of b directly.
+
+2012-10-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/i386/i386.c (ix86_expand_prologue): Emit frame info for the
+ special register pushes before frame probing and allocation.
+
+2012-10-31 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/55150
+ * lra-constraints.c (lra_constraints): Update debug insn info
+ after equivalence change.
+
+2012-10-31 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (ipa_inline): Avoid infinite loop on inlining
+ empty virtual functions calling themselves.
+
+2012-10-31 Tom Tromey <tromey@redhat.com>
+
+ PR other/50899
+ * doc/gcc.texi: Add @direntry for gcov.
+
+2012-10-31 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * expr.c (can_move_by_pieces): Apply ATTRIBUTE_UNUSED to len.
+
+2012-10-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/19105
+ PR tree-optimization/21643
+ PR tree-optimization/46309
+ * tree-ssa-reassoc.c (init_range_entry): Add STMT argument
+ and use it if EXP is NULL.
+ (update_range_test): Handle OPCODE equal to ERROR_MARK and oe->op NULL.
+ (optimize_range_tests): Likewise.
+ (final_range_test_p, suitable_cond_bb, no_side_effect_bb, get_ops,
+ maybe_optimize_range_tests): New functions.
+ (reassociate_bb): Call maybe_optimize_range_tests if last
+ stmt of bb is GIMPLE_COND that hasn't been visited yet.
+
+2012-10-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/rs6000/rs6000.md (insvsi, insvdi, extvsi, extvdi): Rename
+ to...
+ (insvsi_internal, insvdi_internal, extvsi_internal)
+ (extvdi_internal): ...this.
+ (insv, extv): Update accordingly.
+
+2012-10-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * combine.c (simplify_comparison): If BITS_BIG_ENDIAN, always assume
+ that zero_extracts of const_ints are doing word-sized extractions.
+
+2012-10-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * combine.c (make_extraction): Remove dead wanted_inner_mode-
+ and pos_rtx-related code.
+
+2012-10-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * expmed.c (store_bit_field_1): Move generation of MEM insvs
+ to the MEM_P block.
+ (extract_bit_field_1): Likewise extvs and extzvs.
+
+2012-10-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * expmed.c (store_bit_field_using_insv): New function,
+ split out from...
+ (store_bit_field_1): ...here.
+ (extract_bit_field_using_extv): New function, split out from...
+ (extract_bit_field_1): ...here.
+
+2012-10-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * expmed.c (store_bit_field_1): Use OP_MODE to check whether an
+ insv pattern is available. Remove redundant checks for OP_MODE
+ being MAX_MACHINE_MODE.
+ (extract_bit_field_1): Remove redundant checks for EXT_MODE being
+ MAX_MACHINE_MODE.
+
+2012-10-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * expmed.c (store_bit_field_1): Remove test for BLKmode values.
+
+2012-10-31 Ralf Corsépius <ralf.corsepius@rtems.org>,
+ Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * config/sparc/t-rtems: New (Custom multilibs).
+ * config/sparc/t-rtems-64: New (Custom multilibs).
+ * config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64.
+ (sparc-*-rtems*): Add sparc/t-rtems.
+
+2012-10-31 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (legitimize_reload_address): Remove code
+ handling non-aligned ld/std.
+ * config/rs6000/paired.md (movv2sf_paired): Use 'Y' instead of 'o'.
+ * config/rs6000/vsx.md (vsx_mov, vsx_movti): Likewise.
+ * config/rs6000/altivec.md (altivec_mov, altivec_movti): Likewise.
+ * config/rs6000/dfp.md (movtd_internal): Use 'm' instead of 'o'.
+
+2012-10-31 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/linux64.h (TARGET_OS_CPP_BUILTINS): Define _CALL_LINUX.
+
+2012-10-31 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * lra-constraints.c (choose_split_class): Add ATTRIBUTE_UNUSED to
+ hard_reg_class.
+
+ PR target/52498
+ * vmsdbgout.c (vmsdbgout_write_source_line): Comment out names of
+ last two parameters.
+
+2012-10-30 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/54551
+ PR debug/54693
+ * valtrack.c (dead_debug_promote_uses): Assert-check that
+ global used bit was clear and initialize entry unconditionally.
+
+2012-10-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in
+ head comment.
+ (hash_rtx): Likewise.
+
+2012-10-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/55093
+ * rtlanal.c (simplify_subreg_regno): Remove lra_in_progress
+ check for ARG_POINTER_REGNUM.
+
+2012-10-30 Steve Ellcey <sellcey@mips.com>
+
+ * config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Change order
+ and add mabi=64.
+ (DRIVER_SELF_SPECS): Make -n32 the default on mips64* archs.
+ * config/mips/t-mti-linux (MULTILIB_OPTIONS): Change order.
+ (MULTILIB_DIRNAMES): Ditto.
+ (MULTILIB_EXCEPTIONS): New.
+
+2012-10-30 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * lra-constraints.c (check_secondary_memory_needed_p):
+ Add ATTRIBUTE_UNUSED to parameters.
+
+2012-10-30 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * defaults.h (SLOW_UNALIGNED_ACCESS): Provide default definition.
+ * expmed.c (SLOW_UNALIGNED_ACCESS): Remove default definition.
+ * expr.c (SLOW_UNALIGNED_ACCESS): Likewise.
+ * lra-constraints.c (SLOW_UNALIGNED_ACCESS): Likewise.
+ (simplify_operand_subreg): Don't check STRICT_ALIGNMENT here.
+
+2012-10-30 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-analysis.c (eliminated_by_inlining_prob): Cleanup.
+
+2012-10-30 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-loop-niter.c (number_of_iterations_exit): New parameter
+ EVERY_ITERATION with implicit value of true.
+ (record_estimate): Check dominance relationship of the basic block
+ we are estimating on instead of relying on UPPER to be false.
+ (struct ilb_data): Drop RELIABLE.
+ (idx_infer_loop_bounds): Update.
+ (infer_loop_bounds_from_ref): Drop parameter RELIABLE.
+ (infer_loop_bounds_from_array): Drop parameter RELIABLE.
+ (infer_loop_bounds_from_undefined): Update comments and handling
+ of RELIABLE.
+ (estimate_numbers_of_iterations_loop): Record all bounds.
+
+2012-10-30 Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ * lra-eliminations.c (lra_eliminate_regs_1): Use simplify_gen_subreg
+ rather than gen_rtx_SUBREG.
+
+2012-10-30 Richard Biener <rguenther@suse.de>
+
+ * gimple.h (gimple_store_p): New predicate.
+ (gimple_assign_load_p): Likewise.
+ * tree-inline.c (estimate_num_insns): Use it.
+
+2012-10-30 Marc Glisse <marc.glisse@inria.fr>
+
+ * fold-const.c (fold_binary_op_with_conditional_arg): Handle vectors.
+ (fold_binary_loc): Call it for VEC_COND_EXPR.
+
+2012-10-30 James Greenhalgh <james.greenhalgh@arm.com>
+ Tejas Belagod <tejas.belagod@arm.com>
+
+ * config/aarch64/aarch64-simd.md
+ (aarch64_simd_bsl<mode>_internal): New pattern.
+ (aarch64_simd_bsl<mode>): Likewise.
+ (aarch64_vcond_internal<mode>): Likewise.
+ (vcondu<mode><mode>): Likewise.
+ (vcond<mode><mode>): Likewise.
+ * config/aarch64/iterators.md (UNSPEC_BSL): Add to define_constants.
+
+2012-10-30 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55111
+ * tree-ssa-pre.c (eliminate_insert): Properly fold the built stmt.
+
+2012-10-30 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54963
+ * config/sh/iterators.md (SIDI): New mode iterator.
+ * config/sh/sh.md (negdi2): Use parallel around operation and T_REG
+ clobber in expander.
+ (*negdi2): Mark output operand as early clobbered. Add T_REG clobber.
+ Split after reload. Simplify split code.
+ (abssi2, absdi2): Fold expanders into abs<mode>2.
+ (*abssi2, *absdi2): Fold into *abs<mode>2 insn_and_split. Split insns
+ before reload.
+ (*negabssi2, *negabsdi2): Fold into *negabs<mode>2. Add T_REG clobber.
+ Split insns before reload.
+ (negsi_cond): Reformat. Use emit_move_insn instead of gen_movesi.
+ (negdi_cond): Reformat. Use emit_move_insn instead of a pair
+ of gen_movsi. Split insn before reload.
+
+2012-10-30 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53988
+ * config/sh/sh.md (tstqi_t_zero): Rename to *tstqi_t_zero.
+ (*tst<mode>_t_zero): New insns.
+ * config/sh/iterators.md (lowpart_be, lowpart_le): New mode attributes.
+
+2012-10-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gimple-pretty-print.c (dump_gimple_bb_header): Avoid alloca.
+
+2012-10-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/54953
+ * valtrack.h (DEBUG_TEMP_AFTER_WITH_REG_FORCE): New.
+ * valtrack.c (dead_debug_insert_temp): Use emit_debug_insn_after
+ even for where == DEBUG_TEMP_AFTER_WITH_REG_FORCE.
+ * dce.c (word_dce_process_block, dce_process_block): Pass
+ DEBUG_TEMP_AFTER_WITH_REG_FORCE if insn is needed and therefore
+ not going to be eliminated.
+
+2012-10-29 Lawrence Crowl <crowl@google.com>
+
+ * sbitmap.h (sbitmap_copy): Rename bitmap_copy.
+ (sbitmap_copy_n): Rename bitmap_copy_n.
+ (sbitmap_equal): Rename bitmap_equal_p.
+ (sbitmap_empty_p): Rename bitmap_empty_p.
+ (sbitmap_range_empty_p): Rename bitmap_range_empty_p.
+ (sbitmap_zero): Rename bitmap_clear.
+ (sbitmap_ones): Rename bitmap_ones.
+ (sbitmap_vector_zero): Rename bitmap_vector_clear.
+ (sbitmap_vector_ones): Rename bitmap_vector_ones.
+ (sbitmap_not): Rename bitmap_not.
+ (sbitmap_a_and_b_cg): Commented out.
+ (sbitmap_a_and_b): Rename bitmap_and. Add bool return.
+ (sbitmap_difference): Rename bitmap_and_compl.
+ (sbitmap_a_or_b_cg): Commented out.
+ (sbitmap_a_or_b): Rename bitmap_xor. Add bool return.
+ (sbitmap_a_xor_b_cg): Commented out.
+ (sbitmap_a_xor_b): Rename bitmap_xor. Add bool return.
+ (sbitmap_a_and_b_or_c_cg): Rename bitmap_and_or.
+ (sbitmap_a_and_b_or_c): Commented out.
+ (sbitmap_a_or_b_and_c_cg): Rename bitmap_or_and.
+ (sbitmap_a_or_b_and_c): Commented out.
+ (sbitmap_union_of_diff_cg): Rename bitmap_ior_and_compl.
+ (sbitmap_union_of_diff): Commented out.
+ (dump_sbitmap): Rename dump_bitmap.
+ (dump_sbitmap_file): Rename dump_bitmap_file.
+ (debug_sbitmap): Rename debug_bitmap.
+ (dump_sbitmap_vector): Rename dump_bitmap_vector.
+ (sbitmap_first_set_bit): Rename bitmap_first_set_bit.
+ (sbitmap_last_set_bit): Rename bitmap_last_set_bit.
+ (sbitmap_a_subset_b_p): Rename bitmap_subset_p.
+ (sbitmap_any_common_bits): Rename bitmap_intersect_p.
+ (#define sbitmap_free): Reimplement as inline function.
+ (#define sbitmap_vector_free): Reimplement as inline function.
+ * bitmap.h (#define bitmap_zero): Remove as redundant.
+ (#define bitmap_empty_p): Reimplement as inline function.
+ (#define dump_bitmap): Reimplement as inline function.
+
+2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/54930
+ * doc/invoke.texi (Warning Options): Document -Wno-return-local-addr.
+
+2012-10-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * lra-assigns.c: Remove trailing white spaces.
+ * lra-coalesce.c: Likewise.
+ * lra-constraints.c: Likewise.
+ * lra-eliminations.c: Likewise.
+ * lra-int.h: Likewise.
+ * lra-spills.c: Likewise.
+ * lra.c: Likewise.
+
+2012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/53066
+ * tree.h (FUNCTION_POINTER_TYPE_P): New.
+
+2012-10-29 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/54693
+ * valtrack.c (dead_debug_insert_temp): Defer rescan of
+ newly-emitted debug insn.
+
+2012-10-29 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/54693
+ * tree-ssa-threadedge.c (thread_around_empty_block): Copy
+ debug temps from predecessor before threading.
+
+2012-10-29 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/54551
+ PR debug/54693
+ * valtrack.c (dead_debug_global_find): Accept NULL dtemp.
+ (dead_debug_global_insert): Return new entry.
+ (dead_debug_global_replace_temp): Return early if REG is no
+ longer in place, or if dtemp was already substituted.
+ (dead_debug_promote_uses): Insert for all defs and replace all
+ debug uses at once.
+ (dead_debug_local_finish): Release used after promotion.
+ (dead_debug_insert_temp): Stop if dtemp is NULL.
+
+2012-10-29 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/54693
+ * loop-unroll.c (loop_exit_at_end_p): Skip debug insns.
+
+2012-10-29 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/54693
+ * config/i386/i386.c (add_parameter_dependencies): Stop
+ backward scan at the insn before the incoming head.
+ (ix86_dependencies_evaluation_hook): Skip debug insns. Stop
+ if first_arg is head.
+
+2012-10-29 Andrew Pinski <apinski@cavium.com>
+
+ * config/aarch64/aarch64-protos.h (aarch64_load_tp): New proto.
+ * config/aarch64/aarch64.c (aarch64_load_tp): Export.
+ (aarch64_init_builtins): Don't add __builtin_thread_pointer builtin.
+ * config/aarch64/aarch64.h (aarch64_builtins): Delete
+ AARCH64_BUILTIN_THREAD_POINTER.
+ * config/aarch64/aarch64.md (get_thread_pointerdi): New pattern.
+
+2012-10-29 Marc Glisse <marc.glisse@inria.fr>
+
+ PR middle-end/55027
+ * tree.c (real_zerop, real_onep, real_twop, real_minus_onep):
+ Handle VECTOR_CST.
+
+2012-10-29 Vladimir Makarov <vmakarov@redhat.com>
+
+ * rtlanal.c (strip_address_mutation): Use SUBREG_REG instead of XEXP.
+
+2012-10-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_decompose_address): Use simplify_gen_subreg
+ for all addresses, zero-extended with AND.
+
+2012-10-29 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/55116
+ * rtlanal.c (strip_address_mutation): Add SUBREG case.
+
+2012-10-29 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (want_inline_function_called_once_p): Rename to ...
+ (want_inline_function_to_all_callers_p): check also functions with
+ multiple callers.
+ (ipa_inline): Handle inlining for size into multiple callers.
+
+2012-10-29 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53695
+ * tracer.c (tracer): Fixup loop structure.
+ * cfgloopmanip.c (force_single_succ_latches): Add assert.
+ (fix_loop_structure): Re-compute loop latches and disambiguate
+ loops with multiple latches if required.
+
+2012-10-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_decompose_address): Use simplify_gen_subreg
+ to check SImode equivalent of address, zero-extended with AND RTX.
+ * config/i386/i386.md (ashift to lea splitter): Split to SImode mult.
+ (simple lea to add/shift peephole2s): Remove peephole2s that operate
+ on subregs of DImode operations.
+
+2012-10-28 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55106
+ * lra-constraints.c (skip_usage_debug_insns): New function.
+ (check_secondary_memory_needed_p): Ditto.
+ (inherit_reload_reg): Use the new functions. Improve debug output.
+
+2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/cpp.texi (Search Path): Fix outdated C++ path.
+
+2012-10-28 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-analysis.c (eliminated_by_inlining_prob): Handle
+ &this->field expressions.
+
+2012-10-28 Vladimir Makarov <vmakarov@redhat.com>
+
+ * rtl.h (struct rtx_def): Add a comment for member unchanging.
+ * lra-int.h (LRA_TEMP_CLOBBER_P): New macro.
+ (lra_hard_reg_substitution): Rename to lra_final_code_change.
+ * lra-constraints.c (match_reload): Mark temporary clobbers.
+ * lra-spill.c (lra_hard_reg_substitution): Rename to
+ lra_final_code_change. Remove temporary clobbers.
+ * lra.c (lra): Rename to lra_final_code_change.
+
+2012-10-28 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (edge_badness): Fix overflow.
+ (inline_small_functions): Initialize SCCs correctly.
+ (do_estimate_edge_time, do_estimate_edge_hints): Skip self
+ recursive functions in SCC hints.
+
+2012-10-28 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/38711
+ * ira.c (ira): Remove DF_LIVE if the problem is in the stack.
+ (do_reload): Add it back at the end for -O2 and higher.
+
+ * function.c (thread_prologue_and_epilogue_insns): Use
+ REG_SET_TO_HARD_REG_SET instead of CLEAR_HARD_REG_SET and
+ reg_set_to_hard_reg_set.
+
+2012-10-28 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (edge_badness): Reduce precision; use scc hints.
+ (inline_small_functions): Fix dumps; update all callees after inlining.
+ * ipa-inline.h (INLINE_HINT_in_scc, INLINE_HINT_same_scc): New
+ constants.
+ (inline summary): Add SCC_NO.
+ * ipa-inline-analysis.c (dump_inline_hints): Dump SCC hints.
+ (reset_inline_summary): Reset scc_no.
+ (estimate_node_size_and_time): Set in_scc hint.
+ (do_estimate_edge_time): Add same_scc hint.
+ (do_estimate_edge_hints): Likewise.
+
+2012-10-28 Andreas Schwab <schwab@linux-m68k.org>
+
+ * doc/cppopts.texi: Fix use of @item vs. @itemx inside @table.
+ * doc/extend.texi: Likewise.
+ * doc/generic.texi: Likewise.
+ * doc/invoke.texi: Likewise.
+ * doc/md.texi: Likewise.
+ * doc/sourcebuild.texi: Likewise.
+
+ * doc/tm.texi.in (Misc): Add newline before @end.
+ * doc/tm.texi: Update.
+
+2012-10-27 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * lra-assigns.c (find_hard_regno_for): Fix use of WORDS_BIG_ENDIAN.
+
+2012-10-27 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/55034
+ * config/avr/avr.c (avr_out_lpm): Remove unused regno_dest.
+
+2012-10-27 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/55042
+ * config/sh/sh.c (sh1_builtin_p): Comment out unused function.
+
+2012-10-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*lea<mode>): Remove unneeded temporary.
+
+2012-10-26 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/constraints.md: Update unused letter list, move
+ "w" near other memory constraints. Remove no longer relevant
+ comment.
+ * doc/md.texi: Sync sparc constraint documentation with reality.
+
+2012-10-26 DJ Delorie <dj@redhat.com>
+
+ * config/rl78/rl78.c (rl78_as_legitimate_address): Do not allow
+ reg+addend addresses for the _far namespace.
+
+2012-10-26 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/sync.md (ATOMIC): Correct DI condition.
+
+2012-10-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/54970
+ * cfgexpand.c (expand_debug_expr): Expand &MEM_REF[&var, n]
+ as DEBUG_IMPLICIT_PTR + n if &var expands to DEBUG_IMPLICIT_PTR.
+ * tree-sra.c (create_access_replacement): Allow also MEM_REFs
+ with ADDR_EXPR first operand in DECL_DEBUG_EXPR expressions.
+ * var-tracking.c (track_expr_p): Handle MEM_REFs in DECL_DEBUG_EXPR
+ expressions.
+ * dwarf2out.c (add_var_loc_to_decl): Likewise.
+
+2012-10-26 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadedge.c (cond_arg_set_in_bb): Use last stmt.
+
+2012-10-26 Gunther Nikl <gnikl@users.sourceforge.net>
+
+ * common/config/m68k/m68k-common.c (m68k_handle_option): Set
+ gcc_options fields of opts_set for -m68020-40 and -m68020-60.
+
+2012-10-26 Teresa Johnson <tejohnson@google.com>
+
+ * ree.c (add_removable_extension): Remove unnecessary
+ mode check with other extension.
+ * testsuite/gcc.c-torture/execute/20111227-2.c: New test.
+ * testsuite/gcc.c-torture/execute/20111227-3.c: Ditto.
+
+2012-10-26 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-transform.c (inline_call): Only account size changes
+ for !DECL_EXTERNAL.
+
+2012-10-26 Martin Jambor <mjambor@suse.cz>
+
+ PR debug/54971
+ * tree-sra.c (struct access): New flag grp_to_be_debug_replaced.
+ (dump_access): Dump the new flag.
+ (analyze_access_subtree): Set the new flag when appropriate.
+ (create_access_replacement): Handle debug replacements differently.
+ (generate_subtree_copies): Handle the grp_to_be_debug_replaced flag.
+ (init_subtree_with_zero): Likewise.
+ (sra_modify_expr): Likewise.
+ (load_assign_lhs_subreplacements): Likewise.
+ (sra_modify_assign): Likewise.
+
+2012-10-23 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * config/i386/i386.c (insn_is_function_arg) : Add check on CALL
+ instruction.
+ (ix86_dependencies_evaluation_hook): Insert dependencies in all
+ predecessors of call block for non-trivial region avoiding creation
+ of loop-carried dependency to avoid cross-block motion of HW registers.
+
+2012-10-26 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/54824
+ * tree-optimize.c (execute_fixup_cfg): Insert __builtin_unreachable
+ at the end of blocks with no successors.
+
+2012-10-26 Alexander Ivchenko <alexander.ivchenko@intel.com>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ * common/config/i386/i386-common.c
+ (OPTION_MASK_ISA_FXSR_SET): New.
+ (OPTION_MASK_ISA_XSAVE_SET): Likewise.
+ (OPTION_MASK_ISA_XSAVEOPT_SET): Likewise.
+ (ix86_handle_option): Handle mfxsr, mxsave, mxsaveopt options.
+ * config.gcc (i[34567]86-*-*): Add fxsrintrin.h,
+ xsaveintrin.h, xsaveoptintrin.h.
+ (x86_64-*-*): Likewise.
+ * config/i386/fxsrintrin.h: New header.
+ * config/i386/xsaveintrin.h: Likewise.
+ * config/i386/xsaveoptintrin.h: Likewise.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Detect
+ FXSR/XSAVE/XSAVEOPT support.
+ * config/i386/i386-builtin-types.def
+ (VOID_FTYPE_PVOID_INT64): New function type.
+ * config/i386/i386-c.c: Define __FXSR__, __XSAVE__
+ and __XSAVEOPT__ if needed.
+ * config/i386/i386.c (ix86_target_string): Define -mfxsr,
+ -mxsave and -mxsaveopt options.
+ (PTA_FXSR): New.
+ (PTA_XSAVE): Likewise.
+ (PTA_XSAVEOPT): Likewise.
+ (ix86_option_override_internal): Handle new option.
+ (processor_alias_table): Added PTA_FXSR, PTA_XSAVE, PTA_XSAVEOPT.
+ (ix86_valid_target_attribute_inner_p): Add OPT_mfxsr,
+ OPT_mxsave, OPT_mxsaveopt.
+ (ix86_builtins): Add IX86_BUILTIN_FXSAVE, IX86_BUILTIN_FXRSTOR,
+ IX86_BUILTIN_FXSAVE64, IX86_BUILTIN_XSAVE, IX86_BUILTIN_XSAVE64,
+ IX86_BUILTIN_XRSTOR, IX86_BUILTIN_XRSTOR64, IX86_BUILTIN_XSAVEOPT,
+ IX86_BUILTIN_XSAVEOPT64.
+ (ix86_expand_builtin): Handle these built-ins.
+ * config/i386/i386.h (TARGET_FXSR): New.
+ (TARGET_XSAVE): Likewise.
+ (TARGET_XSAVEOPT): Likewise.
+ * config/i386/i386.md (ANY_XSAVE): New int iterator.
+ (ANY_XSAVE64): Likewise.
+ (xsave): New int attribute.
+ (fxsave): New instruction.
+ (fxsave64): Likewise.
+ (fxrstor): Likewise.
+ (fxrstor64): Likewise.
+ (<xsave>): Likewise.
+ (<xsave>_rex64): Likewise.
+ (xrstor): Likewise.
+ (xrstor_rex64): Likewise.
+ (xrstor64): Likewise.
+ * config/i386/i386.opt (mfxsr): New.
+ (mxsave): Likewise.
+ (mxsaveopt): Likewise.
+ * config/i386/x86intrin.h: Include
+ xsaveintrin.h, fxsrintrin.h, xsaveoptintrin.h.
+
+2012-10-26 Ralf Corsépius <ralf.corsepius@rtems.org>
+
+ * config/avr/t-rtems: Revert previous commit.
+
+2012-10-26 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR bootstrap/55049
+ * Makefile.in (rtlanal.o): Add dependency on addresses.h.
+ * rtl.h (address_info): New structure.
+ (strip_address_mutations, decompose_address, decompose_lea_address)
+ (decompose_mem_address, update_address, get_index_scale)
+ (get_index_code): Declare.
+ * rtlanal.c: Include addresses.h.
+ (strip_address_mutations, must_be_base_p, must_be_index_p)
+ (set_address_segment, set_address_base, set_address_index)
+ (set_address_disp, decompose_incdec_address, decompose_automod_address)
+ (extract_plus_operands, baseness, decompose_normal_address)
+ (decompose_address, decompose_lea_address, decompose_mem_address)
+ (update_address, get_index_scale, get_index_code): New functions.
+ * lra-constraints.c (strip_subreg): New function.
+ (address, extract_loc_address_regs, extract_address_regs)
+ (get_index_scale): Delete.
+ (process_addr_reg): Apply strip_subreg to the location.
+ (uses_hard_regs_p): Use decompose_mem_address.
+ (valid_address_p, base_plus_disp_to_reg, can_add_disp_p)
+ (equiv_address_substitution): Take an address_info rather
+ than an address. Remove other arguments. Avoid using Pmode.
+ (process_address): Use decompose_mem_address and decompose_lea_address.
+ Update calls to above functions.
+
+2012-10-26 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * lra-constraints.c (process_address): Tighten arguments to
+ base_reg_class. Use simplify_gen_binary to generate PLUS rtxes.
+
+2012-10-26 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * lra-constraints.c (get_index_scale, can_add_disp_p): New functions.
+ (equiv_address_substitution): Use them.
+
+2012-10-26 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * lra-constraints.c (valid_address_p): New function, split out from...
+ (process_address): ...here.
+
+2012-10-26 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * lra-constraints.c (process_address): Describe the kinds of address
+ that we might see.
+
+2012-10-25 Vladimir Makarov <vmakarov@redhat.com>
+
+ * lra-int.h (lra_assert): Redefine it gcc_checking_assert.
+ * lra-constraints.c (check_and_process_move): Remove #if
+ ENABLE_ASSERT_CHECKING.
+
+2012-10-26 Ralf Corsépius <ralf.corsepius@rtems.org>
+
+ * config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
+ __USE_INIT_FINI__.
+ * config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.
+
+2012-10-25 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/constraints.md ("U"): Delete.
+ * config/sparc/sparc.md: Use 'r' constraint instead of 'U'.
+ * config/sparc/sync.md: Likewise.
+
+2012-10-25 Lawrence Crowl <crowl@google.com>
+
+ * hash-table.h: Add usage documentation.
+ (template struct typed_free_remove): Clarify documentation.
+ Rename template parameter.
+ (struct typed_noop_remove): Likewise.
+ (descriptor concept): Change typedef T to value_type.
+ Add typedef compare_type. Use more precise template parameter name,
+ Descriptor instead of Descr. Update users to match.
+ (struct hash_table): Change 'find' parameters to use compare_type
+ instead of the value type.
+
+2012-10-25 Jan Hubicka <jh@suse.cz>
+
+ * ipa-cp.c (ipcp_discover_new_direct_edges): If something was turned
+ to direct call update the summary.
+ * ipa-inline-transform.c (inline_call): Sanity check that summaries
+ match the predicted effect; fix updating of summary after edge
+ redirection.
+ * ipa-inline-analysis.c (inline_node_duplication_hook): Do not try
+ to update the summary and recompute it instead.
+ (estimate_function_body_sizes): Fix self size estimation; double
+ check that it agrees with inline_update_overall_summary.
+ (estimate_edge_size_and_time): Handle devirtualizaiton costs.
+ (estimate_edge_devirt_benefit): Update to be called from
+ estimate_edge_size_and_time.
+ (estimate_calls_size_and_time): Update.
+ (estimate_node_size_and_time): Watch overflows.
+ (inline_merge_summary): Likewise.
+ * ipa-prob.c: Include ipa-inline.h
+ (ipa_make_edge_direct_to_target): After redirection update the summary.
+
+2012-10-25 Cary Coutant <ccoutant@google.com>
+
+ PR debug/55063
+ * dwarf2out.c (prune_unused_types_prune): Check whether DIE is
+ already a declaration.
+
+2012-10-25 Vladimir Makarov <vmakarov@redhat.com>
+
+ * lra-assigns.c (assign_by_spills): Add non-reload pseudos
+ assigned to hard register to changed_pseudo_bitmap.
+
+2012-10-25 Ralf Corsépius <ralf.corsepius@rtems.org>
+
+ * config.gcc (microblaze*-*-rtems*): New target.
+ * config/microblaze/rtems.h: New.
+ * config/microblaze/t-rtems: New.
+
+2012-10-25 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimize/54980
+ * tree-ssa-loop-ivcanon.c (constant_after_peeling): Fix obvious typo.
+ (loop_edge_to_cancel): Be sure that the edge is from an conditional
+ so we can cancel it.
+
+2012-10-25 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/54427
+ * tree.c (signed_or_unsigned_type_for): Handle vectors.
+
+2012-10-25 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (recursive_inlining): Redirect to master
+ clone before testing profitability.
+
+2012-10-25 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/54902
+ * tree-ssa-pre.c (fini_eliminate): Return TODO.
+ (do_pre): Adjust.
+ (execute_fre): Likewise.
+ * tree-ssa-tailmerge.c (tail_merge_optimize): Delete unreachable
+ blocks before computing dominators.
+
+2012-10-25 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * expr.c (emit_block_move_via_loop): Use simplify_gen_binary
+ rather than gen_rtx_PLUS.
+
+2012-10-24 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR bootstrap/55068
+ PR regression/55050
+ * ira.c (setup_reg_renumber): Fix assert.
+ * ira-emit.c (emit_move_list): Update equivalences only for LRA.
+
+2012-10-24 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR bootstrap/55067
+ * lra.c: Rename loc to sloc and loc_t to sloc_t.
+
+2012-10-24 Sharad Singhai <singhai@google.com>
+
+ * config/rs6000/rs6000.c (rs6000_density_test): Use dump_enabled_p
+ instead of dump_kind_p.
+
+2012-10-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c++/54928
+ * tree-diagnostic.c (maybe_unwind_expanded_macro_loc):
+ Use diagnostic_append_note.
+ * diagnostic.c (diagnostic_build_prefix): Make diagnostic const.
+ (default_diagnostic_finalizer): Do not destroy prefix here.
+ (diagnostic_report_diagnostic): Destroy it here.
+ (diagnostic_append_note): New.
+ * diagnostic.h (diagnostic_append_note): Declare.
+
+2012-10-24 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55055
+ * lra-spills.c (alter_subregs): New function.
+ (lra_hard_reg_substitution): Use it.
+
+2012-10-24 Sharad Singhai <singhai@google.com>
+
+ * dumpfile.c (dump_enabled_p): Make it inline and move the definition
+ to dumpfile.h.
+ (dump_kind_p): Deleted. Functionality replaced by dump_enabled_p.
+ Make alt_dump_file extern.
+ * dumpfile.h (dump_enabled_p): Move inline definition here.
+ (dump_kind_p): Delete declaration.
+ Add extern declaration of alt_dump_file.
+ * toplev.c: Move dump_file and dump_file_name to dumpfile.c.
+ * tree-vect-loop-manip.c: Replace all uses of dump_kind_p with
+ dump_enabled_p.
+ * tree-vectorizer.c: Likewise.
+ * tree-vect-loop.c: Likewise.
+ * tree-vect-data-refs.c: Likewise.
+ * tree-vect-patterns.c: Likewise.
+ * tree-vect-stmts.c: Likewise.
+ * tree-vect-slp.c: Likewise.
+
+2012-10-24 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * expmed.c (lowpart_bit_field_p): Add missing == 0 check.
+
+2012-10-24 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR bootstrap/55049
+ * lra-constraints.c (extract_loc_address_regs): Pass top_p for
+ ZERO_EXTEND operand.
+
+2012-10-24 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR bootstrap/55048
+ * lra-constraints.c (update_ebb_live_info): Skip
+ non-NOTE_INSN_BASIC_BLOCK notes.
+
+2012-10-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/55010
+ * cse.c (fold_rtx) <RTX_COMPARE>: Call copy_rtx on folded_arg{0,1}
+ before passing it to simplify_relational_operation.
+
+ PR debug/54828
+ * gimple.h (is_gimple_sizepos): New inline function.
+ * gimplify.c (gimplify_one_sizepos): Use it. Remove useless
+ final assignment to expr variable.
+ * tree.c (RETURN_TRUE_IF_VAR): Return true also if
+ !TYPE_SIZES_GIMPLIFIED (type) and _t is going to be gimplified
+ into a local temporary.
+
+2012-10-23 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/constraints.md ("T", "W"): Change
+ definitions to use define_memory_constraint. Do not match 'reg'.
+ * config/sparc/sparc.c (memory_ok_for_ldd): Remove all non-MEM
+ handling code, update comment.
+
+2012-10-23 Ian Lance Taylor <iant@google.com>
+
+ * doc/extend.texi (Extended Asm): The '+' constraint does not
+ require a register.
+
+2012-10-23 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadedge.c (thread_across_edge): Remove unused
+ parameter in call to cond_arg_set_in_bb.
+
+ * tree-ssa-threadedge.c (cond_arg_set_in_bb): Remove unused
+ debugging argument.
+
+ PR tree-optimization/54985
+ * tree-ssa-threadedge.c (cond_arg_set_in_bb): New function extracted
+ from thread_across_edge.
+ (thread_across_edge): Use it in all cases where we might thread
+ across a back edge.
+
+2012-10-23 Vladimir Makarov <vmakarov@redhat.com>
+
+ * lra-constraints.c (update_ebb_live_info): Process empty blocks.
+
+2012-10-23 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * expmed.c (store_split_bit_field): Update the calls to
+ extract_fixed_bit_field. In the big-endian case, always
+ use the mode of OP0 to count the number of significant bits.
+ (extract_bit_field_1): Remove unit, offset, bitpos and
+ byte_offset from the outermost scope. Express conditions in terms
+ of bitnum rather than offset, bitpos and byte_offset. Move the
+ computation of MODE1 to the block that needs it. Use MODE unless
+ the TMODE-based mode_for_size calculation succeeds. Split the
+ plain move cases into two, one for memory accesses and one for
+ register accesses. Generalize the memory case, freeing it from
+ the old register-based endian checks. Move the INT_MODE calculation
+ above the code that needs it. Use simplify_gen_subreg to handle
+ multiword OP0s. If the field still spans several words, pass it
+ directly to extract_split_bit_field. Assume after that point
+ that both targets and register sources fit within a word.
+ Replace x-prefixed variables with non-prefixed forms.
+ Compute the bitpos for ext(z)v register operands directly in the
+ chosen unit size, rather than going through an intermediate
+ BITS_PER_WORD unit size. Simplify the containment check
+ used when forcing OP0 into a register. Update the call to
+ extract_fixed_bit_field.
+ (extract_fixed_bit_field): Replace the bitpos and offset parameters
+ with a single bitnum parameter, of the same form as extract_bit_field.
+ Assume that OP0 contains the full field. Simplify the memory offset
+ calculation and containment check for volatile bitfields. Make the
+ offset explicit when volatile bitfields force a misaligned access.
+ Remove WARNED and fix long lines. Assert that the processed OP0
+ has an integral mode.
+ (store_split_bit_field): Update the call to store_fixed_bit_field.
+
+2012-10-23 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * expmed.c (lowpart_bit_field_p): New function.
+ (store_bit_field_1): Remove unit, offset, bitpos and byte_offset
+ from the outermost scope. Express conditions in terms of bitnum
+ rather than offset, bitpos and byte_offset. Split the plain move
+ cases into two, one for memory accesses and one for register accesses.
+ Allow simplify_gen_subreg to fail rather than calling validate_subreg.
+ Move the handling of multiword OP0s after the code that coerces VALUE
+ to an integer mode. Use simplify_gen_subreg for this case and assert
+ that it succeeds. If the field still spans several words, pass it
+ directly to store_split_bit_field. Assume after that point that
+ both sources and register targets fit within a word. Replace
+ x-prefixed variables with non-prefixed forms. Compute the bitpos
+ for insv register operands directly in the chosen unit size, rather
+ than going through an intermediate BITS_PER_WORD unit size.
+ Update the call to store_fixed_bit_field.
+ (store_fixed_bit_field): Replace the bitpos and offset parameters
+ with a single bitnum parameter, of the same form as store_bit_field.
+ Assume that OP0 contains the full field. Simplify the memory offset
+ calculation. Assert that the processed OP0 has an integral mode.
+ (store_split_bit_field): Update the call to store_fixed_bit_field.
+
+2012-10-23 Paul Koning <ni1d@arrl.net>
+
+ PR debug/54508
+ * dwarf2out.c (prune_unused_types_prune): If pruning a class and
+ not all its children were marked, add DW_AT_declaration flag.
+
+2012-10-23 Ian Bolton <ian.bolton@arm.com>
+ James Greenhalgh <james.greenhalgh@arm.com>
+ Jim MacArthur <jim.macarthur@arm.com>
+ Marcus Shawcroft <marcus.shawcroft@arm.com>
+ Nigel Stephens <nigel.stephens@arm.com>
+ Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ Richard Earnshaw <rearnsha@arm.com>
+ Sofiane Naci <sofiane.naci@arm.com>
+ Stephen Thomas <stephen.thomas@arm.com>
+ Tejas Belagod <tejas.belagod@arm.com>
+ Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * config.gcc: Add AArch64.
+ * configure.ac: Add AArch64 TLS support detection.
+ * configure: Regenerate.
+
+2012-10-23 Ian Bolton <ian.bolton@arm.com>
+ James Greenhalgh <james.greenhalgh@arm.com>
+ Jim MacArthur <jim.macarthur@arm.com>
+ Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
+ Marcus Shawcroft <marcus.shawcroft@arm.com>
+ Nigel Stephens <nigel.stephens@arm.com>
+ Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ Richard Earnshaw <rearnsha@arm.com>
+ Sofiane Naci <sofiane.naci@arm.com>
+ Stephen Thomas <stephen.thomas@arm.com>
+ Tejas Belagod <tejas.belagod@arm.com>
+ Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * doc/invoke.texi (AArch64 Options): New.
+ * doc/md.texi (Machine Constraints): Add AArch64.
+
+2012-10-23 Ian Bolton <ian.bolton@arm.com>
+ James Greenhalgh <james.greenhalgh@arm.com>
+ Jim MacArthur <jim.macarthur@arm.com>
+ Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
+ Marcus Shawcroft <marcus.shawcroft@arm.com>
+ Nigel Stephens <nigel.stephens@arm.com>
+ Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ Richard Earnshaw <rearnsha@arm.com>
+ Sofiane Naci <sofiane.naci@arm.com>
+ Stephen Thomas <stephen.thomas@arm.com>
+ Tejas Belagod <tejas.belagod@arm.com>
+ Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * common/config/aarch64/aarch64-common.c: New file.
+ * config/aarch64/aarch64-arches.def: New file.
+ * config/aarch64/aarch64-builtins.c: New file.
+ * config/aarch64/aarch64-cores.def: New file.
+ * config/aarch64/aarch64-elf-raw.h: New file.
+ * config/aarch64/aarch64-elf.h: New file.
+ * config/aarch64/aarch64-generic.md: New file.
+ * config/aarch64/aarch64-linux.h: New file.
+ * config/aarch64/aarch64-modes.def: New file.
+ * config/aarch64/aarch64-option-extensions.def: New file.
+ * config/aarch64/aarch64-opts.h: New file.
+ * config/aarch64/aarch64-protos.h: New file.
+ * config/aarch64/aarch64-simd.md: New file.
+ * config/aarch64/aarch64-tune.md: New file.
+ * config/aarch64/aarch64.c: New file.
+ * config/aarch64/aarch64.h: New file.
+ * config/aarch64/aarch64.md: New file.
+ * config/aarch64/aarch64.opt: New file.
+ * config/aarch64/arm_neon.h: New file.
+ * config/aarch64/constraints.md: New file.
+ * config/aarch64/gentune.sh: New file.
+ * config/aarch64/iterators.md: New file.
+ * config/aarch64/large.md: New file.
+ * config/aarch64/predicates.md: New file.
+ * config/aarch64/small.md: New file.
+ * config/aarch64/sync.md: New file.
+ * config/aarch64/t-aarch64-linux: New file.
+ * config/aarch64/t-aarch64: New file.
+
+2012-10-23 Michael Matz <matz@suse.de>
+
+ * tree-ssa-operands.h (struct def_optype_d, def_optype_p): Remove.
+ (ssa_operands.free_defs): Remove.
+ (DEF_OP_PTR, DEF_OP): Remove.
+ (struct ssa_operand_iterator_d): Remove 'defs', add 'flags' members,
+ rename 'phi_stmt' to 'stmt', 'phi_i' to 'i' and 'num_phi' to 'numops'.
+ * gimple.h (gimple_statement_with_ops.def_ops): Remove.
+ (gimple_def_ops, gimple_set_def_ops): Remove.
+ (gimple_vdef_op): Don't take const gimple, adjust.
+ (gimple_asm_input_op, gimple_asm_input_op_ptr,
+ gimple_asm_set_input_op, gimple_asm_output_op,
+ gimple_asm_output_op_ptr, gimple_asm_set_output_op): Adjust asserts,
+ and rewrite to move def operands to front.
+ (gimple_asm_clobber_op, gimple_asm_set_clobber_op,
+ gimple_asm_label_op, gimple_asm_set_label_op): Correct asserts.
+ * tree-ssa-operands.c (build_defs): Remove.
+ (init_ssa_operands): Don't initialize it.
+ (fini_ssa_operands): Don't free it.
+ (cleanup_build_arrays): Don't truncate it.
+ (finalize_ssa_stmt_operands): Don't assert on it.
+ (alloc_def, add_def_op, append_def): Remove.
+ (finalize_ssa_defs): Remove building of def_ops list.
+ (finalize_ssa_uses): Don't mark for SSA renaming here, ...
+ (add_stmt_operand): ... but here, don't call append_def.
+ (get_indirect_ref_operands): Remove recurse_on_base argument.
+ (get_expr_operands): Adjust call to get_indirect_ref_operands.
+ (verify_ssa_operands): Don't check def operands.
+ (free_stmt_operands): Don't free def operands.
+ * gimple.c (gimple_copy): Don't clear def operands.
+ * tree-flow-inline.h (op_iter_next_use): Adjust to explicitely
+ handle def operand.
+ (op_iter_next_tree, op_iter_next_def): Ditto.
+ (clear_and_done_ssa_iter): Clear new fields.
+ (op_iter_init): Adjust to setup new iterator structure.
+ (op_iter_init_phiuse): Adjust.
+
+2012-10-23 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * config/arm/arm.c (offset_ok_for_ldrd_strd): Return false for Thumb1.
+
+2012-10-23 Vladimir Makarov <vmakarov@redhat.com>
+
+ * dbxout.c (dbxout_symbol_location): Pass new argument to alter_subreg.
+ * dwarf2out.c: Include ira.h and lra.h.
+ (based_loc_descr, compute_frame_pointer_to_fb_displacement): Use
+ lra_eliminate_regs for LRA instead of eliminate_regs.
+ * expr.c (emit_move_insn_1): Pass an additional argument to
+ emit_move_via_integer. Use emit_move_via_integer for LRA only if
+ the insn is recognized.
+ * emit-rtl.c (gen_rtx_REG): Add lra_in_progress.
+ (validate_subreg): Don't check offset for LRA and floating point modes.
+ * final.c (final_scan_insn, cleanup_subreg_operands): Pass new
+ argument to alter_subreg.
+ (walk_alter_subreg, output_operand): Ditto.
+ (alter_subreg): Add new argument.
+ * gcse.c (calculate_bb_reg_pressure): Add parameter to
+ ira_setup_eliminable_regset call.
+ * ira.c: Include lra.h.
+ (ira_init_once, ira_init, ira_finish_once): Call lra_start_once,
+ lra_init, lra_finish_once in anyway.
+ (ira_setup_eliminable_regset): Add parameter. Remove need_fp.
+ Call lra_init_elimination and mark HARD_FRAME_POINTER_REGNUM as
+ living forever if frame_pointer_needed.
+ (setup_reg_class_relations): Set up ira_reg_class_subset.
+ (ira_reg_equiv_invariant_p, ira_reg_equiv_const): Remove.
+ (find_reg_equiv_invariant_const): Ditto.
+ (setup_reg_renumber): Use ira_equiv_no_lvalue_p instead of
+ ira_reg_equiv_invariant_p. Skip caps for LRA.
+ (setup_reg_equiv_init, ira_update_equiv_info_by_shuffle_insn): New
+ functions.
+ (ira_reg_equiv_len, ira_reg_equiv): New externals.
+ (ira_reg_equiv): New.
+ (ira_expand_reg_equiv, init_reg_equiv, finish_reg_equiv): New
+ functions.
+ (no_equiv, update_equiv_regs): Use ira_reg_equiv instead of
+ reg_equiv_init.
+ (setup_reg_equiv): New function.
+ (ira_use_lra_p): New global.
+ (ira): Set up lra_simple_p and ira_conflicts_p. Set up and
+ restore flag_caller_saves and flag_ira_region. Move
+ initialization of ira_obstack and ira_bitmap_obstack upper. Call
+ init_reg_equiv, setup_reg_equiv, and setup_reg_equiv_init instead
+ of initialization of ira_reg_equiv_len, ira_reg_equiv_invariant_p,
+ and ira_reg_equiv_const. Call ira_setup_eliminable_regset with a
+ new argument. Don't flatten IRA IRA for LRA. Don't reassign
+ conflict allocnos for LRA. Call finish_reg_equiv.
+ (do_reload): Prepare code for LRA call. Call LRA.
+ * ira.h (ira_use_lra_p): New external.
+ (struct target_ira): Add members x_ira_class_subset_p
+ x_ira_reg_class_subset, and x_ira_reg_classes_intersect_p.
+ (ira_class_subset_p, ira_reg_class_subset): New macros.
+ (ira_reg_classes_intersect_p): New macro.
+ (struct ira_reg_equiv): New.
+ (ira_setup_eliminable_regset): Add an argument.
+ (ira_expand_reg_equiv, ira_update_equiv_info_by_shuffle_insn): New
+ prototypes.
+ * ira-color.c (color_pass, move_spill_restore, coalesce_allocnos):
+ Use ira_equiv_no_lvalue_p.
+ (coalesce_spill_slots, ira_sort_regnos_for_alter_reg): Ditto.
+ * ira-emit.c (ira_create_new_reg): Call ira_expand_reg_equiv.
+ (generate_edge_moves, change_loop) Use ira_equiv_no_lvalue_p.
+ (emit_move_list): Simplify code. Call
+ ira_update_equiv_info_by_shuffle_insn. Use ira_reg_equiv instead
+ of ira_reg_equiv_invariant_p and ira_reg_equiv_const. Change assert.
+ * ira-int.h (struct target_ira_int): Remove x_ira_class_subset_p
+ and x_ira_reg_classes_intersect_p.
+ (ira_class_subset_p, ira_reg_classes_intersect_p): Remove.
+ (ira_reg_equiv_len, ira_reg_equiv_invariant_p): Ditto.
+ (ira_reg_equiv_const): Ditto.
+ (ira_equiv_no_lvalue_p): New function.
+ * jump.c (true_regnum): Always use hard_regno for subreg_get_info
+ when lra is in progress.
+ * haifa-sched.c (sched_init): Pass new argument to
+ ira_setup_eliminable_regset.
+ * loop-invariant.c (calculate_loop_reg_pressure): Pass new
+ argument to ira_setup_eliminable_regset.
+ * lra.h: New.
+ * lra-int.h: Ditto.
+ * lra.c: Ditto.
+ * lra-assigns.c: Ditto.
+ * lra-constraints.c: Ditto.
+ * lra-coalesce.c: Ditto.
+ * lra-eliminations.c: Ditto.
+ * lra-lives.c: Ditto.
+ * lra-spills.c: Ditto.
+ * Makefile.in (LRA_INT_H): New.
+ (OBJS): Add lra.o, lra-assigns.o, lra-coalesce.o, lra-constraints.o,
+ lra-eliminations.o, lra-lives.o, and lra-spills.o.
+ (dwarf2out.o): Add dependence on ira.h and lra.h.
+ (ira.o): Add dependence on lra.h.
+ (lra.o, lra-assigns.o, lra-coalesce.o, lra-constraints.o): New entries.
+ (lra-eliminations.o, lra-lives.o, lra-spills.o): Ditto.
+ * output.h (alter_subreg): Add new argument.
+ * rtlanal.c (simplify_subreg_regno): Permit mode changes for LRA.
+ Permit ARG_POINTER_REGNUM and STACK_POINTER_REGNUM for LRA.
+ * recog.c (general_operand, register_operand): Accept paradoxical
+ FLOAT_MODE subregs for LRA.
+ (scratch_operand): Accept pseudos for LRA.
+ * rtl.h (lra_in_progress): New external.
+ (debug_bb_n_slim, debug_bb_slim, print_value_slim): New prototypes.
+ (debug_rtl_slim, debug_insn_slim): Ditto.
+ * sdbout.c (sdbout_symbol): Pass new argument to alter_subreg.
+ * sched-vis.c (print_value_slim): New.
+ * target.def (lra_p): New hook.
+ (register_priority): Ditto.
+ (different_addr_displacement_p): Ditto.
+ (spill_class): Ditto.
+ * target-globals.h (this_target_lra_int): New external.
+ (target_globals): New member lra_int.
+ (restore_target_globals): Restore this_target_lra_int.
+ * target-globals.c: Include lra-int.h.
+ (default_target_globals): Add &default_target_lra_int.
+ * targhooks.c (default_lra_p): New function.
+ (default_register_priority): Ditto.
+ (default_different_addr_displacement_p): Ditto.
+ * targhooks.h (default_lra_p): Declare.
+ (default_register_priority): Ditto.
+ (default_different_addr_displacement_p): Ditto.
+ * timevar.def (TV_LRA, TV_LRA_ELIMINATE, TV_LRA_INHERITANCE): New.
+ (TV_LRA_CREATE_LIVE_RANGES, TV_LRA_ASSIGN, TV_LRA_COALESCE): New.
+ * config/arm/arm.c (load_multiple_sequence): Pass new argument to
+ alter_subreg.
+ (store_multiple_sequence): Ditto.
+ * config/i386/i386.h (enum ix86_tune_indices): Add
+ X86_TUNE_GENERAL_REGS_SSE_SPILL.
+ (TARGET_GENERAL_REGS_SSE_SPILL): New macro.
+ * config/i386/i386.c (initial_ix86_tune_features): Set up
+ X86_TUNE_GENERAL_REGS_SSE_SPILL for m_COREI7 and m_CORE2I7.
+ (ix86_lra_p, ix86_register_priority): New functions.
+ (ix86_secondary_reload): Add NON_Q_REGS, SIREG, DIREG.
+ (inline_secondary_memory_needed): Change assert.
+ (ix86_spill_class): New function.
+ (TARGET_LRA_P, TARGET_REGISTER_BANK, TARGET_SPILL_CLASS): New macros.
+ * config/m68k/m68k.c (emit_move_sequence): Pass new argument to
+ alter_subreg.
+ * config/m32r/m32r.c (gen_split_move_double): Ditto.
+ * config/pa/pa.c (pa_emit_move_sequence): Ditto.
+ * config/sh/sh.md: Ditto.
+ * config/v850/v850.c (v850_reorg): Ditto.
+ * config/xtensa/xtensa.c (fixup_subreg_mem): Ditto.
+ * doc/md.texi: Add new interpretation of hint * for LRA.
+ * doc/passes.texi: Describe LRA pass.
+ * doc/tm.texi.in: Add TARGET_LRA_P, TARGET_REGISTER_PRIORITY,
+ TARGET_DIFFERENT_ADDR_DISPLACEMENT_P, and TARGET_SPILL_CLASS.
+ * doc/tm.texi: Update.
+
+2012-10-23 Jan Hubicka <jh@suse.cz>
+
+ * loop-unroll.c (decide_peel_simple): Simple peeling makes sense even
+ with simple loops; bound number of branches only when FDO is not
+ available.
+ (decide_unroll_stupid): Mention that num_loop_branches heuristics
+ is off.
+
+2012-10-23 Nick Clifton <nickc@redhat.com>
+
+ PR target/54660
+ * config/iq2000/iq2000.c (iq2000_function_arg_advance): Suppress
+ compile time warning about pointer printing.
+
+2012-10-23 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
+ *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu): Use
+ glibc-c.o in c_target_objs and cxx_target_objs. Use t-glibc in
+ tmake_file. Set target_has_targetcm.
+ (tilegx-*-linux*, tilepro-*-linux*): Append to c_target_objs and
+ cxx_target_objs rather than overriding previous value.
+ * config/glibc-c.c, config/t-glibc: New.
+ * doc/tm.texi.in (TARGET_C_PREINCLUDE): New @hook.
+ * doc/tm.texi: Regenerate.
+ * hooks.c (hook_constcharptr_void_null): New.
+ * hooks.h (hook_constcharptr_void_null): Declare.
+
+2012-10-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/mips/linux-common.h (STACK_CHECK_STATIC_BUILTIN): Define.
+ (STACK_CHECK_PROTECT): Likewise.
+ * config/mips/mips.h (MIPS_PROLOGUE_TEMP2_REGNUM): Likewise.
+ (MIPS_PROLOGUE_TEMP2): Likewise.
+ * config/mips/mips-protos.h (mips_output_probe_stack_range): Declare.
+ * config/mips/mips.c: Include common/common-target.h.
+ (mips_emit_probe_stack_range): New function.
+ (mips_output_probe_stack_range): Likewise.
+ (mips_expand_prologue): Invoke mips_emit_probe_stack_range if static
+ builtin stack checking is enabled.
+ * config/mips/mips.md (UNSPEC_PROBE_STACK_RANGE): New constant.
+ (probe_stack_range_<P:mode>): New insn.
+
+2012-10-23 Marc Glisse <marc.glisse@inria.fr>
+
+ * tree-ssa-forwprop.c (forward_propagate_into_cond): Handle vectors.
+ * fold-const.c (fold_relational_const): Handle VECTOR_CST.
+ * doc/generic.texi (VEC_COND_EXPR): Document current policy.
+
+2012-10-23 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/54937
+ * tree-ssa-loop-niter.c (record_estimate): Do not try to lower
+ the bound of non-is_exit statements.
+ (maybe_lower_iteration_bound): Do it here.
+ (estimate_numbers_of_iterations_loop): Call it.
+
+2012-10-23 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/54967
+ * cfgloopmanip.c (fix_bb_placements): Add loop_closed_ssa_invalidated;
+ track basic blocks that moved out of their loops.
+ (unloop): Likewise.
+ (remove_path): Update.
+ (fix_loop_placements): Update.
+ * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add
+ loop_closed_ssa_invalidated parameter; pass it around.
+ (canonicalize_loop_induction_variables): Update loop closed
+ SSA form if needed.
+ (tree_unroll_loops_completely): Likewise; do irred update out of
+ the outer loop; verify that SSA form is closed.
+ * cfgloop.h (unrloop): Update.
+
+2012-10-23 Terry Guo <terry.guo@arm.com>
+
+ PR target/55019
+ * config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with
+ live argument regs.
+
+2012-10-23 Hans-Peter Nilsson <hp@bitrange.com>
+
+ PR middle-end/55030
+ Revert:
+ * stmt.c (expand_nl_goto_receiver): Remove almost-copy of
+ expand_builtin_setjmp_receiver.
+ (expand_label): Adjust, call expand_builtin_setjmp_receiver
+ with NULL for the label parameter.
+ * builtins.c (expand_builtin_setjmp_receiver): Don't clobber
+ the frame-pointer. Adjust comments.
+ [HAVE_builtin_setjmp_receiver]: Emit builtin_setjmp_receiver
+ only if LABEL is non-NULL.
+
+2012-10-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/55008
+ * gimple-ssa-strength-reduction.c (find_basis_for_candidate):
+ Don't allow a candidate to be a basis for itself under another
+ interpretation.
+
+2012-10-22 Sharad Singhai <singhai@google.com>
+
+ * dumpfile.c (dump_phase_enabled_p): Renamed dump_enabled_p. Update
+ all callers.
+ (dump_enabled_p): A new function to check if any of the dump files
+ is available.
+ (dump_kind_p): Remove check for current_function_decl. Add check for
+ dumpfile and alt_dump_file.
+ * dumpfile.h: Add declaration of dump_enabled_p.
+
+2012-10-22 Richard Biener <rguenther@suse.de>
+
+ PR lto/55021
+ * tree-streamer-in.c (unpack_ts_int_cst_value_fields): Remove
+ bogus truncations.
+
+2012-10-22 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (memory_address_length): Assert that non-null
+ base or index RTXes are registers. Do not check for REG RTXes.
+ Determine addr32 prefix using SImode_address_operand or
+ from original base and index RTXes. Simplify code.
+
+2012-10-22 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55011
+ * tree-vrp.c (update_value_range): For invalid lattice transitions
+ drop to VARYING.
+
+2012-10-22 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing
+ VFP D registers in big-endian mode.
+
+2012-10-22 Georg-Johann Lay <avr@gjlay.de>
+
+ * doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
+ Note __AVR_<device>__ is not defined for cores.
+ Don't point to --help=target.
+
+2012-10-22 Sameera Deshpande <sameera.deshpande@arm.com>
+ Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * config/arm/arm.c (thumb2_emit_ldrd_pop): New function.
+ (arm_expand_epilogue): Use the new function.
+
+2012-10-22 Sameera Deshpande <sameera.deshpande@arm.com>
+ Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * config/arm/arm.c (thumb2_emit_strd_push): New function.
+ (arm_expand_prologue): Use the new function.
+
+2012-10-22 Sameera Deshpande <sameera.deshpande@arm.com>
+ Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * config/arm/arm-protos.h (offset_ok_for_ldrd_strd): New declaration.
+ (operands_ok_ldrd_strd): Likewise.
+ * config/arm/arm.c (offset_ok_for_ldrd_strd): New function.
+ (operands_ok_ldrd_strd): Likewise.
+ * config/arm/arm.md (thumb2_ldrd, thumb2_ldrd_base): New patterns.
+ (thumb2_ldrd_base_neg): Likewise.
+ (thumb2_strd, thumb2_strd_base, thumb_strd_base_neg): Likewise.
+ * predicates.md (ldrd_strd_offset_operand): New predicate.
+ * config/arm/constraints.md (Do): New constraint.
+
+2012-10-22 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config/mmix/mmix.md ("nonlocal_goto_receiver"): Refer to the
+ frame-pointer as an operand.
+ ("*nonlocal_goto_receiver_expanded"): Ditto. Use
+ mmix_output_register_setting instead of naked output_asm_insn for
+ the offset from the frame-pointer to the saved rO.
+ * config/mmix/mmix.c (mmix_output_register_setting): Emit NEGU for
+ values -255..0.
+ * config/mmix/predicates.md ("frame_pointer_operand"): New.
+ * config/mmix/constraints.md ("Yf"): New.
+
+ * stmt.c (expand_nl_goto_receiver): Remove almost-copy of
+ expand_builtin_setjmp_receiver.
+ (expand_label): Adjust, call expand_builtin_setjmp_receiver
+ with NULL for the label parameter.
+ * builtins.c (expand_builtin_setjmp_receiver): Don't clobber
+ the frame-pointer. Adjust comments.
+ [HAVE_builtin_setjmp_receiver]: Emit builtin_setjmp_receiver
+ only if LABEL is non-NULL.
+
+2012-10-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386-protos.h (memory_address_length): Add new bool
+ argument. Update all uses.
+ * config/i386/i386.c (memory_address_length): If not LEA insn, then
+ add length of addr32 prefix based on mode of base or index register.
+ (ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
+ addresses here. Update call to memory_address_length.
+ (ix86_print_address_operand): Use SImode_address_operand predicate.
+ * config/i386/predicates.md (SImode_address_operand): New.
+ * config/i386/i386.md (lea<mode>): Use SImode_address_operand
+ to calculate "mode" attribute. Use SImode_address_operand predicate
+ instead of open-coding accepted RTX codes.
+
+2012-10-21 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * rtl.def (ADDR_DIFF_VEC): Fix comment typo.
+
+2012-10-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/44194
+ * calls.c (expand_call): Allow sibling calls in the PARALLEL case.
+
+2012-10-21 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54725
+ * Makefile.in (TARGET_SYSTEM_ROOT_DEFINE): New.
+
+2012-10-21 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/xtensa/xtensa.c (xtensa_expand_builtin): Remove unused 'arg'
+ variable.
+
+2012-10-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/54315
+ * calls.c (expand_call): Don't deal specifically with BLKmode values
+ returned in naked registers.
+ * expr.h (copy_blkmode_from_reg): Adjust prototype.
+ * expr.c (copy_blkmode_from_reg): Rename first parameter into
+ TARGET and make it required. Assert that SRCREG hasn't BLKmode.
+ Add a couple of short-circuits for common cases and be prepared
+ for sub-word registers.
+ (expand_assignment): Call copy_blkmode_from_reg for BLKmode values
+ returned in naked registers.
+ (store_expr): Likewise.
+ (store_field): Likewise.
+
+2012-10-20 Jan Hubicka <jh@suse.cz>
+
+ * loop-unroll.c (decide_unroll_constant_iterations): Don't
+ perform unrolling for loops with low iterations bounds or estimates.
+
+2012-10-20 Jan Hubicka <jh@suse.cz>
+
+ * loop-iv.c (iv_number_of_iterations): Record the upper bound
+ only if there are no further conditions on it.
+
+2012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/53063
+ PR c/40989
+ * opts.c (finish_options): Remove explicit handling from here.
+
+2012-10-20 Joern Rennecke <joern.rennecke@embecosm.com>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+ * emit-rtl.c (copy_delay_slot_insn): New function.
+ * emit-rtl.h (copy_delay_slot_insn): Declare.
+ * reorg.c: Include "emit-rtl.h".
+ (steal_delay_list_from_target): Use copy_delay_slot_insn.
+ (fill_slots_from_thread, fill_simple_delay_slots): Likewise.
+
+ * final.c (shorten_branches): When optimizing, start with small
+ length and increase from there, and don't decrease lengths.
+
+2012-10-19 Jan Hubicka <jh@suse.cz>
+
+ * builtins.def (BUILT_IN_UNREACHABLE): Make
+ ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST.
+ * builtin-attrs.def (ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST): Define.
+
+2012-10-19 Michael Meissner <meissner@linux.vnet.ibm.com>
+ Dominique Dhumieres <dominiq@lps.ens.fr>
+
+ * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Don't assume
+ OPTION_MASK_STRICT_ALIGN is defined.
+ (MASK_STRICT_ALIGN): If OPTION_MASK_STRICT_ALIGN is not defined,
+ define this to 0 for the 3 ports that use it.
+
+ * config/rs6000/rs6000.c (OPTION_MASK_STRICT_ALIGN): Don't do
+ check for ports not having -mstrict-align here, move test to
+ rs6000-cpus.def.
+ (MASK_STRICT_ALIGN): Likewise.
+ (rs6000_debug_reg_global): Print out correct target flag words if
+ -mdebug=reg.
+
+2012-10-19 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/54945
+ * fold-const.c (fold_sign_changed_comparison): Punt if folding
+ pointer/non-pointer comparison.
+
+2012-10-19 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * doc/sourcebuild.texi (Effective-Target Keywords): Document
+ new effective target keyword arm_prefer_ldrd_strd.
+
+2012-10-19 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54981
+ * tree-loop-distribution.c (ssa_name_has_uses_outside_loop_p):
+ Do not consider debug stmts as uses.
+
+2012-10-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/54976
+ * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
+ Robustify against odd inner_mode inputs.
+
+2012-10-19 Zhenqiang Chen <zhenqiang.chen@linaro.org>
+
+ PR target/54892
+ * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
+ sure the mode is correct when falling through from above cases.
+
+2012-10-19 Bin Cheng <bin.cheng@arm.com>
+
+ * common.opt (flag_ira_hoist_pressure): New.
+ * doc/invoke.texi (-fira-hoist-pressure): Describe.
+ * ira-costs.c (ira_set_pseudo_classes): New parameter.
+ * ira.h: Update copyright dates.
+ (ira_set_pseudo_classes): Update prototype.
+ * haifa-sched.c (sched_init): Update call.
+ * ira.c (ira): Update call.
+ * regmove.c: Update copyright dates.
+ (regmove_optimize): Update call.
+ * loop-invariant.c: Update copyright dates.
+ (move_loop_invariants): Update call.
+ * gcse.c: (struct bb_data): New structure.
+ (BB_DATA): New macro.
+ (curr_bb, curr_reg_pressure): New static variables.
+ (should_hoist_expr_to_dom): Rename from hoist_expr_reaches_here_p.
+ Change parameter expr_index to expr.
+ New parameters pressure_class, nregs and hoisted_bbs.
+ Use reg pressure to determine the distance expr can be hoisted.
+ (hoist_code): Use reg pressure to direct the hoist process.
+ (get_regno_pressure_class, get_pressure_class_and_nregs)
+ (change_pressure, calculate_bb_reg_pressure): New.
+ (one_code_hoisting_pass): Calculate register pressure. Allocate
+ and free data.
+
+2012-10-19 Bin Cheng <bin.cheng@arm.com>
+
+ * gcse.c: Update copyright dates.
+ (hoist_expr_reaches_here_p): Change parameter type from char *
+ to sbitmap.
+
+2012-10-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config.gcc
+ (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
+ "arm*-*-rtemseabi*" to "arm*-*-rtems*".
+
+2012-10-19 Alan Modra <amodra@gmail.com>
+
+ * configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
+ (HAVE_LD_LARGE_TOC): Likewise.
+ * configure: Regenerate.
+
+2012-10-19 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/predicates.md (splat_input_operand): Don't call
+ input_operand for MEMs. Instead check for volatile and call
+ memory_address_addr_space_p with modified mode.
+
+2012-10-18 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (rdpmc): Remove expander.
+ (rdtsc): Ditto.
+ (rdtscp): Ditto.
+ (rdpmc): Rename from *rdpmc.
+ (rdpmc_rex64): Rename from *rdpmc_rex64.
+ (rdtsc): Rename from *rdtsc.
+ (rdtsc_rex64): Rename from *rdtsc_rex64.
+ (rdtscp): Rename from *rdtscp.
+ (rdtscp_rex64): Rename from *rdtscp_rex64.
+
+ * config/i386/i386.c (struct builtin_description bdesc_special_args)
+ <IX86_BUILTIN_RDTSC>: Use CODE_FOR_NOTHING.
+ <IX86_BUILTIN_RDTSCP>: Ditto.
+ (struct builtin_description bdesc__args) <IX86_BUILTIN_RDPMC>: Ditto.
+ (ix86_expand_builtin) <IX86_BUILTIN_{RDPMC,RDTSC,RDTSCP}>: Handle here.
+
+2012-10-18 Jan-Benedict Glaw <jbglaw@lug-owl.de>
+
+ * config/sh/sh.c: Fix comment to silence warning.
+
+2012-10-18 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+ Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ Sameera Deshpande <sameera.deshpande@arm.com>
+
+ * config/arm/cortex-a15-neon.md: New file.
+ * config/arm/cortex-a15.md (cortex_a15_call): Adjust reservation.
+ (cortex_a15_load1): Likewise.
+ (cortex_a15_load3): Likewise.
+ (cortex_a15_store1): Likewise.
+ (cortex_a15_store3): Likewise.
+ (cortex-a15-neon.md): Include.
+
+2012-10-18 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/altivec.md (altivec_lvsl, altivec_lvsr): Add mode.
+ (altivec_vsumsws_nomode): Delete.
+ (reduc_splus_<mode>, reduc_uplus_<mode>): Call gen_altivec_vsumsws
+ instead of gen_altivec_vsumsws_nomode.
+ (altivec_lvlx, altivec_lvlxl, altivec_lvrx, altivec_lvrxl): Add mode.
+ * config/rs6000/rs6000.md (probe_stack): Rename to...
+ (probe_stack_<mode>): ... this. Add mode. Change pattern to
+ use std instead of stw when appropriate.
+ (probe_stack): New expander.
+ (move_from_CR_ov_bit): Add mode.
+ (splitter for compare_plus_ne0_<mode>, splitter for
+ compare_plus_ne0_<mode>_1): Remove constraints.
+ * config/rs6000/sync.md (loadsync): Rename to...
+ (loadsync_<mode>): ... this. Add mode.
+ (atomic_load<mode>): Adjust.
+
+2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * loop-invariant.c: Include target.h.
+ (check_dependency): Return false for an uninitialized argument register
+ that is likely to be spilled.
+ * Makefile.in (loop-invariant.o): Add $(TARGET_H).
+
+2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * except.c (sjlj_emit_function_enter): Remove unused variable.
+
+2012-10-18 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+ Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/arm.c (neon_builtin_data): Add vfma and vfms builtins.
+ * config/arm/neon-docgen.ml (intrinsic_groups): Add
+ fused-multiply-* groups.
+ * config/neon-gen.ml (print_feature_test_start): New function.
+ (print_feature_test_end): Likewise.
+ (print_variant): Print feature test macros.
+ * config/arm/neon-testgen.ml (emit_prologue): Allow different
+ tests to require different effective targets.
+ (effective_target): New function.
+ (test_intrinsic): Specify correct effective targets.
+ * config/arm/neon.md (fma<VCVTF:mode>4_intrinsic): New pattern.
+ (fmsub<VCVTF:mode>4_intrinsic): Likewise.
+ (neon_vfma<VCVFT:mode>): New expand.
+ (neon_vfms<VCVFT:mode>): Likewise.
+ * config/neon.ml (opcode): Add Vfma and Vfms.
+ (features): Add Requires_feature.
+ (ops): Add VFMA and VFMS intrinsics.
+ * config/arm/arm_neon.h: Regenerate.
+ * doc/arm-neon-intrinsics.texi: Likewise.
+
+2012-10-18 Richard Guenther <rguenther@suse.de>
+
+ * lto-streamer.h (enum LTO_tags): Add LTO_integer_cst.
+ * lto-streamer-in.c (lto_input_tree): Use it.
+ * lto-streamer-out.c (lto_output_tree): Likewise, for
+ !TREE_OVERFLOW integer constants only.
+ * tree-streamer-in.c (unpack_ts_int_cst_value_fields): New function.
+ (unpack_value_fields): Call it.
+ (streamer_read_integer_cst): Simplify.
+ * tree-streamer-out.c (pack_ts_int_cst_value_fields): New function.
+ (streamer_pack_tree_bitfields): Call it.
+ (streamer_write_integer_cst): Adjust.
+
+2012-10-18 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+ Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config.gcc: Add support for ARMv8 for arm*-*-* targets.
+ * config/arm/arm-arches.def: Add armv8-a
+ * config/arm/arm-fpus.def: Add fp-armv8, neon-fp-armv8,
+ crypto-neon-fp-armv8. Add crypto field.
+ * config/arm/arm-tables.opt: Regenerate.
+ * config/arm/arm.c (FL_FOR_ARCH8A): Likewise.
+ (arm_arch8): New global variable.
+ (ARM_FPU): Add crypto parameter.
+ (arm_option_override): Set arm_arch8, update comments.
+ * config/arm/arm.h (TARGET_CRYPTO): New macro.
+ (arm_fpu_desc): Add crypto field.
+ (base_architecture): Add ARMv8 entry.
+ (arm_arch8): New variable declaration.
+ * config/arm/bpabi.h: ARMv8 supports BE8.
+ * doc/invoke.texi: Document ARMv8 options.
+
+2012-10-17 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/54893
+ * trans-mem.c (diagnose_tm_1_op): Allow volatiles inside relaxed
+ transactions.
+
+2012-10-17 Aldy Hernandez <aldyh@redhat.com>
+
+ PR rtl-optimization/54900
+ * ifcvt.c (noce_can_store_speculate_p): Call
+ memory_must_be_modified_in_insn_p.
+ * alias.c (memory_must_be_modified_in_insn_p): New.
+ (set_dest_equal_p): New.
+ * rtl.h (memory_must_be_modified_in_p): Protoize.
+
+2012-10-17 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.opt (rs6000_isa_flags): New flag word to
+ replace target_flags that gives us 63 possible switches.
+ (x_rs6000_isa_flags): Save area for rs6000_isa_flags.
+ (x_rs6000_isa_flags_explicit): Save area for rs6000_isa_flags_explicit.
+ (rs6000_target_flags_explicit): Delete in favor of
+ x_rs6000_isa_flags_explicit.
+ (-mpowerpc64): Change all switches that used to be in target_flags
+ to now be in rs6000_isa_flags. In using rs6000_isa_flags, the
+ options machinary will generate names of the form OPITON_<xxx>
+ instead of TARGET_<xxx> and OPTION_MASK_<xxx> instead of MASK_<xxx>.
+ (-mpowerpc-gpopt): Likewise.
+ (-mpowerpc-gfxopt): Likewise.
+ (-mmfcrf): Likewise.
+ (-mpopcntb): Likewise.
+ (-mfprnd): Likewise.
+ (-mcmpb): Likewise.
+ (-mmfpgpr): Likewise.
+ (-maltivec): Likewise.
+ (-mhard-dfp): Likewise.
+ (-mmulhw): Likewise.
+ (-mdlmzb): Likewise.
+ (-mmultiple): Likewise.
+ (-mstring): Likewise.
+ (-msoft-float): Likewise.
+ (-mhard-float): Likewise.
+ (-mpopcntd): Likewise.
+ (-mvsx): Likewise.
+ (-mno-update): Likewise.
+ (-mupdate): Likewise.
+ (-mrecip-precision): Likewise.
+ (-mminimal-toc): Likewise.
+ (-misel): Likewise.
+ * config/rs6000/aix64.opt (-maix64): Likewise.
+ (-maix32): Likewise.
+ * config/rs6000/sysv4.opt (-mstrict-align): Likewise.
+ (-mrelocatable): Likewise.
+ (-mlittle-endian): Likewise.
+ (-mlittle): Likewise.
+ (-mbig-endian): LIkewise.
+ (-mbig): Likewise.
+ (-meabi): Likewise.
+ (-m64): Likewise.
+ (-m32): Likewise.
+ * config/rs6000/darwin.opt (-m64): Likewise.
+ (-m32): Likewise.
+
+ * config/rs6000/rs6000-cpus.def (ISA_2_1_MASKS): Move the various
+ masks used in rs6000.c here, since they are more logically in this
+ file. Convert from being enums to just #defines, since the types
+ of these masks is now HOST_WIDE_INT instead of int. For
+ POWERPC_MASKS, add MASK_SOFT_FLOAT, since the only use case or'ed
+ in the mask. Change the use in rs6000.c not to do the OR of
+ MASK_SOFT_FLOAT.
+ (ISA_2_1_MASKS): Likewise.
+ (ISA_2_2_MASKS): Likewise.
+ (ISA_2_4_MASKS): Likewise.
+ (ISA_2_5_MASKS_EMBEDDED): Likewise.
+ (ISA_2_5_MASKS_SERVER): Likewise.
+ (POWERPC_7400_MASK): Likewise.
+ (POWERPC_MASKS): Likewise.
+ * config/rs6000/rs6000.c (ISA_2_1_MASKS): Likewise.
+ (ISA_2_1_MASKS): Likewise.
+ (ISA_2_2_MASKS): Likewise.
+ (ISA_2_4_MASKS): Likewise.
+ (ISA_2_5_MASKS_EMBEDDED): Likewise.
+ (ISA_2_5_MASKS_SERVER): Likewise.
+ (POWERPC_7400_MASK): Likewise.
+ (POWERPC_MASKS): Likewise.
+ (rs6000_option_override_internal): Likewise.
+
+ * config/rs6000/rs6000.c (darwin_rs6000_override_options): Change
+ all uses of target_flags to rs6000_isa_flags. Change all uses of
+ target_flags_explicit to rs6000_isa_flags_explicit. Change the
+ use of MASK_<xxx> to OPTION_MASK_<xxx> that options.h defines when
+ we use a secondary flags word. Save/restore/print the new flags
+ word when switching contexts with different target attributes.
+ (rs6000_option_override_internal): Likewise.
+ (rs6000_darwin_file_start): Likewise.
+ (rs6000_opt_masks): Likewise.
+ (rs6000_inner_target_options): Likewise.
+ (rs6000_pragma_target_parse): Likewise.
+ (rs6000_set_current_function): Likewise.
+ (rs6000_function_specific_save): Likewise.
+ (rs6000_function_specific_restore): Likewise.
+ (rs6000_function_specific_print): Likewise.
+ (rs6000_can_inline_p): Likewise.
+ * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Likewise.
+ (rs6000_cpu_cpp_builtins): Likewise.
+ * common/config/rs6000/rs6000-driver.c (rs6000_handle_option):
+ Likewise.
+
+ * config/rs6000/rs6000.h (MASK_ALTIVEC): In moving to using
+ Var(...) for all of the isa switches, the options machinery now
+ uses OPTION_MASK_<xxx> instead of MASK_<xxx> for the mask name.
+ Use #define to map the old name into the new name. For switches
+ that are defined in aix64.opt, sysv4.opt, and darwin.opt, only do
+ the definition if those switches were defined.
+ (MASK_ALTIVEC): Likewise.
+ (MASK_CMPB): Likewise.
+ (MASK_DFP): Likewise.
+ (MASK_DLMZB): Likewise.
+ (MASK_EABI): Likewise.
+ (MASK_FPRND): Likewise.
+ (MASK_HARD_FLOAT): Likewise.
+ (MASK_ISEL): Likewise.
+ (MASK_MFCRF): Likewise.
+ (MASK_MFPGPR): Likewise.
+ (MASK_MULHW): Likewise.
+ (MASK_MULTIPLE): Likewise.
+ (MASK_NO_UPDATE): Likewise.
+ (MASK_POPCNTB): Likewise.
+ (MASK_POPCNTD): Likewise.
+ (MASK_PPC_GFXOPT): Likewise.
+ (MASK_PPC_GPOPT): Likewise.
+ (MASK_RECIP_PRECISION): Likewise.
+ (MASK_SOFT_FLOAT): Likewise.
+ (MASK_STRICT_ALIGN): Likewise.
+ (MASK_STRING): Likewise.
+ (MASK_UPDATE): Likewise.
+ (MASK_VSX): Likewise.
+ (MASK_POWERPC64): Likewise.
+ (MASK_64BIT): Likewise.
+ (MASK_RELOCATABLE): Likewise.
+ (MASK_LITTLE_ENDIAN): Likewise.
+ (MASK_MINIMAL_TOC): Likewise.
+ (MASK_REGNAMES): Likewise.
+ (MASK_PROTOTYPE): Likewise.
+ (rs6000_isa_flags_explicit): Define in terms of the
+ global_options_set structure.
+
+ * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS):
+ Change use of target_flags to rs6000_isa_flags, target_flags_explicit
+ to rs6000_isa_flags_explicit, and MASK_<xxx> to OPTION_MASK_<xxx>.
+ * config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
+ * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
+ * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
+ * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
+ * config/rs6000/freebsd64.h (RELOCATABLE_NEEDS_FIXUP): Likewise.
+ (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
+ * config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP): Likewise.
+ * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Likewise.
+ (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
+ (OPTION_LITTLE_ENDIAN): Likewise.
+ (OPTION_RELOCATABLE): Likewise.
+ (OPTION_EABI): Likewise.
+ (OPTION_PROTOTYPE): Likewise.
+ * config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Likewise.
+ * config/rs6000/option-defaults.h (OPTION_MASK_64BIT): Likewise.
+ (OPT_ARCH32): Likewise.
+ (OPT_ARCH64): Likewise.
+ * config/rs6000/sysv4.h (TARGET_TOC): Likewise.
+ (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
+ (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
+ (TARGET_OS_SYSV_CPP_BUILTINS): Likewise.
+
+ * config/rs6000/t-rs6000 (rs6000.o): Add rs6000-cpus.def as a
+ dependency.
+
+2012-10-17 Jan Hubicka <jh@suse.cz>
+
+ * cfgloopmanip.c (copy_loop_info): New function.
+ (duplicate_loop): Use it.
+ (loop_version): Use it.
+ * loop-unswitch.c (unswitch_loop): Use it.
+ * cfgloop.h (copy_loop_info): Declare.
+
+2012-10-17 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Add edge_to_cancel
+ parameter and use it to estimate code optimized out in the final
+ iteration.
+ (loop_edge_to_cancel): New function.
+ (try_unroll_loop_completely): New IRRED_IVALIDATED parameter;
+ handle unrolling loops with bounds given via max_loop_iteratins;
+ handle unrolling non-inner loops when code size shrinks;
+ tidy dump output; when the last iteration loop still stays
+ as loop in the CFG forcongly redirect the latch to
+ __builtin_unreachable.
+ (canonicalize_loop_induction_variables): Add irred_invlaidated
+ parameter; record niter bound derrived; dump
+ max_loop_iterations bounds; call try_unroll_loop_completely
+ even if no niter bound is given.
+ (canonicalize_induction_variables): Handle irred_invalidated.
+ (tree_unroll_loops_completely): Handle non-innermost loops;
+ handle irred_invalidated.
+ * cfgloop.h (unlop): Declare.
+ * cfgloopmanip.c (unloop): Export.
+ * tree.c (build_common_builtin_nodes): Build BULTIN_UNREACHABLE.
+
+2012-10-17 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * opth-gen.awk (TARGET_* generation): Always generate TARGET_<xxx>
+ for Mask options, whether they use Var(...) or not.
+
+ * config/linux-android.h (ANDROID_TARGET_OS_CPP_BUILTINS): Use
+ TARGET_<xxx> instead of OPTION_<xxx>.
+ * config/i386/i386.h (TARGET_64BIT): Likewise.
+ (TARGET_MMX): Likewise.
+ (TARGET_3DNOW): Likewise.
+ (TARGET_3DNOW_A): Likewise.
+ (TARGET_SSE): Likewise.
+ (TARGET_SSE2): Likewise.
+ (TARGET_SSE3): Likewise.
+ (TARGET_SSSE3): Likewise.
+ (TARGET_SSE4_1): Likewise.
+ (TARGET_SSE4_2): Likewise.
+ (TARGET_AVX): Likewise.
+ (TARGET_AVX2): Likewise.
+ (TARGET_FMA): Likewise.
+ (TARGET_SSE4A): Likewise.
+ (TARGET_FMA4): Likewise.
+ (TARGET_XOP): Likewise.
+ (TARGET_LWP): Likewise.
+ (TARGET_ROUND): Likewise.
+ (TARGET_ABM): Likewise.
+ (TARGET_BMI): Likewise.
+ (TARGET_BMI2): Likewise.
+ (TARGET_LZCNT): Likewise.
+ (TARGET_TBM): Likewise.
+ (TARGET_POPCNT): Likewise.
+ (TARGET_SAHF): Likewise.
+ (TARGET_MOVBE): Likewise.
+ (TARGET_CRC32): Likewise.
+ (TARGET_AES): Likewise.
+ (TARGET_PCLMUL): Likewise.
+ (TARGET_CMPXCHG16B): Likewise.
+ (TARGET_FSGSBASE): Likewise.
+ (TARGET_RDRND): Likewise.
+ (TARGET_F16C): Likewise.
+ (TARGET_RTM): Likewise.
+ (TARGET_HLE): Likewise.
+ (TARGET_RDSEED): Likewise.
+ (TARGET_PRFCHW): Likewise.
+ (TARGET_ADX): Likewise.
+ (TARGET_64BIT): Likewise.
+ (TARGET_MMX): Likewise.
+ (TARGET_3DNOW): Likewise.
+ (TARGET_3DNOW_A): Likewise.
+ (TARGET_SSE): Likewise.
+ (TARGET_SSE2): Likewise.
+ (TARGET_SSE3): Likewise.
+ (TARGET_SSSE3): Likewise.
+ (TARGET_SSE4_1): Likewise.
+ (TARGET_SSE4_2): Likewise.
+ (TARGET_AVX): Likewise.
+ (TARGET_AVX2): Likewise.
+ (TARGET_FMA): Likewise.
+ (TARGET_SSE4A): Likewise.
+ (TARGET_FMA4): Likewise.
+ (TARGET_XOP): Likewise.
+ (TARGET_LWP): Likewise.
+ (TARGET_ROUND): Likewise.
+ (TARGET_ABM): Likewise.
+ (TARGET_BMI): Likewise.
+ (TARGET_BMI2): Likewise.
+ (TARGET_LZCNT): Likewise.
+ (TARGET_TBM): Likewise.
+ (TARGET_POPCNT): Likewise.
+ (TARGET_SAHF): Likewise.
+ (TARGET_MOVBE): Likewise.
+ (TARGET_CRC32): Likewise.
+ (TARGET_AES): Likewise.
+ (TARGET_PCLMUL): Likewise.
+ (TARGET_CMPXCHG16B): Likewise.
+ (TARGET_FSGSBASE): Likewise.
+ (TARGET_RDRND): Likewise.
+ (TARGET_F16C): Likewise.
+ (TARGET_RTM): Likewise.
+ (TARGET_HLE): Likewise.
+ (TARGET_RDSEED): Likewise.
+ (TARGET_PRFCHW): Likewise.
+ (TARGET_ADX): Likewise.
+ (TARGET_LP64): Likewise.
+ (TARGET_X32): Likewise.
+ (TARGET_ISA_ROUND): Likewise.
+ * config/i386/darwin.h (TARGET_64BIT): Likewise.
+
+ * doc/options.texi (Mask): Update documentation to specify only
+ TARGET_<xxx> is generated.
+
+2012-10-17 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * config/arm/arm.md (UNSPEC_PROLOGUE_USE): Rename this...
+ (UNSPEC_REGISTER_USE): ... to this.
+ (prologue_use): Rename this...
+ (force_register_use): ... to this and update output assembly.
+ (epilogue) Rename gen_prologue_use to gen_force_register_use.
+ * config/arm/arm.c (arm_expand_prologue): Likewise.
+ (thumb1_expand_epilogue): Likewise.
+ (arm_expand_epilogue): Likewise.
+ (arm_expand_epilogue): Likewise.
+
+2012-10-17 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr-arch.h (avr_extra_arch_macro): Remove prototype.
+ * config/avr/avr.c (avr_extra_arch_macro): Remove variable.
+ (avr_option_override): Remove setting of avr_extra_arch_macro.
+ * config/avr/avr-c.c (avr_extra_arch_macro): Replace with
+ avr_current_device->macro.
+
+2012-10-17 Richard Biener <rguenther@suse.de>
+
+ * tree-streamer-out.c (write_ts_decl_common_tree_pointers):
+ Do not write TREE_CHAIN of PARM_DECLs.
+ (write_ts_decl_non_common_tree_pointers): Instead stream
+ the DECL_ARGUMENTS chain.
+ * tree-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
+ Do not read TREE_CHAIN of PARM_DECLs.
+ (lto_input_ts_decl_non_common_tree_pointes): Instead read
+ the DECL_ARGUMENTS as chain.
+
+2012-10-17 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/iq2000/iq2000.h (call_used_regs): Remove definition.
+
+2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/54870
+ * tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
+ * cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
+ SSA_NAME pointer that points to a partition if there is at least
+ one variable with it set in the partition.
+ * dse.c (local_variable_can_escape): New predicate.
+ (can_escape): Call it.
+ * gimplify.c (mark_addressable): If this is a partitioned decl, also
+ mark the SSA_NAME pointer that points to a partition.
+
+2012-10-16 Steven Bosscher <steven@gcc.gnu.org>
+
+ * df-problems.c (df_kill_notes): Split up in two functions.
+ (df_remove_dead_and_unused_notes): New function, first half of
+ df_kill notes to remove all REG_DEAD and REG_UNUSED notes.
+ (df_remove_dead_eq_notes): New function, second half of df_kill_notes
+ to remove REG_EQUAL and REG_EQUIV notes referring to dead registers.
+ (df_note_bb_compute): Call df_remove_dead_and_unused_notes instead
+ of df_kill_notes. Call df_remove_dead_eq_notes after processing insn.
+
+ * web.c (web): Re-add DF_RD_PRUNE_DEAD_DEFS;
+
+2012-10-16 Ian Lance Taylor <iant@google.com>
+
+ * doc/extend.texi (Return Address): Change
+ __builtin_extract_return_address to
+ __builtin_extract_return_addr.
+
+2012-10-16 Steven Bosscher <steven@gcc.gnu.org>
+
+ * rtl.h (get_call_rtx_from): New prototype.
+ * rtlanal.c (get_call_rtx_from): New function.
+ * calls.c (emit_call_1): Use it.
+ * dse.c (scan_insn): Likewise
+ * dwarf2out.c (dwarf2out_var_location): Likewise.
+ * sched-deps.c (call_may_noreturn_p): Likewise.
+ * var-tracking.c (prepare_call_arguments): Likewise.
+ * config/sh/sh.c (sh_adjust_cost): Likewise.
+
+2012-10-16 Tom de Vries <tom@codesourcery.com>
+
+ * expr.c (move_by_pieces, move_by_pieces_ninsns, can_store_by_pieces)
+ (store_by_pieces_1): Don't enter loop when no more data is left.
+
+2012-10-16 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * loop-doloop.c (doloop_modify): Pass doloop_end pattern to
+ gen_doloop_begin.
+ (doloop_optimize): Pass flag to indicate if loop is entered at top
+ to gen_doloop_end.
+ * config/arm/thumb2.md (doloop_end): Accept extra operand.
+ * config/bfin/bfin.md (doloop_end): Likewise.
+ * config/c6x/c6x.md (doloop_end): Likewise.
+ * config/ia64/ia64.md (doloop_end): Likewise.
+ * config/mep/mep.md (doloop_begin, doloop_end): Likewise.
+ * config/rs6000/rs6000.md (doloop_end): Likewise.
+ * config/s390/s390.md (doloop_end): Likewise.
+ * config/sh/sh.md (doloop_end): Likewise.
+ * config/spu/spu.md (doloop_end): Likewise.
+ * config/tilegx/tilegx.md (doloop_end): Likewise.
+ * config/tilepro/tilepro.md (doloop_end): Likewise.
+ * doc/md.texi (doloop_end): Document new operand.
+ * basic-block.h (contains_no_active_insn_p): Declare.
+ * cfgrtl.c (contains_no_active_insn_p): New function, factored
+ out of ...
+ (forwarder_block_p): ... here.
+
+2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/53063
+ PR c/40989
+ * doc/options.texi (EnabledBy): Document new form.
+ * optc-gen.awk: Handle new form of EnabledBy.
+ * common.opt (Wunused-but-set-parameter): Use EnabledBy.
+ (Wunused-parameter): Likewise.
+ * opts.c (finish_options): Do not handle them explicitly.
+ * opt-functions.awk (search_var_name): New.
+
+2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/53063
+ PR c/40989
+ * optc-gen.awk: Handle new form of LangEnabledBy.
+ * opts.c (set_Wstrict_aliasing): Declare here. Make static.
+ * common.opt (Wstrict-aliasing=,Wstrict-overflow=): Do not use Init.
+ * doc/options.texi (LangEnabledBy): Document new form.
+ * flags.h (set_Wstrict_aliasing): Do not declare.
+
+2012-10-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * reload.c (find_reloads_subreg_address): Remove FORCE_REPLACE
+ parameter. Always replace normal subreg with memory reference
+ whenever possible. Return NULL otherwise.
+ (find_reloads_toplev): Always call find_reloads_subreg_address
+ for subregs of registers equivalent to a memory location.
+ Only recurse further if find_reloads_subreg_address fails.
+ (find_reloads_address_1): Only call find_reloads_subreg_address
+ for subregs of registers equivalent to a memory location.
+ Properly handle failure of find_reloads_subreg_address.
+
+2012-10-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/54796
+ * rtl.h: Document jump flag on VALUE.
+ * cselib.h (cselib_set_value_sp_based,
+ cselib_sp_based_value_p): New prototypes.
+ * alias.c (find_base_term): For cselib_sp_based_value_p
+ return static_reg_base_value[STACK_POINTER_REGNUM].
+ * cselib.c (SP_BASED_VALUE_P): Define.
+ (cselib_set_value_sp_based, cselib_sp_based_value_p): New functions.
+ * var-tracking.c (add_stores): Call cselib_set_value_sp_based
+ for not yet preserved VALUEs of sp on sp assignments if
+ hard_frame_pointer_adjustment != -1.
+ (vt_initialize): When setting hard_frame_pointer_adjustment,
+ disassociate sp from its previous value and call
+ cselib_set_value_sp_based on a new VALUE created for sp.
+
+ PR tree-optimization/54889
+ * tree-vect-stmts.c (vectorizable_load): Add VIEW_CONVERT_EXPR if
+ ARRAY_REF newref doesn't have compatible type with vectype element
+ type, use vectype element type for MEM_REF.
+
+2012-10-16 Steven Bosscher <steven@gcc.gnu.org>
+
+ * combine.c (record_dead_and_set_regs): Iterate over hard register set
+ with a hard_reg_set_iterator.
+ * cse.c (invalidate_for_call): Likewise.
+ * gcse.c (compute_hash_table_work): Likewise.
+ * loop-iv.c (simplify_using_initial_values): Likewise.
+ * postreload-gcse.c (record_opr_changes): Likewise.
+ * regcprop.c (copyprop_hardreg_forward_1): Likewise.
+ * var-tracking.c (dataflow_set_clear_at_call): Likewise.
+
+2012-10-15 Easwaran Raman <eraman@google.com>
+
+ * optabs.c (emit_cmp_and_jump_insn_1): Add a new parameter to
+ specificy the probability of taking the jump.
+ (emit_cmp_and_jump_insns): Likewise.
+ (expand_compare_and_swap_loop): Make the jump predicted not taken.
+ * dojump.c (do_compare_rtx_and_jump): Remove the code attaching
+ REG_BR_PROB note and pass probability to emit_cmp_and_jump_insns.
+ * cfgbuild.c (compute_outgoing_frequencies): Do not guess outgoing
+ probabilities for branches with more than two successors.
+ * expr.c (emit_block_move_via_loop): Predict the loop backedge loop
+ to be highly taken.
+ (try_casesi): Pass the probability of jumping to the default label.
+ (try_tablejump): Likewise.
+ (do_tablejump): Likewise.
+ * expr.h (try_tablejump): Add a new parameter.
+ (try_casesi): Likewise.
+ (emit_cmp_and_jump_insns): Add probability as default parameter with a
+ default value of -1.
+ * except.c (sjlj_emit_function_enter): Pass probability to
+ emit_cmp_and_jump_insns.
+ * stmt.c (case_node): Add new fields PROB and SUBTREE_PROB.
+ (do_jump_if_equal): Pass probability for REG_BR_PROB note.
+ (add_case_node): Pass estimated probability of jumping to the case
+ label.
+ (emit_case_decision_tree): Pass default_prob to emit_case_nodes.
+ (get_outgoing_edge_probs): New function.
+ (conditional_probability): Likewise.
+ (reset_out_edges_aux): Likewise.
+ (compute_cases_per_edge): Likewise.
+ (emit_case_dispatch_table): Update probabilities of edges coming out
+ of the switch statement.
+ (expand_case): Compute and propagate default edge probability to
+ emit_case_dispatch_table.
+ (expand_sjlj_dispatch_table): Update calls to add_case_node and
+ emit_case_dispatch_table.
+ (balance_case_nodes): Update subtree_prob values.
+ (emit_case_nodes): Compute edge probabilities and add pass them to
+ emit_cmp_and_jump_insns.
+
+2012-10-15 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh-protos.h (set_of_reg): New struct.
+ (sh_find_set_of_reg, sh_is_logical_t_store_expr,
+ sh_try_omit_signzero_extend): Declare...
+ * config/sh/sh.c (sh_find_set_of_reg, sh_is_logical_t_store_expr,
+ sh_try_omit_signzero_extend): ...these new functions.
+ * config/sh/sh.md (*logical_op_t): New insn_and_split.
+ (*zero_extend<mode>si2_compact): Use sh_try_omit_signzero_extend
+ in splitter.
+ (*extend<mode>si2_compact_reg): Convert to insn_and_split.
+ Use sh_try_omit_signzero_extend in splitter.
+ (*mov<mode>_reg_reg): Disallow t_reg_operand as operand 1.
+ (*cbranch_t): Rewrite combine part in splitter using new
+ sh_find_set_of_reg function.
+
+2012-10-15 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54760
+ * config/sh/sh.c (sh_find_base_reg_disp): Stop searching insns when
+ hitting a call insn if GBR is marked as call used.
+ * config/sh/iterators.md (QIHISIDI): New mode iterator.
+ * config/sh/predicates.md (gbr_address_mem): New predicate.
+ * config/sh/sh.md (*movdi_gbr_load, *movdi_gbr_store): New
+ insn_and_split. Use QIHISIDI instead of QIHISI in unnamed GBR
+ addressing splits.
+
+2012-10-15 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.c: Update function attribute comments.
+ * doc/extend.texi (function_vector): Rephrase SH2A specific part.
+ (nosave_low_regs, renesas, trapa_handler): Document SH specific
+ attributes.
+ (sp_switch, trap_exit): Add to index.
+
+2012-10-15 Matthias Klose <doko@ubuntu.com>
+
+ * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
+ * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.
+
+2012-10-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (UNSPEC_MOVU): Remove.
+ (UNSPEC_LOADU): New.
+ (UNSPEC_STOREU): Ditto.
+ (<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
+ (<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
+ (<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
+ (<sse2>_movdqu<avxsizesuffix>): Split to ...
+ (<sse2>_loaddqu<avxsizesuffix>): ... this and ...
+ (<sse2>_storedqu<avxsizesuffix>): ... this.
+ (*sse4_2_pcmpestr_unaligned): Update.
+ (*sse4_2_pcmpistr_unaligned): Ditto.
+
+ * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
+ gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
+ gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
+ (ix86_expand_vector_move_misalign): Use gen_sse_loadups or
+ gen_sse2_load{dqu,upd} to load from unaligned memory and
+ gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
+ unaligned memory.
+ (struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
+ Use CODE_FOR_sse_loadups.
+ <IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
+ <IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
+ <IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
+ <IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
+ <IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
+ <IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
+ <IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
+ <IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
+ <IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
+ <IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
+ <IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.
+
+2012-10-15 Dodji Seketeli <dodji@redhat.com>
+
+ * alias.c: Cleanup comments.
+
+2012-10-15 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/54915
+ * tree-ssa-forwprop.c (simplify_vector_constructor): Check
+ argument's type.
+
+2012-10-15 Richard Biener <rguenther@suse.de>
+
+ * data-streamer.h (bp_pack_string_with_length): New function.
+ (bp_pack_string): Likewise.
+ (bp_unpack_indexed_string): Likewise.
+ (bp_unpack_string): Likewise.
+ * data-streamer-out.c (bp_pack_string_with_length): Likewise.
+ (bp_pack_string): Likewise.
+ * data-streamer-in.c (bp_unpack_indexed_string): Likewise.
+ (bp_unpack_string): Likewise.
+ * tree-streamer-out.c (pack_ts_translation_unit_decl_value_fields):
+ Pack TRANSLATION_UNIT_LANGUAGE here, not ...
+ (write_ts_translation_unit_decl_tree_pointers): ... here. Remove.
+ (streamer_pack_tree_bitfields): Adjust.
+ (streamer_write_tree_body): Likewise.
+ * tree-streamer-in.c (unpack_ts_translation_unit_decl_value_fields):
+ Unpack TRANSLATION_UNIT_LANGUAGE here, not ...
+ (lto_input_ts_translation_unit_decl_tree_pointers): ... here. Remove.
+ (unpack_value_fields): Adjust.
+ (streamer_read_tree_body): Likewise.
+
+2012-10-15 J"orn Rennecke <joern.rennecke@arc.com>
+
+ * genoutput.c (process_template): Process '*' in '@' alternatives.
+ * doc/md.texi (node Output Statement): Provide example for the above.
+
+2012-10-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54920
+ * tree-ssa-pre.c (create_expression_by_pieces): Properly
+ allocate temporary storage for all NARY elements.
+
+2012-10-15 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * web.c (union_match_dups): Properly handle OP_INOUT match_dups.
+
+2012-10-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Do not unnecessarily
+ copy the object in the MEM_P case.
+
+2012-10-15 Richard Guenther <rguenther@suse.de>
+
+ * tree-streamer-out.c (streamer_pack_tree_bitfields): Back
+ BINFO_BASE_ACCESSES and CONSTRUCTOR lengths here.
+ (streamer_write_chain): Write TREE_CHAIN as null-terminated list.
+ (write_ts_exp_tree_pointers): Adjust.
+ (write_ts_binfo_tree_pointers): Likewise.
+ (write_ts_constructor_tree_pointers): Likewise.
+ * tree-streamer-in.c (streamer_read_chain): Read TREE_CHAIN as
+ null-terminated list.
+ (unpack_value_fields): Unpack BINFO_BASE_ACCESSES and
+ CONSTRUCTOR lengths and materialize the arrays.
+ (lto_input_ts_exp_tree_pointers): Adjust.
+ (lto_input_ts_binfo_tree_pointers): Likewise.
+ (lto_input_ts_constructor_tree_pointers): Likewise.
+
+2012-10-14 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config/mmix/mmix.c (mmix_opposite_regno): Handle the
+ return-value register too.
+
+2012-10-14 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/38711
+ * df.h (df_get_live_out, df_get_live_in): Make static inline functions.
+ * df-problems.c (df_get_live_out, df_get_live_in): Moved to df.h.
+ * ira-lives.c (process_bb_node_lives): Use df_get_live_out instead of
+ DF_LR_OUT.
+ * ira-build.c (create_bb_allocnos): Likewise.
+ (create_loop_allocnos): Likewise, and use df_get_live_in instead of
+ DF_LR_IN.
+ * ira-emit.c (generate_edge_moves): Likewise.
+ (add_ranges_and_copies): Likewise.
+ * ira-color.c (ira_loop_edge_freq): Use df_get_live_out instead of
+ DF_LR_OUT, and df_get_live_in instead of DF_LR_IN.
+ * ira.c (mark_elimination): Update DF_LR and DF_LIVE.
+ (build_insn_chain): Use df_get_live_out instead of DF_LR_OUT.
+ (do_reload): Remove the DF_LIVE problem for -O1.
+
+2012-10-14 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/54919
+ * loop-unroll.c (struct var_to_expand): Remove accum_pos field.
+ (analyze_insn_to_expand_var): Do not record accum_pos.
+ (expand_var_during_unrolling): Use validate_replace_rtx_group to
+ perform replacement of all references to SET_DEST (set) with the
+ new register, including references in REG_EQUAL notes.
+ (insert_var_expansion_initialization): Insert initializatio insns
+ at the bottom of the pre-header of the loop.
+
+2012-10-14 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not
+ predict loops with multiple exits realistically.
+ * cfgloopanal.c (single_likely_exit): New function.
+
+2012-10-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.md: Remove empty predicates and/or constraints.
+ * config/alpha/sync.md: Ditto.
+
+2012-10-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.md (I24MODE): New mode iterator.
+ (any_divmod): New code iterator.
+ (<code>si3): Macroize expander from {div,mod,udiv,umod}si3 using
+ any_divmod code iterator.
+ (<code>si3): Macroize expander from {div,mod,udiv,umod}di3 using
+ any_divmod code iterator.
+ (extendqi<mode>2): Macroize insn from extendqi{hi,si}2 using
+ I24MODE mode iterator.
+ (unaligned_store<mode>): Macroize expander from unaligned_store{qi,hi}
+ using I12MODE mode iterator.
+ (mov<mode>): Macroize expander from mov{qi,hi} using
+ I12MODE mode iterator.
+
+2012-10-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/54871
+ * loop-iv.c (simplify_using_initial_values): When scanning previous
+ basic blocks, prune the recorded conditions if the current insn was
+ not used to make a replacement.
+
+ * loop-unroll.c (decide_unroll_constant_iterations): Clean up message.
+ (unroll_loop_constant_iterations): Clarify head comment.
+ (decide_unroll_runtime_iterations): Clean up message.
+ (unroll_loop_runtime_iterations): Clarify head comment.
+ (decide_peel_simple): Clean up message.
+ (peel_loop_simple): Clarify head comment.
+ (decide_unroll_stupid): Clean up message.
+ (unroll_loop_stupid): Clarify head comment.
+
+2012-10-13 Andreas Schwab <schwab@linux-m68k.org>
+
+ PR gcov-profile/44728
+ * gcov.c (create_file_names): When stripping extension only look
+ at base name.
+
+2012-10-13 Jan Hubicka <jh@suse.cz>
+
+ * loop-iv.c (determine_max_iter): Fix handling of AND.
+ (iv_number_of_iterations): Record upper bounds as unsigned
+ values.
+
+2012-10-13 Steven Bosscher <steven@gcc.gnu.org>
+
+ * ira.c (ira): Set current_loops to &ira_loops before recording
+ loop exits. Release recorded exits and loops early.
+
+2012-10-13 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * builtins.c (expand_builtin_set_thread_pointer): Use
+ create_input_operand() instead of create_fixed_operand().
+
+2012-10-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.md (FMODE): New mode iterator.
+ (modesuffix): Handle SF and DF modes.
+ (opmode): New mode attribute.
+ (abs<mode>2): Macroize insn from abs{sf,df}2 using FMODE mode iterator.
+ (*nabs<mode>2): Macroize insn from *nabs{sf,df}2 using
+ FMODE mode iterator.
+ (neg<mode>2): Macroize insn from neg{sf,df}2 using FMODE mode iterator.
+ (copysign<mode>3): Macroize insn from copysign{sf,df}3 using
+ FMODE mode iterator.
+ (*ncopysign<mode>3): Macroize insn from *ncopysign{sf,df}3 using
+ FMODE mode iterator.
+ (*add<mode>3_ieee): Macroize insn from *add{sf,df}_ieee using
+ FMODE mode iterator.
+ (add<mode>3): Macroize insn from add{sf,df}3 using FMODE mode iterator.
+ (*sub<mode>3_ieee): Macroize insn from *sub{sf,df}3_ieee using
+ FMODE mode iterator.
+ (sub<mode>3): Macroize insn from sub{sf,df}3 using FMODE mode iterator.
+ (*mul<mode>3_ieee): Macroize insn from *mul{sf,df}3_ieee using
+ FMODE mode iterator.
+ (mul<mode>3): Macroize insn from mul{sf,df}3 using FMODE mode iterator.
+ (*div<mode>3_ieee): Macroize insn from *div{sf,df}3_ieee using
+ FMODE mode iterator.
+ (div<mode>3): Macroize insn from div{sf,df}3 using FMODE mode iterator.
+ (*sqrt<mode>2_ieee): Macroize insn from *sqrt{sf,df}2_ieee using
+ FMODE mode iterator.
+ (sqrt<mode>2): Macroize insn from sqrt{sf,df}2
+ using FMODE mode iterator.
+ (*mov<mode>cc_internal): Macroize insn from *mov{sf,df}cc_internal
+ using FMODE mode iterator.
+ (mov<mode>cc): Macroize expander from mov{sf,df}cc
+ using FMODE mode iterator.
+
+2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54602
+ * config/sh/sh.md: Correct define_delay for return insns.
+ (*movsi_pop): Delete.
+
+2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54680
+ * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_int2sf): Fix swapped
+ comments.
+ * config/sh/predicates.md (fpul_operand): Add comment.
+ (fpul_fsca_operand, fsca_scale_factor): New predicates.
+ * config/sh/sh.md (fsca): Move below sincossf3 expander. Convert to
+ insn_and_split. Use fpul_fsca_operand and fsca_scale_factor
+ predicates. Simplify fpul operand in splitter.
+
+2012-10-12 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-threadupdate.c (def_split_header_continue_p): Do not
+ escape the loop.
+
+2012-10-12 Jan Hubicka <jh@suse.cz>
+
+ * web.c (web_main): Do not set DF_RD_PRUNE_DEAD_DEFS flag.
+
+2012-10-12 Aaron Gray <aaronngray.lists@gmail.com>
+ Diego Novillo <dnovillo@google.com>
+
+ * gengtype-lex.l: Support for C++ single line comments.
+ Support for classes.
+ (CXX_KEYWORD): New. Support C++ keywords inline, public,
+ protected, private, template, operator, friend, &, ~.
+ (TYPEDEF): New. Support typedef.
+ * gengtype-parser.c: updated 'token_names[]'
+ (direct_declarator): Add support for parsing functions and ctors.
+
+2012-10-12 Diego Novillo <dnovillo@google.com>
+
+ * doc/gty.texi: Document C++ limitations in gengtype.
+ * gengtype-lex.l (CID): Rename from ID.
+ (ID): Include scoping '::' as part of the identifier name.
+ * gengtype-parse.c (token_names): Update.
+ (token_value_format): Update.
+ (consume_until_eos): Rename from consume_until_semi.
+ Remove unused argument IMMEDIATE. Update all callers.
+ Also consider '}' as a finalizer.
+ (consume_until_comma_or_eos): Rename from
+ consume_until_comma_or_semi.
+ Remove unused argument IMMEDIATE. Update all callers.
+ Also consider '}' as a finalizer.
+ (direct_declarator): Add documentation on ctor support.
+ Add argument IN_STRUCT.
+ If the token following ID is a '(', consider ID a
+ function and return NULL.
+ If the token following '(' is not a '*', and IN_STRUCT is true,
+ conclude that this is a ctor and return NULL.
+ If the token is IGNORABLE_CXX_KEYWORD, return NULL.
+ (inner_declarator): Add argument IN_STRUCT.
+ Update all callers.
+ (declarator): Add argument IN_STRUCT with default value false.
+ Update all callers.
+ (type): Document argument NESTED.
+ Skip over C++ inheritance specifiers.
+ If a token TYPEDEF is found, emit an error.
+ If an enum is found inside a class/structure, emit an error.
+ (typedefs, structures, param_structs, variables): Initialize.
+ (new_structure): Do not complain about duplicate
+ structures if S has a line location set.
+ * gengtype-state.c (write_state_type): Remove default handler.
+ Add handler for TYPE_NONE.
+ (read_state_scalar_char_type):
+ * gengtype.c: Fix spacing.
+ * gengtype.h (enum gty_token): Add name. Add token
+ IGNORABLE_CXX_KEYWORD.
+
+2012-10-12 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/arm/arm.md (get_thread_pointersi): Moved to place with
+ other TLS related patterns.
+
+2012-10-12 Richard Biener <rguenther@suse.de>
+
+ * tree-streamer-out.c (pack_ts_target_option): Rename from ...
+ (write_ts_target_option): ... this.
+ (pack_ts_optimization): Rename from ...
+ (write_ts_optimization): ... this.
+ (streamer_pack_tree_bitfields): Pack them in the bitfield section ...
+ (streamer_write_tree_body): ... not here.
+ * tree-streamer-in.c (unpack_ts_target_option): Rename from ...
+ (lto_input_ts_target_option): ... this.
+ (unpack_ts_optimization): Rename from ...
+ (lto_input_ts_optimization): ... this.
+ (unpack_value_fields): Unpack them from the bitfield section ...
+ (streamer_read_tree_body): ... not from here.
+
+2012-10-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.md (vecmodesuffix): New mode attribute.
+ (modesuffix): Handle V8QI and V4HI modes.
+ (any_maxmin): New code iterator.
+ (maxmin): New code attribute.
+ (<code><mode>3): Macroize insn from {smax,smin,umax,umin}{qi,hi}3
+ using any_maxmin code iterator and I12MODE mode iterator.
+ (<code><mode>3): Macroize insn from {smax,smin,umax,umin}{v8qi,v4hi}3
+ using any_maxmin code iterator and VEC12 mode iterator.
+
+2012-10-12 Marc Glisse <marc.glisse@inria.fr>
+
+ * optabs.c (vector_compare_rtx): Change prototype.
+ (expand_vec_cond_expr): Handle VEC_COND_EXPR whose first operand
+ is not a comparison.
+ * gimplify.c (gimplify_expr): Handle VEC_COND_EXPR.
+
+2012-10-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/54894
+ * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
+ Handle over-aligned scalar types properly.
+
+2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54760
+ * config/sh/sh.c (bdesc): Remove thread pointer built-ins.
+ * config/sh/sh.md (get_thread_pointer, set_thread_pointer): Append mode
+ name 'si'.
+
+2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh.md (negsi_cond, negdi_cond, stack_protect_test): Remove
+ get_t_reg_rtx when invoking gen_branch_true or gen_branch_false.
+ (*zero_extend<mode>si2_compact): Convert to insn_and_split. Convert
+ zero extensions of T bit stores to reg moves in splitter. Remove
+ obsolete unnamed peephole2 that caught zero extensions after negc T bit
+ stores.
+ (*branch_true_eq, *branch_false_ne): Delete.
+ (branch_true, branch_false): Convert insn to expander. Move actual
+ insn logic to...
+ (*cbranch_t): ...this new insn_and_split. Try to find preceding
+ redundant T bit stores and tests and combine them with the conditional
+ branch if possible in the splitter.
+ (movrt_xor, *movt_movrt): New insn_and_split.
+ * config/sh/predicates.md (cbranch_treg_value): New predicate.
+ * config/sh/sh-protos.h (sh_eval_treg_value): Forward declare...
+ * config/sh/sh.c (sh_eval_treg_value): ...this new function.
+ (expand_cbranchsi4, expand_cbranchdi4): Remove get_t_reg_rtx
+ when invoking gen_branch_true or gen_branch_false.
+
+2012-10-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.md (IMODE): New mode iterator.
+ (I124MODE): Ditto.
+ (I248MODE): Ditto.
+ (modesuffix): Handle QI and HI modes.
+ (zero_extendqi<mode>2): Macroize insn from zero_extendqi{hi,si,di}2
+ using I248MODE mode iterator.
+ (zero_extendhi<mode>2): Macroize insn from zero_extendhi{si,di}2
+ using I48MODE mode iterator.
+ (andnot<mode>3): Macroize insn from andnot{si,di}3 using
+ I48MODE mode iterator.
+ (ins<modesuffix>l_const): Macroize insn from ins{b,w,l}l_const
+ using I248MODE mode iterator.
+ (ins<modesuffix>l): Macroize insn from ins{b,w,l}l
+ using I248MODE mode iterator.
+ (*mov<mode>cc_internal): Macroize insn from
+ *mov{qi,hi,si,di}cc_internal using IMODE mode iterator.
+ (*mov<mode>cc_lbc): Macroize insn from
+ *mov{qi,hi,si,di}cc_lbc using IMODE mode iterator.
+ (*mov<mode>cc_lbs): Macroize insn from
+ *mov{qi,hi,si,di}cc_lbs using IMODE mode iterator.
+ (mov<mode>cc): Macroize expander from mov{si,di}cc
+ using I48MODE mode iterator.
+
+2012-10-11 Steven Bosscher <steven@gcc.gnu.org>
+
+ * ira-build.c (ira_loop_tree_body_rev_postorder): New function.
+ (ira_traverse_loop_tree): Traverse a loop's basic blocks in
+ reverse post-order of the reversed control-flow direction.
+ * ira-conflicts.c (ira_build_conflicts): Pass add_copies as
+ the pre-order function to ira_traverse_loop_tree to preserve
+ the existing semantics.
+
+ * ira-lives.c (remove_some_program_points_and_update_live_ranges):
+ Squeeze out live range chain elements if their program points are
+ connected.
+
+2012-10-11 Jakub Jelinek <jakub@redhat.com>
+
+ * tree.def (REDUC_PLUS_EXPR): Fix up comment.
+
+ * fold-const.c (fold_unary_loc): Handle REDUC_MIN_EXPR,
+ REDUC_MAX_EXPR and REDUC_PLUS_EXPR.
+
+2012-10-11 James Lemke <jwlemke@codesourcery.com>
+
+ * config/rs6000/predicates.md (zero_fp_constant): Fix comment.
+ * config/rs6000/rs6000.md (return_pred): Fix null return.
+ * config/rs6000/rs6000.c (rs6000_emit_set_const): Fix indentation.
+ (print_operand): Make FALLTHRU obvious.
+ (output_cbranch): Correct comment.
+
+2012-10-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.md (DWI): New mode attribute.
+ (*sadd<modesuffix>): Macroize insn from *saddl and *saddq using
+ I48MODE mode iterator.
+ (addv<mode>3): Macroize insn from addvsi3 and addvdi3 using
+ I48MODE mode iterator.
+ (neg<mode>2): Macroize insn from negsi2 and negdi2 using
+ I48MODE mode iterator.
+ (negv<mode>2): Macroize insn from negvsi2 and negvdi2 using
+ I48MODE mode iterator.
+ (sub<mode>3): Macroize insn from subsi3 and subdi3 using
+ I48MODE mode iterator.
+ (*ssub<modesuffix>): Macroize insn from *ssubl and *ssubq using
+ I48MODE mode iterator.
+ (subv<mode>3): Macroize insn from subvsi3 and subvdi3 using
+ I48MODE mode iterator.
+ (mul<mode>3): Macroize insn from mulsi3 and muldi3 using
+ I48MODE mode iterator.
+ (mulv<mode>3): Macroize insn from mulvsi3 and mulvdi3 using
+ I48MODE mode iterator.
+ (*iornot<mode>3): Macroize insn from *iornotsi3 and *iornotdi3 using
+ I48MODE mode iterator.
+ (*xornot<mode>3): Macroize insn from *xornotsi3 and *xornotdi3 using
+ I48MODE mode iterator.
+
+2012-10-11 Jason Merrill <jason@redhat.com>
+
+ * configure.ac (gcc_cv_as_aix_ref): Fix typo.
+ * configure: Regenerate.
+
+2012-10-11 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * builtins.c (expand_builtin_thread_pointer): New.
+ (expand_builtin_set_thread_pointer): New.
+ (expand_builtin): Add BUILT_IN_THREAD_POINTER,
+ BUILT_IN_SET_THREAD_POINTER expand cases.
+ * builtins.def (BUILT_IN_THREAD_POINTER):
+ New __builtin_thread_pointer builtin.
+ (BUILT_IN_SET_THREAD_POINTER):
+ New __builtin_set_thread_pointer builtin.
+ * optabs.def (get_thread_pointer,set_thread_pointer):
+ New standard names.
+ * doc/md.texi (Standard Names): Document get_thread_pointer and
+ set_thread_pointer patterns.
+ * config/alpha/alpha.md (get_thread_pointerdi): Rename from load_tp.
+ (set_thread_pointerdi): Rename from set_tp.
+ * config/alpha/alpha.c (alpha_legitimize_address_1): Change
+ gen_load_tp calls to gen_get_thread_pointerdi.
+ (alpha_builtin): Remove ALPHA_BUILTIN_THREAD_POINTER,
+ ALPHA_BUILTIN_SET_THREAD_POINTER.
+ (code_for_builtin): Remove CODE_FOR_load_tp, CODE_FOR_set_tp.
+ (alpha_init_builtins): Remove __builtin_thread_pointer,
+ __builtin_set_thread_pointer machine-specific builtins.
+ (alpha_expand_builtin_thread_pointer): Add hook function for
+ TARGET_EXPAND_BUILTIN_THREAD_POINTER.
+ (alpha_expand_builtin_set_thread_pointer): Add hook function for
+ TARGET_EXPAND_BUILTIN_SET_THREAD_POINTER.
+ (alpha_fold_builtin): Remove ALPHA_BUILTIN_THREAD_POINTER,
+ ALPHA_BUILTIN_SET_THREAD_POINTER cases.
+ * config/arm/arm.md (get_thread_pointersi): New pattern.
+ * config/arm/arm-protos.h (arm_load_tp): Add extern declaration.
+ * config/arm/arm.c (arm_load_tp): Remove static.
+ (arm_builtins): Remove ARM_BUILTIN_THREAD_POINTER.
+ (arm_init_tls_builtins): Remove function.
+ (arm_init_builtins): Remove call to arm_init_tls_builtins().
+ (arm_expand_builtin): Remove ARM_BUILTIN_THREAD_POINTER case.
+ * config/mips/mips.md (get_thread_pointer<mode>): New pattern.
+ * config/mips/mips-protos.h (mips_expand_thread_pointer):
+ Add extern declaration.
+ * config/mips/mips.c (mips_expand_thread_pointer):
+ Renamed from mips_get_tp.
+ (mips_get_tp): New stub calling mips_expand_thread_pointer.
+ * config/s390/s390.c (s390_builtin,code_for_builtin_64,
+ code_for_builtin_31,s390_init_builtins,s390_expand_builtin): Remove.
+ * config/s390/s390.md (get_tp_64,get_tp_31,set_tp_64,set_tp_31):
+ Remove.
+ (get_thread_pointer<mode>,set_thread_pointer<mode>):
+ New, adapted from removed patterns.
+ * config/xtensa/xtensa.md (get_thread_pointersi):
+ Renamed from load_tp.
+ (set_thread_pointersi): Renamed from set_tp.
+ * config/xtensa/xtensa.c (xtensa_legitimize_tls_address):
+ Change gen_load_tp calls to gen_get_thread_pointersi.
+ (xtensa_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER and
+ XTENSA_BUILTIN_SET_THREAD_POINTER.
+ (xtensa_init_builtins): Remove __builtin_thread_pointer,
+ __builtin_set_thread_pointer machine-specific builtins.
+ (xtensa_fold_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER,
+ XTENSA_BUILTIN_SET_THREAD_POINTER cases.
+ (xtensa_expand_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER,
+ XTENSA_BUILTIN_SET_THREAD_POINTER cases.
+
+2012-10-11 Marc Glisse <marc.glisse@inria.fr>
+
+ * doc/extend.texi (Vector Extensions): C++ improvements.
+ * doc/generic.texi (LSHIFT_EXPR, RSHIFT_EXPR): Mixed vector-scalar.
+ (LT_EXPR, LE_EXPR, GT_EXPR, GE_EXPR, EQ_EXPR, NE_EXPR): Specify
+ the vector case.
+ (VEC_COND_EXPR): Document it.
+
+2012-10-11 Terry Guo <terry.guo@arm.com>
+
+ * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
+ architecture.
+ * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
+ instruction.
+
+2012-10-11 Hans-Peter Nilsson <hp@bitrange.com>
+
+ PR target/54373
+ * configure.ac (out-of-tree linker .hidden support) Set to "no"
+ for mmix-knuth-mmixware.
+ * configure: Regenerate.
+
+ * configure.ac (gcc_cv_as_comdat_group_group): Default to no.
+ * configure: Regenerate.
+
+ * acinclude.m4 (_gcc_COMPUTE_GAS_VERSION): Allow a single
+ character to quote the VERSION= contents. Sanity-check contents.
+ * configure.ac ("what linker to use" ld version extraction): Ditto.
+ * configure: Regenerate.
+
+2012-10-10 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.h (PRINT_OPERAND_PUNCT_VALID_P): Delete '.'.
+
+2012-10-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54877
+ * tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR
+ use make_ssa_name instead of copy_ssa_name.
+
+2012-10-10 Richard Biener <rguenther@suse.de>
+
+ * lto-streamer-in.c (lto_input_location_bitpack): Rename to ...
+ (lto_input_location): ... this. Kill original.
+ (input_eh_region): Adjust.
+ (input_struct_function_base): Likewise.
+ (lto_read_tree): Likewise.
+ * lto-streamer-out.c (lto_output_location_bitpack): Rename to ...
+ (lto_output_location): ... this. Kill original.
+ (lto_write_tree): Adjust.
+ (output_eh_region): Likewise.
+ (output_struct_function_base): Likewise.
+ * lto-streamer.c (lto_streamer_hooks_init): Initialize location hooks.
+ * lto-streamer.h (lto_input_location): Adjust prototype.
+ (lto_output_location): Likewise.
+ * streamer-hooks.h (struct streamer_hooks): Adjust prototype
+ of input_location and output_location hooks.
+ (stream_input_location): New define.
+ (stream_output_location): Likewise.
+ * tree-streamer-in.c (unpack_ts_block_value_fields): Adjust.
+ (unpack_value_fields): Likewise.
+ (streamer_read_tree_bitfields): Likewise.
+ (lto_input_ts_decl_minimal_tree_pointers): Likewise.
+ (lto_input_ts_exp_tree_pointers): Likewise.
+ (lto_input_ts_block_tree_pointers): Likewise.
+ * tree-streamer-out.c (pack_ts_block_value_fields): Adjust.
+ (streamer_pack_tree_bitfields): Likewise.
+ (write_ts_decl_minimal_tree_pointers): Likewise.
+ (write_ts_exp_tree_pointers): Likewise.
+ (write_ts_block_tree_pointers): Likewise.
+ * gimple-streamer-in.c (input_phi): Adjust.
+ (input_gimple_stmt): Likewise.
+ * gimple-streamer-out.c (output_phi): Adjust.
+ (output_gimple_stmt): Likewise.
+ * tree-streamer.h (streamer_read_tree_bitfields): Adjust prototype.
+ (streamer_pack_tree_bitfields): Likewise.
+
+2012-10-10 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (altivec_expand_dst_builtin): Fix signed
+ vs. unsigned warnings by using enum type for function code.
+ (paired_expand_builtin): Likewise.
+ (spe_expand_builtin): Likewise.
+
+ * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Change
+ builtin mask, target flags masks type to HOST_WIDE_INT in
+ preparation for growing the number of ISA switches from 31 to 63.
+
+ * config/rs6000/rs6000.opt (rs6000_builtin_mask): Make mask type
+ HOST_WIDE_INT.
+
+ * config/rs6000/rs6000.c (struct builtin_description): Make
+ builtin mask field HOST_WIDE_INT. Make target flags field
+ HOST_WIDE_INT in preparation for growing the # of ISA switches.
+ (struct rs6000_builtin_info_type): Likewise.
+ (struct rs6000_ptt): Likewise.
+ (rs6000_builtin_mask_calculate): Likewise.
+ (rs6000_invalid_builtin): Likewise.
+ (rs6000_builtin_decl): Likewise.
+ (rs6000_common_init_builtins): Likewise.
+ (rs6000_darwin_file_start): Likewise.
+ (rs6000_final_prescan_insn): Likewise.
+ (rs6000_inner_target_options): Likewise.
+ (build_target_option_node): Likewise.
+ (rs6000_function_specific_print): Likewise.
+ (DEBUG_FMT_W): New format for printing HOST_WIDE_INT in hex.
+
+ * config/rs6000/rs6000-protos.h (rs6000_builtin_mask_calculate):
+ Make target flags, builtin masks arguments/return values
+ HOST_WIDE_INT in preparation for growing the number of ISA from 31
+ to 63.
+ (rs6000_target_modify_macros): Likewise.
+ (rs6000_target_modify_macros_ptr): Likewise.
+
+ * config/rs6000/rs6000.c (DEBUG_FMT_ID): Move "-32s" to a separate
+ define and change DEBUG_FMT_<x> to use it.
+ (DEBUG_FMT_D): Likewise.
+ (DEBUG_FMT_S): Likewise.
+ (DEBUG_FMT_X): Delete, no longer used.
+ (DEBUG_FMT_W): Likewise.
+ (DEBUG_FMT_WX): New debug format for printing options in a
+ friendly fashion.
+ (rs6000_debug_reg_global): If -mdebug=reg, print all of the
+ options in target_flags and target_flags_explicit. Print the
+ default options for -mcpu=<xxx>, -mtune=<xxx>, and the default
+ options. Adjust printing out the builtin options.
+ (rs6000_option_override_internal): Change printing the builtin
+ options to use rs6000_print_builtin_options.
+ (rs6000_function_specific_print): Change to use
+ rs6000_print_isa_options to print ISA flags.
+ (rs6000_print_options_internal): New function for expanded
+ -mdebug=reg option printing to print both the ISA options, and the
+ builtins that are enabled.
+ (rs6000_print_isa_options): New function to print the ISA options.
+ (rs6000_print_builtin_options): New function to print the builtin
+ functions enabled.
+
+2012-10-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/51109
+ * config/i386/bdver1.md (bdver1-mult): Remove.
+
+ PR middle-end/54879
+ * combine.c (count_rtxs): Use RTX_BIN_ARITH resp. RTX_COMM_ARITH
+ instead of '2' resp. 'c' for GET_RTX_CLASS comparisons.
+
+ PR middle-end/54862
+ * simplify-rtx.c (simplify_truncation): Compare UINTVAL instead of
+ INTVAL of second argument with precision resp. op_precision.
+
+2012-10-10 Dodji Seketeli <dodji@redhat.com>
+
+ PR middle-end/54860 - Make sure attributes hash table is created
+ * attribs.c (register_scoped_attributes): Ensure the attribute
+ hash table is created.
+
+2012-10-10 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
+
+ PR target/51109
+ * config/i386/bdver1.md (bdver1_int): Automaton has been
+ split to reduce state transitions.
+
+2012-10-10 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/54876
+ * ipa-prop.c (prune_expression_for_jf_1): New function.
+ (prune_expression_for_jf): Clear EXPR_LOCATION for all
+ sub-expressions as well.
+
+2012-10-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config.gcc: Enable zEC12 for with-arch and with-tune
+ configure switches.
+ * common/config/s390/s390-common.c (processor_flags_table): Add
+ zEC12 entry.
+ * config/s390/2827.md: New file.
+ * config/s390/s390-opts.h (enum processor_type): Add
+ PROCESSOR_2827_ZEC12.
+ * config/s390/s390.h (enum processor_flags): Add PF_ZEC12.
+ (TARGET_CPU_ZEC12, TARGET_ZEC12): New macro definitions.
+ * config/s390/s390.c (zEC12_cost): New definition.
+ (s390_option_override): Set costs for zEC12.
+ Set parameter defaults for zEC12.
+ (legitimate_reload_fp_constant_p): Adjust comment.
+ (preferred_la_operand_p): Adjust comment.
+ (s390_expand_insv): Generate insv pattern without CC clobber for zEC12.
+ (s390_adjust_priority): Add zEC12 check.
+ (s390_issue_rate): Return 2 for zEC12.
+ (s390_reorg): Enable code optimizations for zEC12.
+ (s390_sched_reorder): Reorder insns according to OOO attributes.
+ (s390_get_sched_attrmask): New function.
+ (s390_sched_score): New function.
+ (s390_sched_variable_issue): Update s390_sched_state.
+ (s390_sched_init): Reset s390_sched_state.
+ (s390_loop_unroll_adjust): Enable for zEC12.
+ * config/s390/s390.opt: Add zEC12 processor type value.
+ * config/s390/s390.md: Enable mnemonic attribute.
+ (attr cpu, cpu_facility): Add zEC12.
+ Include 2827.md.
+ ("*insv<mode>_zEC12", "*insv<mode>_zEC12_noshift")
+ ("*load_and_trap<mode>"): New insn definition.
+ ("*cmp_and_trap_unsigned_int<mode>"): Add clt and clgt.
+
+2012-10-09 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (type attribute): Add new types 'visl'
+ (VIS logical operation), 'vismv' (VIS move), and 'pdistn'. Rename
+ 'fgm_pdist' to 'pdist'.
+ (*movsi_insn): Use vismv and visl.
+ (*movdi_insn_sp64): Likewise.
+ (*movsf_insn): Likewise.
+ (*movdf_insn_sp64): Likewise.
+ (*mov<VM32:mode>_insn): Likewise, use 'fsrc2s' instead of 'fsrc1s'.
+ (*mov<VM64:mode>_insn_sp64): Likewise, use 'fsrc2s'
+ instead of 'fsrc1s'.
+ (*mov<VM64:mode>_insn_sp32): Likewise, use 'fsrc2s'
+ instead of 'fsrc1s'.
+ (VIS logical instructions): Mark as visl.
+ (pdist_vis): Use 'pdist'.
+ (pditsn<mode>_vis): Use 'pdistn'.
+ * config/sparc/ultra1_2.md: Adjust for new VIS attribute types.
+ * config/sparc/ultra3.md: Likewise.
+ * config/sparc/niagara.md: Likewise.
+ * config/sparc/niagara2.md: Likewise.
+ * config/sparc/niagara4.md: Add cpu units "n4_slot2" and
+ "n4_load_store" for special store scheduling. Use them in load
+ and store reservations. Integer divide and multiply can only
+ issue in slot-1. Represent 1-cycle VIS moves and 3-cycle VIS
+ logic operations.
+
+2012-10-10 Dehao Chen <dehao@google.com>
+
+ * tree-eh.c (lower_try_finally_onedest): Set correct location for
+ deallocator.
+ * gimplify.c (gimplify_expr): Set correct location for TRY stmt.
+
+2012-10-10 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/52480
+ * config/sh/sh.md (extv, extzv): Check that operands[3] is zero,
+ regardless of the endianness.
+
+2012-10-09 Lawrence Crowl <crowl@google.com>
+
+ * Makefile.in (fold-const.o): Add depencence on hash-table.h.
+ (dse.o): Likewise.
+ (cfg.o): Likewise.
+ * fold-const.c (fold_checksum_tree): Change to new
+ type-safe hash table.
+ * (print_fold_checksum): Likewise.
+ * cfg.c (var bb_original): Likewise.
+ * (var bb_copy): Likewise.
+ * (var loop_copy): Likewise.
+ * hash-table.h (template hash_table): Constify parameters for find...
+ and remove_elt... member functions.
+ (hash_table::empty) Correct size expression.
+ (hash_table::clear_slot) Correct deleted entry assignment.
+ * dse.c (var rtx_group_table): Change to new type-safe hash table.
+
+2012-10-09 Steven Bosscher <steven@gcc.gnu.org>
+
+ * basic-block. (profile_record): New struct, moved from passes.c.
+ * cfghooks.h (struct cfg_hooks) <account_profile_record>: New hook.
+ (account_profile_record): New prototype.
+ * cfghooks.c (account_profile_record): New function.
+ * tree-cfg.c (gimple_account_profile_record): New function
+ (gimple_cfg_hooks): Add it.
+ * cfgrtl.c (rtl_account_profile_record): New function
+ (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Add it.
+ * passes.c (check_profile_consistency): Simplify. Move IR-dependent
+ code around using cfghooks machinery.
+
+2012-10-09 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54760
+ * doc/extend.texi (Target Builtins): Add SH built-in section.
+ Document __builtin_thread_pointer and __builtin_set_thread_pointer.
+
+2012-10-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
+
+ PR middle-end/53397
+ * tree-ssa-loop-prefetch.c (gather_memory_references_ref):
+ Perform non constant step prefetching in inner loop, only
+ when it is invariant in the entire loop nest.
+ * tree-ssa-loop-prefetch.c (dump_mem_details): New function to dump
+ base, step and delta values of memeory reference analysed for
+ prefetching.
+ * tree-ssa-loop-prefetch.c (dump_mem_ref): Call dump_mem_details
+ to print base, step and delta values of memory reference.
+ * cfgloop.h (loop_outermost): New function that returns outermost
+ loop for a given loop in a loop nest.
+
+2012-10-09 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/54837
+ * cfgexpand.c (expand_debug_source_expr): Move checking
+ code conditional on a found decl_debug_args vector.
+
+2012-10-09 Richard Guenther <rguenther@suse.de>
+
+ * tree-streamer.c (streamer_tree_cache_get): Move ...
+ * tree-streamer.h (streamer_tree_cache_get): ... here as inline.
+
+2012-10-09 Jan Hubicka <jh@suse.cz>
+
+ * loop-unroll.c (unroll_loop_constant_iterations): Add
+ update of loop->nb_iterations_upper_bound I missed in my previous
+ commit; use TRUNC_DIV_EXPR instead of FLOOR_DIV_EXPR to divide
+ iteration count.
+ (decide_unroll_runtime_iterations): Avoid overflow.
+ (unroll_loop_runtime_iterations): Use TRUNC_DIV_EXPR instead of
+ FLOOR_DIV_EXPR to update iteration bounds.
+ (decide_peel_simple): Avoid integer overflow when deciding
+ on number of peelings.
+ (decide_unroll_stupid): Likewise.
+
+2012-10-09 Tobias Burnus <burnus@net-b.de>
+
+ * lto-cgraph.c (input_node_opt_summary): Remove unused code.
+ * lto-opts.c (append_to_collect_gcc_options): Fix condition.
+ * lto-symtab.c (lto_cgraph_replace_node): Don't xstrdup string
+ which is passed to fprintf.
+
+2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54194
+ * tree.h: Add EXPR_LOC_OR_LOC.
+
+2012-10-09 Nick Clifton <nickc@redhat.com>
+
+ PR rtl-optimization/54739
+ * config/mcore/mcore.md: (anddi3, iordi3, xordi3): Delete patterns.
+
+ PR target/54661
+ * config/mcore/mcore.c (mcore_output_movedouble): Fix typo.
+
+2012-10-09 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/54427
+ * fold-const.c (fold_binary_loc): Use build_zero_cst instead of
+ build_int_cst for a potential vector.
+
+2012-10-08 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/atom.md (atom_sse_4): Merge atom_sse_attr attibutes.
+ (atom_sse_5): Ditto.
+
+2012-10-08 Marc Glisse <marc.glisse@inria.fr>
+
+ PR target/54400
+ * config/i386/i386.md (type attribute): Add sseadd1.
+ (unit attribute): Add support for sseadd1.
+ (memory attribute): Likewise.
+ * config/i386/athlon.md: Likewise.
+ * config/i386/core2.md: Likewise.
+ * config/i386/atom.md: Likewise.
+ * config/i386/ppro.md: Likewise.
+ * config/i386/bdver1.md: Likewise.
+ * config/i386/sse.md (sse3_h<plusminus_insn>v2df3): Split into...
+ (sse3_haddv2df3): ... expander.
+ (*sse3_haddv2df3): ... define_insn. Accept permuted operands.
+ (sse3_hsubv2df3): ... define_insn.
+ (*sse3_haddv2df3_low): New define_insn.
+ (*sse3_hsubv2df3_low): New define_insn.
+
+2012-10-08 Jan Hubicka <jh@suse.cz>
+
+ * loop-unswitch.c (unswitch_single_loop): Use
+ estimated_loop_iterations_int to prevent unswitching when loop
+ is known to not roll.
+ * tree-ssa-loop-niter.c (estimated_loop_iterations): Do not segfault
+ when SCEV is not initialized.
+ (max_loop_iterations): Likewise.
+ * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Use
+ estimated_loop_iterations_int to prevent unswithcing when
+ loop is known to not roll.
+ * tree-scalar-evolution.c (scev_initialized_p): New function.
+ * tree-scalar-evolution.h (scev_initialized_p): Likewise.
+ * loop-unroll.c (decide_peel_once_rolling): Use
+ max_loop_iterations_int.
+ (unroll_loop_constant_iterations): Update
+ nb_iterations_upper_bound and nb_iterations_estimate.
+ (decide_unroll_runtime_iterations): Use
+ estimated_loop_iterations or max_loop_iterations;
+ (unroll_loop_runtime_iterations): fix profile updating.
+ (decide_peel_simple): Use estimated_loop_iterations
+ and max_loop_iterations.
+ (decide_unroll_stupid): Use estimated_loop_iterations
+ ad max_loop_iterations.
+ * loop-doloop.c (doloop_modify): Use max_loop_iterations_int.
+ (doloop_optimize): Likewise.
+ * loop-iv.c (iv_number_of_iterations): Use record_niter_bound.
+ (find_simple_exit): Likewise.
+ * cfgloop.h (struct niter_desc): Remove niter_max.
+
+2012-10-08 Marek Polacek <polacek@redhat.com>
+
+ PR debug/54831
+ * var-tracking.c (vt_add_function_parameter): Use condition instead
+ of gcc_assert.
+
+2012-10-08 Dehao Chen <dehao@google.com>
+
+ * predict.c (predict_loops): Predict for short-circuit conditions.
+ (predict_extra_loop_exits): New Function.
+
+2012-10-08 Steven Bosscher <steven@gcc.gnu.org>
+
+ * bitmap.h (bitmap_and_into): Update prototype.
+ * bitmap.c (bitmap_and_into): Return true if the target bitmap
+ changed, false otherwise.
+
+ * df.h (df_dump_insn_problem_function): New function type.
+ (struct df_problem): Add two functions, to dump just before and
+ just after an insn.
+ (DF_RD_PRUNE_DEAD_DEFS): New changable flag.
+ (df_dump_insn_top, df_dump_insn_bottom): New prototypes.
+ * df-core (df_dump_region): Use dump_bb.
+ (df_dump_bb_problem_data): New function.
+ (df_dump_top, df_dump_bottom): Rewrite using df_dump_bb_problem_data.
+ (df_dump_insn_problem_data): New function.
+ (df_dump_insn_top, df_dump_insn_bottom): New functions.
+ * df-scan.c (problem_SCAN): Add NULL fields for new members.
+ * df-problems.c (df_rd_local_compute): Ignore hard registers if
+ DF_NO_HARD_REGS is in effect.
+ (df_rd_transfer_function): If DF_RD_PRUNE_DEAD_DEFS is in effect,
+ prune reaching defs using the LR problem.
+ (df_rd_start_dump): Fix dumping of DEFs map.
+ (df_rd_dump_defs_set): New function.
+ (df_rd_top_dump, df_rd_bottom_dump): Use it.
+ (problem_RD): Add NULL fields for new members.
+ (problem_LR, problem_LIVE): Likewise.
+ (df_chain_bb_dump): New function.
+ (df_chain_top_dump): Dump only for artificial DEFs and USEs,
+ using df_chain_bb_dump.
+ (df_chain_bottom_dump): Likewise.
+ (df_chain_insn_top_dump, df_chain_insn_bottom_dump): New functions.
+ (problem_CHAIN): Add them as new members.
+ (problem_WORD_LR, problem_NOTE): Add NULL fields for new members.
+ (problem_MD): Likewise.
+ * cfgrtl.c (rtl_dump_bb): Use df_dump_insn_top and df_dump_insn_bottom.
+ (print_rtl_with_bb): Likewise.
+
+ * dce.c (init_dce): Use DF_RD_PRUNE_DEAD_DEFS.
+ * loop-invariant.c (find_defs): Likewise.
+ * loop-iv.c (iv_analysis_loop_init): Likewise.
+ * ree.c (find_and_remove_re): Likewise.
+ * web.c (web_main): Likewise.
+
+2012-10-08 Jason Merrill <jason@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_code_end): Protect the use of
+ ASM_WEAKEN_DECL with #if RS6000_WEAK.
+
+2012-10-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54825
+ * tree-ssa-sccvn.c (vn_nary_length_from_stmt): Handle BIT_FIELD_REF.
+ (init_vn_nary_op_from_stmt): Likewise.
+ * tree-ssa-pre.c (compute_avail): Use vn_nary_op_lookup_stmt.
+ * tree-ssa-sccvn.h (sizeof_vn_nary_op): Avoid overflow.
+
+2012-10-08 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (postorder_num): New global.
+ (compute_antic): Initialize all blocks and adjust for
+ generic postorder.
+ (my_rev_post_order_compute): Remove.
+ (init_pre): Use inverted_post_order_compute.
+
+2012-10-08 Bernd Schmidt <bernds@codesourcery.com>
+
+ * sched-int.h (schedule_block): Adjust declaration.
+ * sched-rgn.c (bb_state_array, bb_state): New static variables.
+ (sched_rgn_init): Initialize them.
+ (sched_rgn_free): Free them.
+ (schedule_region): Save scheduling state for future blocks, and
+ pass such state to schedule_block.
+ * params.def (PARAM_SCHED_STATE_EDGE_PROB_CUTOFF): New.
+ * doc/invoke.texi (--param): Document it.
+ * haifa-sched.c (schedule_block): New arg init_state. Use it to
+ initialize state if nonnull. All callers changed.
+ Call advance_one_cycle after scheduling.
+
+2012-10-08 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/54854
+ * doc/invoke.texi (AVR Options): Remove -mshort-calls.
+ * config/avr/avr.opt (-mshort-calls): Remove option.
+ * config/avr/avr.h (AVR_HAVE_JMP_CALL): Don't depend on
+ TARGET_SHORT_CALLS.
+
+2012-10-08 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54685
+ * config/sh/sh.md (one_cmplsi2): Make insn_and_split. Add manual
+ combine matching for an insn sequence where a ge:SI pattern
+ can be used.
+
+2012-10-08 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/53528 C++11 attribute support
+ * plugin.h (register_scoped_attributes): Declare new function.
+ * tree.h (enu attribute_flags::ATTR_FLAG_CXX_11): New flag.
+ (lookup_scoped_attribute_spec, cxx_11_attribute_p)
+ (get_attribute_name, get_attribute_namespace): Declare new functions.
+ (struct attribute_spec): Remove const qualifier from the members.
+ * tree.c (comp_type_attributes, private_lookup_attribute)
+ (lookup_ident_attribute, remove_attribute, merge_attribute)
+ (attribute_hash_list, attribute_list_contained): Use
+ get_attribute_name.
+ * attribs.c (decl_attributes): Don't crash on error_mark_node.
+ Forbid c++11 attributes appertaining to type-specifiers.
+ (attribute_hash): Remove global variable.
+ (attributes_table): New global variable.
+ (find_attribute_namespace, register_scoped_attribute): New static
+ functions.
+ (register_scoped_attributes, lookup_scoped_attribute_spec)
+ (cxx11_attribute_p, get_attribute_name, get_attribute_namespace):
+ New public functions.
+ (init_attributes): Register all the GNU attributes into the "gnu"
+ namespace.
+ (register_attribute): Use register_scoped_attribute to register
+ the attribute into the "gnu" namespace.
+ (lookup_attribute_spec): Use lookup_scoped_attribute_spec to
+ lookup the attribute in the "gnu" namespace.
+ (decl_attributes): Use new get_attribute_namespace and
+ lookup_scoped_attribute_spec to consider attribute namespaces when
+ looking up attributes. When operating in c++-11 mode, pass flag
+ ATTR_FLAG_CXX11 to the spec handler.
+
+2012-10-08 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/54815
+ * config/avr/avr.md (*add<mode>3, add<mode>3, addpsi3): Make
+ constraint alternative "r,0,r" slighly more expensive.
+ (sub<mode>3, andqi3, andhi3, andpsi3, andsi3): Ditto.
+ (iorqi3, iorhi3, iorpsi3, iorsi3): Ditto.
+ (xorhi3, xorpsi3, xorsi3): Ditto.
+
+2012-10-08 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54760
+ * config/sh/sh.md (*mov<mode>_gbr_load, *mov<mode>_gbr_store): New
+ insns and accompanying unnamed splits.
+ * config/sh/predicates.md (general_movsrc_operand,
+ general_movdst_operand): Reject GBR addresses.
+ * config/sh/sh-protos.h (sh_find_equiv_gbr_addr): New declaration.
+ * config/sh/sh.c (sh_address_cost, sh_legitimate_address_p,
+ sh_secondary_reload): Handle GBR addresses.
+ (base_reg_disp): New class.
+ (sh_find_base_reg_disp, sh_find_equiv_gbr_addr): New functions.
+
+2012-10-08 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config/mmix/mmix.c (mmix_output_octa): Don't assume
+ HOST_WIDEST_INT_PRINT_HEX starts with "0x". Instead use
+ HOST_WIDE_INT_PRINT_HEX_PURE, falling back to
+ HOST_WIDEST_INT_PRINT_UNSIGNED.
+
+2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * machmode.h (GET_MODE_UNIT_PRECISION): New macro.
+ * simplify-rtx.c (simplify_truncation): New function,
+ extracted from simplify_subreg and (in small part) from
+ simplify_unary_operation_1.
+ (simplify_unary_operation_1) <TRUNCATE>: Use it. Remove sign bit
+ test for !TRULY_NOOP_TRUNCATION_MODES_P.
+ (simplify_subreg): Use simplify_truncate for lowpart subregs
+ where both the inner and outer modes are scalar integers.
+ * config/mips/mips.c (mips_truncated_op_cost): New function.
+ (mips_rtx_costs): Adjust test for BADDU.
+ * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
+
+2012-10-07 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-analysis.c (do_estimate_edge_time): Return actual
+ time spent by the inlined sequence.
+ (do_estimate_edge_growth): Rename to ...
+ (do_estimate_edge_time): ... this one; return size of inlined sequence.
+ * ipa-inline.h (do_estimate_edge_size): New.
+ (do_estimate_edge_growth): Remove.
+ (estimate_edge_size): New function.
+ (estimate_edge_growth): Use it.
+
+2012-10-07 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (lto_symtab_encoder_new): New parameter FOR_INPUT.
+ (lto_symtab_encoder_delete): Update.
+ (lto_symtab_encoder_encode): Update.
+ (compute_ltrans_boundary): Update.
+ (input_symtab): Update.
+ * lto-streamer.h (lto_symtab_encoder_new): Update.
+
+2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips-protos.h (mips_split_type): New enum.
+ (mips_split_64bit_move_p, mips_split_doubleword_move): Delete.
+ (mips_split_move_p, mips_split_move, mips_split_move_insn_p)
+ (mips_split_move_insn): Declare.
+ * config/mips/mips.c (mips_tuning_info): New variable.
+ (mips_load_store_insns): Use mips_split_move_insn_p instead of
+ mips_split_64bit_move_p.
+ (mips_emit_move_or_split, mips_mult_move_p): New functions.
+ (mips_split_64bit_move_p): Rename to...
+ (mips_split_move_p): ...this and take a mips_split_type argument.
+ Generalize to all moves. Call mips_mult_move_p.
+ (mips_split_doubleword_move): Rename to...
+ (mips_split_move): ...this and take a mips_split_type argument.
+ Assert that mips_split_move_p holds.
+ (mips_insn_split_type, mips_split_move_insn_p, mips_split_move_insn):
+ New functions.
+ (mips_output_move): Use mips_split_move_p instead of
+ mips_split_64bit_move_p. Handle MULT $0, $0 moves.
+ (mips_save_reg): Use mips_emit_move_or_split.
+ (mips_sim_reset): Assign to curr_state. Call targetm.sched.init
+ and advance_state.
+ (mips_sim_init): Call targetm.sched.init_dfa_pre_cycle_insn and
+ targetm.sched.init_dfa_post_cycle_insn, if defined.
+ (mips_sim_next_cycle): Assign to curr_state. Use advance_state
+ instead of state_transition.
+ (mips_sim_issue_insn): Assign to curr_state. Use
+ targetm.sched.variable_issue to see how many more insns can be issued.
+ (mips_seq_time, mips_mult_zero_zero_cost)
+ (mips_set_fast_mult_zero_zero_p, mips_set_tuning_info)
+ (mips_expand_to_rtl_hook): New functions.
+ (TARGET_EXPAND_TO_RTL_HOOK): Define.
+ * config/mips/mips.md (move_type): Add imul.
+ (type): Map imul move_types to imul.
+ (*movdi_32bit, *movti): Add imul alternatives.
+ Use mips_split_move_insn_p and mips_split_move_insn instead of
+ mips_split_64bit_move_p and mips_split_doubleword_move in move
+ splitters.
+
+2012-10-06 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (print_operand) ['A']: Delete.
+
+2012-10-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52764
+ * ginclude/stdint-wrap.h: In C++11 if __STDC_HOSTED__ define
+ __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS.
+ * ginclude/stdint-gcc.h: In C++11 unconditionally define
+ limit and constant macros.
+
+2012-10-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54249
+ * ginclude/stddef.h: In C++11 mode declare nullptr_t in the global
+ namespace.
+
+2012-10-06 Jan Hubicka <jh@suse.cz>
+
+ PR lto/53831
+ PR lto/54776
+ * lto-streamer-out.c (produce_symtab): Cleanup; drop v1 API hack.
+
+2012-10-06 Dehao Chen <dehao@google.com>
+
+ PR debug/54826
+ * gimple-low.c (lower_stmt): Set the block for call args.
+
+2012-10-06 Jan Hubicka <jh@suse.cz>
+
+ * doc/invoke.texi (-fprofile-report): Document.
+ * common.opt (-fprofile-report): New option.
+ * toplev.c (finalize): Call dump_profile_report.
+ * toplev.h (profile_report): Declare.
+ * passes.c (profile_record): New static var.
+ (check_profile_consistency): New function.
+ (dump_profile_record): New function.
+ (execute_one_ipa_transform_pass): Call check_profile_consistency.
+ (execute_one_pass): Likewise.
+
+2012-10-06 Jan Hubicka <jh@suse.cz>
+
+ PR lto/54790
+ * lto-streamer.h (lto_symtab_register_decl, lto_symtab_get_resolution,
+ lto_mark_nothrow_fndecl, lto_fixup_nothrow_decls): Remove.
+ * lto-symtab.c (lto_symtab_register_decl): Remove.
+
+2012-10-06 Andreas Schwab <schwab@linux-m68k.org>
+
+ PR rtl-optimization/54739
+ * config/m68k/m68k.md (anddi3, iordi3, xordi3, one_cmpldi2): Remove.
+
+2012-10-06 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54760
+ * config/sh/sh.md (define_constants): Add UNSPECV_GBR.
+ (get_thread_pointer, set_thread_pointer): New expanders.
+ (load_gbr): Rename to store_gbr. Remove GBR_REG use.
+ (store_gbr): New insn.
+ * config/sh/sh.c (prepare_move_operands): Use gen_store_gbr instead of
+ gen_load_gbr in TLS_MODEL_LOCAL_EXEC case.
+ (sh1_builtin_p): New function.
+ (signature_args): Add SH_BLTIN_VP.
+ (bdesc): Add __builtin_thread_pointer and __builtin_set_thread_pointer.
+
+2012-10-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR rtl-optimization/54739
+ * config/pa/pa.md: Remove DImode and, not and, ior and xor patterns
+ for 32-bit targets. Adjust expanders.
+
+ * config/pa/pa.md: Adjust unamed HImode add insn pattern.
+
+2012-10-05 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.c (builtin_description): Add is_enabled member.
+ (shmedia_builtin_p): New function.
+ (bdesc): Use shmedia_builtin_p for existing built-ins.
+ (sh_media_init_builtins, sh_init_builtins): Merge into single function
+ sh_init_builtins. Add is_enabled checking. Move variable declarations
+ to where they are actually used.
+ (sh_media_builtin_decl, sh_builtin_decl): Merge into single function
+ sh_builtin_decl. Add is_enabled checking.
+ (sh_expand_builtin): Move variable declarations to where they are
+ actually used.
+
+2012-10-05 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-inline.c (expand_call_inline): Move VAR_DECLs with
+ PARM_DECL origins from remapped DECL_INITIAL's BLOCK_VARS
+ into id->block's BLOCK_VARS.
+
+ PR debug/54519
+ * ipa-split.c (split_function): Add debug args and debug source
+ and normal stmts for args_to_skip which are gimple regs.
+ * tree-inline.c (copy_debug_stmt): When inlining, adjust source
+ debug bind stmts to debug binds of corresponding DEBUG_EXPR_DECL.
+
+2012-10-05 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md: Fix indentations of insn C snippets.
+
+2012-10-05 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/54811
+ * tree-ssa-live.c (clear_unused_block_pointer_1): Look at
+ DECL_DEBUG_EXPR again.
+
+2012-10-05 Jan Hubicka <jh@suse.cz>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/33763
+ * tree-inline.c (expand_call_inline): Silently ignore always_inline
+ attribute for redefined extern inline functions.
+
+2012-10-04 Jan Hubicka <jh@suse.cz>
+
+ * tree-vectorizer.h (vect_estimate_min_profitable_iters): Remove.
+ * tree-vect-loop.c (vect_estimate_min_profitable_iters): Declare here.
+ (vect_analyze_loop_operations): Use loop count estimate to rule out
+ unprofitable vectorization.
+ (vect_estimate_min_profitable_iters): Return
+ ret_min_profitable_estimate.
+
+2012-10-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54810
+ * tree-vrp.c (register_edge_assert_for_2): Handle
+ NAME = (unsigned) NAME2; if (NAME cmp CST) for
+ narrowing casts to unsigned integral type like
+ NAME = NAME2 & CST2; if (NAME cmp CST) where CST2
+ is the max value of the unsigned integral type.
+
+2012-10-04 Jeff Law <law@redhat.com>
+
+ PR target/50356
+ * config/h8300/h8300.c (h8300_rtx_costs): Fix typo in CONST_INT case.
+
+2012-10-04 Jason Merrill <jason@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_code_end): Protect the use of
+ ASM_WEAKEN_DECL with #if RS6000_WEAK.
+
+2012-10-04 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gengtype.c (walk_type): Emit mark_hook when inside a
+ struct of a union member.
+
+2012-10-04 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/predicates.md (flash_operand): New predicate.
+ * config/avr/avr.md (reload_in<mode>): Use it in operand 1 instead
+ of memory_operand.
+
+2012-10-04 Tobias Burnus <burnus@net-b.de>
+
+ * gcc.c (record_temp_file, add_sysrooted_prefix, process_command,
+ do_self_spec, compare_debug_dump_opt_spec_function): Plug memleaks.
+ (do_spec_1): Ditto, fix out-of-bound access.
+ * opts.c (common_handle_option): Plug memleak.
+
+2012-10-04 Jason Merrill <jason@redhat.com>
+
+ * config/darwin.c (darwin_assemble_visibility): Treat
+ VISIBILITY_INTERNAL as hidden.
+
+ * config/darwin-c.c (find_subframework_file): Add missing const.
+ (framework_construct_pathname): Likewise.
+
+2012-10-04 Florian Weimer <fweimer@redhat.com>
+
+ * doc/cpp.texi (Pragmas): Document #pragma GCC warning, #pragma
+ GCC error.
+
+2012-10-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/54735
+ * tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
+ cleaning up the CFG.
+
+2012-10-04 Richard Guenther <rguenther@suse.de>
+
+ PR lto/47799
+ * tree-streamer-out.c (write_ts_block_tree_pointers): For
+ inlined functions outer scopes write the ultimate origin
+ as BLOCK_ABSTRACT_ORIGIN and BLOCK_SOURCE_LOCATION.
+ Do not stream the fragment chains.
+ * tree-streamer-in.c (lto_input_ts_block_tree_pointers): Likewise.
+ * dwarf2out.c (gen_subprogram_die): Handle NULL DECL_INITIAL.
+ (dwarf2out_decl): Always output DECL_ABSTRACT function decls.
+
+2012-10-04 Arnaud Charlet <charlet@adacore.com>
+
+ * dumpfile.h, dumpfile.c: Remove TDI_ada.
+
+2012-10-04 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * config/i386/i386.c (ix86_dep_by_shift_count_body) : Add
+ check on reload_completed since it can be invoked before
+ register allocation phase in pre-reload schedule.
+ (ia32_multipass_dfa_lookahead) : Do not use dfa_lookahead for
+ pre-reload schedule to save compile time.
+ (ix86_sched_reorder) : Do not perform ready list reordering for
+ pre-reload schedule to save compile time.
+ (insn_is_function_arg) : New function. Returns true if lhs of insn is
+ HW function argument register.
+ (add_parameter_dependencies) : New function. Add output dependencies
+ for chain of function adjacent arguments if only there is a move to
+ likely spilled HW registers. Return first argument if at least one
+ dependence was added or NULL otherwise.
+ (avoid_func_arg_motion) : New function. Add output or anti dependency
+ from insn to first_arg to restrict code motion.
+ (add_dependee_for_func_arg) : New function. Avoid cross block motion of
+ function argument through adding dependency from the first non-jump
+ insn in bb.
+ (ix86_dependencies_evaluation_hook) : New function. Hook for
+ pre-reload schedule: avoid motion of function arguments passed in
+ likely spilled HW registers.
+ (ix86_adjust_priority) : New function. Hook for pre-reload schedule:
+ set priority of moves from likely spilled HW registers to maximum to
+ schedule them as soon as possible.
+ (ix86_sched_init_global): Do not perform multipass scheduling for
+ pre-reload schedule to save compile time.
+
+2012-10-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * configure.ac (noexception_flags): Add -fasynchronous-unwind-tables.
+ * configure: Regenerate.
+
+2012-10-04 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_can_use_simple_return_p): Return false for
+ SHmedia and SHcompact using call cookie.
+ * config/sh/sh.md (epilogue): Emit non-inlined return insns for
+ SHmedia and SHcompact using call cookie.
+
+2012-10-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh.md (*mov_t_msb_neg): New insn and two accompanying
+ unnamed split patterns.
+
+2012-10-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/50457
+ * config/sh/sh.c (parse_validate_atomic_model_option): Handle name
+ strings in sh_atomic_model.
+ * config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Move macro implementation
+ to ...
+ * config/sh/sh-c.c (sh_cpu_cpp_builtins): ... this new function.
+ Add __SH1__ and __SH2__ defines. Add __SH_ATOMIC_MODEL_*__ define.
+ * config/sh/sh-protos.h (sh_atomic_model): Add name and cdef_name
+ variables.
+ (sh_cpu_cpp_builtins): Declare new function.
+
+2012-10-03 Dehao Chen <dehao@google.com>
+
+ PR middle-end/54782
+ * tree-cfg.c (move_block_to_fn): Update lexical block for phi_args.
+
+2012-10-03 Vladimir Makarov <vmakarov@redhat.com>
+
+ * reginfo.c (max_regno_since_last_resize): New.
+ (reg_preferred_class, reg_alternate_class): Add assert.
+ (allocate_reg_info): Initialize allocated reg info.
+ (resize_reg_info): Make bigger reg_info and initialize new memory.
+ (reginfo_init): Initialize max_regno_since_last_resize.
+ (setup_reg_classes): Change assert.
+
+2012-10-03 Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
+ in SSE and YMM state support check for -march=native.
+
+2012-10-03 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.c (struct decl_chain): New local structure.
+ (warned_decls): New local variable. Contains a stack of decls for
+ which warnings have been issued.
+ (add_warned_decl): Adds a decl to the stack.
+ (already_warned): Returns true if a given decl is on the stack.
+ (rx_set_current_function): Issue a warning if multiple fast
+ interrupt handlers are defined.
+ * config/rx/rx.opt (mwarn-multiple-fast-interrupts): New option.
+ * doc/invoke.texi: Document the option.
+
+2012-10-03 Mark Kettenis <kettenis@openbsd.org>
+
+ * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
+ default_use_cxa_atexit to yes.
+
+2012-10-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/54792
+ * sched-deps.c (find_modifiable_mems): Scan also TAIL insn.
+
+2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/54785
+ * doc/invoke.texi: Document -mprefer-avx128.
+
+2012-10-02 Andrew Pinski <apinski@cavium.com>
+
+ * simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>):
+ Don't optimize a truncate of a mem if it is a vector mode.
+
+2012-10-02 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/54551
+ * Makefile.in (VALTRACK_H): Add hash-table.h.
+ * valtrack.h: Include hash-table.h.
+ (struct dead_debug_global_entry): New.
+ (struct dead_debug_hash_descr): New.
+ (struct dead_debug_global): New.
+ (struct dead_debug): Rename to...
+ (struct dead_debug_local): ... this. Adjust all uses.
+ (dead_debug_global_init, dead_debug_global_finish): New.
+ (dead_debug_init): Rename to...
+ (dead_debug_local_init): ... this. Adjust all callers.
+ (dead_debug_finish): Rename to...
+ (dead_debug_local_finish): ... this. Adjust all callers.
+ * valtrack.c (dead_debug_global_init): New.
+ (dead_debug_init): Rename to...
+ (dead_debug_local_init): ... this. Take global parameter.
+ Save it and initialize used bitmap from it.
+ (dead_debug_global_find, dead_debug_global_insert): New.
+ (dead_debug_global_replace_temp): New.
+ (dead_debug_promote_uses): New.
+ (dead_debug_finish): Rename to...
+ (dead_debug_local_finish): ... this. Promote remaining uses.
+ (dead_debug_global_finish): New.
+ (dead_debug_add): Try to replace global temps first.
+ (dead_debug_insert_temp): Support global replacements.
+ * dce.c (word_dce_process_block, dce_process_block): Add
+ global_debug parameter. Pass it on.
+ (fast_dce): Initialize, pass on and finalize global_debug.
+ * df-problems.c (df_set_unused_notes_for_mw): Adjusted.
+ (df_create_unused_notes, df_note_bb_compute): Likewise.
+ (df_note_compute): Justify local-only dead debug analysis.
+
+2012-10-02 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/53135
+ * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
+ when needed.
+
+2012-10-02 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/54177
+ * var-tracking.c (vt_add_function_parameter): Bail if
+ var_lowpart fails.
+
+2012-10-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/54741
+ * config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
+ (XSTATE_FP): Likewise.
+ (XSTATE_SSE): Likewise.
+ (XSTATE_YMM): Likewise.
+ (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
+ SSE and YMM states aren't supported.
+
+2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
+ (*baddu_si): ...this new pattern.
+
+2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ira-int.h (target_ira_int): Add x_ira_useful_class_mode_regs.
+ (ira_useful_class_mode_regs): New macro.
+ * ira.c (clarify_prohibited_class_mode_regs): Set up
+ ira_useful_class_mode_regs.
+ * ira-color.c (setup_profitable_hard_regs): Use it to initialise
+ profitable_hard_regs.
+
+2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ira.h (target_ira): Add x_ira_class_singleton.
+ (ira_class_singleton): New macro.
+ * ira.c (setup_prohibited_class_mode_regs): Set up ira_class_singleton.
+ * ira-build.c (update_conflict_hard_reg_costs): Use
+ ira_class_singleton to check for classes with a single
+ allocatable register.
+ * ira-lives.c (ira_implicitly_set_insn_hard_regs): Likewise.
+ (single_reg_class): Likewise. When more than one class is specified,
+ check whether they have the same singleton register.
+ (process_single_reg_class_operands): Require single_reg_class
+ to return NO_REGS or a class with a single allocatable register.
+ Obtain that register from ira_class_singleton.
+
+2012-10-02 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): If
+ -mcpu=<xxx> is not specified and the compiler is not configured
+ using --with-cpu=<xxx>, use the bits from the TARGET_DEFAULT to
+ set the initial options.
+
+2012-10-02 Sharad Singhai <singhai@google.com>
+
+ PR testsuite/54772
+ * tree-vect-stmts.c (vectorizable_operation): Add missing return.
+
+2012-10-02 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Do not
+ set TARGET_ALTIVEC_VRSAVE for TARGET_ELF.
+ (rs6000_stack_info): Only set vrsave_mask if TARGET_ALTIVEC_VRSAVE.
+
+2012-10-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54713
+ * expr.c (categorize_ctor_elements_1): Don't assume purpose is
+ non-NULL.
+ * tree-cfg.c (verify_gimple_assign_single): Add verification of
+ vector CONSTRUCTORs.
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): For VECTOR_TYPE
+ CONSTRUCTORs, don't do anything if element type is VECTOR_TYPE,
+ and don't check index.
+ * tree-vect-slp.c (vect_get_constant_vectors): VIEW_CONVERT_EXPR ctor
+ elements first if their type isn't compatible with vector element type.
+
+2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.h (DECL_NONLOCAL_FRAME): New macro.
+ * tree-nested.c (get_frame_type): Set DECL_NONLOCAL_FRAME.
+ * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Stream in
+ DECL_NONLOCAL_FRAME flag.
+ * tree-streamer-out.c (pack_ts_decl_common_value_fields): Stream out
+ DECL_NONLOCAL_FRAME flag.
+
+2012-10-02 Marc Glisse <marc.glisse@inria.fr>
+
+ * tree-ssa-forwprop.c (forward_propagate_into_cond): Don't use
+ boolean_type_node for vectors.
+
+2012-10-01 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (toplevel): Include dumpfile.h.
+ (rs6000_density_test): Rework to accommodate 09-30 change by
+ Sharad Singhai.
+
+ * config/rs6000/t-rs6000 (rs6000.o): Add dumpfile.h dependency.
+
+2012-10-01 Dehao Chen <dehao@google.com>
+
+ PR middle-end/54759
+ * tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Use
+ LOCATION_LOCUS to compare with UNKNOWN_LOCATION.
+ (slpeel_tree_peel_loop_to_edge): Likewise.
+ * tree-vectorizer.c (vectorize_loops): Likewise.
+
+2012-10-01 Andrew MacLeod <amacleod@redhat.com>
+
+ PR target/54087
+ * optabs.c (expand_atomic_fetch_op_no_fallback): New. Factored code
+ from expand_atomic_fetch_op.
+ (expand_atomic_fetch_op): Try atomic_{add|sub} operations in terms of
+ the other one if direct opcode fails.
+
+2012-10-01 Uros Bizjak <ubizjak@gmail.com>
+
+ PR rtl-optimization/54457
+ * simplify-rtx.c (simplify_subreg):
+ Simplify (subreg:M (op:N ((x:N) (y:N)), 0)
+ to (op:M (subreg:M (x:N) 0) (subreg:M (x:N) 0)), where
+ the outer subreg is effectively a truncation to the original mode M.
+
+2012-10-01 Richard Guenther <rguenther@suse.de>
+
+ * builtins.def (ATTR_MATHFN_FPROUNDING): Do not use no-vops
+ with -frounding-math.
+ * builtin-attrs.def (ATTR_PURE_NOTHROW_NOVOPS_LIST): Remove.
+ (ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST): Likewise.
+
+2012-10-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.h (copy_mem_ref_info): Delete.
+ * tree-ssa-address.c (copy_mem_ref_info): Likewise.
+ (maybe_fold_tmr): Copy flags manually.
+ * tree-ssa-loop-im.c (simple_mem_ref_in_stmt): Rewrite.
+
+2012-10-01 Marc Glisse <marc.glisse@inria.fr>
+
+ * simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
+ Detect the identity.
+ <VEC_CONCAT>: Handle VEC_SELECTs from the same vector.
+
+2012-10-01 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/50457
+ * config/sh/sh.opt (matomic-model): New option.
+ (msoft-atomic): Mark as deprecated and alias to
+ matomic-model=soft-gusa.
+ (mhard-atomic): Delete.
+ * config/sh/predicates.md (gbr_displacement): New predicate.
+ * config/sh/sh-protos.h (sh_atomic_model): New struct.
+ (selected_atomic_model): New declaration.
+ (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT, TARGET_ATOMIC_SOFT_GUSA,
+ TARGET_ATOMIC_HARD_LLCS, TARGET_ATOMIC_SOFT_TCB,
+ TARGET_ATOMIC_SOFT_TCB_GBR_OFFSET_RTX, TARGET_ATOMIC_SOFT_IMASK):
+ New macros.
+ * config/sh/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Adapt setting to
+ default atomic model.
+ * config/sh/sh.c (selected_atomic_model_): New global variable.
+ (selected_atomic_model, parse_validate_atomic_model_option): New
+ functions.
+ (sh_option_override): Replace atomic selection checks with call to
+ parse_validate_atomic_model_option.
+ * config/sh/sh.h (TARGET_ANY_ATOMIC, UNSUPPORTED_ATOMIC_OPTIONS,
+ UNSUPPORTED_HARD_ATOMIC_CPU): Delete.
+ (DRIVER_SELF_SPECS): Remove atomic checks.
+ config/sh/sync.md: Update documentation comments.
+ (atomic_compare_and_swap<mode>, atomic_exchange<mode>,
+ atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
+ atomic_<fetchop_name>_fetch<mode>, atomic_nand_fetch<mode>): Use
+ TARGET_ATOMIC_ANY as condition. Add TARGET_ATOMIC_STRICT check for
+ SH4A case. Handle new TARGET_ATOMIC_SOFT_TCB and
+ TARGET_ATOMIC_SOFT_IMASK cases.
+ (atomic_test_and_set): Handle new TARGET_ATOMIC_SOFT_TCB and
+ TARGET_ATOMIC_SOFT_IMASK cases.
+ (atomic_compare_and_swapsi_hard, atomic_exchangesi_hard,
+ atomic_fetch_<fetchop_name>si_hard, atomic_fetch_nandsi_hard,
+ atomic_<fetchop_name>_fetchsi_hard, atomic_nand_fetchsi_hard):
+ Add TARGET_ATOMIC_STRICT check.
+ (atomic_compare_and_swap<mode>_hard, atomic_exchange<mode>_hard,
+ atomic_fetch_<fetchop_name><mode>_hard, atomic_fetch_nand<mode>_hard,
+ atomic_<fetchop_name>_fetch<mode>_hard, atomic_nand_fetch<mode>_hard,
+ atomic_test_and_set_hard): Use TARGET_ATOMIC_HARD_LLCS condition.
+ (atomic_compare_and_swap<mode>_soft, atomic_exchange<mode>_soft,
+ atomic_fetch_<fetchop_name><mode>_soft, atomic_fetch_nand<mode>_soft,
+ atomic_<fetchop_name>_fetch<mode>_soft, atomic_nand_fetch<mode>_soft,
+ atomic_test_and_set_soft): Append _gusa to the insn names and use
+ TARGET_ATOMIC_SOFT_GUSA as condition.
+ (atomic_compare_and_swap<mode>_soft_tcb,
+ atomic_exchange<mode>_soft_tcb,
+ atomic_fetch_<fetchop_name><mode>_soft_tcb,
+ atomic_fetch_nand<mode>_soft_tcb,
+ atomic_<fetchop_name>_fetch<mode>_soft_tcb,
+ atomic_nand_fetch<mode>_soft_tcb, atomic_test_and_set_soft_tcb):
+ New insns.
+ (atomic_compare_and_swap<mode>_soft_imask,
+ atomic_exchange<mode>_soft_imask,
+ atomic_fetch_<fetchop_name><mode>_soft_imask,
+ atomic_fetch_nand<mode>_soft_imask,
+ atomic_<fetchop_name>_fetch<mode>_soft_imask,
+ atomic_nand_fetch<mode>_soft_imask, atomic_test_and_set_soft_imask):
+ New insns.
+ * doc/invoke.texi (SH Options): Document new matomic-model option.
+ Remove msoft-atomic and mhard-atomic options.
+
+2012-10-01 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR target/54746
+ * config/s390/s390.c (s390_option_override): Add missing break.
+
+2012-09-30 Sharad Singhai <singhai@google.com>
+
+ * dumpfile.c: New file with parts moved from tree-dump.c.
+ (pflags): New variable.
+ (alt_flags): Ditto.
+ (alt_dump_file): Ditto.
+ (dump_files): Update to include additional fields.
+ (struct dump_option_value_info): Add additional entries.
+ (get_dump_file_name): Use command line filename if available.
+ (dump_open_alternate_stream): New function.
+ (dump_loc): Ditto.
+ (dump_gimple_stmt): Ditto.
+ (dump_gimple_stmt_loc): Ditto.
+ (dump_generic_expr): Ditto.
+ (dump_generic_expr_loc): Ditto.
+ (dump_printf): Ditto.
+ (dump_printf_loc): Ditto.
+ (dump_start): Ditto.
+ (dump_finish): Ditto.
+ (dump_begin): Ditto.
+ (dump_enabled_p): Return true if either of the dump types is enabled.
+ (dump_initialized_p): Return true if either type of dump is
+ initialized.
+ (dump_end): Do not close standard streams.
+ (dump_enable_all): Handle filenames for regular dumps.
+ (dump_switch_p_1): Handle command-line dump filenames.
+ (opt_info_enable_all): New function.
+ (opt_info_switch_p_1): Ditto.
+ (opt_info_switch_p): Ditto.
+ (dump_kind_p): Ditto.
+ (dump_basic_block): Ditto.
+ (dump_combine_total_stats): Ditto.
+ (dump_remap_tree_vectorizer_verbose): Ditto.
+ * gimple-pretty-print.h: Rename dump_gimple_stmt to
+ pp_gimple_stmt_1. All callers updated.
+
+2012-09-30 Sharad Singhai <singhai@google.com>
+
+ * doc/invoke.texi: Add documentation for the new -fopt-info option.
+ * tree-dump.c: Move general dump file related functionality into
+ dumpfile.c. Remove unneeded headers.
+ * tree-dump.h: Move function declarations into dumpfile.h.
+ * dumpfile.h: Include "line-map.h". Add defines for MSG flags.
+ (struct dump_file_info): Move here from tree-dump.c. Rename flags
+ to pflags, state to pstate, stream to pstream, filename to
+ pfilename. All callers updated. Add alt_flags, alt_state,
+ alt_filenmae, alt_stream.
+ * tree-vectorizer.c: Include "dumpfile.h". Remove vect_dump.
+ (vect_set_dump_settings): Remove.
+ (vect_print_dump_info): Ditto.
+ * tree-vectorizer.h: Remove declaration of vect_dump and
+ vect_print_dump_info.
+ * tree-vect-loop.c: Include "dumpfile.h". Use new dump style.
+ * tree-vect-data-refs.c: Ditto.
+ * tree-vect-stmts.c: Ditto.
+ * tree-vect-slp.c: Ditto.
+ * tree-vect-patterns.c: Ditto.
+ * tree-vect-loop-manip.c: Ditto.
+ * opts.c (vect_set_verbosity_level): Remove.
+ (common_handle_option): Handle -fopt-info flag. Deprecate
+ -ftree-vectorizer-verbose.
+ * tree-parloops.c (gather_scalar_reductions): Remove reference to
+ vect_dump.
+ * flag-types.h: Remove vect_verbosity_levels.
+ * common.opt: Add -fopt-info. Deprecate -ftree-vectorizer-verbose.
+ * opts-global.c (dump_remap_tree_vectorizer_verbose): New function.
+ (handle_common_deferred_options): Handle -fopt-info and
+ -ftree-vectorizer-verbose.
+ * Makefile.in: Add dumpfile.o.
+ (tree-dump.o): Update dependencies.
+ (tree-vect-loop.o): Ditto.
+ (tree-vect-loop-manip.o): Ditto.
+ (tree-vect-slp.o): Ditto.
+ (tree-vect-stmts.o): Ditto.
+ (tree-vectorizer.o): Ditto.
+ (opts.o): Ditto.
+ * passes.c (finish_optimization_passes): Instead of using
+ dump_begin/dump_end, use dump_start/dump_finish. Do not use dump_file.
+ (pass_init_dump_file): Ditto.
+
+2012-09-30 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR rtl-optimization/38449:
+ * hooks.c (hook_bool_const_rtx_const_rtx_true): New function.
+ * hooks.h (hook_bool_const_rtx_const_rtx_true): Declare.
+ * target.def: Merge in definitions and documentation for
+ TARGET_CAN_FOLLOW_JUMP.
+ * doc/tm.texi.in: Add documentation locations for the above.
+ * doc/tm.texi: Regenerate.
+ * reorg.c (follow_jumps): New parameters jump and crossing.
+ Changed all callers.
+
+2012-09-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * reorg.c (relax_delay_slots): Use delay_insn consistently.
+
+ * config/sparc/sparc.c (gen_stack_pointer_dec): Delete.
+ (sparc_expand_epilogue): Use gen_stack_pointer_inc and adjust.
+ (sparc_flat_expand_epilogue): Likewise.
+ (emit_and_preserve): Likewise.
+ (sparc_fold_builtin): Fix thinko in latest change.
+
+2012-09-30 Andreas Schwab <schwab@linux-m68k.org>
+
+ * config/m68k/m68k.md: Add names to bitfield insert and extract
+ insns.
+ (*insv_8_16_reg): Remove constraints and conditions that assume
+ that operand 0 could be a MEM.
+ (*extzv_8_16_reg, *extv_8_16_reg): Likewise, for operand 1.
+
+2012-09-30 Jan Hubicka <jh@suse.cz>
+
+ * cfgloop.c (scale_loop_profile): Move to...
+ * cfgloopmanip.c (scale_loop_profile): .. here; use
+ scale_loop_frequencies.
+ (loopify): Use RDIV.
+
+2012-09-28 Jan Hubicka <jh@suse.cz>
+
+ * tree-call-cdce.c (shrink_wrap_one_built_in_call): Update profile.
+
+2012-09-28 Jan Hubicka <jh@suse.cz>
+
+ * function.c (dup_block_and_redirect): Update profile.
+
+2012-09-29 Andreas Tobler <andreast@fgznet.ch>
+
+ * config.gcc: Replace 'host' with 'target' when configuring for
+ powerpc64*-*-freebsd.
+
+2012-09-29 Marc Glisse <marc.glisse@inria.fr>
+
+ * tree.c (truth_type_for): New function.
+ * tree.h (truth_type_for): Declare.
+ * gimple-fold.c (and_comparisons_1): Call it.
+ (or_comparisons_1): Likewise.
+ * tree-ssa-forwprop.c (forward_propagate_into_cond): Don't use
+ boolean_type_node for vectors.
+
+2012-09-28 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (RDIV): Define.
+ (EDGE_FREQUENCY): Simplify.
+ (check_probability, combine_probabilities, apply_probability,
+ inverse_probability): New.
+ * cfgloop.c (scale_loop_profile): New function.
+ * cfgloop.h (scale_loop_profile): Declare.
+ (slpeel_add_loop_guard): Add probability parameter.
+ (set_prologue_iterations): Add probability parameter.
+ (slpeel_tree_peel_loop_to_edge): Add bound1 and bound2 parameters;
+ update probabilities correctly.
+ (vect_do_peeling_for_alignment, vect_gen_niters_for_prolog_loop): New.
+
+2012-09-20 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR bootstrap/54688
+ * sched-deps.c (parse_add_or_inc): Remove MINUS handling. Take
+ STACK_GROWS_DOWNWARD into account.
+
+2012-09-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/54716
+ * config/i386/predicates.md (nonimmediate_or_const_vector_operand):
+ New predicate.
+ * config/i386/i386.c (ix86_expand_vector_logical_operator): New
+ function.
+ * config/i386/i386-protos.h (ix86_expand_vector_logical_operator): New
+ prototype.
+ * config/i386/sse.md (<code><mode>3 VI logic): Use it.
+
+ PR tree-optimization/54713
+ * fold-const.c (vec_cst_ctor_to_array): Give up if vector CONSTRUCTOR
+ has vector elements.
+ (fold_ternary_loc) <case BIT_FIELD_REF>: Likewise.
+ * tree-vect-generic.c (vector_element): Don't rely on CONSTRUCTOR elts
+ indexes. Use BIT_FIELD_REF if CONSTRUCTOR has vector elements.
+ (lower_vec_perm): Use NULL_TREE CONSTRUCTOR indexes.
+
+2012-09-28 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (adjust_len): Add lpm.
+ (reload_in<mode>): Use avr_out_lpm for output. Use "lpm" for
+ adjust_len.
+ * config/avr/avr-protos.h (avr_out_lpm): New prototype.
+ * config/avr/avr.c (avr_out_lpm): Make global.
+ (adjust_insn_length): Handle ADJUST_LEN_LPM.
+
+2012-09-28 Richard Guenther <rguenther@suse.de>
+
+ PR lto/47799
+ * lto-streamer-out.c (tree_is_indexable): Make PARM_DECLs global.
+ (lto_output_tree_ref): Handle references to them.
+ (output_function): Do not output function arguments again.
+ * lto-streamer-in.c (input_function): Do not input arguments
+ again, nor overwrite them.
+
+2012-09-28 Richard Guenther <rguenther@suse.de>
+
+ * cgraph.h (symtab_node_base): Re-order and pack fields.
+
+2012-09-28 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
+
+2012-09-28 Georg-Johann Lay <avr@gjlay.de>
+
+ PR rtl-optimization/52543
+ * config/avr/avr.c (avr_mode_dependent_address_p): Return true for
+ all non-generic address spaces.
+ (TARGET_SECONDARY_RELOAD): New hook define to...
+ (avr_secondary_reload): ...this new static function.
+ * config/avr/avr.md (reload_in<mode>): New insns.
+
+ Undo r185605 (mostly):
+ * config/avr/avr-protos.h (avr_load_lpm): Remove.
+ * config/avr/avr.c (avr_load_libgcc_p): Don't restrict to __flash
+ loads.
+ (avr_out_lpm): Also handle loads > 1 byte.
+ (avr_load_lpm): Remove.
+ (avr_find_unused_d_reg): New static function.
+ (avr_out_lpm_no_lpmx): New static function.
+ (adjust_insn_length): Remove ADJUST_LEN_LOAD_LPM.
+ * config/avr/avr.md (unspec): Remove UNSPEC_LPM.
+ (load_<mode>_libgcc): Use MEM instead of UNSPEC_LPM.
+ (load_<mode>, load_<mode>_clobber): Remove.
+ (mov<mode>): For multi-byte move from non-generic
+ 16-bit address spaces: Expand to *mov<mode> again.
+ (load<mode>_libgcc): New expander.
+ (split-lpmx): Remove split.
+
+2012-09-27 Dehao Chen <dehao@google.com>
+
+ * tree.h (tree_constructor): Remove IS_UNKNOWN_LOCATION.
+ (extern void protected_set_expr_location): Likewise.
+ (function_args_iter_next): Likewise.
+ (inlined_function_outer_scope_p): Likewise.
+ * input.h (IS_UNKNOWN_LOCATION): Likewise.
+ * fold-const.c (expr_location_or): Likewise.
+ * lto-cgraph.c (output_node_opt_summary): Likewise.
+ * dwarf2out.c (add_src_coords_attributes): Likewise.
+ * tree-eh.c (lower_try_finally_dup_block): Likewise.
+ * profile.c (branch_prob):
+ * cfgexpand.c (expand_gimple_cond): Likewise.
+ (expand_gimple_basic_block): Likewise.
+ (construct_exit_block): Likewise.
+ (gimple_expand_cfg): Likewise.
+ * cfgcleanup.c (try_forward_edges): Likewise.
+ * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
+ (dump_scope_block): Likewise.
+ * ipa-prop.c (ipa_write_jump_function): Likewise.
+ * rtl.h (extern void rtl_check_failed_flag): Likewise.
+ * gimple.h (gimple_set_location): Likewise.
+ (gimple_has_location): Likewise.
+ * cfgrtl.c (unique_locus_on_edge_between_p): Likewise.
+ (force_nonfallthru_and_redirect): Likewise.
+ (fixup_reorder_chain): Likewise.
+ (cfg_layout_merge_blocks): Likewise.
+
+2012-09-27 Meador Inge <meadori@codesourcery.com>
+
+ * gcc-ar.c (main): Handle the returning of the sub-process error
+ code correctly.
+
+2012-09-27 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * lower-subreg.c (enum classify_move_insn): Rename
+ SIMPLE_PSEUDO_REG_MOVE to DECOMPOSABLE_SIMPLE_MOVE.
+ (find_decomposable_subregs): Update.
+ (decompose_multiword_subregs): Add DECOMPOSE_COPIES parameter.
+ Only mark pseudo-to-pseudo copies as DECOMPOSABLE_SIMPLE_MOVE
+ if that parameter is true.
+ (rest_of_handle_lower_subreg): Call decompose_multiword_subregs
+ with DECOMPOSE_COPIES false.
+ (rest_of_handle_lower_subreg2): Call decompose_multiword_subregs
+ with DECOMPOSE_COPIES true.
+
+2012-09-27 Marek Polacek <polacek@redhat.com>
+
+ * doc/gcov.texi (Gcov Data Files): Fix a typo.
+
+2012-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/54703
+ * simplify-rtx.c (simplify_binary_operation_1): Perform
+ (x - (x & y)) -> (x & ~y) optimization only for integral modes.
+
+2012-09-27 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c/53024
+ PR c++/54427
+ * doc/extend.texi (Vector Extensions): C++ improvements.
+ Power of 2 size requirement.
+
+2012-09-27 Richard Guenther <rguenther@suse.de>
+
+ PR lto/54709
+ * lto-symtab.c (resolution_guessed_p): Remove.
+ (set_resolution_guessed): Likewise.
+ (lto_symtab_register_decl): Remove assert.
+ (lto_symtab_resolve_symbols): Do not alter symbol resolutions
+ and return the prevailing symbol, checking for multiple prevailing
+ symbols here.
+ (lto_symtab_merge_decls_1): Use the result from
+ lto_symtab_resolve_symbols. Do not alter symbol resolutions.
+
+2012-09-26 Steve Ellcey <sellcey@mips.com>
+
+ PR web/54711
+ * doc/install.texi: Fix example.
+
+2012-09-26 Dehao Chen <dehao@google.com>
+
+ * tree-ssa-live.c (clear_unused_block_pointer): Use explicitit (void)
+ for function parameter.
+ (remove_unused_locals): Don't use LOCATION_BLOCK if it is NULL.
+
+2012-09-26 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * doc/extend.texi (bswap Builtins): Change signed types to unsigned
+ types.
+
+2012-09-26 Ian Lance Taylor <iant@google.com>
+
+ * diagnostic.c (bt_callback): Cast pc when calling fprintf.
+
+2012-09-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/54674
+ * gimple-ssa-strength-reduction.c (analyze_increments): Don't
+ introduce a multiplication with a pointer operand.
+
+2012-09-26 Georg-Johann Lay <avr@gjlay.de>
+
+ PR middle-end/54635
+ * doc/tm.texi.in (TARGET_MODE_DEPENDENT_ADDRESS_P): Document new
+ parameter addrspace.
+ * doc/tm.texi: Regenerate.
+ * target.def (mode_dependent_address_p): Add addr_space_t parameter.
+ * targhooks.h (default_mode_dependent_address_p): Ditto.
+ * targhooks.c (default_mode_dependent_address_p): Ditto.
+ * expr.c (convert_move): Pass address space to
+ mode_dependent_address_p.
+ * combine.c (combine_simplify_rtx): Ditto.
+ (make_extraction): Ditto.
+ (simplify_shift_const_1): Ditto.
+ (gen_lowpart_for_combine): Ditto.
+ * lower-subreg.c (simple_move_operand): Ditto.
+ * recog.c (simplify_while_replacing): Ditto.
+ (offsettable_address_addr_space_p): Ditto.
+ (mode_dependent_address_p): Ditto.
+ * simplify-rtx.c (simplify_unary_operation_1): Ditto.
+ (simplify_subreg): Ditto.
+ * config/m68k/m68k.md: Ditto.
+ * config/vax/vax.md: Ditto.
+ * config/vax/constraints.md (Q): Ditto.
+ * config/vax/predicates.md (indexed_memory_operand): Ditto.
+ * config/alpha/alpha.c (alpha_mode_dependent_address_p): Add
+ unused addr_space_t parameter.
+ * config/avr/avr.c (avr_mode_dependent_address_p): Ditto.
+ * config/h8300/h8300.c (h8300_mode_dependent_address_p): Ditto.
+ * config/m32r/m32r.c (m32r_mode_dependent_address_p): Ditto.
+ * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): Ditto.
+ * config/rx/rx.c (rx_mode_dependent_address_p): Ditto.
+ * config/sparc/sparc.c (sparc_mode_dependent_address_p): Ditto.
+ * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
+ Ditto.
+ * config/vax/vax.c (vax_mode_dependent_address_p): Ditto.
+ * config/xtensa/xtensa.c (xtensa_mode_dependent_address_p): Ditto.
+
+2012-09-26 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * tree-ssa-math-opts.c (bswap_stats): Add found_16bit field.
+ (execute_optimize_bswap): Add support for builtin_bswap16.
+
+2012-09-26 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (DECL_IS_BUILTIN): Compare LOCATION_LOCUS.
+
+2012-09-26 Ian Lance Taylor <iant@google.com>
+
+ * diagnostic.c: Include "demangle.h" and "backtrace.h".
+ (bt_stop): New static array.
+ (bt_callback, bt_err_callback): New static functions.
+ (diagnostic_action_after_output): Call backtrace_full for DK_ICE.
+ * Makefile.in (BACKTRACE): New variable.
+ (BACKTRACEINC, LIBBACKTRACE): New variables.
+ (BACKTRACE_H): New variable.
+ (LIBDEPS, LIBS): Add $(LIBBACKTRACE).
+ (INCLUDES): Add $(BACKTRACEINC).
+ (diagnostic.o): Depend upon $(DEMANGLE_H) and $(BACKTRACE_H).
+
+2012-09-25 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/51274
+ PR target/53087
+ * config/rs6000/rs6000.md (ne0si): Remove unnecessary
+ earlyclobber. Merge with...
+ (ne0di): ... to...
+ (ne0_<mode>): New.
+ (plus_ne0si): Merge with...
+ (plus_ne0di): ... to...
+ (plus_ne0_<mode>): New.
+ (compare_plus_ne0si): Merge with...
+ (compare_plus_ne0di)... to...
+ (compare_plus_ne0_<mode>): New.
+ (compare_plus_ne0_<mode>_1): New.
+ (plus_ne0si_compare): Merge with...
+ (plus_ne0di_compare)... to...
+ (plus_ne0_<mode>_compare): New.
+
+2012-09-25 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * config/sh/constraints.md (Jhb): New constraint.
+ * config/sh/predicates.md (negt_reg_shl31_operand): New predicate.
+ * config/sh/sh.md (rotrsi3): New expander.
+ (rotrsi3_1, *rotrsi3_1, *rotlsi3_1): New insns.
+ (rotlsi3, rotlhi3): Use const_int_operand predicate instead of
+ immediate_operand and remove CONST_INT_P checks in expansion code.
+ (*rotcr): Cleanup variable usage. Handle preceding nott insn. Add
+ split with swapped operands.
+ (*rotcr_neg_t, *movt_msb, *negt_msb): New insns and splits.
+
+2012-09-25 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/53850
+ * trans-mem.c (expand_call_tm): Handle late built built-ins.
+
+2012-09-25 Georg-Johann Lay <avr@gjlay.de>
+
+ PR other/54701
+ * config/avr/avr-log.c (avr_double_int_pop_digit): Rewrite using
+ double_int::udivmod.
+
+2012-09-25 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (avr_set_current_function): Check cfun->machine
+ to be non-NULL.
+
+2012-09-25 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/54641
+ * config/avr/t-avr: Use ALL_COMPILERFLAGS instead of ALL_CFLAGS
+ for sources compiled with COMPILER.
+
+2012-09-25 Richard Guenther <rguenther@suse.de>
+
+ PR lto/54625
+ * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Do not merge
+ cgraph nodes for builtins.
+
+2012-09-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54676
+ * tree-vrp.c (set_and_canonicalize_value_range): Handle
+ one bit precision properly.
+
+ PR other/54692
+ * configure.ac (CFLAGS, CXXFLAGS): Remove -Ofast or -Og properly.
+ * configure: Regenerated.
+
+2012-09-25 Georg-Johann Lay <avr@gjlay.de>
+
+ PR other/54701
+ * config/avr/avr.c (avr_map_decompose): Use double_int::from_uhwi
+ instead of uhwi_to_double_int.
+
+2012-09-25 Richard Guenther <rguenther@suse.de>
+
+ * lto-symtab.c (lto_symtab_merge_decls_1): Properly merge
+ all of the chain.
+
+2012-09-25 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53663
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Conditional
+ native encode/interpret translation on VN_WALKREWRITE.
+
+2012-09-24 Dehao Chen <dehao@google.com>
+
+ * tree-cfg.c (move_stmt_op): Reset the expr block only when necessary.
+ (move_block_to_fn): Reset the edge's goto block even
+ when the goto locus is unknown.
+
+2012-09-24 Lawrence Crowl <crowl@google.com>
+
+ * double-int.h (double_int::from_pair): New.
+ (double_int::wide_mul_with_sign): New.
+ (double_int::sub_with_overflow): New.
+ (double_int::neg_with_overflow): New.
+ (double_int::divmod_with_overflow): New.
+ (shwi_to_double_int): Remove.
+ (uhwi_to_double_int): Remove.
+ (double_int_to_shwi): Remove.
+ (double_int_to_uhwi): Remove.
+ (double_int_fits_in_uhwi_p): Remove.
+ (double_int_fits_in_shwi_p): Remove.
+ (double_int_fits_in_hwi_p): Remove.
+ (double_int_mul): Remove.
+ (double_int_mul_with_sign): Remove.
+ (double_int_add): Remove.
+ (double_int_sub): Remove.
+ (double_int_neg): Remove.
+ (double_int_div): Remove.
+ (double_int_sdiv): Remove.
+ (double_int_udiv): Remove.
+ (double_int_mod): Remove.
+ (double_int_smod): Remove.
+ (double_int_umod): Remove.
+ (double_int_divmod): Remove.
+ (double_int_sdivmod): Remove.
+ (double_int_udivmod): Remove.
+ (double_int_multiple_of): Remove.
+ (double_int_setbit): Remove.
+ (double_int_ctz): Remove.
+ (double_int_not): Remove.
+ (double_int_ior): Remove.
+ (double_int_and): Remove.
+ (double_int_and_not): Remove.
+ (double_int_xor): Remove.
+ (double_int_lshift): Remove.
+ (double_int_rshift): Remove.
+ (double_int_lrotate): Remove.
+ (double_int_rrotate): Remove.
+ (double_int_negative_p): Remove.
+ (double_int_cmp): Remove.
+ (double_int_scmp): Remove.
+ (double_int_ucmp): Remove.
+ (double_int_max): Remove.
+ (double_int_smax): Remove.
+ (double_int_umax): Remove.
+ (double_int_min): Remove.
+ (double_int_smin): Remove.
+ (double_int_umin): Remove.
+ (double_int_ext): Remove.
+ (double_int_sext): Remove.
+ (double_int_zext): Remove.
+ (double_int_mask): Remove.
+ (double_int_max_value): Remove.
+ (double_int_min_value): Remove.
+ (double_int_zero_p): Remove.
+ (double_int_one_p): Remove.
+ (double_int_minus_one_p): Remove.
+ (double_int_equal_p): Remove.
+ (double_int_popcount): Remove.
+ (extern add_double_with_sign): Remove.
+ (#define add_double): Remove.
+ (extern neg_double): Remove.
+ (extern mul_double_with_sign): Remove.
+ (extern mul_double_wide_with_sign): Remove.
+ (#define mul_double): Remove.
+ (extern lshift_double): Remove.
+ (extern div_and_round_double): Remove.
+ * double-int.c (add_double_with_sign): Make static.
+ (#defined add_double): Localized from header.
+ (neg_double): Make static.
+ (mul_double_with_sign): Make static.
+ (mul_double_wide_with_sign): Make static.
+ (#defined mul_double): Localized from header.
+ (lshift_double): Make static.
+ (div_and_round_double): Make static.
+ (double_int::wide_mul_with_sign): New.
+ (double_int::sub_with_overflow): New.
+ (double_int::neg_with_overflow): New.
+ (double_int::divmod_with_overflow): New.
+ * emit-rtl.c (init_emit_once): Change to new double_int API.
+ * explow.c (plus_constant): Likewise.
+ * expmed.c (choose_multiplier): Likewise.
+ * fold-const.c (#define OVERFLOW_SUM_SIGN): Remove.
+ (int_const_binop_1): Change to new double_int API.
+ (fold_div_compare): Likewise.
+ (maybe_canonicalize_comparison): Likewise.
+ (pointer_may_wrap_p): Likewise.
+ (fold_negate_const): Likewise.
+ (fold_abs_const): Likewise.
+ * simplify-rtx.c (simplify_const_unary_operation): Likewise.
+ (simplify_const_binary_operation): Likewise.
+ * tree-chrec.c (tree_fold_binomial): Likewise.
+ * tree-vrp.c (extract_range_from_binary_expr_1): Likewise.
+ * config/sparc/sparc.c (sparc_fold_builtin): Likewise.
+ * config/avr/avr.c (avr_double_int_push_digit): Likewise.
+ (avr_map): Likewise.
+ (avr_map_decompose): Likewise.
+ (avr_out_insert_bits): Likewise.
+
+2012-09-24 Janis Johnson <janisjo@codesourcery.com>
+
+ * doc/sourcebuild.texi (Selectors): Document the use of target
+ and xfail used together.
+
+2012-09-24 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/54632
+ * tree-ssa-live.c (clear_unused_block_pointer_1): Do not
+ handle DECL_DEBUG_EXPR_IS_FROM here...
+ (clear_unused_block_pointer): ... but here when walking all
+ local decls.
+
+2012-09-24 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54684
+ * tree-ssa-ccp.c (optimize_unreachable): Properly update stmts.
+
+2012-09-24 Marc Glisse <marc.glisse@inria.fr>
+
+ * tree-ssa-forwprop.c: Include tree-ssa-propagate.h.
+ (simplify_bitfield_ref): Handle constructors.
+ * Makefile.in (tree-ssa-forwprop.o): Depend on tree-ssa-propagate.h.
+
+2012-09-24 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (bitmap_find_leader, create_expression_by_pieces,
+ find_or_generate_expression): Remove dominating stmt argument.
+ (find_leader_in_sets, phi_translate_1, bitmap_find_leader,
+ create_component_ref_by_pieces_1, create_component_ref_by_pieces,
+ do_regular_insertion, do_partial_partial_insertion): Adjust.
+ (compute_avail): Do not set uids.
+
+2012-09-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
+ TYPE_NONALIASED_COMPONENT flag.
+ * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
+ TYPE_NONALIASED_COMPONENT flag.
+
+2012-09-24 Jia Liu <proljc@gmail.com>
+
+ * doc/lto.texi: Separate sections.
+ * doc/plugins.texi: Likewise.
+
+2012-09-24 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52173
+ * gimple.c (gimple_copy): Properly mark the copy modified
+ if SSA operands are present.
+
+2012-09-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/54669
+ * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Invoke
+ maybe_clean_or_replace_eh_stmt on the modified use statements.
+
+2012-09-23 Marc Glisse <marc.glisse@inria.fr>
+
+ * expr.c (do_store_flag): Remove duplicated code.
+
+2012-09-22 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/predicates.md (altivec_register_operand,
+ vsx_register_operand, vfloat_operand, vint_operand,
+ vlogical_operand, gpc_reg_operand, cc_reg_operand,
+ cc_reg_not_cr0_operand, cc_reg_not_micro_cr0_operand):
+ If op is a SUBREG, consider its SUBREG_REG instead.
+
+2012-09-22 Uros Bizjak <ubizjak@gmail.com>
+
+ * optabs.c (prepare_cmp_insn): Expand comparison of the result
+ of memcmp through generic comparison expansion code.
+
+2012-09-21 Anthony Green <green@moxielogic.com>
+
+ * config/moxie/moxie.opt: Add -mno-crt0 option.
+ * config/moxie/moxie.h (STARTFILE_SPEC): Handle -mno-crt0 option.
+ * doc/invoke.texi (Option Summary): Document -mno-crt0 option.
+
+2012-09-21 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR bootstrap/54642
+ * Makefile.in (lto-symtab.o): Remove gt-lto-symtab.h dependency.
+
+2012-09-21 Dehao Chen <dehao@google.com>
+
+ PR go/54649
+ * tree-eh.c (lower_try_finally_dup_block): Set the correct block for
+ stmts in the duplicated EH block.
+
+2012-09-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54647
+ * tree-ssa-pre.c (compute_avail): Do not put COND_EXPR
+ or VEC_COND_EXPR into EXP_GEN again.
+
+2012-09-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54629
+ * tree-loop-distribution.c (classify_partition): Free loop nest only
+ after freeing ddr. Free ddr and loop nest also if successful.
+
+2012-09-21 Matthias Klose <doko@ubuntu.com>
+
+ * config/arm/arm.c (arm_mangle_type): Don't warn anymore that
+ 4.4 has changed the `va_list' mangling.
+
+2012-09-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/54290
+ PR rtl-optimization/54644
+ * reload1.c (choose_reload_regs): Fix thinko in previous change.
+
+2012-09-20 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.md (define_split for plus_eqsi):
+ Fix output pattern.
+
+2012-09-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * reload1.c (choose_reload_regs): Add missing #ifdef/#endif pair.
+
+2012-09-20 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR bootstrap/54643
+ * haifa-sched.c (schedule_block): Skip find_modifiable_mems if using
+ SCHED_PRESSURE_MODEL.
+
+2012-09-20 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * rtlanal.c (dead_or_set_regno_p): Fix COND_EXEC handling.
+
+2012-09-20 Marek Polacek <polacek@redhat.com>
+
+ * tree-ssa-operands.c (get_expr_operands): Merge identical cases.
+
+2012-09-20 Marek Polacek <polacek@redhat.com>
+
+ * tree-ssa-threadupdate.c (mark_threaded_blocks): Don't cast XNEWVEC's
+ result.
+ (create_edge_and_update_destination_phis): Likewise.
+
+2012-09-20 Martin Jambor <mjambor@suse.cz>
+
+ * function.c (push_cfun): Check old current_function_decl matches
+ old cfun, set new current_function_decl to the decl of the new cfun.
+ (push_struct_function): Likewise.
+ (pop_cfun): Likewise.
+ (allocate_struct_function): Move call to
+ invoke_set_current_function_hook to the end of the function.
+ * cfgexpand.c (estimated_stack_frame_size): Do not set and restore
+ current_function_decl.
+ * cgraph.c (cgraph_release_function_body): Likewise.
+ * cgraphunit.c (cgraph_process_new_functions): Likewise.
+ (cgraph_add_new_function): Likewise.
+ (cgraph_analyze_function): Likewise.
+ (assemble_thunk): Set cfun to NULL at the end.
+ (expand_function): Move call to set_cfun downwards.
+ * gimple-low.c (record_vars_into): Only check current_function_decl
+ before possibly doing push_cfun.
+ * gimplify.c (gimplify_function_tree): Do not set and restore
+ current_function_decl.
+ * ipa-inline-analysis.c (compute_inline_parameters): Likewise.
+ (inline_analyze_function): Likewise.
+ * ipa-prop.c (ipa_analyze_node): Likewise.
+ * ipa-pure-const.c (analyze_function): Likewise.
+ * lto-streamer-in.c (lto_input_function_body): Do not set
+ current_function_decl.
+ * lto-streamer-out.c (output_function): Do not set and restore
+ current_function_decl.
+ * omp-low.c (finalize_task_copyfn): Likewise.
+ (expand_omp_taskreg): Likewise.
+ (create_task_copyfn): Likewise, move push_cfun up quite a bit.
+ * passes.c (dump_passes): Do not set and restore current_function_decl.
+ (do_per_function): Likewise.
+ (do_per_function_toporder): Likewise.
+ * trans-mem.c (ipa_tm_scan_irr_function): Likewise.
+ (ipa_tm_transform_transaction): Likewise.
+ (ipa_tm_transform_clone): Likewise.
+ (ipa_tm_execute): Likewise.
+ * tree-emutls.c (lower_emutls_function_body): Likewise.
+ * tree-inline.c (initialize_cfun): Do not call pop_cfun.
+ (tree_function_versioning): Do not call push_cfun, do not set and
+ restore current_function_decl. Remove assert checking consistency of
+ cfun and current_function_decl.
+ * tree-profile.c (tree_profiling): Do not set and restore
+ current_function_decl.
+ * tree-sra.c (convert_callers_for_node): Do not set
+ current_function_decl.
+ (convert_callers): Do not restore current_function_decl.
+ (modify_function): Do not set current_function_decl.
+ * tree-ssa-structalias.c (ipa_pta_execute): Do not set and restore
+ current_function_decl.
+
+2012-09-20 Diego Novillo <dnovillo@google.com>
+
+ PR target/54631
+ * config/vxworks.c (vxworks_emutls_var_init): Update for new
+ VEC_quick_push interface.
+
+2012-09-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54634
+ * tree-data-ref.c (get_references_in_stmt): For now give
+ up for pure functions.
+
+2012-09-20 Chen Wei-Ren <chenwj@iis.sinica.edu.tw>
+
+ * doc/lto.texi: Correct typo.
+
+2012-09-19 Dehao Chen <dehao@google.com>
+
+ * config/s390/s390.c (s390_chunkify_start): Replacing INSN_LOCATOR.
+ * config/spu/spu.c (emit_nop_for_insn): Likewise.
+ (pad_bb): Likewise.
+ (spu_emit_branch_hint): Likewise.
+ (insert_hbrp_for_ilb_runout): Likewise.
+ * config/mep/mep.c (mep_make_bundle): Likewise.
+ (mep_bundle_insns): Likewise.
+ * config/sh/sh.c (gen_block_redirect): Likewise.
+ * config/c6x/c6x.c (gen_one_bundle): Likewise.
+ * config/rs6000/rs6000.c (rs6000_final_prescan_insn): Likewise.
+ * config/picochip/picochip.c (picochip_reorg): Likewise.
+ * config/arm/arm.c (require_pic_register): Likewise.
+ * config/mips/mips.c (mips16_gp_pseudo_reg): Likewise.
+ * config/bfin/bfin.c (gen_one_bundle): Likewise.
+
+2012-09-19 Mark Kettenis <kettenis@openbsd.org>
+
+ * config.gcc (hppa*-*-openbsd*): New target.
+ * config/pa/pa-openbsd.h: New file.
+ * config/pa/pa32-openbsd.h: New file.
+ * config/host-openbsd.c: Update copyright year.
+ (TRY_EXCEPT_VM_SPACE): Define for OpenBSD/hppa.
+
+2012-09-19 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.c (prune_expression_for_jf): New function.
+ (ipa_set_jf_constant): Use it.
+ (ipa_set_jf_arith_pass_through): Likewise.
+ (determine_known_aggregate_parts): Likewise.
+
+2012-09-19 Steve Ellcey <sellcey@mips.com>
+
+ * config.gcc (mips*-mti-elf*): New target.
+ * config/mips/mti-elf.h: New file.
+ * config/mips/t-mti-elf: New file.
+
+2012-09-19 Dehao Chen <dehao@google.com>
+
+ * toplev.c (general_init): Init block_locations.
+ * tree.c (tree_set_block): New.
+ (tree_block): Change to use LOCATION_BLOCK.
+ * tree.h (TREE_SET_BLOCK): New.
+ * final.c (reemit_insn_block_notes): Change to use LOCATION_BLOCK.
+ (final_start_function): Likewise.
+ * input.c (expand_location_1): Likewise.
+ * input.h (LOCATION_LOCUS): New.
+ (LOCATION_BLOCK): New.
+ (IS_UNKNOWN_LOCATION): New.
+ * fold-const.c (expr_location_or): Change to use new location.
+ * reorg.c (emit_delay_sequence): Likewise.
+ (try_merge_delay_insns): Likewise.
+ * modulo-sched.c (dump_insn_location): Likewise.
+ * lto-streamer-out.c (lto_output_location_bitpack): Likewise.
+ * lto-cgraph.c (output_node_opt_summary): Likewise.
+ * jump.c (rtx_renumbered_equal_p): Likewise.
+ * ifcvt.c (noce_try_move): Likewise.
+ (noce_try_store_flag): Likewise.
+ (noce_try_store_flag_constants): Likewise.
+ (noce_try_addcc): Likewise.
+ (noce_try_store_flag_mask): Likewise.
+ (noce_try_cmove): Likewise.
+ (noce_try_cmove_arith): Likewise.
+ (noce_try_minmax): Likewise.
+ (noce_try_abs): Likewise.
+ (noce_try_sign_mask): Likewise.
+ (noce_try_bitop): Likewise.
+ (noce_process_if_block): Likewise.
+ (cond_move_process_if_block): Likewise.
+ (find_cond_trap): Likewise.
+ * ipa-prop.c (ipa_set_jf_constant): Likewise.
+ (ipa_write_jump_function): Likewise.
+ * dwarf2out.c (add_src_coords_attributes): Likewise.
+ * expr.c (expand_expr_real): Likewise.
+ * tree-parloops.c (create_loop_fn): Likewise.
+ * recog.c (peep2_attempt): Likewise.
+ * function.c (free_after_compilation): Likewise.
+ (expand_function_end): Likewise.
+ (set_insn_locations): Likewise.
+ (thread_prologue_and_epilogue_insns): Likewise.
+ * print-rtl.c (print_rtx): Likewise.
+ * profile.c (branch_prob): Likewise.
+ * trans-mem.c (ipa_tm_scan_irr_block): Likewise.
+ * gimplify.c (gimplify_call_expr): Likewise.
+ * except.c (duplicate_eh_regions_1): Likewise.
+ * emit-rtl.c (try_split): Likewise.
+ (make_insn_raw): Likewise.
+ (make_debug_insn_raw): Likewise.
+ (make_jump_insn_raw): Likewise.
+ (make_call_insn_raw): Likewise.
+ (emit_pattern_after_setloc): Likewise.
+ (emit_pattern_after): Likewise.
+ (emit_debug_insn_after): Likewise.
+ (emit_pattern_before): Likewise.
+ (emit_insn_before_setloc): Likewise.
+ (emit_jump_insn_before): Likewise.
+ (emit_call_insn_before_setloc): Likewise.
+ (emit_call_insn_before): Likeise.
+ (emit_debug_insn_before_setloc): Likewise.
+ (emit_copy_of_insn_after): Likewise.
+ (insn_locators_alloc): Remove.
+ (insn_locators_finalize): Remove.
+ (insn_locators_free): Remove.
+ (set_curr_insn_source_location): Remove.
+ (get_curr_insn_source_location): Remove.
+ (set_curr_insn_block): Remove.
+ (get_curr_insn_block): Remove.
+ (locator_scope): Remove.
+ (insn_scope): Change to use new location.
+ (locator_location): Remove.
+ (insn_line): Change to use new location.
+ (locator_file): Remove.
+ (insn_file): Change to use new location.
+ (locator_eq): Remove.
+ (insn_locations_init): New.
+ (insn_locations_finalize): New.
+ (set_curr_insn_location): New.
+ (curr_insn_location): New.
+ * cfgexpand.c (gimple_assign_rhs_to_tree): Change to use new location.
+ (expand_gimple_cond): Likewise.
+ (expand_call_stmt): Likewise.
+ (expand_gimple_stmt_1): Likewise.
+ (expand_gimple_basic_block): Likewise.
+ (construct_exit_block): Likewise.
+ (gimple_expand_cfg): Likewise.
+ * cfgcleanup.c (try_forward_edges): Likewise.
+ * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
+ (dump_scope_block): Likewise.
+ (remove_unused_locals): Likewise.
+ * rtl.c (rtx_equal_p_cb): Likewise.
+ (rtx_equal_p): Likewise.
+ * rtl.h (XUINT): New.
+ (INSN_LOCATOR): Remove.
+ (CURR_INSN_LOCATION): Remove.
+ (INSN_LOCATION): New.
+ (INSN_HAS_LOCATION): New.
+ * tree-inline.c (remap_gimple_op_r): Change to use new location.
+ (copy_tree_body_r): Likewise.
+ (copy_phis_for_bb): Likewise.
+ (expand_call_inline): Likewise.
+ * tree-streamer-in.c (lto_input_ts_exp_tree_pointers): Likewise.
+ * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
+ * gimple-streamer-out.c (output_gimple_stmt): Likewise.
+ * combine.c (try_combine): Likewise.
+ * tree-outof-ssa.c (set_location_for_edge): Likewise.
+ (insert_partition_copy_on_edge): Likewise.
+ (insert_value_copy_on_edge): Likewise.
+ (insert_rtx_to_part_on_edge): Likewise.
+ (insert_part_to_rtx_on_edge): Likewise.
+ * basic-block.h (edge_def): Remove field.
+ * gimple.h (gimple_statement_base): Remove field.
+ (gimple_bb): Change to use new location.
+ (gimple_set_block): Likewise.
+ (gimple_has_location): Likewise.
+ * tree-cfg.c (make_cond_expr_edges): Likewise.
+ (make_goto_expr_edges): Likewise.
+ (gimple_can_merge_blocks_p): Likewise.
+ (move_stmt_op): Likewise.
+ (move_block_to_fn): Likewise.
+ * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
+ * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
+ * config/i386/i386.c (x86_output_mi_thunk): Likewise.
+ * config/tilegx/tilegx.c (tilegx_output_mi_thunk): Likewise.
+ * config/sh/sh.c (sh_output_mi_thunk): Likewise.
+ * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
+ * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
+ * config/score/score.c (score_output_mi_thunk): Likewise.
+ * config/tilepro/tilepro.c (tilepro_asm_output_mi_thunk): Likewise.
+ * config/mips/mips.c (mips_output_mi_thunk): Likewise.
+ * cfgrtl.c (unique_locus_on_edge_between_p): Likewise.
+ (unique_locus_on_edge_between_p): Likewise.
+ (emit_nop_for_unique_locus_between): Likewise.
+ (force_nonfallthru_and_redirect): Likewise.
+ (fixup_reorder_chain): Likewise.
+ (cfg_layout_merge_blocks): Likewise.
+ * stmt.c (emit_case_nodes): Likewise.
+
+2012-09-19 Bernd Schmidt <bernds@codesourcery.com>
+
+ * dbgcnt.def (sched_breakdep): New counter.
+ * haifa-sched.c (update_insn_after_change): New static function,
+ broken out of haifa_change_pattern.
+ (haifa_change_pattern): Call it.
+ (dep_t heap vecs): Declare.
+ (INSN_COST): Define earlier.
+ (next_cycle_replace_deps, next_cycle_apply): New static variables.
+ (apply_replacement): New static function.
+ (recompute_todo_spec): New argument FOR_BACKTRACK. All callers
+ changed. Handle DEP_REPLACE deps.
+ (contributes_to_priority_p): False for replaceable deps.
+ (must_restore_pattern_p, restore_pattern): New static functions.
+ (schedule_insn): Use them. Apply replacements for broken deps.
+ (struct haifa_saved_data): Add new fields to keep track of
+ replacements.
+ (save_backtrack_point): Initialize them.
+ (undo_replacements_for_backtrack): New static function.
+ (restore_last_backtrack_point, free_topmost_backtrack_point):
+ Use it and keep track of replacements.
+ (perform_replacements_new_cycle, undo_all_replacements): New static
+ functions.
+ (schedule_block): Call these two as necessary. Call
+ find_modifiable_mems.
+ (try_ready): Tweak the assert. Check for DEP_POSTPONED.
+ * sched-deps.c: Include "emit-rtl.h".
+ (init_dep_1): Initialize DEP_NONREG, DEP_MULTIPLE and DEP_REPLACE.
+ (dep_spec_p): True for DEP_REPLACE deps.
+ (mark_as_hard): New static variable.
+ (update_dep): Update DEP_NONREG and DEP_MULTIPLE.
+ (add_dependence_list): New argument hard. All callers changed. Set
+ and clear mark_as_hard around function body.
+ (add_dependence_list_and_free): Likewise.
+ (haifa_note_mem_dep): Set DEP_NONREG.
+ (haifa_note_dep): Likewise if mark_as_hard is true.
+ (sched_analyze_insn): Switch loop with if statement testing for
+ sel_sched_p.
+ (struct mem_inc_info): New.
+ (attempt_change, parse_add_or_inc, find_inc, find_mem): New static
+ functions.
+ (find_modifiable_mems): New function.
+ * sched-int.h (struct dep_replacement): New.
+ (struct _dep): Add replace, nonreg and multiple fields. Make type and
+ cost bitfields.
+ (UNKNOWN_DEP_COST): Change to match the bitfield.
+ (DEP_NONREG, DEP_MULTIPLE, DEP_REPLACE): New macros.
+ (DEP_POSTPONED): New macro.
+ (DEP_CANCELLED): Renumber.
+ (find_modifiable_mems): Declare.
+ (enum SCHED_FLAGS): Add DONT_BREAK_DEPENDENCIES.
+ * sched-rgn.c (init_ready_list): Set TODO_SPEC here.
+ (new_ready): Don't set HARD_DEP, use DEP_POSTPONED.
+ (debug_dependencies): Dump DEP_NONREG and DEP_MULTIPLE.
+ * Makefile.in (sched-deps.o): Update dependencies.
+ * config/c6x/c6x.c (in_hwloop): New static variable.
+ (c6x_set_sched_flags): If it is true, add DONT_BREAK_DEPENDENCIES.
+ (hwloop_optimize): Set and clear it around preliminary scheduling pass.
+
+2012-09-19 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000-builtin.def: Add __builtin_ppc_get_timebase
+ and __builtin_ppc_mftb.
+ * config/rs6000/rs6000.c (rs6000_expand_zeroop_builtin): New function
+ to expand an expression that calls a built-in without arguments.
+ (rs6000_expand_builtin): Add __builtin_ppc_get_timebase and
+ __builtin_ppc_mftb.
+ (rs6000_init_builtins): Likewise.
+ * config/rs6000/rs6000.md (rs6000_get_timebase): New pattern.
+ (rs6000_get_timebase_ppc32): New pattern.
+ (rs6000_mftb_<mode>): New pattern.
+
+ * doc/extend.texi (PowerPC Built-in Functions): New section.
+ (PowerPC AltiVec/VSX Built-in Functions): Move some built-ins
+ unrelated to Altivec/VSX to the new section.
+
+2012-09-19 David Edelsohn <dje.gcc@gmail.com>
+
+ * rs6000.md (mac*): Remove extra spaces.
+ (mulhw*): Same.
+
+2012-09-19 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * config/sh/predicates.md (arith_reg_or_t_reg_operand): New predicate.
+ * config/sh/sh.md (*rotcr): Use arith_reg_or_t_reg_operand predicate.
+ Handle the case where one of the operands is T_REG.
+ Add new pattern to handle MSB extraction.
+
+2012-09-19 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54236
+ * config/sh/sh.md (*addc): Add pattern to handle one bit left shifts.
+
+2012-09-19 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md (prologue, epilogue): Use braced strings.
+
+2012-09-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/54290
+ * reload1.c (choose_reload_regs): Also take into account secondary MEMs
+ to remove address replacements for inherited reloads.
+ (replaced_subreg): Move around.
+
+2012-09-19 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/aix61.h (TARGET_DEFAULT): Add MASK_PPC_GPOPT,
+ MASK_PPC_GFXOPT, and MASK_MFCRF.
+
+2012-09-19 Richard Guenther <rguenther@suse.de>
+
+ * passes.c (init_optimization_passes): For -Og move
+ pass_object_sizes inbetween CCP and copyprop.
+
+2012-09-19 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-forwprop.c (get_prop_source_stmt): Simplify.
+
+2012-09-19 Jan Hubicka <jh@suse.cz>
+
+ * symtab.c (insert_to_assembler_name_hash): Do not insert
+ register vars.
+ (unlink_from_assembler_name_hash): NULL out pointers of unlinked var.
+ (symtab_prevail_in_asm_name_hash): New.
+ (symtab_initialize_asm_name_hash): Break out from ...
+ (symtab_node_for_asm): ... here.
+ (dump_symtab_base): Dump LTO file data.
+ (verify_symtab_base): Register vars are not in symtab.
+ * cgraph.h (symtab_initialize_asm_name_hash,
+ symtab_prevail_in_asm_name_hash): New functions.
+ (symtab_real_symbol_p): New inline.
+ * lto-symtab.c: Do not include gt-lto-symtab.h.
+ (lto_symtab_entry_def): Remove.
+ (lto_symtab_entry_t): Remove.
+ (lto_symtab_identifiers): Remove.
+ (lto_symtab_free): Remove.
+ (lto_symtab_entry_hash): Remove.
+ (lto_symtab_entry_eq): Remove.
+ (lto_symtab_entry_marked_p): Remove.
+ (lto_symtab_maybe_init_hash_table): Remove.
+ (resolution_guessed_p, set_resolution_guessed): New functions.
+ (lto_symtab_register_decl): Only set resolution info.
+ (lto_symtab_get, lto_symtab_get_resolution): Remove.
+ (lto_symtab_merge): Reorg to work across symtab; do nothing if decls
+ are same.
+ (lto_symtab_resolve_replaceable_p): Reorg to work on symtab.
+ (lto_symtab_resolve_can_prevail_p): Likewise; only real symbols can
+ prevail.
+ (lto_symtab_resolve_symbols): Reorg to work on symtab.
+ (lto_symtab_merge_decls_2): Likewise.
+ (lto_symtab_merge_decls_1): Likewise; add debug dumps.
+ (lto_symtab_merge_decls): Likewise; do not merge at ltrans stage.
+ (lto_symtab_merge_cgraph_nodes_1): Reorg to work on symtab.
+ (lto_symtab_merge_cgraph_nodes): Likewise; do not merge at ltrans
+ stage.
+ (lto_symtab_prevailing_decl): Rewrite to lookup into symtab.
+ * lto-streaer.h (lto_symtab_free): Remove.
+ * lto-cgraph.c (add_references): Cleanup.
+ * varpool.c (varpool_assemble_decl): Skip hard regs.
+
+2012-09-19 Richard Guenther <rguenther@suse.de>
+
+ PR other/53316
+ * common/common-target.h (OPT_LEVELS_1_PLUS_NOT_DEBUG): Add.
+
+2012-09-19 Richard Guenther <rguenther@suse.de>
+
+ PR other/53316
+ * common.opt (optimize_debug): New variable.
+ (Og): New optimization level.
+ * doc/invoke.texi (Og): Document.
+ * opts.c (maybe_default_option): Add debug parameter.
+ (maybe_default_options): Likewise.
+ (default_options_optimization): Handle -Og.
+ (common_handle_option): Likewise.
+ * passes.c (gate_all_optimizations): Do not run with -Og.
+ (gate_all_optimizations_g): New gate, run with -Og.
+ (pass_all_optimizations_g): New container pass, run with -Og.
+ (init_optimization_passes): Schedule pass_all_optimizations_g
+ alongside pass_all_optimizations.
+
+2012-09-19 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54132
+ * tree-loop-distribution.c (classify_partition): Properly
+ check dependences for memmove.
+ * tree-data-ref.h (compute_affine_dependence): Declare.
+ * tree-data-ref.c (compute_affine_dependence): Export.
+
+2012-09-19 Zhenqiang Chen <zhenqiang.chen@arm.com>
+
+ PR middle-end/54364
+ * bb-reorder.c (connect_better_edge_p): New added.
+ (find_traces_1_round): When optimizing for size, ignore edge frequency
+ and probability, and handle all in one round.
+ (bb_to_key): Use bb->index as key when optimizing for size.
+ (better_edge_p): The bb with smaller index is better when optimizing
+ for size.
+ (connect_traces): When optimizing for size, connect block n with
+ block n + 1; connect trace m with trace m + 1 if falling through.
+ (gate_handle_reorder_blocks): Enable bbro when optimizing for -Os.
+
+2012-09-19 Bin Cheng <bin.cheng@arm.com>
+
+ * fold-const.c (fold_truth_andor): Remove duplicated check on
+ BRANCH_COST.
+
+2012-09-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/54617
+ * expr.c (store_field): Handle a PARALLEL in more cases.
+
+2012-09-18 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.md (sminsi3, smaxsi3, uminsi3, umaxsi3): Delete.
+ (abssi2, abs<mode>2_isel, nabs<mode>2_isel, abssi2_nopower,
+ nabs_nopower): Delete.
+ (absdi2, absdi2_internal, nabsdi2): Delete.
+ (smindi3, smaxdi3, umindi3, umaxdi3): Delete.
+
+2012-09-18 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md: Tidy up empty "". Fix C code indentation.
+ * config/avr/avr-fixed.md: Ditto.
+
+2012-09-18 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * config/rs6000/rs6000.c (print_operand) <'c'>: Remove.
+ * config/rs6000/spe.md: Remove a leftover comment.
+
+2012-09-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/54592
+ * config/i386/i386.c (ix86_rtx_costs): Limit > UNITS_PER_WORD
+ AND/IOR/XOR cost calculation to MODE_INT class modes.
+
+2012-09-18 Thomas Quinot <quinot@adacore.com>
+
+ * doc/invoke.texi: Document -fada-spec-parent.
+
+2012-09-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54610
+ * tree-ssa-forwprop.c: Include optabs.h. Don't include
+ tree-vectorizer.h.
+ (simplify_vector_constructor): Don't use vect_gen_perm_mask,
+ instead create the mask constant here.
+ * Makefile.in (tree-ssa-forwprop.o): Depend on $(OPTABS_H).
+ Don't depend on $(TREE_VECTORIZER_H).
+
+2012-09-18 Florian Weimer <fweimer@redhat.com>
+
+ * Makefile.in (BASIC_BLOCK_H): Add cfg-flags.def.
+
+2012-09-18 Richard Guenther <rguenther@suse.de>
+
+ * statistics.h (CXX_MEM_STAT_INFO): New define.
+ * gimple.h (gimple_build_assign_with_ops_stat,
+ gimple_build_assign_with_ops, gimple_build_assign_with_ops3):
+ Turn into an overload of the function gimple_build_assign_with_ops.
+ * gimple.c (gimple_build_assign_with_ops_stat): Rename to ...
+ (gimple_build_assign_with_ops): ... this.
+ * tree-ssa-loop-im.c (move_computations_stmt): Adjust.
+ * tree-ssa-math-opts.c (convert_mult_to_fma): Likewise.
+ * tree-vect-data-refs.c (vect_permute_store_chain): Likewise.
+ (vect_permute_load_chain): Likewise.
+ * tree-vect-generic.c (expand_vector_divmod): Likewise.
+ * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Likewise.
+ (vect_recog_divmod_pattern): Likewise.
+ (vect_recog_mixed_size_cond_pattern): Likewise.
+ (adjust_bool_pattern): Likewise.
+ * tree-vect-slp.c (vect_create_mask_and_perm): Likewise.
+ * tree-vect-stmts.c (vectorizable_operation): Likewise.
+ (permute_vec_elements): Likewise.
+ (vectorizable_load): Likewise.
+
+2012-09-17 Paul Koning <ni1d@arrl.net>
+
+ * doc/invoke.text (-feliminate-unused-debug-types): Update to
+ reflect that this is enabled by default.
+
+2012-09-17 Ben Cheng <bccheng@google.com
+
+ * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Suppress the
+ dynamic linker commands for statically linked programs.
+
+2012-09-17 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * config/arm/arm.c (arm_rtx_costs_1): Handle vec_extract and vec_set
+ patterns.
+ * config/arm/arm.md ("vec_set<mode>_internal"): Support memory source
+ operands, implemented via vld1 instruction.
+ ("vec_extract<mode>"): Support memory destination operands, implemented
+ via vst1 instruction.
+ ("neon_vst1_lane<mode>"): Use UNSPEC_VST1_LANE instead of vec_select.
+ * config/arm/predicates.md ("neon_lane_number"): Remove.
+
+2012-09-17 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+ Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * config/arm/arm.c (output_move_neon): Update comment.
+ Use vld1.64/vst1.64 instead of vldm/vstm where possible.
+ (neon_vector_mem_operand): Support double-word modes.
+ * config/arm/neon.md (*neon_mov VD): Call output_move_neon
+ instead of output_move_vfp. Change constraint from Uv to Un.
+
+2012-09-17 Richard Guenther <rguenther@suse.de>
+
+ PR lto/54598
+ * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Use ggc'ed
+ FIXED_VALUE_TYPE instead of struct fixed_value.
+
+2012-09-17 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (CONST_FIXED_P): Remove define.
+ * config/avr/avr.md (add<mode>3): Use CONST_FIXED_P.
+
+2012-09-17 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/54607
+ * config.gcc (tm_file,avr): Add avr/avr-arch.h.
+ * config/avr/t-avr (gen-avr-mmcu-texi): Use CC_FOR_BUILD to
+ compile. Don't depend on TM_H. Use CFLAGS_FOR_BUILD.
+ * config/avr/avr.h (avr_arch, base_arch_s, mcu_type_s): Source out
+ to...
+ * config/avr/avr-arch.h: ...this new file.
+ * config/avr/gen-avr-mmcu-texi.c: Include avr-arch.h, stdio.h,
+ stdlib.h.
+ * comparator: Make letters smaller than digits.
+ * config/avr/avr-devices.c: Don't include headers if used in
+ gen-avr-mmcu-texi.c.
+ * doc/avr-mmcu.texi: Regenerate.
+
+2012-09-17 Georg-Johann Lay <avr@gjlay.de>
+
+ * rtl.h (CONST_FIXED_P): New predicate macro.
+
+2012-09-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-cfgcleanup. (cleanup_control_expr_graph) <GIMPLE_COND>: Remove
+ code doing propagation from degenerate PHI nodes.
+ * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): New function.
+ (propagate_constants_for_unrolling): Likewise.
+ (tree_unroll_loops_completely): If the current loop has been unrolled
+ and its father isn't the entire function, propagate constants within
+ the new basic blocks by means of propagate_constants_for_unrolling.
+
+2012-09-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54563
+ * tree-ssa-math-opts.c (execute_cse_sincos): Call
+ gimple_purge_dead_eh_edges if last call has been changed.
+
+2012-09-17 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/54222
+ * config/avr/avr.c (avr_out_plus_symbol): Fix typo if PLUS and PSImode.
+ (avr_out_plus_1): Remove log comments from assembler output.
+
+2012-09-17 Ruben Buchatskiy <ruben@ispras.ru>
+
+ * config/arm/vfp.md (*thumb2_movdf_vfp): Require one of the operands
+ to be a register.
+
+2012-09-16 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * calls.c (expand_call): Use emit_group_move for PARALLEL->PARALLEL
+ moves.
+
+2012-09-15 Tom de Vries <tom@codesourcery.com>
+
+ * tree-vrp.c (extract_range_from_binary_expr_1): Fix bug in handling of
+ LSHIFT_EXPR with shift range. Handle more LSHIFT_EXPR cases with shift
+ range.
+
+2012-09-15 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/54222
+ * config/avr/avr-fixed.md (ALL2S, ALL4S, ALL24S, ALL124S,
+ ALL124U): New mode iterators.
+ (<code_stdname><mode>3): New insns for SS_PLUS, SS_MINUS.
+ (<code_stdname><mode>3): New insns for US_PLUS, US_MINUS.
+ (usneg<mode>2): New insns.
+ (<code_stdname><mode>2): New expanders for SS_NEG, SS_ABS.
+ (*<code_stdname><mode>2): New insns for SS_NEG, SS_ABS.
+ * config/avr/avr-dimode.md (ALL8U, ALL8S): New mode iterators.
+ (avr_out_plus64, avr_out_minus64): Use avr_out_plus instead.
+ (<code_stdname><mode>3): New expanders for SS_PLUS, SS_MINUS.
+ (<code_stdname><mode>3): New expanders for US_PLUS, US_MINUS.
+ (<code_stdname><mode>3_insn): New insns.
+ (<code_stdname><mode>3_const_insn): New insns.
+ * config/avr/avr.md (cc): Add: plus. Remove: out_plus,
+ out_plus_noclobber, minus.
+ (length): Add: plus. Remove: out_plus, out_plus_noclobber,
+ plus64, minus, minus64.
+ (abelian): New code_attr.
+ (code_stdname): Handle: ss_plus, ss_minus, ss_neg, ss_abs,
+ us_plus, us_minus, us_neg.
+ (*add<mode>3, add<mode>3_clobber, add<mode>3, addpsi3, sub<mode>3):
+ Use avr_out_plus to output.
+ * config/avr/avr-protos.h (avr_out_plus): Change prototype.
+ (avr_out_plus_noclobber, avr_out_minus): Remove.
+ (avr_out_plus64, avr_out_minus64): Remove.
+ * config/avr/avr.c (avr_out_plus_1): Add new default arguments
+ code_sat, sign. Saturate after operation if code_sat != UNKNOWN.
+ (avr_out_plus_symbol): New static function.
+ (avr_out_plus): Rewrite.
+ (adjust_insn_length): Handle: ADJUST_LEN_PLUS. Remove handling
+ of: ADJUST_LEN_OUT_PLUS, ADJUST_LEN_PLUS64, ADJUST_LEN_MINUS,
+ ADJUST_LEN_MINUS64, ADJUST_LEN_OUT_PLUS_NOCLOBBER.
+ (notice_update_cc): Handle: CC_PLUS. Remove handling of: CC_MINUS,
+ CC_OUT_PLUS, CC_OUT_PLUS_NOCLOBBER
+ (avr_out_plus_noclobber, avr_out_minus): Remove.
+ (avr_out_plus64, avr_out_minus64): Remove.
+ (avr_print_operand): Print raw REGNO if 'r' is used with REG.
+
+2012-09-15 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_rtx_costs): Add handling of MEM, SIGN_EXTEND,
+ ZERO_EXTEND and PARALLEL cases.
+ (sh_address_cost): Correct rtx parsing and tweak cost estimations.
+
+2012-09-14 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/tm.texi.in (Stack Arguments): Update obsolete references
+ to current_function_outgoing_args_size.
+ (Function Entry): Likewise for current_function_pops_args,
+ current_function_pretend_args_size,
+ current_function_outgoing_args_size, and
+ current_function_epilogue_delay_list.
+ (Misc): Fix garbled sentence referencing nonexistent
+ current_function_leaf_function.
+ * doc/tm.texi: Regenerated.
+
+2012-09-14 Dehao Chen <dehao@google.com>
+
+ * tree-eh.c (goto_queue_node): New field.
+ (record_in_goto_queue): New parameter.
+ (record_in_goto_queue_label): New parameter.
+ (lower_try_finally_dup_block): New parameter.
+ (maybe_record_in_goto_queue): Update source location.
+ (lower_try_finally_copy): Likewise.
+ (honor_protect_cleanup_actions): Likewise.
+ * gimplify.c (gimplify_expr): Reset the location to unknown.
+
+2012-09-14 David Edelsohn <dje.gcc@gmail.com>
+
+ * configure: Regenerated.
+
+2012-09-14 Walter Lee <walt@tilera.com>
+
+ * doc/invoke.texi (Option Summary): fix typesetting for -mcpu
+ option for TILEPro and TILE-Gx.
+ (TILE-Gx Options): Fix grammar and spellings in documentation for
+ -mcmodel.
+
+2012-09-14 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/54427
+ * fold-const.c (fold_unary_loc): Disable for VECTOR_TYPE.
+ (fold_binary_loc): Likewise.
+ * gimple-fold.c (and_comparisons_1): Handle VECTOR_TYPE.
+ (or_comparisons_1): Likewise.
+
+2012-09-14 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/54516
+ PR rtl-optimization/54540
+ * reload.c (find_dummy_reload): Don't use OUT as a reload reg
+ for IN if it overlaps a fixed register.
+
+2012-09-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/44194
+ * calls.c (expand_call): In the PARALLEL case, copy the return value
+ into pseudos instead of spilling it onto the stack.
+ * emit-rtl.c (adjust_address_1): Rename ADJUST into ADJUST_ADDRESS and
+ add new ADJUST_OBJECT parameter.
+ If ADJUST_OBJECT is set, drop the underlying object if it cannot be
+ proved that the adjusted memory access is still within its bounds.
+ (adjust_automodify_address_1): Adjust call to adjust_address_1.
+ (widen_memory_access): Likewise.
+ * expmed.c (store_bit_field_1): Call adjust_bitfield_address instead
+ of adjust_address. Do not drop the underlying object of a MEM.
+ (store_fixed_bit_field): Likewise.
+ (extract_bit_field_1): Likewise. Fix oversight in recursion.
+ (extract_fixed_bit_field): Likewise.
+ * expr.h (adjust_address_1): Adjust prototype.
+ (adjust_address): Adjust call to adjust_address_1.
+ (adjust_address_nv): Likewise.
+ (adjust_bitfield_address): New macro.
+ (adjust_bitfield_address_nv): Likewise.
+ * expr.c (expand_assignment): Handle a PARALLEL in more cases.
+ (store_expr): Likewise.
+ (store_field): Likewise.
+
+ * dse.c: Fix typos in the head comment.
+
+2012-09-14 Christian Bruel <christian.bruel@st.com>
+
+ PR target/54546
+ * config/sh/sh-protos.h (sh_need_epilogue): Delete.
+ (sh_can_use_simple_return_p): Declare.
+ * config/sh/sh.c (sh_can_use_simple_return_p): Define.
+ (sh_need_epilogue, sh_need_epilogue_known): Delete.
+ (sh_output_function_epilogue): Remove sh_need_epilogue_known.
+ * config/sh/sh.md (simple_return, return): Define.
+ (epilogue): Use inline return rtl.
+ (sh_expand_epilogue): Cleanup parameters boolean type.
+ * config/sh/iterators.md (any_return): New iterator.
+
+2012-09-14 Christian Bruel <christian.bruel@st.com>
+
+ * config/sh/predicates.md (t_reg_operand): Check REG_P for SUBREG.
+ * config/sh/sh.c (sequence_insn_p): Check INSNP_P for SEQUENCE.
+
+2012-09-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/54564
+ * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
+ instead of (match_dup 0) as second argument to vec_merge.
+ (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
+ Remove third alternative.
+ (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise. Negate
+ operand 2 instead of operand 1, but put it as first argument of fma.
+ * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
+ _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
+ of the first.
+
+2012-09-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54565
+ * passes.c (init_optimization_passes): Adjust comments.
+ (execute_function_todo): Do not execute execute_update_addresses_taken
+ before processing TODO_rebuild_alias.
+ * tree-ssa-ccp.c (do_ssa_ccp): Schedule TODO_update_address_taken.
+
+2012-09-14 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (register_new_assert_for): Simplify for backward walk.
+ (find_assert_locations_1): Walk the basic-block backwards, properly
+ add/prune from live. Use live for asserts derived from stmts.
+
+2012-09-14 Marc Glisse <marc.glisse@inria.fr>
+
+ * tree-ssa-forwprop.c (simplify_bitfield_ref): Call
+ get_prop_source_stmt.
+ (simplify_permutation): Likewise.
+ (simplify_vector_constructor): Likewise.
+
+2012-09-14 Richard Guenther <rguenther@suse.de>
+
+ * builtin-types.def (BT_FN_CONST_STRING): Add.
+ * builtins.def (BUILT_IN_FILE, BUILT_IN_FUNCTION,
+ BUILT_IN_LINE): New builtins.
+ * gimplify.c (gimplify_call_expr): Expand them.
+ * doc/extend.texi (__builtin_LINE, __builtin_FUNCTION,
+ __builtin_FILE): Document.
+
+2012-09-13 Anthony Green <green@moxielogic.com>
+
+ * config/moxie/moxie.h (LINK_SPEC): Add bi-endian support.
+ (MULTILIB_DEFAULTS): Define.
+ (ASM_SPEC): Define.
+ (BYTES_BIG_ENDIAN, WORDS_BIG_ENDIAN): Add bi-endian support.
+ (TARGET_CPU_CPP_BUILTINS): Add __MOXIE_LITTLE_ENDIAN__ and
+ __MOXIE_BIG_ENDIAN__.
+ * config/moxie/t-moxie (MULTILIB_DIRNAMES, MULTILIB_OPTIONS): Define.
+ * config/moxie/moxie.opt: New file.
+ * doc/invoke.texi (Moxie Options): Add section documenting -mel
+ and -meb.
+
+2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
+ Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c++/53210
+ * doc/invoke.texi ([Winit-self]): Document as enabled by -Wall in C++.
+
+2012-09-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/predicates.md (input_operand): Do not consider TImode
+ constants as 1-instruction integer constants.
+ Use register_or_zero_operand instead of register_operand and tidy up.
+ * config/sparc/sparc.md (movti): New expander.
+ (movti_insn_sp64): New instruction.
+ (movti_insn_sp64_hq): Likewise.
+ (TImode splitters): New splitters.
+ * config/sparc/sparc.c (sparc_expand_move) <TImode>: New case.
+ (sparc_legitimate_address_p): Return 0 for REG+REG in TImode.
+
+ * config/sparc/sparc-protos.h (arith_double_4096_operand): Delete.
+ (arith_4096_operand): Likewise.
+ (zero_operand): Likewise.
+ (fp_zero_operand): Likewise.
+ (reg_or_0_operand): Likewise.
+
+2012-09-13 Jakub Jelinek <jakub@redhat.com>
+
+ * configure.ac (CXXFLAGS): Remove -O2 when not bootstrapping.
+ * configure: Regenerated.
+
+2012-08-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (prefetch): Do not assert mode of operand 0.
+ (*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
+ Rename to ...
+ (*prefetch_sse): ... this.
+ (*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
+ Rename to ...
+ (*prefetch_3dnow): ... this.
+
+2012-09-13 Steven Bosscher <steven@gcc.gnu.org>
+
+ * ipa-pure-const.c (state_from_flags, local_pure_const): Use
+ current_function_name instead of lang_hooks.decl_printable_name.
+
+ * function.h (fndecl_name): New prototype.
+ * function.c (fndecl_name): New function.
+ * vecir.h (cgraph_node_p): New standard IR VEC type.
+ * trans-mem.c (cgraph_node_p): No need anymore to define it here.
+ * ipa-utils.h (ipa_get_nodes_in_cycle): New prototype.
+ * ipa-utils.c (ipa_get_nodes_in_cycle): New function.
+ * ipa-reference.c: Don't include langhooks.h, and certainly not twice.
+ Fix many formatting issues (long lines, short lines, spacing, etc.).
+ (get_static_name): Use fndecl_name.
+ (dump_static_vars_set_to_file): New function split out from propagate.
+ (union_static_var_sets): New function, union two sets and collapse
+ to all_module_statics as quickly as possible.
+ (intersect_static_var_sets): New function, similar to above.
+ (copy_static_var_set): Renamed from copy_global_bitmap and rewritten
+ to allocate a copy on the same bitmap_obstack as the source set.
+ (propagate_bits): Simplify, and clarify by using union_static_var_sets.
+ (generate_summary): Remove bm_temp. Print UID of promotable globals.
+ (read_write_all_from_decl): Use pass-by-reference, bless C++.
+ (get_read_write_all_from_node): New function, split out from propagate.
+ (propagate): Simplify and clarify with helper functions. Use
+ ipa_get_nodes_in_cycle to walk all nodes in a reduced node.
+ (ipa_reference_read_optimization_summary): Use fndecl_name instead of
+ lang_hooks.decl_printable_name.
+
+ * rtl.h (print_rtl_single_with_indent): New prototype.
+ * print-rtl.c (print_rtl_single_with_indent): New function.
+ * cfghooks.h (empty_block_p, split_block_before_cond_jump): New hooks.
+ * cfghooks.c (empty_block_p, split_block_before_cond_jump): Implement.
+ * cfgrtl.c (rtl_block_empty_p, rtl_split_block_before_cond_jump):
+ Implement RTL specific hooks.
+ (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Register the new hooks.
+ * tree-cfg.c (gimple_empty_block_p,
+ gimple_split_block_before_cond_jump): Implement GIMPLE specific hooks.
+ (gimple_cfg_hooks): Register the new hooks.
+ * tree-ssa-phiopt.c (empty_block_p): Remove in favor of new hook.
+
+2012-09-13 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.h (enum vn_kind): New.
+ (vn_get_stmt_kind): Likewise.
+ * tree-ssa-sccvn.c (vn_get_stmt_kind): New function, adjust
+ ADDR_EXPR handling.
+ (visit_use): Use it.
+ * tree-ssa-pre.c (compute_avail): Likewise, simplify further.
+
+2012-09-13 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
+
+ * config/i386/i386.c (processor_alias_table): Enable PTA_PRFCHW
+ for targets bdver1, bdver2, btver1 and btver2.
+
+2012-09-13 Christophe Lyon <christophe.lyon@linaro.org>
+ Richard Earnshaw <rearnsha@arm.com>
+
+ * config/arm/arm.md (arm_rev): Factorize thumb1, thumb2 and arm
+ variants for rev instruction..
+ (thumb1_rev): Delete pattern.
+ (arm_revsh): New pattern to support builtin_bswap16.
+ (arm_rev16, bswaphi2): Likewise.
+
+2012-09-12 Teresa Johnson <tejohnson@google.com>
+
+ PR gcov-profile/54487
+ * configure.ac (HOST_HAS_F_SETLKW): Set based on compile
+ test using F_SETLKW with fcntl.
+ * configure, config.in: Regenerate.
+
+2012-09-12 Jan Hubicka <jh@suse.cz>
+
+ PR fortran/48636
+ * ipa-inline-analysis.c (dump_inline_hints): Dump loop stride.
+ (set_hint_predicate): New function.
+ (reset_inline_summary): Reset loop stride.
+ (remap_predicate_after_duplication): New function.
+ (remap_hint_predicate_after_duplication): New function.
+ (inline_node_duplication_hook): Update.
+ (dump_inline_summary): Dump stride summaries.
+ (estimate_function_body_sizes): Compute strides.
+ (remap_hint_predicate): New function.
+ (inline_merge_summary): Use it.
+ (inline_read_section): Read stride.
+ (inline_write_summary): Write stride.
+ * ipa-inline.c (want_inline_small_function_p): Handle strides.
+ (edge_badness): Likewise.
+ * ipa-inline.h (inline_hints_vals): Add stride hint.
+ (inline_summary): Update stride.
+
+2012-09-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (x86_prefetch_sse): Change to unsigned char.
+ * config/i386/i386.h (x86_prefetch_sse): Ditto.
+
+2012-09-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/54445
+ * config/i386/predicates.md (x86_64_immediate_operand): Allow
+ negative offset for UNSPEC_DTPOFF/UNSPEC_NTPOFF.
+
+2012-09-12 Jan Hubicka <jh@suse.cz>
+
+ * common.opt (flto-partition): Add "max".
+ * invoke.texi (flto-partition): Document "max"
+
+2012-09-12 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
+
+ * config/i386/i386.md : Comments on fma4 instruction selection
+ reflect requirement on register pressure based cost model.
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): fma4
+ flag is set-reset as informed by the cpuid flag.
+
+ * config/i386/i386.c (processor_alias_table): fma4
+ flag is enabled for bdver2.
+
+2012-09-12 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54489
+ * tree-ssa-pre.c: Include domwalk.h.
+ (in_fre): Remove.
+ (sccvn_valnum_from_value_id): New function.
+ (debug_bitmap_sets_for): Simplify.
+ (get_representative_for): Properly initialize the SCCVN valnum.
+ (create_expression_by_pieces): Likewise.
+ (insert_into_preds_of_block): Likewise.
+ (can_PRE_operation): Remove.
+ (make_values_for_phi): Simplify.
+ (compute_avail): Likewise.
+ (do_SCCVN_insertion): Remove.
+ (eliminate_avail, eliminate_push_avail, eliminate_insert):
+ New functions.
+ (eliminate): Split and perform a domwalk.
+ (eliminate_bb): Former eliminate part that is now dom-enter.
+ (eliminate_leave_block): New function.
+ (fini_eliminate): Likewise.
+ (init_pre): Simplify.
+ (fini_pre): Likewise.
+ (execute_pre): Fold into do_pre and do_fre.
+ (do_pre): Consume execute_pre.
+ (do_fre): Likewise.
+ * Makefile.in (tree-ssa-pre.o): Add domwalk.h dependency.
+
+2012-09-12 Diego Novillo <dnovillo@google.com>
+
+ * vec.h: Remove compatibility notes for previous distinction
+ between vectors of objects and vectors of pointers.
+
+2012-09-12 Christian Bruel <christian.bruel@st.com>
+
+ * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
+
+2012-09-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * rtl.h (FFS, FLOAT, ABS, PC): Don't undef.
+ * system.h (FFS, FLOAT, ABS, PC): Undef.
+
+2012-09-12 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/54553
+ * common.opt (finline): Mark with Optimization.
+
+2012-09-12 Jakub Jelinek <jakub@redhat.com>
+
+ * config.gcc: Obsolete picochip-*.
+
+2012-09-12 Nathan Froyd <froydnj@gcc.gnu.org>
+ Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config/mmix/mmix.h (MMIX_REG_OK_STRICT): Delete.
+ (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P): Delete.
+ (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
+ * config/mmix/mmix-protos.h (mmix_intval): Declare.
+ (mmix_const_ok_for_letter_p, mmix_extra_constraint): Delete.
+ (mmix_const_double_ok_for_letter_p): Delete.
+ * config/mmix/constraints.md: New file.
+ * config/mmix/mmix.md: Include it.
+ (iordi3): Fix typo; use "I" instead of undefined "H" constraint.
+ ("*call_real"): Update comment about not using the "p" constraint.
+ * config/mmix/predicates.md (mmix_reg_or_8bit_operand): Use
+ satisfies_constraint_I.
+ (mmix_address_operand): New predicate.
+ (mmix_symbolic_or_address_operand): Use it instead of address_operand.
+ * config/mmix/mmix.c: #include tm-constrs.h.
+ (mmix_intval): Delete declaration. Make non-static.
+ (mmix_const_ok_for_letter_p, mmix_extra_constraint): Delete.
+ (mmix_const_double_ok_for_letter_p): Delete.
+ (mmix_legitimate_address_p): Use satisfies_constraint_I.
+ (mmix_print_operand_address): Likewise.
+ (mmix_emit_sp_add): Adjust to use insn_const_int_ok_for_constraint
+ when matching "L" constraint.
+
+2012-09-11 Steven Bosscher <steven@gcc.gnu.org>
+
+ * tree.h (expand_case): Move prototype ...
+ * expr.h (expand_case): ...here.
+ (expand_sjlj_dispatch_table): New prototype.
+ * stmt.c: Include pointer-set.h instead of bitmap.h.
+ (expand_case): Use a pointer set instead of a bitmap for
+ already-seen labels. Fold label values here.
+ (add_case_node): Don't fold label values here.
+ (expand_sjlj_dispatch_table): New function.
+ * except.c (sjlj_emit_dispatch_table): Use it.
+
+2012-09-11 Marc Glisse <marc.glisse@inria.fr>
+
+ * tree-ssa-forwprop.c (simplify_vector_constructor): New function.
+ (ssa_forward_propagate_and_combine): Call it.
+
+2012-09-11 Diego Novillo <dnovillo@google.com>
+
+ * var-tracking.c (vt_add_function_parameter): Adjust for VEC changes.
+
+2012-09-11 Dominique Dhumieres <dominiq@lps.ens.fr>
+
+ * config/darwin.c (darwin_asm_named_section): Adjust for VEC changes.
+ (darwin_asm_dwarf_section): Likewise.
+
+2012-09-11 Martin Jambor <mjambor@suse.cz>
+
+ * dwarf2out.c (dwarf2out_abstract_function): Do not change cfun.
+ (premark_used_types): New parameter fun, use it instead of cfun.
+ (gen_subprogram_die): Use DECL_STRUCT_FUNCTION (decl) instead of cfun,
+ also pass it to premark_used_types.
+
+2012-09-11 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * doc/sourcebuild.texi (arm_neon_v2_ok): Adjust command line.
+
+2012-09-11 Tobias Burnus <burnus@net-b.de>
+
+ * doc/sourcebuild.texi (arm_neon_v2_ok): Fix @anchor.
+
+2012-09-11 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * config/arm/neon.md (fma<VCVTF:mode>4): New pattern.
+ (*fmsub<VCVTF:mode>4): Likewise.
+ * doc/sourcebuild.texi (arm_neon_v2_ok, arm_neon_v2_hw): Document it.
+
+2012-09-11 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/54149
+ * tree-ssa-loop-im.c (execute_sm_if_changed_flag_set): Only set
+ flag for writes.
+
+2012-09-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/55492
+ * doc/invoke.texi (max-slsr-cand-scan): New description.
+ * gimple-ssa-strength-reduction.c (find_basis_for_candidate): Limit
+ the time spent searching for a basis.
+ * params.def (PARAM_MAX_SLSR_CANDIDATE_SCAN): New param.
+
+2012-09-11 Richard Guenther <rguenther@suse.de>
+
+ * gimple.h (gimple_register_type): Remove.
+ (print_gimple_types_stats): Adjust prototype.
+ * lto-streamer.h (print_lto_report): Likewise.
+ * lto-streamer.c (print_lto_report): Adjust.
+ * gimple.c (gimple_types, type_hash_cache, enum gtc_mode,
+ struct type_pair_d, lookup_type_pair, struct sccs,
+ next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
+ gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
+ gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
+ visit, iterative_hash_name, struct type_hash_pair,
+ type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
+ gimple_type_eq, gimple_register_type_1, gimple_register_type):
+ Move to lto/lto.c.
+ (print_gimple_types_stats): Adjust.
+ (free_gimple_type_tables): Likewise.
+
+2012-09-11 Richard Guenther <rguenther@suse.de>
+
+ * graphite-scop-detection.c (move_sd_regions): Adjust for VEC changes.
+ (scopdet_basic_block_info): Likewise.
+ (build_scops_1): Likewise.
+ (limit_scops): Likewise.
+
+2012-09-11 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/54515
+ * gimple.c (get_base_address): Do not return NULL_TREE apart
+ from for WITH_SIZE_EXPR.
+ * gimple-fold.c (canonicalize_constructor_val): Do not call
+ get_base_address when not necessary.
+
+2012-09-10 Andrew Pinski <apinski@cavium.com>
+
+ PR tree-opt/54362
+ * trans-mem.c (thread_private_new_memory): Handle COND_EXPR also.
+
+2012-09-10 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/m68k/m68k.c (m68k_sched_dfa_post_advance_cycle): Support
+ starting scheduling from a pre-existing state.
+
+2012-09-10 Diego Novillo <dnovillo@google.com>
+
+ * vec.h (vec_t::quick_push): Remove overload that accepts 'T *'.
+ Update all users.
+ (vec_t::safe_push): Likewise.
+ (vec_t::quick_insert): Likewise.
+ (vec_t::lower_bound): Likewise.
+ (vec_t::safe_insert): Likewise.
+ (vec_t::replace): Change second argument to 'T &'.
+
+2012-09-10 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * config/rs6000/rs6000.md: Move a splitter next to its insn.
+
+2012-09-10 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Set always to 1 if
+ dynamic shifts are available.
+ (SHIFT_COUNT_TRUNCATED): Always define to 0. Correct comment.
+ * config/sh/sh.c (ashl_lshr_seq, ext_ashl_lshr_seq): Add comments.
+ * config/sh/predicates.md (shift_count_operand): Allow
+ arith_reg_operand even if TARGET_DYNSHIFT is false.
+ * config/sh/sh.md (ashlsi3, lshrsi3): Expand library call patterns
+ if needed.
+ (ashlsi3_d_call, lshrsi3_d_call): New insns.
+
+2012-09-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ira.c (setup_pressure_classes): Handle synonymous classes.
+
+2012-09-10 Marc Glisse <marc.glisse@inria.fr>
+
+ * tree-ssa-forwprop.c (simplify_bitfield_ref): New function.
+ (ssa_forward_propagate_and_combine): Call it.
+
+2012-09-10 Steve Ellcey <sellcey@mips.com>
+
+ * config.gcc: Add mips*-mti-linux* target
+ Handle with_synci like other options.
+ * config/mips/gnu-user64.h (LINUX64_DRIVER_SELF_SPECS): New.
+ (DRIVER_SELF_SPECS): Define in terms of LINUX64_DRIVER_SELF_SPECS.
+ * config/mips/mips.h (MIPS_ISA_SYNCI_SPEC): New.
+ * config/mips/mti-linux.h: New file.
+ * config/mips/t-mti-linux: New file.
+
+2012-09-10 Marc Glisse <marc.glisse@inria.fr>
+
+ * tree-ssa-forwprop.c (simplify_permutation): Handle CONSTRUCTOR.
+
+2012-09-10 Martin Jambor <mjambor@suse.cz>
+
+ * params.def (PARAM_IPA_MAX_AGG_ITEMS): New parameter.
+ * ipa-prop.c: Include params.h.
+ (IPA_MAX_AFF_JF_ITEMS): Removed.
+ (determine_known_aggregate_parts): Use param value of
+ PARAM_IPA_MAX_AGG_ITEMS instead of IPA_MAX_AFF_JF_ITEMS.
+ * Makefile.in (ipa-prop.o): Add PARAMS_H dependency.
+
+2012-09-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54520
+ * tree-ssa-threadupdate.c (def_split_header_continue_p):
+ Properly consider sub-loops.
+
+2012-09-10 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/predicates.md (small_symbolic_operand): Disallow
+ large offsets.
+
+2012-09-10 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/54536
+ * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287".
+
+2012-09-10 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (compute_ltrans_boundary): Do not care about aliases.
+ * symtab.c (symtab_make_decl_local): Remove user defined visibility
+ when making symbol local.
+
+2012-09-09 Mark Kettenis <kettenis@gnu.org>
+
+ * config/openbsd-stdint.h (INTMAX_TYPE, UINTMAX_TYPE): Define.
+
+2012-09-09 Jan Hubicka <jh@suse.cz>
+
+ * passes.c (ipa_write_summaries_1): Set state;
+ do not call compute_ltrans_boundary.
+ (ipa_write_optimization_summaries): Likewise.
+ (ipa_write_summaries): compute_ltrans_boundary here.
+ * lto-streamer.h (lto_symtab_encoder_d): NODES are allocated in heap.
+ (compute_ltrans_boundary): Update prototype.
+
+2012-09-09 Ulrich Drepper <drepper@gmail.com>
+
+ * config/i386/cpuid.h: Define signature_*_e[bcd]x macros for
+ matching results of level 0 calls to __cpuid to processor
+ manufacturers.
+ * config/i386/driver-i386.c (vendor_signatures): Removed.
+ (processor_signatures): Removed.
+ (host_detect_local_cpu): Replace uses of now-removed SIG_*
+ constants with the new signature_*_ebx constants.
+
+2012-09-08 Jan Hubicka <jh@suse.cz>
+
+ Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
+ in partitioning.
+ * tree-pass.h (cgraph_node_set_def, varpool_node_set_def): Remove
+ forward declaration.
+ (lto_symtab_encoder_d): Forward declare.
+ (ipa_write_optimization_summaries): Update.
+ * lto-cgraph.c (lto_symtab_encoder_new): Do not initialize
+ body, initializer and in_partition.
+ (lto_symtab_encoder_delete): Update.
+ (lto_symtab_encoder_encode): Update.
+ (lto_symtab_encoder_lookup): Move inline.
+ (lto_symtab_encoder_delete_node): New function.
+ (lto_symtab_encoder_encode_body_p, lto_set_symtab_encoder_encode_body,
+ lto_symtab_encoder_encode_initializer_p,
+ lto_set_symtab_encoder_encode_initializer,
+ lto_symtab_encoder_in_partition_p,
+ lto_symtab_encoder_in_partition_p): Update.
+ (compute_ltrans_boundary): Take encoder as an input.
+ * passes.c (ipa_write_summaries_1): Update.
+ (ipa_write_summaries_1): Update.
+ (ipa_write_summaries): Update.
+ (ipa_write_optimization_summaries): Update.
+ * lto-streamer.c (print_lto_report): Report number of cgraph nodes.
+ * lto-streamer.h (lto_stats_d): Replace num_output_cgraph_nodes by
+ num_output_symtab_nodes.
+ (lto_encoder_entry): New structure.
+ (struct lto_symtab_encoder_d): Reorg.
+ (lto_symtab_encoder_delete_node): Declare.
+ (lto_symtab_encoder_lookup): Bring inline.
+ (compute_ltrans_boundary): Update.
+ (lto_symtab_encoder_size): Update.
+ (lsei_node, lsei_cgraph_node, lsei_varpool_node): Update.
+ (lto_symtab_encoder_deref): Update.
+
+2012-09-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/pa.c (hppa_rtx_costs): Update costs for large
+ integer modes.
+
+2012-09-08 Andi Kleen <ak@linux.intel.com>
+
+ * lto/lto.c (do_whole_program_analysis): Fix last broken patch.
+
+2012-09-08 Andi Kleen <ak@linux.intel.com>
+
+ * common.opt (-fmem-report-wpa): Add
+ * doc/invoke.texi (-fmem-report-wpa): Document.
+ * lto/lto.c (do_whole_program_analysis): Run mem_report
+ when mem_report_wpa is set.
+
+2012-09-07 Anthony Green <green@moxielogic.com>
+
+ * config/moxie/moxie.c (moxie_expand_prologue): Optimize prologue
+ for functions with large static stack requirements.
+ (moxie_expand_epilogue): Use $r12 instead of $r5 for pulling saved
+ values off of the stack.
+
+2012-09-07 Nick Clifton <nickc@redhat.com>
+
+ * config/v850/v850.h (DBX_DEBUGGING_INFO): Define.
+ (ASM_GENERATE_INTERNAL_LABEL): Define if not already provided.
+ * config/v850/v850.c (compute_register_save_size): Always include
+ the link pointer.
+ (increment_stack): New function - emits insns to increment or
+ decrement the stack pointer.
+ (expand_prologue, expand_epilogue): Use it.
+ (expand_prologue): Set the function stack size, if requested.
+ (v850_debug_unwind_info): New function.
+ (TARGET_DEBUG_UNWIND_INFO): Define.
+
+2012-09-07 Richard Earnshaw <rearnsha@arm.com>
+
+ PR tree-ssa/54295
+ * tree-ssa-math-opts.c (widening_mult_conversion_strippable_p):
+ Sign-extension of a zero-extended value can be simplified to
+ just zero-extension.
+
+2012-09-07 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53667
+ * tree-ssa-structalias.c (handle_rhs_call): Properly clobber
+ EAF_NOESCAPED arguments. Transitively close non-EAF_DIRECT
+ arguments separately.
+
+2012-09-07 Steven Bosscher <steven@gcc.gnu.org>
+
+ * bitmap.c (bitmap_last_set_bit): Rewrite to return the correct bit.
+
+ * graphite.c (print_global_statistics): Use EDGE_COUNT instead
+ of VEC_length.
+ (print_graphite_scop_statistics): Likewise.
+ * graphite-scop-detection.c (get_bb_type): Use single_succ_p.
+ (print_graphite_scop_statistics): Use EDGE_COUNT, not VEC_length.
+ (canonicalize_loop_closed_ssa): Use single_pred_p.
+
+ * alias.c (reg_seen): Make this an sbitmap.
+ (record_set, init_alias_analysis): Update.
+
+ * tree-ssa-coalesce.c (ssa_conflicts_dump): Fix dumping.
+
+2012-09-07 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/53986
+ * tree-vrp.c (extract_range_from_multiplicative_op_1): Allow
+ LSHIFT_EXPR.
+ (extract_range_from_binary_expr_1): Handle LSHIFT with constant
+ range as shift amount.
+
+2012-09-07 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/aix43.h (RS6000_CALL_GLUE): Delete.
+ * config/rs6000/aix51.h (RS6000_CALL_GLUE): Delete.
+ * config/rs6000/aix52.h (RS6000_CALL_GLUE): Delete.
+ * config/rs6000/aix53.h (RS6000_CALL_GLUE): Delete.
+ * config/rs6000/aix61.h (RS6000_CALL_GLUE): Delete.
+ * config/rs6000/freebsd64.h (RS6000_CALL_GLUE): Delete.
+ * config/rs6000/linux64.h (RS6000_CALL_GLUE): Delete.
+ * config/rs6000/rs6000.c (print_operand) ['.']: Delete.
+ * config/rs6000/rs6000.h (RS6000_CALL_GLUE): Delete.
+ * config/rs6000/rs6000.md (tls_gd_aix<TLSmode:tls_abi_suffix>):
+ Replace %. with nop.
+ (tls_gd_call_aix<TLSmode:tls_abi_suffix>): Ditto.
+ (tls_ld_aix<TLSmode:tls_abi_suffix>): Ditto.
+ (tls_ld_call_aix<TLSmode:tls_abi_suffix>): Ditto.
+ (call_nonlocal_aix32): Ditto.
+ (call_nonlocal_aix64): Ditto.
+ (call_value_nonlocal_aix32): Ditto.
+ (call_value_nonlocal_aix64): Ditto.
+
+2012-09-06 Andi Kleen <ak@linux.intel.com>
+
+ * doc/invoke.texi (-ffat-lto-objects): Clarify that gcc-ar
+ et.al. should be used.
+
+2012-09-06 Andi Kleen <ak@linux.intel.com>
+
+ * lto-streamer.h (res_pair): Add.
+ (lto_file_decl_data): Replace resolutions with respairs.
+ Add max_index.
+ * lto/lto.c (lto_resolution_read): Remove max_index. Add rp.
+ Initialize respairs.
+ (lto_file_finalize): Set up resolutions vector lazily from respairs.
+
+2012-09-06 Lawrence Crowl <crowl@google.com>
+
+ * double-int.h (double_int::operator &=): New.
+ (double_int::operator ^=): New.
+ (double_int::operator |=): New.
+ (double_int::mul_with_sign): Modify overflow parameter to bool*.
+ (double_int::add_with_sign): New.
+ (double_int::ule): New.
+ (double_int::sle): New.
+ (binary double_int::operator *): Remove parameter name.
+ (binary double_int::operator +): Likewise.
+ (binary double_int::operator -): Likewise.
+ (binary double_int::operator &): Likewise.
+ (double_int::operator |): Likewise.
+ (double_int::operator ^): Likewise.
+ (double_int::and_not): Likewise.
+ (double_int::from_shwi): Tidy formatting.
+ (double_int::from_uhwi): Likewise.
+ (double_int::from_uhwi): Likewise.
+ * double-int.c (double_int::mul_with_sign): Modify overflow parameter
+ to bool*.
+ (double_int::add_with_sign): New.
+ (double_int::ule): New.
+ (double_int::sle): New.
+ * builtins.c: Modify to use the new double_int interface.
+ * cgraph.c: Likewise.
+ * combine.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * emit-rtl.c: Likewise.
+ * expmed.c: Likewise.
+ * expr.c: Likewise.
+ * fixed-value.c: Likewise.
+ * fold-const.c: Likewise.
+ * gimple-fold.c: Likewise.
+ * gimple-ssa-strength-reduction.c: Likewise.
+ * gimplify-rtx.c: Likewise.
+ * ipa-prop.c: Likewise.
+ * loop-iv.c: Likewise.
+ * optabs.c: Likewise.
+ * stor-layout.c: Likewise.
+ * tree-affine.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-dfa.c: Likewise.
+ * tree-flow-inline.h: Likewise.
+ * tree-object-size.c: Likewise.
+ * tree-predcom.c: Likewise.
+ * tree-pretty-print.c: Likewise.
+ * tree-sra.c: Likewise.
+ * tree-ssa-address.c: Likewise.
+ * tree-ssa-alias.c: Likewise.
+ * tree-ssa-ccp.c: Likewise.
+ * tree-ssa-forwprop.c: Likewise.
+ * tree-ssa-loop-ivopts.c: Likewise.
+ * tree-ssa-loop-niter.c: Likewise.
+ * tree-ssa-phiopt.c: Likewise.
+ * tree-ssa-pre.c: Likewise.
+ * tree-ssa-sccvn: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-ssa.c: Likewise.
+ * tree-switch-conversion.c: Likewise.
+ * tree-vect-loop-manip.c: Likewise.
+ * tree-vrp.c: Likewise.
+ * tree.h: Likewise.
+ * tree.c: Likewise.
+ * varasm.c: Likewise.
+
+2012-09-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * configure.ac (hle prefixes): Remove .code64 directive.
+ * configure: Regenerated.
+
+2012-09-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.c: Use CONST_INT_P, CONST_DOUBLE_P, REG_P, MEM_P,
+ LABEL_P, JUMP_P, CALL_P, NOTE_P, BARRIER_P consistently.
+ * config/arm/arm.h: Use REG_P, MEM_P consistently.
+ * config/arm/arm.md: Use CONST_INT_P, REG_P, MEM_P, CONST_DOUBLE_P
+ consistently.
+ * config/arm/neon.md: Use REG_P consistently.
+ * config/arm/predicates.md: Use CONST_INT_P, REG_P, MEM_P consistently.
+ * config/arm/thumb2.md: Use CONST_INT_P, REG_P consistently.
+ * config/arm/vec-common.md: Use REG_P consistently.
+
+2012-09-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54498
+ * tree-ssa-alias.h (get_continuation_for_phi): Add flag to
+ abort when reaching an already visited region.
+ * tree-ssa-alias.c (maybe_skip_until): Likewise. And do it.
+ (get_continuation_for_phi_1): Likewise.
+ (walk_non_aliased_vuses): When we translated the reference,
+ abort when we re-visit a region.
+ * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
+
+2012-09-06 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Add TLS
+ section.
+ * config/rs6000/rs6000.c (rs6000_debug_address_cost): Add new
+ arguments to TARGET_ADDRESS_COST call.
+
+2012-09-06 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (MOVE_NONTEMPORAL): Remove.
+ * tree-pretty-print.c (dump_generic_node): Remove
+ MOVE_NONTEMPORAL handling.
+ * expr.c (expand_expr_real_1): Likewise.
+
+2012-09-06 Richard Guenther <rguenther@suse.de>
+
+ * passes.c (execute_function_todo): Call compute_may_aliases
+ only if flag_tree_pta is set.
+
+2012-09-06 Andrew Pinski <apinski@cavium.com>
+
+ PR tree-opt/54494
+ * tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also.
+
+2012-09-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/54455
+ * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru
+ bb ends up with asm goto referencing bb's label.
+
+2012-09-06 Chen Liqin <liqin.gcc@gmail.com>
+
+ * config/score/score.c: Remove TARGET_LEGITIMIZE_ADDRESS define and
+ score_legitimize_address function, use compiler default code instead.
+
+2012-09-05 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (want_inline_small_function_p): Use
+ INLINE_HINT_loop_iterations hint.
+
+2012-09-05 Andrew Pinski <apinski@cavium.com>
+
+ * optabs.c (emit_conditional_add): Correct comment about the arguments.
+ Remove code which might swap op2 and op3 since they cannot be swapped.
+ * doc/md.texi (add@var{mode}cc): Fix document about how the arguments
+ are used.
+
+2012-09-05 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * hooks.c (hook_int_rtx_mode_as_bool_0): New function.
+ * hooks.h (hook_int_rtx_mode_as_bool_0): Declare it.
+ * output.h (default_address_cost): Add machine_mode and address space
+ arguments.
+ * target.def (address_cost): Likewise.
+ * rtlanal.c (address_cost): Pass mode and address space to target hook.
+ (default_address_cost): Add unnamed machine_mode and address space
+ arguments.
+ * doc/tm.texi: Regenerate.
+ * config/alpha/alpha.c (TARGET_ADDRESS_COST): Use
+ hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
+ * config/arm/arm.c (arm_address_cost): Add machine_mode and address
+ space arguments.
+ * config/avr/avr.c (avr_address_cost): Likewise.
+ * config/bfin/bfin.c (bfin_address_cost): Likewise.
+ * config/cr16/cr16.c (cr16_address_cost): Likewise.
+ * config/cris/cris.c (cris_address_cost): Likewise.
+ * config/epiphany/epiphany.c (epiphany_address_cost): Likewise.
+ * config/i386/i386.c (ix86_address_cost): Likewise.
+ * config/ia64/ia64.c (TARGET_ADDRESS_COST): Use
+ hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
+ * config/iq2000/iq2000.c (iq2000_address_cost): Add machine_mode and
+ address space arguments. Pass them on in recursive invocation.
+ * config/lm32/lm32.c (TARGET_ADDRESS_COST): Use
+ hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
+ * config/m32c/m32c.c (m32c_address_cost): Add machine_mode and address
+ space arguments.
+ * config/m32r/m32r.c (TARGET_ADDRESS_COST): Use
+ hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
+ * config/mcore/mcore.c (TARGET_ADDRESS_COST): Likewise.
+ * config/mep/mep.c (mep_address_cost): Add machine_mode and address
+ space arguments.
+ * config/microblaze/microblaze.c (microblaze_address_cost): Likewise.
+ * config/mips/mips.c (mips_address_cost): Likewise.
+ * config/mmix/mmix.c (TARGET_ADDRESS_COST): Use
+ hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
+ * config/mn10300/mn10300.c (mn10300_address_cost): Add machine_mode and
+ address space arguments.
+ (mn10300_rtx_costs): Pass GET_MODE (x) and MEM_ADDR_SPACE (x) to
+ mn10300_address_cost.
+ * config/pa/pa.c (hppa_address_cost): Add machine_mode and address
+ space arguments.
+ * config/rs6000/rs6000.c (rs6000_debug_address_cost): Likewise.
+ (TARGET_ADDRESS_COST): Use hook_int_rtx_mode_as_bool_0 instead of
+ hook_int_rtx_bool_0.
+ * config/rx/rx.c (rx_address_cost): Add machine_mode and address
+ space arguments.
+ * config/s390/s390.c (s390_address_cost): Likewise.
+ * config/score/score-protos.h (score_address_cost): Likewise.
+ * config/score/score.c (score_address_cost): Likewise.
+ * config/sh/sh.c (sh_address_cost): Likewise.
+ * config/sparc/sparc.c (TARGET_ADDRESS_COST): Use
+ hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
+ * config/spu/spu.c (TARGET_ADDRESS_COST): Likewise.
+ * config/stormy16/stormy16.c (xstormy16_address_cost): Add machine_mode
+ and address space arguments.
+ * config/v850/v850.c (TARGET_ADDRESS_COST): Use
+ hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
+ * config/vax/vax.c (vax_address_cost): Add machine_mode and address
+ space arguments.
+ * config/xtensa/xtensa (TARGET_ADDRESS_COST): Use
+ hook_int_rtx_mode_as_bool_0 instead of hook_int_rtx_bool_0.
+
+2012-09-05 Diego Novillo <dnovillo@google.com>
+
+ PR bootstrap/54484
+ * vec.h (vec_t::lower_bound): Fix spelling of LESSTHAN argument.
+
+2012-09-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/54486
+ * builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use
+ build_int_cst with size_type_node instead of size_int.
+
+2012-09-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>):
+ Use register_operand instead of reg_not_xmm0_operand{,_maybe_avx}.
+ Use nonimmediate_operand instead of
+ nonimm_not_xmm0_operand{,_maybe_avx}.
+ (<sse4_1_avx2>_pblendvb): Ditto.
+ (sse4_2_pcmpestr): Ditto.
+ (*sse4_2_pcmpestr_unaligned): Ditto.
+ (sse4_2_pcmpistr): Ditto.
+ (*sse4_2_pcmpistr_unaligned): Ditto.
+ * config/i386/predicates.md (reg_not_xmm0_operand): Remove predicate.
+ (nonimm_not_xmm0_operand): Ditto.
+ (nonimm_not_xmm0_operand_maybe_avx): Ditto.
+ (nonimm_not_xmm0_operand_maybe_avx): Ditto.
+ * config/i386/i386.md (rdpmc): Do not force operand 1 into ecx.
+
+2012-09-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * bb-reorder.c: Clarify a few points in the head comment and fix
+ long lines in other comments.
+ (find_traces): Fix long line.
+ (find_traces_1_round): Likewise.
+ (better_edge_p): Likewise.
+ (connect_traces): Likewise.
+ (duplicate_computed_gotos): Likewise.
+ (find_rarely_executed_basic_blocks_and_cr): Remove trailing spaces.
+ (fix_up_fall_thru_edges): Fix formatting.
+
+2012-09-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46590
+ * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Do not
+ update SSA form here.
+ (canonicalize_induction_variables): Assert we do not need to
+ update SSA form.
+ (tree_unroll_loops_completely): Update SSA form here.
+ * tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge):
+ Do not verify loop-closed SSA form if SSA form is not up-to-date.
+
+2012-09-05 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/54461
+ * config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
+ not configured --with-avrlibc=no.
+ (tm_defines,target=avr-*-*): Add WITH_AVRLIBC if not configured
+ --with-avrlibc=no.
+ * config/avr/avrlibc.h: New file.
+ * config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
+ not configured --with-avrlibc=no.
+ * doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__
+
+2012-09-04 Teresa Johnson <tejohnson@google.com>
+
+ * gcov-io.c (gcov_write_summary): Write out non-zero histogram
+ entries to function summary along with an occupancy bit vector.
+ (gcov_read_summary): Read in the histogram entries.
+ (gcov_histo_index): New function.
+ (void gcov_histogram_merge): Ditto.
+ * gcov-io.h (gcov_type_unsigned): New type.
+ (struct gcov_bucket_type): Ditto.
+ (struct gcov_ctr_summary): Include histogram.
+ (GCOV_TAG_SUMMARY_LENGTH): Update to include histogram entries.
+ (GCOV_HISTOGRAM_SIZE): New macro.
+ (GCOV_HISTOGRAM_BITVECTOR_SIZE): Ditto.
+ * profile.c (NUM_GCOV_WORKING_SETS): Ditto.
+ (gcov_working_sets): New global variable.
+ (compute_working_sets): New function.
+ (find_working_set): Ditto.
+ (get_exec_counts): Invoke compute_working_sets.
+ * coverage.c (read_counts_file): Merge histograms, and
+ fix bug with accessing summary info for non-summable counters.
+ * basic-block.h (gcov_type_unsigned): New type.
+ (struct gcov_working_set_info): Ditto.
+ (find_working_set): Declare.
+ * gcov-dump.c (tag_summary): Dump out histogram.
+
+2012-09-04 Diego Novillo <dnovillo@google.com>
+
+ PR bootstrap/54484
+ * vec.h (vec_t::embedded_init): Move default argument value
+ to function declaration.
+
+2012-09-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * bb-reorder.c (gate_handle_reorder_blocks): Move around.
+ (rest_of_handle_reorder_blocks): Likewise.
+ (pass_reorder_blocks): Likewise.
+ (gate_handle_partition_blocks): Likewise.
+
+2012-09-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/54456
+ * sched-rgn.c (gate_handle_sched): Return 1 only if optimize > 0.
+
+2012-09-04 Diego Novillo <dnovillo@google.com>
+
+ PR bootstrap/54478
+ * vec.h (vec_t::alloc): Remove explicit type specification
+ in call to reserve.
+ (vec_t::copy): Likewise.
+ (vec_t::reserve): Likewise.
+ (vec_t::reserve_exact): Likewise.
+ (vec_t::safe_splice): Likewise.
+ (vec_t::safe_push): Likewise.
+ (vec_t::safe_grow): Likewise.
+ (vec_t::safe_grow_cleared): Likewise.
+ (vec_t::safe_insert): Likewise.
+
+2012-09-04 Richard Henderson <rth@redhat.com>
+
+ * alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.
+
+2012-09-04 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (value_expressions): Make it a vector of
+ bitmaps containing expression IDs.
+ (add_to_value): Adjust.
+ (sorted_array_from_bitmap_set): Likewise.
+ (bitmap_set_replace_value): Likewise.
+ (print_value_expressions): Likewise.
+ (get_constant_for_value_id): Likewise.
+ (get_representative_for): Likewise.
+ (phi_translate_1): Likewise.
+ (bitmap_find_leader): Likewise.
+ (find_or_generate_expression): Likewise.
+ (do_regular_insertion): Likewise.
+ (init_pre): Likewise.
+ (fini_pre): Likewise.
+
+2012-09-04 Diego Novillo <dnovillo@google.com>
+
+ PR bootstrap/54479
+ * vec.h (vec_t::copy): Add cast in call to reserve_exact.
+
+2012-09-04 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (add_to_exp_gen): Adjust.
+ (make_values_for_phi): Do not add to PHI_GEN for FRE.
+ (compute_avail): Stop processing after adding all defs to
+ AVAIL_OUT for FRE.
+ (init_pre): Do not allocate not needed bitmap sets for FRE.
+
+2012-09-04 Diego Novillo <dnovillo@google.com>
+
+ Rewrite VEC_* functions as member functions of vec_t.
+
+ * vec.h: Update documentation.
+ (ALONE_VEC_CHECK_INFO): Define.
+ (ALONE_VEC_CHECK_DECL): Define.
+ (ALONE_VEC_CHECK_PASS): Define.
+ (struct vec_prefix): Rename field NUM to NUM_.
+ Rename field ALLOC to ALLOC_.
+ Update all users.
+ (struct vec_t): Rename field PREFIX to PREFIX_.
+ Rename field VEC to VEC_.
+ Update all users.
+ (vec_t::length): Rename from VEC_length_1. Update all users.
+ (vec_t::empty): Rename from VEC_empty_1. Update all users.
+ (vec_t::address): Rename from VEC_address_1. Update all users.
+ (vec_address): New.
+ (vec_t::last): Rename from VEC_last_1. Update all users.
+ (vec_t::operator[]): Rename from VEC_index_1. Update all users.
+ (vec_t::iterate): Rename from VEC_iterate_1. Update all users.
+ (vec_t::embedded_size): Rename from VEC_embedded_size_1.
+ Update all users.
+ (vec_t::embedded_init): Rename from VEC_embedded_init_1.
+ Update all users.
+ (vec_t::alloc): Rename from VEC_alloc_1. Update all users.
+ (vec_t::free): Rename from VEC_free_1. Update all users.
+ (vec_t::copy): Rename from VEC_copy_1. Update all users.
+ (vec_t::space): Rename from VEC_space_1. Update all users.
+ (vec_t::reserve): Rename from VEC_reserve_1. Update all users.
+ (vec_t::reserve_exact): Rename from VEC_reserve_exact_1.
+ Update all users.
+ (vec_t::splice): Rename from VEC_splice_1. Update all users.
+ (vec_t::safe_splice): Rename from VEC_safe_splice_1. Update all users.
+ (vec_t::quick_push): Rename from VEC_quick_push_1. Update all users.
+ (vec_t::safe_push): Rename from VEC_safe_push_1. Update all users.
+ (vec_t::pop): Rename from VEC_pop_1. Update all users.
+ (vec_t::truncate): Rename from VEC_truncate_1. Update all users.
+ (vec_t::safe_grow): Rename from VEC_safe_grow_1. Update all users.
+ (vec_t::safe_grow_cleared): Rename from VEC_safe_grow_cleared_1.
+ Update all users.
+ (vec_t::replace): Rename from VEC_replace_1. Update all users.
+ (vec_t::quick_insert): Rename from VEC_quick_insert_1.
+ Update all users.
+ (vec_t::safe_insert): Rename from VEC_safe_insert_1. Update all users.
+ (vec_t::ordered_remove): Rename from VEC_ordered_remove_1.
+ Update all users.
+ (vec_t::unordered_remove): Rename from VEC_unordered_remove_1.
+ Update all users.
+ (vec_t::block_remove): Rename from VEC_block_remove_1. Update all users.
+ (vec_t::lower_bound): Rename from VEC_lower_bound_1. Update all users.
+
+2012-09-04 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gimple.h (gimple_build_switch): Remove.
+ (gimple_build_switch_vec): Promote to the new gimple_build_switch.
+ (gimple_switch_default_label): Assert the default case label is
+ really a default case label.
+ (gimple_switch_set_default_label): Likewise.
+ * gimple.c (gimple_build_switch_nlabels): Make sure a default label
+ is passed in, and simplify accordingly.
+ (gimple_build_switch): Removed.
+ (gimple_build_switch_vec): Rename to gimple_build_switch.
+ * gimplify.c (gimplify_switch_expr): Update gimple_build_switch use.
+ * gimple-pretty-print.c (dump_gimple_switch): Do not accept a NULL
+ case label.
+ * stmt.c (expand_case): Simplify using the fact that every GIMPLE
+ switch must have a default case.
+ * tree-cfg.c (group_case_labels_stmt): Likewise.
+ (verify_gimple_switch): Use gimple_switch_label in verifier to get
+ the label at index 0, and verify that it is a valid default case.
+ * except.c (sjlj_emit_dispatch_table): Rewrite construction of the
+ switch for dispatching.
+ * tree-eh.c (lower_try_finally_switch): Update gimple_build_switch use.
+ (lower_eh_dispatch): Likewise.
+ * tree-vrp.c (execute_vrp): Use gimple_switch_label to get the case
+ label at index 0 before turning it into a default case label.
+ * omp-low.c (expand_omp_sections): Update gimple_build_switch use.
+ * tree-switch-conversion.c (emit_case_bit_tests): Get the default case
+ label using gimple_switch_default_label.
+ (collect_switch_conv_info): Likewise.
+ (process_switch): Likewise.
+ * doc/gimple.texi: Update documentation of gimple_build_switch.
+
+2012-09-04 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/54476
+ * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with
+ SImode.
+
+2012-09-04 Bin Cheng <bin.cheng@arm.com>
+
+ PR target/45070
+ * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value
+ of size less than 4 bytes by using macro ARM_NUM_INTS.
+ (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS.
+
+2012-09-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54458
+ * tree-ssa-threadupdate.c (thread_through_loop_header): If we
+ turn the loop into one with multiple latches mark it so.
+
+2012-09-04 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+
+ PR target/54220
+ * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
+ define to...
+ (avr_allocate_stack_slots_for_args): ...this new static function.
+
+2012-09-04 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * config/arm/arm.c (arm_expand_builtin): Replace gen_rtx_CONST_INT
+ by GEN_INT.
+ (arm_emit_coreregs_64bit_shift): Likewise.
+
+2012-09-04 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * config/arm/arm.c (arm_evpc_neon_vext): New function.
+ (arm_expand_vec_perm_const_1): Add call to arm_evpc_neon_vext.
+
+2012-09-04 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh.c (prepare_cbranch_operands): Pull out comparison
+ canonicalization code into...
+ * (sh_canonicalize_comparison): This new function.
+ * config/sh/sh-protos.h: Declare it.
+ * config/sh/sh.h: Use it in new macro CANONICALIZE_COMPARISON.
+ * config/sh/sh.md (cbranchsi4): Remove TARGET_CBRANCHDI4 check and
+ always invoke expand_cbranchsi4.
+
+2012-09-03 Andi Kleen <ak@linux.intel.com>
+
+ * tree-ssa-sccvn.c (vn_reference_fold_indirect): Initialize
+ addr_offset always.
+
+2012-09-03 Andrew Pinski <apinski@cavium.com>
+
+ PR tree-opt/53395
+ * tree-if-conv.c (constant_or_ssa_name): New function.
+ (fold_build_cond_expr): New function.
+ (predicate_scalar_phi): Use fold_build_cond_expr instead of build3.
+ (predicate_mem_writes): Likewise.
+
+2012-09-03 Marc Glisse <marc.glisse@inria.fr>
+
+ * fold-const.c (fold_ternary_loc): Constant-propagate after
+ removing dead operands.
+
+2012-09-03 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/46590
+ * tree-cfg.c (gimple_duplicate_sese_region): Don't update
+ SSA web here ...
+ * tree-ssa-loop-ch.c (copy_loop_headers): ... but here.
+
+2012-09-03 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi: Fix numerous typos and punctuation/grammatical
+ errors throughout the file. Re-word some awkward sentences and
+ paragraphs.
+
+2012-09-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54362
+ * tree-ssa-structalias.c (find_func_aliases): Handle COND_EXPR.
+
+2012-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_loadrelative_operand_p): New function.
+ (s390_check_qrst_address, print_operand_address): Use
+ s390_loadrelative_operand_p instead of s390_symref_operand_p.
+ (s390_check_symref_alignment): Accept pointer size alignment for
+ GOT slots.
+ (legitimize_pic_address): Use load relative on z10 or later.
+
+2012-09-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/53923
+ * valtrack.c (dead_debug_insert_temp): Drop non-reg uses
+ from the chain.
+
+2012-09-03 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (--no-sysroot-suffix): New driver option.
+ * doc/invoke.texi (--no-sysroot-suffix): Document.
+ * gcc.c (driver_handle_option): Handle --no-sysroot-suffix as not
+ needing spec processing.
+ (main): Do not process sysroot suffixes if no_sysroot_suffix.
+
+2012-09-02 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/33135
+ * common/config/sh/sh-common.c: Update copyright years.
+ (sh_option_init_struct): Delete.
+ (TARGET_OPTION_INIT_STRUCT): Likewise.
+
+2012-09-02 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54418
+ * config/sh/sh.md (cmpgeusi_t): Remove N alternative.
+ Check operands[1] in split condition instead of operands[0].
+ Add comments.
+
+2012-09-02 Mark Kettenis <kettenis@openbsd.org>
+
+ * config.gcc (x86_64-*-openbsd*): New target.
+ * config.host (*-*-openbsd*): New target.
+ * config/openbsd.h (TARGET_C99_FUNCTIONS): Define.
+ * config/i386/openbsdelf.h: Remove some superfluous defines and
+ group things together in a more logical fashion.
+ (DBX_REGISTER_NUMBER): Provide a
+ definition that works on both 32-bit and 64-bit targets.
+ (WCHAR_TYPE_SIZE): Hardcode as 32.
+ (NO_DOLLAR_IN_LABEL): Remove undef.
+ (TARGET_DEFAULT): Remove.
+ (SET_ASM_OP): Remove.
+ (DEFAULT_PCC_STRUCT_RETURN): Undef first to prevent warning.
+ (ASM_OUTPUT_MAX_SKIP_ALIGN): Synch with x86-64.h
+ (DWARF2_UNWIND_INFO): Remove define.
+ (HAVE_ENABLE_EXECUTE_STACK): Define.
+ * config/host-openbsd.c: New file.
+ * config/t-openbsd (USER_H): Add EXTRA_HEADERS.
+ * config/x-openbsd: New file.
+
+2012-09-02 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md (*extend<mode>si2_compact_mem_disp): Pass iterated
+ mode to sh_legitimate_index_p instead of QImode.
+
+2012-09-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/54369
+ * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
+ calling dbr_schedule.
+ * config/sparc/sparc.c (sparc_reorg): Likewise.
+
+2012-09-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/54436
+ * config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
+ operands[1] is CONST_INT_P, convert it to QImode before printing.
+
+2012-09-01 Andrew Pinski <apinski@cavium.com>
+
+ * simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>):
+ A truncate of a memory is just loading the low part of the memory.
+
+2012-09-01 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/46829
+ PR target/46843
+ * config/i386/i386.c (ix86_legitimate_combined_insn): New function.
+ (TARGET_LEGITIMATE_COMBINED_INSN): New macro.
+
+2012-09-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * target.def (legitimate_combined_insn): New target hook.
+ * doc/tm.texi.in (TARGET_LEGITIMATE_COMBINED_INSN): New hook.
+ * doc/tm.texi: Regenerated.
+ * combine.c (recog_for_combine): Call targetm.legitimate_combined_insn
+ to allow targets to reject combined insn.
+ * hooks.h (hook_bool_rtx_true): New.
+ * hooks.c (hook_bool_rtx_true): Ditto.
+
+2012-08-31 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-inline-analysis.c (estimate_function_body_sizes): Allocate
+ nonconstant_names after calculate_dominance_info and
+ loop_optimizer_init.
+
+2012-08-31 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * config/arm/arm.c (arm_expand_epilogue): Remove unused variable
+ floats_from_frame.
+
+2012-08-31 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/54409
+ * ipa-inline-analysis.c (remap_predicate): Fix the offset_map
+ checking condition.
+
+2012-08-31 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-inline-analysis.c (phi_result_unknown_predicate): New function.
+ (predicate_for_phi_result): Likewise.
+ (estimate_function_body_sizes): Use the above two functions.
+
+2012-08-31 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/54394
+ * ipa-inline-analysis.c (estimate_function_body_sizes): Compute
+ dominance info and loops whenever optimizing.
+
+2012-08-29 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ Richard Earnshaw <richard.earnshaw@arm.com>
+
+ PR target/54252
+ * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
+ element size. Use elem_type from the formal parameter. New parameter
+ fcode.
+ (neon_expand_args): Adjust call to neon_dereference_pointer.
+
+2012-08-29 Steven Bosscher <steven@gcc.gnu.org>
+
+ * cfg.c (dump_bb_info): Print a newline if there were no edges to dump.
+
+2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
+
+ Revert:
+ * config/mips/t-linux64 (MULTILIB_OSDIRNAMES): Change to use
+ mapping style, add ../lib/mips16.
+ (MULTILIB_OPTIONS,MULTILIB_DIRNAMES): Add mips16.
+ (MULTILIB_EXCLUSIONS): Exclude mips16 when not -mabi=32.
+
+2012-08-29 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_synci
+ if TARGET_SYNCI.
+
+2012-08-29 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.opt (menable-tas): Rename to mtas.
+ * doc/invoke.texi (SH options): Likewise.
+ * config/sh/sync.md: Update comments.
+
+2012-08-29 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/iterators.md: New file.
+ * config/sh/sync.md (I124, I12, i124suffix): Delete. Replace usage
+ with new iterators QIHISI, QIHI, bw, bwl respectively throughout
+ the file.
+ * config/sh/sh.md: Include new file iterators.md.
+ (zero_extendhisi2, zero_extendqisi2): Fold into zero_extend<mode>si2.
+ (*zero_extendhisi2_compact, *zero_extendqisi2_compact): Fold into
+ *zero_extend<mode>si2_compact.
+ (*zero_extendqisi2_disp_mem, zero_extendhisi2_disp_mem): Fold into
+ *zero_extend<mode>si2_disp_mem.
+ (extendhisi2, extendqisi2): Fold into extend<mode>si2.
+ (*extendqisi2_compact_reg, *extendhisi2_compact_reg): Fold into
+ *extend<mode>si2_compact_reg.
+ (*extendqisi2_compact_mem_disp, *extendhisi2_compact_mem_disp): Fold
+ into *extend<mode>si2_compact_mem_disp.
+ (*extendqisi2_compact_snd, *extendhisi2_compact_snd): Fold into
+ *extend<mode>si2_compact_snd.
+ (*movsi_index_disp, *movhi_index_disp): Fold with iterators and rename
+ to *movsi_index_disp_load, *movhi_index_disp_load,
+ *mov<mode>_index_disp_store.
+ (*movqi_reg_reg, *movhi_reg_reg): Fold into *mov<mode>_reg_reg.
+ (*movqi_store_mem_disp04, *movhi_store_mem_disp05): Fold into
+ *mov<mode>_store_mem_disp04.
+ (*movqi_store_mem_disp12, *movhi_store_mem_disp13): Fold into
+ *mov<mode>_store_mem_disp12.
+ (*movqi_load_mem_disp, *movhi_load_mem_disp): Fold into
+ *mov<mode>_load_mem_disp04 and *mov<mode>_load_mem_disp12.
+
+2012-08-29 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-inline.h (estimate_edge_hints): Call do_estimate_edge_hints, not
+ do_estimate_edge_time.
+
+2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm
+ directives, remove #ifndef __mips16 guards.
+ * config/mips/t-linux64 (MULTILIB_OSDIRNAMES): Change to use
+ mapping style, add ../lib/mips16.
+ (MULTILIB_OPTIONS,MULTILIB_DIRNAMES): Add mips16.
+ (MULTILIB_EXCLUSIONS): Exclude mips16 when not -mabi=32.
+
+2012-08-28 Walter Lee <walt@tilera.com>
+ * confg/tilegx/tilegx.md: Fix code style.
+ (*zero_extendsidi_truncdisi): Fix typo.
+ * config/tilegx/tilegx.c: Fix code style.
+ (tilegx_function_profiler): Fix typo.
+
+2012-08-28 Walter Lee <walt@tilera.com>
+
+ * doc/invoke.texi: Document -mcmodel=small, -mcmodel=large.
+ * config/tilegx/tilegx.h: Include config/tilegx/tilegx-opts.h.
+ (CRT_CALL_STATIC_FUNCTION): Define.
+ * config/tilegx/predicates.md (const_last_symbolic_operand):
+ Handle UNSPEC_HW2_LAST_PCREL, UNSPEC_HW1_LAST_PLT_PCREL, and
+ UNSPEC_HW2_LAST_PLT_PCREL.
+ (const_symbolic_operand): Handle UNSPEC_HW1_PCREL,
+ UNSPEC_HW0_PLT_PCREL, and UNSPEC_HW1_PLT_PCREL.
+ * config/tilegx/tilegx.md (UNSPEC_MOV_LARGE_PCREL_STEP4): Define,
+ and renumber the constants that follow.
+ (UNSPEC_HW1_PCREL): Ditto.
+ (UNSPEC_HW2_LAST_PCREL): Ditto.
+ (UNSPEC_HW0_PLT_PCREL): Define.
+ (UNSPEC_HW1_PLT_PCREL): Define.
+ (UNSPEC_HW1_LAST_PLT_PCREL): Define.
+ (UNSPEC_HW2_LAST_PLT_PCREL): Define.
+ (mov_large_pcrel_step1): Define.
+ (mov_large_pcrel_step2): Define.
+ (mov_large_pcrel_step3): Define.
+ (mov_large_pcrel_step4): Define.
+ (mov_plt_pcrel_step1): Define.
+ (mov_plt_pcrel_step2): Define.
+ (mov_plt_pcrel_step3): Define.
+ (mov_plt_pcrel_step1_32bit): Define.
+ (mov_plt_pcrel_step2_32bit): Define.
+ (call): Handle tilegx_cmodel == CM_LARGE, CM_LARGE_PIC.
+ (call_value): Ditto.
+ * config/tilegx/tilegx.opt: Include config/tilegx/tilegx-opts.h.
+ (mcmodel): New option.
+ (enum cmodel): Define.
+ (CM_SMALL): Define.
+ (CM_LARGE): Define.
+ * config/tilegx/tilegx-opts.h: New file.
+ * config/tilegx/tilegx-protos.h (tilegx_compute_pcrel_address):
+ Declare.
+ (tilegx_compute_pcrel_plt_address): Declare.
+ * config/tilegx/tilegx.c (tilegx_option_override): Handle
+ tilegx_cmodel.
+ (tilegx_function_ok_for_sibcall): Ditto.
+ (compute_pcrel_address): Rename to tilegx_compute_pcrel_address,
+ and don't declare static. Handle tilegx_cmodel.
+ (tilegx_compute_pcrel_plt_address): Define.
+ (tilegx_legitimize_pic_address): Rename calls to
+ compute_pcrel_address.
+ (tilegx_delegitimize_address): Handle UNSPEC_HW1_PCREL,
+ UNSPEC_HW2_LAST_PCREL, UNSPEC_HW0_PLT_PCREL, UNSPEC_HW1_PLT_PCREL,
+ UNSPEC_HW1_LAST_PLT_PCREL, UNSPEC_HW2_LAST_PLT_PCREL.
+ (load_pic_register): Rename call to compute_pcrel_address.
+ (tilegx_print_operand): Handle UNSPEC_HW1_PCREL,
+ UNSPEC_HW2_LAST_PCREL, UNSPEC_HW0_PLT_PCREL, UNSPEC_HW1_PLT_PCREL,
+ UNSPEC_HW1_LAST_PLT_PCREL, UNSPEC_HW2_LAST_PLT_PCREL.
+
+2012-08-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * sched-deps.c (add_dependence_list_and_free): Simplify.
+ (flush_pending_list_and_free): Fix a hack that was fixing a hack. Free
+ lists when add_dependence_list_and_free doesn't free them.
+
+2012-08-27 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/46254
+ * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
+ true for TARGET_64BIT or !flag_pic.
+ * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
+ (atomic_compare_and_swap_double<mode>): Change operand 2 predicate
+ to cmpxchg8b_pic_memory_operand. Use DWIH mode iterator.
+ Add insn constraint. Conditionally emit xchg asm insns.
+ (atomic_compare_and_swap<mode>): Update calls. Check only
+ cmpxchg8b_pic_memory_operand in memory address fixup.
+ (DCASMODE): Remove.
+ (CASHMODE): Rename from DCASHMODE.
+ (doublemodesuffix): Update modes.
+ (regprefix): New mode attribute.
+
+ (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove.
+ <UNSPECV_CMPXCHG>: New constant.
+ (atomic_compare_and_swap<mode>_1): Rename from
+ atomic_compare_and_swap_single<mode>. Update calls and
+ unspec_volatile constants.
+ (atomic_compare_and_swap<mode>_doubleword): Rename from
+ atomic_compare_and_swap_double<mode>. Update calls and
+ unspec_volatile constants.
+
+2012-08-27 Walter Lee <walt@tilera.com>
+
+ * doc/md.texi (TILE-Gx): Fix typo.
+
+2012-08-27 Walter Lee <walt@tilera.com>
+
+ * config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
+ * config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
+
+2012-08-27 Walter Lee <walt@tilera.com>
+
+ * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
+ (insn_bfins): Delete.
+
+2012-08-27 Walter Lee <walt@tilera.com>
+
+ * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
+ atomic_exchange_bare<mode>,
+ atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
+ * config/tilegx/tilegx-generic.md (X1_remote): New
+ insn_reservation.
+ * config/tilegx/tilegx.md (type): Add X1_remove.
+ (insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
+ insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
+ insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
+ X1_remote.
+
+2012-08-27 Andreas Schwab <schwab@linux-m68k.org>
+
+ * gdbinit.in: Fix syntax of skip command.
+
+2012-08-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_pic_call_symbol_from_set): Check for
+ SYMBOL_REF SET_SRCs.
+
+2012-08-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (vr4130_align_insns): Don't simulate
+ ghost instructions. Assert that the required instructions exist.
+
+2012-08-26 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.h (AVOID_CCMODE_COPIES): Update rationale for
+ definition.
+ * config/mips/mips.c (machine_function): Add next_fcc.
+ (mips_output_move): Remove handling of fcc moves.
+ (mips_allocate_fcc): New function.
+ (mips_emit_compare, mips_expand_vcondv2sf): Use it.
+ (mips_hard_regno_mode_ok_p): Restrict CCmode to ST registers.
+ Remove special case for CCmode reloads.
+ (mips_expand_builtin_compare_1): Use mips_allocate_fcc and treat
+ the result a fixed operand.
+ * config/mips/mips.md (move_type): Remove lui_movf.
+ (type, length): Remove references to it.
+ (movcc, reload_incc, reload_outcc): Delete.
+
+2012-08-26 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_has_long_branch_p): New function,
+ split out from...
+ (mips_expand_ghost_gp_insns): ...here. Look inside sequences.
+
+2012-08-26 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (r10k_safe_mem_expr_p): Use get_inner_reference.
+
+2012-08-26 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_rtx_costs): Add costs for CINS.
+
+2012-08-26 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_rtx_costs): Add missing COSTS_N_INSNS
+ to the size cost of multiplication.
+
+2012-08-26 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (Specific): Clarify what needs to be added to
+ this section.
+
+2012-08-26 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/tm.texi.in (Misc): Move descriptions of NO_DOLLAR_IN_LABEL
+ and NO_DOT_IN_LABEL from here...
+ (Label Output): ...to here.
+ * doc/tm.texi: Regenerate.
+
+2012-08-26 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/invoke.texi (C++ Dialect Options): Add missing space.
+
+2012-08-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/54088
+ * jump.c (delete_related_insns): Robustify latest change.
+
+2012-08-25 Ricardo Catalinas Jiménez <jimenezrick@gmail.com>
+
+ * doc/extend.texi (__atomic Builtins): Remove space before comma.
+
+2012-08-25 Richard Sandiford <rdsandiford@googlemail.com>
+ Andrew Pinski <apinski@cavium.com>
+
+ * config/mips/mips.h (CASE_VECTOR_MODE): For not
+ TARGET_MIPS16_SHORT_JUMP_TABLES use ptr_mode.
+ (CASE_VECTOR_SHORTEN_MODE): Likewise.
+
+2012-08-25 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (FP_REG_P): Remove macro.
+ (FP_REGNO_P): Ditto.
+ (HARD_REGNO_NREGS): Use STACK_REGNO_P instead of FP_REGNO_P.
+ (HARD_REGNO_NREGS_HAS_PADDING): Ditto.
+ (ANY_FP_REGNO_P): Ditto.
+ (HARD_REGNO_RENAME_OK): Use STACK_REGNO_P.
+ * config/i386/i386.c (output_387_ffreep): Use STACK_REGNO_P
+ instead of FP_REGNO_P.
+ (ix86_hard_regno_mode_ok): Ditto.
+ * config/i386/predicates.md (fp_register_operand): Ditto.
+ (register_and_not_fp_reg_operand): Ditto.
+ * config/i386/sync.md (atomic_loaddi_fpu): Use STACK_REG_P instead
+ of FP_REG_P.
+
+ * reg-stack.c (get_true_reg): Use STACK_REG_P instead of FP_REG_P.
+
+2012-08-24 Jason Merrill <jason@redhat.com>
+
+ * print-tree.c (print_node): Don't check TREE_LANG_FLAG_*
+ on TREE_VEC or SSA_NAME.
+
+2012-08-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/54363
+ * gimplify.c (optimize_compound_literals_in_ctor): Only recurse
+ if init is a CONSTRUCTOR.
+
+2012-08-24 Steven Bosscher <steven@gcc.gnu.org>
+
+ * tree-ssa-live.c (dump_var_map): Do not dump the partition
+ map of virtual operands.
+
+2012-08-24 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
+ case for Atom processor.
+
+2012-08-24 Simon Baldwin <simonb@google.com>
+
+ * dwarf2out.c (gen_producer_string): Omit command line switch if
+ CL_NO_DWARF_RECORD flag set.
+ * opts.h (CL_NO_DWARF_RECORD): New.
+ * opt-functions.awk (switch_flags): Add NoDWARFRecord.
+ * doc/options.texi: Document NoDWARFRecord option flag.
+
+2012-08-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR debug/52857
+ * dwarf2out.c (mem_loc_descriptor): Allow arg_pointer_rtx and
+ frame_pointer_rtx for based_loc_descr.
+
+2012-08-24 Martin Jambor <mjambor@suse.cz>
+
+ * predict.c (maybe_hot_frequency_p): New parameter fun. Use its decl
+ instead of current_function_decl, use profile_status_for_function and
+ ENTRY_BLOCK_PTR_FOR_FUNCTION with fun instead of their cfun variants.
+ (maybe_hot_count_p): New parameter fun, use
+ profile_status_for_function instead of its cfun_variant.
+ (maybe_hot_bb_p): New parameter fun, checking-assert it, pass it to
+ all callees.
+ (maybe_hot_edge_p): Pass cfun to maybe_hot_count_p and
+ maybe_hot_frequency_p.
+ (probably_never_executed_bb_p): New parameter fun, use its decl
+ instead of current_function_decl.
+ (optimize_bb_for_size_p): Pass cfun to maybe_hot_bb_p.
+ (rtl_profile_for_bb): Likewise.
+ (compute_function_frequency): Pass cfun to maybe_hot_bb_p and
+ probably_never_executed_bb_p.
+ * tree-ssa-operands.c (ssa_operands_active): New operator fun. Use it
+ instead of cfun.
+ (update_stmt_operands): Pass cfun as an argument of
+ ssa_operands_active.
+ (swap_tree_operands): Likewise.
+ * gimple-iterator.c (update_modified_stmt): Likewise.
+ (update_modified_stmts): Likewise.
+ * tree-flow-inline.h (delink_stmt_imm_use): Likewise.
+ * tree-ssa.c (delete_tree_ssa): Likewise.
+ * bb-reorder.c (bb_to_key): Pass cfun to probably_never_executed_bb_p.
+ (push_to_next_round_p): Likewise.
+ (find_rarely_executed_basic_blocks_and_crossing_edges ): Likewise.
+ * cfg.c: Inlude tree.h.
+ (check_bb_profile): Use profile_status_for_function,
+ EXIT_BLOCK_PTR_FOR_FUNCTION and ENTRY_BLOCK_PTR_FOR_FUNCTION with
+ DECL_STRUCT_FUNCTION (current_function_decl) instead of their cfun
+ variants.
+ (dump_bb_info): Pass DECL_STRUCT_FUNCTION (current_function_decl) to
+ maybe_hot_bb_p and probably_never_executed_bb_p.
+ * gimple-pretty-print.c (gimple_dump_bb_buff): Checking-assert that
+ DECL_STRUCT_FUNCTION (current_function_decl) is not NULL. Pass it to
+ dump_histograms_for_stmt.
+ (dump_gimple_mem_ops): Pass
+ DECL_STRUCT_FUNCTION (current_function_decl)
+ as an argument to dump_gimple_mem_ops.
+ * tree-cfg.c (dump_function_to_file): Rename parameter fn to fndecl.
+ Do not change cfun. Change and restore current_function_decl.
+ * Makefile.in (cfg.o): Include TREE_H in dependencies.
+
+2012-08-24 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/54222
+ * avr-modes.def (HA, SA, DA, TA, UTA): Adjust modes.
+ * avr/avr-fixed.md: New file.
+ * avr/avr.md: Include it.
+ (cc): Add: minus.
+ (adjust_len): Add: minus, minus64, ufract, sfract.
+ (ALL1, ALL2, ALL4, ORDERED234): New mode iterators.
+ (MOVMODE): Add: QQ, UQQ, HQ, UHQ, HA, UHA, SQ, USQ, SA, USA.
+ (MPUSH): Add: HQ, UHQ, HA, UHA, SQ, USQ, SA, USA.
+ (pushqi1, xload8_A, xload_8, movqi_insn, *reload_inqi, addqi3,
+ subqi3, ashlqi3, *ashlqi3, ashrqi3, lshrqi3, *lshrqi3, *cmpqi,
+ cbranchqi4, *cpse.eq): Generalize to handle all 8-bit modes in ALL1.
+ (*movhi, reload_inhi, addhi3, *addhi3, addhi3_clobber, subhi3,
+ ashlhi3, *ashlhi3_const, ashrhi3, *ashirhi3_const, lshrhi3,
+ *lshrhi3_const, *cmphi, cbranchhi4): Generalize to handle all
+ 16-bit modes in ALL2.
+ (subhi3, casesi, strlenhi): Add clobber when expanding minus:HI.
+ (*movsi, *reload_insi, addsi3, subsi3, ashlsi3, *ashlsi3_const,
+ ashrsi3, *ashrhi3_const, *ashrsi3_const, lshrsi3, *lshrsi3_const,
+ *reversed_tstsi, *cmpsi, cbranchsi4): Generalize to handle all
+ 32-bit modes in ALL4.
+ * avr-dimode.md (ALL8): New mode iterator.
+ (adddi3, adddi3_insn, adddi3_const_insn, subdi3, subdi3_insn,
+ subdi3_const_insn, cbranchdi4, compare_di2,
+ compare_const_di2, ashrdi3, lshrdi3, rotldi3, ashldi3_insn,
+ ashrdi3_insn, lshrdi3_insn, rotldi3_insn): Generalize to handle
+ all 64-bit modes in ALL8.
+ * config/avr/avr-protos.h (avr_to_int_mode): New prototype.
+ (avr_out_fract, avr_out_minus, avr_out_minus64): New prototypes.
+ * config/avr/avr.c (TARGET_FIXED_POINT_SUPPORTED_P): Define to...
+ (avr_fixed_point_supported_p): ...this new static function.
+ (TARGET_BUILD_BUILTIN_VA_LIST): Define to...
+ (avr_build_builtin_va_list): ...this new static function.
+ (avr_adjust_type_node): New static function.
+ (avr_scalar_mode_supported_p): Allow if ALL_FIXED_POINT_MODE_P.
+ (avr_builtin_setjmp_frame_value): Use gen_subhi3 and return new
+ pseudo instead of gen_rtx_MINUS.
+ (avr_print_operand, avr_operand_rtx_cost): Handle: CONST_FIXED.
+ (notice_update_cc): Handle: CC_MINUS.
+ (output_movqi): Generalize to handle respective fixed-point modes.
+ (output_movhi, output_movsisf, avr_2word_insn_p): Ditto.
+ (avr_out_compare, avr_out_plus_1): Also handle fixed-point modes.
+ (avr_assemble_integer): Ditto.
+ (output_reload_in_const, output_reload_insisf): Ditto.
+ (avr_compare_pattern): Skip all modes > 4 bytes.
+ (avr_2word_insn_p): Skip movuqq_insn, movqq_insn.
+ (avr_out_fract, avr_out_minus, avr_out_minus64): New functions.
+ (avr_to_int_mode): New function.
+ (adjust_insn_length): Handle: ADJUST_LEN_SFRACT,
+ ADJUST_LEN_UFRACT, ADJUST_LEN_MINUS, ADJUST_LEN_MINUS64.
+ * config/avr/predicates.md (const0_operand): Allow const_fixed.
+ (const_operand, const_or_immediate_operand): New.
+ (nonmemory_or_const_operand): New.
+ * config/avr/constraints.md (Ynn, Y00, Y01, Y02, Ym1, Ym2, YIJ):
+ New constraints.
+ * config/avr/avr.h (LONG_LONG_ACCUM_TYPE_SIZE): Define.
+
+2012-08-23 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * alias.c (rtx_equal_for_memref_p): Convert constant cases.
+ * combine.c (find_single_use_1, mark_used_regs_combine): Convert
+ to CASE_CONST_ANY.
+ * cse.c (exp_equiv_p, canon_reg, fold_rtx, cse_process_notes_1,
+ count_reg_usage): Convert constant cases.
+ * cselib.c (cselib_expand_value_rtx_1): Convert to CASE_CONST_ANY.
+ (cselib_subst_to_values): Convert constant cases.
+ * df-scan.c (df_uses_record): Ditto.
+ * dse.c (const_or_frame_p): Convert case statements to explicit
+ if-then-else using mode classes.
+ * emit-rtl.c (verify_rtx_sharing, copy_insn_1): Convert constant cases.
+ * explow.c (convert_memory_address_addr_space): Ditto.
+ * gcse.c (want_to_gcse_p, oprs_unchanged_p, compute_transp): Ditto.
+ * genattrtab.c (attr_copy_rtx, clear_struct_flag): Ditto.
+ * ira.c (equiv_init_varies_p, contains_replace_regs,
+ memref_referenced_p, rtx_moveable_p): Ditto.
+ * jump.c (mark_jump_label_1): Remove constant cases.
+ (rtx_renumbered_equal_p): Convert to CASE_CONST_UNIQUE.
+ * loop-invariant.c (check_maybe_invariant, hash_invariant_expr_1,
+ invariant_expr_equal_p): Convert to CASE_CONST_ANY.
+ * postreload-gcse.c (oprs_unchanged_p): Convert constant cases.
+ * reginfo.c (reg_scan_mark_refs): Ditto.
+ * regrename.c (scan_rtx): Ditto.
+ * reload1.c (eliminate_regs_1, elimination_effects,
+ scan_paradoxical_subregs): Ditto.
+ * reload.c (operands_match_p, subst_reg_equivs): Ditto.
+ * resource.c (mark_referenced_resources, mark_set_resources): Ditto.
+ * rtlanal.c (rtx_unstable_p, rtx_varies_p, count_occurrences)
+ (reg_mentioned_p, modified_between_p, modified_in_p)
+ (volatile_insn_p, volatile_refs_p, side_effects_p, may_trap_p_1,
+ inequality_comparisons_p, computed_jump_p_1): Ditto.
+ * rtl.c (copy_rtx, rtx_equal_p_cb, rtx_equal_p): Ditto.
+ * sched-deps.c (sched_analyze_2): Ditto.
+ * valtrack.c (cleanup_auto_inc_dec): Ditto.
+ * rtl.h: (CASE_CONST_SCALAR_INT, CASE_CONST_UNIQUE,
+ CASE_CONST_ANY): New macros.
+
+2012-08-23 Julian Brown <julian@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/mips/mips.md
+ (UNSPEC_CASESI_DISPATCH): New.
+ (MIPS16_T_REGNUM): New constant.
+ (tablejump): Don't use for MIPS16_SHORT_JUMP_TABLES.
+ (casesi): New.
+ (casesi_internal_mips16_<mode>): New.
+ * config/mips/mips.c (mips16_split_long_branches): Adjust test
+ to ignore casesi jump tables.
+ * config/mips/mips.h (TARGET_MIPS16_SHORT_JUMP_TABLES): Update
+ comment.
+ (CASE_VECTOR_MODE): Use SImode unconditionally.
+ (CASE_VECTOR_SHORTEN_MODE): Define.
+ (ASM_OUTPUT_ADDR_DIFF_ELT): Output word-sized addr_diff_elts
+ when necessary for MIPS16_SHORT_JUMP_TABLES.
+
+2012-08-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_density_test): Free loop body.
+
+2012-08-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR driver/54335
+ * doc/invoke.texi: Add -da and remove -dm.
+
+2012-08-23 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-stmts.c (vect_finish_stmt_generation): Update
+ virtual SSA form.
+
+2012-08-23 Jakub Jelinek <jakub@redhat.com>
+
+ * tree.c (copy_node_stat): Clear DECL_STRUCT_FUNCTION.
+
+2012-08-23 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * doc/gty.texi: Fix typo.
+
+2012-08-23 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-loop-manip.c (add_exit_phis_var): Allow virtual operands.
+ (find_uses_to_rename_use): Likewise.
+ (find_uses_to_rename_bb): Likewise.
+ (find_uses_to_rename_stmt): Walk over all operands.
+
+2012-08-22 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * config/sh/predicates (p27_rshift_count_operand,
+ not_p27_rshift_count_operand): New predicates.
+ * config/sh/sh.c (sh_ashlsi_clobbers_t_reg_p,
+ sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p): Handle special
+ case when shift amount is 31.
+ (gen_ashift): Emit gen_shlr instead of gen_lshrsi3_m.
+ * config/sh/sh.md (ashlsi3_d): Set type to 'dyn_shift' instead
+ of 'arith'.
+ (ashlsi_c): Rename to shll. Adapt calls to gen_ashlsi_c throughout
+ the file.
+ (lshrsi3): Remove clobber from expander. Use shift_count_operand
+ instead of nonmemory_operand predicate for second operand. Add
+ handling of case lshrsi3_n_clobbers_t.
+ (lshrsi3_k): Use p27_rshift_count_operand for second operand.
+ (lshrsi3_d): Make insn_and_split. Split dynamic shift to constant
+ shift sequences if beneficial.
+ (lshrsi3_n): Make insn_and_split. Split constant shift sequence to
+ dynamic shift if beneficial.
+ (lshrsi3_n_clobbers_t): New insn_and_split.
+ (lshrsi3_m): Delete.
+
+2012-08-22 Steven Bosscher <steven@gcc.gnu.org>
+
+ * tracer.c (mark_bb_seen): Use SBITMAP_SIZE.
+
+ * alias.c (MAX_ALIAS_LOOP_PASSES): Update comment with rationale,
+ or rather a lack thereof.
+ (init_alias_analysis): Propagate the latest information across
+ the CFG in topological order to propagate as far as possible in
+ each iteration. Ignore debug insns.
+
+2012-08-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * doc/invoke.texi: Document -mlong-double-64/-mlong-double-80.
+ * config/i386/i386.c (flag_opts): Add -mlong-double-64.
+ (TARGET_HAS_BIONIC): Default long double to 64-bit for Bionic.
+ * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 64 if
+ TARGET_LONG_DOUBLE_64 is true.
+ (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New macro.
+ (WIDEST_HARDWARE_FP_SIZE): Defined to 80.
+ * config/i386/i386.opt (mlong-double-80): New option.
+ (mlong-double-64): Likewise.
+ * config/i386/i386-c.c (ix86_target_macros): Define
+ __LONG_DOUBLE_64__ for TARGET_LONG_DOUBLE_64.
+
+2012-08-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/54347
+ * config/i386/i386.c (ix86_split_to_parts): Replace
+ REAL_VALUE_TO_TARGET_LONG_DOUBLE with real_to_target.
+
+2012-08-22 Richard Guenther <rguenther@suse.de>
+
+ * tree-vectorizer.c (vectorize_loops): Do not call
+ mark_virtual_operands_for_renaming.
+ * tree-vect-slp.c (vect_slp_transform_bb): Likewise.
+ Do not update SSA form here.
+
+2012-08-22 Dodji Seketeli <dodji@redhat.com>
+
+ * tree.h (TREE_NOTHROW): Use the base.nothrow_flag.
+
+2012-08-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46590
+ * tree-ssa-alias.h (get_continuation_for_phi): Add alias query
+ counter output argument.
+ (walk_non_aliased_vuses): Add alias query counter argument
+ to the walker callback.
+ * tree-ssa-alias.c (maybe_skip_until): Add alias query counter
+ output argument and count alias queries.
+ (get_continuation_for_phi_1): Likewise.
+ (get_continuation_for_phi): Likewise.
+ (walk_non_aliased_vuses): Add alias query counter argument
+ to the walker callback and allow it to abort the walk by
+ returning -1.
+ * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
+ * tree-ssa-sccvn.c (vn_reference_lookup_2): Add alias query
+ counter parmeter, abort walk if that is bigger than
+ --param sccvn-max-alias-queries-per-access.
+ * params.def (sccvn-max-alias-queries-per-access): New param.
+ * doc/invoke.texi (sccvn-max-alias-queries-per-access): Document.
+
+2012-08-22 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-loop-ch.c (copy_loop_headers): Remove redundant checking.
+ * tree-into-ssa.c (initialize_flags_in_bb): Use gcc_checking_assert
+ instead of gcc_assert.
+ (mark_block_for_update): Likewise.
+ (add_new_name_mapping): Likewise.
+ (mark_def_sites): Likewise.
+ (insert_phi_nodes_for): Likewise.
+ (rewrite_debug_stmt_uses): Likewise.
+ (rewrite_stmt): Likewise.
+ (maybe_register_def): Likewise.
+ (rewrite_update_phi_arguments): Likewise.
+ (rewrite_update_enter_block): Likewise.
+ (mark_def_interesting): Likewise.
+ (prepare_def_site_for): Likewise.
+ (insert_updated_phi_nodes_for): Likewise.
+
+2012-08-22 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vect-loop.c (vect_transform_loop): Initialize
+ check_profitability to false.
+
+ * tree-predcom.c (try_combine_chains): Free the worklist vector
+ at the end.
+
+2012-08-22 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/54317
+ * tree-vrp.c (extract_range_from_binary_expr_1): Test for
+ double_int overflow.
+ Remove dead tests.
+
+2012-08-22 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vrp.c (find_assert_locations): Skip also edges
+ from the entry block.
+
+ * tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Call
+ free_stmt_vec_info on orig_cond after gsi_removing it.
+ * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Always
+ free body_cost_vec vector.
+ (vect_analyze_data_refs): If gather is unsuccessful,
+ free_data_ref (dr).
+ * tree-inline.c (tree_function_versioning): Free
+ old_transforms_to_apply vector.
+
+2012-08-22 Steven Bosscher <steven@gcc.gnu.org>
+
+ * tree-ssa-coalesce.c (struct ssa_conflicts_d): Make contents
+ of this a VEC and add a bitmap obstack.
+ (ssa_conflicts_new): Allocate the obstack and grow the VEC cleared
+ to the right size.
+ (ssa_conflicts_delete): Free the VEC and release the obstack.
+ (ssa_conflicts_test_p, ssa_conflicts_test_p, ssa_conflicts_add_one,
+ ssa_conflicts_merge, ssa_conflicts_dump): Update for above changes.
+ (truct live_track_d): Add another bitmap obstack here.
+ (new_live_track): Initialize it and use it for all bitmaps.
+ (delete_live_track): Don't free the bitmaps one at a time, just
+ release the obstack.
+ (create_outofssa_var_map): Fix to conform to GCC code style rules.
+
+2012-08-21 Nathan Froyd <froydnj@gcc.gnu.org>
+
+ * config/m32c/constraints.md: New file.
+ * config/m32c/t-m32c (MD_FILES): Add constraints.
+ * config/m32c/m32c-protos.h (m32c_const_ok_for_constraint_p): Delete.
+ (m32c_extra_address_constraint, m32c_extra_memory_constraint): Delete.
+ (m32c_reg_class_from_constraint): Delete.
+ (m32c_extra_constraint_p, m32c_extra_constraint_p2): Delete.
+ (m32c_matches_constraint_p): Declare.
+ * config/m32c/m32c.h (CONSTRAINT_LEN): Delete.
+ (REG_CLASS_FROM_CONSTRAINT): Delete.
+ (CONST_OK_FOR_CONSTRAINT_P): Delete.
+ (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Delete.
+ (EXTRA_CONSTRAINT_STR): Delete.
+ (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Delete.
+ * config/m32c/m32c.c: Include tm-constrs.h
+ (m32c_reg_class_from_constraint): Delete.
+ (m32c_const_ok_for_constraint_p): Delete.
+ (m32c_extra_constraint_p2): Rename to...
+ (m32c_matches_constraint_p): ...this. Make it return bool. Tweak
+ formatting.
+ (m32c_extra_constraint_p): Delete.
+ (m32c_extra_address_constraint, m32c_extra_memory_constraint): Delete.
+ (m32c_split_move): Use satisfies_constraint_Ss.
+ * config/m32c/predicates.md (memsym_operand): Use
+ satisfies_constraint_Si.
+ (memimmed_operand): Use satisfies_constraint_Sp.
+ (m32c_psi_scale, m32c_1bit8_operand): Use satisfies_constraint_Ilb.
+ (m32c_1bit16_operand): Use satisfies_constraint_Ilw.
+ (m32c_1mask8_operand): Use satisfies_constraint_ImB.
+ (m32c_1mask16_operand): Use satisfies_constraint_Imw.
+
+2012-08-21 Nathan Froyd <froydnj@gcc.gnu.org>
+
+ * config/mep/mep.h (REG_CLASS_FROM_CONSTRAINT): Delete.
+ (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
+ (CONSTRAINT_LEN, EXTRA_CONSTRAINT): Delete.
+ * config/mep/mep.c (mep_reg_class_from_constraint): Delete.
+ (mep_const_ok_for_letter_p, mep_extra_constraint): Delete.
+ * config/mep/mep-protos.h (mep_reg_class_from_constraint): Delete.
+ (mep_const_ok_for_letter_p, mep_extra_constraint): Delete.
+
+2012-08-21 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md (cmpeqdi_t, cmpgtdi_t, cmpgedi_t, cmpgeudi_t,
+ cmpgtudi_t, *movsicc_t_false, *movsicc_t_true, divsi_inv20, negsi_cond,
+ truncdihi2, ic_invalidate_line_i, ic_invalidate_line_sh4a,
+ ic_invalidate_line_media, movdf_i4, calli_pcrel, call_valuei,
+ call_valuei_pcrel, sibcalli_pcrel, sibcall_compact,
+ sibcall_valuei_pcrel, sibcall_value_compact, casesi_worker_1,
+ casesi_worker_2, bandreg_m2a, borreg_m2a, bxorreg_m2a, sp_switch_1,
+ sp_switch_2, stack_protect_set_si, stack_protect_set_si_media,
+ stack_protect_set_di_media, stack_protect_test_si,
+ stack_protect_test_si_media, stack_protect_test_di_media): Convert to
+ multi-line asm output strings.
+ (divsi_inv_qitable, divsi_inv_hitable): Use single-alternative asm
+ output.
+ (*andsi3_bclr, rotldi3_mextr, rotrdi3_mextr, calli,
+ call_valuei_tbr_rel, movml_push_banked, movml_pop_banked, bclr_m2a,
+ bclrmem_m2a, bset_m2a, bsetmem_m2a, bst_m2a, bld_m2a, bldsign_m2a,
+ bld_reg, *bld_regqi, band_m2a, bor_m2a, bxor_m2a, mextr_rl, *mextr_lr):
+ Use tab char instead of '\\t'.
+ (iordi3): Use braced string.
+ (*movsi_pop): Use tab chars instead of spaces.
+
+2012-08-21 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/39423
+ * config/sh/sh.md (*movhi_index_disp): Add support for SH2A
+ movu.w insn.
+
+2012-08-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/54332
+ * df-scan.c (df_bb_verify): Restore df_free_collection_rec call
+ inside the insn traversal loop.
+
+ * vec.h (vec_reserve): Remove the stack allocation check.
+
+2012-08-21 Marc Glisse <marc.glisse@inria.fr>
+
+ * fold-const.c (fold_ternary_loc): Detect identity permutations.
+ Canonicalize permutations more.
+ * tree-ssa-forwprop.c (is_combined_permutation_identity): New function.
+ (simplify_permutation): Likewise.
+ (ssa_forward_propagate_and_combine): Call it.
+
+2012-08-21 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free
+ the affine expansion cache.
+ * tree-ssa-dom.c (free_expr_hash_elt_contents): New function,
+ split out from ...
+ (free_expr_hash_elt): ... this one.
+ (record_cond): Properly free a not needed hashtable element.
+ (lookup_avail_expr): Likewise.
+ * tree-into-ssa.c (init_ssa_renamer): Specify a free function
+ for the var_infos hashtable.
+ (update_ssa): Likewise.
+
+2012-08-21 Richard Guenther <rguenther@suse.de>
+
+ * alloc-pool.c (pool_alloc): Fix valgrind annotation.
+ * tree.h: Fix typo and complete flags documentation.
+
+2012-08-21 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (struct tree_base): Add union to make it possible to
+ re-use the upper 4 bytes for tree codes that do not need as
+ many flags as others. Move visited and default_def_flag to
+ common bits section in exchange for saturating_flag and
+ unsigned_flag. Add SSA name version and tree vec length
+ fields here.
+ (struct tree_vec): Remove length field here.
+ (struct tree_ssa_name): Remove version field here.
+
+2012-08-20 Jan Hubicka <jh@suse.cz>
+
+ PR fortran/48636
+ * ipa-inline.c (want_inline_small_function_p): Take loop_iterations
+ hint.
+ (edge_badness): Likewise.
+ * ipa-inline.h (inline_hints_vals): Add INLINE_HINT_loop_iterations.
+ (inline_summary): Add loop_iterations.
+ * ipa-inline-analysis.c: Include tree-scalar-evolution.h.
+ (dump_inline_hints): Dump loop_iterations.
+ (reset_inline_summary): Free loop_iterations.
+ (inline_node_duplication_hook): Update loop_iterations.
+ (dump_inline_summary): Dump loop_iterations.
+ (will_be_nonconstant_expr_predicate): New function.
+ (estimate_function_body_sizes): Analyze loops.
+ (estimate_node_size_and_time): Set hint loop_iterations.
+ (inline_merge_summary): Merge loop iterations.
+ (inline_read_section): Stream in loop_iterations.
+ (inline_write_summary): Stream out loop_iterations.
+
+2012-08-20 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * config/sh/sh.md (rotcr, *rotcr, shar, shlr): New insns and splits.
+ (ashrdi3_k, lshrdi3_k): Rewrite as insn_and_split.
+ * config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p): New function.
+ * config/sh/sh-protos.h (sh_lshrsi_clobbers_t_reg_p): Declare it.
+
+2012-08-20 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh.md (*cset_zero): New insns.
+
+2012-08-20 Mark Wielaard <mjw@redhat.com>
+
+ * dwarf2out.h (enum dw_val_class): Add dw_val_class_high_pc.
+ * dwarf2out.c (dw_val_equal_p): Handle dw_val_class_high_pc.
+ (add_AT_low_high_pc): New function.
+ (AT_lbl): Handle dw_val_class_high_pc.
+ (print_die): Likewise.
+ (attr_checksum): Likewise.
+ (attr_checksum_ordered): Likewise.
+ (same_dw_val_p): Likewise.
+ (size_of_die): Likewise.
+ (value_format): Likewise.
+ (output_die): Likewise.
+ (gen_subprogram_die): Use add_AT_low_high_pc.
+ (add_high_low_attributes): Likewise.
+ (dwarf2out_finish): Likewise.
+
+2012-08-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/54294
+ * fwprop.c (all_uses_available_at): Ignore debug insns in between
+ def_insn and target_insn when checking whether the shortcut is
+ possible.
+
+2012-08-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.h (MAX_FIXED_MODE_SIZE): Define.
+
+2012-08-20 Patrick Marlier <patrick.marlier@gmail.com>
+
+ PR middle-end/53992
+ * omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.
+
+2012-08-20 Richard Earnshaw <rearnsha@arm.com>
+
+ PR tree-ssa/54295
+ * tree-ssa-math-opts.c (is_widening_mult_rhs_p): Delete rhs_code
+ declaration and setter.
+
+2012-08-20 Richard Earnshaw <rearnsha@arm.com>
+
+ PR tree-ssa/54295
+ * tree-ssa-math-opts.c (widening_mult_conversion_strippable_p):
+ New function.
+ (is_widening_mult_rhs_p): Use it.
+
+2012-08-20 Joseph Myers <joseph@codesourcery.com>
+
+ * configure.ac (ffs): Check for declaration.
+ * configure, config.in: Regenerate.
+
+2012-08-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (register_new_name_mapping): Remove.
+ * tree-into-ssa.c (register_new_name_mapping): Likewise.
+ (add_new_name_mapping): Do not push/pop timevar here.
+ (create_new_def_for): Instead do it here. Initialize
+ update-ssa here, handle a NULL def.
+ * tree-vrp.c (build_assert_expr_for): Use create_new_def_for.
+
+2012-08-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54327
+ * gimple-fold.c (get_maxval_strlen): Do not walk use-def chains
+ if the use is registered for SSA update.
+
+2012-08-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54321
+ * tree-ssa-forwprop.c (simplify_builtin_call): Pass 0 instead of 1
+ as second argument to tree_low_cst call on val2.
+
+2012-08-20 Richard Guenther <rguenther@suse.de>
+
+ * gimple.h (gimple_statement_base): Annotate with GTY chain_next.
+
+2012-08-20 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/54326
+ * genoutput.c (note_constraint): Properly use CONST_CAST.
+
+2012-08-19 Nick Clifton <nickc@redhat.com>
+
+ PR target/54306
+ * config/arm/mmintrin.h: Remove spurious #endif.
+
+2012-08-18 Jan-Benedict Glaw <jbglaw@lug-owl.de>
+
+ * config/avr/avr-log.c (avr_log_vadump): Properly use
+ int-promoted enum values.
+ * config/avr/avr.h (struct mcu_type_s): Change `arch' from
+ int to enum avr_arch.
+ * config/avr/gen-avr-mmcu-texi.c (main): Use correct initializer.
+
+2012-08-18 Jan Hubicka <jh@suse.cz>
+
+ PR lto/45375
+ * ipa-inline.c (want_inline_small_function_p): Bypass
+ inline limits for hinted functions.
+ (edge_badness): Dump hints; decrease badness for hinted funcitons.
+ * ipa-inline.h (enum inline_hints_vals): New enum.
+ (inline_hints): New type.
+ (edge_growth_cache_entry): Add hints.
+ (dump_inline_summary): Update.
+ (dump_inline_hints): Declare.
+ (do_estimate_edge_hints): Declare.
+ (estimate_edge_hints): New inline function.
+ (reset_edge_growth_cache): Update.
+ * predict.c (cgraph_maybe_hot_edge_p): Do not ice on indirect edges.
+ * ipa-inline-analysis.c (dump_inline_hints): New function.
+ (estimate_edge_devirt_benefit): Return true when function should be
+ hinted.
+ (estimate_calls_size_and_time): New hints argument; set it when
+ devritualization happens.
+ (estimate_node_size_and_time): New hints argument.
+ (do_estimate_edge_time): Cache hints.
+ (do_estimate_edge_growth): Update.
+ (do_estimate_edge_hints): New function
+
+2012-08-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/53823
+ * expmed.c (expand_mult): Skip synth_mult for negative coefficients
+ if the mode is larger than a wide int and it is too costly to multiply
+ by a positive multiplier and negate the result.
+
+2012-08-18 Steven Bosscher <steven@gcc.gnu.org>
+
+ * sparseset.c (sparseset_alloc): Use non-clearing allocation. Tell
+ valgrind not to worry about reading from unitialized memory.
+
+2012-08-18 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/54313
+ * dse.c (dse_step7): Don't free kill_on_calls bitmap, it is
+ freed when its obstack is release.
+
+2012-08-18 Andrew Pinski <pinskia@gmail.com>
+
+ * alloc-pool.c (pool_alloc): Add valgrind markers.
+ (pool_free): Likewise.
+
+2012-08-17 Walter Lee <walt@tilera.com>
+
+ * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define.
+ (FEEDBACK_ENTER): Define.
+ (FEEDBACK_REENTER): Define.
+ (FEEDBACK_ENTRY): Define.
+ * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define.
+ (FEEDBACK_ENTER): Define.
+ (FEEDBACK_REENTER): Define.
+ (FEEDBACK_ENTRY): Define.
+
+2012-08-17 H.J. Lu <hongjiu.lu@intel.com>
+ Gary Funck <gary@intrepid.com>
+
+ PR target/20020
+ * config/i386/i386.c (ix86_member_type_forces_blk): New function.
+ (TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
+ * config/i386/i386.h (MAX_FIXED_MODE_SIZE): New macro.
+
+2012-08-17 Marc Glisse <marc.glisse@inria.fr>
+
+ * simplify-rtx.c (simplify_binary_operation_1): Optimize shuffle of
+ a concatenation.
+
+2012-08-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * stor-layout.c (compute_record_mode): Replace
+ MEMBER_TYPE_FORCES_BLK with targetm.member_type_forces_blk.
+ (layout_type): Likewise.
+ * system.h: Poison MEMBER_TYPE_FORCES_BLK.
+ * target.def (member_type_forces_blk): New target hook.
+ * targhooks.c (default_member_type_forces_blk): New.
+ * targhooks.h (default_member_type_forces_blk): Likewise.
+ * doc/tm.texi.in (MEMBER_TYPE_FORCES_BLK): Removed.
+ (TARGET_MEMBER_TYPE_FORCES_BLK): New hook.
+ * doc/tm.texi: Regenerated.
+ * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Removed.
+ * config/ia64/ia64.c (ia64_member_type_forces_blk): New function.
+ (TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
+ * config/rs6000/rs6000.c (TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
+ (rs6000_member_type_forces_blk): New function.
+ * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Removed.
+ * config/xtensa/xtensa.c (xtensa_member_type_forces_blk): New function.
+ (TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
+ * config/xtensa/xtensa.h (MEMBER_TYPE_FORCES_BLK): Removed.
+
+2012-08-17 Diego Novillo <dnovillo@google.com>
+
+ PR bootstrap/54281
+ * configure.ac: Add libintl.h to AC_CHECK_HEADERS list.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * intl.h: Always include libintl.h if HAVE_LIBINTL_H is set.
+
+2012-08-17 Richard Guenther <rguenther@suse.de>
+
+ * bitmap.h (struct bitmap_element_def): GTY annotate next/prev.
+ (struct bitmap_head_def): GTY skip current field.
+
+2012-08-17 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/54146
+ * tree-ssa-loop-im.c (lim_bitmap_obstack): New bitmap_obstack.
+ (memref_free): Don't free the bitmaps individually here.
+ (mem_ref_alloc): Allocate the bitmaps on the new bitmap obstack.
+ (analyze_memory_references): Likewise.
+ (tree_ssa_lim_initialize): Initialize the new bitmap obstack.
+ (tree_ssa_lim_finalize): Release it.
+ * dse.c (dse_bitmap_obstack): New bitmap obstack.
+ (dse_obstack): New obstack.
+ (get_group_info): Allocate the bitmaps on the new bitmap obstack.
+ (dse_step0): Allocate the scratch bitmap on reg_obstack. Initialize
+ the new bitmap obstack and normal obstack. Use XNEWVEC for bb_table.
+ (record_store): Allocate regs_set on reg_obstack.
+ (dse_step1): Allocate regs_live on reg_obstack.
+ (dse_step2_init): Allocate offset_map_n and offset_map_p on the new
+ obstack.
+ (dse_step3_scan): Allocate bitmaps on the new bitmap obstack.
+ (dse_step3): Likewise.
+ (dse_confluence_0): Likewise.
+ (dse_confluence_n): Likewise.
+ (dse_transfer_function): Likewise.
+ (dse_step7): Destroy the new obstacks, and everything allocated on
+ them, in one big sweep.
+ (rest_of_handle_dse): Update.
+ * cfgexpand.c (stack_var_bitmap_obstack): New bitmap obstack.
+ (add_stack_var_conflict): Allocate bitmaps on it.
+ (add_scope_conflicts_1): Likewise.
+ (add_scope_conflicts): Likewise.
+ (update_alias_info_with_stack_vars): Likewise.
+ (init_vars_expansion): Move TREE_USED fiddling expand_used_vars.
+ Initialize the new bitmap obstack.
+ (fini_vars_expansion): Release it.
+ (estimated_stack_frame_size): Use init_vars_expansion to set things up
+ and always clean up at the end.
+ (expand_used_vars): Do the TREE_USED trickery here. Always call
+ fini_vars_expansion.
+ * tree-ssa-live.h (struct tree_live_info_d): Make livein and liveout
+ arrays of bitmap_head to avoid one indirection per bitmap access.
+ (live_on_entry, live_on_exit, live_var_map, live_merge_and_clear,
+ make_live_on_entry): Update.
+ * tree-ssa-live.c (partition_view_bitmap): Don't double-free 'used'.
+ (liveness_bitmap_obstack): New bitmap obstack.
+ (remove_unused_locals): Use it to allocate all bitmaps on. Update
+ for livein/liveout changes in tree-ssa-live.h.
+ (delete_tree_live_info): Release the bitmap obstack.
+ (loe_visit_block, live_worklist, set_var_live_on_entry,
+ calculate_live_on_exit, dump_live_info): Update.
+ (calculate_live_ranges): Initialize the bitmap.
+ * tree-ssa-ter.c (ter_bitmap_obstack): New bitmap obstack.
+ (new_temp_expr_table): Allocate bitmap on it.
+ (make_dependent_on_partition, add_to_partition_kill_list,
+ add_dependence, process_replaceable): Likewise.
+ (find_replaceable_exprs): Initialize and release the new obstack here.
+ * df-problems.c (df_lr_add_problem): Allocate persistent bitmap
+ for out_of_date_transfer_functions on df_bitmap_obstack.
+ (df_live_add_problem): Likewise.
+ (df_chain_add_problem): Likewise.
+ (df_word_lr_add_problem): Likewise.
+
+2012-08-17 Nick Clifton <nickc@redhat.com>
+
+ * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison.
+ (branch_true): Likewise.
+ (branch_false): Likewise.
+
+ * config/mcore/mcore.md (cbranchsi4): Remove mode from comparison.
+
+ * config/iq2000/iq2000.md (cbranchsi4): Remove mode from
+ comparison and label.
+ (branch_zero): Likewise.
+ (branch_zero_inverted): Likewise.
+ (branch_equality): Likewise.
+ (branch_equality_inverted): Likewise.
+ (extend-and-compare): Disable until reload issues can be resolved.
+ * config/iq2000/iq2000.c (gen_conditional_branch): Use VOIDmode
+ for comparison.
+ (iq2000_function_arg_advance): Remove CONST_CAST2.
+
+ * config/mep/t-mep (mep-pragma.o): Use $(COMPILER) to compile
+ mep-pragma.c.
+
+2012-08-17 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/t-avr (gen-avr-mmcu-texi): Use $(CC) to compile
+ gen-avr-mmcu-texi.c.
+
+2012-08-17 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.md (arm_addsi3): New variant for Thumb2 16-bit ADD instruction.
+ * arm.c (thumb2_reorg): Don't convert an ADD instruction that's
+ already 16 bits.
+
+2012-08-17 Richard Guenther <rguenther@suse.de>
+
+ * hash-table.h (class hash_table): Use a descriptor template
+ argument instead of decomposed element type and support functions.
+ (struct pointer_hash): New generic typed pointer-hash.
+ (struct typed_free_remove, struct typed_noop_remove): Generic
+ hash_table support pieces.
+ * coverage.c (struct counts_entry): Add hash_table support members.
+ * tree-ssa-ccp.c (gimple_htab): Use pointer_hash.
+ * tree-ssa-coalesce.c (struct ssa_name_var_hash): New generic
+ SSA name by SSA_NAME_VAR hash.
+ (coalesce_ssa_name): Use it.
+ * tree-ssa-pre.c (struct pre_expr_d): Add hash_table support.
+ (expression_to_id): Adjust.
+ (struct expr_pred_trans_d): Add hash_table support.
+ (phi_translate_table): Adjust.
+ (phi_trans_lookup): Likewise.
+ (phi_trans_add): Likewise.
+ (do_regular_insertion): Likewise.
+ * tree-ssa-tail-merge.c (struct same_succ_def): Add hash_table support.
+ (same_succ_htab): Adjust.
+ (find_same_succ_bb): Likewise.
+ (find_same_succ): Likewise.
+ (update_worklist): Likewise.
+ * tree-ssa-threadupdate.c (struct redirection_data): Add hash_table
+ support.
+ (redirection_data): Adjust.
+
+2012-08-17 Richard Guenther <rguenther@suse.de>
+
+ * params.def (integer-share-limit): Decrease from 256 to 251,
+ add rationale.
+
+2012-08-17 Richard Guenther <rguenther@suse.de>
+
+ * tree-sra.c (modify_function): Free redirect_callers vector.
+ * ipa-split.c (split_function): Free args_to_pass vector.
+ * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Free
+ body_cost_vec properly.
+ (vect_enhance_data_refs_alignment): Likewise.
+ * tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate
+ vec_oprnds.
+ (new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS.
+ * tree-vect-slp.c (vect_free_slp_instance): Free the instance.
+ (vect_analyze_slp_instance): Free everything.
+ (destroy_bb_vec_info): Free the SLP instances.
+
+2012-08-17 Iain Sandoe <iain@codesourcery.com>
+
+ * config/rs6000/rs6000.c (macho_branch_islands): Adjust for changes
+ to vec.h.
+
+2012-08-17 Jakub Jelinek <jakub@redhat.com>
+
+ * doc/invoke.texi (-Wsizeof-pointer-memaccess): Document.
+
+2012-08-16 Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/mips/mips-dsp.md (mips_dpau_h_qbl, mips_dpau_h_qbr)
+ (mips_dpsu_h_qbl, mips_dpsu_h_qbr, mips_dpaq_s_w_ph)
+ (mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph, mips_dpaq_sa_l_w)
+ (mips_dpsq_sa_l_w, mips_maq_s_w_phl, mips_maq_s_w_phr)
+ (mips_maq_sa_w_phl, mips_maq_sa_w_phr): Add accum_in attribute.
+
+2012-08-16 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54236
+ * config/sh/sh.md (addc): Add commutative modifier.
+ (*addc, *minus_plus_one, *subc, *negc): New insns and splits.
+
+2012-08-16 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/39423
+ * config/sh/sh.md (*movsi_index_disp, *movhi_index_disp): Handle
+ potential T_REG clobber. Convert zero extending split to
+ insn_and_split.
+
+2012-08-16 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * config/sh/sh.md (ashlsi3_d): Do not split if it would result
+ in a T_REG clobber. Correct comment.
+ (ashlsi3_n): Correct comment.
+
+2012-08-16 Hans-Peter Nilsson <hp@axis.com>
+
+ PR middle-end/54261
+ * optabs.c (expand_atomic_fetch_op): Save and restore code when
+ retrying after failed attempt.
+
+2012-08-16 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * config/i386/i386-protos.h (ix86_split_lea_for_addr) : Add
+ additional argument.
+ * config/i386/i386.md (ix86_split_lea_for_addr) : Add
+ additional argument curr_insn.
+ * config/i386/i386.c (ix86_split_lea_for_addr): Load base or index
+ register first, depending on their defintion distances.
+ (ix86_lea_outperforms): Prefer LEA only if split cost exceeds
+ AGU stall.
+ (find_nearest_reg-def): New function. Find register with
+ nearest definition.
+
+2012-08-16 Walter Lee <walt@tilera.com>
+
+ * config.gcc (tilegx-*-linux*): Add feedback.h.
+ (tilepro-*-linux*): Likewise.
+ * config/tilegx/feedback.h: New file.
+ * config/tilepro/feedback.h: New file.
+
+2012-08-16 Diego Novillo <dnovillo@google.com>
+
+ Revert
+
+ PR bootstrap/54281
+ * double-int.h: Move including of gmp.h ...
+ * system.h: ... here.
+ * realmpfr.h: Do not include gmp.h.
+ * tree-ssa-loop-niter.c: Do not include gmp.h.
+
+2012-08-16 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/darwin.h (TARGET_IEEE_QUAD): Fix comment.
+
+2012-08-16 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/54146
+ * tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the
+ exit vector.
+ * ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK.
+ * cfgloop.h (FOR_EACH_LOOP_BREAK): Fix.
+ * tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc.
+ * tree-into-ssa.c (get_ssa_name_ann): Allocate info only when needed.
+ * tree-ssa-loop-im.c (analyze_memory_references): Adjust.
+ (tree_ssa_lim_finalize): Free all mem_refs.
+ * tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free
+ scc when bailing out.
+ * modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK.
+ * ira-build.c (loop_with_complex_edge_p): Free loop exit vector.
+ * graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use
+ FOR_EACH_LOOP_BREAK.
+
+2012-08-16 Diego Novillo <dnovillo@google.com>
+
+ PR bootstrap/54281
+ * double-int.h: Move including of gmp.h ...
+ * system.h: ... here.
+ * realmpfr.h: Do not include gmp.h.
+ * tree-ssa-loop-niter.c: Do not include gmp.h.
+
+2012-08-16 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/54146
+ * tree-flow.h (compute_global_livein): Remove prototype.
+ * tree-into-ssa.c (compute_global_livein): Remove function.
+ * tree-ssa-loop-manip.c: Include gimple-pretty-print.h.
+ (find_sibling_superloop): New function.
+ (compute_live_loop_exits): New function.
+ (add_exit_phis_edge): Rename to add_exit_phi. Do not allow
+ inserting a PHI in a block that is not a loop exit for VAR.
+ Add dumping if TDF_DETAILS.
+ (add_exit_phis_var): Rewrite.
+ (add_exit_phis): Update.
+ (get_loops_exits): Rewrite to return an array of per-loop exits
+ rather than one bitmap with all loop exits.
+ (find_uses_to_rename_bb): Ignore virtual PHI nodes.
+ (rewrite_into_loop_closed_ssa): Update.
+
+2012-08-16 Nick Clifton <nickc@redhat.com>
+
+ * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Cast _ascii_bytes
+ before passing it to ASM_OUTPUT_LIMITED_STRING.
+
+ * config/bfin/bfin.c (hwloop_optimize): Fix use of VEC_last macro.
+
+ * config/avr/t-avr: Replace occurrences of $(CC) with $(COMPILER).
+ * config/avr/avr.c (avr_legitimize_reload_address): Add casts
+ for reload_type enums.
+ (DEF_BUILTIN): Cast the icode to enum insn_code.
+
+2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/aix43.h (ASM_CPU_SPEC): Use %(asm_default)
+ instead of -mppc.
+ * config/rs6000/aix51.h (ASM_CPU_SPEC): Ditto.
+
+2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/aix43.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
+ (RS6000_CALL_GLUE): Adjust for single assembler syntax.
+ * config/rs6000/aix51.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto.
+ * config/rs6000/aix52.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto.
+ * config/rs6000/aix53.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto.
+ * config/rs6000/aix61.h (TARGET_DEFAULT, RS6000_CALL_GLUE): Ditto.
+ * config/rs6000/darwin.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/darwin.md (whole file): Adjust to single
+ assembler syntax.
+ * config/rs6000/darwin64.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
+ * config/rs6000/default64.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/dfp.md: (whole file): Adjust to single
+ assembler syntax.
+ * config/rs6000/eabi.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
+ * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/eabispe.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/linuxspe.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/rs6000-cpus.def (whole file): Delete POWERPC_BASE_MASK.
+ * config/rs6000/rs6000-tables.opt: Regenerate.
+ * config/rs6000/rs6000.c (POWERPC_BASE_MASK): Delete.
+ (num_insns_constant_wide): Adjust comments.
+ (whole file): Adjust to single assembler syntax.
+ (output_cbranch): Adjust comment.
+ * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Delete.
+ * config/rs6000/rs6000.md: (whole file): Adjust to single
+ assembler syntax.
+ * config/rs6000/rs6000.opt (mnew-mnemonics): Delete.
+ (mold-mnemonics): Delete.
+ * config/rs6000/spe.md: (whole file): Adjust to single
+ assembler syntax.
+ * config/rs6000/sync.md: (whole file): Adjust to single
+ assembler syntax.
+ * config/rs6000/sysv4.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
+ (ASM_OUTPUT_REG_PUSH): Adjust.
+ (ASM_OUTPUT_REG_POP): Adjust.
+ * config/rs6000/sysv4le.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
+ * config/rs6000/vsx.md: (whole file): Adjust to single
+ assembler syntax.
+ * config/rs6000/vxworks.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
+ * doc/invoke.texi: Adjust documentation to reflect the
+ removal of -mnew-mnemonics and -mold-mnemonics.
+
+2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * common/config/rs6000/rs6000-common.c (rs6000_handle_option):
+ Delete handling for -mno-powerpc and -mpowerpc.
+ * config/rs6000/aix43.h (ASM_CPU_SPEC): Similar.
+ (ASM_DEFAULT_SPEC): Use -mppc instead of -mcom.
+ * config/rs6000/aix51.h (ASM_CPU_SPEC, ASM_DEFAULT_SPEC): Ditto.
+ * config/rs6000/aix52.h (TARGET_DEFAULT): Delete MASK_POWERPC.
+ * config/rs6000/aix53.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/aix61.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/darwin.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/darwin64.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/default64.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/driver-rs6000.c (asm_names): Delete handling
+ for -mcpu=common and -mpowerpc.
+ * config/rs6000/eabi.h (TARGET_DEFAULT): Delete MASK_POWERPC.
+ * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/eabispe.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/linuxspe.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING):
+ Use RS6000_BTM_ALWAYS instead of RS6000_BTM_POWERPC.
+ * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Adjust.
+ (rs6000_cpu_cpp_builtins): Adjust.
+ * config/rs6000/rs6000.c (POWERPC_BASE_MASK): Delete MASK_POWERPC.
+ (rs6000_builtin_mask_calculate): Adjust.
+ (rs6000_emit_move): Delete code for ! TARGET_POWERPC.
+ (rs6000_init_libfuncs): Ditto.
+ (rs6000_output_function_prologue): Ditto.
+ (rs6000_opt_masks): Delete MASK_POWERPC.
+ (rs6000_builtin_mask_names): Delete RS6000_BTM_POWERPC.
+ * config/rs6000/rs6000.h (ASM_CPU_SPEC): Delete handling for -mpowerpc.
+ (RS6000_BTM_POWERPC): Delete.
+ (RS6000_BTM_COMMON): Delete RS6000_BTM_POWERPC.
+ * config/rs6000/rs6000.md (extendqisi2 patterns): Adjust for
+ TARGET_POWERPC always on.
+ (extendqihi2 patterns): Similar.
+ (various unnamed subtract patterns): Similar.
+ (bswaphi2 patterns): Similar.
+ (divmodsi4): Similar.
+ (udiv<GPR:mode>3): Similar.
+ (div<GPR:mode>3 patterns): Similar.
+ (udivmodsi4): Similar.
+ (mulhcall): Delete.
+ (mullcall): Delete.
+ (divss_call): Delete.
+ (divus_call): Delete.
+ (quoss_call): Delete.
+ (quous_call): Delete.
+ (insvsi patterns): Adjust.
+ (addsf3 patterns): Adjust.
+ (subsf3 patterns): Adjust.
+ (mulsf3 patterns): Adjust.
+ (divsf3 patterns): Adjust.
+ (*fmasf4_fpr): Adjust.
+ (*fmssf4_fpr): Adjust.
+ (*nfmasf4_fpr): Adjust.
+ (*nfmssf4_fpr): Adjust.
+ (*floatunssidf2_internal): Adjust.
+ (fix_trunc<SFDF:mode>si2_internal): Adjust.
+ (fctiwz_<SFDF:mode>): Adjust.
+ (mulsidi3 patterns): Adjust.
+ (smulsi3_highpart patterns): Adjust.
+ (umulsi3_highpart patterns): Adjust.
+ (fix_trunctfsi2 patterns): Adjust.
+ (prefetch): Adjust.
+ * config/rs6000/rs6000.opt (mpowerpc): Replace by stub option.
+ (mno-powerpc): Delete.
+ * config/rs6000/sync.md (load_locked<ATOMIC:mode>): Adjust.
+ (store_conditional<ATOMIC:mode>): Adjust.
+ (atomic_compare_and_swap<ATOMIC:mode>): Adjust.
+ (atomic_exchange<ATOMIC:mode>): Adjust.
+ (atomic_<fetchop_name><ATOMIC:mode>): Adjust.
+ (atomic_nand<ATOMIC:mode>): Adjust.
+ (atomic_fetch_<fetchop_name><ATOMIC:mode>): Adjust.
+ (atomic_fetch_nand<ATOMIC:mode>): Adjust.
+ (atomic_<fetchop_name>_fetch<ATOMIC:mode>): Adjust.
+ (atomic_nand_fetch<ATOMIC:mode>): Adjust.
+ * config/rs6000/sysv4.h (TARGET_DEFAULT): Delete MASK_POWERPC.
+ * config/rs6000/sysv4le.h (TARGET_DEFAULT): Ditto.
+ * config/rs6000/vxworks.h (TARGET_DEFAULT): Ditto.
+ * doc/invoke.texi: Adjust documentation.
+
+2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.h (RS6000_BTM_ALWAYS): New.
+
+2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/aix52.h (ASM_CPU_SPEC): Fix typo.
+ * config/rs6000/aix53.h (ASM_CPU_SPEC): Ditto.
+ * config/rs6000/aix61.h (ASM_CPU_SPEC): Ditto.
+ * config/rs6000/driver-rs6000.c (asm_names): Ditto.
+
+2012-08-15 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/54142
+ * config/rs6000/driver-rs6000.c (asm_names): Use %(asm_default)
+ instead of -mcom.
+ * config/rs6000/rs6000.h (ASM_CPU_SPEC): Ditto.
+
+2012-08-15 Sandra Loosemore <sandra@codesourcery.com>
+ Maxim Kuvyrkov <maxim@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+ MIPS Technologies, Inc.
+
+ * config/mips/mips.md (dspmac, dspmacsat, accext, accmod, dspalu)
+ (dspalusat): Add insn types.
+ * config/mips/mips-dsp.md (add<DSPV:mode>3)
+ (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>)
+ (sub<DSPV:mode>3, mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc)
+ (mips_addwc, mips_modsub, mips_raddu_w_qb, mips_absq_s_<DSPQ:dspfmt2>)
+ (mips_precrq_qb_ph, mips_precrq_ph_w, mips_precrq_rs_ph_w)
+ (mips_precrqu_s_qb_ph, mips_preceq_w_phl, mips_preceq_w_phr)
+ (mips_precequ_ph_qbl, mips_precequ_ph_qbr, mips_precequ_ph_qbla)
+ (mips_precequ_ph_qbra, mips_preceu_ph_qbl, mips_preceu_ph_qbr)
+ (mips_preceu_ph_qbla, mips_preceu_ph_qbra, mips_shll_<DSPV:dspfmt2>)
+ (mips_shll_s_<DSPQ:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>, mips_shrl_qb)
+ (mips_shra_ph, mips_shra_r_<DSPQ:dspfmt2>, mips_bitrev, mips_insv)
+ (mips_repl_qb, mips_repl_ph)
+ (mips_cmp<DSPV:dspfmt1_1>_eq_<DSPV:dspfmt2>)
+ (mips_cmp<DSPV:dspfmt1_1>_lt_<DSPV:dspfmt2>)
+ (mips_cmp<DSPV:dspfmt1_1>_le_<DSPV:dspfmt2>, mips_cmpgu_eq_qb)
+ (mips_cmpgu_lt_qb, mips_cmpgu_le_qb, mips_pick_<DSPV:dspfmt2>)
+ (mips_packrl_ph, mips_wrdsp, mips_rddsp): Change type to dspalu.
+ (mips_dpau_h_qbl, mips_dpau_h_qbr, mips_dpsu_h_qbl, mips_dpsu_h_qbr)
+ (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph)
+ (mips_maq_s_w_phl, mips_maq_s_w_phr, mips_maq_sa_w_phr): Set type to
+ dspmac.
+ (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_sa_w_phl): Set type to
+ dspmacsat.
+ (mips_extr_w, mips_extr_r_w, mips_extr_rs_w, mips_extp, mips_extpdp):
+ Set type to accext.
+ (mips_shilo, mips_mthlip): Set type to accmod.
+ * config/mips/mips-dspr2.md (mips_absq_s_qb, mips_addu_s_ph)
+ (mips_adduh_r_qb): Set type to dspalusat.
+ (mips_addu_ph, mips_adduh_qb, mips_append, mips_balign)
+ (mips_cmpgdu_eq_qb, mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb)
+ (mips_precr_qb_ph, mips_precr_sra_ph_w, mips_precr_sra_r_ph_w)
+ (mips_prepend, mips_shra_qb, mips_shra_r_qb, mips_shrl_ph)
+ (mips_subu_ph, mips_subuh_qb, mips_subuh_r_qb, mips_addqh_ph)
+ (mips_addqh_r_ph, mips_addqh_w, mips_addqh_r_w, mips_subqh_ph)
+ (mips_subqh_r_ph, mips_subqh_w, mips_subqh_r_w): Set type to dspalu.
+ (mips_dpa_w_ph, mips_dps_w_ph, mips_mulsa_w_ph, mips_dpax_w_ph)
+ (mips_dpsx_w_ph, mips_dpaqx_s_w_ph, mips_dpsqx_s_w_ph): Set type to
+ dspmac. Set accum_in attribute.
+ (mips_subu_s_ph): Set type to dspalusat.
+ (mips_dpaqx_sa_w_ph, mips_dpsqx_sa_w_ph): Set type to dspmacsat.
+ Set accum_in attribute.
+ * config/mips/mips-protos.h (mips_dspalu_bypass_p): Add prototype.
+ * config/mips/mips.c (dspalu_bypass_table): New.
+ (mips_dspalu_bypass_p): New.
+ * config/mips/24k.md (r24k_dsp_alu, r24k_dsp_mac, r24k_dsp_mac_sat)
+ (r24k_dsp_acc_ext, r24k_dsp_acc_mod): New insn reservations.
+ (r24k_int_mult, r24k_int_mthilo, r24k_dsp_mac, r24k_dsp_mac_sat)
+ (r24k_dsp_acc_ext, r24k_dsp_acc_mod, r24k_dsp_alu): New bypasses.
+ * config/mips/74k.md (r74k_dsp_alu, r74k_dsp_alu_sat, r74k_dsp_mac)
+ (r74k_dsp_mac_sat, r74k_dsp_acc_ext, r74k_dsp_acc_mod): New insn
+ reservations.
+ (r74k_dsp_mac, r74k_dsp_mac_sat, r74k_int_mult, r74k_int_mul3)
+ (r74k_dsp_mac, r74k_dsp_mac_sat): New bypasses.
+
+2012-08-15 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c: Include "cfgloop.h".
+ (spu_machine_dependent_reorg): Call loop_optimizer_init and
+ loop_optimizer_finalize. Use bb_loop_depth instead of loop_depth.
+ Directly compare loop_father values where appropriate.
+ * config/spu/t-spu-elf (spu.o): Update dependencies.
+
+2012-08-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Makefile.in (tree-cfg.o): Also depend on $(TARGET_H).
+
+2012-08-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/54245
+ * gimple-ssa-strength-reduction.c (legal_cast_p_1): New function.
+ (legal_cast_p): Split out logic to legal_cast_p_1.
+ (analyze_increments): Avoid introducing multiplies in smaller types.
+
+2012-08-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/54240
+ * tree-ssa-phiopt.c (hoist_adjacent_loads): Correct test for
+ existence of conditional move with given mode.
+
+2012-08-15 Richard Guenther <rguenther@suse.de>
+
+ * double-int.h (double_int::from_unsigned): Rename to ...
+ (double_int::from_uhwi): ... this.
+ (double_int::from_signed): Rename to ...
+ (double_int::from_shwi): ... this.
+ (double_int::to_signed): Rename to ...
+ (double_int::to_shwi): ... this.
+ (double_int::to_unsigned): Rename to ...
+ (double_int::to_uhwi): ... this.
+ (double_int::fits_unsigned): Rename to ...
+ (double_int::fits_uhwi): ... this.
+ (double_int::fits_signed): Rename to ...
+ (double_int::fits_shwi): ... this.
+ (double_int::fits): Rename to ...
+ (double_int::fits_hwi): ... this.
+ * double-int.c: Likewise.
+
+2012-08-15 Steven Bosscher <steven@gcc.gnu.org>
+
+ * timevar.def (TV_VARPOOL, TV_WHOPR_WPA_LTRANS_EXEC, TV_LIFE,
+ TV_LIFE_UPDATE, TV_DF_UREC, TV_INLINE_HEURISTICS,
+ TV_TREE_LINEAR_TRANSFORM, TV_TREE_LOOP_INIT, TV_TREE_LOOP_FINI,
+ TV_VPT, TV_LOCAL_ALLOC, TV_GLOBAL_ALLOC, TV_SEQABSTR): Remove.
+ (TV_IPA_INLINING, TV_FLATTEN_INLINING, TV_EARLY_INLINING,
+ TV_INLINE_PARAMETERS, TV_LOOP_INIT, TV_LOOP_FINI): New.
+ * timevar.c (timevar_print): Make printing width of timevar names
+ more flexible, but enforce maximum length.
+ * ipa-inline.c (pass_early_inline): Use TV_EARLY_INLINING.
+ (pass_ipa_inline): Use TV_IPA_INLINING.
+ * ipa-inline-analysis.c (pass_inline_parameters): Use
+ TV_INLINE_HEURISTICS.
+ * tree-ssa-loop.c (pass_tree_loop_init): No timevar for wrapper pass.
+ (pass_tree_loop_done): Likewise.
+ * final.c (pass_shorten_branches): Use TV_SHORTEN_BRANCH.
+ * loop-init.c (loop_optimizer_init): Push/pop TV_LOOP_INIT.
+ (loop_optimizer_finalize): Push/pop TV_LOOP_FINI.
+
+2012-08-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * config/arm/neon.md (neon_vaba<mode> VDQIW): Canonicalize operands.
+ (neon_vabal<mode> VDQIW): Likewise.
+
+2012-08-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/54212
+ * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not
+ mark as predicable. Adjust asm template.
+ (vec_setv2di_internal): Likewise.
+ (vec_extract<mode> VD, VQ): Likewise.
+ (vec_extractv2di): Likewise.
+ (neon_vget_lane<mode>_sext_internal VD, VQ): Likewise.
+ (neon_vset_lane<mode>_sext_internal VD, VQ): Likewise.
+ (neon_vdup_n<mode> VX, V32): Likewise.
+ (neon_vdup_nv2di): Likewise.
+
+2012-08-14 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/mips/mips.md (define_attr accum_in): New instruction
+ attribute. Set it for imadd and fmadd patterns.
+ * config/mips/mips.c (mips_linked_madd_p): Use accum_in to extract
+ accumulator register.
+
+2012-08-14 Diego Novillo <dnovillo@google.com>
+
+ Merge from cxx-conversion branch. Configury.
+
+ * configure.ac (CXX_FOR_BUILD): Define and substitute.
+ (BUILD_CXXFLAGS): Define.
+ Remove all handlers of ENABLE_BUILD_WITH_CXX.
+ Force all build to be with C++.
+ * Makefile.in (BUILD_CXXFLAGS): Use it.
+ Remove all handlers of ENABLE_BUILD_WITH_CXX.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * doc/install.texi: Remove documentation for --enable-build-with-cxx
+ and --enable-build-poststage1-with-cxx.
+
+2012-08-14 Diego Novillo <dnovillo@google.com>
+
+ Merge from cxx-conversion branch. Re-implement VEC in C++.
+
+ * vec.c (vec_heap_free): Convert into a template function.
+ (vec_gc_o_reserve_1): Make extern.
+ (vec_gc_p_reserve): Remove.
+ (vec_gc_p_reserve_exact): Remove.
+ (vec_gc_o_reserve): Remove.
+ (vec_gc_o_reserve_exact): Remove.
+ (vec_heap_o_reserve_1): Make extern.
+ (vec_heap_p_reserve): Remove.
+ (vec_heap_p_reserve_exact): Remove.
+ (vec_heap_o_reserve): Remove.
+ (vec_heap_o_reserve_exact): Remove.
+ (vec_stack_p_reserve): Remove.
+ (vec_stack_p_reserve_exact): Remove.
+ * vec.h (VEC_CHECK_INFO, VEC_CHECK_DECL, VEC_CHECK_PASS, VEC_ASSERT,
+ VEC_ASSERT_FAIL, vec_assert_fail): Move earlier in the file.
+ (VEC): Define to vec_t<T>.
+ (vec_allocation_t): Define.
+ (struct vec_prefix): Move earlier in the file.
+ (vec_t<T>): New template.
+ (DEF_VEC_I, DEF_VECL_ALLOC_I, DEF_VEC_P, DEF_VEC_ALLOC_P,
+ DEF_VEC_O, DEF_VEC_ALLOC_P, DEF_VEC_O, DEF_VEC_ALLOC_O,
+ DEF_VEC_ALLOC_P_STACK, DEF_VEC_ALLOC_O_STACK,
+ DEF_VEC_ALLOC_I_STACK): Expand to 'struct vec_swallow_trailing_semi'.
+ (DEF_VEC_A): Provide template instantiations for
+ GC/PCH markers that do not traverse the vector.
+ (vec_stack_p_reserve): Remove.
+ (vec_stack_p_reserve_exact): Remove.
+ (vec_stack_p_reserve_exact_1): Remove.
+ (vec_stack_o_reserve): Remove.
+ (vec_stack_o_reserve_exact): Remove.
+ (vec_stack_free): Re-write as a template function.
+ (vec_reserve): New template function.
+ (vec_reserve_exact): New template function.
+ (vec_heap_free): New template function if GATHER_STATISTICS is
+ defined. Otherwise, macro that expands to free().
+ (VEC_length_1): New template function.
+ (VEC_length): Call it.
+ (VEC_empty_1): New template function.
+ (VEC_empty): Call it.
+ (VEC_address_1): New template function.
+ (VEC_address): Call it.
+ (VEC_last_1): New template function.
+ (VEC_last): Call it. Change return type to T&.
+ Change all users that used VEC_Os.
+ (VEC_index_1): New template function.
+ (VEC_index): Call it. Return a T& instead of a T*.
+ Update all callers that were using VEC_O before.
+ (VEC_iterate_1): New template function.
+ (VEC_iterate): Call it.
+ (VEC_embedded_size_1): New template function.
+ (VEC_embedded_size): Call it.
+ (VEC_embedded_init_1): New template function.
+ (VEC_embedded_init): Call it.
+ (VEC_alloc_1): New template function.
+ (VEC_alloc): Call it. If A is 'stack', call XALLOCAVAR to
+ do the allocation.
+ (VEC_free_1): New template function.
+ (VEC_free): Call it.
+ (VEC_copy_1): New template function.
+ (VEC_copy): Call it.
+ (VEC_space_1): New template function
+ (VEC_space): Call it.
+ (VEC_reserve_1): New template function.
+ (VEC_reserve): Call it.
+ (VEC_reserve_exact_1): New template function.
+ (VEC_reserve_exact): Call it.
+ (VEC_splice_1): New template function.
+ (VEC_splice): Call it.
+ (VEC_safe_splice_1): New template function.
+ (VEC_safe_splice): Call it.
+ (VEC_quick_push_1): New template function. Create two overloads, one
+ accepting T, the other accepting T *. Update all callers
+ where T and T * are ambiguous.
+ (VEC_quick_push): Call it.
+ (VEC_safe_push_1): New template function. Create two overloads, one
+ accepting T, the other accepting T *. Update all callers
+ where T and T * are ambiguous.
+ (VEC_safe_push): Call it.
+ (VEC_pop_1): New template function.
+ (VEC_pop): Call it.
+ (VEC_truncate_1): New template function.
+ (VEC_truncate): Call it.
+ (VEC_safe_grow_1): New template function.
+ (VEC_safe_grow): Call it.
+ (VEC_safe_grow_cleared_1): New template function.
+ (VEC_safe_grow_cleared): Call it.
+ (VEC_replace_1): New template function.
+ (VEC_replace): Call it. Always accept T instead of T*.
+ Update all callers that used VEC_Os.
+ (VEC_quick_insert_1): New template function.
+ (VEC_quick_insert): Call it.
+ (VEC_safe_insert_1): New template function.
+ (VEC_safe_insert): Call it.
+ (VEC_ordered_remove_1): New template function.
+ (VEC_ordered_remove): Call it.
+ (VEC_unordered_remove_1): New template function.
+ (VEC_unordered_remove): Call it.
+ (VEC_block_remove_1): New template function.
+ (VEC_block_remove): Call it.
+ (VEC_lower_bound_1): New template function.
+ (VEC_lower_bound): Call it.
+ (VEC_OP): Remove.
+ (DEF_VEC_FUNC_P): Remove.
+ (DEF_VEC_ALLOC_FUNC_P): Remove.
+ (DEF_VEC_NONALLOC_FUNCS_P): Remove.
+ (DEF_VEC_FUNC_O): Remove.
+ (DEF_VEC_ALLOC_FUNC_O): Remove.
+ (DEF_VEC_NONALLOC_FUNCS_O): Remove.
+ (DEF_VEC_ALLOC_FUNC_I): Remove.
+ (DEF_VEC_NONALLOC_FUNCS_I): Remove.
+ (DEF_VEC_ALLOC_FUNC_P_STACK): Remove.
+ (DEF_VEC_ALLOC_FUNC_O_STACK): Remove.
+ (DEF_VEC_ALLOC_FUNC_I_STACK): Remove.
+ (vec_reserve_exact): New template function.
+
+ * gengtype-lex.l (DEF_VEC_ALLOC_[IOP]/{EOID}): Remove.
+ * gengtype-parse.c (token_names): Remove DEF_VEC_ALLOC_[IOP].
+ (typedef_name): Emit vec_t<C1> instead of VEC_C1_C2.
+ (def_vec_alloc): Remove. Update all callers.
+ * gengtype.c (filter_type_name): New.
+ (output_mangled_typename): Call it.
+ (write_func_for_structure): Likewise.
+ (write_types): Likewise.
+ (write_root): Likewise.
+ (write_typed_alloc_def): Likewise.
+ (note_def_vec): Emit vec_t<TYPE_NAME> instead of VEC_TYPE_NAME_base.
+ (note_def_vec_alloc): Remove.
+ * gengtype.h (note_def_vec_alloc): Remove.
+ (DEFVEC_ALLOC): Remove token code.
+
+ * df-scan.c (df_bb_verify): Remove call to df_free_collection_rec
+ inside the insn traversal loop.
+ * gimplify.c (gimplify_compound_lval): Rename STACK to EXPR_STACK.
+ * ipa-inline.c (inline_small_functions): Rename HEAP to EDGE_HEAP.
+ * reg-stack.c (stack): Rename to STACK_PTR. Update all users.
+ * tree-vrp.c (stack): Rename to EQUIV_STACK. Update all users.
+
+ * config/bfin/bfin.c (hwloop_optimize): Update some calls to
+ VEC_* for vectors of non-pointers.
+ * config/c6x/c6x.c (try_rename_operands): Likewise.
+ (reshuffle_units): Likewise.
+ * config/mips/mips.c (mips_multi_start): Likewise.
+ (mips_multi_add): Likewise.
+ (mips_multi_copy_insn): Likewise.
+ (mips_multi_set_operand): Likewise.
+ * hw-doloop.c (discover_loop): Likewise.
+ (discover_loops): Likewise.
+ (reorg_loops): Likewise.
+
+2012-08-14 Diego Novillo <dnovillo@google.com>
+
+ Merge from cxx-conversion branch. C++ support in gengtype.
+
+ * coretypes.h (gt_pointer_operator): Move from ...
+ * ggc.h: ... here.
+ * doc/gty.texi: Document support for C++ templates and
+ user-provided markers.
+ * gengtype-lex.l: Update copyright year.
+ Remove support for recognizing DEF_VEC_O, DEF_VEC_P and DEFVEC_I.
+ * gengtype-parse.c: Update copyright year.
+ (token_names): Remove DEF_VEC_O, DEF_VEC_P and DEF_VEC_I.
+ (require_template_declaration): New.
+ (typedef_name): Call it.
+ (type): Replace IS_UNION with KIND. Replace all users.
+ (def_vec): Remove. Update all users.
+ * gengtype-state.c (type_lineloc): Handle TYPE_USER_STRUCT.
+ (write_state_user_struct_type): New.
+ (write_state_type): Call it.
+ (read_state_user_struct_type): New.
+ (read_state_type): Call it.
+ * gengtype.c: Update copyright year.
+ (dump_pair): Move declaration to the top.
+ (dump_type): Likewise.
+ (dump_type_list): Likewise.
+ (dbgprint_count_type_at): Handle TYPE_USER_STRUCT.
+ (create_user_defined_type): New.
+ (resolve_typedef): Call it.
+ (new_structure): Replace argument ISUNION with KIND.
+ Change users to refer to KIND directly.
+ Update all callers.
+ (find_structure): Likewise.
+ (set_gc_used_type): Handle TYPE_USER_STRUCT.
+ (create_file): Update HDR to include new copyright year.
+ (struct walk_type_data): Add field IN_PTR_FIELD.
+ (output_mangled_typename): Handle TYPE_USER_STRUCT.
+ (walk_type): Set D->IN_PTR_FIELD when walking a TYPE_POINTER.
+ Clear it afterwards.
+ Handle TYPE_USER_STRUCT.
+ (write_types_process_field): Handle TYPE_USER_STRUCT.
+ (get_type_specifier): Move earlier in the file.
+ (write_type_decl): New.
+ (write_marker_function_name): New.
+ (write_user_func_for_structure_ptr): New.
+ (write_user_func_for_structure_body): New.
+ (write_user_marking_functions): New.
+ (write_func_for_structure): Call write_marker_function_name
+ and write_type_decl.
+ Do not call walk_type for TYPE_USER_STRUCT. Emit a call to the user
+ function directly.
+ Call write_user_marking_functions on TYPE_USER_STRUCTs.
+ (write_types_local_user_process_field): New.
+ (write_pch_user_walking_for_structure_body): New.
+ (write_pch_user_walking_functions): New.
+ (write_types_local_process_field): Handle TYPE_USER_STRUCT.
+ (write_local_func_for_structure): Do not call walk_type for
+ TYPE_USER_STRUCT. Instead, emit the call to gt_pch_nx directly.
+ Call write_pch_user_walking_functions for TYPE_USER_STRUCTs.
+ (write_root): Handle TYPE_USER_STRUCT.
+ (vec_prefix_type): Remove. Update all users.
+ (note_def_vec): Remove. Update all users.
+ (dump_typekind): Handle TYPE_USER_STRUCT.
+ (dump_type): Initialize SEEN_TYPES, if needed.
+ Handle TYPE_USER_STRUCT.
+ (dump_everything): Do not initialize SEEN_TYPES.
+ * gengtype.h: Update copyright year.
+ (enum typekind): Add TYPE_USER_STRUCT.
+ (union_or_struct_p): Rename from UNION_OR_STRUCT_P.
+ Convert into function.
+ Add an overload taking const_type_p.
+ Update all callers.
+ (new_structure): Change second field to type enum typekind.
+ Update all users.
+ (find_structure): Likewise.
+ (note_def_vec): Remove.
+ (DEFVEC_OP): Remove.
+ (DEFVEC_I): Remove.
+ * ggc-page.c (gt_ggc_mx): Add entry points for marking
+ 'const char *&', 'unsigned char *&' and 'unsigned char&'.
+ * ggc-zone.c (gt_ggc_mx): Add entry points for marking
+ 'const char *&' and 'unsigned char *&'.
+ * stringpool.c (gt_pch_nx): Add entry points for marking
+ 'const char *&', 'unsigned char *&' and 'unsigned char&'.
+ Add an entry point for the overload taking arguments 'unsigned char
+ *', 'gt_pointer_operator' and 'void *'.
+ * vec.h (struct vec_prefix): Remove GTY marker.
+ (struct vec_t): Remove GTY((length)) attribute from field 'vec'.
+ (gt_ggc_mx (vec_t<T> *)): New template function.
+ (gt_pch_nx (vec_t<T> *)): New template function.
+ (gt_pch_nx (vec_t<T *> *, gt_pointer_operator, void *)): New template
+ function.
+ (gt_pch_nx (vec_t<T> *, gt_pointer_operator, void *)): New template
+ function.
+
+ * basic-block.h (struct edge_def): Mark GTY((user)).
+ Remove all GTY markers from fields.
+ (gt_ggc_mx): Declare.
+ (gt_pch_nx): Declare.
+ * tree-cfg.c (gt_ggc_mx): New.
+ (gt_pch_nx): New.
+
+ * gengtype-lex.l (USER_GTY): Add pattern for "user".
+ * gengtype-parse.c (option): Handle USER_GTY.
+ (opts_have): New.
+ (type): Call it.
+ If the keyword 'user' is used, do not walk the fields
+ of the structure.
+ * gengtype.h (USER_GTY): Add.
+ * doc/gty.texi: Update.
+
+2012-08-14 Lawrence Crowl <crowl@google.com>
+
+ Merge cxx-conversion branch. Implement C++ hash table.
+
+ * hash-table.h: New. Implementation borrowed from libiberty/hashtab.c.
+ * hash-table.c: Likewise.
+ * tree-ssa-tail-merge.c: Include hash-table.h instead of hashtab.h.
+ (static htab_t same_succ_htab): Change type to hash_table;
+ move specification of helper functions from create call to declaration.
+ Change users to invoke member functions.
+ (same_succ_print_traverse): Make extern ssa_.... Change callers.
+ Remove void* casting.
+ (same_succ_hash): Likewise.
+ (same_succ_equal): Likewise.
+ (same_succ_delete): Likewise.
+ * tree-ssa-threadupdate.c: Include hash-table.h.
+ (struct local_info): Rename to ssa_local_info_t to avoid overloading
+ the type name local_info with the variable name local_info.
+ (static htab_t redirection_data): Change type to hash_table.
+ Move specification of helper functions from create call to declaration.
+ Change users to invoke member functions.
+ (redirection_data_hash): Make extern ssa_.... Change callers.
+ Remove void* casting.
+ (redirection_data_eq): Likewise.
+ (fix_duplicate_block_edges): Likewise.
+ (create_duplicates): Likewise.
+ (fixup_template_block): Likewise.
+ (redirect_edges): Likewise.
+ (lookup_redirection_data): Change types associated with the hash table
+ from void* to their actual type. Remove unnecessary casts.
+ * tree-ssa-ccp.c: Include hash-table.h.
+ (typedef gimple_htab): New. Uses hash_table. Replace specific uses
+ of htab_t with gimple_htab. Change users to invoke member functions.
+ Move specification of helper functions from create call to declaration.
+ * tree-ssa-coalesce.c: Include hash-table.h instead of hashtab.h.
+ (hash_ssa_name_by_var): Make extern. Remove void* casting.
+ (eq_ssa_name_by_var): Likewise.
+ (coalesce_ssa_name): Change type of local static htab_t ssa_name_hash
+ to hash_table. Change users to invoke member functions.
+ Move specification of helper functions from create call to declaration.
+ * coverage.c: Include hash-table.h instead of hashtab.h.
+ (static htab_t counts_hash): Change type to hash_table;
+ move specification of helper functions from create call to declaration.
+ Change users to invoke member functions.
+ (htab_counts_entry_hash): Make extern. Rename with coverage_... instead
+ of htab_... Remove void* casting.
+ (htab_counts_entry_eq): Likewise.
+ (htab_counts_entry_del): Likewise.
+ * tree-ssa-pre.c: Include hash-table.h instead of hashtab.h.
+ (static htab_t expression_to_id): Change type to hash_table.
+ Move specification of helper functions from create call to declaration.
+ Change users to invoke member functions.
+ (static htab_t phi_translate_table): Likewise.
+ (pre_expr_eq): Make extern ssa_.... Change callers.
+ Remove void* casting.
+ (pre_expr_hash): Likewise.
+ (expr_pred_trans_hash): Likewise.
+ (expr_pred_trans_eq): Likewise.
+ (alloc_expression_id): Change types associated with the hash table
+ from void* to their actual type. Remove unnecessary casts.
+ (lookup_expression_id): Likewise.
+ (phi_trans_lookup): Likewise.
+ (phi_trans_add): Likewise.
+ * stringpool.c: Rename uses of libcpp typedef hash_table to
+ cpp_hash_table.
+ * Makefile.in: Add hash-table.o to OBJS-libcommon-target.
+ Add $(HASH_TABLE_H). Add new dependences on $(HASH_TABLE_H).
+
+2012-08-14 Lawrence Crowl <crowl@google.com>
+
+ Merge from cxx-conversion branch. Re-write double_int in C++.
+
+ * hash-table.h
+ (typedef double_int): Change to struct (POD).
+ (double_int::make): New overloads for int to double-int conversion.
+ (double_int::mask): New.
+ (double_int::max_value): New.
+ (double_int::min_value): New.
+ (double_int::operator ++): New.
+ (double_int::operator --): New.
+ (double_int::operator *=): New.
+ (double_int::operator +=): New.
+ (double_int::operator -=): New.
+ (double_int::to_signed): New.
+ (double_int::to_unsigned): New.
+ (double_int::fits_unsigned): New.
+ (double_int::fits_signed): New.
+ (double_int::fits): New.
+ (double_int::trailing_zeros): New.
+ (double_int::popcount): New.
+ (double_int::multiple_of): New.
+ (double_int::set_bit): New.
+ (double_int::mul_with_sign): New.
+ (double_int::operator * (binary)): New.
+ (double_int::operator + (binary)): New.
+ (double_int::operator - (binary)): New.
+ (double_int::operator - (unary)): New.
+ (double_int::operator ~ (unary)): New.
+ (double_int::operator & (binary)): New.
+ (double_int::operator | (binary)): New.
+ (double_int::operator ^ (binary)): New.
+ (double_int::and_not): New.
+ (double_int::lshift): New.
+ (double_int::rshift): New.
+ (double_int::alshift): New.
+ (double_int::arshift): New.
+ (double_int::llshift): New.
+ (double_int::lrshift): New.
+ (double_int::lrotate): New.
+ (double_int::rrotate): New.
+ (double_int::div): New.
+ (double_int::sdiv): New.
+ (double_int::udiv): New.
+ (double_int::mod): New.
+ (double_int::smod): New.
+ (double_int::umod): New.
+ (double_int::divmod): New.
+ (double_int::sdivmod): New.
+ (double_int::udivmod): New.
+ (double_int::ext): New.
+ (double_int::zext): New.
+ (double_int::sext): New.
+ (double_int::is_zero): New.
+ (double_int::is_one): New.
+ (double_int::is_minus_one): New.
+ (double_int::is_negative): New.
+ (double_int::cmp): New.
+ (double_int::ucmp): New.
+ (double_int::scmp): New.
+ (double_int::ult): New.
+ (double_int::ugt): New.
+ (double_int::slt): New.
+ (double_int::sgt): New.
+ (double_int::max): New.
+ (double_int::smax): New.
+ (double_int::umax): New.
+ (double_int::min): New.
+ (double_int::smin): New.
+ (double_int::umin): New.
+ (double_int::operator ==): New.
+ (double_int::operator !=): New.
+ (shwi_to_double_int): Change implementation to use member function.
+ (double_int_minus_one): Likewise.
+ (double_int_zero): Likewise.
+ (double_int_one): Likewise.
+ (double_int_two): Likewise.
+ (double_int_ten): Likewise.
+ (uhwi_to_double_int): Likewise.
+ (double_int_to_shwi): Likewise.
+ (double_int_to_uhwi): Likewise.
+ (double_int_fits_in_uhwi_p): Likewise.
+ (double_int_fits_in_shwi_p): Likewise.
+ (double_int_fits_in_hwi_p): Likewise.
+ (double_int_mul): Likewise.
+ (double_int_mul_with_sign): Likewise.
+ (double_int_add): Likewise.
+ (double_int_sub): Likewise.
+ (double_int_neg): Likewise.
+ (double_int_div): Likewise.
+ (double_int_sdiv): Likewise.
+ (double_int_udiv): Likewise.
+ (double_int_mod): Likewise.
+ (double_int_smod): Likewise.
+ (double_int_umod): Likewise.
+ (double_int_divmod): Likewise.
+ (double_int_sdivmod): Likewise.
+ (double_int_udivmod): Likewise.
+ (double_int_multiple_of): Likewise.
+ (double_int_setbit): Likewise.
+ (double_int_ctz): Likewise.
+ (double_int_not): Likewise.
+ (double_int_ior): Likewise.
+ (double_int_and): Likewise.
+ (double_int_and_not): Likewise.
+ (double_int_xor): Likewise.
+ (double_int_lshift): Likewise.
+ (double_int_rshift): Likewise.
+ (double_int_lrotate): Likewise.
+ (double_int_rrotate): Likewise.
+ (double_int_cmp): Likewise.
+ (double_int_scmp): Likewise.
+ (double_int_ucmp): Likewise.
+ (double_int_max): Likewise.
+ (double_int_smax): Likewise.
+ (double_int_umax): Likewise.
+ (double_int_min): Likewise.
+ (double_int_smin): Likewise.
+ (double_int_umin): Likewise.
+ (double_int_ext): Likewise.
+ (double_int_sext): Likewise.
+ (double_int_zext): Likewise.
+ (double_int_mask): Likewise.
+ (double_int_max_value): Likewise.
+ (double_int_min_value): Likewise.
+ (double_int_zero_p): Likewise.
+ (double_int_one_p): Likewise.
+ (double_int_minus_one_p): Likewise.
+ (double_int_equal_p): Likewise.
+ (double_int_popcount): Likewise.
+ * hash-table.c
+ (double_int_mask): Reuse implementation for double_int::mask.
+ (double_int_max_value): Likewise.
+ (double_int_min_value): Likewise.
+ (double_int_ext): Likewise.
+ (double_int_zext): Likewise.
+ (double_int_sext): Likewise.
+ (double_int_mul_with_sign): Likewise.
+ (double_int_divmod): Likewise.
+ (double_int_sdivmod): Likewise.
+ (double_int_udivmod): Likewise.
+ (double_int_div): Likewise.
+ (double_int_sdiv): Likewise.
+ (double_int_udiv): Likewise.
+ (double_int_mod): Likewise.
+ (double_int_smod): Likewise.
+ (double_int_umod): Likewise.
+ (double_int_multiple_of): Likewise.
+ (double_int_lshift): Likewise.
+ (double_int_rshift): Likewise.
+ (double_int_lrotate): Likewise.
+ (double_int_rrotate): Likewise.
+ (double_int_cmp): Likewise.
+ (double_int_ucmp): Likewise.
+ (double_int_scmp): Likewise.
+ (double_int_max): Likewise.
+ (double_int_smax): Likewise.
+ (double_int_umax): Likewise.
+ (double_int_min): Likewise.
+ (double_int_smin): Likewise.
+ (double_int_umin): Likewise.
+ (double_int_min): Likewise.
+ (double_int_min): Likewise.
+ (double_int_min): Likewise.
+ (double_int_min): Likewise.
+ (double_int_min): Likewise.
+ (double_int_min): Likewise.
+ (double_int::alshift): New.
+ (double_int::arshift): New.
+ (double_int::llshift): New.
+ (double_int::lrshift): New.
+ (double_int::ult): New.
+ (double_int::ugt): New.
+ (double_int::slt): New.
+ (double_int::sgt): New.
+ (double_int_setbit): Reuse implementation for double_int::set_bit,
+ which avoids a name conflict with a macro.
+ (double_int_double_int_ctz): Reuse implementation for
+ double_int::trailing_zeros.
+ (double_int_fits_in_shwi_p): Reuse implementation for
+ double_int::fits_signed.
+ (double_int_fits_in_hwi_p): Reuse implementation for double_int::fits.
+ (double_int_mul): Reuse implementation for binary
+ double_int::operator *.
+ (double_int_add): Likewise.
+ (double_int_sub): Likewise.
+ (double_int_neg): Reuse implementation for unary
+ double_int::operator -.
+ (double_int_max_value): Likewise.
+ * fixed-value.c: Change to use member functions introduced above.
+
+2012-08-14 Lawrence Crowl <crowl@google.com>
+
+ Merge cxx-conversion branch. Support tree macro calling from gdb.
+
+ * tree.h (tree_check): New.
+ (TREE_CHECK): Use inline function above instead of __extension__.
+ (tree_not_check): New.
+ (TREE_NOT_CHECK): Use inline function above instead of __extension__.
+ (tree_check2): New.
+ (TREE_CHECK2): Use inline function above instead of __extension__.
+ (tree_not_check2): New.
+ (TREE_NOT_CHECK2): Use inline function above instead of __extension__.
+ (tree_check3): New.
+ (TREE_CHECK3): Use inline function above instead of __extension__.
+ (tree_not_check3): New.
+ (TREE_NOT_CHECK3): Use inline function above instead of __extension__.
+ (tree_check4): New.
+ (TREE_CHECK4): Use inline function above instead of __extension__.
+ (tree_not_check4): New.
+ (TREE_NOT_CHECK4): Use inline function above instead of __extension__.
+ (tree_check5): New.
+ (TREE_CHECK5): Use inline function above instead of __extension__.
+ (tree_not_check5): New.
+ (TREE_NOT_CHECK5): Use inline function above instead of __extension__.
+ (contains_struct_check): New.
+ (CONTAINS_STRUCT_CHECK): Use inline function above instead of
+ __extension__.
+ (tree_class_check): New.
+ (TREE_CLASS_CHECK): Use inline function above instead of __extension__.
+ (tree_range_check): New.
+ (TREE_RANGE_CHECK): Use inline function above instead of __extension__.
+ (omp_clause_subcode_check): New.
+ (OMP_CLAUSE_SUBCODE_CHECK): Use inline function above instead of
+ __extension__.
+ (omp_clause_range_check): New.
+ (OMP_CLAUSE_RANGE_CHECK): Use inline function above instead of
+ __extension__.
+ (expr_check): New.
+ (EXPR_CHECK): Use inline function above instead of __extension__.
+ (non_type_check): New.
+ (NON_TYPE_CHECK): Use inline function above instead of __extension__.
+ (tree_vec_elt_check): New.
+ (TREE_VEC_ELT_CHECK): Use inline function above instead of
+ __extension__.
+ (omp_clause_elt_check): New.
+ (OMP_CLAUSE_ELT_CHECK): Use inline function above instead of
+ __extension__.
+ (tree_operand_check): New.
+ (TREE_OPERAND_CHECK): Use inline function above instead of
+ __extension__.
+ (tree_operand_check_code): New.
+ (TREE_OPERAND_CHECK_CODE): Use inline function above instead of
+ __extension__.
+ (TREE_CHAIN): Simplify implementation.
+ (TREE_TYPE): Simplify implementation.
+ (tree_operand_length): Move for compilation dependences.
+ * gdbinit.in: (macro define __FILE__): New.
+ (macro define __LINE__): New.
+ (skip "tree.h"): New.
+
+2012-08-14 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/52933
+ * config/sh/sh.md (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0,
+ *cmp_div0s_1, *cbranch_div0s, *movsicc_div0s): New insns.
+ * config/sh/sh.c (sh_rtx_costs): Handle div0s patterns.
+
+2012-08-14 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/50751
+ * config/sh/constraints.md (Sra): New constraint.
+ * config/sh/predicates.md (simple_mem_operand,
+ displacement_mem_operand, zero_extend_movu_operand): New predicates.
+ (zero_extend_operand): Check zero_extend_movu_operand for SH2A.
+ * config/sh/sh.md (*zero_extendqisi2_disp_mem,
+ *zero_extendhisi2_disp_mem): Add new insns and two new related
+ peephole2 patterns.
+
+2012-08-14 Steven Bosscher <steven@gcc.gnu.org>
+
+ * graphite-scop-detection.c (create_sese_edges): Compute dominance
+ info before trying to fix loop structure.
+ * cfgloopmanip.c (fix_loop_structure): Require fast DOM queries.
+ * tree-cfgcleanup.c (repair_loop_structures): Likewise.
+ * cfgloop.c (verify_loop_structure): Verify loop fathers.
+
+ * dominance.c (init_dom_info): Use gcc_checking_assert, not gcc_assert.
+ (dom_convert_dir_to_idx, compute_dom_fast_query,
+ get_immediate_dominator, set_immediate_dominator, get_dominated_by,
+ redirect_immediate_dominators, nearest_common_dominator,
+ (dominated_by_p, bb_dom_dfs_in, bb_dom_dfs_out, recompute_dominator,
+ iterate_fix_dominators, add_to_dominance_info,
+ delete_from_dominance_info): Likewise.
+
+2012-08-14 Richard Guenther <rguenther@suse.de>
+
+ * cfgexpand.c (expand_used_vars): Use virtual_operand_p.
+ * gimple-pretty-print.c (dump_phi_nodes): Likewise.
+ * gimple-streamer-out.c (output_bb): Likewise.
+ * graphite-sese-to-poly.c (scalar_close_phi_node_p): Likewise.
+ (rewrite_reductions_out_of_ssa): Likewise.
+ (rewrite_commutative_reductions_out_of_ss): Likewise.
+ * ipa-split.c (verify_non_ssa_vars): Likewise.
+ (consider_split): Likewise.
+ (visit_bb): Likewise.
+ (split_function): Likewise.
+ * lto-streamer-out.c (output_ssa_names): Likewise.
+ * sese.c (rename_uses): Likewise.
+ * tree-cfg.c (replace_uses_by): Likewise.
+ (gimple_merge_blocks): Likewise.
+ (gimple_cfg2dot): Likewise.
+ (verify_gimple_phi): Likewise.
+ (replace_ssa_name): Likewise.
+ (move_block_to_fn): Likewise.
+ * tree-eh.c (cleanup_empty_eh_merge_phis): Likewise.
+ * tree-if-conv.c (if_convertible_phi_p): Likewise.
+ (predicate_scalar_phi): Likewise.
+ * tree-inline.c (update_ssa_across_abnormal_edges): Likewise.
+ (copy_phis_for_bb): Likewise.
+ * tree-loop-distribution.c (generate_loops_for_partition): Likewise.
+ (destroy_loop): Likewise.
+ * tree-outof-ssa.c (eliminate_useless_phis): Likewise.
+ (insert_backedge_copies): Likewise.
+ * tree-parloops.c (transform_to_exit_first_loop): Likewise.
+ (gather_scalar_reductions): Likewise.
+ (try_create_reduction_list): Likewise.
+ * tree-scalar-evolution.c (analyze_scalar_evolution_for_all_loop_ph):
+ Likewise.
+ (scev_const_prop): Likewise.
+ * tree-ssa-ccp.c (debug_lattice_value): Likewise.
+ (get_default_value): Likewise.
+ (ccp_initialize): Likewise.
+ * tree-ssa-coalesce.c (create_outofssa_var_map): Likewise.
+ * tree-ssa-copy.c (may_propagate_copy): Likewise.
+ (init_copy_prop): Likewise.
+ * tree-ssa-dce.c (propagate_necessity): Likewise.
+ (remove_dead_phis): Likewise.
+ (forward_edge_to_pdom): Likewise.
+ (eliminate_unnecessary_stmts): Likewise.
+ * tree-ssa-live.c (partition_view_init): Likewise.
+ (remove_unused_locals): Likewise.
+ (register_ssa_partition_check): Likewise.
+ * tree-ssa-loop-im.c (movement_possibility): Likewise.
+ (move_computations_stmt): Likewise.
+ * tree-ssa-loop-ivopts.c (determine_biv_step): Likewise.
+ (record_invariant): Likewise.
+ (find_interesting_uses_outside): Likewise.
+ (determine_set_costs): Likewise.
+ * tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
+ (find_uses_to_rename_use): Likewise.
+ (check_loop_closed_ssa_use): Likewise.
+ (rewrite_phi_with_iv): Likewise.
+ (canonicalize_loop_ivs): Likewise.
+ * tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
+ * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
+ * tree-ssa-pre.c (make_values_for_phi): Likewise.
+ (compute_avail): Likewise.
+ (eliminate): Likewise.
+ * tree-ssa-propagate.c (substitute_and_fold): Likewise.
+ * tree-ssa-reassoc.c (phi_rank): Likewise.
+ * tree-ssa-strlen.c (strlen_enter_block): Likewise.
+ * tree-ssa-structalias.c (compute_points_to_sets): Likewise.
+ (ipa_pta_execute): Likewise.
+ * tree-ssa-tail-merge.c (same_succ_hash): Likewise.
+ (release_last_vdef): Likewise.
+ (same_phi_alternatives_1): Likewise.
+ (bb_has_non_vop_phi): Likewise.
+ (vop_phi): Likewise.
+ * tree-ssa-threadedge.c (record_temporary_equivalences_from_phis):
+ Likewise.
+ * tree-ssa-uninit.c (warn_uninitialized_phi): Likewise.
+ (execute_late_warn_uninitialized): Likewise.
+ * tree-ssa.c (verify_ssa_name): Likewise.
+ (verify_phi_args): Likewise.
+ (verify_ssa): Likewise.
+ * tree-stdarg.c (execute_optimize_stdarg): Likewise.
+ * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1):
+ Likewise.
+ (slpeel_tree_peel_loop_to_edge): Likewise.
+ (vect_can_advance_ivs_p): Likewise.
+ (vect_update_ivs_after_vectorizer): Likewise.
+ * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Likewise.
+ * tree-vrp.c (remove_range_assertions): Likewise.
+ * value-prof.c (gimple_divmod_values_to_profile): Likewise.
+
+2012-08-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54146
+ * tree-ssa-pre.c (do_regular_insertion): Use a VEC
+ indexed by pred edge index for avail.
+ (do_partial_partial_insertion): Likewise.
+ (insert_into_preds_of_block): Adjust.
+
+2012-08-14 Richard Guenther <rguenther@suse.de>
+
+ * gimplify.c (create_tmp_from_val): Mark temporary with
+ DECL_GIMPLE_REG_P here ...
+ (internal_get_tmp_var): ... instead of here. If we go into
+ SSA create an SSA name instead of a VAR_DECL.
+ (gimplify_modify_expr): Do not create SSA names here, assert
+ we already got them.
+ (force_gimple_operand_1): Create an SSA name if we go into SSA.
+ * sese.c (rename_uses): Simplify.
+
+2012-08-14 Richard Guenther <rguenther@suse.de>
+
+ * tree-into-ssa.c: Include diagnostic-core.h.
+ * Makefile.in (tree-into-ssa.o): Adjust.
+
+2012-08-14 Richard Guenther <rguenther@suse.de>
+
+ * tree-into-ssa.c (update_ssa): Verify we do not rename
+ symbols that are already partly in SSA form.
+
+2012-08-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/53411
+ PR rtl-optimization/53495
+ * ira.c (ira): Move delete_trivially_dead_insns call before
+ find_moveable_pseudos call.
+
+2012-08-13 Steven Bosscher <steven@gcc.gnu.org>
+
+ * tree-ssa-pre.c (do_regular_insertion): Add FIXME markers at points
+ of potentially huge memset overhead.
+ (do_partial_partial_insertion): Likewise.
+ * cfgexpand.c (gimple_expand_cfg): Use XCNEWVEC instead of xcalloc.
+ * tree-vrp.c (find_assert_locations): Use XNEWVEC instead of XCNEWVEC
+ for arrays to be filled by pre_and_rev_post_order_compute. Allocate
+ the right number of slots, not that number plus NUM_FIXED_BLOCKS.
+ * tree-ssa-reassoc.c (init_reassoc): Likewise.
+ * cfganal.c (dfs_enumerate_from): Use XNEWVEC instead of XCNEWVEC for
+ array used as stack.
+ * tree-ssa-sccvn.c (init_scc_vn): Use XNEWVEC instead of XCNEWVEC for
+ arrays to be filled by pre_and_rev_post_order_compute.
+ * cfgloopmanip.c (find_path): Use XNEWVEC instead of XCNEWVEC for
+ array to be filled by dfs_enumerate_from.
+ (remove_path): Likewise.
+ (duplicate_loop_to_header_edge): Use XNEWVEC instead of XCNEWVEC for
+ array of loops that is filled on the next lines.
+ * cfgloop.c (get_loop_body): Use XNEWVEC instead of XCNEWVEC for
+ array of basic blocks to be returned.
+ (get_loop_body_in_dom_order): Likewise.
+ (get_loop_body_in_bfs_order): Likewise.
+ * tree-ssa-loop-manip.c (loop_renamer_obstack): New static obstack
+ for all bitmaps used for rewriting into loop-closed SSA form.
+ (add_exit_phis_var): Allocate the def bitmap on it. Clear the livein
+ bitmap at the end to release a lot of memory.
+ (add_exit_phis): Allocate the exits bitmap on the new obstack.
+ (get_loops_exits): Allocate the exits bitmap on the new obstack.
+ (find_uses_to_rename_use): Allocate a use_blocks bitmap if ver is
+ seen for the first time.
+ (find_uses_to_rename): Add "???" for why the whole function must
+ be re-scanned if changed_bbs is empty.
+ (rewrite_into_loop_closed_ssa): Allocate bitmaps on the new obstack.
+ Use XNEWVEC to allocate the use_blocks array. Initialize the new
+ obstack, and free it at the end. Remove loop over all SSA names.
+ (check_loop_closed_ssa_stmt): Look only at SSA_OP_USE operands.
+ * tree-cfg.c (move_sese_region_to_fn): Use XNEWVEC instead of
+ xcalloc to allocate edge_pred and edge_flag arrays.
+
+2012-08-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (FIXED_REGISTERS): Do not mark REX registers here.
+ (CALL_USED_REGISTERS): Use bitmaps to mark call-used registers
+ for different ABIs.
+ (enum reg_class): Move CLOBBERED_REGS just before GENERAL_REGS.
+ (REG_CLASS_NAMES): Update.
+ (REG_CLASS_CONTENTS): Update. Clear CLOBBERED_REGS members.
+ * config/i386/i386.c (ix86_conditional_register_usage): Disable
+ REX registers on 32bit targets. Handle bitmaps from
+ CALL_USED_REGISTERS initializer. Calculate CLOBBERED_REGS register
+ set from GENERAL_REGS also for 32bit targets. Do not change call
+ used register set for TARGET_64BIT_MS_ABI separately.
+
+2012-08-13 Richard Guenther <rguenther@suse.de>
+
+ * basic-block.h (struct basic_block): Remove loop_depth
+ member, move flags and index members next to each other.
+ * cfgloop.h (bb_loop_depth): New inline function.
+ * cfghooks.c (split_block): Do not set loop_depth.
+ (duplicate_block): Likewise.
+ * cfgloop.c (flow_loop_nodes_find): Likewise.
+ (flow_loops_find): Likewise.
+ (add_bb_to_loop): Likewise.
+ (remove_bb_from_loops): Likewise.
+ * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
+ * gimple-streamer-in.c (input_bb): Do not stream loop_depth.
+ * gimple-streamer-out.c (output_bb): Likewise.
+ * bt-load.c: Include cfgloop.h.
+ (migrate_btr_defs): Use bb_loop_depth.
+ * cfg.c (dump_bb_info): Likewise.
+ * final.c (compute_alignments): Likewise.
+ * ira.c (update_equiv_regs): Likewise.
+ * tree-ssa-copy.c (init_copy_prop): Likewise.
+ * tree-ssa-dom.c (loop_depth_of_name): Likewise.
+ * tree-ssa-forwprop.c: Include cfgloop.h.
+ (forward_propagate_addr_expr): Use bb_loop_depth.
+ * tree-ssa-pre.c (insert_into_preds_of_block): Likewise.
+ * tree-ssa-sink.c (select_best_block): Likewise.
+ * ipa-inline-analysis.c: Include cfgloop.h.
+ (estimate_function_body_sizes): Use bb_loop_depth.
+ * Makefile.in (tree-ssa-forwprop.o): Depend on $(CFGLOOP_H).
+ (ipa-inline-analysis.o): Likewise.
+ (bt-load.o): Likewise.
+
+2012-08-13 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR driver/54210
+ * config/i386/driver-i386.c (host_detect_local_cpu): Test bit_PRFCHW
+ bit of CPUID 0x80000001 %ecx instead of CPUID 7 %ecx.
+ * config/i386/cpuid.h (bits_PRFCHW): Move definition to CPUID
+ 0x80000001 %ecx flags.
+
+2012-08-13 Richard Guenther <rguenther@suse.de>
+
+ * tree-cfg.c (print_loop): Avoid ICEing for loops marked for
+ removal and loops with multiple latches.
+
+2012-08-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/53968
+ * tree.c (integer_pow2p): Avoid undefined signed overflows.
+ * simplify-rtx.c (neg_const_int): Likewise.
+ * expr.c (fixup_args_size_notes): Likewise.
+ * stor-layout.c (set_min_and_max_values_for_integral_type): Likewise.
+ * double-int.c (mul_double_wide_with_sign): Likewise.
+ (double_int_mask): Likewise.
+ * tree-ssa-loop-ivopts.c (get_address_cost): Likewise.
+
+2012-08-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54200
+ * tree-ssa-copyrename.c (rename_ssa_copies): Do not add
+ PHI results to another partition if not all PHI arguments
+ have the same partition.
+
+2012-08-12 Jan Hubicka <jh@suse.cz>
+
+ * tree-pass.h (write_summary, write_optimization_summary): Remove
+ set and vset arguments.
+ * ipa-cp.c (ipcp_write_summary): Remove set and vset arugments.
+ (write_node_summary_p): Likewise; use the encoder.
+ (ipa_reference_write_optimization_summary): Likewise.
+ * lto-cgraph.c (output_cgraph_opt_summary): Use encoder.
+ (lto_symtab_encoder_new): Initialize in_partition field.
+ (lto_symtab_encoder_delete): Destroy in_partition field.
+ (LCC_NOT_FOUND): Move to lto-streamer.h
+ (lto_symtab_encoder_deref): Likewise.
+ (lto_symtab_encoder_in_partition_p,
+ lto_set_symtab_encoder_in_partition): New functions.
+ (referenced_from_other_partition_p): Rewrite to use encoder.
+ (reachable_from_other_partition_p): Likewise.
+ (referenced_from_this_partition_p): Likewise.
+ (reachable_from_this_partition_p): Likewise.
+ (lto_output_node): Likewise.
+ (lto_output_varpool_node): Likewise.
+ (output_refs): Likewise.
+ (compute_ltrans_boundary): Initialize in_partition fileds of
+ the encoder.
+ (output_symtab): Likewise.
+ (input_refs): Match the changes in output_refs.
+ (output_cgraph_opt_summary_p): Remove set argument.
+ (output_node_opt_summary): Replace set by encoder.
+ (output_cgraph_opt_summary): Remove set argument; use
+ the encoder.
+ * ipa-pure-const.c (pure_const_write_summary): Remove set and vset
+ arguments; use the encoder.
+ * lto-streamer-out.c (lto_output): Remove set and vset argument; use
+ the encoder.
+ (produce_symtab): Likewise.
+ * ipa-inline.h (inline_write_summary): Remove set and vset arguments.
+ * ipa-inline-analysis.c (inline_write_summary): Likewise.
+ * ipa-prop.c (ipa_prop_write_jump_functions): Remove set argument;
+ use encoder.
+ * ipa-prop.h (ipa_prop_write_jump_functions): Likewise.
+ * passes.c (ipa_write_summaries_2): Remove set and vset arguments.
+ (ipa_write_summaries_1): Update.
+ (ipa_write_optimization_summaries_1): Likewise.
+ (ipa_write_optimization_summaries): Likewise.
+ * lto-streamer.h (lto_symtab_encoder_t): Add in_partition.
+ (lto_symtab_encoder_iterator): New type.
+ (lto_symtab_encoder_deref): Make inline.
+ (output_symtab, referenced_from_other_partition_p,
+ reachable_from_other_partition_p, referenced_from_this_partition_p,
+ reachable_from_this_partition_p): Update.
+ (lsei_end_p, lsei_next, lsei_node, lsei_cgraph_node,
+ lsei_varpool_node): New inline functions.
+ (LCC_NOT_FOUND): New macro.
+ (lto_symtab_encoder_deref, lsei_start, lsei_next_in_partition,
+ lsei_start_in_partition, lsei_next_function_in_partition,
+ lsei_start_function_in_partition, lsei_next_variable_in_partition,
+ lsei_start_variable_in_partition): New inline functions.
+
+2012-08-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md (prefetch): Simplify expander. Fix condition to
+ allow SH3.
+ (*prefetch_media): Move insn below expander.
+ (*prefetch): Fix condition to allow SH3.
+
+2012-08-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh.md: Add splits for inverted compare and branch
+ opportunities.
+ (*cmpeqsi_t): New insn.
+ (cmpgtsi_t, cmpgesi_t): Swap r and N alternatives.
+ (cmpgeusi_t): Use satisfies_constraint_Z. Emit sett insn in
+ replacement insn list and not in the preparation statements.
+ (clrt, sett): Add mt_group attribute.
+
+2012-08-12 Marc Glisse <marc.glisse@inria.fr>
+
+ PR middle-end/54193
+ * gimple-pretty-print.c (dump_ternary_rhs): Handle 4 arguments.
+
+2012-08-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/39423
+ * config/sh/predicates.md (mem_index_disp_operand): Check for
+ arith_reg_operand instead of REG_P.
+
+2012-08-11 Bernd Schmidt <bernds@codesourcery.com>
+
+ * reload1.c (replaced_subreg, gen_reload): Add
+ SECONDARY_MEMORY_NEEDED ifdefs as necessary.
+
+2012-08-11 Jan Hubicka <jh@suse.cz>
+
+ * lto-section-in.c (lto_section_name): Do not use "symtab" as part of
+ symtab_node sectoin name; it confuses plugin.
+
+2012-08-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_stdarg_optimize_hook): Shift DECL_UID
+ index in the va_list_vars bitmap by num_ssa_names.
+
+2012-08-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (xop integer multiply/add insns): Use
+ register_operand for operand 3 predicate.
+ (xop_phadd<u>bq): Fix vec_select selectors.
+
+2012-08-11 Martin Jambor <mjambor@suse.cz>
+
+ PR fortran/48636
+ * ipa-inline.h (condition): New fields offset, agg_contents and by_ref.
+ * ipa-inline-analysis.c (agg_position_info): New type.
+ (add_condition): New parameter aggpos, also store agg_contents, by_ref
+ and offset.
+ (dump_condition): Also dump aggregate conditions.
+ (evaluate_conditions_for_known_args): Also handle aggregate
+ conditions. New parameter known_aggs.
+ (evaluate_properties_for_edge): Gather known aggregate contents.
+ (inline_node_duplication_hook): Pass NULL known_aggs to
+ evaluate_conditions_for_known_args.
+ (unmodified_parm): Split into unmodified_parm and unmodified_parm_1.
+ (unmodified_parm_or_parm_agg_item): New function.
+ (set_cond_stmt_execution_predicate): Handle values passed in
+ aggregates.
+ (set_switch_stmt_execution_predicate): Likewise.
+ (will_be_nonconstant_predicate): Likewise.
+ (estimate_edge_devirt_benefit): Pass new parameter known_aggs to
+ ipa_get_indirect_edge_target.
+ (estimate_calls_size_and_time): New parameter known_aggs, pass it
+ recrsively to itself and to estimate_edge_devirt_benefit.
+ (estimate_node_size_and_time): New vector known_aggs, pass it o
+ functions which need it.
+ (remap_predicate): New parameter offset_map, use it to remap aggregate
+ conditions.
+ (remap_edge_summaries): New parameter offset_map, pass it recursively
+ to itself and to remap_predicate.
+ (inline_merge_summary): Also create and populate vector offset_map.
+ (do_estimate_edge_time): New vector of known aggregate contents,
+ passed to functions which need it.
+ (inline_read_section): Stream new fields of condition.
+ (inline_write_summary): Likewise.
+ * ipa-cp.c (ipa_get_indirect_edge_target): Also examine the aggregate
+ contents. Let all local callers pass NULL for known_aggs.
+
+2012-08-11 Jan Hubicka <jh@suse.cz>
+
+ * lto-cgraph.c (output_cgraph): Rename to ...
+ (output_symtab): ... this one. Update for LTO_section_symtab_nodes.
+ (input_cgraph): Rename to ...
+ (input_symtab): ... this one. Update for LTO_section_symtab_nodes.
+ * lto-streamer-out.c (create_output_block): Do not set
+ section_type.
+ (produce_asm): Likewise.
+ (lto_output_toplevel_asms): Likewise.
+ (produce_asm_for_decls): Likewise.
+ (lto_output): Use output_symtab.
+ * lto-section-in.c (lto_section_name): Update.
+ * lto-section-out.c (lto_destroy_simple_output_block): Remove
+ section_type.
+ * lto-streamer.h (enum lto_section_type): Remove LTO_section_varpool;
+ rename LTO_section_cgraph to LTO_section_symtab_nodes.
+ (struct lto_header): Remove section_type.
+
+2012-08-11 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (vector types for symtab_node): Add.
+ * ipa-reference.c (ipa_reference_write_optimization_summary): Update
+ for new symtab encoder.
+ (ipa_reference_read_optimization_summary): Likewise.
+ * lto-cgraph.c (output_varpool): Remove.
+ (input_cgraph_opt_summary): Take symtab nodes vector as argument.
+ (LTO_cgraph_tags): Rename to ...
+ (LTO_symtab_tags): ... this one; add LTO_symtab_variable.
+ (lto_cgraph_encoder_new): Rename to ...
+ (lto_symtab_encoder_new): ... this on.
+ (lto_cgraph_encoder_encode): Rename to ...
+ (lto_symtab_encoder_encode): ... this one.
+ (lto_cgraph_encoder_delete): Rename to ...
+ (lto_symtab_encoder_delete): ... this one.
+ (lto_cgraph_encoder_deref): Rename to ...
+ (lto_symtab_encoder_deref): ... this one.
+ (lto_cgraph_encoder_encode_body_p): Rename to ...
+ (lto_symtab_encoder_encode_body_p): ... this one.
+ (lto_varpool_encoder_new, lto_varpool_encoder_delete,
+ lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
+ lto_varpool_encoder_deref): Remove.
+ (lto_varpool_encoder_encode_initializer_p): Rename to ...
+ (lto_symtab_encoder_encode_initializer_p): ... this one.
+ (lto_set_varpool_encoder_encode_initializer): Rename to ...
+ (lto_set_symtab_encoder_encode_initializer): ... this one.
+ (lto_output_edge): Update.
+ (lto_output_node): Update.
+ (lto_output_varpool_node): Update; stream out LTO_symtab_variable tag.
+ (lto_output_ref): Drop varpool_encoder; update.
+ (add_node_to): Update.
+ (add_references): Update.
+ (output_outgoing_cgraph_edges): Update.
+ (output_refs): Update.
+ (compute_ltrans_boundary): Update.
+ (output_cgraph): Update; output varpools too.
+ (input_overwrite_node): Update.
+ (output_varpool): Remove.
+ (input_node): Update.
+ (input_ref): Update.
+ (input_edge): Update.
+ (input_cgraph_1): Update; input varpool too; unify fixup code.
+ (input_varpool_1): Remove.
+ (input_refs): Update.
+ (input_cgraph): Update.
+ (output_node_opt_summary): Update.
+ (input_cgraph_opt_section): Update.
+ (input_cgraph_opt_summary): Update.
+ * ipa-pure-const.c (pure_const_write_summary): Update.
+ (pure_const_read_summary): Update.
+ * lto-streamer-out.c (lto_write_tree): Update.
+ (lto_output): Likewise.
+ (produce_symtab): Update.
+ (produce_asm_for_decls): Update.
+ * ipa-inline-analysis.c (inline_read_section): Update.
+ (inline_write_summary): Update.
+ * ipa-prop.c (ipa_write_node_info): Update.
+ (ipa_prop_read_section): Update.
+ * lto-streamer.h (lto_cgraph_encoder_d): Rename to ...
+ (lto_symtab_encoder_d): ... this one; add initializer.
+ (lto_cgraph_encoder_t): Rename to ...
+ (lto_symtab_encoder_t): ... this one.
+ (lto_cgraph_encoder_size): Rename to ...
+ (lto_symtab_encoder_size): ... this one.
+ (lto_varpool_encoder_d): ... remove.
+ (lto_varpool_encoder_t): Remove.
+ (lto_out_decl_state): Remove cgraph_node_encoder, varpool_node_encoder
+ add symtab_node_encoder.
+ (lto_file_decl_data): Likewise.
+ (lto_cgraph_encoder_deref, lto_cgraph_encoder_lookup,
+ lto_cgraph_encoder_new, lto_cgraph_encoder_encode,
+ lto_cgraph_encoder_delete, lto_cgraph_encoder_encode_body_p,
+ lto_varpool_encoder_encode_body_p, lto_varpool_encoder_deref,
+ lto_varpool_encoder_lookup, lto_varpool_encoder_new,
+ lto_varpool_encoder_encode, lto_varpool_encoder_delete,
+ lto_varpool_encoder_encode_initializer_p): Remove.
+ (lto_symtab_encoder_deref, lto_symtab_encoder_lookup,
+ lto_symtab_encoder_t, lto_symtab_encoder_encode,
+ lto_symtab_encoder_delete, lto_symtab_encoder_encode_body_p,
+ lto_symtab_encoder_encode_initializer_p): New.
+
+2012-08-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (isa): Add fma and fma4.
+ (enabled): Handle fma and fma4.
+ * config/i386/sse.md (*fma_fmadd_<mode>): Merge *fma4_fmadd_<mode>.
+ (*fma_fmsub_<mode>): Merge *fma4_fmsub_<mode>.
+ (*fma_fnmadd_<mode>): Merge *fma4_fnmadd_<mode>.
+ (*fma_fnmsub_<mode>): Merge *fma4_fnmsub_<mode>.
+ (*fma_fmaddsub_<mode>): Merge *fma4_fmaddsub_<mode>.
+ (*fma_fmsubadd_<mode>): Merge *fma4_fmsubadd_<mode>.
+
+2012-08-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (*fma_fmadd_<mode>, *fma_fmsub_<mode>,
+ *fma_fnmadd_<mode>, *fma_fnmsub_<mode>, *fma_fmaddsub_<mode>,
+ *fma_fmsubadd_<mode>): Move FMA3 insn patterns before FMA4 patterns.
+
+2012-08-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (simple LEA peephole2s): Add zero-extend
+ variants of PLUS and MULT simple LEA patterns. Disable PLUS
+ patterns for TARGET_OPT_AGU.
+
+2012-08-10 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in (OBJS): Remove matrix-reorg.o.
+ (matrix-reorg.o): Remove dependence rule.
+ (GTFILES): Remove matrix-reorg.c.
+ * matrix-reorg.c: Remove.
+ * passes.c (init_optimization_passes): Do not schedule
+ pass_ipa_matrix_reorg.
+ * tree-pass.h (pass_ipa_matrix_reorg): Remove.
+ * common.opt (fipa-matrix-reorg): Stub out.
+ * doc/invoke.texi (fipa-matrix-reorg): Remove documentation.
+
+2012-08-10 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/54219
+ * fold-const.c (fold_ternary_loc): Do not reverse the mask
+ when canonicalizing it when folding VEC_PERM_EXPR.
+
+2012-08-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR middle-end/54211
+ * gimple-ssa-strength-reduction.c (analyze_candidates_and_replace):
+ Use cand_type to determine whether pointer arithmetic will be generated.
+
+2012-08-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * doc/sourcebuild.texi: Document long_neq_int effective target.
+
+2012-08-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54109
+ * tree-ssa-forwprop.c
+ (forward_propagate_addr_into_variable_array_index): Remove.
+ (forward_propagate_addr_expr_1): Adjust.
+
+2012-08-10 Richard Guenther <rguenther@suse.de>
+
+ * tree-cfg.c (dump_function_to_file): Make sure to dump
+ anonymous SSA names when there are no local decls.
+
+2012-08-10 Steven Bosscher <steven@gcc.gnu.org>
+
+ * tree-ssa-pre.c (alloc_expression_id): Fix use of VEC_reserve.
+ * tree-into-ssa.c (get_ssa_name_ann): Likewise.
+ (mark_phi_for_rewrite): Likewise.
+ (compute_global_livein): Use VEC_reserve outside the innermost
+ loop and VEC_quick_push instead of VEC_safe_push in that loop.
+ (update_ssa): Re-organize to avoid unnecessary sbitmap_zero'ing
+ of new_ssa_names and old_ssa_names. Allocate phis_to_rewrite to
+ the correct initial size.
+
+2012-08-10 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (pretemp, storetemp, prephitemp): Remove.
+ (need_creation): Remove.
+ (get_representative_for): Use anonymous named SSA names.
+ (create_expression_by_pieces): Likewise.
+ (insert_into_preds_of_block): Likewise.
+ (init_pre): Do not init removed vars.
+ (fini_pre): Do not free need_creation.
+ * tree-ssa-forwprop.c (simplify_bitwise_binary): Use anonymous
+ SSA names.
+ * tree-ssa-loop-manip.c (create_iv): Likewise.
+ * value-prof.c (gimple_divmod_fixed_value): Likewise.
+ (gimple_mod_pow2): Likewise.
+ (gimple_mod_subtract): Likewise.
+ (gimple_ic): Likewise.
+ (gimple_stringop_fixed_value): Likewise.
+ * tree-ssa-phiopt.c (condstoretemp): Remove.
+ (tree_ssa_phiopt_worker): Use anonymous named SSA names.
+ (conditional_replacement): Likewise.
+ (abs_replacement): Likewise.
+ (cond_store_replacement): Likewise.
+ (cond_if_else_store_replacement_1): Likewise.
+ * tree-ssa-loop-im.c (rewrite_reciprocal): Likewise.
+ (rewrite_bittest): Likewise.
+ * tree-ssa-reassoc.c (build_and_add_sum): Get type from callers
+ and build anonymous SSA names.
+ (undistribute_ops_list): Adjust.
+ (eliminate_redundant_comparison): Use anonymous SSA names.
+ (rewrite_expr_tree_parallel): Likewise.
+ (get_reassoc_pow_ssa_name): Remove.
+ (attempt_builtin_powi): Adjust.
+ (reassociate_bb): Likewise.
+ * tree-ssa-strlen.c (get_string_length): Use anonymous SSA names.
+ * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
+ (build_arrays): Likewise.
+ * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
+ (create_tailcall_accumulator): Likewise.
+ * tree-vect-generic.c (expand_vector_divmod): Likewise.
+ * tree-profile.c (gcov_type_tmp_var): Remove.
+ (gimple_init_edge_profiler): Do not initialize it and use anonymous
+ SSA names.
+ (gimple_gen_ic_profiler): Likewise.
+ (tree_profiling): Adjust.
+ * tree-sra.c (build_ref_for_offset): Use anonymous SSA names.
+ * tree-ssa-math-opts.c (execute_cse_sincos_1): Likewise.
+ (powi_as_mults_1): Likewise.
+ (powi_as_mults): Likewise.
+ (build_and_insert_call): Adjust.
+ (build_and_insert_binop): Likewise.
+ (build_and_insert_ref): Likewise.
+ (build_and_insert_cast): Likewise.
+ (gimple_expand_builtin_pow): Likewise.
+ (gimple_expand_builtin_cabs): Likewise.
+ (execute_optimize_bswap): Use anonymous SSA names.
+ (convert_mult_to_widen): Likewise.
+ (convert_plusminus_to_widen): Likewise.
+ * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
+ * tree-ssa-propagate.c (update_call_from_tree): Likewise.
+ * tree-if-conv.c (ifc_temp_var): Likewise.
+ * tree-loop-distribution.c (generate_memset_builtin): Likewise.
+ * tree-parloops.c (take_address_of): Likewise.
+ * tree-vect-data-refs.c (vect_permute_store_chain): Likewise.
+ (vect_permute_load_chain): Likewise.
+ * tree-vect-loop-manip.c (vect_create_cond_for_align_checks): Likewise.
+ * tree-vect-patterns.c (vect_recog_temp_ssa_var): Likewise.
+ (vect_handle_widen_op_by_const): Likewise.
+ (vect_operation_fits_smaller_type): Likewise.
+ (vect_recog_over_widening_pattern): Likewise.
+ * tree-vect-stmts.c (vect_init_vector): Likewise.
+ * tree-vrp.c (simplify_truth_ops_using_ranges): Likewise.
+ (simplify_float_conversion_using_ranges): Likewise.
+
+2012-08-10 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix
+ target mask of __builtin_ia32_rdseed_di_step builtin.
+
+2012-08-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54027
+ * tree-vrp.c (extract_range_from_binary_expr_1): Merge RSHIFT_EXPR
+ and LSHIFT_EXPR handling, force -fwrapv for the multiplication used
+ to handle LSHIFT_EXPR with a constant.
+
+2012-08-10 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (SSA_NAME_VAR): Return NULL_TREE if an IDENTIFIER_NODE
+ is recorded as var.
+ (SSA_NAME_IDENTIFIER): Return the IDENTIFIER_NODE of the SSA_NAME
+ or its SSA_NAME_VAR.
+ (SET_SSA_NAME_VAR_OR_IDENTIFIER): New setter.
+ * tree-ssanames.c (make_ssa_name_fn): Handle creating anonymous
+ SSA names by passing a type instead of a variable decl.
+ (release_ssa_name): Use SET_SSA_NAME_VAR_OR_IDENTIFIER.
+ (copy_ssa_name_fn): Handle anonymous SSA names.
+ (replace_ssa_name_symbol): Use SET_SSA_NAME_VAR_OR_IDENTIFIER.
+ * tree-flow-inline.h (make_temp_ssa_name): New inline function.
+ * tree-pretty-print.c (dump_generic_node): Use SSA_NAME_IDENTIFIER,
+ dump SSA names without a name as <anon>.
+ * cfgexpand.c (expand_used_vars): Assing anonymous SSA names we are
+ going to expand a decl.
+ (gimple_expand_cfg): Assign all SSA names of a partition the
+ decl we created for its leader.
+ * tree-ssa.c (target_for_debug_bind): Handle SSA_NAMEs.
+ (verify_ssa_name): Handle anonymous SSA names.
+ (verify_def): Likewise.
+ * tree-predcom.c (eliminate_temp_copies): Likewise.
+ * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
+ * tree-ssa-live.c (var_map_base_init): Compute conflicts for
+ anonymous SSA names with the same type.
+ (mark_all_vars_used_1): Handle anonymous SSA names.
+ (verify_live_on_entry): Likewise.
+ * tree-ssa-coalesce.c (abnormal_corrupt): Remove.
+ (create_outofssa_var_map): Adjust with respect to conflicts we
+ compute for anonymous SSA names. Do not restrict abnormal
+ coalescing.
+ (coalesce_partitions): Do not restrict abnormal coalescing.
+ Assert we only ever coalesce variables we computed conflicts for.
+ * tree-ssa-ter.c (process_replaceable): Do not restrict TER
+ of anonymous names.
+ * expr.c (expand_expr_real_1): Handle anonymous SSA names
+ expanded from IVOPTs by creating a raw REG here.
+ * tree-cfg.c (replace_ssa_name): Handle anonymous SSA names.
+ (dump_function_to_file): Dump anonymous SSA names alongside
+ with their types in the variable list.
+ (verify_gimple_return): Guard use of SSA_NAME_VAR.
+ * tree-into-ssa.c (mark_for_renaming): Handle a NULL symbol.
+ (rewrite_into_ssa): Make SSA names anonymous.
+ * tree-ssa-structalias.c (alias_get_name): Rewrite.
+ * tree-ssa-uninit.c (ssa_undefined_value_p): Handle anonymous
+ SSA names.
+ (warn_uninitialized_phi): Likewise.
+ * tree-ssa-loop-ivopts.c (prepare_decl_rtl): Defer expanding
+ anonymous SSA names to the expander.
+ (determine_iv_cost): Anonymous SSA names are artificial.
+ * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
+ Handle anonymous SSA names.
+ * lto-streamer-out.c (output_ssa_names): Stream SSA_NAME_VAR
+ or if NULL, the type of the SSA name.
+ * tree-inline.c (remap_ssa_name): Handle anonymous SSA names,
+ remap names as anonymous where appropriate.
+ (insert_init_stmt): Pass SSA names down to insert_init_debug_bind.
+ * tree-ssa-uncprop.c (uncprop_into_successor_phis): Adjust
+ according to what we create conflicts for in out-of-SSA
+ coalescing.
+ * tree-parloops.c (separate_decls_in_region_name): Handle
+ anonymous SSA names.
+ (add_field_for_name): Likewise.
+ * tree.c (get_name): Handle SSA names.
+ * tree-ssa-loop-im.c (gen_lsm_tmp_name): Defer to get_name for
+ SSA_NAMEs.
+ * tree-vect-loop-manip.c (adjust_debug_stmts): Use
+ virtual_operand_p.
+ * tree-sra.c (create_access_replacement): Give up generating
+ a DECL_DEBUG_EXPR for SSA names in the memory reference.
+ (replace_removed_params_ssa_names): Guard use of SSA_NAME_VAR.
+ * tree-complex.c (get_component_ssa_name): Handle anonymous
+ SSA names.
+ (set_component_ssa_name): Likewise.
+ * tree-ssa-sccvn.c (visit_reference_op_load): Likewise.
+ * tree-object-size.c (collect_object_sizes_for): Handle
+ uninitialized SSA names properly.
+ * ipa-inline-analysis.c (eliminated_by_inlining_prob): Guard use of
+ SSA_NAME_VAR.
+ * ipa-split.c (test_nonssa_use): Likewise.
+ (consider_split): Likewise.
+ (mark_nonssa_use): Likewise.
+
+2012-08-09 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/54146
+ * ipa-inline-transform.c (inline_call): Add UPDATE_OVERALL_SUMMARY
+ parameter; honnor it.
+ * ipa-inline.c (recursive_inlining): Update call
+ of inline_call.
+ (inline_small_functions): Likewise.
+ (ipa_inline): Likewise.
+ (inline_always_inline_functions): Likewise.
+ (early_inline_small_functions): Likewise.
+ (flatten_function): Do separate update of summary info.
+ * ipa-inline.h (inline_update_overall_summary): Declare.
+ (inline_call): Update.
+ * ipa-inline-analysis.c (inline_merge_summary): Break out
+ updating code to ...
+ (inline_update_overall_summary): Likewise.
+
+2012-08-09 Richard Henderson <rth@redhat.com>
+
+ * config/s390/s390.c (s390_expand_insv): Use VOIDmode in gen_rtx_SET.
+
+ * config/s390/s390.c (s390_expand_cs_hqi): Copy val to a temp before
+ performing the compare for the restart loop.
+
+2012-08-09 DJ Delorie <dj@redhat.com>
+
+ * config/rl78/rl78.c (rl78_alloc_physical_registers): Check for
+ SET before extracting SET_SRC.
+ (rl78_remove_unused_sets): Check for REG before extractnig REGNO.
+
+2012-08-09 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * config/sh/sh-protos (shift_insns_rtx): Delete.
+ (sh_ashlsi_clobbers_t_reg_p): Add.
+ * config/sh/sh.c (shift_insns, shift_amounts, ext_shift_insns,
+ ext_shift_amounts): Merge arrays of ints to array of structs.
+ Adapt usage of arrays throughout the file.
+ (shift_insns_rtx): Delete unused function.
+ (sh_ashlsi_clobbers_t_reg_p): New function.
+ * config/sh/sh.md (ashlsi3): Emit ashlsi3_n_clobbers_t insn if the
+ final shift sequence will clobber T_REG.
+ (ashlsi3_n): Split only if the final shift sequence will not
+ clobber T_REG.
+ (ashlsi3_n_clobbers_t): New insn_and_split.
+
+2012-08-09 Steven Bosscher <steven@gcc.gnu.org>
+
+ * calls.c (mem_overlaps_already_clobbered_arg_p): Use SBITMAP_SIZE
+ instead of looking at sbitmap n_bits member directly.
+ * gcse.c (hoist_code): Likewise.
+ * sched-rgn.c (split_edges): Likewise.
+ * tree-into-ssa.c (is_old_name, is_new_name, add_new_name_mapping,
+ update_ssa): Likewise.
+
+2012-08-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (LIMIT_RELOAD_CLASS): Return preferred
+ single unit register class for classes that contain registers form
+ multiple units.
+ (REG_CLASS_CONTENTS): Add missing "frame" register to FLOAT_INT_REGS,
+ INT_SSE_REGS and FLOAT_INT_SSE_REGS register classes.
+
+2012-08-09 Martin Jambor <mjambor@suse.cz>
+
+ * cgraph.h (cgraph_indirect_call_info): Field anc_offse renamd to
+ offset, updated all users. New field agg_contents.
+ * ipa-prop.h (jump_func_type): Removed IPA_JF_CONST_MEMBER_PTR.
+ (ipa_pass_through_data): New field agg_preserved.
+ (ipa_ancestor_jf_data): Likewise.
+ (ipa_member_ptr_cst): Removed.
+ (ipa_agg_jf_item): New type.
+ (ipa_agg_jump_function): Likewise.
+ (ipa_jump_func): New field agg. Removed field member_cst.
+ (ipa_get_jf_pass_through_agg_preserved): New function.
+ (ipa_get_jf_ancestor_agg_preserved): Likewise.
+ (ipa_get_jf_member_ptr_pfn): Removed.
+ (ipa_find_agg_cst_for_param): Declare.
+ (ipa_load_from_parm_agg): Likewise.
+ * ipa-prop.c (param_analysis_info): Fields modified and
+ visited_statements rename to parm_modified and parm_visited_statements
+ respectively, added fields ref_modified, ref_visited_statements,
+ pt_modified and pt_visited_statements.
+ (ipa_print_node_jump_functions_for_edge): Do not dump const member
+ functions. Dump agg_preserved flags and aggregate jump functions.
+ (ipa_set_jf_simple_pass_through): Set also agg_preserved.
+ (ipa_set_ancestor_jf): Likewise.
+ (ipa_set_jf_arith_pass_through): Clear agg_preserved.
+ (ipa_set_jf_member_ptr_cst): Removed.
+ (is_parm_modified_before_stmt): Logic reversed, renamed to
+ parm_preserved_before_stmt_p. Cache visited bitmap only for
+ naked DECL parameters. All callers updated.
+ (load_from_unmodified_param): Allow NULL parms_ainfo.
+ (parm_ref_data_preserved_p): New function.
+ (parm_ref_data_pass_through_p): Likewise.
+ (ipa_load_from_parm_agg_1): Likewise.
+ (ipa_load_from_parm_agg): Likewise.
+ (compute_complex_assign_jump_func): Check if aggregate contents are
+ preserved.
+ (compute_complex_ancestor_jump_func): Likewise.
+ (compute_scalar_jump_functions): Removed.
+ (type_like_member_ptr_p): Also check field position are known and sane.
+ (compute_pass_through_member_ptrs): Removed.
+ (determine_cst_member_ptr): Likewise.
+ (ipa_known_agg_contents_list): New type.
+ (determine_known_aggregate_parts): New function.
+ (compute_cst_member_ptr_arguments): Removed.
+ (ipa_compute_jump_functions_for_edge): Compute all kinds of jump
+ functions (scalar, aggregate and member pointer).
+ (ipa_get_member_ptr_load_param): Incorporate into
+ ipa_get_stmt_member_ptr_load_param, also pass back an offset.
+ (ipa_note_param_call): Clear agg_contents.
+ (ipa_analyze_indirect_call_uses): Also look for simple pointers loaded
+ from aggregates. In such cases, store offset of the called field.
+ (ipa_analyze_node): Initialize new fields of param_analysis_info.
+ (update_jump_functions_after_inlining): Handle aggregate contents.
+ (ipa_find_agg_cst_for_param): New function.
+ (try_make_edge_direct_simple_call): Handle called aggregate values.
+ (update_indirect_edges_after_inlining): Make sure aggregate preserving
+ jump functions comply with type compatibility requirements.
+ (ipa_edge_duplication_hook): Copy also aggregate jump functions.
+ (ipa_write_jump_function): Stream agg_preserved flags and aggregate
+ jump functions. Do not stream member pointer constant jump functions.
+ (ipa_read_jump_function): Likewise.
+ (ipa_write_indirect_edge_info): Stream new cgraph_indirect_call_info
+ fields.
+ (ipa_read_indirect_edge_info): Likewise.
+
+2012-08-09 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/39423
+ * config/sh/predicates.md (mem_index_disp_operand): New predicate.
+ * config/sh/sh.md (*movsi_index_disp): Rewrite insns to use the new
+ mem_index_disp_operand predicate.
+
+2012-08-09 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh.md: Add negc extu sequence peephole.
+ (movrt, movnegt, movrt_negc, nott): Use t_reg_operand predicate.
+ (*movrt_negc): New insn.
+ * config/sh/sync.md (atomic_test_and_set): Pass gen_t_reg_rtx to
+ gen_movnegt.
+ * config/sh/sh.c (expand_cbranchsi4, sh_emit_scc_to_t,
+ sh_emit_compare_and_branch, sh_emit_compare_and_set): Use
+ get_t_reg_rtx.
+ (sh_expand_t_scc): Pass gen_t_reg_rtx to gen_movnegt.
+
+2012-08-09 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/50751
+ * config/sh/sh.md (*extendqisi2_compact_reg, *extendhisi2_compact_reg):
+ Use arith_reg_operand predicate instead of register_operand.
+ * config/sh/predicates.md (movsrc_no_disp_mem_operand): Accept
+ only mem, simplify.
+
+2012-08-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
+ (alpha_pad_function_end): ... this. Also insert NOP between
+ sibling call and GP load.
+ (alpha_reorg): Update call to alpha_pad_function_end. Expand comment.
+
+2012-08-09 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * config/i386/adxintrin.h: Remove guarding __ADX__ check.
+ * config/i386/x86intrin.h: Likewise.
+ * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove
+ OPTION_MASK_ISA_ADX from needed options for
+ __builtin_ia32_addcarryx_u32 and __builtin_ia32_addcarryx_u64.
+ (ix86_expand_builtin): Use add<mode>3_carry in expanding of
+ IX86_BUILTIN_ADDCARRYX32 and IX86_BUILTIN_ADDCARRYX64.
+
+2012-08-09 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/53701
+ * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
+ Process not only expr's vinsns but all old vinsns from expr's
+ history of changes.
+ (update_and_record_unavailable_insns): Clarify comment.
+
+2012-08-09 Bernd Schmidt <bernds@codesourcery.com>
+
+ * reload.c (find_valid_class_1): New static function.
+ (push_reload): Use it when reloading a SYMBOL_REG as the inner
+ of a subreg. Keep better track of needed classes for the
+ secondary memory case.
+ * config/i386/i386.h (LIMIT_RELOAD_CLASS): Limit INT_SSE_REGS to
+ GENERAL_REGS.
+ * reload1.c (replaced_subreg): New static function.
+ (gen_reload): Use it when deciding whether to use secondary
+ memory.
+
+2012-08-09 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (SSA_VAR_P): Simplify.
+ * tree-ssanames.c (make_ssa_name_fn): Strengthen assert.
+ * fold-const.c (fold_comparison): Check for default def first
+ before checking for PARM_DECL.
+ * tree-complex.c (get_component_ssa_name): Likewise.
+ * tree-inline.c (remap_ssa_name): Likewise.
+ * tree-ssa-loop-ivopts.c (parm_decl_cost): Likewise.
+ * tree-ssa-structalias.c (get_fi_for_callee): Likewise.
+ (find_what_p_points_to): Likewise.
+ * tree-ssa-operands.c (add_stmt_operand): Simplify.
+
+2012-08-08 Joseph Myers <joseph@codesourcery.com>
+
+ * simplify-rtx.c (simplify_binary_operation_1): Do not simplify
+ IOR to a constant if one operand has side effects.
+
+2012-08-08 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * builtins.c (expand_builtin_atomic_compare_exchange): Pass old
+ value operand as MEM to expand_atomic_compare_and_swap.
+
+ * config/s390/s390.md ("atomic_compare_and_swap<mode>"): Accept
+ nonimmediate_operand for old value; generate load and store if
+ needed.
+ * config/s390/s390.c (s390_expand_cs_hqi): Accept any operand
+ as vtarget.
+
+2012-08-08 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/54146
+ * gimpify.c (gimplify_body): Only verify_gimple_in_seq with
+ checking enabled.
+ * tree-ssa-loop-manip.c (add_exit_phis_var): Assert that var is
+ a gimple_reg if checking is enabled.
+ (find_uses_to_rename_stmt): Only look at non-virtual USE operands.
+ * tree-into-ssa (compute_global_livein): Change the worklist
+ type from an array to a VEC.
+
+2012-08-08 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-operands.h (virtual_operand_p): Declare.
+ * tree-ssa-operands.c (virtual_operand_p): New predicate.
+ * gimple.c (is_gimple_reg): Use virtual_operand_p.
+ * tree-into-ssa.c (prepare_block_for_update): Likewise.
+ * tree-vect-loop-manip.c (adjust_debug_stmts): Likewise.
+
+2012-08-08 Richard Guenther <rguenther@suse.de>
+
+ * tree-call-cdce.c (check_pow): Simplify.
+ (gen_conditions_for_pow_int_base): Likewise.
+ * tree-ssa-dom.c (propagate_rhs_into_lhs): Do not handle
+ virtual operands here.
+ * tree-ssa-operands.c (get_name_decl): Remove unused function.
+ * gimplify.c (gimple_regimplify_operands): Remove dead code.
+ * tree-vrp.c (get_value_range): Move SSA_NAME_VAR access.
+ * tree-parloops.c (create_phi_for_local_result): Use copy_ssa_name.
+ * value-prof.c (gimple_ic): Use duplicate_ssa_name.
+ (gimple_stringop_fixed_value): Likewise.
+ * tree.c (needs_to_live_in_memory): Remove SSA name handling.
+ * tree-stdarg.c (find_va_list_reference): Store SSA_NAME_VERSIONs
+ in the bitmap alongside shifted DECL_UIDs.
+ (va_list_counter_struct_op): Likewise.
+ (va_list_ptr_read): Likewise.
+ (va_list_ptr_write): Likewise.
+ (check_va_list_escapes): Likewise.
+ (check_all_va_list_escapes): Likewise.
+ (execute_optimize_stdarg): Likewise.
+ * tree-outof-ssa.c (insert_backedge_copies): Use copy_ssa_name.
+
+2012-08-08 Richard Sandiford <rdsandiford@googlemail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/54157
+ * combine.c (gen_lowpart_for_combine): Don't return identity
+ for CONST or symbolic reference.
+
+2012-08-08 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * common/config/i386/i386-common.c (OPTION_MASK_ISA_ADX_SET): New.
+ (OPTION_MASK_ISA_ADX_UNSET): Likewise.
+ (ix86_handle_option): Handle madx option.
+ * config.gcc (i[34567]86-*-*): Add adxintrin.h.
+ (x86_64-*-*): Likewise.
+ * config/i386/adxintrin.h: New header.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Detect ADCX/ADOX
+ support.
+ * config/i386/i386-builtin-types.def
+ (UCHAR_FTYPE_UCHAR_UINT_UINT_PUNSIGNED): New function type.
+ (UCHAR_FTYPE_UCHAR_ULONGLONG_ULONGLONG_PULONGLONG): Likewise.
+ * config/i386/i386-c.c: Define __ADX__ if needed.
+ * config/i386/i386.c (ix86_target_string): Define -madx option.
+ (PTA_ADX): New.
+ (ix86_option_override_internal): Handle new option.
+ (ix86_valid_target_attribute_inner_p): Add OPT_madx.
+ (ix86_builtins): Add IX86_BUILTIN_ADDCARRYX32,
+ IX86_BUILTIN_ADDCARRYX64.
+ (ix86_init_mmx_sse_builtins): Define corresponding built-ins.
+ (ix86_expand_builtin): Handle these built-ins.
+ (ix86_expand_args_builtin): Handle new function types.
+ * config/i386/i386.h (TARGET_ADX): New.
+ * config/i386/i386.md (adcx<mode>3): New define_insn.
+ * config/i386/i386.opt (madx): New.
+ * config/i386/x86intrin.h: Include adxintrin.h.
+
+2012-08-08 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.c: Include tree-pass.h.
+
+2012-08-08 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/54146
+ * ira.c (init_live_subregs): Take live_subregs_used as a bitmap.
+ (build_insn_chain): Make live_subregs_used a bitmap.
+ Use SBITMAP_SIZE to ignore the paradoxical bytes of subregs.
+ Use sbitmap_free to free the live_subreg sbitmaps.
+
+ PR middle-end/54146
+ * ifcvt.c: Include pointer-set.h.
+ (cond_move_process_if_block): Change type of then_regs and
+ else_regs from alloca'd array to pointer_sets.
+ (check_cond_move_block): Update for this change.
+ (cond_move_convert_if_block): Likewise.
+ * Makefile.in: Fix dependencies for ifcvt.o.
+
+2012-08-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * gimple-ssa-strength-reduction.c (struct incr_info_d): New struct.
+ (incr_vec): New static var.
+ (incr_vec_len): Likewise.
+ (address_arithmetic_p): Likewise.
+ (stmt_cost): Remove dead assignment.
+ (dump_incr_vec): New function.
+ (cand_abs_increment): Likewise.
+ (lazy_create_slsr_reg): Likewise.
+ (incr_vec_index): Likewise.
+ (count_candidates): Likewise.
+ (record_increment): Likewise.
+ (record_increments): Likewise.
+ (unreplaced_cand_in_tree): Likewise.
+ (optimize_cands_for_speed_p): Likewise.
+ (lowest_cost_path): Likewise.
+ (total_savings): Likewise.
+ (analyze_increments): Likewise.
+ (ncd_for_two_cands): Likewise.
+ (nearest_common_dominator_for_cands): Likewise.
+ (profitable_increment_p): Likewise.
+ (insert_initializers): Likewise.
+ (introduce_cast_before_cand): Likewise.
+ (replace_rhs_if_not_dup): Likewise.
+ (replace_one_candidate): Likewise.
+ (replace_profitable_candidates): Likewise.
+ (analyze_candidates_and_replace): Handle candidates with SSA-name
+ strides.
+
+2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
+
+ * cfg.c (debug_bb): Do not set TDF_BLOCKS.
+ * cfghooks.c (dump_bb): Honor ~TDF_BLOCKS.
+ * pretty-print.c (pp_base_flush): Do not add a newline, and do not
+ clear pp_needs_newline.
+ * pretty-print.h (pp_newline_and_flush): New macro with the behavior
+ of pp_base_flush before the above change.
+ * langhooks.c (lhd_print_error_function): Use pp_newline_and_flush
+ instead of pp_flush.
+ * diagnostic.c (diagnostic_finish): Likewise.
+ (diagnostic_report_diagnostic): Likewise.
+ (verbatim): Likewise.
+ (error_recursion): Likewise.
+ * tree-pretty-print.c (print_generic_stmt): Likewise.
+ (print_generic_stmt_indented): LIkewise.
+ * gimple-pretty-print.c (print_gimple_stmt): Likewise.
+ (print_gimple_seq): Likewise.
+ (gimple_dump_bb_buff): Likewise.
+
+2012-08-07 Uros Bizjak <ubizjak@gmail.com>
+
+ PR debug/54177
+ * var-tracking.c (var_lowpart): Exit early for matched modes.
+
+2012-08-07 Richard Henderson <rth@redhat.com>
+
+ * config/s390/s390.c (s390_emit_compare_and_swap): Update for
+ atomic_compare_and_swapsi_internal name change.
+ (s390_expand_insv): Try RISBG last, not requiring operands in
+ registers but forcing them there. Try a limited form of ICM.
+ (s390_two_part_insv): New.
+ (s390_expand_cs_hqi): Use it. Update for atomic optabs.
+ * config/s390/s390.md (UNSPEC_MOVA): New.
+ (TDSI): Remove mode iterator.
+ (DGPR, DINT, TDI): New mode iterators.
+ (td): New mode attribute.
+ (mem_signal_fence): New.
+ (mem_thread_fence): Rename from memory_barrier; update for model arg.
+ (mem_thread_fence_1): Rename from *memory_barrier.
+ (atomic_load<DINT>, atomic_store<DINT>): New expanders.
+ (atomic_loaddi_1, atomic_loadti_1): New.
+ (atomic_storedi_1, atomic_storeti_1): New.
+ (sync_compare_and_swap<TDSI>, sync_compare_and_swap<HQI>): Remove.
+ (atomic_compare_and_swap<DGPR>, atomic_compare_and_swap<HQI>): New.
+ (atomic_compare_and_swap<DGPR>_internal): New.
+ (*sync_compare_and_swap<DW>, *sync_compare_and_swap<GPR>): Remove.
+ (*atomic_compare_and_swap<TDI>_1): New.
+ (*atomic_compare_and_swapdi_2, *atomic_compare_and_swapsi_3): New.
+ (sync_<ATOMIC_Z196><GPR>, sync_old_<ATOMIC_Z196><GPR>): Remove.
+ (atomic_fetch_<ATOMIC_Z196><GPR>): New.
+ (atomic_fetch_<ATOMC_Z196><GPR>_iaf): New.
+ (sync_<ATOMIC><HQI>, sync_old_<ATOMIC><HQI>): Remove.
+ (sync_new_<ATOMIC><HQI>): Remove.
+ (atomic_<ATOMIC><HQI>, atomic_fetch_<ATOMIC><HQI>): New.
+ (atomic_<ATOMIC>_fetch<HQI>): New.
+ (sync_lock_test_and_set<HQI>): Remove.
+ (atomic_exchange<HQI>): New.
+
+2012-08-07 Paul Brook <paul@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * except.c (switch_to_exception_section): Place tables for
+ DECL_ONE_ONLY functions in comdat groups.
+
+2012-08-07 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (copy_ssa_name_fn): New function.
+ (duplicate_ssa_name_fn): Likewise.
+ * tree-flow-inline.h (copy_ssa_name): New function.
+ (duplicate_ssa_name): Likewise.
+ * tree-ssanames.c (copy_ssa_name_fn): New function.
+ (duplicate_ssa_name): Rename to ...
+ (duplicate_ssa_name_fn): ... this and adjust.
+ * tree-tailcall.c (update_accumulator_with_ops): Use copy_ssa_name.
+ * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1):
+ Likewise.
+ (slpeel_update_phi_nodes_for_guard2): Likewise.
+ (slpeel_tree_peel_loop_to_edge): Likewise.
+ (vect_loop_versioning): Likewise.
+ * tree-parloops.c (transform_to_exit_first_loop): Likewise.
+ (create_parallel_loop): Likewise.
+ * ipa-split.c (split_function): Likewise.
+ * tree-vect-loop.c (vect_is_simple_reduction_1): Likewise.
+ (vect_create_epilog_for_reduction): Likewise.
+ * tree-vect-data-refs.c (bump_vector_ptr): Likewise.
+ (vect_setup_realignment): Likewise.
+ * tree-vect-stmts.c (vectorizable_load): Likewise.
+ * tree-switch-conversion.c (build_one_array): Likewise.
+ (gen_def_assigns): Likewise.
+ * tree-cfg.c (gimple_make_forwarder_block): Likewise.
+ * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Call
+ create_zero_dim_array with the SSA name.
+ (rewrite_phi_out_of_ssa): Likewise.
+ (rewrite_cross_bb_scalar_dependence): Likewise. Use copy_ssa_name.
+
+2012-08-07 Richard Guenther <rguenther@suse.de>
+
+ * tree-dfa.c (set_ssa_default_def): Clear the SSA_NAME_DEFAULT_DEF
+ bit of the old name when we clear the slot.
+ * tree-ssa-live.c (remove_unused_locals): Release any default
+ def associated with an unused var.
+ * tree-ssa-copy.c (may_propagate_copy_into_asm): Always return true.
+
+2012-08-07 Richard Guenther <rguenther@suse.de>
+
+ * tree-into-ssa.c (rewrite_stmt): Remove clobbers for variables
+ we rewrite into SSA form.
+ (rewrite_enter_block): Adjust.
+ * gimple-iterator.c (gsi_replace): Also allow replacement with
+ a stmt without a lhs.
+ * tree-ssa-live.c (remove_unused_locals): Remove code handling
+ clobbers of SSA names.
+ * tree-nested.c (convert_local_reference_stmt): Remove clobbers
+ for variables we access through the local chain.
+ * tree-cfg.c (verify_gimple_assign_single): Verify clobbers
+ clobber full decls only.
+
+2012-08-07 Richard Guenther <rguenther@suse.de>
+
+ * gimple.h (gimple_phi_set_result): Adjust SSA_NAME_DEF_STMT.
+ * tree-phinodes.c (make_phi_node): Allow a NULL var.
+ * tree-into-ssa.c (insert_phi_nodes_for): Simplify.
+ * tree-complex.c (update_phi_components): Likewise.
+ * tree-ssa-loop-manip.c (create_iv): Likewise.
+ (add_exit_phis_edge): Likewise.
+ (split_loop_exit_edge): Likewise.
+ (tree_transform_and_unroll_loop): Likewise.
+ * value-prof.c (gimple_ic): Likewise.
+ (gimple_stringop_fixed_value): Likewise.
+ * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
+ * omp-low.c (expand_parallel_call): Likewise.
+ (expand_omp_for_static_chunk): Likewise.
+ (expand_omp_atomic_pipeline): Likewise.
+ * tree-parloops.c (create_phi_for_local_result): Likewise.
+ (transform_to_exit_first_loop): Likewise.
+ * tree-vect-data-refs.c (vect_setup_realignment): Likewise.
+ * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Likewise.
+ * tree-predcom.c (initialize_root_vars): Likewise.
+ (initialize_root_vars_lm): Likewise.
+ * sese.c (sese_add_exit_phis_edge): Likewise.
+ * gimple-streamer-in.c (input_phi): Likewise.
+ * tree-inline.c (copy_phis_for_bb): Likewise.
+ * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
+ * tree-cfg.c (gimple_make_forwarder_block): Likewise.
+ (gimple_duplicate_bb): Likewise.
+
+2012-08-07 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.c (mn10300_expand_prologue): Report
+ stack usage if requested.
+
+2012-08-06 Cary Coutant <ccoutant@google.com>
+
+ * cgraphunit.c (assemble_thunk): Add source line info.
+ * final.c (final): Check for non-null cfg pointer.
+
+2012-08-06 Sandra Loosemore <sandra@codesourcery.com>
+ Maxim Kuvyrkov <maxim@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+
+ * config/mips/24k.md (r24k_unknown_store): Delete special handling
+ for cprestore.
+ (r24k_int_load, r24k_int_arith, r24k_int_mul3, r24k_int_mfhilo)
+ (r24k_int_cop, r24k_int_multi)
+ (r24kf2_1_fcvt_f2i, r24kf2_1_fxfer)
+ (r24kf1_1_fcvt_f2i, r24kf1_1_fxfer): Use mips_store_data_bypass_p
+ instead of store_data_bypass_p.
+ * config/mips/74k.md (r74k_int_store): Delete special handling for
+ cprestore.
+ (r74k_int_load, r74k_int_logical, r74k_int_arith, r74k_int_cmove):
+ Use mips_store_data_bypass_p instead of store_data_bypass_p.
+
+2012-08-06 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/51938
+ PR tree-optimization/52005
+ * tree-ssa-ifcombine.c (ifcombine_ifandif): New parameters for
+ inverted conditions.
+ (ifcombine_iforif): Remove, merge code into ifcombine_ifandif.
+ (tree_ssa_ifcombine_bb): Update calls to the above. Detect !a&&b
+ and !a||b patterns.
+
+2012-08-06 Olivier Hainque <hainque@adacore.com>
+
+ * tree-emutls.c (new_emutls_decl): When a var_section is requested by
+ the target, attach the new decl to that, not to the template section.
+
+2012-08-06 Tom de Vries <tom@codesourcery.com>
+
+ * tree-switch-conversion.c (emit_case_bit_tests): Generate MINUS_EXPR in
+ unsigned type.
+
+2012-08-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
+
+ * doc/invoke.texi: Document AMD btver2.
+ * doc/extend.texi: Document AMD btver1 and btver2.
+
+2012-08-04 Sandra Loosemore <sandra@codesourcery.com>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_option_override): Check -fpic
+ for compatibility with -mabicalls and ABI.
+
+2012-08-04 Catherine Moore <clm@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/mips/xlr.md (ir_xlr_alu_clz): New insn_reservation.
+ (ir_xlr_alu): Remove clz.
+ * config/mips/mips-cpus.def (xlr): Set PTF_AVOID_BRANCHLIKELY.
+
+2012-08-04 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (arm_gen_constant): Use SImode when preparing operands for
+ gen_extzv_t2.
+
+2012-08-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (QI_REGNO_P): New define.
+ (ANY_QI_REGNO_P): Ditto.
+ (GENERAL_REGNO_P): Use IN_RANGE macro.
+ (QI_REG_P): Use QI_REGNO_P.
+ (ANY_QI_REG_P): Use GENERAL_REGNO_P and QI_REGNO_P.
+ (HARD_REGNO_CALLER_SAVE_MODE): Use QI_REGNO_P.
+ * config/i386/i386.c (ix86_hard_regno_mode_ok): Ditto.
+ (x86_extended_QIreg_mentioned_p): Ditto. Also check if
+ register is a general register.
+
+2012-08-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sync.md (*atomic_fetch_add_cmp<mode>): Use
+ incdec_operand predicate to return INC or DEC insn mnemonic.
+ Add %K operand modifier.
+ (atomic_add<mode>): Use incdec_operand predicate to
+ return INC or DEC insn mnemonic.
+ (atomic_dec<mode>): Ditto.
+
+2012-08-03 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/54146
+ * cfgexpand.c (add_scope_conflicts_1): Use bitmap_ior_into.
+ (add_scope_conflicts): Iterate in RPO order.
+ (add_stack_protection_conflicts): Iterate over the other triangle.
+ (fini_vars_expansion): Clear stack_vars_sorted.
+
+2012-08-03 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/30318
+ * double-int.c (mul_double_wide_with_sign): New function.
+ (mul_double_with_sign): Call the new function.
+ * double-int.h (mul_double_wide_with_sign): Declare the new function.
+ * tree-vrp.c (extract_range_from_binary_expr_1) [MULT_EXPR]:
+ Handle integer types that wrap on overflow.
+ (quad_int_cmp): New helper function.
+ (quad_int_pair_sort): Likewise.
+
+2012-08-03 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-loop-manip.c (vect_can_advance_ivs_p): Query
+ is_gimple_reg on the SSA name, not its variable.
+ (vect_update_ivs_after_vectorizer): Likewise.
+ * tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
+ * tree-if-conv.c (if_convertible_phi_p): Likewise.
+ (predicate_scalar_phi): Likewise.
+ * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Likewise.
+ (vect_analyze_scalar_cycles_1): Likewise.
+ * tree-ssa-live.c (register_ssa_partition_check): Likewise.
+ * tree-outof-ssa.c (eliminate_useless_phis): Likewise.
+ * tree-ssa-reassoc.c (phi_rank): Likewise.
+ * tree-parloops.c (separate_decls_in_region_name): Use
+ replace_ssa_name_symbol.
+ * tree-predcom.c (base_names_in_chain_on): Likewise.
+ * matrix-reorg.c (update_type_size): Query the type of the SSA name,
+ not its variable.
+ * gimple-ssa-strength-reduction.c (create_mul_ssa_cand): Likewise.
+ (create_mul_imm_cand): Likewise.
+ (create_add_ssa_cand): Likewise.
+ (create_add_imm_cand): Likewise.
+ (slsr_process_add): Likewise.
+ * tree-inline.c (remap_ssa_name): Do not set the type of the
+ new SSA_NAME.
+ * tree-ssa-structalias.c (get_constraint_for_ssa_var): Clarify assert.
+ Check for default def first.
+
+2012-08-04 Steven Bosscher <steven@gcc.gnu.org>
+
+ * cfgrtl.c (print_rtl_with_bb): Do not print a newline between insns.
+
+ * sched-vis.c (print_pattern): Handle SEQUENCE also.
+
+2012-08-02 Richard Henderson <rth@redhat.com>
+
+ Revert:
+ PR 34548
+ * function.h (struct rtl_data): Add max_dynamic_stack_alignment.
+ * cfgexpand.c (gimple_expand_cfg): Initialise it.
+ * explow.c (allocate_dynamic_stack_space): Set it. Simplify
+ alignment requirements given the known alignment of dynamic_offset.
+ * function.c (instantiate_virtual_regs): Align dtnamic_offset.
+
+2012-08-02 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * cfgexpand.c (expand_debug_locations): Encapsulate test for
+ CONST_DOUBLE in macro.
+ * combine.c (try_combine, gen_lowpart_for_combine): Ditto.
+ * cprop.c (implicit_set_cond_p): Ditto.
+ * cselib.c (rtx_equal_for_cselib_1): Ditto.
+ * expmed.c (expand_mult): Ditto.
+ * expr.c (convert_modes): Ditto.
+ * ira-costs.c (record_reg_classes): Ditto.
+ * ira-lives.c (single_reg_class): Ditto.
+ * optabs.c (expand_copysign_absneg, expand_copysign): Ditto.
+ * print-rtl.c (print_rtx): Ditto.
+ * recog.c (simplify_while_replacing, const_double_operand)
+ (asm_operand_ok, constrain_operands): Ditto.
+ * reg-stack.c (subst_stack_regs_pat): Ditto.
+ * reload.c (find_reloads, find_equiv_reg): Ditto.
+ * rtlanal.c (replace_rtx): Remove test.
+ * rtlanal.c (constant_pool_constant_p, split_double): Encapsulate
+ test for CONST_DOUBLE in macro.
+ * simplify-rtx.c (mode_signbit_p, avoid_constant_pool_reference)
+ (simplify_unary_operation_1, simplify_const_unary_operation)
+ (simplify_binary_operation_1, simplify_const_binary_operation)
+ (simplify_relational_operation_1)
+ (simplify_const_relational_operations)
+ (implify_subreg): Ditto.
+ * varasm.c (output_constant_pool_2): Ditto.
+ * rtl.h (CONST_DOUBLE_AS_INT_P, CONST_DOUBLE_AS_FLOAT_P): New macros.
+ * rtl.def (CONST_DOUBLE): Updated comments.
+
+2012-08-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/51931
+ * config/mips/mips-protos.h (mips_strip_unspec_address): Declare.
+ * config/mips/mips.c (mips_strip_unspec_address): Make extern.
+ (mips16_rewrite_pool_constant): Make a copy of the pool constant
+ before adding to a PC-relative table.
+ (mips16_lay_out_constants): Add a SPLIT_P parameter.
+ (mips16_load_branch_target, mips16_split_long_branches): New functions.
+ (mips_reorg): Update call to mips16_lay_out_constants.
+ Call mips16_split_long_branches.
+ * config/mips/predicates.md (pc_or_label_operand): Delete.
+ * config/mips/mips.md (length): Add a calculation for MIPS16 branches.
+ Move the extended_mips16 handling further down.
+ (*branch_equality<mode>_mips16): Replace use pc_or_label_operand
+ with explicit label_ref and pc. Follow the usual operand numbering.
+ (*branch_equality<mode>_mips16_inverted): New pattern.
+ (*jump_mips16): Add length attribute.
+ (indirect_jump_and_restore_<mode>): New pattern.
+ (consttable_int): Call mips_strip_unspec_address on the operand.
+
+2012-08-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * recog.c (split_insn): Copy the original SET_SRC before using
+ it as a note.
+
+2012-08-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * reorg.c (dbr_schedule): Delete REG_BR_PRED loop.
+
+2012-08-02 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/53805
+ * fold-const.c (invert_tree_comparison): Invert ORDERED_EXPR and
+ UNORDERED_EXPR even for trapping floating point.
+
+2012-08-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/53321
+ PR middle-end/53865
+ * ipa-inline-analysis.c (inline_free_summary): Return if
+ inline_edge_summary_vec is NULL.
+ * ipa-split.c (execute_split_functions): Check if a function
+ is inlinable only if inline_edge_summary_vec != NULL.
+ * ipa.c (symtab_remove_unreachable_nodes): Restore
+ cgraph_propagate_frequency call when something was changed.
+ (free_inline_summary): New function.
+ (pass_ipa_free_inline_summary): New pass.
+ * passes.c (init_optimization_passes): Add
+ pass_ipa_free_inline_summary before pass_ipa_tree_profile.
+ * timevar.def (TV_IPA_FREE_INLINE_SUMMARY): New.
+ * tree-pass.h (pass_ipa_free_inline_summary): New.
+
+2012-08-02 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (arm_gen_constant): Use UBFX for some AND operations when
+ available.
+
+2012-08-02 Richard Guenther <rguenther@suse.de>
+
+ * tree-into-ssa.c (struct common_info_d): New struct.
+ (struct var_info_d, struct ssa_name_info): Use it.
+ (get_ssa_name_ann): Adjust.
+ (get_phi_state, set_phi_state): Remove.
+ (get_common_info): New function.
+ (get_current_def, set_current_def): Adjust.
+ (get_def_blocks_for): Take a common info as param.
+ (set_def_block): Call get_common_info once.
+ (set_livein_block): Likewise.
+ (find_def_blocks_for): Adjust.
+ (insert_phi_nodes): Likewise.
+ (register_new_def): Call get_common_info once.
+ (get_reaching_def): Likewise.
+ (rewrite_debug_stmt_uses): Likewise.
+ (rewrite_leave_block): Likewise.
+ (dump_currdefs): Likewise.
+ (debug_var_infos_r): Adjust.
+ (register_new_update_single): Call get_common_info once.
+ (maybe_replace_use_in_debug_stmt): Likewise.
+ (rewrite_update_leave_block): Likewise.
+ (mark_use_interesting): Adjust.
+ (create_new_def_for): Likewise.
+ (update_ssa): Likewise.
+
+2012-08-02 Michael Matz <matz@suse.de>
+
+ * tree-ssa-live.c (set_is_used): Return a bool.
+ (mark_all_vars_used): Don't take data argument.
+ (mark_all_vars_used_1): Adjust calls to above, merge handling
+ of local and global vars.
+ (remove_unused_scope_block_p): Don't take global_unused_vars,
+ merge handling of local and global vars.
+ (remove_unused_locals): Don't allocate/fill/pass global_unused_vars,
+ use is_used_p for local and global vars.
+
+2012-08-02 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (make_rename_temp): Remove.
+ * tree-dfa.c (make_rename_temp): Likewise.
+ * cgraphunit.c (thunk_adjust, assemble_thunk): Use create_tmp_reg
+ instead of make_rename_temp.
+ * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
+ expand_omp_atomic_pipeline): Likewise.
+ * trans-mem.c (tm_log_emit_save_or_restores, build_tm_load,
+ build_tm_store, expand_call_tm, expand_transaction,
+ ipa_tm_insert_gettmclone_call): Likewise.
+ * tree-complex.c (expand_complex_div_wide): Likewise.
+ * tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for):
+ Likewise.
+ * tree-ssa-loop-im.c (execute_sm_if_changed_flag_set, execute_sm):
+ Likewise.
+ * tree-ssa-math-opts.c (insert_reciprocals): Likewise.
+ * value-prof.c (gimple_divmod_fixed_value, gimple_mod_pow2,
+ gimple_mod_subtract): Likewise.
+
+2012-08-02 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (set_default_def): Rename to ...
+ (set_ssa_default_def): ... this. Take a struct function argument.
+ (gimple_default_def): Rename to ...
+ (ssa_default_def): ... this.
+ (get_or_create_ssa_default_def): New function.
+ * tree-dfa.c: Likewise.
+ (dump_variable): Adjust.
+ * ipa-prop.c (ipa_analyze_params_uses): Adjust, properly check
+ for used parameters.
+ * ipa-split.c (consider_split): Adjust, avoid repeated default-def
+ lookups.
+ (split_function): Likewise.
+ * lto-streamer-in.c (input_ssa_names): Adjust.
+ * omp-low.c (expand_omp_taskreg): Likewise.
+ * tree-cfg.c (replace_ssa_name): Adjust, no need to push/pop cfun.
+ * tree-complex.c (init_parameter_lattice_values): Adjust.
+ (get_component_ssa_name): Likewise.
+ (update_parameter_components): Likewise.
+ * tree-inline.c (remap_ssa_name): Likewise.
+ (setup_one_parameter): Likewise.
+ (initialize_inlined_parameters): Likewise.
+ (declare_return_variable): Likewise.
+ (expand_call_inline): Likewise.
+ (tree_function_versioning): Likewise.
+ * tree-into-ssa.c (get_default_def_for): Remove.
+ (get_reaching_def): Use get_or_create_ssa_default_def instead.
+ * tree-predcom.c (replace_ref_with): Adjust.
+ * tree-sra.c (get_repl_default_def_ssa_name): Likewise.
+ (is_unused_scalar_param): Likewise.
+ (ptr_parm_has_direct_uses): Likewise.
+ (sra_ipa_reset_debug_stmts): Likewise.
+ * tree-ssa-coalesce.c (create_outofssa_var_map): Adjust.
+ * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
+ * tree-ssa-live.c (verify_live_on_entry): Likewise.
+ * tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise,
+ avoid repeated default def lookups.
+ * tree-ssa-sccvn.c (run_scc_vn): Likewise.
+ * tree-tailcall.c (arg_needs_copy_p): Adjust.
+ (tree_optimize_tail_calls_1): Likewise.
+
+2012-08-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50672
+ Revert
+ 2012-08-01 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-tail-merge.c (release_last_vdef): Remove.
+ (replace_block_by): Adjust.
+
+2012-08-02 Richard Guenther <rguenther@suse.de>
+
+ * tree-dfa.c (referenced_var_lookup): Remove.
+ (find_referenced_vars): Remove.
+ (pass_referenced_vars): Likewise.
+ (make_rename_temp): Do not add referenced vars.
+ (dump_referenced_vars): Remove.
+ (debug_referenced_vars): Likewise.
+ (dump_dfa_stats): Do not dump referenced var stats.
+ (find_vars_r): Remove.
+ (find_referenced_vars_in): Likewise.
+ (referenced_var_check_and_insert): Likewise.
+ (add_referenced_var_1): Likewise.
+ (remove_referenced_var): Likewise.
+ * tree-flow.h (referenced_var_lookup): Likewise.
+ (struct gimple_df): Remove referenced_vars member.
+ (typedef referenced_var_iterator): Remove.
+ (FOR_EACH_REFERENCED_VAR): Likewise.
+ (num_referenced_vars): Likewise.
+ (debug_referenced_vars, dump_referenced_vars): Likewise.
+ (add_referenced_var_1, add_referenced_var): Likewise.
+ (remove_referenced_var): Likewise.
+ (find_referenced_vars_in): Likewise.
+ * tree-flow-inline.h (gimple_referenced_vars): Remove.
+ (first_referenced_var): Likewise.
+ (end_referenced_vars_p): Likewise.
+ (next_referenced_var): Likewise.
+ * cfgexpand.c (update_alias_info_with_stack_vars): Remove assert.
+ * gimple-pretty-print.c (pp_points_to_solution): Dump UIDs
+ unconditionally.
+ * tree-into-ssa.c (dump_decl_set): Likewise.
+ (pass_build_ssa): Do not require PROP_referenced_vars.
+ * tree-ssa.c (target_for_debug_bind): Virtual operands are
+ not suitable, but all register type vars are.
+ (init_tree_ssa): Do not allocate referenced vars.
+ (delete_tree_ssa): Do not free referenced vars.
+ * cgraphunit.c (init_lowered_empty_function): Do not set
+ PROP_referenced_vars.
+ (assemble_thunk): Do not add referenced vars.
+ * gimple-fold.c (canonicalize_constructor_val): Likewise.
+ (gimplify_and_update_call_from_tree): Likewise.
+ * gimple-streamer-in.c (input_bb): Likewise.
+ * passes.c (init_optimization_passes): Do not run
+ pass_referenced_vars.
+ (dump_properties): Do not dump PROP_referenced_vars.
+ * tree-inline.c (remap_decl): Do not add referenced vars.
+ (remap_gimple_op_r): Likewise.
+ (copy_tree_body_r): Likewise.
+ (copy_bb): Likewise.
+ (setup_one_parameter): Likewise.
+ (declare_return_variable): Likewise.
+ (copy_decl_for_dup_finish): Likewise.
+ (copy_arguments_for_versioning): Likewise.
+ (tree_function_versioning): Likewise.
+ * tree-pass.h (PROP_referenced_vars): Remove.
+ (pass_referenced_vars): Likewise.
+ * tree-profile.c (gimple_gen_edge_profiler): Do not add
+ referenced vars.
+ (gimple_gen_interval_profiler): Likewise.
+ (gimple_gen_pow2_profiler): Likewise.
+ (gimple_gen_one_value_profiler): Likewise.
+ (gimple_gen_ic_profiler): Likewise.
+ (gimple_gen_average_profiler): Likewise.
+ (gimple_gen_ior_profiler): Likewise.
+ * tree-ssa-live.c (remove_unused_locals): Do not touch referenced vars.
+ * tree-cfg.c (replace_ssa_name): Do not add referenced vars.
+ (move_stmt_op): Likewise.
+ * tree-ssa-operands.c (create_vop_var): Likewise.
+ * gimple-low.c (record_vars_into): Likewise.
+ * gimplify.c (gimple_regimplify_operands): Likewise.
+ (force_gimple_operand_1): Likewise.
+ * omp-low.c (expand_omp_for_generic): Likewise.
+ (expand_omp_for_static_chunk): Likewise.
+ (expand_omp_atomic_pipeline): Likewise.
+ * graphite-clast-to-gimple.c (graphite_create_new_loop): Likewise.
+ (translate_clast_assignment): Likewise.
+ * graphite-sese-to-poly.c (create_zero_dim_array): Likewise.
+ (handle_scalar_deps_crossing_scop_limits): Likewise.
+ * ipa-prop.c (ipa_modify_formal_parameters): Likewise.
+ * ipa-split.c (split_function): Likewise.
+ * matrix-reorg.c (transform_access_sites): Likewise.
+ * trans-mem.c (tm_log_add): Likewise.
+ (ipa_tm_insert_gettmclone_call): Likewise.
+ * tree-complex.c (create_one_component_var): Likewise.
+ * tree-if-conv.c (ifc_temp_var): Likewise.
+ * tree-parloops.c (take_address_of): Likewise.
+ (initialize_reductions): Likewise.
+ (separate_decls_in_region_name): Likewise.
+ (create_call_for_reduction_1): Likewise.
+ (separate_decls_in_region): Likewise.
+ * tree-predcom.c (predcom_tmp_var): Likewise.
+ (reassociate_to_the_same_stmt): Likewise.
+ * tree-sra.c (build_ref_for_offset): Likewise.
+ (create_access_replacement): Likewise.
+ (get_replaced_param_substitute): Likewise.
+ (sra_ipa_reset_debug_stmts): Likewise.
+ * tree-ssa-loop-im.c (rewrite_reciprocal): Likewise.
+ (rewrite_bittest): Likewise.
+ * tree-ssa-loop-ivopts.c (create_new_iv): Likewise.
+ * tree-ssa-loop-manip.c (create_iv): Likewise.
+ (tree_transform_and_unroll_loop): Likewise.
+ * tree-ssa-math-opts.c (powi_as_mults): Likewise.
+ (build_and_insert_call): Likewise.
+ (gimple_expand_builtin_cabs): Likewise.
+ (execute_optimize_bswap): Likewise.
+ * tree-ssa-phiopt.c (conditional_replacement): Likewise.
+ (abs_replacement): Likewise.
+ (cond_store_replacement): Likewise.
+ (cond_if_else_store_replacement_1): Likewise.
+ * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
+ * tree-ssa-pre.c (get_representative_for): Likewise.
+ (create_expression_by_pieces): Likewise.
+ (insert_into_preds_of_block): Likewise.
+ * tree-ssa-propagate.c (update_call_from_tree): Likewise.
+ * tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
+ (eliminate_redundant_comparison): Likewise.
+ (rewrite_expr_tree_parallel): Likewise.
+ (get_reassoc_pow_ssa_name): Likewise.
+ * tree-ssa-strlen.c (get_string_length): Likewise.
+ * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
+ (build_arrays): Likewise.
+ * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
+ (create_tailcall_accumulator): Likewise.
+ * tree-vect-data-refs.c (vect_get_new_vect_var): Likewise.
+ (vect_create_addr_base_for_vector_ref): Likewise.
+ (vect_permute_store_chain): Likewise.
+ (vect_permute_load_chain): Likewise.
+ * tree-vect-generic.c (expand_vector_divmod): Likewise.
+ * tree-vect-loop-manip.c (set_prologue_iterations): Likewise.
+ (vect_build_loop_niters): Likewise.
+ (vect_generate_tmps_on_preheader): Likewise.
+ (vect_update_ivs_after_vectorizer): Likewise.
+ (vect_gen_niters_for_prolog_loop): Likewise.
+ (vect_do_peeling_for_alignment): Likewise.
+ (vect_create_cond_for_align_checks): Likewise.
+ * tree-vect-patterns.c (vect_recog_temp_ssa_var): Likewise.
+ (vect_handle_widen_op_by_const): Likewise.
+ (vect_operation_fits_smaller_type): Likewise.
+ (vect_recog_over_widening_pattern): Likewise.
+ * tree-vect-stmts.c (vect_init_vector): Likewise.
+
+2012-08-01 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/52983
+ * valtrack.c (dead_debug_insert_temp): Use cleanup_auto_inc_dec.
+
+2012-08-01 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/52983
+ * valtrack.c (cleanup_auto_inc_dec): Implement unconditionally,
+ falling back to copy_rtx on non-autoinc machines.
+ (propagate_for_debug_subst): Always use cleanup_auto_inc_dec.
+
+2012-08-01 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/52983
+ * valtrack.h, valtrack.c: New.
+ * Makefile.in (VALTRACK_H): New.
+ (OBJS): Add valtrack.o.
+ (valtrack.o): New.
+ (cselib.o, dce.o, df-problems.o, combine.o): Add VALTRACK_H.
+ * combine.c: Include valtrack.h.
+ (make_compound_operation): Publish.
+ (cleanup_auto_inc_dec): Move to valtrack.c.
+ (struct rtx_subst_pair, propagate_for_debug_subst): Likewise.
+ (propagate_for_debug): Likewise. Add this_basic_block parameter.
+ Adjust all callers.
+ * cselib.c: Include valtrack.h.
+ * dce.c: Likewise.
+ * df-problems.c: Likewise.
+ (dead_debug_init, dead_debug_reset_uses): Move to valtrack.c.
+ (dead_debug_finish, dead_debug_add): Likewise.
+ (dead_debug_insert_temp): Likewise.
+ * df.h (struct dead_debug_use): Move to valtrack.h.
+ (struct dead_debug, enum debug_temp_where): Likewise.
+ (dead_debug_init, dead_debug_reset_uses): Move to valtrack.h.
+ (dead_debug_finish, dead_debug_add): Likewise.
+ (dead_debug_insert_temp): Likewise.
+ * rtl.h (make_compound_operation): Declare.
+
+2012-08-01 Catherine Moore <clm@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/mips/mips-cpus.def (34kn): New.
+ * config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): Add 34kn.
+ (BASE_DRIVER_SELF_SPECS): Do not imply -mdsp for the 34kn.
+ * config/mips/mips-tables.opt: Regenerate.
+ * doc/invoke.texi (MIPS Options): Document -march=34kn.
+
+2012-08-01 Richard Henderson <rth@redhat.com>
+
+ * expmed.h (NUM_MODE_PARTIAL_INT): New.
+ (NUM_MODE_VECTOR_INT, NUM_MODE_IP_INT, NUM_MODE_IPV_INT): New.
+ (struct expmed_op_cheap): Size one array on NUM_MODE_IPV_INT.
+ (struct expmed_op_costs): Likewise.
+ (struct target_expmed): Size x_convert_cost on NUM_MODE_IP_INT.
+ (expmed_mode_index): New.
+ (expmed_op_cheap_ptr, expmed_op_cost_ptr): Use expmed_mode_index.
+ (convert_cost_ptr): Likewise.
+ * expmed.c (struct init_expmed_rtl): Rename convert to trunc.
+ (init_expmed_one_conv): Split out from ...
+ (init_expmed_one_mode): ... here. Iterate conversions over
+ partial integer modes too.
+ (init_expmed): Iterate over partial integer modes too.
+
+2012-08-01 Richard Henderson <rth@redhat.com>
+
+ * config/m32c/m32c.c (TARGET_INIT_LIBFUNCS): Remove.
+ (m32c_init_libfuncs): Remove.
+ * config/m32c/cond.md (cstore<QHPSI>4_16): Rename from cstore<QHPSI>4.
+ (cstore<QHPSI>4): New expander.
+
+2012-08-01 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow-inline.h (referenced_var): Remove.
+ * tree-ssa-coalesce.c (create_outofssa_var_map): Remove duplicate
+ checking code.
+ * tree-sra.c (candidates): New global hashtable.
+ (candidate): New function.
+ (sra_initialize): Initialize candidates.
+ (sra_deinitialize): Free candidates.
+ (disqualify_candidate): Remove candidate from candidates.
+ (maybe_add_sra_candidate): New function.
+ (find_var_candidates): Walk over all local decls and parameters,
+ add candidates to candidates hashtable.
+ (find_param_candidates): Add candidates to candidates hashtable.
+ (analyze_all_variable_accesses): Use candidate instead of
+ referenced_var.
+
+2012-08-01 Tom de Vries <tom@codesourcery.com>
+
+ * tree-vrp.c (find_case_label_ranges): New function.
+ (vrp_visit_switch_stmt, simplify_switch_using_ranges): Use
+ find_case_label_ranges instead of find_case_label_range. Handle second
+ range.
+
+2012-08-01 Michael Matz <matz@suse.de>
+
+ * tree-complex.c (init_parameter_lattice_values): Don't call var_ann.
+ * tree-dfa.c (struct dfa_stats_d): Remove num_var_anns member.
+ (dump_dfa_stats): Don't dump stats about var anns.
+ (collect_dfa_stats): Don't collect them.
+ (add_referenced_var_1): Don't set var annotation pointers.
+ (remove_referenced_var): Ditto, and only remove it it's in the
+ hash table.
+
+ * tree-flow-inline.h (var_ann): Remove.
+ * tree-flow.h (struct var_ann_d, var_ann_t): Remove.
+
+ * tree-inline.c (remapped_type): Remove.
+ (can_be_nonlocal): Most variable will be considered live here,
+ return false earlier.
+ (remap_decls): Don't call var_ann, all variables will be considered
+ referenced here.
+ (copy_debug_stmt): Ditto, and use is_global_var.
+
+ * tree-into-ssa.c (rewrite_debug_stmt_uses): Use get_current_def to
+ determine if a variable was referred to, not var_ann.
+ * tree-ssa-live.c (remove_unused_scope_block_p): Don't check var_ann.
+ (remove_unused_locals): Ditto.
+ * tree-ssa.c (delete_tree_ssa): Don't free/clear var ann pointers.
+ * tree-tailcall.c (arg_needs_copy_p): Don't check var_ann.
+ * tree.c (copy_node_stat): Don't clear var ann pointer.
+ * tree.h (tree_result_decl, tree_parm_decl, tree_var_decl): Remove
+ ann member.
+ (DECL_VAR_ANN_PTR): Remove.
+
+2012-08-01 Michael Matz <matz@suse.de>
+
+ * tree-flow.h (struct var_ann_d): Rename used member.
+ (set_is_used): Don't declare.
+ * tree-flow-inline.h (clear_is_used): Remove.
+ (set_is_used, is_used_p): Move to ...
+ * tree-ssa-live.c (set_is_used, is_used_p): ... here, and use
+ on the side bitmap.
+ (usedvars): New bitmap.
+ (dump_scope_block): Don't dump unusedness.
+ (remove_unused_locals): Allocate and free usedvars.
+ * tree-nrv.c (tree_nrv): Don't clear used flags here.
+
+2012-08-01 Michael Matz <matz@suse.de>
+
+ * tree-flow.h (struct var_ann_d): Remove base_var_processed and
+ base_index members.
+ * tree-ssa-live.h (struct _var_map): Remove basevars member.
+ (VAR_ANN_BASE_INDEX): Remove.
+ * tree-ssa-live.c (var_map_base_init): Use a hash table instead
+ of var annotation to compress index space. Don't deal with above
+ removed members.
+ (var_map_base_fini): Don't free basevars.
+ (init_var_map): Don't clear basevars.
+
+2012-08-01 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * gimple-ssa-strength-reduction.c (struct slsr_cand_d): Change
+ base_name to base_expr.
+ (struct cand_chain_d): Likewise.
+ (base_cand_hash): Likewise.
+ (base_cand_eq): Likewise.
+ (record_potential_basis): Likewise.
+ (alloc_cand_and_find_basis): Likewise.
+ (create_mul_ssa_cand): Likewise.
+ (create_mul_imm_cand): Likewise.
+ (create_add_ssa_cand): Likewise.
+ (create_add_imm_cand): Likewise.
+ (slsr_process_cast): Likewise.
+ (slsr_process_copy): Likewise.
+ (dump_candidate): Likewise.
+ (base_cand_dump_callback): Likewise.
+ (unconditional_cands_with_known_stride_p): Likewise.
+ (cand_increment): Likewise.
+
+2012-08-01 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ PR tree-optimization/46556
+ * gimple-ssa-strength-reduction.c (enum cand_kind): Add CAND_REF.
+ (base_cand_map): Change to hash table.
+ (base_cand_hash): New function.
+ (base_cand_free): Likewise.
+ (base_cand_eq): Likewise.
+ (lookup_cand): Change base_cand_map to hash table.
+ (find_basis_for_candidate): Likewise.
+ (base_cand_from_table): Exclude CAND_REF.
+ (restructure_reference): New function.
+ (slsr_process_ref): Likewise.
+ (find_candidates_in_block): Call slsr_process_ref.
+ (dump_candidate): Handle CAND_REF.
+ (base_cand_dump_callback): New function.
+ (dump_cand_chains): Change base_cand_map to hash table.
+ (replace_ref): New function.
+ (replace_refs): Likewise.
+ (analyze_candidates_and_replace): Call replace_refs.
+ (execute_strength_reduction): Change base_cand_map to hash table.
+
+2012-08-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_address_subreg_operand): Reject
+ stack pointer.
+ (ix86_print_operand_address): Assert that parts.base and parts.index
+ are non-NULL after call to simplify_subreg.
+
+2012-08-01 Richard Guenther <rguenther@suse.de>
+
+ * doc/tree-ssa.texi: Remove pieces mentioning mark_sym_for_renaming.
+
+2012-08-01 Richard Guenther <rguenther@suse.de>
+
+ * graphite-clast-to-gimple.c (translate_clast_user): Rename
+ virtual operands.
+ * sese.c (graphite_copy_stmts_from_block): Do not rename virtual
+ operands here.
+ * tree-call-cdce.c (tree_call_cdce): Use
+ mark_virtual_operands_for_renaming.
+ * tree-eh.c (sink_clobbers): Simplify.
+ * tree-flow.h (mark_sym_for_renaming): Remove.
+ (mark_virtual_operands_for_renaming): New function.
+ * tree-if-conv.c (tree_if_conversion): Use
+ mark_virtual_operands_for_renaming.
+ * tree-inline.c (update_ssa_across_abnormal_edges): Likewise.
+ * tree-into-ssa.c (mark_sym_for_renaming): Remove.
+ (mark_virtual_operands_for_renaming): New function.
+ * tree-loop-distribution.c (tree_loop_distribution): Use
+ mark_virtual_operands_for_renaming.
+ * tree-ssa-dce.c (mark_virtual_operand_for_renaming): Do not
+ update stmts, use mark_virtual_operands_for_renaming.
+ * tree-ssa-tail-merge.c (release_last_vdef): Remove.
+ (replace_block_by): Adjust.
+ (tail_merge_optimize): Use mark_virtual_operands_for_renaming.
+ * tree-tailcall.c (tree_optimize_tail_calls_1): Use
+ mark_virtual_operands_for_renaming.
+ * tree-vect-slp.c (vect_slp_transform_bb): Likewise.
+ * tree-vectorizer.c (vectorize_loops): Likewise.
+
+2012-08-01 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (struct gimple_df): Remove syms_to_rename member,
+ add ssa_renaming_needed and rename_vops flags.
+ (SYMS_TO_RENAME): Remove.
+ (symbol_marked_for_renaming): Likewise.
+ (mark_virtual_ops_for_renaming): Likewise.
+ * tree-into-ssa.c (symbols_to_rename_set, symbols_to_rename):
+ New globals.
+ (mark_for_renaming, marked_for_renaming): New functions.
+ (symbol_marked_for_renaming): Remove.
+ (dump_currdefs): Adjust.
+ (maybe_replace_use): Likewise.
+ (maybe_replace_use_in_debug_stmt): Likewise.
+ (maybe_register_def): Likewise.
+ (rewrite_update_phi_arguments): Likewise.
+ (rewrite_update_enter_block): Likewise.
+ (fini_ssa_renamer): Clear update SSA status here ...
+ (delete_update_ssa): ... not here. Free rename set.
+ (prepare_block_for_update): Compute which decls need renaming.
+ (dump_update_ssa): Adjust.
+ (mark_sym_for_renaming): Adjust update SSA status for virtuals.
+ (need_ssa_update_p): Adjust.
+ (insert_updated_phi_nodes_for): Likewise.
+ (update_ssa): Likewise.
+ * tree-ssa-operands.c (finalize_ssa_defs): Adjust update SSA status
+ for virtual and real operands.
+ (finalize_ssa_uses): Likewise.
+ * tree-ssanames.c (init_ssanames): Adjust.
+ * tree-ssa.c (maybe_rewrite_mem_ref_base, maybe_optimize_var,
+ execute_update_addresses_taken): Add bitmap to keep track of which
+ candidates are suitable for rewriting and later renaming by SSA update.
+ * matrix-reorg.c (transform_access_sites): Do not rename all defs.
+ * tree-dfa.c (make_rename_temp): Do not mark real operands for
+ renaming.
+ * cgraphunit.c (assemble_thunk): Likewise.
+ * gimplify.c (gimple_regimplify_operands): Likewise.
+ (force_gimple_operand_1): Likewise.
+ * ipa-prop.c (ipa_modify_formal_parameters): Likewise.
+ * tree-inline.c (declare_return_variable): Likewise.
+ * tree-parloops.c (separate_decls_in_region_stmt): Do not call
+ mark_virtual_ops_for_renaming.
+ (create_stores_for_reduction): Likewise.
+ (create_loads_and_stores_for_name): Likewise.
+ * tree-predcom.c (mark_virtual_ops_for_renaming): Remove.
+ (initialize_root_vars_lm): Do not call mark_virtual_ops_for_renaming.
+ (execute_load_motion): Likewise.
+ (remove_stmt): Likewise.
+ (execute_pred_commoning_chain): Likewise.
+ * tree-sra.c (create_access_replacement): Do not rename real operands.
+ (get_unrenamed_access_replacement): Unify with ...
+ (get_access_replacement): ... this.
+ (get_repl_default_def_ssa_name): Adjust.
+ * tree-ssa-loop-im.c (move_computations_stmt): Manually update
+ virtual SSA form.
+ (rewrite_mem_ref_loc): Do not call mark_virtual_ops_for_renaming.
+ * tree-ssa-loop-prefetch.c (emit_mfence_after_loop): Likewise.
+
+2012-07-31 DJ Delorie <dj@redhat.com>
+
+ * config/s390/s390.c (s390_option_override): Disable DWARF 3/4
+ extensions for TPF, unless specifically selected.
+
+2012-08-01 Alan Modra <amodra@gmail.com>
+
+ PR target/54131
+ * config/rs6000/rs6000.c (mem_operand_gpr): Don't limit range
+ of lo_sum offsets. Comment. Assert mode at least word size
+ rather than bypassing powerpc64 word offset check.
+
+2012-07-31 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
+ costs for vec_perm and vec_promote_demote down to more natural values.
+ (struct _rs6000_cost_data): New data structure.
+ (rs6000_density_test): New function.
+ (rs6000_init_cost): Change to use rs6000_cost_data.
+ (rs6000_add_stmt_cost): Likewise.
+ (rs6000_finish_cost): Perform density test when vectorizing a loop.
+
+2012-07-31 Steven Bosscher <steven@gcc.gnu.org>
+
+ * sched-vis.c (print_exp): Handle FMA explicitly. Simplify handling
+ of RTX_UNARY function-like operations. Print unknown expression
+ RTX classes as pseudo-functions.
+ (print_pattern): Simplify return pattern printing.
+ (dump_insn_slim): Print the value of notes as a pattern for proper
+ printing of CFA notes.
+
+2012-07-31 Dehao Chen <dehao@google.com>
+
+ * predict.c (tree_estimate_probability_driver): Normalize the
+ loop when initializing the loop optimizer.
+
+2012-07-31 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (struct var_ann_d): Remove need_phi_state
+ and current_def members.
+ * tree-into-ssa.c (struct def_blocks_d): Remove var member.
+ (def_blocks): Remove.
+ (struct var_info_d): New.
+ (var_infos): New hashtable.
+ (struct ssa_name_info): Add def_blocks member.
+ (get_ssa_name_ann): Adjust.
+ (get_var_info): New function.
+ (get_phi_state, set_phi_state, get_current_def,
+ set_current_def, get_def_blocks_for, find_def_blocks_for): Adjust.
+ (insert_phi_nodes_compare_def_blocks): Rename to ...
+ (insert_phi_nodes_compare_var_infos): ... this and adjust.
+ (insert_phi_nodes): Adjust.
+ (dump_tree_ssa, dump_tree_ssa_stats): Adjust.
+ (def_blocks_hash, def_blocks_eq, def_blocks_free): Remove.
+ (debug_def_blocks_r): Rename to ...
+ (debug_var_infos_r): ... this and adjust.
+ (var_info_hash): New function.
+ (var_info_eq): Likewise.
+ (rewrite_blocks): Adjust.
+ (init_ssa_renamer): Likewise.
+ (fini_ssa_renamer): Likewise.
+ (delete_update_ssa): Likewise.
+ (update_ssa): Likewise.
+ * tree-ssanames.c (release_dead_ssa_names): Do not clear current defs.
+
+2012-07-31 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ PR tree-optimization/53773
+ * tree-vectorizer.h (struct _loop_vec_info): Add operands_swapped.
+ (LOOP_VINFO_OPERANDS_SWAPPED): New macro.
+ * tree-vect-loop.c (new_loop_vec_info): Initialize
+ LOOP_VINFO_OPERANDS_SWAPPED field.
+ (destroy_loop_vec_info): Restore canonical form.
+ (vect_is_slp_reduction): Set LOOP_VINFO_OPERANDS_SWAPPED field.
+ (vect_is_simple_reduction_1): Likewise.
+
+2012-07-31 Steven Bosscher <steven@gcc.gnu.org>
+
+ * sched-vis.c (dump_insn_slim): Print print_rtx_head at the
+ start of each new line.
+ * final.c (final_scan_insn): If the final dump is requested as
+ slim RTL, dump slim RTL to the assembly file also.
+
+2012-07-31 Andrey Belevantsev <abel@ispras.ru>
+
+ PR target/53975
+
+ * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment.
+
+ Revert
+ 2011-08-04 Sergey Grechanik <mouseentity@ispras.ru>
+
+ * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
+ only if producer writes to the register given by regno.
+
+2012-07-31 Nick Clifton <nickc@redhat.com>
+
+ * config/stormy16/stormy16.c (xstormy16_expand_prologue): Add
+ support for reporting stack usage.
+
+ * config/frv/frv.c (QUAD): Fix typo.
+ (frv_expand_prologue): Report stack usage.
+
+2012-07-31 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR pch/53880
+ * gengtype.c (struct walk_type_data): Add have_this_obj field.
+ (walk_type): For functions that take a this_obj argument and
+ that process fields with a GTY((length)) argument, write the
+ test that write_types_local_process_field will write also at the
+ head of the loop, effectively unswitching the loop.
+ (write_func_for_structure, write_local_func_for_structure): Clear
+ have_this_obj before calling walk_type.
+ (write_local_func_for_structure): Set have_this_obj before walk_type.
+ (write_array): Set have_this_obj for output of local pointer walking
+ functions but not for marker functions.
+ (write_types_local_process_field): Assert have_this_obj is set.
+
+ * rtl.h (simplify_using_condition): Adjust prototype using bitmap
+ from coretypes.h.
+
+2012-07-30 Nathan Froyd <froydnj@gcc.gnu.org>
+
+
+ * defaults.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
+ * targhooks.c (default_mode_dependent_address_p): Delete code
+ for GO_IF_MODE_DEPENDENT_ADDRESS.
+ * system.h (GO_IF_MODE_DEPENDENT_ADDRESS): Poison.
+ * doc/tm.texi.in (GO_IF_MODE_DEPENDENT_ADDRESS): Delete documention.
+ * doc/tm.texi: Regenerate.
+ * config/alpha.h (GO_IF_MODE_DEPENDENT_ADDRESS): Move code to...
+ * config/alpha.c (alpha_mode_dependent_address_p): ...here. New
+ function.
+ (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
+ * config/cr16/cr16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
+ * config/mep/mep.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
+ * config/vax/vax-protos.h (vax_mode_dependent_address_p): Delete.
+ * config/vax/vax.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
+ * config/vax/vax.c (vax_mode_dependent_address_p): Make static.
+ Take a const_rtx.
+ (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
+
+2012-07-30 Nathan Froyd <froydnj@gcc.gnu.org>
+
+ * expmed.h (NUM_MODE_VECTOR_INT): Define.
+ (struct expmed_op_cheap, struct expmed_op_costs): New structures.
+ (struct target_expmed): Convert x_mul_highpart_cost and
+ x_mul_widen_cost fields to be indexed by integer modes.
+ Convert x_sdiv_pow2_cheap and x_smod_pow2_cheap fields to be
+ of type struct expmed_op_cheap. Convert other cost fields to be
+ of type struct_expmed_op_costs.
+ (mul_widen_cost_ptr, mul_highpart_cost_ptr): Adjust for new
+ indexing of respective fields.
+ (expmed_op_cheap_ptr): New function.
+ (sdiv_pow2_cheap_ptr, smod_pow2_cheap_ptr): Call it.
+ (expmed_op_cost_ptr): New function.
+ (add_cost_ptr, neg_cost_ptr, shift_cost_ptr, shiftadd_cost_ptr,
+ shiftsub0_cost_ptr, shiftsub1_cost_ptr, mul_cost_ptr,
+ sdiv_cost_ptr, udiv_cost_ptr): Call it.
+
+2012-07-30 Sandra Loosemore <sandra@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+
+ * doc/invoke.texi (MIPS Options): Document -mno-float.
+ * config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): Make it know
+ about -mno-float.
+
+2012-07-30 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/sourcebuild.texi (Subdirectories): Document common subdirectory.
+
+2012-07-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/53823
+ * expmed.c (expand_mult): Skip synth_mult for constant double op1 except
+ for special cases. Don't initialize coeff and is_neg.
+
+2012-07-30 Ulrich Weigand <ulrich.weigand@linaro.org>
+ Richard Earnshaw <rearnsha@arm.com>
+
+ * target.def (vector_alignment): New target hook.
+ * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
+ * doc/tm.texi: Regenerate.
+ * targhooks.c (default_vector_alignment): New function.
+ * targhooks.h (default_vector_alignment): Add prototype.
+ * stor-layout.c (layout_type): Use targetm.vector_alignment.
+ * config/arm/arm.c (arm_vector_alignment): New function.
+ (TARGET_VECTOR_ALIGNMENT): Define.
+
+ * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
+ vector type alignment instead of size.
+ * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
+ element type size directly instead of computing it from alignment.
+ Fix variable naming and comment.
+
+2012-07-30 Kirill Yukhin <kirill.yukhin@intel.com>
+ Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * common/config/i386/i386-common.c (OPTION_MASK_ISA_RDSEED_SET): New.
+ (OPTION_MASK_ISA_RDSEED_UNSET): Likewise.
+ (ix86_handle_option): Handle mrdseed option.
+ * config.gcc (i[34567]86-*-*): Add rdseedintrin.h.
+ (x86_64-*-*): Likewise.
+ * config/i386/prfchwintrin.h: New header.
+ * config/i386/cpuid.h (bit_RDSEED): New.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Detect
+ RDSEED support.
+ * config/i386/i386-c.c: Define __RDSEED__ if needed.
+ * config/i386/i386.c (ix86_target_string): Define -mrdseed option.
+ (PTA_RDSEED): New.
+ (ix86_option_override_internal): Handle new option.
+ (ix86_valid_target_attribute_inner_p): Add OPT_mrdseed.
+ (ix86_builtins): Add enum entries for RDSEED* builtins.
+ (ix86_init_mmx_sse_builtins): Define new builtins.
+ (ix86_expand_builtin): Expand RDSEED* builtins.
+ * config/i386/i386.h (TARGET_RDSEED): New.
+ * config/i386/i386.md (rdseed<mode>_1): New.
+ * config/i386/i386.opt (mrdseed): New.
+ * config/i386/x86intrin.h: Include rdseedintrin.h.
+
+2012-07-30 Richard Guenther <rguenther@suse.de>
+
+ * tree-into-ssa.c (mark_def_sites): Also process virtual operands.
+ (rewrite_stmt): Likewise.
+ (rewrite_enter_block): Likewise.
+ (pass_build_ssa): Do not update virtual SSA form during TODO.
+ (mark_symbol_for_renaming): Do nothing if we are not in SSA form.
+ * lto-streamer-in.c (lto_read_body): Set in_ssa_p earlier.
+
+2012-07-30 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/39423
+ * config/sh/sh.md (*movsi_index_disp, *movhi_index_disp): New
+ insns.
+
+2012-07-30 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh.md (mov_neg_si_t): Move to Scc instructions section.
+ Use t_reg_operand predicate. Add split for negated case.
+ (ashrsi2_31): Pass get_t_reg_rtx to gen_mov_neg_si_t.
+ * config/sh/sh.c (expand_ashiftrt): Likewise.
+
+2012-07-30 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * config/sh/sh.md (ashlsi3_d): Invoke gen_shifty_op directly instead
+ of trying to emit ashlsi3_n.
+
+2012-07-30 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+ Steven Bosscher <steven@gcc.gnu.org>
+
+ * gengtype.c (adjust_field_type): Diagnose duplicate "length"
+ option applications and option being applied to arrays of atomic types.
+ (walk_type): Allow "atomic" option on strings too.
+ * dwarf2out.h (struct dw_vec_struct): Use the "atomic" GTY option
+ for the array field.
+ * vec.h: Describe the atomic object "A" type of the macros in
+ the header comment.
+ (VEC_T_GTY_ATOMIC, DEF_VEC_A, DEF_VEC_ALLOC_A): Define.
+ * emit-rtl.c (locations_locators_vals): use the atomic object vector.
+ * doc/gty.texi: Clarify that GTY option "length" is only for
+ arrays of non-atomic objects. Fix typo in the description of the
+ "atomic" option.
+
+2012-07-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_avoid_lea_for_addr): Handle
+ zero-extended addresses. Return false if the address has less
+ than two components.
+ (ix86_split_lea_for_addr): Unconditionally convert target and
+ all address operands to requested mode.
+ * config/i386/i386.md (*lea<mode>): Recover operands from curr_insn.
+ Pass SImode to ix86_split_lea_for_addr when splitting zero-extended
+ address.
+ (zero-extended add splitter): New splitter to conditionally split
+ non-destructive adds.
+ (*zero_extendsidi2_rex64): Conditionally emit leal instead of movl.
+
+2012-07-28 Alan Modra <amodra@gmail.com>
+
+ PR target/54093
+ * config/rs6000/rs6000.c (rs6000_secondary_reload): Limit 32-bit
+ multi-gpr reload to cases where predicate passes. Do the same for
+ 64-bit multi-gpr reload.
+
+2012-07-27 Nathan Froyd <froydnj@gcc.gnu.org>
+
+ * expmed.h (alg_hash, alg_hash_used_p, sdiv_pow2_cheap,
+ smod_pow2_cheap, zero_cost, add_cost, neg_cost, shift_cost)
+ shiftadd_cost, shiftsub0_cost, shiftsub1_cost, mul_cost,
+ sdiv_cost, udiv_cost, mul_widen_cost, mul_highpart_cost): Delete
+ macro definitions and re-purpose as inline functions.
+ (alg_hash_entry_ptr, set_alg_hash_used_p, sdiv_pow2_cheap_ptr,
+ set_sdiv_pow2_cheap, smod_pow2_cheap_ptr, set_smod_pow2_cheap,
+ zero_cost_ptr, set_zero_cost, add_cost_ptr, set_add_cost,
+ neg_cost_ptr, set_neg_cost, shift_cost_ptr, set_shift_cost,
+ shiftadd_cost_ptr, set_shiftadd_cost, shiftsub0_cost_ptr,
+ set_shiftsub0_cost, shiftsub1_cost_ptr, set_shiftsub1_cost,
+ mul_cost_ptr, set_mul_cost, sdiv_cost_ptr, set_sdiv_cost,
+ udiv_cost_ptr, set_udiv_cost, mul_widen_cost_ptr,
+ set_mul_widen_cost, mul_highpart_cost_ptr, set_mul_highpart_cost):
+ New functions.
+ (convert_cost_ptr): New function, split out from...
+ (set_convert_cost, convert_cost): ...here.
+ * expmed.c, tree-ssa-loop-ivopts.c: Update for new functions.
+ * gimple-ssa-strength-reduction.c: Likewise.
+
+2012-07-20 Ryan Mansfield <rmansfield@qnx.com>
+
+ * gcc.c (main): Move GCC_DRIVER_HOST_INITIALIZATION after
+ diagnostic_initialize.
+
+2012-07-27 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * config/sh/sh.c (shiftcosts): Remove case where first operand
+ is a const_int. Move COSTS_N_INSNS usage into caller ...
+ (sh_rtx_costs) ... here. Return false when shiftcosts cannot be
+ calculated instead of MAX_COST.
+
+2012-07-27 Richard Guenther <rguenther@suse.de>
+
+ * tree-cfg.c (gimple_can_merge_blocks_p): Do more fine-grained
+ check whether SSA form is not up-to-date.
+ * tree-flow.h (name_mappings_registered_p): Remove.
+ * tree-into-ssa.c (struct repl_map_d): Remove.
+ (repl_tbl): Likewise.
+ (struct ssa_name_info): Add repl_set member.
+ (update_ssa_obstack): New static global.
+ (get_ssa_name_ann): Initialize repl_set.
+ (clear_ssa_name_info): Assert age did not wrap.
+ (repl_map_hash, repl_map_eq, repl_map_free): Remove.
+ (names_replaced_by): Adjust.
+ (add_to_repl_tbl): Likewise.
+ (dump_tree_ssa_stats): Likewise.
+ (init_update_ssa): Initialize update_ssa_obstack.
+ (delete_update_ssa): Free update_ssa_obstack.
+ (name_mappings_registered_p): Remove.
+ (update_ssa): Adjust.
+
+2012-07-27 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/constraints.md: Delete "q" constraint.
+ * config/rs6000/dfp.md (movsd_hardfloat, movsd_softfloat):
+ Delete the "q" alternative.
+ * config/rs6000/predicates.md (gpc_reg_operand): Adjust.
+ * config/rs6000/rs6000.c (rs6000_debug_reg_global)
+ (rs6000_init_hard_regno_mode_ok, rs6000_dbx_register_number):
+ adjust to MQ_REGNO removal.
+ * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Adjust
+ comment.
+ (REG_ALLOC_ORDER): Adjust comment. Remove MQ from alloc order.
+ (enum reg_class): Adjust comment. Delete MQ_REGS.
+ (REG_CLASS_CONTENTS): Adjust.
+ (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust comment.
+ * config/rs6000/rs6000.md: Delete MQ_REGNO.
+ (movsi_internal1, movsi_internal1_single, movhi_internal,
+ movqi_internal, movcc_internal1, movsf_hardfloat,
+ movsf_softfloat): Delete the "q" alternative.
+ (ctr<mode>_internal1, ctr<mode>_internal2, ctr<mode>_internal5,
+ ctr<mode>_internal6): Delete "q" constraint.
+
+2012-07-27 Richard Guenther <rguenther@suse.de>
+
+ * tree-into-ssa.c (def_blocks_p): New typedef.
+ (insert_phi_nodes_compare_def_blocks): New function.
+ (insert_phi_nodes): Do not walk over referenced vars, instead
+ walk over recorded def_blocks, record relevant ones and sort
+ them to avoid repeated hashtable lookups.
+
+2012-07-27 Richard Guenther <rguenther@suse.de>
+
+ * doc/invoke.texi (min-virtual-mappings, virtual-mappings-ratio):
+ Remove param documentation.
+ * params.def (PARAM_MIN_VIRTUAL_MAPPINGS,
+ PARAM_VIRTUAL_MAPPINGS_TO_SYMS_RATIO): Remove.
+ * tree-flow.h (mark_set_for_renaming): Remove.
+ * tree-into-ssa.c (struct update_ssa_stats_d): Remove.
+ (add_new_name_mapping): Remove bookkeeping code.
+ (dump_update_ssa): Remove stats dumping code.
+ (init_update_ssa): Remove stats allocation code.
+ (delete_update_ssa): Remove stats freeing code.
+ (mark_set_for_renaming): Remove.
+ (switch_virtuals_to_full_rewrite_p): Likewise.
+ (switch_virtuals_to_full_rewrite): Likewise.
+ (update_ssa): Do not call switch_virtuals_to_full_rewrite.
+
+2012-07-27 Marek Polacek <polacek@redhat.com>
+
+ * cgraphunit.c: Rename varpool_finalize_variable to
+ varpool_finalize_decl in a comment.
+
+2012-07-27 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * common/config/rs6000/rs6000-common.c (rs6000_handle_option):
+ Delete code for -mno-power, -mpower, and -mpower2.
+ * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete.
+ (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
+ with -maix64.
+ (ASM_CPU_SPEC): Delete support for POWER and POWER2.
+ * config/rs6000/aix51.h (NON_POWERPC_MASKS): Delete.
+ (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
+ with -maix64.
+ (ASM_CPU_SPEC): Delete support for POWER and POWER2.
+ * config/rs6000/aix52.h (NON_POWERPC_MASKS): Delete.
+ (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
+ with -maix64.
+ (TARGET_POWER): Delete.
+ * config/rs6000/aix53.h (NON_POWERPC_MASKS): Delete.
+ (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
+ with -maix64.
+ (TARGET_POWER): Delete.
+ * config/rs6000/aix61.h (NON_POWERPC_MASKS): Delete.
+ (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
+ with -maix64.
+ (TARGET_POWER): Delete.
+ * config/rs6000/darwin.h (TARGET_POWER): Delete.
+ * config/rs6000/driver-rs6000.c (struct asm_names): Delete
+ support for -mpower, -mpower2, and -mno-power.
+ * config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
+ Likewise.
+ (rs6000_cpu_cpp_builtins): Likewise.
+ * config/rs6000/rs6000-cpus.def: Likewise.
+ * config/rs6000/rs6000-tables.opt: Regenerate.
+ * config/rs6000/rs6000.c (POWER_MASKS): Delete.
+ (rs6000_option_override_internal): Adjust.
+ (rs6000_conditional_register_usage): Adjust.
+ (rs6000_emit_move): Adjust.
+ (rs6000_common_init_builtins): Adjust.
+ (rs6000_init_libfuncs): Adjust.
+ (rs6000_output_function_prologue): Adjust.
+ (rs6000_adjust_cost): Adjust.
+ (struct rs6000_opt_masks): Delete MASK_POWER and MASK_POWER2.
+ * config/rs6000/rs6000.h (ASM_CPU_SPEC): Delete support for
+ POWER and POWER2.
+ (TARGET_DEFAULT): Adjust.
+ (PROCESSOR_POWER): Delete.
+ (SHIFT_COUNT_TRUNCATED): Adjust.
+ * config/rs6000/rs6000.md (extendqisi2): Delete POWER support.
+ (extendqisi2_power): Delete.
+ (extendqisi2_no_power): Adjust.
+ (extendqihi2, extendqihi2_power, extendqihi2_no_power):
+ Likewise.
+ (sminsi3, smaxsi3, uminsi3, umaxsi3): Adjust.
+ (anonymous doz insn patterns): Delete.
+ (abssi2): Adjust.
+ (abssi2_power): Delete.
+ (abssi2_nopower): Adjust.
+ (nabs_power, nabs_nopower): Likewise.
+ (mulsi3, mulsi3_mq, mulsi3_no_mq, mulsi3_mq_internal1):
+ Likewise. Delete anonymous post-reload splitter.
+ (mulsi3_no_mq_internal1): rename to...
+ (mulsi3_internal1): New define_insn.
+ (mulsi3_mq_internal2, mulsi3_no_mq_internal2, mulsi3_internal2):
+ Likewise.
+ (divmodsi4, divmodsi4_internal, udiv<mode>3, udivsi3_mq,
+ udivsi3_no_mq, udivsi3, div<mode>3, divsi3_mq, div<mode>3_no_mq,
+ udivmodsi4_normal, udivmodsi4_tests, udivmodsi4): Likewise.
+ (mulh_call, mull_call, divss_call, divus_call, quoss_call,
+ quous_call): Likewise.
+ (maskir_internal1, maskir_internal2, maskir_internal3,
+ maskir_internal4, maskir_internal5, maskir_internal6,
+ maskir_internal7, maskir_internal8): Delete.
+ (ashlsi3, ashlsi3_power, ashlsi3_no_power): Adjust.
+ (anonymous sl insn patterns): Delete.
+ (lshrsi3, lshrsi3_power, lshrsi3_no_power): Adjust.
+ (lshrsi3_64): Adjust.
+ (anonymous sr insn patterns): Delete.
+ (anonymous rrib insn patterns): Delete.
+ (ashrsi3, ashrsi3_power, ashrsi3_no_power): Adjust.
+ (anonymous sra insn patterns): Delete.
+ (sqrtsf2, sqrtdf2, sqrtdf2_fpr): Adjust.
+ (fix_trunc<mode>si2, fix_trunc<mode>si2_internal,
+ fctiwz_<mode>): Adjust.
+ (mulsidi3, mulsidi3_mq, mulsidi3_no_mq, umulsidi3, umulsidi3_mq,
+ umulsidi3_no_mq, smulsi3_highpart, smulsi3_highpart_mq,
+ smulsi3_highpart_no_mq, umulsi3_highpart, umulsi3_highpart_mq,
+ umulsi3_highpart_no_mq): Adjust.
+ (ashldi3_power, lshrdi3_power, ashrdi3_power): Delete.
+ (ashrdi3_no_power, ashldi3, ashldi3_internal1,
+ lshrdi3_internal1): Adjust.
+ (fix_trunctfsi2, fix_trunctfsi2_fprs): Adjust.
+ (movti_power): Delete.
+ (movti_string): Adjust.
+ (stmsi8, stmsi7, stmsi6, stmsi5, stmsi4, stmsi3): Adjust.
+ (stmsi8_power, stmsi7_power, stmsi6_power, stmsi5_power,
+ stmsi4_power, stmsi3_power): Delete.
+ (anonymous movmemsi insn patterns): Adjust.
+ (lfq_power2, stfq_power2): Delete.
+ (eq<mode>, eq<mode>_compare): Adjust.
+ (eqsi_power): Delete.
+ (ne0si): Adjust.
+ (anonymous le, lt, ge, gt insn patterns): Delete.
+ * config/rs6000/rs6000.opt (mpower, mno-power, mpower2): Delete.
+ * config/rs6000/sysv4.h (TARGET_POWER): Delete.
+ * config/rs6000/t-aix43 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
+ MULTILIB_MATCHES): Adjust.
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Delete
+ -mpower, -mno-power, -mpower2, -mno-power2 documentation.
+ Delete -mcpu=power and -mcpu=power2 documentation.
+
+2012-07-27 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/601.md: New file.
+ * config/rs6000/aix43.h (ASM_CPU_SPEC): Delete support for
+ RIOS CPUs.
+ * config/rs6000/aix51.h (ASM_CPU_SPEC): Likewise.
+ * config/rs6000/driver-rs6000.c (detect_processor_aix,
+ struct asm_names): Likewise.
+ * config/rs6000/rios1.md: Delete file.
+ * config/rs6000/rios2.md: Delete file.
+ * config/rs6000/rs6000-cpus.def: Delete definitions for RIOS
+ CPUs.
+ * config/rs6000/rs6000-opts.h (enum processor_type): Delete
+ PROCESSOR_RIOS1 and PROCESSOR_RIOS2.
+ * config/rs6000/rs6000-tables.opt: Regenerated.
+ * config/rs6000/rs6000.c (struct rios1_cost, struct rios2_cost):
+ Delete.
+ (rs6000_option_override_internal): Delete support for RIOS CPUs.
+ (rs6000_conditional_register_usage): Adjust comment.
+ (rs6000_issue_rate):Delete support for RIOS CPUs.
+ * config/rs6000/rs6000.h (ASM_CPU_SPEC): Delete support for
+ RIOS CPUs.
+ (PROCESSOR_POWER): Change to PROCESSOR_PPC601.
+ (PROCESSOR_DEFAULT): Change to PROCESSOR_PPC603.
+ * config/rs6000/rs6000.md (define_attr "cpu"): Delete rios1
+ and rios2.
+ (include "rios1.md", include "rios2.md"): Delete.
+ (include "601.md"): New.
+ * config/rs6000/rs6000.opt (enum rs6000_cpu): Default to
+ PROCESSOR_PPC603.
+ * config/rs6000/t-aix43 (MULTILIB_MATCHES): Delete support
+ for RIOS CPUs.
+ * config/rs6000/t-rs6000 (MD_INCLUDES): Delete rios1.md and
+ rios2.md . Add 601.md .
+
+2012-07-26 Richard Henderson <rth@redhat.com>
+
+ * doc/extend.texi (attribute): Document hot/cold for labels.
+ * predict.c (tree_estimate_probability_bb): Handle hot/cold
+ attributes on user labels.
+ * predict.def (PRED_HOT_LABEL, PRED_COLD_LABEL): New.
+
+2012-07-26 Andrew Jenner <andrew@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * cse.c (find_comparison_args): Check for cycles of any length.
+
+2012-07-26 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.c (REG_SAVE_BYTES): Delete.
+ (mn10300_get_live_callee_saved_regs): If requested return a count
+ of the number of bytes in the mask.
+ (mn10300_expand_prologue): Add argument to invocation of
+ mn10300_get_live_callee_regs.
+ (mn10300_expand_epilogue): Compute reg_save_bytes by calling
+ mn10300_get_live_callee_saved_regs.
+ (mn10300_initial_offset): Likewise.
+ * config/mn10300/mn10300-protos.h (mn10300_get_live_callee_saved_regs):
+ Update prototype.
+ * config/mn10300/mn10300.md (return_ret): Add argument to
+ invocation of mn10300_get_live_callee_saved_regs.
+
+2012-07-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR regression/54084
+ * sel-sched-ir.c (cmp_v_in_regset_pool): Clarify logic, fix
+ pointer difference check.
+
+2012-07-26 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * tree-ssa-loop-ivopts.c (mbc_entry_hash): Remove.
+ (mbc_entry_eq): Likewise.
+ (mult_costs): Likewise.
+ (cost_tables_exist): Likewise.
+ (initialize_costs): Likewise.
+ (finalize_costs): Likewise.
+ (tree_ssa_iv_optimize_init): Remove call to initialize_costs.
+ (add_regs_cost): Remove.
+ (multiply_regs_cost): Likewise.
+ (add_const_cost): Likewise.
+ (extend_or_trunc_reg_cost): Likewise.
+ (negate_reg_cost): Likewise.
+ (struct mbc_entry): Likewise.
+ (multiply_by_const_cost): Likewise.
+ (get_address_cost): Change add_regs_cost calls to add_cost lookups;
+ change multiply_by_const_cost to mult_by_coeff_cost.
+ (force_expr_to_var_cost): Likewise.
+ (difference_cost): Change multiply_by_const_cost to mult_by_coeff_cost.
+ (get_computation_cost_at): Change add_regs_cost calls to add_cost
+ lookups; change multiply_by_const_cost to mult_by_coeff_cost.
+ (determine_iv_cost): Change add_regs_cost calls to add_cost lookups.
+ (tree_ssa_iv_optimize_finalize): Remove call to finalize_costs.
+ * tree-ssa-address.c (expmed.h): New #include.
+ (most_expensive_mult_to_index): Change multiply_by_const_cost to
+ mult_by_coeff_cost.
+ * gimple-ssa-strength-reduction.c (expmed.h): New #include.
+ (stmt_cost): Change to use mult_by_coeff_cost, mul_cost, add_cost,
+ neg_cost, and convert_cost instead of IVOPTS interfaces.
+ (execute_strength_reduction): Remove calls to initialize_costs and
+ finalize_costs.
+ * expmed.c (struct init_expmed_rtl): Add convert rtx_def.
+ (init_expmed_one_mode): Initialize convert rtx_def; initialize
+ x_convert_cost for related modes.
+ (mult_by_coeff_cost): New function.
+ * expmed.h (NUM_MODE_INT): New #define.
+ (struct target_expmed): Add x_convert_cost matrix.
+ (set_convert_cost): New inline function.
+ (convert_cost): Likewise.
+ (mult_by_coeff_cost): New extern decl.
+ * tree-flow.h (initialize_costs): Remove decl.
+ (finalize_costs): Likewise.
+ (multiply_by_const_cost): Likewise.
+ (add_regs_cost): Likewise.
+ (multiply_regs_cost): Likewise.
+ (add_const_cost): Likewise.
+ (extend_or_trunc_reg_cost): Likewise.
+ (negate_reg_cost): Likewise.
+ * Makefile.in (gimple-ssa-strength-reduction.o): Update dependencies.
+ (tree-ssa-address.o): Update dependencies.
+
+2012-07-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * bitmap.h: Add explanation of sparse set as linked-list bitmap.
+ * sbitmap.h: Add explanation about non-sparse sets as simple bitmap.
+ (TEST_BIT): Make a static inline function for stronger type checking.
+ (SET_BIT): Don't handle sbitmaps with popcount.
+ (RESET_BIT): Likewise.
+ (SET_BIT_WITH_POPCOUNT): New, like SET_BIT but with popcount.
+ (RESET_BIT_WITH_POPCOUNT): New, like RESET_BIT but with popcount.
+ * ebitmap.c (ebitmap_clear_bit): Use SET_BIT_WITH_POPCOUNT and
+ RESET_BIT_WITH_POPCOUNT on wordmask bitmaps.
+ (ebitmap_set_bit, ebitmap_and_into, ebitmap_and, ebitmap_ior_into,
+ ebitmap_and_compl_into, ebitmap_and_compl): Likewise.
+ * sparseset.h: Add explanation of sparse set representation.
+
+2012-07-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54098
+ * tree-vrp.c (vrp_visit_phi_node): Iterate once more if the
+ original range was UNDEFINED.
+
+2012-07-26 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * config/arm/neon.ml (ops): Fix regexp for vld1Q_dups64 and
+ vld1Q_dupu64 tests.
+
+2012-07-26 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh.opt (mzdcbranch): New option.
+ * doc/invoke.texi: Document it.
+ * config/sh/sh.md (negsi_cond): Use TARGET_ZDCBRANCH as condition
+ instead of TARGET_HARD_SH4.
+ * config/sh/sh.c (sh_option_override): Set TARGET_ZDCBRANCH as default
+ for TARGET_HARD_SH4.
+
+2012-07-25 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * config/sh/predicates.md (shift_count_operand): Handle not-SHMEDIA
+ case.
+ (p27_shift_count_operand, not_p27_shift_count_operand): New predicates.
+ * config/sh/sh.md (ashlsi3): Remove parallel and T_REG clobber
+ from expander. Do not emit shift insn for not-SHMEDIA case.
+ (ashlsi3_std): Replace with ...
+ (ashlsi3_k, ashlsi3_d): ... these new insns.
+ * config/sh/sh.c (gen_ashift): Make static. Add sanity checks.
+ Emit ashlsi3_k insn instead of ashlsi3_std in ASHIFT case.
+ (gen_ashift_hi): Make static.
+ * config/sh/sh-protos.h (gen_ashift, gen_ashift_hi): Remove forward
+ declaration.
+
+2012-07-25 Bharathi Seshadri <bseshadr@cisco.com>
+ Jim Wilson <jimwilso@cisco.com>
+
+ * config/arm/bpabi.h (BE8_LINK_SPEC): Set according to
+ TARGET_BIG_ENDIAN_DEFAULT.
+
+2012-07-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple-low.c (lower_try_catch): New function.
+ (lower_stmt) <GIMPLE_TRY>: Use it to lower GIMPLE_TRY_CATCH.
+ <GIMPLE_CATCH>: Delete.
+ <GIMPLE_EH_FILTER>: Likewise.
+
+2012-07-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expr.c (expand_expr_real_1): Do not expand operand #1 and #2
+ of BIT_FIELD_REF for ignored results.
+ * fold-const.c (fold_ternary_loc) <BIT_FIELD_REF>: Check that the
+ CONSTRUCTOR has vector type before using vector accessors on it.
+ * gimplify.c (gimplify_compound_lval): Do not gimplify operand #1 and
+ #2 of BIT_FIELD_REF.
+ (gimplify_expr) <BIT_FIELD_REF>: Likewise.
+ * tree-nested.c (convert_nonlocal_reference_op) <BIT_FIELD_REF>: Do
+ not process operand #1 and #2.
+ (convert_local_reference_op): Likewise.
+ * tree-ssa-pre.c (create_component_ref_by_pieces_1): Remove superfluous
+ breaks throughout.
+ <BIT_FIELD_REF>: Reuse operand #1 and #2 directly.
+ * tree.c (stabilize_reference) <BIT_FIELD_REF>: Do not stabilize
+ operand #1 and #2.
+ (UPDATE_FLAGS): Do not consider operand #2 of BIT_FIELD_REF.
+ (build6_stat): Delete.
+ * tree.h (build6_stat, build6, build6_stat_loc, build6_loc): Likewise.
+
+2012-07-25 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/30318
+ * tree-vrp.c (extract_range_from_binary_expr_1) [PLUS_EXPR]:
+ Handle __int128.
+ [MINUS_EXPR]: Merge with PLUS_EXPR.
+
+2012-07-25 Sandra Loosemore <sandra@codesourcery.com>
+ Paul Brook <paul@codesourcery.com>
+
+ PR target/53633
+ * target.def (warn_func_return): New hook.
+ * doc/tm.texi.in (TARGET_WARN_FUNC_RETURN): New hook.
+ * doc/tm.texi: Regenerate.
+ * doc/sourcebuild.texi (Effective-Target Keywords): Document
+ naked_functions.
+ * ipa-pure-const.c (warn_function_noreturn): Check
+ targetm.warn_func_return.
+ * tree-cfg.c (execute_warn_function_return): Likewise.
+ * config/spu/spu.c (spu_warn_func_return): New.
+ (TARGET_WARN_FUNC_RETURN): Define.
+ * config/rx/rx.c (rx_warn_func_return): New.
+ (TARGET_WARN_FUNC_RETURN): Define.
+ * config/avr/avr.c (avr_warn_func_return): New.
+ (TARGET_WARN_FUNC_RETURN): Define.
+ * config/arm/arm.c (arm_warn_func_return): New.
+ (TARGET_WARN_FUNC_RETURN): Define.
+ * config/mcore/mcore.c (mcore_warn_func_return): New.
+ (TARGET_WARN_FUNC_RETURN): Define.
+ (saved_warn_return_type, saved_warn_return_type_count): Remove.
+ (mcore_reorg, mcore_handle_naked_attribute): Remove warn_return hack.
+
+2012-07-25 Siddhesh Poyarekar <siddhesh@redhat.com>
+
+ * final.c [ASSEMBLER_DIALECT](do_assembler_dialects): New
+ function to implement assembler dialects.
+ (output_asm_insn): Use do_assembler_dialects.
+ (asm_fprintf): Likewise.
+
+2012-07-25 Richard Henderson <rth@redhat.com>
+
+ PR bootstrap/54092
+ * libfuncs.h: Don't include optabs.h.
+ (struct libfunc_entry): Use "int" for op, mode1, mode2 members.
+ * optabs.c (hash_libfunc): Don't cast members to int.
+ * Makefile.in (LIBFUNCS_H): Don't include OPTABS_H.
+
+2012-07-25 Dodji Seketeli <dodji@redhat.com>
+
+ * basic-block.c: Fix typo in comment.
+
+2012-07-25 Kirill Yukhin <kirill.yukhin@intel.com>
+ Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * common/config/i386/i386-common.c (OPTION_MASK_ISA_PRFCHW_SET): New.
+ (OPTION_MASK_ISA_PRFCHW_UNSET): Likewise.
+ (ix86_handle_option): Handle mprfchw option.
+ * config.gcc (i[34567]86-*-*): Add prfchwintrin.h.
+ (x86_64-*-*): Likewise.
+ * config/i386/prfchwintrin.h: New header.
+ * config/i386/cpuid.h (bit_PRFCHW): New.
+ (bit_BMI): Formatting fix.
+ (bit_HLE): Likewise.
+ (bit_RTM): Likewise.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Detect
+ PREFETCHW support.
+ * config/i386/i386-c.c: Define __PRFCHW__ if needed.
+ * config/i386/i386.c (ix86_target_string): Define
+ -mprfchw option. Formatting fixes.
+ (PTA_HLE): Formatting fix.
+ (PTA_PRFCHW): New.
+ (ix86_option_override_internal): Handle new option.
+ (ix86_valid_target_attribute_inner_p): Add OPT_mprfchw.
+ * config/i386/i386.h (TARGET_PRFCHW): New.
+ * config/i386/i386.md (prefetch): Enable for TARGET_PRFCHW.
+ * config/i386/i386.opt (mprfchw): New.
+ * config/i386/mm3dnow.h: Move _m_prefetchw from here to prfchwintrin.h.
+ * config/i386/x86intrin.h: Include prfchwintrin.h.
+
+2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com>
+
+ * config/i386/i386.md (stack_protect_set): Disable the pattern
+ for Android since Android libc (bionic) does not provide random
+ value for stack protection guard at gs:0x14. Guard value
+ will be provided from external symbol (default implementation).
+ (stack_protect_set_<mode>): Likewise.
+ (stack_protect_test): Likewise.
+ (stack_protect_test_<mode>): Likewise.
+ * defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does
+ not have Bionic by default
+ * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC)
+ Macro OPTION_BIONIC is defined in this file and provides Bionic
+ accessibility status
+
+2012-07-25 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gimple-pretty-print.c (gimple_dump_bb_buff): Call pp_flush.
+
+2012-07-25 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
+
+ btver2 Enablement
+ * config.gcc (i[34567]86-*-linux* | ...): Add btver2.
+ (case ${target}): Add btver2.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Let
+ -march=native recognize btver2 processors.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Add
+ btver2 def_and_undef
+ * config/i386/i386.c (struct processor_costs btver2_cost): New
+ btver2 cost table.
+ (m_BTVER2): New definition.
+ (m_AMD_MULTIPLE): Includes m_BTVER2.
+ (initial_ix86_tune_features): Add btver2 tune.
+ (processor_target_table): Add btver2 entry.
+ (static const char *const cpu_names): Add btver2 entry.
+ (software_prefetching_beneficial_p): Add btver2.
+ (ix86_option_override_internal): Add btver2 instruction sets.
+ (ix86_issue_rate): Add btver2.
+ (ix86_adjust_cost): Add btver2.
+ * config/i386/i386.h (TARGET_BTVER2): New definition.
+ (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver2.
+ (enum processor_type): Add PROCESSOR_BTVER2.
+ * config/i386/i386.md (define_attr "cpu"): Add btver2.
+
+2012-07-24 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * doc/tm.texi: Regenerate.
+ * targhooks.c (default_init_cost): Add prologue and epilogue costs.
+ (default_add_stmt_cost): Likewise; also handle NULL stmt_info.
+ (default_finish_cost): Add prologue and epilogue costs.
+ * targhooks.h (default_add_stmt_cost): Change parameter list.
+ (default_finish_cost): Likewise.
+ * target.def (init_cost): Change documentation string.
+ (add_stmt_cost): Change documentation string and parameter list.
+ (finish_cost): Likewise.
+ * target.h (vect_cost_model_location): New enum.
+ * tree-vectorizer.h (struct _slp_tree): Remove cost substruct.
+ (struct _slp_instance): Remove cost substruct; rename stmt_cost_vec
+ to body_cost_vec.
+ (SLP_INSTANCE_OUTSIDE_OF_LOOP_COST): Remove.
+ (SLP_INSTANCE_STMT_COST_VEC): Rename to SLP_INSTANCE_BODY_COST_VEC.
+ (SLP_TREE_OUTSIDE_OF_LOOP_COST): Remove.
+ (struct _vect_peel_extended_info): Rename stmt_cost_vec to
+ body_cost_vec.
+ (struct _stmt_vec_info): Remove cost substruct.
+ (STMT_VINFO_OUTSIDE_OF_LOOP_COST): Remove.
+ (stmt_vinfo_set_outside_of_loop_cost): Remove.
+ (builtin_vectorization_cost): New function.
+ (vect_get_stmt_cost): Change to use builtin_vectorization_cost.
+ (add_stmt_cost): Change parameter list.
+ (finish_cost): Likewise.
+ (vect_model_simple_cost): Likewise.
+ (vect_model_store_cost): Likewise.
+ (vect_model_load_cost): Likewise.
+ (record_stmt_cost): Likewise.
+ (vect_get_load_cost): Likewise.
+ (vect_get_known_peeling_cost): Likewise.
+ * tree-vect-loop.c (vect_get_known_peeling_cost): Change parameter
+ list; call record_stmt_cost for prologue and epilogue costs.
+ (vect_estimate_min_profitable_iters): Call add_stmt_cost for
+ prologue and epilogue costs; remove computation of vec_outside_cost;
+ return vec_prologue_cost and vec_epilogue_cost from finish_cost.
+ (vect_model_reduction_cost): Revise call to add_stmt_cost for body
+ costs; call add_stmt_cost for prologue and epilogue costs.
+ (vect_model_induction_cost): Revise call to add_stmt_cost for body
+ costs; call add_stmt_cost for prologue costs.
+ * tree-vect-data-refs.c (vect_get_data_access_cost): Change parameter
+ list for function and arguments for calls to vect_get_load_cost and
+ vect_get_store_cost.
+ (vect_peeling_hash_get_lowest_cost): Change argument list for calls to
+ vect_get_data_access_cost and vect_get_known_peeling_cost; use
+ temporary vectors prologue_cost_vec and epilogue_cost_vec for the
+ latter call and discard their results; rename stmt_cost_vec to
+ body_cost_vec; correct possible storage leak for body_cost_vec.
+ (vect_peeling_hash_choose_best_peeling): Rename stmt_cost_vec to
+ body_cost_vec.
+ (vect_enhance_data_refs_alignment): Rename stmt_cost_vec to
+ body_cost_vec; add extra dummy parameter on calls to
+ vect_get_data_access_cost; tolerate null si->stmt; add vect_body to
+ argument list on call to add_stmt_cost.
+ * tree-vect-stmts.c (record_stmt_cost): Change parameter list;
+ rename stmt_cost_vec to body_cost_vec; tolerate null stmt_info; call
+ builtin_vectorization_cost; add "where" parameter on call to
+ add_stmt_cost.
+ (vect_model_simple_cost): Change parameter list; call record_stmt_cost
+ for prologue costs; remove call to stmt_vinfo_set_outside_of_loop_cost;
+ rename stmt_cost_vec to body_cost_vec.
+ (vect_model_promotion_demotion_cost): Add vect_body argument to call
+ to add_stmt_cost; call add_stmt_cost for prologue costs; remove call
+ to stmt_vinfo_set_outside_of_loop_cost.
+ (vect_model_store_cost): Change parameter list; call record_stmt_cost
+ for prologue costs; add vect_body argument to call to record_stmt_cost;
+ rename stmt_cost_vec to body_cost_vec; remove call to
+ stmt_vinfo_set_outside_of_loop_cost.
+ (vect_get_store_cost): Rename stmt_cost_vec to body_cost_vec; add
+ vect_body argument to calls to record_stmt_cost.
+ (vect_model_load_cost): Change parameter list; rename stmt_cost_vec to
+ body_cost_vec; add vect_body argument to calls to record_stmt_cost;
+ remove call to stmt_vinfo_set_outside_of_loop_cost.
+ (vect_get_load_cost): Change parameter list; rename stmt_cost_vec to
+ body_cost_vec; add vect_body argument to calls to record_stmt_cost;
+ call record_stmt_cost for prologue costs.
+ (vectorizable_store): Change argument list for call to
+ vect_model_store_cost.
+ (vectorizable_load): Change argument list for call to
+ vect_model_load_cost.
+ (new_stmt_vec_info): Remove assignment to
+ STMT_VINFO_OUTSIDE_OF_LOOP_COST.
+ * config/spu/spu.c (spu_init_cost): Add prologue and epilogue costs.
+ (spu_add_stmt_cost): Likewise; also handle NULL stmt_info.
+ (spu_finish_cost): Add prologue and epilogue costs.
+ * config/i386/i386.c (i386_init_cost): Add prologue and epilogue costs.
+ (i386_add_stmt_cost): Likewise; also handle NULL stmt_info.
+ (i386_finish_cost): Add prologue and epilogue costs.
+ * config/rs6000/rs6000.c (rs6000_init_cost): Add prologue and epilogue
+ costs.
+ (rs6000_add_stmt_cost): Likewise; also handle NULL stmt_info.
+ (rs6000_finish_cost): Add prologue and epilogue costs.
+ * tree-vect-slp.c (vect_free_slp_instance): Rename
+ SLP_INSTANCE_STMT_COST_VEC to SLP_INSTANCE_BODY_COST_VEC.
+ (vect_create_new_slp_node): Remove assignment to
+ SLP_TREE_OUTSIDE_OF_LOOP_COST.
+ (vect_get_and_check_slp_defs): Change parameter list; change argument
+ lists to calls to vect_model_store_cost and vect_model_simple_cost.
+ (vect_build_slp_tree): Change parameter list; change argument lists
+ to calls to vect_model_load_cost, vect_get_and_check_slp_defs, and
+ recursive self-calls; remove setting of outside_cost from
+ SLP_TREE_OUTSIDE_OF_LOOP_COST; add vect_body argument to call to
+ record_stmt_cost.
+ (vect_analyze_slp_instance): Rename stmt_cost_vec to body_cost_vec;
+ rename SLP_INSTANCE_STMT_COST_VEC to SLP_INSTANCE_BODY_COST_VEC;
+ remove assignment to SLP_INSTANCE_OUTSIDE_OF_LOOP_COST; record SLP
+ prologue costs.
+ (vect_bb_vectorization_profitable_p): Rename stmt_cost_vec to
+ body_cost_vec; handle null ci->stmt; add vect_body argument to call
+ to add_stmt_cost; simplify calls to targetm.vectorize.
+ builtin_vectorization_cost; return vec_prologue_cost and
+ vec_epilogue_cost from finish_cost.
+ (vect_update_slp_costs_according_to_vf): Rename stmt_cost_vec to
+ body_cost_vec; add vect_body argument to call to add_stmt_cost.
+
+2012-07-24 Richard Henderson <rth@redhat.com>
+
+ * system.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Poison.
+ * config/cris/cris.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
+ * config/h8300/h8300.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
+ * config/mn10300/mn10300.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
+ * config/rs6000/rs6000.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove
+ comment reference.
+ * config/v850/v850.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
+ * config/v850/v850.md (fixuns_truncsfsi2, fixuns_truncdfsi2): New.
+ (fix_truncsfsi2, fix_truncdfsi2): Avoid double FIX.
+ * config/vax/vax.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
+ * config/vax/vax.md (fixuns_trunc<VAXfp><VAXint>): New.
+ * doc/tm.texi.in (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
+ * doc/tm.texi: Rebuild.
+
+2012-07-24 Richard Henderson <rth@redhat.com>
+
+ * optabs.def: New file.
+ * Makefile.in (OPTABS_H): Add insn-opinit.h.
+ (MOSTLYCLEANFILES): Likewise.
+ (insn-opinit.o): Remove reload.h
+ (simple_rtl_generated_c): Remove insn-opinit.c.
+ (s-opinit): New rule.
+ (build/genopinit.o): Add optabs.def.
+ * genopinit.c (rtx_upname): New.
+ (optabs): Extract to optabs.def
+ (enum optab_tag, struct optab_def_d, optabs): New.
+ (struct pattern_d, patterns): New.
+ (match_pattern): Split out from ...
+ (gen_insn): ... here. Push matches on patterns vec.
+ (pattern_cmp, optab_kind_cmp, optab_rcode_cmp): New.
+ (header_file_name, source_file_name, handle_arg): New.
+ (open_outfile): New.
+ (main): Sort and emit new tables. Generate lookup_handler,
+ raw_optab_handler, swap_optab_enable.
+ * libfuncs.h (libfunc_entry): Change "size_t optab" to "optab op".
+ * optabs.c (code_to_optab_): Remove.
+ (hash_libfunc): Update for optab name change.
+ (eq_libfunc): Likewise.
+ (convert_optab_libfunc): Update computation of optab member;
+ use the new convlib_def table.
+ (optab_libfunc): Similarly.
+ (set_optab_libfunc, set_conv_libfunc): Likewise.
+ (sign_expand_binop): Use swap_optab_enable instead of fake optabs.
+ (init_insn_codes, init_optab, init_optabv, init_convert_optab): Remove.
+ (init_optabs): Don't call them; export the data to optabs.def.
+ (gen_int_libfunc, gen_fp_libfunc): Export non-static.
+ (gen_fixed_libfunc, gen_signed_fixed_libfunc): Likewise.
+ (gen_unsigned_fixed_libfunc, gen_int_fp_libfunc): Likewise.
+ (gen_intv_fp_libfunc, gen_int_fp_fixed_libfunc): Likewise.
+ (gen_int_fp_signed_fixed_libfunc, gen_int_fixed_libfunc): Likewise.
+ (gen_int_signed_fixed_libfunc): Likewise.
+ (gen_int_unsigned_fixed_libfunc): Likewise.
+ (gen_interclass_conv_libfunc, gen_int_to_fp_conv_libfunc): Likewise.
+ (gen_ufloat_conv_libfunc): Likewise.
+ (gen_int_to_fp_nondecimal_conv_libfunc): Likewise.
+ (gen_fp_to_int_conv_libfunc, gen_intraclass_conv_libfunc): Likewise.
+ (gen_trunc_conv_libfunc, gen_extend_conv_libfunc): Likewise.
+ (gen_fract_conv_libfunc, gen_fractuns_conv_libfunc): Likewise.
+ (gen_satfract_conv_libfunc, gen_satfractuns_conv_libfunc): Likewise.
+ (debug_optab_libfuncs): Update for optab representation change.
+ * optabs.h: Include insn-opinit.h.
+ (optab, convert_optab, direct_optab): New typedefs.
+ (struct optab_handlers, struct widening_optab_handlers): Remove.
+ (struct optab_libcall_d): Rename from optab_d; remove code_,
+ handlers, widening members.
+ (struct convert_optab_libcall_d): Rename from convert_optab_d;
+ remove code_ and handlers members.
+ (enum optab_index, enum convert_optab_index): Remove.
+ (enum direct_optab_index): Remove.
+ (code_to_optab_): Fix array range.
+ (optab_to_code): Covert to inline function.
+ (optab_to_code_, convlib_def, normlib_def): Declare.
+ (raw_optab_handler, swap_optab_enable): Declare.
+ (unknown_optab): Remove; export to optabs.def
+ (ssadd_optab, usadd_optab, sssub_optab, ussub_optab, ssmul_optab,
+ usmul_optab, ssdiv_optab, usdiv_optab, ssneg_optab, usneg_optab,
+ ssashl_optab, usashl_optab, add_optab, sub_optab, smul_optab,
+ addv_optab, subv_optab, smul_highpart_optab, umul_highpart_optab,
+ smul_widen_optab, umul_widen_optab, usmul_widen_optab,
+ smadd_widen_optab, umadd_widen_optab, ssmadd_widen_optab,
+ usmadd_widen_optab, smsub_widen_optab, umsub_widen_optab,
+ ssmsub_widen_optab, usmsub_widen_optab, sdiv_optab, smulv_optab,
+ sdivv_optab, sdivmod_optab, udiv_optab, udivmod_optab, smod_optab,
+ umod_optab, fmod_optab, remainder_optab, ftrunc_optab, and_optab,
+ ior_optab, xor_optab, ashl_optab, lshr_optab, ashr_optab, rotl_optab,
+ rotr_optab, vashl_optab, vlshr_optab, vashr_optab, vrotl_optab,
+ vrotr_optab, smin_optab, smax_optab, umin_optab, umax_optab, pow_optab,
+ atan2_optab, fma_optab, fms_optab, fnma_optab, fnms_optab, mov_optab,
+ movstrict_optab, movmisalign_optab, storent_optab, neg_optab,
+ negv_optab, abs_optab, absv_optab, one_cmpl_optab, bswap_optab,
+ ffs_optab, clz_optab, ctz_optab, clrsb_optab, popcount_optab,
+ parity_optab, sqrt_optab, sincos_optab, sin_optab, asin_optab,
+ cos_optab, acos_optab, exp_optab, exp10_optab, exp2_optab, expm1_optab,
+ ldexp_optab, scalb_optab, significand_optab, logb_optab, ilogb_optab,
+ log_optab, log10_optab, log2_optab, log1p_optab, floor_optab,
+ ceil_optab, btrunc_optab, round_optab, nearbyint_optab, rint_optab,
+ tan_optab, atan_optab, copysign_optab, signbit_optab, isinf_optab,
+ cmp_optab, ucmp_optab, eq_optab, ne_optab, gt_optab, ge_optab,
+ lt_optab, le_optab, unord_optab, strlen_optab, cbranch_optab,
+ cmov_optab, cstore_optab, ctrap_optab, push_optab, addcc_optab,
+ reduc_smax_optab, reduc_umax_optab, reduc_smin_optab, reduc_umin_optab,
+ reduc_splus_optab, reduc_uplus_optab, ssum_widen_optab,
+ usum_widen_optab, sdot_prod_optab, udot_prod_optab, vec_set_optab,
+ vec_extract_optab, vec_init_optab, vec_shl_optab, vec_shr_optab,
+ vec_realign_load_optab, vec_widen_umult_hi_optab,
+ vec_widen_umult_lo_optab, vec_widen_smult_hi_optab,
+ vec_widen_smult_lo_optab, vec_widen_umult_even_optab,
+ vec_widen_umult_odd_optab, vec_widen_smult_even_optab,
+ vec_widen_smult_odd_optab, vec_widen_ushiftl_hi_optab,
+ vec_widen_ushiftl_lo_optab, vec_widen_sshiftl_hi_optab,
+ vec_widen_sshiftl_lo_optab, vec_unpacks_hi_optab, vec_unpacks_lo_optab,
+ vec_unpacku_hi_optab, vec_unpacku_lo_optab, vec_unpacks_float_hi_optab,
+ vec_unpacks_float_lo_optab, vec_unpacku_float_hi_optab,
+ vec_unpacku_float_lo_optab, vec_pack_trunc_optab, vec_pack_ssat_optab,
+ vec_pack_usat_optab, vec_pack_sfix_trunc_optab,
+ vec_pack_ufix_trunc_optab, powi_optab, sync_compare_and_swap_optab,
+ sync_lock_test_and_set_optab, sync_old_add_optab, sync_old_sub_optab,
+ sync_old_ior_optab, sync_old_and_optab, sync_old_xor_optab,
+ sync_old_nand_optab, sync_new_add_optab, sync_new_sub_optab,
+ sync_new_ior_optab, sync_new_and_optab, sync_new_xor_optab,
+ sync_new_nand_optab, sext_optab, zext_optab, trunc_optab, sfix_optab,
+ ufix_optab, sfixtrunc_optab, ufixtrunc_optab, sfloat_optab,
+ ufloat_optab, lrint_optab, lround_optab, lfloor_optab, lceil_optab,
+ fract_optab, fractuns_optab, satfract_optab, satfractuns_optab,
+ vec_load_lanes_optab, vec_store_lanes_optab, vcond_optab, vcondu_optab,
+ movcc_optab, reload_in_optab, reload_out_optab, movmem_optab,
+ setmem_optab, cmpstr_optab, cmpstrn_optab, cmpmem_optab,
+ sync_lock_release_optab, sync_add_optab, sync_sub_optab,
+ sync_ior_optab, sync_and_optab, sync_xor_optab, sync_nand_optab,
+ atomic_exchange_optab, atomic_compare_and_swap_optab,
+ atomic_load_optab, atomic_store_optab, atomic_add_fetch_optab,
+ atomic_sub_fetch_optab, atomic_and_fetch_optab,
+ atomic_nand_fetch_optab, atomic_xor_fetch_optab, atomic_or_fetch_optab,
+ atomic_fetch_add_optab, atomic_fetch_sub_optab, atomic_fetch_and_optab,
+ atomic_fetch_nand_optab, atomic_fetch_xor_optab, atomic_fetch_or_optab,
+ atomic_add_optab, atomic_sub_optab, atomic_and_optab,
+ atomic_nand_optab, atomic_xor_optab, atomic_or_optab,
+ atomic_always_lock_free_optab, atomic_is_lock_free_optab,
+ atomic_thread_fence_optab, atomic_signal_fence_optab,
+ vec_perm_optab, vec_perm_const_optab): Likewise.
+ (struct target_optabs): Remove x_optab_table, x_convert_optab_table,
+ and x_direct_optab_table members; add pat_enable.
+ (optab_table, convert_optab_table, direct_optab_table): Remove.
+ (optab_handler): Use raw_optab_handler.
+ (widening_optab_handler, convert_optab_handler): Likewise.
+ (set_optab_handler, set_widening_optab_handler): Remove.
+ (set_convert_optab_handler, set_direct_optab_handler): Remove.
+ (direct_optab_handler): Defer to optab_handler.
+ * rtl.h (NON_GENERATOR_NUM_RTX_CODE): New.
+
+2012-07-24 Jason Merrill <jason@redhat.com>
+
+ * bitmap.c (bitmap_descriptor): Adjust order of parameters to
+ match MEM_STAT_DECL.
+ * statistics.h (ALONE_FINAL_MEM_STAT_DECL): Correct typo.
+
+2012-07-24 Richard Henderson <rth@redhat.com>
+
+ * optabs.h (struct optab_d): Rename code member to code_.
+ (struct convert_optab_h): Likewise.
+ (code_to_optab_): Rename from code_to_optab.
+ (code_to_optab, optab_to_code): New.
+ * dojump.c (do_compare_rtx_and_jump): Use code_to_optab.
+ * ifcvt.c (noce_emit_move_insn): Likewise.
+ * optabs.c (simplify_expand_binop): Use optab_to_code.
+ (expand_simple_binop, shift_optab_p, commutative_optab_p): Likewise.
+ (avoid_expensive_constant, expand_binop_directly): Likewise.
+ (expand_binop, expand_simple_unop, expand_unop_direct): Likewise.
+ (expand_unop, prepare_float_lib_cmp, expand_fixed_convert): Likewise.
+ (have_insn_for, debug_optab_libfuncs): Likewise.
+ (init_optab, init_optabv, init_convert_optab): Update for optab
+ member name change.
+
+ * libfuncs.h: Include optabs.h.
+ * dwarf2out.c, lto-streamer.in.c: Don't include libfuncs.h.
+ * Makefile.in (LIBFUNCS_H): Add OPTABS_H.
+ (lto-streamer-in.o, dwarf2out.o): Update deps.
+
+ * optabs.h (unknown_optab): New.
+ * builtins.c (interclass_mathfn_icode): Use it.
+ * dojump.c (do_compare_rtx_and_jump): Likewise.
+ * optabs.c (optab_for_tree_code, expand_binop): Likewise.
+ * tree-vect-generic.c (add_rshift, expand_vector_divmod): Likewise.
+ (expand_vector_operations_1): Likewise.
+ * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
+ * tree-vect-stmts.c (supportable_narrowing_operation): Likewise.
+
+2012-07-24 Steven Bosscher <steven@gcc.gnu.org>
+
+ * alloc-pool.c (create_alloc_pool): Fix ENABLE_CHECKING check.
+
+2012-07-24 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/54051
+ * config/arm/arm.c (arm_print_operand_address): Remove superfluous
+ printing of 0.
+ * config/arm/neon.md ("neon_vld3_lane<mode>":VD): Remove alignment
+ specifier.
+ ("neon_vld3_lane<mode>":VMQ): Likewise.
+ ("neon_vld3_dup<mode>":VDX): Likewise.
+ ("neon_vst3_lane<mode>":VD): Likewise.
+ ("neon_vst3_lane<mode>":VMQ): Likewise.
+
+2012-07-24 Roland McGrath <mcgrathr@google.com>
+
+ * arm.c (arm_get_frame_offsets): Don't use fixed regs for
+ stack alignment padding.
+
+2012-07-24 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53961
+ * config/i386/i386.c (ix86_legitimate_address_p): Move check for
+ negative constant address for TARGET_X32 ...
+ (ix86_decompose_address): ... here. Reject constant addresses
+ that don't satisfy x86_64_immediate_operand predicate.
+
+2012-07-24 Julian Brown <julian@codesourcery.com>
+
+ * doc/sourcebuild.texi (arm_hf_eabi): Document effective-target check.
+
+2012-07-24 Steven Bosscher <steven@gcc.gnu.org>
+
+ * sbitmap.h (SBITMAP_ELT_BITS): Use "1u" trick as for BITMAP_WORD_BITS.
+ Move test to check that there is a popcount function for the the number
+ of bits in SBITMAP_ELT_BITS to sbitmap.c.
+ * sbitmap.c: Test SBITMAP_ELT_BITS, not HOST_BITS_PER_WIDEST_FAST_INT.
+ MEM_STAT_INFO): Define in terms of their ALONE counterparts.
+
+ * configure.ac (GATHER_STATISTICS): Always define, non-zero if enabled.
+ * configure: Regenerate.
+ * statistics.h (GATHER_STATISTICS): Error out if it is not defined.
+ (GCC_MEM_STAT_ARGUMENTS): New define.
+ (ALONE_MEM_STAT_DECL): Define in terms of GCC_MEM_STAT_ARGUMENTS.
+ (ALONE_FINAL_MEM_STAT_DECL, ALONE_FINAL_PASS_MEM_STAT): New defines.
+ (MEM_STAT_DECL, FINAL_MEM_STAT_DECL, PASS_MEM_STAT,
+ FINAL_PASS_MEM_STAT): Define.
+ * ggc-internal.h (ggc_record_overhead): Use FINAL_MEM_STAT_DECL.
+ * ggc.h (ggc_record_overhead, ggc_free_overhead,
+ ggc_prune_overhead_list): Remove internal prototypes, they are defined
+ already in ggc-internal.h.
+ * ggc-common.c (struct loc_descriptor): Remove #ifdef GATHER_STATISTICS
+ wrappers.
+ (add_statistics): Likewise.
+ (dump_ggc_loc_statistics): Likewise. Return if GATHER_STATISTICS is 0.
+ * ggc-zone.c (struct page_entry): Remove #ifdef GATHER_STATISTICS
+ wrappers around "survived" and "stats" members.
+ (alloc_large_page): Always initialize survived.
+ (ggc_internal_alloc_zone_stat): Likewise.
+ Remove #ifdef GATHER_STATISTICS wrappers. Record overhead if
+ GATHER_STATISTICS is non-0.
+ (ggc_free): Convert #ifdef GATHER_STATISTICS to if-code.
+ (sweep_pages): Always increase survived.
+ (ggc_collect_1): Convert #ifdef GATHER_STATISTICS to if-code.
+ (calculate_average_page_survival): Always define.
+ (ggc_collect): Convert #ifdef GATHER_STATISTICS to if-code.
+ (ggc_print_statistics): Likewise.
+ (ggc_pch_read): Likewise.
+ * ggc-page.c (struct globals): Always define "stats" member.
+ (ggc_internal_alloc_stat): Convert #ifdef GATHER_STATISTICS to if-code.
+ (ggc_free): Likewise.
+ (ggc_collec): Likewise.
+ (ggc_print_statistics): Likewise.
+ * bitmap.h (struct bitmap_head_def): Always define "desc" member.
+ (bitmap_initialize_stat): Convert #ifdef GATHER_STATISTICS to if-code.
+ * gimple.h (enum gimple_alloc_kind): Always define.
+ (gimple_alloc_kind): Likewise.
+ * tree-flow.h (phinodes_print_statistics): Always define.
+ (ssanames_print_statistics): Likewise.
+ * vec.h (vec_heap_free): Always define.
+ (VEC_stack_alloc): Define if GATHER_STATISTICS is non-0.
+ * alloc-pool.c (alloc_pool_descriptor): Always define.
+ (create_alloc_pool): Convert #ifdef GATHER_STATISTICS to if-code.
+ (empty_alloc_pool): Likewise.
+ (pool_alloc): Likewise.
+ (pool_free): Likewise.
+ (dump_alloc_pool_statistics): Likewise.
+ (print_statistics): Always define.
+ * bitmap.c (struct bitmap_descriptor): Always define.
+ (bitmap_register): Pass ALONE_FINAL_PASS_MEM_STAT.
+ (register_overhead): Always define.
+ (bitmap_element_free): Convert #ifdef GATHER_STATISTICS to if-code.
+ (bitmap_element_allocate): Likewise.
+ (bitmap_elt_clear_from): Likewise.
+ (bitmap_obstack_alloc_stat): Likewise.
+ (bitmap_gc_alloc_stat): Likewise.
+ (bitmap_obstack_free): Likewise.
+ (bitmap_find_bit): Likewise.
+ (bitmap_ior_and_into): Likewise.
+ (bitmap_print): Likewise.
+ (dump_bitmap_statistics): Likewise. Return if GATHER_STATISTICS is 0.
+ * gimple.c (gimple_alloc_counts, gimple_alloc_sizes): Always define.
+ (gimple_alloc_kind_names): Likewise.
+ (gimple_alloc_stat): Convert #ifdef GATHER_STATISTICS to if-code.
+ (dump_gimple_statistics): Likewise. Return if GATHER_STATISTICS is 0.
+ * rtl.c (rtx_alloc_counts, rtx_alloc_sizes, rtvec_alloc_counts,
+ rtvec_alloc_sizes): Always define.
+ (rvec_alloc): Convert #ifdef GATHER_STATISTICS to if-code.
+ (rtx_alloc_stat): Likewise.
+ (dump_rtx_statistics): Likewise. Return if GATHER_STATISTICS is 0.
+ * tree.c (_obstack_allocated_p, tree_code_counts, tree_node_counts,
+ tree_node_sizes, tree_node_kind_names): Always define.
+ (record_node_allocation_statistics): Convert #ifdef GATHER_STATISTICS
+ to if-code.
+ (type_hash_canon): Likewise.
+ (dump_tree_statistics): Likewise.
+ * tree-ssanames.c (ssa_name_nodes_reused, ssa_name_nodes_created):
+ Always define.
+ (ssanames_print_statistics): Likewise.
+ (make_ssa_name_fn): Convert #ifdef GATHER_STATISTICS to if-code.
+ * tree-phinodes.c (phi_nodes_reused, phi_nodes_created): Always define.
+ (phinodes_print_statistics): Likewise.
+ (allocate_phi_node): Convert #ifdef GATHER_STATISTICS to if-code.
+ * vec.c (struct vec_descriptor): Always define.
+ (hash_descriptor, eq_descriptor, ptr_hash_entry, hash_ptr, eq_ptr,
+ vec_descriptor, rester_overhead, free_overhead): Likewise.
+ (cmp_statistic): Likewise.
+ (vec_heap_free): Convert #ifdef GATHER_STATISTICS to if-code.
+ (vec_heap_o_reserve_1): Likewise.
+ (dump_vec_loc_statistics): Likewise.
+
+2012-07-24 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53616
+ * tree-loop-distribution.c (ldist_gen): Do not change
+ partition ordering when merging partitions.
+
+2012-07-24 Alan Modra <amodra@gmail.com>
+
+ PR target/53914
+ PR target/54009
+ * config/rs6000/constraints.md (Y): Use mem_operand_gpr.
+ * config/rs6000/predicates.md (word_offset_memref_operand): Delete.
+ Adjust all rs6000_legitimate_offset_address_p calls.
+ * config/rs6000/rs6000-protos.h (mem_operand_gpr): Declare.
+ (rs6000_secondary_reload_gpr): Declare.
+ (rs6000_legitimate_offset_address_p): Update prototype.
+ (rs6000_offsettable_memref_p): Delete.
+ (rs6000_secondary_reload_ppc64): Delete.
+ * config/rs6000/rs6000.c (address_offset): New function.
+ (mem_operand_gpr): Likewise.
+ (rs6000_legitimate_offset_address_p): Add worst_case param. When
+ not worst_case assume class of regs with least restrictive offsets.
+ Adjust all calls.
+ (legitimate_lo_sum_address_p): Simplify register mode tests.
+ (rs6000_legitimize_address): Likewise. Assume best case offset
+ addressing. Combine ELF and MACHO lo_sum code.
+ (rs6000_mode_dependent_address): Correct offset addressing limits.
+ (rs6000_offsettable_memref_p): Make static, add reg_mode param.
+ Use reg_mode to help rs6000_legitimate_offset_address_p.
+ (rs6000_secondary_reload): Use address_offset. Handle 32-bit multi
+ gpr load/store when offset too large.
+ (rs6000_secondary_reload_gpr): Renamed rs6000_secondary_reload_ppc64.
+ (rs6000_split_multireg_move): Adjust rs6000_offsettable_memref_p calls.
+ * config/rs6000/rs6000.md (movdf_hardfloat32): Use 'Y' constraint
+ for gpr load/store. Order alternatives as r->Y,Y->r,r->r and
+ d->m,m->d,d->d. Correct size of gpr load/store.
+ (movdf_softfloat32): Use 'Y' constraint for gpr load/store. Order
+ alternatives.
+ (movti_ppc64): Likewise.
+ (movdi_internal32): Likewise. Also disparage fprs.
+ (movdi_mfpgpr, movdi_internal64): Likewise.
+ (movtf_internal): Use 'm' for fpr load/store. Order alternatives.
+ (movtf_softfloat): Order alternatives.
+ (extenddftf2_internal): Use 'm' and 'Y' for store.
+ (movti_power, movti_string): Use 'Y' for gpr load/store. Order.
+ (stack_protect_setdi, stack_protect_testdi): Likewise.
+ (movdf_hardfloat64_mfpgpr, movdf_hardfloat64): Order alternatives.
+ (movdf_softfloat64): Likewise.
+ (reload_<mode>_store): Adjust reload_di_store to provide
+ reload_si_store as well.
+ (reload_<mode>_load): Likewise.
+
+2012-07-23 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/predicates.md (general_movsrc_operand,
+ general_movdst_operand): Reject T_REG.
+ * config/sh/sh.md (*extendqisi2_compact_reg, *extendhisi2_compact_reg,
+ movsi_i, movsi_ie, movsi_i_lowpart, *movqi_reg_reg, *movhi_reg_reg):
+ Remove T_REG alternatives.
+ (*negtstsi): New insn.
+
+2012-07-23 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53511
+ * config/sh/sh.md (mulsf3_ie): Delete.
+ (mulsf3_i4): Rename to mulsf3_i.
+ (mulsf3): Emit mulsf3_i insn.
+
+2012-07-23 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md (addc1, subc1): Delete.
+ (adddi3_compact): Use addc instead of addc1.
+ (subdi3_compact): Use subc instead of subc1.
+
+2012-07-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype.
+ * config/i386/i386.c (ix86_lea_outperforms): Make static. Make
+ split_cost argument signed.
+ (ix86_avoid_lea_for_add): Cleanup.
+ (ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1.
+ (ix86_avoid_lea_for_addr): Ditto. Make split_cost signed.
+ Use gen_lowpart instead of gen_rtx_SUBREG. Cleanup.
+
+2012-07-23 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * config/arm/arm.c (arm_reorg): Ensure all insns are split.
+
+2012-07-23 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53961
+ * config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
+ * config/i386/i386.c (ix86_print_operand_address): Ditto.
+ (ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...)))
+ addresses. Prevent zero extensions of CONST_INT operands.
+
+2012-07-23 Steven Bosscher <steven@gcc.gnu.org>
+
+ * sbitmap.h (struct int_list): Remove.
+ (sbitmap_intersect_of_predsucc, sbitmap_union_of_predsucc):
+ Remove prototypes of non-existing function.
+ (sbitmap_intersect_of_predecessors, sbitmap_intersect_of_successors,
+ sbitmap_union_of_predecessors, sbitmap_union_of_successors): Remove
+ unused defines.
+ (sbitmap_intersection_of_succs, sbitmap_intersection_of_preds,
+ sbitmap_union_of_succs, sbitmap_union_of_preds): Move prototypes to...
+ * basic-block.h: ... here.
+ * sbitmap.c: Do not include basic-block.h.
+ (sbitmap_intersection_of_succs, sbitmap_intersection_of_preds,
+ sbitmap_union_of_succs, sbitmap_union_of_preds): Move functions to...
+ * cfganal.c: ... here.
+ * bt-load.c (compute_out, link_btr_uses): Update for above changes.
+ * gcse.c (compute_code_hoist_vbeinout): Likewise.
+ * lcm.c (compute_antinout_edge, compute_available): Likewise.
+ * Makefile.in: Fix sbitmap.o dependencies.
+
+2012-07-23 Jan-Benedict Glaw <jbglaw@lug-owl.de>
+ Nick Clifton <nickc@redhat.com>
+
+ * config/frv/frv-protos.h (frv_ifcvt_machdep_init): Prototype.
+ * config/frv/frv.c (frv_ifcvt_machdep_init): Change type of
+ (unused) parameter to void *.
+
+2012-07-23 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-alias.c (dump_alias_info): Walk over local decls
+ instead of referenced vars.
+
+2012-07-23 Steven Bosscher <steven@gcc.gnu.org>
+
+ * coverage.c: Refer to "notes file" instead of "graph file"
+ in all comments. Explain history of bbg prefix.
+ * gcov-io.h: Likewise.
+ * gcov.c: Likewise.
+ (find_source): Likewise in fnotice.
+ (read_graph_file): Likewise.
+ (read_count_file): Likewise.
+ * doc/gcov.texi: Document -fprofile-dir flag. Add "notes file"
+ and "data file" explicitly in the explanation of the files.
+
+2012-07-22 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR tree-optimization/53881
+ * tree-cfg.c (group_case_labels_stmt): Look up the basic block
+ for each label and compare them instead of labels.
+
+2012-07-22 Steven Bosscher <steven@gcc.gnu.org>
+
+ * opts.c (common_handle_option): Do not set
+ flag_value_profile_transformations for -fprofile-generate.
+ * profile.c (instrument_values): Use COUNTER_FOR_HIST_TYPE.
+ (BB_TO_GCOV_INDEX): Remove.
+ (output_location): Don't use it.
+ (branch_prob): Likewise. Don't fiddle with the index of
+ ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR. Use clear_aux_for_blocks.
+ (find_spanning_tree):
+ * gcov.c (struct function_info): Document that blocks 0 and 1
+ are the entry resp. exit blocks in gcov, too, like in GCC itself.
+ (solve_flow_graph): Use ENTRY_BLOCK and EXIT_BLOCK for special
+ blocks identification.
+ (output_lines): Likewise.
+ * value-prof.c (gimple_value_profile_transformations): Do not
+ test flag_value_profile_transformations again.
+ (gimple_ic_transform): Take a gimple_stmt_iterator like all other
+ transformation functions.
+ (gimple_values_to_profile):
+ Don't test flag_value_profile_transformations
+ * tree-profile.c (tree_profiling): Assert that the cgraph is in
+ the CGRAPH_STATE_IPA_SSA state.
+ Do not set, or look at, after_tree_profile.
+ * function.h (struct function): Remove after_tree_profile bit.
+ * omp-low.c (expand_omp_taskreg): Don't set after_tree_profile.
+ * tree-inline.c (initialize_cfun): Don't copy it.
+ * lto-streamer-out.c (output_struct_function_base): Don't stream it.
+ * lto-streamer-in.c (input_struct_function_base): Likewise.
+
+2012-07-22 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.h (TARGET_DYNSHIFT): New macro.
+ (SH_DYNAMIC_SHIFT_COST): Use it.
+ * config/sh/sh.c (expand_ashiftrt, shl_sext_kind): Likewise.
+ (sh_dynamicalize_shift_p): Add TARGET_DYNSHIFT condition.
+ Add sanity check for input value. Add function description.
+ * config/sh/sh.md (ashlsi3, ashlsi3_std, ashrsi3_d, lshrsi3,
+ lshrsi3_d): Use TARGET_DYNSHIFT.
+
+2012-07-22 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md (negc): Delete expander.
+ (*negc): Rename insn to negc.
+
+2012-07-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53961
+ * config/i386/i386.md (*lea): New insn pattern.
+ (*lea_1): Remove.
+ (*lea<mode>_2): Ditto.
+ (*lea_{3,4,5,6}_zext): Ditto.
+ * config/i386/predicates.md (lea_address_operand): Do not reject
+ zero-extended address operands.
+ * config/i386/constraints.md (j): Remove address constraint.
+ * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
+ of an address.
+ (ix86_print_operand_address): Handle SImode subreg of an address.
+ (ix86_avoid_lea_for_addr): Reject zero-extended addresses for now.
+
+2012-07-22 Hans-Peter Nilsson <hp@axis.com>
+
+ Emit executable-stack note correctly for CRIS targets.
+ * config/cris/cris.c (cris_file_end): New function.
+ (TARGET_ASM_FILE_END): Define.
+
+2012-07-22 Chung-Lin Tang <cltang@codesourcery.com>
+ Maxim Kuvyrkov <maxim@codesourcery.com>
+ NetLogic Microsystems Inc.
+
+ * config/mips/mips.c (mips_issue_rate): Handle XLP.
+ * config/mips/mips.md: Include xlp.md.
+ * config/mips/xlp.md: New file.
+
+2012-07-21 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR gcov-profile/32543
+ * profile.c (branch_prob): Update total_num_edges_instrumented and
+ report the number of edges to instrument.
+
+2012-07-21 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md: Correct comment regarding clrt and sett insns.
+
+2012-07-21 Andrew Pinski <apinski@cavium.com>
+
+ * config/mips/mips.md (*popcountdi2_trunc): New pattern
+ to handle popcount of a truncation.
+
+2012-07-21 Andrew Pinski <apinski@cavium.com>
+
+ * config/mips/mips-protos.h (mips_expand_ext_as_unaligned_load):
+ Add a bool argument.
+ * config/mips/mips.c (mips_block_move_straight): Update call to
+ mips_expand_ext_as_unaligned_load.
+ (mips_expand_ext_as_unaligned_load): Add unsigned_p argument.
+ Accept DImode dest when the width is that of SImode.
+ * config/mips/mips.md (extv): Update call to
+ mips_expand_ext_as_unaligned_load.
+ (extzv): Likewise.
+
+2012-07-21 Andrew Pinski <apinski@cavium.com>
+
+ * config/mips/mips.c (mips_get_unaligned_mem): Copy *op after calling
+ adjust_address.
+
+2012-07-20 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/mips/mips.md (define_attr sync_*): Move before "type".
+ (define_attr "type"): New values "atomic" and "syncloop".
+ * config/mips/sync.md (atomic_exchange<mode>, atomic_fetch_add<mode>):
+ Set "type" attribute.
+ * config/mips/generic.md (generic_atomic, generic_syncloop):
+ New reservations.
+ * config/mips/10000.md, config/mips/20kc.md,
+ * config/mips/24k.md, config/mips/4130.md,
+ * config/mips/4k.md, config/mips/5400.md,
+ * config/mips/5500.md, config/mips/5k.md,
+ * config/mips/7000.md, config/mips/74k.md,
+ * config/mips/9000.md, config/mips/loongson2ef.md,
+ * config/mips/loongson3a.md, config/mips/octeon.md,
+ * config/mips/sb1.md, config/mips/sr71k.md,
+ * config/mips/xlr.md: Handle "atomic" and "syncloop" types.
+
+2012-07-20 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md: Group and sort shift related patterns.
+ (ashlsi3_n, *ashlhi3_n, lshrsi3_n): Remove length attributes.
+
+2012-07-20 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.c (cris_asm_output_ident): Remove unused
+ local variables section_asm_op, size, buf.
+
+2012-07-20 Pat Haugen <pthaugen@us.ibm.com>
+ Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/rs6000/power4.md (power4-store-update): Fix reservation.
+ (power4-three): Likewise.
+
+2012-07-20 Sameera Deshpande <sameera.deshpande@arm.com>
+ Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * config/arm/arm.c (arm_cortex_a15_tune): New tune.
+ * config/arm/arm-cores.def (cortex-a15): Use it.
+
+2012-07-20 Sameera Deshpande <sameera.deshpande@arm.com>
+ Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * config/arm/arm-protos.h (tune_params): Add prefer_ldrd_strd.
+ * config/arm/arm.c (arm_slowmul_tune): Initialize it.
+ (arm_fastmul_tune, arm_strongarm_tune): Likewise.
+ (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune): Likewise.
+ (arm_cortex_tune, arm_cortex_a5_tune, arm_cortex_a9_tune): Likewise.
+ (arm_fa726te_tune): Likewise.
+
+2012-07-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-dfa.c (collect_dfa_stats): Simplify.
+ * tree-ssa-structalias.c (compute_may_aliases): Do not dump
+ referenced vars.
+ * cfgexpand.c (estimated_stack_frame_size): Walk over local
+ decls instead of referenced vars.
+ * tree-ssa.c (delete_tree_ssa): Simplify.
+ * tree-tailcall.c (find_tail_calls): Walk over local decls
+ instead of referenced vars.
+ (add_virtual_phis): Remove.
+ (tree_optimize_tail_calls_1): Instead mark the virtual operand
+ for renaming.
+
+2012-07-20 Steven Bosscher <steven@gcc.gnu.org>
+
+ * basic-block.h (BB_FLAGS_TO_PRESERVE): New define.
+ (brief_dump_cfg): Update prototype to take flags argument.
+ (check_bb_profile): Remove prototype.
+ * tracer.c (tracer): Update brief_dump_cfg calls.
+ * cfghooks.c (dump_bb): Do not pass TDF_COMMENT to dump_bb_info.
+ Call dump_bb_info before and after the cfghook dump_bb. Terminate
+ the dump with a newline.
+ (dump_flow_info): Do not call check_bb_profile.
+ * cfg.c (clear_bb_flags): Update using BB_FLAGS_TO_PRESERVE.
+ (check_bb_profile): Make static. Take indent and flags arguments.
+ (dump_bb_info): Always dump loop depth. With TDF_DETAILS, call
+ check_bb_profile. Print one edge per line.
+ (brief_dump_cfg): Take a flags argument, and filter out
+ TDF_COMMENT and TDF_DETAILS.
+ * pretty-print.c (pp_base_newline): Set pp_needs_newline to false.
+ * gimple-pretty-print.c (dump_gimple_bb_header): Do not use
+ dump_bb_info here, it is already called from dump_bb. Idem for
+ check_bb_profile.
+ (dump_gimple_bb_footer): Likewise.
+ (gimple_dump_bb_buff): Call pp_flush after dump_gimple_stmt to
+ avoid broken dumps for statement histograms.
+ (gimple_dump_bb): Handle ENTRY_BLOCK and EXIT_BLOCK. Do
+ not call pp_flush here, the buffer should be empty.
+ * sched-rgn.c (debug_region): Pass TDF_BLOCKS to dump_bb.
+ * sched-vis.c (debug_bb_slim): Likewise.
+ * tree-cfg.c (remove_bb): Pass dump_flags to dump_bb.
+ (gimple_debug_bb): Pass TDF_BLOCKS to dump_bb.
+ (gimple_dump_cfg): Do brief_dump_cfg with TDF_COMMENT.
+ (dump_function_to_file): Do not call check_bb_profile on
+ ENTRY_BLOCK and EXIT_BLOCK, check_bb_profile doesn't handle them.
+ Use dump_bb instead of gimple_dump_bb.
+ (print_loops_bb): Use dump_bb instead of gimple_dump_bb.
+ * passes.c (execute_function_dump): Always call print_rtl_with_bb
+ for RTL dumps.
+ * cfgrtl.c (print_rtl_with_bb): Handle printing without an up-to-date
+ CFG. With TDF_BLOCKS and TDF_DETAILS, do DF dumps at the top and
+ bottom of each basic block.
+
+2012-07-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54031
+ * tree-ssa-ccp.c (get_value_from_alignment): Use
+ get_pointer_alignment_1.
+
+2012-07-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-inline.c (add_local_variables): Remove check_var_ann
+ parameter and dead code.
+ (expand_call_inline): Adjust.
+ (tree_function_versioning): Likewise.
+
+2012-07-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/28656
+ * tree-vrp.c (nonnull_arg_p): Handle all nonnull attributes instead
+ of just the first one.
+
+2012-07-20 Richard Guenther <rguenther@suse.de>
+
+ * builtins.c (get_object_alignment_2): Correct offset handling
+ when using type alignment of a MEM_REF kind base.
+
+2012-07-20 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/53877
+ * config/i386/lzcntintrin.h (_lzcnt_u32): New.
+ (_lzcnt_u64): Ditto.
+
+2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
+
+2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
+ defining statement is a SSA name that occurs in abnormal PHIs.
+
+2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple-fold.c (canonicalize_constructor_val): Strip only useless type
+ conversions.
+
+2012-07-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/53942
+ * function.c (assign_parm_setup_reg): Avoid zero/sign extension
+ directly from likely spilled non-fixed hard registers, move them
+ to pseudo first.
+
+2012-07-19 Steve Ellcey <sellcey@mips.com>
+
+ * config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in
+ MIPS16 mode.
+
+2012-07-19 Jason Merrill <jason@redhat.com>
+
+ PR debug/53235
+ * dwarf2out.c (get_die_parent): New.
+ (generate_type_signature): Use it.
+
+2012-07-19 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/vect.md (smulv4hi3_highpart): New.
+ (umulv4hi3_highpart): New.
+ (vec_widen_smult_even_v4hi): Rename from pmpy2_even.
+ (vec_widen_smult_odd_v4hi): Rename from pmpy2_odd.
+ (udot_prodv8qi, sdot_prodv8qi): Remove.
+ (sdot_prodv4hi, udot_prodv4hi): Remove.
+ * config/ia64/ia64.c (ia64_expand_dot_prod_v8qi): Remove.
+ * config/ia64/ia64-protos.h: Update.
+
+ * tree-vect-patterns.c (vect_recog_divmod_pattern): Do not require
+ vectors larger than UNITS_PER_WORD.
+
+ * expr.c (store_constructor): Initialize icode with CODE_FOR_nothing.
+ * tree-vect-stmts.c (vectorizable_operation): Use LAST_INSN_CODE for
+ dummy != CODE_FOR_nothing value.
+
+2012-07-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * doc/tm.texi.in (MODE_AFTER): Add entity as the first macro argument.
+ * doc/tm.texi: Regenerate.
+ * mode-switching.c (optimize_mode_switching): Update MODE_AFTER call.
+ * config/sh/sh.h (MODE_AFTER): Update.
+ * config/epiphany/epiphany.h (MODE_AFTER): Update.
+
+2012-07-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/54017
+ * tree-cfgcleanup.c (cleanup_omp_return): Remove.
+ (cleanup_tree_cfg_bb): Don't call it.
+ * omp-low.c (expand_omp_sections): Fix up the !exit_reachable case
+ handling.
+
+2012-07-19 Christian Bruel <christian.bruel@st.com>
+
+ PR target/54029
+ * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
+
+2012-07-19 Richard Guenther <rguenther@suse.de>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
+ about transition from invariant to known bits.
+ (likely_value): Addresses with UNDEFINED components are UNDEFINED.
+
+2012-07-19 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53970
+ * tree-vect-data-refs.c (not_size_aligned): Avoid sign-compare warning.
+
+2012-07-19 Tristan Gingold <gingold@adacore.com>
+ Richard Henderson <rth@redhat.com>
+
+ * opts.c (finish_options): Handle UI_SEH.
+ * expr.c (build_personality_function): Handle UI_SEH.
+ * dwarf2out.c (dwarf2out_begin_prologue): Handle UI_SEH.
+ * coretypes.h (unwind_info_type): Add UI_SEH.
+ * config/i386/winnt.c (i386_pe_seh_emit_except_personality):
+ New function.
+ (i386_pe_seh_init_sections): Likewise.
+ * config/i386/cygming.h (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): Define.
+ (TARGET_ASM_INIT_SECTIONS): Define.
+ * common/config/i386/i386-common.c (TARGET_EXCEPT_UNWIND_INFO): Define.
+ (i386_except_unwind_info): New function.
+
+2012-07-18 Maciej W. Rozycki <macro@codesourcery.com>
+ Chao-ying Fu <fu@mips.com>
+
+ * config/mips/mips.opt (mmcu): New option.
+ * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define
+ _mips_mcu when TARGET_MCU.
+ (ASM_SPEC): Pass mcu options to the assembler.
+ * doc/invoke.texi (MIPS Options): Document -mmcu and -mno-mcu.
+
+2012-07-18 Ralf Corsépius <ralf.corsepius@rtems.org>
+
+ * config.gcc (v850-*-rtems*): New target.
+ * config/v850/rtems.h: New.
+ * config/v850/t-rtems: New.
+
+2012-07-18 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * doc/invoke.texi: Add -fhoist-adjacent-loads and -ftree-slsr to list
+ of flags controlling optimization; add -ftree-slsr to list of flags
+ enabled by default at -O; add -fhoist-adjacent-loads to list of flags
+ enabled by default at -O2; add -fvect-cost-model to list of flags
+ enabled by default at -O3; document -fhoist-adjacent-loads and
+ -ftree-slsr.
+ * opts.c (default_option): Make -ftree-slsr default at -O1 and above.
+ * gimple-ssa-strength-reduction.c (gate_strength_reduction): Use
+ flag_tree_slsr.
+ * common.opt: Add -ftree-slsr with flag_tree_slsr.
+
+2012-07-18 Jie Zhang <jzhang918@gmail.com>
+ Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm.c (arm_rtx_costs_1): Adjust cost for CONST_VECTOR.
+ (arm_size_rtx_costs): Likewise.
+ (neon_valid_immediate): Add a case for double 0.0.
+
+2012-07-18 Andrew Stubbs <ams@codesourcery.com>
+ Mark Shinwell <shinwell@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+
+ * config/arm/vfp.md (*arm_movsi_vfp, *thumb2_movsi_vfp)
+ (*movdi_vfp_cortexa8, *movsf_vfp, *thumb2_movsf_vfp)
+ (*movdf_vfp, *thumb2_movdf_vfp, *movsfcc_vfp)
+ (*thumb2_movsfcc_vfp, *movdfcc_vfp, *thumb2_movdfcc_vfp): Add
+ neon_type.
+ * config/arm/arm.md (neon_type): Update comment.
+
+2012-07-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53970
+ * tree.h (contains_packed_reference): Remove.
+ * expr.c (contains_packed_reference): Likewise.
+ * tree-vect-data-refs.c (not_size_aligned): New function.
+ (vector_alignment_reachable_p): Use it.
+ (vect_supportable_dr_alignment): Likewise.
+
+2012-07-18 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (get_object_or_type_alignment): Remove.
+ * builtins.c (get_object_alignment_2): New function copied from
+ get_object_alignment_1. Take extra argument to indicate whether
+ we take the address of EXP. Rework to use type alignment information
+ if not, and return whether the result is an approximation or not.
+ (get_object_alignment_1): Wrap around get_object_alignment_2.
+ (get_pointer_alignment_1): Call get_object_alignment_2 indicating
+ we take the address.
+ (get_object_or_type_alignment): Remove.
+ * expr.c (expand_assignment): Call get_object_alignment.
+ (expand_expr_real_1): Likewise.
+
+2012-07-18 Nick Clifton <nickc@redhat.com>
+
+ * doc/invoke.texi (ARM Options): Document -munaligned-access.
+
+2012-07-18 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md (mulsidi3, umulsidi3): Remove constraints in
+ expander. Use arith_reg_dest predicate.
+ (rotldi3, rotrdi3): Remove constraints in expander.
+ (adddi3_compact, subdi3_compact, mulsidi3_compact, umulsidi3_compact,
+ ashlsi3_n, *ashlhi3_n, ashrsi2_16, ashrsi2_31, lshrsi3_n): Convert to
+ insn_and_split.
+
+2012-07-18 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/33135
+ * config/sh/sh.opt (mieee): Use Var instead of Mask. Correct
+ description.
+ * config/sh/sh.c (sh_option_override): Do not change
+ flag_finite_math_only. Set TARGET_IEEE to complement of
+ flag_finite_math_only.
+ * doc/invoke.texi (SH options): Add mno-ieee. Correct description
+ of mieee and mno-ieee behavior.
+
+2012-07-18 Steven Bosscher <steven@gcc.gnu.org>
+
+ * graphite-poly.c (print_pbb_body): Fixup dump_bb call.
+
+2012-07-18 Steven Bosscher <steven@gcc.gnu.org>
+
+ * dumpfile.h (TDF_COMMENT): New define.
+ * basic-block.h (EDGE_FALLTHRU, EDGE_ABNORMAL, EDGE_ABNORMAL_CALL,
+ EDGE_EH, EDGE_FAKE, EDGE_DFS_BACK, EDGE_CAN_FALLTHRU,
+ EDGE_IRREDUCIBLE_LOOP, EDGE_SIBCALL, EDGE_LOOP_EXIT, EDGE_TRUE_VALUE,
+ EDGE_FALSE_VALUE, EDGE_EXECUTABLE, EDGE_CROSSING, EDGE_PRESERVE):
+ Move to new file cfg-flags.h.
+ (enum cfg_edge_flags): New enum, using cfg-flags.h.
+ (EDGE_ALL_FLAGS): Compute value automatically.
+ (BB_NEW, BB_REACHABLE, BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK,
+ BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION,
+ BB_DUPLICATED, BB_NON_LOCAL_GOTO_TARGET, BB_RTL,
+ BB_FORWARDER_BLOCK, BB_NONTHREADABLE_BLOCK, BB_MODIFIED, BB_VISITED,
+ BB_IN_TRANSACTION): Move to new file cfg-flags.h.
+ (enum bb_flags): Rename to cfg_bb_flags. Use cfg-flags.h.
+ (BB_ALL_FLAGS): New, compute value automatically.
+ (dump_bb_info): Update prototype.
+ (dump_edge_info): Update prototype.
+ * cfg-flags.h: New file.
+ * cfg.c (dump_edge_info): Take flags argument. Be verbose only if
+ TDF_DETAILS and not TDF_SLIM. Include cfg-flags.h for bitnames.
+ Check that the edge flags are within the range of EDGE_ALL_FLAGS.
+ (debug_bb): Update dump_bb call.
+ (dump_cfg_bb_info): Remove.
+ (dump_bb_info): New function. Use cfg-flags.h for bitnames.
+ Adjust verbosity using TDF_* flags. Check that the basic block flags
+ are within the range of BB_ALL_FLAGS.
+ (brief_dump_cfg): Use dump_bb_info instead of dump_cfg_bb_info.
+ * cfghooks.h (struct cfghooks): Update dump_bb hook, take a FILE
+ first for consistency with other dump functions.
+ (dump_bb): Update prototype accordingly.
+ * cfghooks.c: Include dumpfile.h.
+ (verify_flow_info): Update dump_edge_info calls.
+ (dump_bb): Take a flags argument and pass it around.
+ Use dump_bb_info to dump common information about a basic block.
+ (dump_flow_info): Moved here from cfgrtl.c. Make IL agnostic.
+ (debug_flow_info): Moved here from cfgrtl.c.
+ * profile.c (is_edge_inconsistent): Update dump_bb calls.
+ * loop-invariant.c (find_defs): Update print_rtl_with_bb call.
+ * rtl.h (debug_bb_n_slim, debug_bb_slim, print_rtl_slim,
+ print_rtl_slim_with_bb): Remove prototypes.
+ (dump_insn_slim): Adjust prototype to take a const_rtx.
+ (print_rtl_with_bb): Adjust prototype.
+ * sched-rgn.c (debug_region): Use dump_bb instead of debug_bb_n_slim.
+ * sched-vis.c (dump_insn_slim): Take a const_rtx.
+ (debug_insn_slim): Prototype here near DEBUG_FUNCTION marker.
+ (print_rtl_slim_with_bb): Remove.
+ (print_rtl_slim): Rename to debug_rtl_slim. Print only insn info,
+ not basic block info (print_rtl_with_bb with TDF_SLIM should be used
+ for that. Prototype here near DEBUG_FUNCTION marker.
+ (debug_bb_slim): Prototype here near DEBUG_FUNCTION marker.
+ Use dump_bb.
+ (debug_bb_n_slim): Prototype here near DEBUG_FUNCTION marker.
+ * tree-cfg.c (gimple_can_merge_blocks_p): Use EDGE_COMPLEX.
+ (remove_bb): Update dump_bb call.
+ (gimple_debug_bb): Use dump_bb.
+ (dump_function_to_file): Update gimple_dump_bb call.
+ (print_loops_bb): Likewise.
+ * tree-flow.h (gimple_dump_bb): Update prototype.
+ * gimple-pretty-print.c (dump_bb_header): Rename to
+ dump_gimple_bb_header. Write to a stream instead of a pretty
+ printer. Use dump_bb_info to dump basic block info.
+ (dump_bb_end): Rename to dump_gimple_bb_footer. Write to a
+ stream instead of a pretty printer. Use dump_bb_info.
+ (gimple_dump_bb_buff): Do not call dump_bb_header and dump_bb_end.
+ (gimple_dump_bb): Do it here with dump_gimple_bb_header and
+ dump_gimple_bb_footer.
+ * cfgrtl.c (rtl_dump_bb): Update prototype. Only dump DF if the
+ dump flags have TDF_DETAILS. Use dump_insn_slim if TDF_SLIM.
+ (print_rtl_with_bb): Take a flags argument and pass it around.
+ Use dump_insn_slim if TDF_SLIM.
+ (dump_bb_info): Removed and re-incarnated in cfg.c.
+ (dump_flow_info): Moved to cfghooks.c.
+ (debug_flow_info): Moved to cfghooks.c.
+ * passes.c (execute_function_dump): Unconditionally use
+ print_rtl_with_bb for RTL dumps, now that it understands TDF_SLIM.
+ * final.c (dump_basic_block_info): Update dump_edge_info calls.
+ * tree-vrp.c (dump_asserts_for): Likewise.
+ * ifcvt.c (if_convert): Unconditionally use print_rtl_with_bb.
+ * tree-if-conv.c (if_convertible_bb_p): Don't look at
+ EDGE_ABNORMAL_CALL, it has no meaning in the GIMPLE world.
+ * trans-mem.c (make_tm_edge): Don't set EDGE_ABNORMAL_CALL,
+ for the same reason.
+ * config/rl78/rl78.c (rl78_reorg): Update print_rtl_with_bb calls.
+
+2012-07-17 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-data-refs.c (vect_get_new_vect_var): Add referenced
+ vars here, use create_tmp_reg where appropriate.
+ (vect_create_addr_base_for_vector_ref): Do not add referenced
+ vars here, use create_tmp_reg where appropriate.
+ (vect_create_data_ref_ptr): Likewise.
+ (vect_create_destination_var): Likewise.
+ (vect_permute_store_chain): Likewise.
+ (vect_permute_load_chain): Likewise.
+ * tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
+ Likewise.
+ * tree-vect-loop.c (get_initial_def_for_induction): Likewise.
+ * tree-vect-patterns.c (vect_recog_temp_ssa_var): Likewise.
+ (vect_handle_widen_op_by_const): Likewise.
+ * tree-vect-stmts.c (vect_init_vector): Likewise.
+ (vectorizable_load): Likewise.
+
+2012-07-17 Tom de Vries <tom@codesourcery.com>
+
+ * hwint.c: Fix loop range.
+
+2012-07-17 Tom de Vries <tom@codesourcery.com>
+
+ * double-int.h (double_int_popcount): New inline function.
+ * hwint.c (popcount_hwi): New function.
+ * hwint.h (popcount_hwi): Declare function. New inline function.
+
+2012-07-17 Richard Henderson <rth@redhat.com>
+
+ * tree-vect-stmts.c (supportable_widening_operation): Remove decl
+ parameters.
+ (vectorizable_conversion): Update supportable_widening_operation call.
+ * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Likewise.
+ (vect_recog_widen_shift_pattern): Likewise.
+ * tree-vectorizer.h: Update decl.
+
+2012-07-17 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+ Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * common/config/arm/arm-common.c (arm_option_optimization_table):
+ Enable -fsched-pressure by default while optimizing.
+ * config/arm/arm.c (arm_option_override): Use the alternate scheduler
+ pressure algorithm by default.
+
+2012-07-16 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.h (CONST_OK_FOR_I06): Delete.
+ (CONST_OK_FOR_I10): Move macro to ...
+ * config/sh/sh.c: ... here.
+ (sh_legitimate_index_p): Use satisfies_constraint_I06 instead of
+ CONST_OK_FOR_I06.
+
+2012-07-16 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md: Delete mov related define_peephole patterns.
+
+2012-07-16 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/53919
+ * doc/install.texi (Installing GCC): Refer to instructions for
+ released versions. Fix hyphenation.
+
+2012-07-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (targetm): Move to bottom of file.
+ (spu_attribute_table): Likewise.
+ (spu_option_override, spu_init_builtins, spu_builtin_decl,
+ spu_scalar_mode_supported_p, spu_vector_mode_supported_p,
+ spu_legitimate_address_p, spu_addr_space_legitimate_address_p,
+ adjust_operand, get_pic_reg, need_to_save_reg, frame_emit_store,
+ frame_emit_load, frame_emit_add_imm, emit_nop_for_insn,
+ insn_clobbers_hbr, spu_emit_branch_hint, spu_emit_vector_compare,
+ get_branch_target, spu_machine_dependent_reorg, spu_sched_issue_rate,
+ spu_sched_variable_issue, spu_sched_adjust_cost, spu_sched_init_global,
+ spu_sched_init, spu_sched_reorder, spu_handle_fndecl_attribute,
+ spu_handle_vector_attribute, spu_pass_by_reference, spu_function_arg,
+ spu_function_arg_advance, spu_build_builtin_va_list, spu_va_start,
+ spu_gimplify_va_arg_expr, store_with_one_insn_p, reg_aligned_for_addr,
+ spu_assemble_integer, spu_asm_globalize_label, spu_rtx_costs,
+ spu_function_ok_for_sibcall, spu_init_libfuncs, spu_return_in_memory,
+ spu_encode_section_info, spu_legitimize_address,
+ spu_addr_space_legitimize_address, spu_builtin_mask_for_load,
+ spu_builtin_vectorization_cost, spu_vector_alignment_reachable,
+ spu_addr_space_pointer_mode, spu_addr_space_address_mode,
+ spu_addr_space_subset_p, spu_addr_space_convert, spu_sms_res_mii,
+ spu_section_type_flags, spu_select_section, spu_unique_section,
+ spu_trampoline_init, spu_conditional_register_usage,
+ spu_ref_may_alias_errno, spu_output_mi_thunk, spu_unwind_word_mode,
+ spu_libgcc_cmp_return_mode, spu_libgcc_shift_count_mode,
+ spu_setup_incoming_varargs): Remove prototypes.
+ (spu_legitimize_address): Add "static" to definition.
+
+2012-07-16 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/rtmintrin.h (_xabort): Remove trailing semicolon.
+
+2012-07-16 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * tree-ssa-ccp.c (optimize_unreachable): Check gsi_end_p
+ before calling gsi_stmt.
+
+2012-07-16 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ Revert
+ 2012-07-16 Sergey Melnikov <sergey.melnikov@intel.com>
+
+ * config/i386/i386.md (stack_protect_set): Disable the pattern
+ for Android since Android libc (bionic) does not provide random
+ value for stack protection guard at gs:0x14. Guard value
+ will be provided from external symbol (default implementation).
+ (stack_protect_set_<mode>): Likewise.
+ (stack_protect_test): Likewise.
+ (stack_protect_test_<mode>): Likewise.
+
+2012-07-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/53959
+ PR bootstrap/53963
+ * gimple.c (gimple_types_compatible_p_1): Restore type attribute
+ comparison.
+
+2012-07-16 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * opts.c (default_option): Add -fvect-cost-model to default options
+ at -O3 and above.
+
+2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
+
+ * graphite-clast-to-gimple.c, graphite-dependences.c,
+ graphite-sese-to-poly.c: Include tree-pass.h instead of dumpfile.h
+ for pass TODO flags.
+ * Makefile.in: Fix dependencies.
+
+2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
+
+ * haifa-sched.c (init_before_recovery): Do not set EDGE_CAN_FALLTHRU.
+ * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
+
+ * function.c (stack_protect_epilogue): Use expand_call to expand
+ targetm.stack_protect_fail.
+ * stmt.c (expand_expr_stmt): Remove now-unused function.
+ * tree.h (expand_expr_stmt): Remove prototype.
+ * doc/tm.texi.in (TARGET_STACK_PROTECT_FAIL): Document that this
+ hook must return a CALL_EXPR.
+ * doc/tm.texi: Regenerate.
+
+ * emit-rtl.c (emit_label_before): Do not allow the same label
+ to be emitted twice.
+ (emit_label_after): Likewise.
+ (emit_label): Likewise.
+
+ * flags.h (TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED,
+ TYPE_OVERFLOW_TRAPS, POINTER_TYPE_OVERFLOW_UNDEFINED): Move to tree.h.
+ * tree.h (TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED,
+ TYPE_OVERFLOW_TRAPS, POINTER_TYPE_OVERFLOW_UNDEFINED): New home.
+
+2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
+
+ * system.h (dump_file): Do not define.
+ * tree-pass.h: Include dumpfile.h, which is a new file containing...
+ (enum tree_dump_index, TDF_*, get_dump_file_name, dump_enabled_p,
+ dump_initialized_p, dump_begin, dump_end, dump_node, dump_switch_p,
+ dump_flag_name, dump_file, dump_flags, dump_file_name,
+ get_dump_file_info, struct dump_file_info): all of this, moved to...
+ * dumpfile.h: Here, new file.
+ * tree-dump.h: Include dumpfile.h, but not tree-pass.h.
+ (dump_stmt): Remove prototype for C++ specific function.
+ (dump_enumerated_decls): Move prototype from here...
+ * tree-flow.h (dump_enumerated_decls): ... to here.
+ (get_ref_base_and_extent) Move prototype from here ...
+ * tree.h (get_ref_base_and_extent) ... to here.
+ * tree-ssa-live.c: Do not inclde tree-pretty-print.h, because
+ gimple-pretty-print.h is enough. Do not include tree-dump.h,
+ include timevar.h and dumpfile.h instead.
+ (struct numbered_tree_d, compare_decls_by_uid,
+ dump_enumerated_decls_push, dump_enumerated_decls): Move from here ...
+ * tree-dfa.c:(struct numbered_tree_d, compare_decls_by_uid,
+ dump_enumerated_decls_push, dump_enumerated_decls):... to here.
+ Do not include timevar.h.
+ * tree.c: Do not include timevar.h.
+ * tree-cfg.c: Do not include langhooks.h, tree-pretty-print.h, and
+ timevar.h.
+ (dump_cfg_stats): Use current_function_name.
+ (gimple_cfg2vcg): Likewise.
+ (dump_function_to_file): Likewise.
+ * df-scan.c: Do not include tree-pass.h and timevar.h.
+ Include dumpfile.h.
+ (df_entry_block_bitmap_verify, df_exit_block_bitmap_verify): Do not
+ use print_current_pass.
+ * df-problems.c: Include dumpfile.h.
+ Always define REG_DEAD_DEBUGGING, avoid #ifdef code, because it
+ leads to errors in the code not selected.
+ (df_note_compute): Do not print_rtl_with_bb here. Fix compilation
+ bug if REG_DEAD_DEBUGGING is not 0, get_insns is not available here.
+ * lcm.c: Include dumpfile.h.
+ Remove obsolete include of insn-attr.h.
+ * dojump.c (do_compare_rtx_and_jump): Remove failure printing for
+ missing probability notes.
+ * stmt.c: Include dumpfile.h.
+ (emit_case_decision_tree): Re-enable printing expand details only
+ if TDF_DETAILS.
+ * alias.c, auto-inc-dec.c, bb-reorder.c, caller-save.c, cfg.c,
+ cfgcleanup.c, cfgexpand.c, cfgloop.c, cfgloopmanip.c, cgraph.c,
+ cgraphclones.c, cgraphunit.c, combine.c, combine-stack-adj.c,
+ coverage.c, cprop.c, cse.c, cselib.c, dbgcnt.c, dce.c, df-core.c,
+ dse.c, dwarf2out.c, emit-rtl.c, except.c, expr.c, final.c,
+ function.c, fwprop.c, gcse.c, gimple-fold.c,
+ gimple-pretty-print.c, gimple-ssa-strength-reduction.c,
+ gimplify.c, graphite-blocking.c, graphite-clast-to-gimple.c,
+ graphite-dependences.c, graphite-interchange.c,
+ graphite-optimize-isl.c, graphite-poly.c,
+ graphite-sese-to-poly.c, haifa-sched.c, hw-doloop.c, ifcvt.c,
+ ipa.c, ipa-cp.c, ipa-inline-analysis.c, ipa-inline.c,
+ ipa-inline-transform.c, ipa-prop.c, ipa-pure-const.c,
+ ipa-reference.c, ipa-split.c, ipa-utils.c, ira.c, ira-emit.c,
+ jump.c, loop-doloop.c, loop-init.c, loop-invariant.c, loop-iv.c,
+ loop-unroll.c, loop-unswitch.c, lower-subreg.c,
+ lto-section-out.c, lto-streamer-in.c, matrix-reorg.c, mcf.c,
+ mode-switching.c, modulo-sched.c, omega.c, omp-low.c, passes.c,
+ plugin.c, postreload.c, postreload-gcse.c, predict.c, print-rtl.c,
+ print-tree.c, profile.c, recog.c, ree.c, regcprop.c, reginfo.c,
+ regmove.c, regrename.c, reg-stack.c, reload1.c, reorg.c,
+ sched-rgn.c, sched-vis.c, sel-sched.c, sel-sched-ir.c,
+ store-motion.c, tracer.c, trans-mem.c, tree-affine.c,
+ tree-call-cdce.c, tree-cfgcleanup.c, tree-chrec.c,
+ tree-data-ref.c, tree-diagnostic.c, tree-dump.c,
+ tree-eh.c, tree-flow-inline.h, tree-if-conv.c, tree-into-ssa.c,
+ tree-mudflap.c, tree-nrv.c, tree-object-size.c,
+ tree-optimize.c, tree-outof-ssa.c, tree-predcom.c,
+ tree-pretty-print.c, tree-profile.c, tree-scalar-evolution.c,
+ tree-sra.c, tree-ssa-address.c, tree-ssa-alias.c, tree-ssa.c,
+ tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-copy.c,
+ tree-ssa-copyrename.c,, tree-ssa-dce.c, tree-ssa-dom.c,
+ tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-ifcombine.c,
+ tree-ssa-loop.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
+ tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c,
+ tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
+ tree-ssa-loop-prefetch.c, tree-ssa-loop-unswitch.c,
+ tree-ssa-math-opts.c, tree-ssa-operands.c, tree-ssa-phiopt.c,
+ tree-ssa-phiprop.c, tree-ssa-pre.c, tree-ssa-propagate.c,
+ tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-sink.c,
+ tree-ssa-structalias.c, tree-ssa-tail-merge.c, tree-ssa-ter.c,
+ tree-ssa-threadedge.c, tree-ssa-threadupdate.c,
+ tree-ssa-uncprop.c, tree-ssa-uninit.c,
+ tree-switch-conversion.c, tree-tailcall.c,
+ tree-vect-data-refs.c, tree-vect-loop.c,
+ tree-vect-loop-manip.c, tree-vectorizer.c,
+ tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.c,
+ tree-vrp.c, value-prof.c, var-tracking.c, web.c: Include tree-pass.h
+ only if needed. If tree-pass.h is included, do not include timevar.h
+ and dumpfile.h. If tree-pass.h is not included but dump_file, or
+ dump_flags, or the TDF_* flags are used, include dumpfile.h.
+ If gimple-pretty-print.h is included, don't include
+ tree-pretty-print.h. Remove assorted unnecessary includes.
+
+ * config/mn10300/mn10300.c, config/c6x/c6x.c, config/ia64/ia64.c,
+ config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c,
+ config/spu/spu.c, config/mep/mep.c, config/i386/i386.c:
+ Include dumpfile.h.
+ * config/rl78/rl78.c: Include dumpfile.h instead of tree-pass.h.
+ * arm/t-arm, avr/t-avr, i386/t-i386, ia64/t-ia64, mep/t-mep,
+ spu/t-spu-elf: Fix dependencies.
+
+2012-07-16 Dehao Chen <dehao@google.com>
+
+ Revert
+ 2012-07-10 Dehao Chen <dehao@google.com>
+
+ * tree.h (phi_arg_d): New field.
+ * tree-flow-inline.h (gimple_phi_arg_block): New function.
+ (gimple_phi_arg_block_from_edge): New function.
+ (gimple_phi_arg_set_block): New function.
+ (gimple_phi_arg_has_block): New function.
+ (redirect_edge_var_map_block): New function.
+ * tree-flow.h (_edge_var_map): New field.
+ * tree-ssa-live.c (remove_unused_locals): Mark phi_arg's block as used.
+ * tree-eh.c (cleanup_empty_eh_merge_phis): Add block debug info for
+ redirect_edge_var_map_add.
+ * tree-outof-ssa.c (_elim_graph): New field.
+ (insert_partition_copy_on_edge): New parameter.
+ (insert_value_copy_on_edge): New parameter.
+ (insert_rtx_to_part_on_edge): New parameter.
+ (insert_part_to_rtx_on_edge): New parameter.
+ (elim_graph_add_edge): New parameter.
+ (elim_graph_remove_succ_edge): New parameter.
+ (FOR_EACH_ELIM_GRAPH_SUCC): New parameter.
+ (FOR_EACH_ELIM_GRAPH_PRED): New parameter.
+ (new_elim_graph): Add block debug info.
+ (clear_elim_graph): Likewise.
+ (delete_elim_graph): Likewise.
+ (elim_graph_add_node): Likewise.
+ (elim_graph_add_edge): Likewise.
+ (elim_graph_remove_succ_edge): Likewise.
+ (eliminate_build): Likewise.
+ (elim_forward): Likewise.
+ (elim_unvisited_predecessor): Likewise.
+ (elim_backward): Likewise.
+ (elim_create): Likewise.
+ (eliminate_phi): Likewise.
+ (insert_backedge_copies): Likewise.
+ * tree-into-ssa.c (insert_phi_nodes_for): Add block debug info for
+ add_phi_arg.
+ (rewrite_add_phi_arguments): Likewise.
+ * tree-ssa-loop-im.c (execute_sm_if_changed): Likewise.
+ * tree-ssa-tail-merge.c (replace_block_by): Likewise.
+ * tree-ssa-threadupdate.c (copy_phi_args): Likewise.
+ * tree-loop-distribution.c (update_phis_for_loop_copy): Likewise.
+ * tree-ssa-loop-manip.c (create_iv): Likewise.
+ (add_exit_phis_edge): Likewise.
+ (split_loop_exit_edge): Likewise.
+ (copy_phi_node_args): Likewise.
+ (tree_transform_and_unroll_loop): Likewise.
+ * value-prof.c (gimple_ic): Likewise.
+ (gimple_stringop_fixed_value): Likewise.
+ * tree-tailcall.c (add_successor_phi_arg): Likewise.
+ (eliminate_tail_call): Likewise.
+ (create_tailcall_accumulator): Likewise.
+ (tree_optimize_tail_calls_1): Likewise.
+ * tree-phinodes.c (add_phi_arg): Likewise.
+ (make_phi_node): Likewise.
+ (resize_phi_node): Likewise.
+ (remove_phi_arg_num): Likewise.
+ * omp-low.c (expand_parallel_call): Likewise.
+ (expand_omp_for_static_chunk): Likewise.
+ * tree-vect-loop-manip.c (slpeel_update_phis_for_duplicate_loop):
+ Likewise.
+ (slpeel_update_phi_nodes_for_guard1): Likewise.
+ (slpeel_update_phi_nodes_for_guard2): Likewise.
+ (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
+ (set_prologue_iterations): Likewise.
+ (slpeel_tree_peel_loop_to_edge): Likewise.
+ (vect_loop_versioning): Likewise.
+ * tree-parloops.c (create_phi_for_local_result): Likewise.
+ (transform_to_exit_first_loop): Likewise.
+ (create_parallel_loop): Likewise.
+ * ipa-split.c (split_function): Likewise.
+ * tree-vect-loop.c (get_initial_def_for_induction): Likewise.
+ (vect_create_epilog_for_reduction): Likewise.
+ * tree-vect-data-refs.c (vect_setup_realignment): Likewise.
+ * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Likewise.
+ * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
+ (cond_if_else_store_replacement_1): Likewise.
+ * tree-cfgcleanup.c (remove_forwarder_block): Likewise.
+ (remove_forwarder_block_with_phi): Likewise.
+ * tree-ssa-pre.c (insert_into_preds_of_block): Likewise.
+ * tree-predcom.c (initialize_root_vars): Likewise.
+ (initialize_root_vars_lm): Likewise.
+ * sese.c (sese_add_exit_phis_edge): Likewise.
+ * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
+ * tree-ssa.c (flush_pending_stmts): Likewise.
+ (redirect_edge_var_map_add): Likewise.
+ (ssa_redirect_edge): Likewise.
+ * gimple-streamer-in.c (input_phi): Likewise.
+ * tree-vect-stmts.c (vectorizable_load): Likewise.
+ * tree-inline.c (copy_phis_for_bb): Likewise.
+ * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
+ * tree-switch-conversion.c (fix_phi_nodes): Likewise.
+ * tree-cfg.c (reinstall_phi_args): Likewise.
+ (gimple_make_forwarder_block): Likewise.
+ (add_phi_args_after_copy_edge): Likewise.
+ (gimple_duplicate_sese_tail): Likewise.
+
+2012-07-16 Sergey Melnikov <sergey.melnikov@intel.com>
+
+ * config/i386/i386.md (stack_protect_set): Disable the pattern
+ for Android since Android libc (bionic) does not provide random
+ value for stack protection guard at gs:0x14. Guard value
+ will be provided from external symbol (default implementation).
+ (stack_protect_set_<mode>): Likewise.
+ (stack_protect_test): Likewise.
+ (stack_protect_test_<mode>): Likewise.
+
+2012-07-16 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris-protos.h (cris_legitimate_address_p): Declare.
+ * config/cris/cris.h (CONSTANT_ADDRESS_P): Define in terms of
+ CONSTANT_P and cris_legitimate_address_p.
+ * config/cris/cris.c (cris_legitimate_address_p): Make non-static.
+ (cris_preferred_reload_class): Don't return GENERAL_REGS as
+ preferred to MOF_SRP_REGS.
+
+ * config/cris/cris.c (cris_init_libfuncs): Handle initialization
+ of library functions for basic atomic compare-and-swap.
+ * config/cris/cris.h (TARGET_ATOMICS_MAY_CALL_LIBFUNCS): New macro.
+ * config/cris/cris.opt (munaligned-atomic-may-use-library): New option.
+ * config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>")
+ ("cris_atomic_fetch_<atomic_op_name><mode>_1")
+ ("atomic_compare_and_swap<mode>")
+ ("cris_atomic_compare_and_swap<mode>_1"): Make conditional on
+ TARGET_ATOMICS_MAY_CALL_LIBFUNCS for sizes larger than byte.
+ * config/cris/cris.c (cris_print_operand) <case 'P', 'q'>: New cases.
+ * config/cris/sync.md (atomic_op_op_cnstr): New code_attr.
+ (atomic_op_op_pred): Ditto.
+ (atomic_op_mnem_pre_op2): Renamed from atomic_op_mnem_pre; to
+ reflect the change to include %2 in expansion. All callers changed.
+ (qm3): New mode_attr.
+ ("atomic_fetch_<atomic_op_name><mode>"): Use <atomic_op_op_pred>
+ as predicate for operand 2.
+ ("cris_atomic_fetch_<atomic_op_name><mode>_1"): Update FIXME. Use
+ "<atomic_op_op_pred>" "<atomic_op_op_cnstr>" for predicate and
+ constraint for operand 2.
+ ("atomic_compare_and_swap<mode>"): Add FIXME. Change predicate to
+ nonmemory_operand for operand 3.
+ ("cris_atomic_compare_and_swap<mode>_1"): Change operand 3 to
+ exclude memory. Improve emitted sync code for v10 and v32. Use
+ <qm3> instead of <m> for size designator for cmp.
+ ("atomic_compare_and_swap<mode>"): Change predicate to
+ nonmemory_operand for operand 3. Add FIXME.
+ ("cris_atomic_compare_and_swap<mode>_1"): Change predicates and
+ constraints for operand 3 to exclude memory.
+ ("atomic_fetch_<atomic_op_name><mode>")
+ ("atomic_compare_and_swap<mode>"): Gate expand_mem_thread_fence
+ calls on result of call to need_atomic_barrier_p.
+
+2012-07-15 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.md (move_type): Replace mfhilo and mthilo
+ with mflo and mtlo.
+ (type): Split mfhilo into mfhi and mflo. Split mthilo into mthi
+ and mtlo. Adjust move_type->type mapping.
+ (may_clobber_hilo): Split mthilo into mthi and mtlo.
+ (*movdi_32bit, *movdi_32bit_mips16, *movdi_64bit, *movdi_64bit_mips16)
+ (*mov<mode>_internal, *mov<mode>_mips16, *movhi_internal)
+ (*movhi_mips16, *movqi_internal, *movqi_mips16): Use mtlo and mflo
+ instead of mthilo and mfhilo.
+ (mfhi<GPR:mode>_<HILO:mode>): Use mfhi instead of mfhilo.
+ (mthi<GPR:mode>_<HILO:mode>): Use mthi instead of mthilo.
+ * config/mips/mips-dsp.md (mips_extr_w, mips_extr_r_w, mips_extr_rs_w)
+ (mips_extr_s_h, mips_extp, mips_extpdp, mips_shilo, mips_mthlip):
+ Use mflo instead of mfhilo.
+ * config/mips/10000.md (r10k_arith): Split mthilo.
+ (r10k_mfhi, r10k_mflo): Use mfhi and mflo directly.
+ * config/mips/sb1.md (ir_sb1_mfhi, ir_sb1_mflo): Likewise.
+ (ir_sb1_mthilo): Split mthilo into mthi and mtlo.
+ * config/mips/20kc.md (r20kc_imthilo, r20kc_imfhilo): Split
+ mthilo and mfhilo.
+ * config/mips/24k.md (r24k_int_mfhilo, r24k_int_mthilo): Likewise.
+ * config/mips/4130.md (vr4130_class, vr4130_mfhilo, vr4130_mthilo):
+ Likewise.
+ * config/mips/4k.md (r4k_int_mthilo, r4k_int_mfhilo): Likewise.
+ * config/mips/5400.md (ir_vr54_hilo): Likewise.
+ * config/mips/5500.md (ir_vr55_mthilo, ir_vr55_mfhilo): Likewise.
+ * config/mips/5k.md (r5k_int_mthilo, r5k_int_mfhilo): Likewise.
+ * config/mips/7000.md (rm7_mthilo, rm7_mfhilo): Likewise.
+ * config/mips/74k.md (r74k_int_mfhilo, r74k_int_mthilo): Likewise.
+ * config/mips/9000.md (rm9k_mfhilo, rm9k_mthilo): Likewise.
+ * config/mips/generic.md (generic_hilo): Likewise.
+ * config/mips/loongson2ef.md (ls2_alu): Likewise.
+ * config/mips/loongson3a.md (ls3a_mfhilo): Likewise.
+ * config/mips/octeon.md (octeon_imul_o1, octeon_imul_o2)
+ (octeon_mfhilo_o1, octeon_mfhilo_o2): Likewise.
+ * config/mips/sr71k.md (ir_sr70_hilo): Likewise.
+ * config/mips/xlr.md (xlr_hilo): Likewise.
+
+2012-07-14 Andrew Stubbs <ams@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/sh/sh.h (SH_ASM_SPEC): Add spaces between options.
+
+2012-07-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_set_reg_reg_cost): Enable TFmode/TCmode
+ for TARGET_SSE.
+
+2012-07-14 Steven Bosscher <steven@gcc.gnu.org>
+
+ * toplev.c (init_asm_output): Open asm_out_file in 'w' mode.
+
+2012-07-13 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ PR bootstrap/53955
+ * config/spu/spu.c (spu_init_cost): Mark static.
+ (spu_add_stmt_cost): Likewise.
+ (spu_finish_cost): Likewise.
+ (spu_destroy_cost_data): Likewise.
+ * config/i386/i386.c (ix86_init_cost): Mark static.
+ (ix86_add_stmt_cost): Likewise.
+ (ix86_finish_cost): Likewise.
+ (ix86_destroy_cost_data): Likewise.
+ * config/rs6000/rs6000.c (rs6000_init_cost): Mark static.
+ (rs6000_add_stmt_cost): Likewise.
+ (rs6000_finish_cost): Likewise.
+ (rs6000_destroy_cost_data): Likewise.
+
+2012-07-13 Steven Bosscher <steven@gcc.gnu.org>
+
+ * ggc.h (ggc_internal_alloc_stat, ggc_alloc_typed_stat,
+ ggc_internal_cleared_alloc_stat, ggc_cleared_alloc_htab_ignore_args,
+ ggc_cleared_alloc_ptr_array_two_args, ggc_splay_alloc): Add
+ ATTRIBUTE_MALLOC.
+ * alloc-pool.h (pool_alloc): Likewise.
+
+ * final.c (final): Do not loop to find max_uid.
+
+2012-07-13 Steven Bosscher <steven@gcc.gnu.org>
+
+ * emit-rtl.c (make_debug_insn_raw, make_jump_insn_raw): Make static.
+ * rtl.h (make_debug_insn_raw, make_jump_insn_raw): Remove prototypes.
+
+2012-07-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53907
+ * tree-ssa-forwprop.c (associate_pointerplus): New function.
+ (ssa_forward_propagate_and_combine): Call it.
+
+2012-07-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53922
+ * tree-vrp.c (value_inside_range): Change prototype to take
+ min/max instead of value-range.
+ (range_includes_zero_p): Likewise. Return the result from
+ value_inside_range.
+ (extract_range_from_binary_expr_1): Adjust to handle dont-know
+ return value from range_includes_zero_p.
+ (extract_range_from_unary_expr_1): Likewise.
+ (compare_range_with_value): Likewise.
+ (vrp_meet_1): Likewise.
+
+2012-07-13 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * doc/tm.texi: Regenerate.
+ * doc/tm.texi.in (TARGET_VECTORIZE_INIT_COST): New hook.
+ (TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
+ (TARGET_VECTORIZE_FINISH_COST): Likewise.
+ (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
+ * targhooks.c (default_init_cost): New function.
+ (default_add_stmt_cost): Likewise.
+ (default_finish_cost): Likewise.
+ (default_destroy_cost_data): Likewise.
+ * targhooks.h (default_init_cost): New decl.
+ (default_add_stmt_cost): Likewise.
+ (default_finish_cost): Likewise.
+ (default_destroy_cost_data): Likewise.
+ * target.def (init_cost): New DEFHOOK.
+ (add_stmt_cost): Likewise.
+ (finish_cost): Likewise.
+ (destroy_cost_data): Likewise.
+ * target.h (struct _stmt_vec_info): New extern decl.
+ (stmt_vectype): Likewise.
+ (stmt_in_inner_loop_p): Likewise.
+ * tree-vectorizer.h (stmt_info_for_cost): New struct/typedef.
+ (stmt_vector_for_cost): New VEC/typedef.
+ (add_stmt_info_to_vec): New function.
+ (struct _slp_tree): Remove cost.inside_of_loop field.
+ (struct _slp_instance): Remove cost.inside_of_loop field; add
+ stmt_cost_vec field.
+ (SLP_INSTANCE_INSIDE_OF_LOOP_COST): Remove macro.
+ (SLP_INSTANCE_STMT_COST_VEC): New accessor macro.
+ (SLP_TREE_INSIDE_OF_LOOP_COST): Remove macro.
+ (struct _vect_peel_extended_info): Add stmt_cost_vec field.
+ (struct _loop_vec_info): Add target_cost_data field.
+ (LOOP_VINFO_TARGET_COST_DATA): New accessor macro.
+ (struct _bb_vec_info): Add target_cost_data field.
+ (BB_VINFO_TARGET_COST_DATA): New accessor macro.
+ (struct _stmt_vec_info): Remove cost.inside_of_loop field.
+ (STMT_VINFO_INSIDE_OF_LOOP_COST): Remove macro.
+ (stmt_vinfo_set_inside_of_loop_cost): Remove function.
+ (init_cost): New function.
+ (add_stmt_cost): Likewise.
+ (finish_cost): Likewise.
+ (destroy_cost_data): Likewise.
+ (vect_model_simple_cost): Change parameter list.
+ (vect_model_store_cost): Likewise.
+ (vect_model_load_cost): Likewise.
+ (record_stmt_cost): New extern decl.
+ (vect_get_load_cost): Change parameter list.
+ (vect_get_store_cost): Likewise.
+ * tree-vect-loop.c (new_loop_vec_info): Call init_cost.
+ (destroy_loop_vec_info): Call destroy_cost_data.
+ (vect_estimate_min_profitable_iters): Remove old calculation of
+ inside costs; call finish_cost instead.
+ (vect_model_reduction_cost): Call add_stmt_cost instead of old
+ inside-costs calculation.
+ (vect_model_induction_cost): Likewise.
+ * tree-vect-data-refs.c (vect_get_data_access_cost): Change to
+ return a stmt_vector_for_cost; modify calls to vect_get_load_cost
+ and vect_get_store_cost to obtain the value to return.
+ (vect_peeling_hash_get_lowest_cost): Obtain a stmt_cost_vec from
+ vect_get_data_access_cost and store it in the minimum peeling
+ structure.
+ (vect_peeling_hash_choose_best_peeling): Change the parameter list
+ to add a (stmt_vector_for_cost *) output parameter, and set its value.
+ (vect_enhance_data_refs_alignment): Ignore the new return value from
+ calls to vect_get_data_access_cost; obtain stmt_cost_vec from
+ vect_peeling_hash_choose_best_peeling and pass its contents to the
+ target cost model.
+ * tree-vect-stmts.c (stmt_vectype): New function.
+ (stmt_in_inner_loop_p): Likewise.
+ (record_stmt_cost): Likewise.
+ (vect_model_simple_cost): Add stmt_cost_vec parameter; call
+ record_stmt_cost instead of old calculation; don't call
+ stmt_vinfo_set_inside_of_loop_cost.
+ (vect_model_promotion_demotion_cost): Call add_stmt_cost instead of
+ old calculation; don't call stmt_vinfo_set_inside_of_loop_cost.
+ (vect_model_store_cost): Add stmt_cost_vec parameter; call
+ record_stmt_cost instead of old calculation; add stmt_cost_vec
+ parameter to vect_get_store_cost call; don't call
+ stmt_vinfo_set_inside_of_loop_cost.
+ (vect_get_store_cost): Add stmt_cost_vec parameter; call
+ record_stmt_cost instead of old calculation.
+ (vect_model_load_cost): Add stmt_cost_vec parameter; call
+ record_stmt_cost instead of old calculation; add stmt_cost_vec
+ parameter to vect_get_load_cost call; don't call
+ stmt_vinfo_set_inside_of_loop_cost.
+ (vect_get_load_cost): Add stmt_cost_vec parameter; call
+ record_stmt_cost instead of old calculation.
+ (vectorizable_call): Add NULL parameter to vect_model_simple_cost call.
+ (vectorizable_conversion): Likewise.
+ (vectorizable_assignment): Likewise.
+ (vectorizable_shift): Likewise.
+ (vectorizable_operation): Likewise.
+ (vectorizable_store): Add NULL parameter to vect_model_store_cost call.
+ (vectorizable_load): Add NULL parameter to vect_model_load_cost call.
+ (new_stmt_vec_info): Don't set STMT_VINFO_INSIDE_OF_LOOP_COST.
+ * config/spu/spu.c (TARGET_VECTORIZE_INIT_COST): New macro def.
+ (TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
+ (TARGET_VECTORIZE_FINISH_COST): Likewise.
+ (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
+ (spu_init_cost): New function.
+ (spu_add_stmt_cost): Likewise.
+ (spu_finish_cost): Likewise.
+ (spu_destroy_cost_data): Likewise.
+ * config/i386/i386.c (ix86_init_cost): New function.
+ (ix86_add_stmt_cost): Likewise.
+ (ix86_finish_cost): Likewise.
+ (ix86_destroy_cost_data): Likewise.
+ (TARGET_VECTORIZE_INIT_COST): New macro def.
+ (TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
+ (TARGET_VECTORIZE_FINISH_COST): Likewise.
+ (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
+ * config/rs6000/rs6000.c (TARGET_VECTORIZE_INIT_COST): New macro def.
+ (TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
+ (TARGET_VECTORIZE_FINISH_COST): Likewise.
+ (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
+ (rs6000_init_cost): New function.
+ (rs6000_add_stmt_cost): Likewise.
+ (rs6000_finish_cost): Likewise.
+ (rs6000_destroy_cost_data): Likewise.
+ * tree-vect-slp.c (vect_free_slp_instance): Free stmt_cost_vec.
+ (vect_create_new_slp_node): Don't set SLP_TREE_INSIDE_OF_LOOP_COST.
+ (vect_get_and_check_slp_defs): Add stmt_cost_vec parameter; add
+ stmt_cost_vec parameter to vect_model_store_cost and
+ vect_model_simple_cost calls.
+ (vect_build_slp_tree): Remove inside_cost parameter; add stmt_cost_vec
+ parameter; add stmt_cost_vec parameter to vect_get_and_check_slp_defs,
+ vect_model_load_cost, and recursive vect_build_slp_tree calls; prevent
+ calculating cost more than once for loads; remove inside_cost
+ parameter from recursive vect_build_slp_tree calls; call
+ record_stmt_cost instead of old calculation.
+ (vect_analyze_slp_instance): Allocate stmt_cost_vec and save it with
+ the instance; free it on premature exit; remove inside_cost parameter
+ from vect_build_slp_tree call; add stmt_cost_vec parameter to
+ vect_build_slp_tree call; don't set SLP_INSTANCE_INSIDE_OF_LOOP_COST.
+ (new_bb_vec_info): Call init_cost.
+ (destroy_bb_vec_info): Call destroy_cost_data.
+ (vect_bb_vectorization_profitable_p): Call add_stmt_cost for each
+ statement recorded with an SLP instance; call finish_cost instead of
+ the old calculation.
+ (vect_update_slp_costs_according_to_vf): Record statement costs from
+ SLP instances, multiplying by the appropriate number of copies; don't
+ update SLP_INSTANCE_INSIDE_OF_LOOP_COST.
+
+2012-07-13 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53937
+ * builtins.c (get_pointer_alignment_1): Handle constant
+ pointers.
+
+2012-07-13 Richard Sandiford <rdsandiford@googlemail.com>
+ Steven Bosscher <steven@gcc.gnu.org>
+ Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/53908
+ * df-problems.c (can_move_insns_across): When doing
+ memory-reference book-keeping, handle call insns.
+
+2012-07-13 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_types_compatible_p_1): Remove redundant
+ type attribute comparisons.
+ (gimple_canonical_types_compatible_p): Likewise.
+
+2012-07-12 Hans-Peter Nilsson <hp@axis.com>
+
+ PR rtl-optimization/53176
+ * rtlanal.c (rtx_cost): Adjust default cost for X with a
+ UNITS_PER_WORD factor for all X according to the size of
+ its mode, not just for SUBREGs with untieable modes.
+ Handle SET. Use factor * factor for MULT, DIV, UDIV,
+ MOD, UMOD.
+
+2012-07-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (QImode and HImode cmove splitters): Merge
+ QImode and HImode splitters. Use ix86_comparison_operator.
+ Explicitly match FLAGS_REG.
+ (DFmode cmove splitter): Explicitly match FLAGS_REG.
+
+2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
+
+ * expr.h (can_move_by_pieces): Move prototype from here ...
+ * tree.h (can_move_by_pieces): ... to here.
+ * optabs.h (set_widening_optab_handler): Use XCNEW.
+ * gimplify.c: Do not include expr.h.
+
+ * toplev.c: Do not include dwarf2out.h.
+ * config/ia64/ia64.c: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/sparc/t-sparc (sparc.o): Fix dependencies.
+
+ * Makefile.in (toplev.o): Fix dependencies
+ (c-family/c-gimplify.o): Likewise.
+ (c-family/c-common.o): Likewise.
+
+2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
+
+ * basic-block.h (struct edge_def): Use basic_block instead of
+ basic_block_def *.
+ * cfgloop.h (struct loop_exit, struct loop): Likewise.
+ * gengenrtl.c (type_from_format): Likewise. Also for 'tree'
+ instead of union tree_node *.
+ * rtl.h (union rtunion_def, emit_insn_before_noloc,
+ emit_insn_after_noloc, add_insn_before, add_insn_after,
+ debug_bb_slim): Likewise.
+ * tree-inline.h (struct copy_body_data): Likewise.
+ * sched-rgn.c (dump_region_dot): Likewise.
+ * gimple.h (struct gimple_statement_base, gimple_set_bb,
+ gsi_move_to_bb_end): Likewise.
+ * sched-vis.c (debug_bb_slim): Likewise.
+ (debug_bb_n_slim): Likewise.
+ * config/mn10300/mn10300.c (mn10300_insert_setlb_lcc): Likewise.
+ (mn10300_block_contains_call):
+
+2012-07-11 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ PR target/53859
+ * config/arm/arm.c (arm_early_load_addr_dep): Handle new
+ epilogue patterns.
+
+2012-07-11 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/extend.texi (Namespace Association): Alter cautionary text.
+
+2012-07-10 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53911
+ * config/sh/sh.md: Remove displacement addresssing related splits.
+
+2012-07-10 Xinliang David Li <davidxl@google.com>
+
+ * doc/invoke.texi: New option documented.
+ * flag-types.h: New enum type.
+ * gimplify.c (gimplify_bind_expr): Control
+ clobber generation with new option.
+ (gimplify_target_expr): Ditto.
+ * common.opt: New option.
+
+2012-07-10 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm.md (movsi): Don't split symbol refs here.
+ (define_split): New.
+
+2012-07-10 Andreas Schwab <schwab@linux-m68k.org>
+
+ PR bootstrap/53913
+ * config/m68k/m68k.c (m68k_epilogue_uses): New.
+ * config/m68k/m68k.h (EPILOGUE_USES): Use it.
+ * config/m68k/m68k-protos.h (m68k_epilogue_uses): Add prototype.
+
+2012-07-10 Richard Henderson <rth@redhat.com>
+
+ * target.def (builtin_mul_widen_even, builtin_mul_widen_odd): Remove.
+ * system.h (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Poison.
+ (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Poison.
+ * config/i386/i386.c (IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V4SI): Remove.
+ (IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V8SI): Remove.
+ (IX86_BUILTIN_VEC_WIDEN_UMUL_ODD_V4SI): Remove.
+ (IX86_BUILTIN_VEC_WIDEN_UMUL_ODD_V8SI): Remove.
+ (IX86_BUILTIN_VEC_WIDEN_SMUL_EVEN_V4SI): Remove.
+ (IX86_BUILTIN_VEC_WIDEN_UMUL_EVEN_V4SI): Remove.
+ (IX86_BUILTIN_VEC_WIDEN_UMUL_EVEN_V8SI): Remove.
+ (bdesc_args): Remove entries to match.
+ (ix86_builtin_mul_widen_even, ix86_builtin_mul_widen_odd): Remove.
+ (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Remove.
+ (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Remove.
+ * config/rs6000/rs6000.c (rs6000_builtin_mul_widen_even): Remove.
+ (rs6000_builtin_mul_widen_odd): Remove.
+ (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Remove.
+ (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Remove.
+ * config/spu/spu.c (spu_builtin_mul_widen_even): Remove.
+ (spu_builtin_mul_widen_odd): Remove.
+ (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Remove.
+ (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Remove.
+ * doc/tm.texi.in: Don't document the removed hooks.
+
+ * tree-vect-stmts.c (supportable_widening_operation): Expand
+ WIDEN_MULT_EXPR via VEC_WIDEN_MULT_EVEN/ODD_EXPR if possible.
+
+ * expmed.c (expmed_mult_highpart): Rename from expand_mult_highpart.
+ (expmed_mult_highpart_optab): Rename from expand_mult_highpart_optab.
+ * optabs.c (can_mult_highpart_p): New.
+ (expand_mult_highpart): New.
+ * expr.c (expand_expr_real_2) [MULT_HIGHPART_EXPR): Use it.
+ * tree-vect-generic.c (expand_vector_operations_1): Don't expand
+ by pieces if can_mult_highpart_p.
+ (expand_vector_divmod): Use can_mult_highpart_p and always
+ generate MULT_HIGHPART_EXPR.
+ * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
+ * tree-vect-stmts.c (vectorizable_operation): Likewise.
+
+ * config/spu/spu-builtins.md (spu_mpy): Move to spu.md.
+ (spu_mpyu, spu_mpyhhu, spu_mpyhh): Likewise.
+ * config/spu/spu.md (vec_widen_smult_odd_v8hi): Rename from spu_mpy.
+ (vec_widen_umult_odd_v8hi): Rename from spu_mpyu.
+ (vec_widen_smult_even_v8hi): Rename from spu_mpyhh.
+ (vec_widen_umult_even_v8hi): Rename from spu_mpyhhu.
+ * config/spu/spu-builtins.def: Update pattern names to match.
+
+ * config/rs6000/altivec.md (vec_widen_umult_even_v16qi): Rename
+ from altivec_vmuleub.
+ (vec_widen_smult_even_v16qi): Rename from altivec_vmulesb.
+ (vec_widen_umult_even_v8hi): Rename from altivec_vmuleuh.
+ (vec_widen_smult_even_v8hi): Rename from altivec_vmulesh.
+ (vec_widen_umult_odd_v16qi): Rename from altivec_vmuloub.
+ (vec_widen_smult_odd_v16qi): Rename from altivec_vmulosb.
+ (vec_widen_umult_odd_v8hi): Rename from altivec_vmulouh.
+ (vec_widen_smult_odd_v8hi): Rename from altivec_vmulosh.
+ * config/rs6000/rs6000-builtin.def: Update pattern names to match.
+
+ * config/i386/sse.md (vec_widen_umult_even_v8si): Rename from
+ avx2_umulv4siv4di3.
+ (vec_widen_umult_even_v4si): Rename from sse2_umulv2siv2di3.
+ (vec_widen_smult_even_v8si): Rename from avx2_mulv4siv4di3.
+ (mulv4si3): Remove XOP test shadowed by SSE4 test.
+ * config/i386/i386.c (bdesc_args): Update pattern names.
+ (ix86_expand_sse2_mulvxdi3): Likewise.
+ (ix86_expand_mul_widen_evenodd): Likewise. Remove XOP test
+ shadowed by SSE4 test.
+
+ * tree.def (VEC_WIDEN_MULT_EVEN_EXPR, VEC_WIDEN_MULT_ODD_EXPR): New.
+ * cfgexpand.c (expand_debug_expr): Handle them.
+ * expr.c (expand_expr_real_2): Likewise.
+ * fold-const.c (fold_binary_loc): Likewise.
+ * gimple-pretty-print.c (dump_binary_rhs): Likewise.
+ * optabs.c (optab_for_tree_code): Likewise.
+ * tree-cfg.c (verify_gimple_assign_binary): Likewise.
+ * tree-inline.c (estimate_operator_cost): Likewise.
+ * tree-pretty-print.c (dump_generic_node): Likewise.
+ * tree.c (commutative_tree_code): Likewise.
+ * tree-vect-generic.c (expand_vector_operations_1): Likewise.
+ Handle type change before looking up optab.
+ * optabs.h (OTI_vec_widen_umult_even, OTI_vec_widen_umult_odd): New.
+ (OTI_vec_widen_smult_even, OTI_vec_widen_smult_odd): New.
+ (vec_widen_umult_even_optab, vec_widen_umult_odd_optab): New.
+ (vec_widen_smult_even_optab, vec_widen_smult_odd_optab): New.
+ * genopinit.c (optabs): Initialize them.
+ * doc/md.texi: Document them.
+
+2012-07-10 Dehao Chen <dehao@google.com>
+
+ * tree.h (phi_arg_d): New field.
+ * tree-flow-inline.h (gimple_phi_arg_block): New function.
+ (gimple_phi_arg_block_from_edge): New function.
+ (gimple_phi_arg_set_block): New function.
+ (gimple_phi_arg_has_block): New function.
+ (redirect_edge_var_map_block): New function.
+ * tree-flow.h (_edge_var_map): New field.
+ * tree-ssa-live.c (remove_unused_locals): Mark phi_arg's block as used.
+ * tree-eh.c (cleanup_empty_eh_merge_phis): Add block debug info for
+ redirect_edge_var_map_add.
+ * tree-outof-ssa.c (_elim_graph): New field.
+ (insert_partition_copy_on_edge): New parameter.
+ (insert_value_copy_on_edge): New parameter.
+ (insert_rtx_to_part_on_edge): New parameter.
+ (insert_part_to_rtx_on_edge): New parameter.
+ (elim_graph_add_edge): New parameter.
+ (elim_graph_remove_succ_edge): New parameter.
+ (FOR_EACH_ELIM_GRAPH_SUCC): New parameter.
+ (FOR_EACH_ELIM_GRAPH_PRED): New parameter.
+ (new_elim_graph): Add block debug info.
+ (clear_elim_graph): Likewise.
+ (delete_elim_graph): Likewise.
+ (elim_graph_add_node): Likewise.
+ (elim_graph_add_edge): Likewise.
+ (elim_graph_remove_succ_edge): Likewise.
+ (eliminate_build): Likewise.
+ (elim_forward): Likewise.
+ (elim_unvisited_predecessor): Likewise.
+ (elim_backward): Likewise.
+ (elim_create): Likewise.
+ (eliminate_phi): Likewise.
+ (insert_backedge_copies): Likewise.
+ * tree-into-ssa.c (insert_phi_nodes_for): Add block debug info for
+ add_phi_arg.
+ (rewrite_add_phi_arguments): Likewise.
+ * tree-ssa-loop-im.c (execute_sm_if_changed): Likewise.
+ * tree-ssa-tail-merge.c (replace_block_by): Likewise.
+ * tree-ssa-threadupdate.c (copy_phi_args): Likewise.
+ * tree-loop-distribution.c (update_phis_for_loop_copy): Likewise.
+ * tree-ssa-loop-manip.c (create_iv): Likewise.
+ (add_exit_phis_edge): Likewise.
+ (split_loop_exit_edge): Likewise.
+ (copy_phi_node_args): Likewise.
+ (tree_transform_and_unroll_loop): Likewise.
+ * value-prof.c (gimple_ic): Likewise.
+ (gimple_stringop_fixed_value): Likewise.
+ * tree-tailcall.c (add_successor_phi_arg): Likewise.
+ (eliminate_tail_call): Likewise.
+ (create_tailcall_accumulator): Likewise.
+ (tree_optimize_tail_calls_1): Likewise.
+ * tree-phinodes.c (add_phi_arg): Likewise.
+ (make_phi_node): Likewise.
+ (resize_phi_node): Likewise.
+ (remove_phi_arg_num): Likewise.
+ * omp-low.c (expand_parallel_call): Likewise.
+ (expand_omp_for_static_chunk): Likewise.
+ * tree-vect-loop-manip.c (slpeel_update_phis_for_duplicate_loop):
+ Likewise.
+ (slpeel_update_phi_nodes_for_guard1): Likewise.
+ (slpeel_update_phi_nodes_for_guard2): Likewise.
+ (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
+ (set_prologue_iterations): Likewise.
+ (slpeel_tree_peel_loop_to_edge): Likewise.
+ (vect_loop_versioning): Likewise.
+ * tree-parloops.c (create_phi_for_local_result): Likewise.
+ (transform_to_exit_first_loop): Likewise.
+ (create_parallel_loop): Likewise.
+ * ipa-split.c (split_function): Likewise.
+ * tree-vect-loop.c (get_initial_def_for_induction): Likewise.
+ (vect_create_epilog_for_reduction): Likewise.
+ * tree-vect-data-refs.c (vect_setup_realignment): Likewise.
+ * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Likewise.
+ * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
+ (cond_if_else_store_replacement_1): Likewise.
+ * tree-cfgcleanup.c (remove_forwarder_block): Likewise.
+ (remove_forwarder_block_with_phi): Likewise.
+ * tree-ssa-pre.c (insert_into_preds_of_block): Likewise.
+ * tree-predcom.c (initialize_root_vars): Likewise.
+ (initialize_root_vars_lm): Likewise.
+ * sese.c (sese_add_exit_phis_edge): Likewise.
+ * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
+ * tree-ssa.c (flush_pending_stmts): Likewise.
+ (redirect_edge_var_map_add): Likewise.
+ (ssa_redirect_edge): Likewise.
+ * gimple-streamer-in.c (input_phi): Likewise.
+ * tree-vect-stmts.c (vectorizable_load): Likewise.
+ * tree-inline.c (copy_phis_for_bb): Likewise.
+ * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
+ * tree-switch-conversion.c (fix_phi_nodes): Likewise.
+ * tree-cfg.c (reinstall_phi_args): Likewise.
+ (gimple_make_forwarder_block): Likewise.
+ (add_phi_args_after_copy_edge): Likewise.
+ (gimple_duplicate_sese_tail): Likewise.
+
+2012-07-09 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53886
+ * config/sh/sh.c (sequence_insn_p): New function.
+ (find_barrier, sh_insn_length_adjustment): Use it.
+
+2012-07-09 Iain Sandoe <iain@codesourcery.com>
+
+ PR target/53283
+ * config/i386/i386.c (ix86_fold_builtin): Call SUBTARGET_FOLD_BUILTIN
+ if defined.
+ * config/darwin.h: Rename TARGET_FOLD_BUILTIN to
+ SUBTARGET_FOLD_BUILTIN.
+ * config/rs6000/darwin.h: Map TARGET_FOLD_BUILTIN onto
+ SUBTARGET_FOLD_BUILTIN.
+
+2012-07-09 Iain Sandoe <iain@codesourcery.com>
+
+ * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Move NeXT
+ runtime exceptions model setting from here ...
+ * config/darwin.c (darwin_override_options): ... to here.
+
+2012-07-09 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR tree-optimization/53887
+ * tree-cfg.c (group_case_labels_stmt): Make non-static.
+ * tree-flow.h (group_case_labels_stmt): Add prototype.
+ * tree-switch-conversion.c (process_switch): Use group_case_labels_stmt
+ to pre-process every switch.
+
+2012-07-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/53882
+ * tree.c (type_contains_placeholder_1): Handle NULLPTR_TYPE.
+ (type_hash_eq): Likewise.
+
+2012-07-09 Tom de Vries <tom@codesourcery.com>
+ Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-ccp.c (optimize_unreachable): New function.
+ (execute_fold_all_builtins): Use optimize_unreachable to optimize
+ BUILT_IN_UNREACHABLE. Don't optimize after BUILT_IN_UNREACHABLE.
+
+2012-07-09 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/53898
+ * graphite-optimize-isl.c: Make sure CU is not empty.
+
+2012-07-09 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gensupport.c (init_rtx_reader_args_cb): Start counting code
+ generating patterns from 1 to free up 0 for CODE_FOR_nothing.
+ * gencodes.c (main): Give CODE_FOR_nothing the value 0. Add
+ the LAST_INSN_CODE marker at the end.
+ * genoutput.c (nothing): New static struct data.
+ (idata): Initialize to &nothing.
+ (idata_end): Initialize to &nothing.next.
+ (init_insn_for_nothing): New function to create dummy 'nothing' insn.
+ (main): Use it.
+ * genpeep.c (insn_code_number): Remove global variable.
+ (gen_peephole): Take it as an argument instead.
+ (main): Take insn_code_number from read_md_rtx.
+ * optabs.h: Revert r161809:
+ (optab_handlers): Change type of insn_code back to insn_code.
+ (optab_handler, widening_optab_handler, set_optab_handler,
+ set_widening_optab_handler, convert_optab_handler,
+ set_convert_optab_handler, direct_optab_handler,
+ set_direct_optab_handler): Remove int casts.
+ Revert to treating the insn_code field as "insn_code".
+
+2012-07-08 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md (*return_i): Move trap_exit attribute check to ...
+ * config/sh/sh.c (sh_cfun_trap_exit_p): ... this new function.
+ * config/sh/sh-protos.h: Declare it.
+
+2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
+
+ * mcf.c: Do not include tm.h, tree.h, and langhooks.h.
+ (dump_fixup_graph): Use current_function_name.
+ (adjust_cfg_counts): Likewise.
+ * ira-conflicts.c: Do not include tree.h.
+ (ira_build_conflicts): Use REG_USERVAR_P instead of DECL_ARTIFICIAL.
+
+2012-07-08 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh.md (*branch_true_eq, *branch_false_ne, nott): New insns.
+
+2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
+
+ * basic-block.h: Re-group most prototypes per file.
+ (struct edge_list): Remove num_blocks field.
+ (dump_bb_info): Adjust prototypes.
+ (dump_reg_info): Move prototype to regs.h.
+ * function.h: Do not include tree.h.
+ Include vec.h, vecir.h, input.h and machmode.h to compensate.
+ (function_name): New prototype.
+ * gimple.h: Include tree.h to compensate for basic-block.h change.
+ * langhooks.h: Note that tree.h is only necessary for enum tree_code.
+ * regs.h (dump_reg_info): Prototype here.
+ * regset.h: Adjust file reference in comment.
+ (debug_regset): Remove prototype.
+ * rtl.h: Include flags.h for flag_var_tracking_assignments.
+ (MAY_HAVE_DEBUG_INSNS): Define as flag_var_tracking_assignments
+ instead of no-longer-available tree.h's MAY_HAVE_DEBUG_STMTS.
+ (dump_reg_info, dump_flow_info): Remove prototypes.
+ * bb-reorder.c (set_edge_can_fallthru_flag): Move from cfganal.c
+ to here, the only user. Make static.
+ (reorder_basic_blocks): Call dump_reg_info before dump_flow_info.
+ * cfg.c: Do not include tm.h, tree.h, rtl.h, hard-reg-set.h, regs.h,
+ flags.h, function.h, except.h, diagnostic-core.h, tm_p.h, timevar.h,
+ tree-pass.h, cfgloop.h, and tree-flow.h.
+ Include basic-block.h, the first header I'd expect to be included.
+ (reg_obstack): Move to df-core.c.
+ (free_edge): Remove bogus ATTRIBUTE_UNUSED.
+ (remove_edge_raw): Do not call tree-ssa's redirect_edge_var_map_clear.
+ (redirect_edge_succ_nodup): Move to cfghooks.c.
+ (dump_regset, debug_regset): Move to df-core.c.
+ (dump_bb_info): Move to cfgrtl.c.
+ (dump_reg_info): Move to regstat.c.
+ (dump_flow_info): Move to cfgrtl.c.
+ (debug_flow_info): Likewise.
+ (dump_edge_info): Do not look at cfun, a CFG without cfun is nonsense.
+ * cfganal.c: Do not include tm.h, rtl.h, obstack.h, hard-reg-set.h,
+ insn-config.h, recog.h, diagnostic-core.h, tm_p.h, and cfgloop.h.
+ (flow_active_insn_p, forwarder_block_p, can_fallthru,
+ could_fall_through): Move to cfgrtl.c.
+ (set_edge_can_fallthru_flag): Moved to bb-reorder.c.
+ (create_edge_list): Do not set edge_list's removed num_blocks.
+ (print_edge_list): Look at n_basic_blocks instead of num_blocks.
+ (flow_nodes_print): Remove.
+ (flow_edge_list_print): Remove.
+ (inverted_post_order_compute): Use FOR_ALL_BB.
+ * cfgrtl.c (dump_flow_info): Moved from cfg.c.
+ Do not call dump_reg_info.
+ (debug_flow_info): Moved from cfg.c
+ (dump_bb_info): Moved from cfg.c. Take 'verbose' argument
+ to avoid looking at TDF_* flags from tree-pass.h.
+ (flow_active_insn_p, forwarder_block_p, can_fallthru,
+ could_fall_through): Moved from cfganal.c.
+ (print_rtl_with_bb): Adjust dump_bb_info calls.
+ * cfghooks.c (redirect_edge_succ_nodup): Moved from cfg.c.
+ (remove_edge): Call redirect_edge_var_map_clear if IR_GIMPLE.
+ (cfgcleanup.c): Look at MAY_HAVE_DEBUG_INSNS, not MAY_HAVE_DEBUG_STMTS.
+ * cselib.c: Include tree.h with a FIXME.
+ * df-core.c (reg_obstack): Moved from cfg.c.
+ (dump_regset): Likewise.
+ (debug_regset): Likewise. Make a DEBUG_FUNCTION.
+ * final.c (compute_alignments): Call dump_reg_info before
+ dump_flow_info.
+ * function.c (function_name): New function.
+ (current_function_name): Use it.
+ * ifcvt.c (rest_of_handle_if_conversion): Call dump_reg_info before
+ dump_flow_info.
+ * ira-conflicts.c: Include tree.h with a note.
+ * regstat.c (dump_reg_info): Moved here from cfg.c.
+ * loop-init.c: Include regs.h instead of hard-reg-set.h.
+ (rtl_loop_init): Call dump_reg_info before dump_flow_info.
+ (rtl_loop_done): Likewise.
+ * mcf.c: Include tree.h before langhooks.h.
+ * predict.c (maybe_hot_count_p): Assert we have cfun.
+ (probably_never_executed_bb_p): Likewise.
+ * profile.c (compute_branch_probabilities): Use gimple_dump_cfg
+ instead of dump_flow_info.
+ * sched-deps.c: Include tree.h with a FIXME.
+ (call_may_noreturn_p): Add FIXME note why this function has to
+ look at function decls instead of function decl flags.
+ * sched-vis.c: Include tree.h with a FIXME.
+ (print_rtl_slim): Adjust dump_bb_info uses.
+ * statistics.c (statistics_fini_pass_2): Use current_function_name
+ to avoid including tree.h.
+ (statistics_counter_event): Use function_name for the same reason.
+ (statistics_histogram_event): Likewise.
+ * tracer.c (tracer): Remove bogus gcc_assert. Use brief_dump_cfg
+ instead of dump_flow_info.
+ * var-tracking.c (variable_tracking_main_1): Call dump_reg_info
+ before dump_flow_info.
+ * doc/cfg.texi: Update CFG documentation.
+ * Makefile.in (RTL_H): Depend on FLAGS_H.
+ (GIMPLE_H): Depend on TREE_H.
+ (FUNCTION_H): Depend on VEC_H, vecir.h, INPUT_H and MACHMODE_H,
+ but no longer on TREE_H.
+ (C_COMMON_H): Depend on TREE_H.
+ (cselib.o, cse.o, cfganal.o, loop-init.o, ira-conflicts.o,
+ sched-deps.o, sched-vis.o): Fixup dependencies.
+
+2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
+
+ * alias.h: Do not include coretypes.h in header files.
+ * cppbuiltin.h: Likewise.
+ * double-int.h: Likewise.
+ * gimple-fold.h: Likewise.
+ * flags.h: Likewise.
+ * tree-ssa-alias.h: Likewise.
+ * gengtype.h (obstack_chunk_alloc, obstack_chunk_free,
+ OBSTACK_CHUNK_SIZE): Define here to avoid dependency on coretypes.h.
+ * Makefile.in (RTL_BASE_H): Depend on coretypes.h.
+ (TREE_H): Likewise.
+ (ALIAS_H): Do not depend on coretypes.h.
+ (FLAGS_H): Likewise.
+ (realmpfr.o): Depend on coretypes.h.
+
+2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
+
+ * Makefile.in (gengtype-lex.o, gengtype-parse.o, gengtype-state.o,
+ gengtype.o): Add -DGENERATOR_FILE manually for host gengtype objects.
+
+2012-07-07 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.h (TARGET_CPU_CPP_BUILTINS): Remove Maverick support.
+ (TARGET_FPA): Delete definition.
+ (TARGET_MAVERICK): Likewise.
+ (TARGET_FPA_EMU2): Likewise.
+ (arm_fp_model): Remove FPA and Maverick models.
+ (arm_arch_cirrus): Delete declaration.
+ (FLOAT_WORDS_BIG_ENDIAN): Delete definition.
+ (FIXED_REGISTERS): Remove FPA and Maverick support. Reorganize.
+ (CALL_USED_REGISTERS): Likewise.
+ (FIRST_FPA_REGNUM, LAST_FPA_REGNUM): Delete definition.
+ (FIRST_VFP_REGNUM): Renumbered.
+ (D7_VFP_REGNUM): Chain definition.
+ (LAST_LO_VFP_REGNUM): Likewise.
+ (FIRST_HI_VFP_REGNUM): Likewise.
+ (LAST_HI_VFP_REGNUM): Likewise.
+ (FIRST_IWMMXT_GR_REGNUM): Likewise.
+ (LAST_IWMMXT_GR_REGNUM): Likewise.
+ (FIRST_IWMMXT_REGNUM): Likewise.
+ (LAST_IWMMXT_REGNUM): Likewise.
+ (FRAME_POINTER_REGNUM): Renumbered.
+ (ARG_POINTER_REGNUM): Renumbered.
+ (FIRST_PSEUDO_REGISTER): Remove FPA and Maverick registers.
+ (FIRST_CIRRUS_FP_REGNUM, LAST_CIRRUS_FP_REGNUM): Delete definitions.
+ (HARD_REGNO_REGNUM): Remove FPA support.
+ (REG_ALLOC_ORDER): Remove FPA and Maverick registers. Reorganize.
+ (reg_class): Likewise.
+ (REG_CLASS_NAMES): Likewise.
+ (REG_CLASS_CONTENTS): Likewise.
+ (CANNOT_CHANGE_MODE_CLASS): Never true. Update comment.
+ (SECONDARY_INPUT_RELOAD_CLASS): Remove Maverick support.
+ (CLASS_MAX_NREGS): Remove FPA and Maverick support.
+ * aout.h (REGISTER_NAMES): Remove FPA and Maverick registers.
+ Reorganize. Use AAPCS preferred names.
+ (ADDITIONAL_REGISTER_NAMES): Remove aliases for Maverick. Update
+ comments.
+ (OVERLAPPING_REGISTER_NAMES): Update register numbering.
+ * arm.c (FL_CIRRUS): Delete definition.
+ (arm_arch_cirrus): Delete variable.
+ (arm_float_words_big_endian): Delete function.
+ (cirrus_memory_offset): Delete function.
+ (output_mov_long_double_fpa_from_arm): Delete function.
+ (output_mov_long_double_arm_from_fpa): Delete function.
+ (output_mov_double_fpa_from_arm): Delete function.
+ (output_mov_double_arm_from_fpa): Delete function.
+ (emit_sfm): Delete function.
+ (maybe_get_arm_condition_code): Update comment.
+ (arm_file_start): Always use softvfp for softfloat systems.
+ (thumb_core_reg_alloc_order): Adjust for updated register allocation.
+ (arm_option_override): Remove FPA and Maverick support. Always
+ default to vfp as the fallback FPU format.
+ (use_return_insn): Remove FPA support.
+ (arm_get_frame_offsets): Likewise.
+ (arm_save_coproc_regs): Likewise.
+ (arm_canonicalize_comparison): Remove Maverick support.
+ (arm_select_cc_mode): Likewise.
+ (arm_gen_compare_reg): Likewise.
+ (arm_print_operand): Likewise.
+ (arm_libcall_value_1): Remove FPA and Maverick support.
+ (arm_function_value_regno_p): Likewise.
+ (arm_apply_result_size): Likewise.
+ (arm_legitimate_index_p): Likewise.
+ (thumb2_legitimate_index_p): Likewise.
+ (legitimize_reload_address): Likewise.
+ (arm_register_move_cost): Likewise.
+ (arm_hard_regno_mode_ok): Likewise.
+ (arm_regno_class): Likewise.
+ (arm_dbx_register_number): Likewise.
+ (arm_emit_unwind_sequence): Likewise.
+ (arm_conditional_register_usage): Likewise.
+ * arm-protos.h (neg_const_double_rtx_ok_for_fpa): Remove declaration.
+ (cirrus_memory_offset): Likewise.
+ (output_move_long_double_fpa_from_arm): Likewise.
+ (output_move_long_double_arm_from_fpa): Likewise.
+ (output_move_double_fpa_from_arm): Likewise.
+ (output_move_double_arm_from_fpa): Likewise.
+ (arm_float_words_big_endian): Likewise.
+ * arm.md (CC_REGNUM): Renumbered.
+ (VFPCC_REGNUM): Moved here. Renumbered.
+ (FPA_F0_REGNUM, FPA_F7_REGNUM): Delete.
+ (attr fpu): Remove FPA and Maverick support.
+ * vfp.md (VFPCC_REGNUM): Delete. Moved to arm.md.
+ * arm-cores.def (ep9312): Remove Maverick support.
+ * arm-arches.def (ep9312): Delete architecture.
+ * arm-tables.opt: Regenerated.
+
+ * arm/linux-elf.h (FPUTYPE_DEFAULT): Set to vfp.
+
+2012-07-07 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR tree-optimization/53881
+ * tree-switch-conversion.c (emit_case_bit_tests): Do not rely on
+ comparing labels to establish uniqueness of a switch case target,
+ use the CFG instead.
+
+2012-07-07 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour
+ due to negative shift amount.
+
+2012-07-07 Hans-Peter Nilsson <hp@axis.com>
+
+ Fix configure test for "stack protector support in target C library".
+ * configure.ac (test_prefix, test_exec_prefix): Move setting from
+ inside sysroot handling to before and outside it.
+ * configure: Regenerate.
+
+2012-07-06 Kai Tietz <ktietz@redhat.com>
+
+ PR bootstrap/52947
+ * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always
+ as "/mingw/include".
+
+2012-07-06 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/53820
+ * var-tracking.c (vt_add_function_parameter): Convert
+ internal_arg_pointer into arg_pointer-based address even
+ without DRAP.
+
+2012-07-06 Alexandre Oilva <aoliva@redhat.com>
+
+ PR rtl-optimization/53827
+ PR debug/53671
+ PR debug/49888
+ * alias.c (memrefs_conflict_p): Adjust offset and size by the
+ same amount for alignment ANDs.
+
+2012-07-06 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/51879
+ * tree-ssa-sccvn.c (copy_reference_ops_from_call)
+ (visit_reference_op_call): Handle case that lhs is not an SSA_NAME.
+ (visit_use): Also call visit_reference_op_call for calls with a vdef.
+
+2012-07-06 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/52009
+ * tree-ssa-tail-merge.c (gimple_equal_p): For GIMPLE_ASSIGN, compare
+ value numbers of gimple_vdef.
+ * tree-ssa-sccvn.h (vn_reference_insert): Add vdef parameter to
+ prototype.
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle MODIFY_EXPR.
+ (vn_reference_insert): Add and handle vdef parameter.
+ (visit_reference_op_load): Add argument to vn_reference_insert call.
+ (visit_reference_op_store): Find value number of vdef of store. Insert
+ value number of vdef of store.
+
+2012-07-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (simple lea to add peephole): Also transform
+ RTXes where second PLUS operand matches output.
+
+2012-07-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (construct_plt_address): Make static.
+ * config/i386/i386-protos.h (construct_plt_address): Remove.
+
+2012-07-06 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.c (mn10300_encode_section_info): Call
+ default_encode_section_info.
+
+2012-07-06 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53853
+ * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
+ emit PIC sequence for fnaddr symbol reference in advance.
+
+2012-07-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ Revert
+ 2012-06-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (function_possibly_abstracted_p): New static function.
+ (gen_subprogram_die): Use it function_possibly_abstracted_p in lieu of
+ cgraph_function_possibly_inlined_p.
+ (gen_inlined_subroutine_die): Return if the origin is to be ignored.
+ (process_scope_var): Do not emit concrete instances of abstracted
+ nested functions from here.
+ (gen_decl_die): Emit the abstract instance if the function is possibly
+ abstracted and not only possibly inlined.
+ (dwarf2out_finish): Find the first non-abstract parent instance and
+ attach concrete instances on the limbo list to it.
+
+2012-07-05 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+ Julian Brown <julian@codesourcery.com>
+
+ PR target/48941
+ PR target/51980
+ * config/arm/neon-gen.ml (return_by_ptr): Delete.
+ (print_function): Handle empty strings.
+ (return): Delete use of return_by_ptr.
+ (mask_shape_for_shuffle): New function.
+ (mask_elems): Likewise.
+ (shuffle_fn): Likewise.
+ (params): Simplify and remove use of return_by_ptr.
+ (get_shuffle): New function.
+ (print_variant): Update.
+ * config/arm/neon.ml (rev_elems): New function.
+ (permute_range): Likewise.
+ (zip_range): Likewise.
+ (uzip_range): Likewise.
+ (trn_range): Likewise.
+ (zip_elems): Likewise.
+ (uzip_elems): Likewise.
+ (trn_elems): Likewise.
+ (features): New enumeration Use_shuffle. Delete ReturnPtr.
+ (pf_su_8_16): New.
+ (suf_32): New.
+ (ops): Update entries for Vrev64, Vrev32, Vrev16, Vtr, Vzip, Vuzp.
+ * config/arm/arm_neon.h: Regenerate.
+
+2012-07-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-pretty-print.c (dump_generic_node): Properly test
+ the result of exact_log2.
+
+2012-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390-protos.h (s390_expand_movmem)
+ (s390_expand_cmpmem): Add return value.
+ * config/s390/s390.c (s390_expand_movmem, s390_expand_cmpmem):
+ Return FALSE to use the library function in some cases.
+ * config/s390/s390.md (movmem, cmpmem): Evaluate return value of C
+ helper functions.
+
+2012-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config.gcc: Enable ifunc attribute by default on s390 and s390x.
+
+2012-07-05 Steven Bosscher <steven@gcc.gnu.org>
+
+ * expr.c (try_casesi): Remove bogus ATTRIBUTE_UNUSED markers.
+ * stmt.c (dump_case_nodes): New.
+ (expand_case): Split out code generation parts into new functions.
+ (expand_switch_as_decision_tree_p): Split out from expand_case.
+ (emit_case_decision_tree): Likewise.
+ (emit_case_dispatch_table): Likewise.
+
+2012-07-05 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * config/arm/iterators.md (SDF): New mode iterator.
+ (V_if_elem): Add support for SF and DF modes.
+ (V_reg): Likewise.
+ (F_constraint): New mode iterator attribute.
+ (F_fma_type): Likewise.
+ config/arm/vfp.md (fma<SDF:mode>4): New pattern.
+ (*fmsub<SDF:mode>4): Likewise.
+ (*fmnsub<SDF:mode>4): Likewise.
+ (*fmnadd<SDF:mode>4): Likewise.
+
+2012-07-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * expmed.c (expand_mult): Initialize coeff and is_neg.
+
+2012-07-04 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/predicates.md (zero_extend_operand): New predicate.
+ * config/sh/sh.md (zero_extendhisi2): Simplify by using new
+ zero_extend_operand predicate.
+ (zero_extendqisi2): Likewise.
+
+2012-07-04 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/53321
+ * ipa.c (symtab_remove_unreachable_nodes): Partially revert r187375
+ to not call cgraph_propagate_frequency if something was changed.
+
+2012-07-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53433
+ * gimple-fold.c (get_base_constructor): Do not return an
+ error_mark_node DECL_INITIAL.
+
+2012-07-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53844
+ * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
+ the loop virtual PHI.
+
+2012-07-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53849
+ * tree-cfg.c (move_stmt_op): Only call add_referenced_var
+ for duplicated locals. Use add_referenced_var_1 to avoid
+ pushing/popping cfun.
+
+2012-07-04 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/winnt.c (i386_pe_reloc_rw_mask): New function.
+ * config/i386/i386-protos.h (i386_pe_reloc_rw_mask): Add
+ prototype.
+ * config/i386/cygming.h (TARGET_ASM_RELOC_RW_MASK): Define
+ as i386_pe_reloc_rw_mask.
+
+2012-07-04 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (find_decls_types_r): Handle TYPE_CONTEXT the same
+ as in free_lang_data_in_type.
+
+2012-07-04 Tobias Grosser <tobias@grosser.es>
+ Michael Matz <matz@suse.de>
+
+ * Makefile.in (OBJS): Add graphite-optimize-isl.o.
+ (graphite-optimize-isl.o): Add dependencies.
+ * common.opt (floop-nest-optimize): New flag.
+ * doc/invoke.texi (floop-nest-optimize): Document.
+ * graphite-dependences.c (compute_deps): Export.
+ * graphite-poly.h (compute_deps): Declare.
+ * graphite-optimize-isl.c: New file.
+ * graphite-poly.c (apply_poly_transforms): Run the loop
+ nest optimizer.
+ * tree-ssa-loop.c (gate_graphite_transforms): Enable graphite
+ if -floop-nest-optimize is enabled.
+
+2012-07-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/predicates.md (logical_and_operand): New predicate.
+ * config/sh/constraints.md (Jmb, Jmw): New constraints.
+ * config/sh/sh.md (andsi3): Move expander above insns. Add handling
+ of 0xFFFF constant. Use logical_and_operand predicate and
+ satisfies_constraint_Jmb, satisfies_constraint_Jmw.
+ (*andsi3_compact): Make it an insn_and_split. Use
+ logical_and_operand predicate. Add Jmb,Jmw alternatives.
+
+2012-07-03 Jason Merrill <jason@redhat.com>
+
+ PR c++/53826
+ * tree.c (build_zero_cst): Handle NULLPTR_TYPE.
+
+2012-07-03 Nick Clifton <nickc@redhat.com>
+
+ * config/mep/mep.c (mep_reorg_regmove): Use
+ next_nonnote_non_debug_insn to advance to the next insn. Do not
+ expect delete_insn to return an rtx.
+
+2012-07-03 Richard Guenther <rguenther@suse.de>
+
+ * doc/install.texi (CLooG): Clarify how CLooG needs to be
+ configured and that it needs to be built against ISL 0.10.
+
+2012-07-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_option_override_internal): Fix wrong
+ code model string in the error message.
+
+2012-07-03 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53811
+ * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies
+ sibcall_insn_operand. Move it to a temporary register if not.
+
+2012-07-03 Andreas Schwab <schwab@linux-m68k.org>
+
+ PR target/28896
+ * config/m68k/m68k.c (m68k_option_override): Reset stack_limit_rtx
+ if !TARGET_68020.
+
+2012-07-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/xmmintrin.h (_mm_sfence): Use __builtin_ia32_pause.
+
+2012-07-03 Roland McGrath <mcgrathr@google.com>
+
+ * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): Also require that the
+ assembler accept 'rep bsf ...', 'rep bsr ...', 'rep ret' and 'rep nop'.
+ * configure: Regenerated.
+ * config/i386/i386.md (simple_return_internal_long): Use %;
+ (ctz<mode>2): Likewise.
+ (*pause): Likewise.
+
+2012-07-02 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/predicates.md (t_reg_operand, negt_reg_operand): New
+ predicates.
+ * config/sh/sh-protos.h (get_t_reg_rtx): New prototype.
+ * config/sh/sh.c (get_t_reg_rtx): New function. Use it when invoking
+ gen_branch_true and gen_branch_false.
+ * config/sh/sh.md: Use get_t_reg_rtx when invoking gen_branch_true and
+ gen_branch_false.
+ (branch_true, branch_false): Use t_reg_operand predicate.
+ (*branch_true, *branch_false): Delete.
+ (movt): Use t_reg_operand predicate.
+ (*negnegt): Use negt_reg_operand predicate and fold little and big
+ endian variants.
+ (*movtt): Use t_reg_operand and fold little and big endian variants.
+ (*movt_qi): Delete.
+
+2012-07-02 Steven Bosscher <steven@gcc.gnu.org>
+
+ * stmt.c (emit_case_bit_tests): Remove.
+ (expand_case): Remove expand_switch_using_bit_tests_p code.
+ * tree-switch-conversion.c (hoist_edge_and_branch_if_true): New.
+ (MAX_CASE_BIT_TESTS): Moved from stmt.c to here.
+ (lshift_cheap_p): Likewise.
+ (expand_switch_using_bit_tests_p): Likewise.
+ (struct case_bit_test): Likewise.
+ (case_bit_test_cmp): Likewise.
+ (emit_case_bit_tests): New implementation for GIMPLE.
+ (gen_inbound_check): Do not release post-dominator info here.
+ (process_switch): Reorder code. Expand as bit tests if it
+ looks like a win.
+ (do_switchconv): Release post-dominator info here if something changed.
+ (struct gimple_opt_pass): Verify more.
+ * tree.h (expand_switch_using_bit_tests_p): Remove prototype.
+
+2012-07-02 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/38474
+ * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a
+ dynamic type change check.
+
+2012-07-02 Richard Guenther <rguenther@suse.de>
+ Michael Matz <matz@suse.de>
+ Tobias Grosser <tobias@grosser.es>
+ Sebastian Pop <sebpop@gmail.com>
+
+ * Makefile.in: Remove PPL flags in favor of ISL ones.
+ (BACKENDLIBS): Remove PPL libs.
+ (INCLUDES): Remove PPL includes in favor of ISL ones.
+ (graphite-clast-to-gimple.o): Remove graphite-dependences.h and
+ graphite-cloog-compat.h dependencies.
+ (graphite-dependences.o): Likewise.
+ (graphite-poly.o): Likewise.
+ * configure.ac: Declare ISL vars instead of PPL ones.
+ * configure: Regenerated.
+ * doc/install.texi: Replace PPL requirement documentation with ISL one.
+ * graphite-blocking.c: Remove PPL code, add ISL equivalent.
+ * graphite-clast-to-gimple.c: Likewise.
+ * graphite-dependences.c: Likewise.
+ * graphite-interchange.c: Likewise.
+ * graphite-poly.h: Likewise.
+ * graphite-poly.c: Likewise.
+ * graphite-sese-to-poly.c: Likewise.
+ * graphite.c: Likewise.
+ * graphite-scop-detection.c: Re-arrange includes.
+ * graphite-cloog-util.c: Remove.
+ * graphite-cloog-util.h: Likewise.
+ * graphite-ppl.h: Likewise.
+ * graphite-ppl.c: Likewise.
+ * graphite-dependences.h: Likewise.
+
+2012-07-02 Richard Guenther <rguenther@suse.de>
+
+ Merge from graphite branch
+ 2011-07-21 Tobias Grosser <tobias@grosser.es>
+
+ * Makefile.in (graphite-clast-to-gimple.o, graphite-cloog-util.o):
+ Remove graphite-cloog-util.h.
+ * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop,
+ build_iv_mapping, translate_clast_user, translate_clast,
+ free_scattering, initialize_cloog_names, build_cloog_prog,
+ create_params_index): Do not use old compatibility functions.
+ (clast_name_to_index, set_cloog_options): Remove code for legacy cloog.
+ * graphite-cloog-util.c (openscop_print_cloog_matrix): Do not use old
+ compatibility functions.
+ (new_Cloog_Scattering_from_ppl_Polyhedron): Remove code for legacy
+ cloog.
+ * graphite-cloog-util.h: Remove include of graphite-cloog-util.h.
+ * graphite.c (graphite.c): Do not call outdated cloog_initialize() and
+ cloog_finalize().
+ * graphite-cloog-compat.h: Remove.
+
+ 2011-08-09 Tobias Grosser <tobias@grosser.es>
+
+ * graphite-clast-to-gimple.c (new_clast_name_index): Store a copy
+ of the string, no just a reference.
+ (clast_name_index): Add a new field, that specifies if we need to free
+ the name.
+ (free_clast_name_index): If necessary, free the name string.
+ (clast_name_index_elt_info): Calculate the hash based on the string
+ content, not the memory location it is stored in.
+ (clast_name_to_level): Specify that we do not need to free the name.
+ (clast_name_to_index): Dito.
+ (clast_name_to_lb_ub): Dito.
+ (eq_clast_name_indexes): Compare the strings, not their base pointers.
+ (free_scattering): Removed.
+ (initialize_cloog_names): Renamed to add_names_to_union_domain().
+ (add_names_to_union_domain): Changed to work on a union_domain,
+ instead of a CloogNames structure.
+ (build_cloog_prog): Removed.
+ (build_cloog_union_domain): New.
+ (generate_cloog_input): New.
+ (scop_to_clast): Use CloogInput instead of CloogProgram.
+ (print_generated_program): Adapt to new scop_to_clast() and do not
+ print the CloogProgram any more.
+ (create_params_index): Removed, functionality integrated in
+ add_names_to_union_domain().
+ (gloog): Adapt to new scop_to_clast().
+ * graphite-clast-to-gimple.h (scop_to_clast): Remove.
+
+ 2012-01-11 Tobias Grosser <tobias@grosser.es>
+
+ * graphite-clast-to-gimple.c (clast_name_to_index,
+ clast_name_to_lb_ub, clast_name_to_gcc): Change types.
+ (clast_to_gcc_expression): Add clast_expr_name as a new
+ case. Do not assume a clast_expr_term points always to a
+ clast_expr_name.
+ (type_for_clast_term): Do not assume a clast_expr_term points always to
+ a clast_expr_name.
+ (type_for_clast_name): New.
+ (type_for_clast_expr): Add clast_expr_name as a new case.
+
+ 2011-08-03 Sebastian Pop <sebpop@gmail.com>
+
+ * graphite-cloog-util.c (new_Cloog_Domain_from_ppl_Polyhedron,
+ new_Cloog_Scattering_from_ppl_Polyhedron,
+ new_Cloog_Domain_from_ppl_Pointset_Powerset): Remove ATTRIBUTE_UNUSED.
+
+2012-07-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53645
+ * tree-vect-generic.c (expand_vector_divmod): Use TYPE_MODE (type)
+ instead of TYPE_MODE (wider_type) as can_vec_perm_p argument.
+
+2012-07-01 Wei Guozhi <carrot@google.com>
+
+ PR target/53447
+ * config/arm/arm-protos.h (const_ok_for_dimode_op): New prototype.
+ * config/arm/arm.c (const_ok_for_dimode_op): New function.
+ * config/arm/constraints.md (Dd): New constraint.
+ * config/arm/predicates.md (arm_adddi_operand): New predicate.
+ * config/arm/arm.md (adddi3): Extend it to handle constants.
+ (arm_adddi3): Likewise.
+ (addsi3_carryin_<optab>): Extend it to handle sbc case.
+ (addsi3_carryin_alt2_<optab>): Likewise.
+ * config/arm/neon.md (adddi3_neon): Extend it to handle constants.
+
+2012-06-30 Nathan Sidwell <nathan@acm.org>
+
+ * coverage.c (bbg_file_stamp): New.
+ (read_counts_file): Merge incoming stamp with bbg_file_stamp.
+ (build_info): Write bbg_file_stamp.
+ (coverage_init): Initialize bbg_file_stamp. Read counts file
+ before writing graph header.
+ (coverage_finish): Don't unlink the data file if we can generate a
+ unique file stamp.
+ * tree.h (crc32_unsigned): Declare.
+ * tree.c (crc32_unsigned_bits): New, broken out of ...
+ (crc32_byte): ... here. Use it.
+ (crc32_unsigned): New.
+
+2012-06-29 Cary Coutant <ccoutant@google.com>
+
+ * dwarf2out.c (add_pubname_string): Don't check for want_pubnames.
+ (gen_subprogram_die): Don't add pubname if want_pubnames is false.
+ (gen_variable_die): Likewise.
+ (gen_namespace_die): Likewise.
+
+2012-06-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-eh.c (lower_try_finally_switch): Really put the location of the
+ last statement of the finally block onto the switch.
+
+2012-06-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/53539
+ * config/i386/gnu-user64.h (WCHAR_TYPE): Use "int" only for
+ TARGET_LP64.
+
+2012-06-29 Sterling Augustine <saugustine@google.com>
+
+ * dwarf2out.c (add_pubname): Add comment.
+ (add_pubtype): Fix indentation.
+ (gen_enumeration_type_die): Likewise.
+
+2012-06-29 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vect-generic.c (expand_vector_divmod): For even/odd
+ widening multiply, put even always as first argument to VEC_PERM_EXPR.
+
+2012-06-29 Richard Henderson <rth@redhat.com>
+
+ * tree-vect-generic.c: Include target.h.
+ (expand_vector_divmod): Use builtin_mul_widen_even/odd if supported.
+ * Makefile.in (tree-vect-generic.o): Update.
+
+2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
+
+ * configure.ac: Remove special gtfiles case for C.
+ * configure: Regenerate.
+ * Makefile.in: Remove C front-end hooks and build hooks that
+ will be picked up from c/Make-lang.in now.
+ Add tree-mudflap to C_COMMON_OBJS.
+ * gengtype.c (files_rules): Adjust gt-files for c/c-decl.c.
+ * config/vms/vms.c: Look for c-tree.h in c/.
+ * doc/gty.texi: Remove reference to c-config-lang.in.
+ * doc/sourcebuild.texi: Document the c/ subdirectory.
+
+2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
+
+ * system.h (CASE_USE_BIT_TESTS): Poison.
+ * stmt.c (CASE_USE_BIT_TESTS): Fold away into its only user ...
+ (expand_switch_using_bit_tests_p): ...here.
+ * doc/tm.texi.in (CASE_USE_BIT_TESTS): Remove documentation.
+ * doc/tm.texi (CASE_USE_BIT_TESTS): Regenerate.
+
+2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
+
+ * system.h (IFCVT_EXTRA_FIELDS): Poison.
+ (IFCVT_INIT_EXTRA_FIELDS): Poison.
+ * basic-block.h (struct ce_if_block): Remove IFCVT_EXTRA_FIELDS.
+ * ifcvt.c (find_if_header): Use IFCVT_MACHDEP_INIT instead of
+ IFCVT_INIT_EXTRA_FIELDS.
+ * gengtype-parse.c (struct_field_seq): Remove obsolete comment.
+ * config/frv/frv.h (IFCVT_INIT_EXTRA_FIELDS): Rename to
+ IFCVT_MACHDEP_INIT.
+ * config/frv/frv.c (frv_ifcvt_init_extra_fields): Rename to
+ frv_ifcvt_machdep_init.
+ * doc/tm.texi.in (IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS):
+ Remove documentation.
+ (IFCVT_MACHDEP_INIT): Document.
+ * doc/tm.texi: Regenerate.
+
+2012-06-29 Nick Clifton <nickc@redhat.com>
+
+ * config/lm32/lm32.c (lm32_compute_frame_size): Fix typo.
+
+2012-06-29 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vect-stmts.c (vectorizable_operation): Check both
+ VEC_WIDEN_MULT_LO_EXPR and VEC_WIDEN_MULT_HI_EXPR optabs.
+ Verify that operand[0]'s mode is TYPE_MODE (wide_vectype).
+
+2012-06-28 Richard Henderson <rth@redhat.com>
+
+ * doc/generic.texi (MULT_HIGHPART_EXPR): Document it.
+
+2012-06-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51581
+ * tree-vect-stmts.c (permute_vec_elements): Add forward decl.
+ (vectorizable_operation): Handle vectorization of MULT_HIGHPART_EXPR
+ also using VEC_WIDEN_MULT_*_EXPR or builtin_mul_widen_* plus
+ VEC_PERM_EXPR if vector MULT_HIGHPART_EXPR isn't supported.
+ * tree-vect-patterns.c (vect_recog_divmod_pattern): Use
+ MULT_HIGHPART_EXPR instead of VEC_WIDEN_MULT_*_EXPR and shifts.
+
+ PR tree-optimization/53645
+ * tree-vect-generic.c (expand_vector_divmod): Use MULT_HIGHPART_EXPR
+ instead of VEC_WIDEN_MULT_{HI,LO}_EXPR followed by VEC_PERM_EXPR
+ if possible.
+
+2012-06-28 Georg-Johann Lay <avr@gjlay.de>
+
+ PR 53595
+ * config/avr/avr.c (avr_hard_regno_call_part_clobbered): New.
+ * config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New.
+ * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to
+ avr_hard_regno_call_part_clobbered.
+
+2012-06-28 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53790
+ * expr.c (expand_expr_real_1): Verify if the type is complete
+ before inspecting its size.
+
+2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
+
+ * doc/include/gpl.texi: Remove.
+ * doc/sourcebuild.texi (Texinfo Manuals): Don't mention gpl.texi.
+
+2012-06-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53645
+ * tree-vect-generic.c (add_rshift): New function.
+ (expand_vector_divmod): New function.
+ (expand_vector_operation): Use it for vector integer
+ TRUNC_{DIV,MOD}_EXPR by VECTOR_CST.
+ * tree-vect-patterns.c (vect_recog_divmod_pattern): Replace
+ unused lguup variable with dummy_int.
+
+2012-06-28 OLivier Hainque <hainque@adacore.com>
+
+ * expr.c (convert_move): Latch mem integer inputs into a
+ register before expanding a multi-instructions sequence.
+
+2012-06-28 Alexandre Oliva <aoliva@redhat.com>
+ Uros Bizjak <ubizjak@gmail.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/53706
+ PR debug/47624
+ * var-tracking.c (vt_emit_notes): Release loc_exp_dep_pool...
+ (vt_finalize): ... here instead, if needed.
+
+2012-06-28 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/53740
+ PR debug/52983
+ PR debug/48866
+ * dce.c (word_dce_process_block): Check whether inserting debug
+ temps are needed even for needed insns.
+ (dce_process_block): Likewise.
+ * df-problems.c (dead_debug_add): Add comment about multi-regs.
+ (dead_debug_insert_temp): Likewise. Don't subreg when we're
+ setting fewer regs than a multi-reg requires.
+
+2012-06-27 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_dimode_u): New.
+ (alpha_init_builtins): Initialize it, and use it.
+ (alpha_fold_builtin_cmpbge): Use alpha_dimode_u.
+ (alpha_fold_builtin_zapnot, alpha_fold_builtin_insxx): Likewise.
+ (alpha_fold_vector_minmax, alpha_fold_builtin_perr): Likewise.
+ (alpha_fold_builtin_pklb, alpha_fold_builtin_pkwb): Likewise.
+ (alpha_fold_builtin_unpkbl, alpha_fold_builtin_unpkbw): Likewise.
+ (alpha_fold_builtin_cttz, alpha_fold_builtin_ctlz): Likewise.
+ (alpha_fold_builtin_ctpop): Likewise.
+ (alpha_fold_builtin_umulh): Remove.
+ (alpha_fold_builtin): Use MULT_HIGHPART_EXPR for UMULH; fix
+ typo in MAX_ARGS check.
+
+2012-06-27 Richard Henderson <rth@redhat.com>
+
+ * tree.def (MULT_HIGHPART_EXPR): New.
+ * cfgexpand.c (expand_debug_expr): Ignore it.
+ * expr.c (expand_expr_real_2): Handle it.
+ * fold-const.c (int_const_binop_1): Likewise.
+ * optabs.c (optab_for_tree_code): Likewise.
+ * tree-cfg.c (verify_gimple_assign_binary): Likewise.
+ * tree-inline.c (estimate_operator_cost): Likewise.
+ * tree-pretty-print.c (dump_generic_node): Likewise.
+ (op_code_prio, op_symbol_code): Likewise.
+ * tree.c (commutative_tree_code): Likewise. Also handle
+ WIDEN_MULT_EXPR, VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR.
+
+2012-06-27 Richard Henderson <rth@redhat.com>
+
+ PR target/53749
+ * config/i386/i386.c (ix86_rtx_costs): Fix typo vs UNITS_PER_WORD
+ in 2012-06-23 change. Adjust two other DImode tests as well.
+
+2012-06-27 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md (comparesi3_extend): Remove = modifier from
+ input operand.
+
+2012-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53676
+ * tree-chrec.c (chrec_convert_1): Represent truncation to
+ a type with undefined overflow as truncation to an unsigned
+ type converted to the type with undefined overflow.
+ * tree-scalar-evolution.c (interpret_rhs_expr): For computing
+ the scalar evolution of a truncated widened operation avoid
+ looking at the non-existing evolution of the widened operation
+ result.
+
+2012-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53774
+ * tree-ssa-reassoc.c (get_rank): All default defs have
+ precomputed rank.
+ (init_reassoc): Precompute rank for all SSA default defs.
+
+2012-06-27 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md (simple_return): Use the simple_return rtx.
+
+2012-06-26 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_rtx_costs): Use standard_sse_constant_p
+ and don't fall thru from standard_80387_constant_p to the memory
+ fallback.
+
+2012-06-26 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (bdesc_args): Update. Change
+ IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V4SI to OPTION_MASK_ISA_SSE2.
+ (IX86_BUILTIN_VEC_WIDEN_SMUL_EVEN_V4SI): New.
+ (ix86_builtin_mul_widen_even): Use it.
+ (ix86_builtin_mul_widen_odd): Relax SMUL_ODD from sse4 to sse2.
+ (ix86_expand_mul_widen_evenodd): Handle signed for sse2.
+ * config/i386/sse.md (vec_widen_<s>mult_hi_<V124_AVX2>): Allow
+ for all SSE2.
+ (vec_widen_<s>mult_lo_<V124_AVX2>): Likewise.
+ (vec_widen_<s>mult_odd_<VI4_AVX2>): Likewise. Relax from V124_AVX2.
+ (vec_widen_smult_even_v4si): New.
+
+2012-06-26 Richard Henderson <rth@redhat.com>
+
+ * config/i386/sse.md (mul<VI8_AVX2>3): Change from insn_and_split
+ to expander; move guts to ...
+ * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): ... here. Add
+ highparts before shifting up.
+ * config/i386/i386-protos.h: Update.
+
+2012-06-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * system.h (USE_COMMON_FOR_ONE_ONLY): Poison.
+ * defaults.h (USE_COMMON_FOR_ONE_ONLY): Do not provide default.
+ * config/darwin.h (USE_COMMON_FOR_ONE_ONLY): Do not define.
+
+2012-06-26 Alexandre Oliva <aoliva@redhat.com>
+
+ * var-tracking.c (vt_add_function_parameter): Use a preserved
+ VALUE for the MEM address of an incoming parameter.
+
+2012-06-26 Sterling Augustine <saugustine@google.com>
+
+ * dwarf2out.c (output_pubnames): Add check for DW_TAG_enumerator.
+ (prune_unused_types): Likewise.
+
+2012-06-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * system.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ UNALIGNED_LONG_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Poison.
+ * vmsdbgout.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ UNALIGNED_LONG_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Rename to
+ VMS_UNALIGNED_SHORT_ASM_OP, VMS_UNALIGNED_INT_ASM_OP,
+ VMS_UNALIGNED_LONG_ASM_OP, and VMS_UNALIGNED_DOUBLE_INT_ASM_OP.
+ * config/microblaze/microblaze.h (UNALIGNED_SHORT_ASM_OP,
+ UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Do not define.
+ * doc/tm.texi.in: Remove UNALIGNED_INT_ASM_OP reference from the
+ documentation.
+ * doc/tm.texi: Regenerate.
+ * doc/cpp.texi: Make example for #error generic.
+ * config/frv/frv.h: Fix example text to match tm.texi.
+
+2012-06-26 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * tree-pass.h (pass_strength_reduction): New decl.
+ * tree-ssa-loop-ivopts.c (initialize_costs): Make non-static.
+ (finalize_costs): Likewise.
+ * timevar.def (TV_TREE_SLSR): New timevar.
+ * gimple-ssa-strength-reduction.c: New.
+ * tree-flow.h (initialize_costs): New decl.
+ (finalize_costs): Likewise.
+ * Makefile.in (tree-ssa-strength-reduction.o): New dependencies.
+ * passes.c (init_optimization_passes): Add pass_strength_reduction.
+
+2012-06-26 Matt Turner <mattst88@gmail.com>
+
+ * doc/extend.texi (__builtin_arm_tinsrb): Add missing second parameter.
+ (__builtin_arm_tinsrh): Likewise.
+ (__builtin_arm_tinsrw): Likewise.
+ (__builtin_arm_wsadb): Add missing v2si parameter.
+ (__builtin_arm_wsadh): Likewise.
+ (__builtin_arm_getwcx): Delete.
+ (__builtin_arm_setwcx): Delete.
+ (__builtin_arm_getwcgr0): Add.
+ (__builtin_arm_getwcgr1): Add.
+ (__builtin_arm_getwcgr2): Add.
+ (__builtin_arm_getwcgr3): Add.
+ (__builtin_arm_setwcgr0): Add.
+ (__builtin_arm_setwcgr1): Add.
+ (__builtin_arm_setwcgr2): Add.
+ (__builtin_arm_setwcgr3): Add.
+
+2012-06-26 Richard Guenther <rguenther@suse.de>
+
+ Revert
+ 2012-06-21 Richard Guenther <rguenther@suse.de>
+
+ * tree-inline.c (estimate_num_insns): Estimate call cost for
+ tailcalls properly.
+
+2012-06-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR other/33190
+ * doc/tm.texi.in: Document LOGICAL_OP_NON_SHORT_CIRCUIT.
+ * doc/tm.texi: Regenerate.
+
+2012-06-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR other/33190
+ * config/mips/mips.h: Do not define ALL_COP_ADDITIONAL_REGISTER_NAMES.
+ * config/frv/frv.h: Do not define REVERSE_CONDEXEC_PREDICATES_P.
+ * doc/tm.texi.in: Remove documentation for unused target macros
+ ALL_COP_ADDITIONAL_REGISTER_NAMES, DBX_OUTPUT_LBRAC, DBX_OUTPUT_NFUN,
+ DBX_OUTPUT_RBRAC, RANGE_TEST_NON_SHORT_CIRCUIT, REAL_VALUE_TRUNCATE,
+ REVERSE_CONDEXEC_PREDICATES_P, TARGET_ALIGN_ANON_BITFIELDS, and
+ TARGET_NARROW_VOLATILE_BITFIELDS.
+ Document that MD_HANDLE_UNWABI is a macro in libgcc.
+ * doc/tm.texi: Regenerate.
+ * system.h: Poison target macros
+ ALL_COP_ADDITIONAL_REGISTER_NAMES, DBX_OUTPUT_LBRAC, DBX_OUTPUT_NFUN,
+ DBX_OUTPUT_RBRAC, RANGE_TEST_NON_SHORT_CIRCUIT, REAL_VALUE_TRUNCATE,
+ REVERSE_CONDEXEC_PREDICATES_P, TARGET_ALIGN_ANON_BITFIELDS, and
+ TARGET_NARROW_VOLATILE_BITFIELDS
+
+2012-06-26 Jan Hubicka <jh@suse.cz>
+
+ PR lto/53572
+ * cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
+ used symbols.
+
+2012-06-26 Dehao Chen <dehao@google.com>
+
+ * tree-inline.c: (expand_call_inline): Ensure that lexical block's
+ source location is consistant with the call stmt.
+
+2012-06-26 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ PR tree-optimization/53729
+ PR tree-optimization/53636
+ * tree-vect-slp.c (vect_slp_analyze_bb_1): Delay call to
+ vect_verify_datarefs_alignment until after statements have
+ been marked as relevant/irrelevant.
+ * tree-vect-data-refs.c (vect_verify_datarefs_alignment):
+ Skip irrelevant statements.
+ (vect_enhance_data_refs_alignment): Use STMT_VINFO_RELEVANT_P
+ instead of STMT_VINFO_RELEVANT.
+ (vect_get_data_access_cost): Do not check for supportable
+ alignment before calling vect_get_load_cost/vect_get_store_cost.
+ * tree-vect-stmts.c (vect_get_store_cost): Do not abort when
+ handling unsupported alignment.
+ (vect_get_load_cost): Likewise.
+
+2012-06-25 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/rl78/rl78.h: Do not undefine DONT_USE_BUILTIN_SETJMP.
+ Do not define JMP_BUF_SIZE.
+
+2012-06-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53748
+ * tree-ssa-phiopt.c (conditional_replacement): Only optimize
+ if arg0/arg1 have integral or pointer types.
+
+2012-06-25 Richard Henderson <rth@redhat.com>
+
+ * config/i386/sse.md (sse2_sse4_1): Remove code attr.
+ (<s>dot_prodv4si, <s>dot_prodv8si): Remove
+ (sdot_prodv4si): New; handle only XOP.
+
+2012-06-25 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386-builtin-types.def (V4UDI, V8USI): New.
+ (V2UDI_FUNC_V4USI_V4USI): New.
+ (V4UDI_FUNC_V8USI_V8USI): New.
+ * config/i386/i386.c (ix86_expand_args_builtin): Handle them.
+ (IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V4SI): New.
+ (IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V8SI): New.
+ (IX86_BUILTIN_VEC_WIDEN_UMUL_ODD_V4SI): New.
+ (IX86_BUILTIN_VEC_WIDEN_UMUL_ODD_V8SI): New.
+ (IX86_BUILTIN_VEC_WIDEN_UMUL_EVEN_V4SI): New.
+ (IX86_BUILTIN_VEC_WIDEN_UMUL_EVEN_V8SI): New.
+ (bdesc_args): Add them.
+ (ix86_builtin_mul_widen_even, ix86_builtin_mul_widen_odd): New.
+ (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): New.
+ (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New.
+ (ix86_expand_mul_widen_evenodd): Use xop_pmacsdqh.
+ * config/i386/sse.md (vec_widen_<s>mult_odd_<V124_AVX2>): New.
+
+2012-06-25 Richard Henderson <rth@redhat.com>
+
+ * config/i386.sse.md (mul<VI4_AVX2>3): Use xop_pmacsdd.
+
+2012-06-25 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_rtx_costs) [MULT]: Only apply XOP cost
+ to V16QImode.
+ (ix86_expand_vec_interleave): New.
+ (ix86_expand_mul_widen_evenodd): New.
+ (ix86_expand_mul_widen_hilo): New.
+ (ix86_expand_sse2_mulv4si3): Use ix86_expand_mul_widen_evenodd.
+ * config/i386/i386.md (u_bool) New code attr.
+ * config/i386/predicates.md
+ (nonimmediate_or_const_vector_operand): Remove.
+ * config/i386/sse.md (mul<VI4_AVX2>3): Don't use it; don't test
+ both AVX and SSE4_1.
+ (vec_widen<s>mult_hi_<VI2_AVX2>): Remove.
+ (vec_widen<s>mult_lo_<VI2_AVX2>): Remove.
+ (vec_widen<s>mult_hi_v8si): Remove.
+ (vec_widen<s>mult_lo_v8si): Remove.
+ (vec_widen_smult_hi_v4si): Remove.
+ (vec_widen_smult_lo_v4si): Remove.
+ (vec_widen_umult_hi_v4si): Remove.
+ (vec_widen_umult_lo_v4si): Remove.
+ (vec_widen_<s>mult_hi_<VI124_AVX2>): New.
+ (vec_widen_<s>mult_lo_<VI124_AVX2>): New.
+ * config/i386/i386-protos.h: Update.
+
+2012-06-25 Christophe Lyon <christophe.lyon@st.com>
+
+ * config/arm/neon.md (UNSPEC_VLD1_DUP): Remove.
+ (neon_vld1_dup): Restrict to VQ operands.
+ (neon_vld1_dupv2di): New, fixes vld1q_dup_s64.
+
+2012-06-25 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+ James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add new built-ins.
+ (TARGET_FMA): New macro.
+ (TARGET_ARM_QBIT, TARGET_ARM_SAT): Likewise.
+ (TARGET_ARM_ARCH): Likewise.
+ (TARGET_ARM_ARCH_ISA_THUMB): Likewise.
+ (TARGET_V6M, TARGET_V7M): Likewise.
+ (TARGET_ARM_ARCH_PROFILE): Likewise.
+ (TARGET_ARM_FEATURE_LDREX): Likewise.
+ (TARGET_ARM_FP, TARGET_NEON_FP): Likewise.
+ (ARM_MIN_ENUM_SIZE): Likewise.
+ * config/arm/arm.c (arm_file_start): Refactor appropriately.
+ (base_architecture): New enumeration.
+ (arm_base_arch): New global variable.
+ (processors): Add field base_arch.
+ (ARM_ARCH, ARM_CORE): Adjust accordingly.
+ (arm_option_override): Add initialization of arm_base_arch.
+ * doc/cpp.texi (system-specific predefined macros.): Change.
+
+2012-06-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/53759
+ * config/i386/sse.md (sse_loadlps): Use x m x constraints instead
+ of x x x in the vmovlps load alternative.
+
+2012-06-25 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR debug/53740
+ * df.h (dead_debug_add): Remove third argument.
+ * df-problems.c (dead_debug_add): Likewise. Use the REGNO of the
+ REG that we want to replace instead.
+ (dead_debug_insert_temp): Use the REGNO of the reg that we want
+ to replace instead of DF_REF_REGNO. Require there to always be
+ at least one such use. Check for cases where the same location
+ has more than df_ref associated with it.
+ (df_note_bb_compute): Remove third dead_debug_add argument.
+ * dce.c (word_dce_process_block): Likewise.
+
+2012-06-25 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/v850/v850.c: Remove redundant extern declarations for
+ last_assemble_variable_decl and size_directive_output.
+
+ * doc/tm.texi.in: Document JMP_BUF_SIZE.
+ * doc/tm.texi: Regenerate.
+ * config/sparc/sparc.h (JMP_BUF_SIZE): Do not define.
+ * config/pa/pa.h (JMP_BUF_SIZE): Likewise.
+ * config/stormy16/stormy16.h: Likewise.
+
+ * config/picochip/picochip.c: Do not define DONT_USE_BUILTIN_SETJMP.
+
+ * doc/sourcebuild.texi: Add missing subdirectories.
+
+2012-06-25 Tristan Gingold <gingold@adacore.com>
+
+ * config/i386/i386.h: Fix typo.
+
+2012-06-25 Tristan Gingold <gingold@adacore.com>
+
+ * config/i386/winnt.c (i386_pe_seh_end_prologue): Move code to ...
+ (seh_cfa_adjust_cfa): ... that function.
+ (seh_emit_stackalloc): Do not emit out of range values.
+ * config/i386/i386.md: Delete unused UNSPEC_REG_SAVE,
+ UNSPEC_DEF_CFA constants.
+ * config/i386/i386.h (SEH_MAX_FRAME_SIZE): Define.
+ * config/i386/i386.c (ix86_frame_pointer_required): Required
+ for very large frames on SEH target.
+ (ix86_compute_frame_layout): Save area is before frame pointer
+ on SEH target. Handle very large frames.
+ (ix86_expand_prologue): Likewise.
+
+2012-06-24 Steven Bosscher <steven@gcc.gnu.org>
+
+ * output.h: (current_function_is_leaf,
+ current_function_sp_is_unchanging,
+ current_function_uses_only_leaf_regs): Remove.
+ * function.c (current_function_is_leaf,
+ current_function_sp_is_unchanging,
+ current_function_uses_only_leaf_regs): Remove.
+ (rest_of_handle_check_leaf_regs): Set crtl->uses_only_leaf_regs
+ instead of current_function_uses_only_leaf_regs.
+ * function.h (struct rtl_data): New fields sp_is_unchanging,
+ is_leaf, uses_only_leaf_regs.
+ * resource.c (init_resource_info): Replace current_function_is_leaf,
+ current_function_sp_is_unchanging, and
+ current_function_uses_only_leaf_regs with new crtl fields.
+ * sdbout.c (sdbout_symbol): Likewise.
+ * df-core.c (rest_of_handle_df_initialize): Likewise.
+ * ira.c (ira): Likewise.
+ * final.c (final_start_function): Likewise.
+ * reorg.c (fill_simple_delay_slots): Likewise.
+ * regrename.c (check_new_reg_p): Likewise.
+ * stack-ptr-mod.c (notice_stack_pointer_modification_1): Likewise.
+ (notice_stack_pointer_modification): Likewise.
+ * dbxout.c (dbxout_symbol): Likewise.
+ (dbxout_parms): Likewise.
+ * sel-sched.c (init_regs_for_mode): Likewise.
+ * dwarf2out.c (dbx_reg_number): Likewise.
+ (multiple_reg_loc_descriptor): Likewise.
+ * config/i386/i386.c (ix86_frame_pointer_required): Likewise.
+ (gen_pop): Likewise.
+ (ix86_select_alt_pic_regnum): Likewise.
+ (ix86_compute_frame_layout): Likewise.
+ (ix86_finalize_stack_realign_flags): Likewise.
+ (ix86_expand_epilogue): Likewise.
+ * config/rs6000/rs6000.c (rs6000_stack_info): Likewise.
+ * config/h8300/h8300.c (byte_reg): Likewise.
+ * config/c6x/c6x.c (must_reload_pic_reg_p): Likewise.
+ (c6x_save_reg): Likewise.
+ (c6x_compute_frame_layout): Likewise.
+ * config/pa/pa.c (pa_compute_frame_size): Likewise.
+ (pa_output_function_prologue): Likewise.
+ * config/stormy16/stormy16.c (struct xstormy16_stack_layout): Likewise.
+ * config/sparc/sparc.md (attr "leaf_function"): Likewise.
+ * config/sparc/sparc.c (sparc_initial_elimination_offset): Likewise.
+ (sparc_expand_prologue): Likewise.
+ (sparc_flat_expand_prologue): Likewise.
+ (sparc_asm_function_prologue): Likewise.
+ (sparc_output_mi_thunk): Likewise.
+ (sparc_frame_pointer_required): Likewise.
+ * config/epiphany/epiphany.c (epiphany_compute_function_type):
+ Likewise.
+ (epiphany_compute_frame_size): Likewise.
+ * config/lm32/lm32.c (lm32_compute_frame_size): Likewise.
+ * config/cris/cris.c (cris_md_asm_clobbers): Likewise.
+ (cris_frame_pointer_required): Likewise.
+ * config/tilepro/tilepro.c (emit_sp_adjust): Likewise.
+ (tilepro_current_function_is_leaf): Likewise.
+ * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Likewise.
+ * config/pdp11/pdp11.c (pdp11_expand_epilogue): Likewise.
+ * config/ia64/ia64.c (find_gr_spill): Likewise.
+ (ia64_compute_frame_size): Likewise.
+ (ia64_can_eliminate): Likewise.
+ (ia64_initial_elimination_offset): Likewise.
+ * config/m68k/m68k.c (m68k_save_reg): Likewise.
+ (m68k_expand_epilogue): Likewise.
+ * config/rx/rx.c (rx_get_stack_layout): Likewise.
+ * config/tilegx/tilegx.c (tilegx_current_function_is_leaf): Likewise.
+ * config/picochip/picochip.c (picochip_can_eliminate_link_sp_save):
+ Likewise.
+ (picochip_output_frame_debug): Likewise.
+ * config/sh/sh.c (sh_media_register_for_return): Likewise.
+ (sh_allocate_initial_value): Likewise.
+ (sh_output_mi_thunk): Likewise.
+ * config/microblaze/microblaze.c (microblaze_must_save_register):
+ Likewise.
+ (compute_frame_size): Likewise.
+ (microblaze_initial_elimination_offset): Likewise.
+ (microblaze_expand_prologue): Likewise.
+ (microblaze_expand_epilogue): Likewise.
+ * config/frv/frv.c (frv_expand_epilogue): Likewise.
+ (frv_frame_pointer_required): Likewise.
+ * config/spu/spu.c (get_pic_reg): Likewise.
+ (direct_return): Likewise.
+ (spu_expand_prologue): Likewise.
+ (spu_expand_epilogue): Likewise.
+ (spu_initial_elimination_offset): Likewise.
+ * config/mips/mips.c (mips_global_pointer): Likewise.
+ (mips_cfun_might_clobber_call_saved_reg_p): Likewise.
+ (mips_compute_frame_info): Likewise.
+ * config/mep/mep.c (mep_interrupt_saved_reg): Likewise.
+ (mep_reload_pointer): Likewise.
+ * config/rl78/rl78.c (need_to_save): Likewise.
+ * config/cr16/cr16.c (cr16_compute_save_regs): Likewise.
+ * config/score/score.c (score_compute_frame_size): Likewise.
+ (score_function_prologue): Likewise.
+ * config/bfin/bfin.c (must_save_p): Likewise.
+ (expand_prologue_reg_save): Likewise.
+ (expand_epilogue_reg_restore): Likewise.
+ (bfin_frame_pointer_required): Likewise.
+ (n_regs_saved_by_prologue): Likewise.
+ (add_to_reg): Likewise.
+ (expand_interrupt_handler_prologue): Likewise.
+ (expand_interrupt_handler_epilogue): Likewise.
+ (bfin_expand_prologue): Likewise.
+ * config/avr/avr.c (avr_regs_to_save): Likewise.
+ (avr_prologue_setup_frame): Likewise.
+ (expand_epilogue): Likewise.
+ * config/s390/s390.c (s390_regs_ever_clobbered): Likewise.
+ (s390_register_info): Likewise.
+ (s390_frame_info): Likewise.
+ (s390_init_frame_layout): Likewise.
+ (s390_emit_prologue): Likewise.
+
+
+2012-06-24 Steven Bosscher <steven@gcc.gnu.org>
+
+ * system.h: Poison ASM_BYTE_OP and ASM_OUTPUT_BYTE.
+ * vmsdbgout: Do not undefine it if defined.
+ Rename local ASM_BYTE_OP definition to VMS_ASM_BYTE_OP.
+ * config/microblaze/microblaze/h: Do no define ASM_BYTE_OP.
+ * config/mep/mep.h: Do not define ASM_OUTPUT_BYTE.
+
+2012-06-24 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_process_sync_loop): Add missing enum cast.
+
+2012-06-23 Richard Henderson <rth@redhat.com>
+
+ PR target/53749
+ * config/i386/i386.c (ix86_rtx_costs): Add reasonable costs for
+ V*QImode shifts and multiply.
+ (ix86_expand_vecop_qihi): Support shifts.
+ * config/i386/i386.md (any_shift): New code iterator.
+ * config/i386/sse.md (ashlv16qi3): Merge ...
+ (<any_shiftrt>v16qi3): ... into ...
+ (<any_shift><VI1_AVX2>3): ... here. Use ix86_expand_vecop_qihi
+ to support SSE and AVX.
+
+ * config/i386/i386.c (ix86_expand_sse_unpack): Split operands[]
+ parameter into src and dest.
+ * config/i386/sse.md (vec_unpacku_hi_<V124_AVX2>): Update call.
+ (vec_unpacks_hi_<V124_AVX2>): Likewise.
+ (vec_unpacku_lo_<V124_AVX2>): Likewise.
+ (vec_unpacks_lo_<V124_AVX2>): Likewise.
+ * config/i386/i386-protos.h: Update.
+
+ * config/i386/sse.md (mul<VI1_AVX2>3): Change from insn_and_split to
+ pure expander; move expansion code ...
+ * config/i386/i386.c (ix86_expand_vecop_qihi): ... here. New function.
+ * config/i386/i386-protos.h: Update.
+
+2012-06-22 Edmar Wienskoski <edmar@freescale.com>
+
+ * config/rs6000/rs6000.md (define_attr "type"): New type popcnt.
+ (popcntb<mode>2): Add attribute type popcnt.
+ (popcntd<mode>2): Ditto.
+ * config/rs6000/power4.md (define_insn_reservation): Add type popcnt.
+ * config/rs6000/power5.md (define_insn_reservation): Ditto.
+ * config/rs6000/power7.md (define_insn_reservation): Ditto.
+ * config/rs6000/476.md (define_insn_reservation): Ditto.
+ * config/rs6000/power6.md (define_insn_reservation): New
+ reservation for popcnt instructions.
+
+2012-06-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * doc/invoke.texi: Update -mpreferred-stack-boundary=3 warning.
+
+2012-06-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/53383
+ * doc/invoke.texi: Add a warning for -mpreferred-stack-boundary=3.
+ * config/i386/i386.c (ix86_option_override_internal): Allow
+ -mpreferred-stack-boundary=3 for 64-bit if SSE is disabled.
+ * config/i386/i386.h (MIN_STACK_BOUNDARY): Set to 64 for 64-bit
+ if SSE is disabled.
+
+2012-06-22 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * double-int.c (double_int_multiple_of): New function.
+ * double-int.h (double_int_multiple_of): New decl.
+ * tree-ssa-loop-ivopts.c (add_cost, zero_cost): Remove undefs.
+ (mbc_entry_hash): New forward decl.
+ (mbc_entry_eq): Likewise.
+ (zero_cost): Change to no_cost.
+ (mult_costs): New static var.
+ (cost_tables_exist): Likewise.
+ (initialize_costs): New function.
+ (finalize_costs): Likewise.
+ (tree_ssa_iv_optimize_init): Call initialize_costs.
+ (add_cost): Change to add_regs_cost; distinguish costs by speed.
+ (multiply_regs_cost): New function.
+ (add_const_cost): Likewise.
+ (extend_or_trunc_reg_cost): Likewise.
+ (negate_reg_cost): Likewise.
+ (multiply_by_cost): Change to multiply_by_const_cost; distinguish
+ costs by speed.
+ (get_address_cost): Change add_cost to add_regs_cost; change
+ multiply_by_cost to multiply_by_const_cost.
+ (force_expr_to_var_cost): Change zero_cost to no_cost; change
+ add_cost to add_regs_cost; change multiply_by_cost to
+ multiply_by_const_cost.
+ (split_cost): Change zero_cost to no_cost.
+ (ptr_difference_cost): Likewise.
+ (difference_cost): Change zero_cost to no_cost; change multiply_by_cost
+ to multiply_by_const_cost.
+ (get_computation_cost_at): Change add_cost to add_regs_cost; change
+ multiply_by_cost to multiply_by_const_cost.
+ (determine_use_iv_cost_generic): Change zero_cost to no_cost.
+ (determine_iv_cost): Change add_cost to add_regs_cost.
+ (iv_ca_new): Change zero_cost to no_cost.
+ (tree_ssa_iv_optimize_finalize): Call finalize_costs.
+ * tree-ssa-address.c (most_expensive_mult_to_index): Change
+ multiply_by_cost to multiply_by_const_cost.
+ * tree-flow.h (multiply_by_cost): Change to multiply_by_const_cost.
+ (add_regs_cost): New decl.
+ (multiply_regs_cost): Likewise.
+ (add_const_cost): Likewise.
+ (extend_or_trunc_reg_cost): Likewise.
+ (negate_reg_cost): Likewise.
+
+2012-06-22 Richard Guenther <rguenther@suse.de>
+
+ Merge from graphite branch
+ 2011-08-10 Sebastian Pop <sebpop@gmail.com>
+
+ * graphite-sese-to-poly.c (build_scop_drs): Fix memory leak.
+
+ 2012-01-13 Tobias Grosser <tobias@grosser.es>
+
+ * tree-flow.h (parallelized_function_p): Declare.
+ * tree-parloops.c (parallelized_function_p): Export.
+ * graphite.c (graphite_transform_loops): Do not run graphite on
+ already parallel functions.
+
+2012-06-22 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Pass in and
+ return mem. Convert to indirect addressing if not indirect or
+ indexed. Adjust all callers.
+
+2012-06-22 Richard Guenther <rguenther@suse.de>
+
+ * gcov-iov.c: Include bconfig.h and system.h.
+
+2012-06-22 Andreas Schwab <schwab@linux-m68k.org>
+
+ * doc/include/texinfo.tex: Update to version 2012-06-05.14.
+
+2012-06-22 Richard Guenther <rguenther@suse.de>
+
+ PR gcov-profile/53744
+ * gcov-iov.c (main): Treat "" and "prerelease" the same.
+
+2012-06-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR debug/53704
+ * dwarf2out.c (gen_compile_unit_die): Use DW_LANG_Fortran90 as language
+ for GNU Fortran if in strict DWARF2 mode.
+
+2012-06-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-live.c (remove_unused_scope_block_p): Remove again
+ DECL_IGNORED_P non-reg vars even if they are used.
+
+2012-06-21 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/53671
+ PR debug/49888
+ * var-tracking.c (vt_get_canonicalize_base): New.
+ (vt_canonicalize_addr, vt_stack_offset_p): New.
+ (vt_canon_true_dep): New.
+ (drop_overlapping_mem_locs): Use vt_canon_true_dep.
+ (clobber_overlaping_mems): Use vt_canonicalize_addr.
+
+2012-06-21 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/53671
+ PR debug/49888
+ * var-tracking.c (vt_initialize): Record initial offset between
+ arg pointer and stack pointer.
+
+2012-06-21 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/53671
+ PR debug/49888
+ * var-tracking.c (vt_init_cfa_base): Drop redundant recording of
+ CFA base.
+
+2012-06-21 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/53671
+ PR debug/49888
+ * alias.c (memrefs_conflict_p): Improve handling of AND for alignment.
+
+2012-06-21 Alexandre Oliva <aoliva@redhat.com>
+
+ * ddg.c (build_intra_loop_deps): Discard deps of nondebug on debug.
+
+2012-06-21 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/53682
+ * cselib.c (promote_debug_loc): Don't crash on NULL argument.
+
+2012-06-21 Meador Inge <meadori@codesourcery.com>
+
+ PR c/53702
+ * c-decl.c (c_push_function_context): Restore the behavior to reuse
+ the language function allocated for -Wunused-local-typedefs.
+ (c_pop_function_context): If necessary, clear the language function
+ created in c_push_function_context. Always clear out the
+ x_cur_stmt_list field of the restored language function.
+
+2012-06-21 Sterling Augustine <saugustine@google.com>
+ Cary Coutant <ccoutant@google.com>
+
+ * dwarf2out.c (is_cu_die, is_namespace_die, is_class_die,
+ add_AT_pubnames, add_enumerator_pubname, want_pubnames): New functions.
+ (comdat_type_struct): New field 'skeleton_die'.
+ (breakout_comdat_types): Update it.
+ (add_pubname): Rework logic. Call is_class_die, is_cu_die and
+ is_namespace_die. Fix minor style violation. Call want_pubnames.
+ (add_pubname_string): Call want_pubnames.
+ (add_pubtype): Rework logic for calculating type name. Call
+ is_namespace_die. Call want_pubnames.
+ (output_pubnames): Move conditional logic deciding when to produce the
+ section from dwarf2out_finish. Use new skeleton_die field.
+ (base_type_die): Call add_pubtype.
+ (gen_enumeration_type_die): Unconditionally call add_pubtype.
+ (gen_subprogram_die): Adjust calls to add_pubname.
+ (gen_namespace_die): Call add_pubname_string.
+ (dwarf2out_finish): Call add_AT_pubnames; Move logic on when to
+ produce pubnames and pubtypes sections to output_pubnames.
+ * common.opt (-gpubnames): New option.
+ * doc/invoke.texi: Document it.
+
+2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/m32c/m32c-pragma.c: Remove unnecessary includes.
+
+2012-06-21 Michael Matz <matz@suse.de>
+
+ PR middle-end/53688
+ * builtins.c (get_memory_rtx): Always build an all-aliasing MEM_REF
+ with correct size.
+
+2012-06-21 Richard Guenther <rguenther@suse.de>
+
+ * tree-inline.c (estimate_num_insns): Estimate call cost for
+ tailcalls properly.
+
+2012-06-20 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
+
+ * tree.h (DECL_SOURCE_COLUMN): New accessor.
+
+2012-06-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (SINCOS): New int iterator.
+ (sincos): New int attribute.
+ (*<sincos>xf2_i387): Macroize insn from *{sin,cos}xf2_i387 using
+ SINCOS int iterator.
+ (*<sincos>_extend<mode>xf2_i387): Macroize insn from
+ *{sin,cos}_extend<mode>xf2_i387 using SINCOS int iterator.
+
+2012-06-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (RDFSGSBASE): New int iterator.
+ (WRFSGSBASE): Ditto.
+ (fsgs): New int attribute.
+ (rd<fsgs>base<mode>): Macroize insn from rd<fsgs>base<mode> using
+ RDFSGSBASE int iterator.
+ (wr<fsgs>base<mode>): Macroize insn from wr<fsgs>base<mode> using
+ WRFSGSBASE int iterator.
+
+2012-06-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (<rounding_insn><mode>2): Macroize expander
+ from {floor,ceil,btrunc}<mode>2 using FIST_ROUNDING int iterator.
+ (l<rounding_insn><MODEF:mode><SWI48:mode>2): Macroize expander
+ from l{floor,ceil}<MODEF:mode><SWI48:mode>2 using FIST_ROUNDING
+ int iterator.
+
+2012-06-20 Steven Bosscher <steven@gcc.gnu.org>
+
+ * system.h: Poison ASM_OUTPUT_IDENT and IDENT_ASM_OP.
+
+2012-06-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/30318
+ * tree-vrp.c (range_int_cst_p): Do not reject overflowed
+ constants here.
+ (range_int_cst_singleton_p): But explicitely here.
+ (zero_nonzero_bits_from_vr): And here.
+ (extract_range_from_binary_expr_1): Re-implement PLUS_EXPR
+ to cover all cases we can perform arbitrary precision
+ arithmetic with double-ints.
+ (intersect_ranges): Handle adjacent anti-ranges.
+
+2012-06-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (rounding_insn): New int attribute.
+ (<rounding_insn>xf2): Macroize insn from
+ {floor,ceil,btrunc}xf2 using FRNDINT_ROUNDING int iterator.
+ (l<rounding_insn>xf<mode>2): Rename from l<rounding>xf<mode>2.
+
+2012-06-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (IEEE_MAXMIN): New int iterator.
+ (ieee_maxmin): New int attribute.
+ (*ieee_s<ieee_maxmin><mode>3): Macroize insn from
+ *ieee_s{max,min}<mode>3 using IEEE_MAXMIN int iterator.
+
+2012-06-20 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/arm/arm.h (EMIT_EABI_ATTRIBUTE): Remove.
+ * config/arm/arm.c: Do not include c-pragma.h.
+ (arm_emit_eabi_attribute): New function based on EMIT_EABI_ATTRIBUTE.
+ (arm_file_start): Replace uses of EMIT_EABI_ATTRIBUTE with calls
+ to arm_emit_eabi_attribute.
+ * arm-c.c: Do not include output.h.
+ (arm_output_c_attributes): Replace use of EMIT_EABI_ATTRIBUTE with a
+ call to arm_emit_eabi_attribute.
+ * config/arm/arm-protos.h (arm_emit_eabi_attribute): Prototype it.
+
+2012-06-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-data-refs.c (vect_can_force_dr_alignment_p):
+ Allow adjusting alignment of user-aligned decls again.
+
+2012-06-20 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/rl78/rl78-c.c: Remove unnecessary includes.
+
+2012-06-20 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/cris/cris.c: Include cgraph.h.
+ (cris_option_override): Do not set non-existing flag_no_gcc_ident.
+
+2012-06-19 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * emit-rtl.c (need_atomic_barrier_p): New function.
+ * emit-rtl.h (need_atomic_barrier_p): Declare it.
+ * config/alpha/alpha.c (alpha_{pre,post}_atomic_barrier): Use it.
+ * config/arm/arm.c (arm_{pre,post}_atomic_barrier): Use it.
+ * config/tilegx/tilegx.c (tile_{pre,post}_atomic_barrier): Use it.
+ * config/mips/mips.c (mips_{pre,post}_atomic_barrier_p): Remove.
+ (mips_process_sync_loop): Use generic version instead.
+
+2012-06-19 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/mips/mips.c (mips_process_sync_loop): Emit cmp result only if
+ it is used.
+
+2012-06-19 Tom de Vries <vries@codesourcery.com>
+ Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/mips/constraints.md (ZR): New constraint.
+ * config/mips/predicates.md (mem_noofs_operand): New predicate.
+ * config/mips/mips.c (mips_print_operand): Handle new print modifier.
+ * config/mips/mips.h (TARGET_XLP): Define.
+ (TARGET_SYNC_AFTER_SC): Update.
+ (ISA_HAS_SWAP, ISA_HAS_LDADD): Define.
+ * config/mips/sync.md (atomic_exchange, atomic_fetch_add): Use
+ XLP-specific swap and ldadd patterns.
+ (atomic_exchange_swap, atomic_fetch_add_ldadd): New patterns.
+
+2012-06-19 Tom de Vries <vries@codesourcery.com>
+ Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/mips/mips.c (mips_emit_pre_atomic_barrier_p,)
+ (mips_emit_post_atomic_barrier_p): New static functions.
+ (mips_process_sync_loop): Use them. Emit sync memory barriers in
+ accordance with memory model semantics. Add return of CMP result for
+ compare_and_swap.
+ * config/mips/mips.md: Update comment.
+ (sync_cmp): New attribute.
+ (sync_memmodel): New attribute replacing sync_release_barrier.
+ * config/mips/sync.md (UNSPEC_ATOMIC_COMPARE_AND_SWAP,)
+ (UNSPEC_ATOMIC_EXCHANGE, UNSPEC_ATOMIC_FETCH_OP): New constants.
+ (sync_lock_test_and_set, test_and_set_12): Update.
+ (atomic_compare_and_swap, atomic_exchange, atomic_exchange_llsc,)
+ (atomic_fetch_add, atomic_fetch_add_llsc): New patterns.
+
+2012-06-19 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/spe.md (*mov_si<mode>_e500_subreg0): Rename to
+ mov_si<mode>_e500_subreg0.
+ (*mov_si<mode>_e500_subreg0_elf_low)
+ (*mov_si<mode>_e500_subreg4_elf_low): New patterns.
+
+2012-06-19 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c: Include params.h.
+ (alpha_option_override): Initialize PARAM_L1_CACHE_LINE_SIZE,
+ PARAM_L1_CACHE_SIZE, PARAM_L2_CACHE_SIZE for the cpu tuning.
+
+2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
+
+ * doc/tm.texi.in (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE,
+ TARGET_OBJC_DECLARE_CLASS_DEFINITION): Add @hooks.
+ (ASM_DECLARE_CLASS_REFERENCE, ASM_DECLARE_UNRESOLVED_REFERENCE):
+ Remove.
+ * doc/tm.texi: Regenerate.
+ * config/darwin.h (ASM_OUTPUT_LABELREF): Remove special case for
+ .objc_class_name_*.
+ * config/darwin-c.c: Include target.h.
+ (darwin_objc_declare_unresolved_class_reference): New function.
+ (darwin_objc_declare_class_definition): New function.
+ (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE): Define.
+ (TARGET_OBJC_DECLARE_CLASS_DEFINITION): Define.
+
+2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
+
+ * target.def (output_ident): New hook.
+ * targhooks.h (default_asm_output_ident_directive): Add prototype.
+ * varasm.c (assemble_asm): Only prefix a tab if the string does not
+ already start with one.
+ (default_asm_output_ident_directive): New function to emit
+ .ident as a top-level asm node while parsing, or directly to
+ asm_out_file after parsing.
+ * toplev.c (compile_file): Print a GCC .ident with
+ targetm.asm_out.output_ident.
+ * doc/tm.texi.in (ASM_OUTPUT_IDENT): Remove documentation for macro.
+ (TARGET_ASM_OUTPUT_IDENT): Add @hook for this.
+ * doc/tm.texi: Update.
+
+ * config/elfos.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove.
+ (TARGET_ASM_OUTPUT_IDENT): Define.
+ * config/i386/djgpp.h (IDENT_ASM_OP): Remove.
+ * config/i386/gas.h (ASM_OUTPUT_IDENT): Remove.
+ * config/arm/aout.h (ASM_OUTPUT_IDENT): Remove.
+ * config/sparc/sparc.h (IDENT_ASM_OP): Remove.
+ (TARGET_ASM_OUTPUT_IDENT): Define.
+ * config/picochip/picochip.h (IDENT_ASM_OP): Remove.
+ (TARGET_ASM_OUTPUT_IDENT): Define.
+
+ * config/cris/cris-protos.h (cris_asm_output_ident): Add prototype.
+ * config/cris/cris.c (cris_asm_output_ident): New function.
+ * config/cris/cris.h (ASM_OUTPUT_IDENT, IDENT_ASM_OP): Remove.
+
+ * config/microblaze/microblaze-protos.h (microblaze_asm_output_ident):
+ Add prototype.
+ * config/microblaze/microblaze.c: Include cgraph.h for add_asm_node.
+ (microblaze_asm_output_ident): Rewrite to work similar to
+ default_asm_output_ident_directive for front-end .idents.
+ * config/microblaze/microblaze.h (ASM_OUTPUT_IDENT): Remove.
+ (TARGET_ASM_OUTPUT_IDENT): Define.
+
+ * config/mips/mips.h (ASM_OUTPUT_IDENT): Remove.
+ * config/mips/sde.h (IDENT_ASM_OP, ASM_OUTPUT_IDENT): Remove.
+
+ * config/rx/rx.c: Include cgraph.h for add_asm_node.
+ (rx_asm_output_ident): New function, similar to
+ default_asm_output_ident_directive, but handle AS100 syntax also, so
+ that #ident also works for rx in AS100 syntax.
+ (TARGET_ASM_OUTPUT_IDENT): Define.
+ * config/rx/rx.h (IDENT_ASM_OP): Remove.
+
+ * Makefile.in: Fix dependencies for c-family/c-lex.o.
+
+2012-06-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (FIST_ROUNDING): New int iterator.
+ (rounding): Handle UNSPEC_FIST_{FLOOR,CEIL}.
+ (ROUNDING): Ditto.
+ (*fist<mode>2_<rounding>_1): Macroize insn from
+ *fist<mode>2_{floor,ceil}_1 using FIST_ROUNDING int iterator.
+ (fistdi2_<rounding>): Macroize insn from
+ fistdi2_{floor,ceil} using FIST_ROUNDING int iterator.
+ (fistdi2_<rounding>_with_temp and splitters): Macroize insn and
+ corresponding splitters from fistdi2_{floor,ceil} and corresponding
+ splitters using FIST_ROUNDING int iterator.
+ (fist<mode>2_<rounding>): Macroize insn from
+ fist<mode>2_{floor,ceil} using FIST_ROUNDING int iterator.
+ (fist<mode>2_<rounding>_with_temp and splitters): Macroize insn and
+ corresponding splitters from fist<mode>2_{floor,ceil} and corresponding
+ splitters using FIST_ROUNDING int iterator.
+ (l<rounding>xf<mode>2): Macroize expander from l{floor,ceil}xf<mode>2
+ using FIST_ROUNDING int iterator.
+
+2012-06-19 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386-protos.h (ix86_expand_sse2_mulv4si3): Declare.
+ * config/i386/i386.c (ix86_expand_sse2_mulv4si3): New.
+ * config/i386/predicates.md (nonimmediate_or_const_vector_operand): New.
+ * config/i386/sse.md (sse2_mulv4si3): Delete.
+ (mul<VI4_AVX2>3): Use ix86_expand_sse2_mulv4si3 and
+ nonimmediate_or_const_vector_operand.
+
+2012-06-19 Richard Henderson <rth@redhat.com>
+
+ * expmed.c (struct init_expmed_rtl): Split ...
+ (init_expmed_one_mode): ... out of ...
+ (init_expmed): ... here. Initialize integer vector modes also.
+ (synth_mult): Handle integer vector modes.
+ (choose_mult_variant): Likewise.
+ (expand_mult_const): Likewise.
+ (expand_mult): Likewise.
+ * machmode.h (GET_MODE_UNIT_BITSIZE): New.
+
+2012-06-19 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_rtx_costs): Handle CONST_VECTOR, and
+ integral vector modes.
+
+2012-06-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (FRNDINT_ROUNDING): New int iterator.
+ (rounding): New int attribute.
+ (ROUNDING): Ditto.
+ (frndintxf2_<rounding>): Macroize insn from
+ frndintxf2_{floor,ceil,trunc} using FRNDINT_ROUNDING int iterator.
+ (frndintxf2_<rounding>_i387): Macroize insn from
+ frndintxf2_{floor,ceil,trunc}_i387 using FRNDINT_ROUNDING int iterator.
+
+2012-06-19 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (union_ranges): New function.
+ (vrp_meet_1): Use union_ranges.
+ (vrp_meet): Dump what we union and call vrp_meet_1.
+
+2012-06-19 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.md (enum unspec): Delete UNSPEC_SIN and UNSPEC_COS.
+ (attr type): Remove fmul, ffmul, farith, ffarith, float_em
+ f_fpa_load, f_fpa_store, f_mem_r, r_mem_f.
+ (attr write_conflict, attr core_cycles): Update.
+ * arm-generic.md (r_mem_f_wbuf): Delete reservation.
+
+2012-06-19 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (intersect_ranges): Handle more cases.
+ (vrp_intersect_ranges): Dump what we intersect and call ...
+ (vrp_intersect_ranges_1): ... this.
+
+2012-06-19 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53708
+ * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
+ user-supplied alignment and alignment of decls with the used
+ attribute.
+
+2012-06-18 Lawrence Crowl <crowl@google.com>
+
+ * timevar.def (TV_PHASE_GENERATE): Rename to TV_PHASE_LATE_ASM.
+ (TV_PHASE_CGRAPH): Rename to TV_PHASE_OPT_GEN.
+ (TV_PHASE_STREAM_IN): New.
+ (TV_PHASE_STREAM_OUT): New.
+ * timevar.c (validate_phases): New.
+ (timevar_print): Call validate_phases.
+ * c-decl.c (c_write_global_declarations): Rename use of TV_PHASE_CGRAPH
+ to TV_PHASE_OPT_GEN.
+ * langhooks.c (write_global_declarations): Rename use of
+ TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN. Use TV_PHASE_DBGINFO instead of
+ TV_PHASE_CHECK_DBGINFO.
+ * toplev.c (compile_file): Rename use of TV_PHASE_GENERATE to
+ TV_PHASE_LATE_ASM. Move start of TV_PHASE_LATE_ASM to after call to
+ lang_hooks.decls.final_write_globals.
+
+2012-06-18 David Edelshn <dje.gcc@gmail.com>
+
+ * config/rs6000/aix52.h (TARGET_EXTRA_BUILTINS): Define as 0.
+
+2012-06-18 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53712
+ * config/i386/sse.md (*sse4_2_pcmpestr_unaligned): New.
+ (*sse4_2_pcmpistr_unaligned): New.
+
+2012-06-18 Ian Bolton <ian.bolton@arm.com>
+ Sameera Deshpande <sameera.deshpande@arm.com>
+ Greta Yorsh <greta.yorsh@arm.com>
+
+ * config/arm/arm-protos.h (arm_output_epilogue): Remove.
+ * config/arm/arm.c (print_multi_reg): Remove.
+ (vfp_output_fldmd): Likewise.
+ (arm_output_epilogue): Likewise.
+ * config/arm/arm.md (epilogue_insns): Update condition and code.
+
+2012-06-18 Ian Bolton <ian.bolton@arm.com>
+ Sameera Deshpande <sameera.deshpande@arm.com>
+ Greta Yorsh <greta.yorsh@arm.com>
+
+ * config/arm/arm-protos.h (thumb2_expand_return): New declaration.
+ * config/arm/arm.c (thumb2_expand_return): New function.
+ * config/arm/arm.md (return): Update condition and code.
+
+2012-06-18 Ian Bolton <ian.bolton@arm.com>
+ Sameera Deshpande <sameera.deshpande@arm.com>
+ Greta Yorsh <greta.yorsh@arm.com>
+
+ * config/arm/arm-protos.h (output_return_instruction): New parameter
+ and int to bool change of parameter types.
+ * config/arm/arm.c (output_return_instruction): Likewise.
+ * config/arm/arm.md (arm_simple_return): New pattern.
+ (arm_return, cond_return, cond_return_inverted): Add new arguments.
+ * config/arm/thumb2.md (thumb2_return): Update condition and code.
+
+2012-06-18 Ian Bolton <ian.bolton@arm.com>
+ Sameera Deshpande <sameera.deshpande@arm.com>
+ Greta Yorsh <greta.yorsh@arm.com>
+
+ * config/arm/arm-protos.h (arm_expand_epilogue): New declaration.
+ * config/arm/arm.c (arm_expand_epilogue): New function.
+ * config/arm/arm.md (epilogue): Update condition and code.
+ (sibcall_epilogue): Likewise.
+
+2012-06-18 Ian Bolton <ian.bolton@arm.com>
+ Sameera Deshpande <sameera.deshpande@arm.com>
+ Greta Yorsh <greta.yorsh@arm.com>
+
+ * config/arm/arm.c (arm_expand_epilogue_apcs_frame): New function.
+ * config/arm/arm.md (arm_addsi3) Add an alternative.
+
+2012-06-18 Ian Bolton <ian.bolton@arm.com>
+ Sameera Deshpande <sameera.deshpande@arm.com>
+ Greta Yorsh <greta.yorsh@arm.com>
+
+ * config/arm/arm.md (vfp_pop_multiple_with_writeback) New define_insn.
+ * config/arm/predicates.md (pop_multiple_fp) New special predicate.
+ * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): New function.
+
+2012-06-18 Ian Bolton <ian.bolton@arm.com>
+ Sameera Deshpande <sameera.deshpande@arm.com>
+ Greta Yorsh <greta.yorsh@arm.com>
+
+ * config/arm/arm.md (load_multiple_with_writeback) New define_insn.
+ (load_multiple, pop_multiple_with_writeback_and_return) Likewise.
+ (pop_multiple_with_return, ldr_with_return) Likewise.
+ * config/arm/predicates.md (pop_multiple_return) New special predicate.
+ * config/arm/arm-protos.h (arm_output_multireg_pop) New declaration.
+ * config/arm/arm.c (arm_output_multireg_pop) New function.
+ (arm_emit_multi_reg_pop): New function.
+
+2012-06-18 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * config/arm/arm.c (ldm_stm_operation_p): Require SP
+ as base register for loads if SP is in the register list.
+
+2012-06-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53693
+ * tree-vect-patterns.c (vect_operation_fits_smaller_type):
+ Reject operands with more than one use.
+
+2012-06-18 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ PR tree-optimization/53703
+ * tree-ssa-phiopt.c (hoist_adjacent_loads): Skip virtual phis;
+ correctly set bb_for_def[12].
+
+2012-06-18 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/vax/vax.h (VMS_TARGET): Remove.
+
+2012-06-18 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (extract_range_from_assert): Split out range
+ intersecting code.
+ (intersect_ranges): New function.
+ (vrp_intersect_ranges): Likewise.
+
+2012-06-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_gimplify_va_arg): Revert change from
+ r187965.
+
+2012-06-18 Tejas Belagod <tejas.belagod@arm.com>
+
+ * doc/md.texi: Document int iterators.
+ * read-rtl.c (ints): New iterator group.
+ (find_int): Int iterator group callback.
+ (apply_int_iterator): Likewise.
+ (apply_iterators): Traverse int iterator table and add all the used
+ iterators to list.
+ (initialize_iterators): Initialize data structures and callbacks for
+ int iterators.
+ (read_rtx): Parse and read mappings for int iterators.
+ (read_rtx_code): Record int iterator usage.
+
+2012-06-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR middle-end/53698
+ * expr.c (expand_expr_addr_expr_1): Convert to tmode before
+ performing an addition.
+
+2012-06-17 Steven Bosscher <steven@gcc.gnu.org>
+
+ * output.h (split_double): Move prototype to rtl.h.
+ (constructor_static_from_elts_p): Move prototype to tree.c.
+ * rtl.h (split_double): Moved here from output.h.
+ * tree.h (constructor_static_from_elts_p): Moved here from output.h.
+ * final.c (split_double): Move from here ...
+ * rtlanal.c (split_double): ... to here.
+ * expr.c: Do not include output.h.
+
+2012-06-17 Steven Bosscher <steven@gcc.gnu.org>
+
+ * cfglayout.h: Remove.
+ * cfglayout.c: Remove.
+ * function.h (struct function): Remove x_last_location field.
+ * function.c: Do not include cfglayout.h.
+ (expand_function_start): Do not call no-op force_next_line_note.
+ (expand_function_end): Likewise.
+ * cfgrtl.c: Do not include cfglayout.h. Include gt-cfgrtl.h.
+ (unlink_insn_chain): Moved here from cfglayout.c.
+ (skip_insns_after_block, label_for_bb, record_effective_endpoints,
+ into_cfg_layout_mode, outof_cfg_layout_mode,
+ pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode,
+ relink_block_chain, fixup_reorder_chain, verify_insn_chain,
+ fixup_fallthru_exit_predecessor, force_one_exit_fallthru,
+ cfg_layout_can_duplicate_bb_p, duplicate_insn_chain,
+ cfg_layout_duplicate_bb, cfg_layout_initialize, break_superblocks,
+ cfg_layout_finalize): Likewise.
+ (rtl_can_remove_branch_p): Likewise.
+ * rtl.h (insn_scope): Move prototype from cfglayout.h here.
+ (duplicate_insn_chain): Likewise.
+ (force_next_line_note): Remove prototype.
+ * emit-rtl.c: Do not include tree-flow.h, egad. Include vecprim.h.
+ (last_location): Remove #define to emit.x_last_location.
+ (force_next_line_note): Remove no-op function.
+ (init_emit): Don't set x_last_location.
+ (block_locators_locs, block_locators_blocks, locations_locators_locs,
+ locations_locators_vals, prologue_locator, epilogue_locator,
+ curr_location, last_location, curr_block, last_block, curr_rtl_loc):
+ Move POD to here from cfglayout.c.
+ (insn_locators_alloc, insn_locators_finalize, insn_locators_free,
+ set_curr_insn_source_location, get_curr_insn_source_location,
+ set_curr_insn_block, get_curr_insn_block, curr_insn_locator,
+ locator_scope, insn_scope, locator_location, locator_line, insn_line,
+ locator_file, insn_file, locator_eq): Move to here from cfglayout.c.
+ * cfghooks.h: Remove double-include protection.
+ (can_copy_bbs_p, copy_bbs): Move prototypes from cfglayout.h to here.
+ * cfghooks.c (can_copy_bbs_p, copy_bbs): Move to here from cfglayout.c.
+ * final.c: Do not include cfglayout.h.
+ (choose_inner_scope, change_scope): Move to here from cfglayout.c.
+ (reemit_insn_block_notes): Likewise. Make static.
+ * tree-flow.h (tree_could_trap_p, operation_could_trap_helper_p,
+ operation_could_trap_p, tree_could_throw_p): Move from here...
+ * tree.h: ... to here.
+ * gengtype.c (open_base_files): Remove cfglayout.h from the list.
+ * profile.c: Do not include cfghooks.h.
+ * cfgloopmanip.c: Do not include cfglayout.h and cfghooks.h.
+ * modulo-sched.c: Likewise.
+ * loop-unswitch.c: Do not include cfglayout.h.
+ * sched-ebb.c: Likewise.
+ * tracer.c: Likewise.
+ * ddg.c: Likewise.
+ * tree-vect-loop-manip.c: Likewise.
+ * loop-init.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * hw-doloop.c: Likewise.
+ * loop-unroll.c: Likewise.
+ * cfgcleanup.c: Likewise.
+ * bb-reorder.c: Likewise.
+ * sched-rgn.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * config/alpha/alpha.c: Likewise.
+ * config/spu/spu.c: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/c6x/c6x.c: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/score/score.c: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/bfin/bfin.c: Likewise.
+ * Makefile.in (CFGAYOUT_H): Remove, and fixup users.
+ * config/rs6000/t-rs6000 (rs6000.o): Do not depend on cfglayout.h.
+ * config/spu/t-spu-elf (spu.o: $): Likewise.
+ * config/sparc/t-sparc (sparc.o): Do not depend on CFGLAYOUT_H.
+
+2012-06-17 Steven Bosscher <steven@gcc.gnu.org>
+
+ * cfgloop.h: Do not include rtl.h.
+ (enum iv_extend_code): New.
+ (struct rtx_iv): Use iv_extend_code instead of rtx_code.
+ * Makefile.in (CFGLOOP_H): Do not depend on RTL_H.
+ * loop-iv.c (iv_extend_to_rtx_code): New function to translate
+ an IV_EXTEND_CODE to an RTX_CODE.
+ (dump_iv_info): Update for rtx_iv field type change.
+ (iv_constant): Likewise.
+ (iv_subreg): Likewise.
+ (iv_extend): Likewise.
+ (iv_neg): Likewise.
+ (iv_add): Likewise.
+ (iv_mult): Likewise.
+ (iv_shift): Likewise.
+ (get_biv_step_1): Likewise.
+ (get_biv_step): Likewise.
+ (iv_analyze_biv): Likewise.
+ (get_iv_value): Likewise.
+ (shorten_into_mode): Likewise.
+ (canonicalize_iv_subregs): Likewise.
+ * sese.c (sese_build_liveouts): Use MAY_HAVE_DEBUG_STMTS instead
+ of MAY_HAVE_DEBUG_INSNS.
+ * tree-ssa-loop-ivopts.c: Include recog.h after expr.h.
+ * tree-ssa-loop-prefetch.c: Likewise.
+
+2012-06-17 Steven Bosscher <steven@gcc.gnu.org>
+
+ * expmed.c (ceil_log2): Move from here...
+ * hwint.c: ... to here for older GCCs...
+ * hwint.h: ... and here for newer GCCs.
+ * rtl.h (ceil_log2): Remove prototype.
+
+ * tree-phinodes.c: Do not include rtl.h.
+ * Makefile.in (tree-phinodes.o): Do not depend on RTL_H.
+
+2012-06-17 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/cris/cris.h (TARGET_ELF): Remove.
+ (FORCE_EH_FRAME_INFO_IN_DATA_SECTION): Remove.
+ (CRIS_ASM_OUTPUT_ALIGNED_DECL_COMMON): Simpify using TARGET_ELF==1.
+ (LOCAL_LABEL_PREFIX): Likewise.
+ * config/cris/cris.c (cris_target_asm_named_section): Remove.
+ (cris_option_override): Simpify using TARGET_ELF==1.
+ (cris_file_start): Likewise.
+ * config/cris/cris-protos.h (cris_target_asm_named_section): Remove.
+
+2012-06-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (vcvtph2ps): Fix vec_select selector.
+
+2012-06-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/53590
+ * tree-inline.c (initialize_cfun): Copy can_delete_dead_exceptions.
+
+2012-06-15 Easwaran Raman <eraman@google.com>
+
+ * passes.c (init_optimization_passes): Remove pass_call_cdce
+ from its current position and insert after pass_dce.
+
+2012-06-15 Walter Lee <walt@tilera.com>
+
+ * config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>): Fix typo.
+
+2012-06-15 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (note_invalid_constants): Don't return a result.
+ (arm_memory_load_p): Delete function.
+ (arm_const_double_rtx): Delete iterator variable i;
+ (fp_immediate_constant): Likewise.
+ (fp_const_from_val): Likewise.
+
+ * arm.c (arm_init_iwmmxt_builtins): Delete void_ftype_void.
+
+2012-06-15 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/51033
+ * c-typeck.c (c_build_vec_perm_expr): Move to c-family/c-common.c.
+ * c-tree.h (c_build_vec_perm_expr): Move to c-family/c-common.h.
+
+2012-06-15 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (avr_default_expand_builtin): New function.
+ (avr_expand_builtin): Use it.
+ (avr_expand_unop_builtin): Remove.
+ (avr_expand_binop_builtin): Remove.
+ (avr_expand_triop_builtin): Remove.
+
+2012-06-15 Michael Matz <matz@suse.de>
+
+ PR middle-end/38474
+ * cfgexpand.c (add_alias_set_conflicts): Remove.
+ (expand_used_vars): Don't call it.
+ (aggregate_contains_union_type): Remove.
+ * function.c (n_temp_slots_in_use): New static data.
+ (make_slot_available, assign_stack_temp_for_type): Update it.
+ (init_temp_slots): Zero it.
+ (remove_unused_temp_slot_addresses): Use it for quicker removal.
+ (remove_unused_temp_slot_addresses_1): Use htab_clear_slot.
+
+2012-06-15 Michael Matz <matz@suse.de>
+
+ * gimplify.c (gimplify_compound_literal_expr): Take gimple_test_f
+ argument, don't emit assign statement if value is directly usable.
+ (gimplify_expr): Adjust.
+
+2012-06-15 Michael Matz <matz@suse.de>
+
+ * gimplify.c (gimplify_modify_expr): Fold generated statements.
+ * gimple-fold.c (can_refer_decl_in_current_unit_p): Check flag_ltrans.
+
+2012-06-15 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (set_and_canonicalize_value_range): Use canonical
+ predicates to set VR_UNDEFINED and VR_VARYING. Drop a case
+ we assert for in set_value_range to VR_VARYING.
+
+2012-06-15 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.md (addsf3, adddf3): Use s_register_operand.
+ (subsf3, subdf3): Likewise.
+ (mulsf3, muldf3): Likewise.
+ (difsf3, divdf3): Likewise.
+ (movsfcc, movdfcc): Likewise.
+ * predicates.md (f_register_operand): Delete.
+ (arm_float_rhs_operand): Delete.
+ (arm_float_add_operand): Delete.
+ (arm_float_compare_operand): Use s_register_operand when
+ there's no VFP.
+ (cirrus_register_operand): Delete.
+ (cirrus_fp_register): Delete.
+ (cirrus_shift_const): Delete.
+ (cmpdi_operand): Remove Maverick support.
+ * constraints.md (f, v, H): Delete constraints.
+ (G): Update documentation.
+ * arm.c (fp_consts_inited): Convert to bool.
+ (strings_fp): Delete.
+ (values_fp): Delete.
+ (value_fp0): New variable.
+ (init_fp_table): Simplify logic.
+ (arm_const_double_rtx): Likewise.
+ (fp_immediate_constant): Likewise.
+ (fp_const_from_val): Likewise.
+ (neg_const_double_rtx_ok_for_fpa): Delete.
+ * doc/md.texi (ARM constraints): Update documentation.
+
+2012-06-15 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ PR tree-optimization/53636
+ * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Verify
+ stride when doing basic-block vectorization.
+
+2012-06-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * tree-vect-generic.c (lower_vec_perm): Propagate vector constants
+ into VEC_PERM_EXPR.
+
+2012-06-15 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vect-patterns.c (vect_pattern_recog): Don't unnecessarily
+ allocate and free bbs array for the SLP case.
+
+ PR tree-optimization/51581
+ * expr.h (choose_multiplier): New prototype.
+ * expmed.c (choose_multiplier): No longer static.
+ Change multiplier_ptr from rtx * to UHWI *.
+ (expand_divmod): Adjust callers.
+ * tree-vect-patterns.c (vect_recog_sdivmod_pow2_pattern): Renamed to...
+ (vect_recog_divmod_pattern): ... this. Pass bb_vinfo as last
+ argument to new_stmt_vec_info. Attempt to optimize also divisions
+ by non-pow2 constants if integer vector division isn't supported.
+ * tree-vect-stmts.c (vect_analyze_stmt): If node != NULL,
+ don't look at pattern stmts and sequences.
+
+2012-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/53590
+ * common.opt (-fdelete-dead-exceptions): New switch.
+ * doc/invoke.texi (Code Gen Options): Document it.
+ * cse.c (count_reg_usage) <CALL_INSN>: Use !insn_nothrow_p in lieu of
+ insn_could_throw_p predicate. Do not skip an insn that could throw
+ if dead exceptions can be deleted.
+ (insn_live_p): Likewise, do not return true in that case.
+ * dce.c (can_alter_cfg): New flag.
+ (deletable_insn_p): Do not return false for an insn that can throw if
+ the CFG can be altered and dead exceptions can be deleted.
+ (init_dce): Set can_alter_cfg to false for fast DCE, true otherwise.
+ * dse.c (scan_insn): Use !insn_nothrow_p in lieu of insn_could_throw_
+ predicate. Do not preserve an insn that could throw if dead exceptions
+ can be deleted.
+ * function.h (struct function): Add can_delete_dead_exceptions flag.
+ * function.c (allocate_struct_function): Set it.
+ * lto-streamer-in.c (input_struct_function_base): Stream it.
+ * lto-streamer-out.c (input_struct_function_base): Likewise.
+ * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Do not mark a
+ statement that could throw as necessary if dead exceptions can be
+ deleted.
+
+2012-06-14 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo.
+
+2012-06-14 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53568
+ * config/sh/sh.md: Add peephole for swapbsi2.
+ (*swapbisi2_and_shl8, *swapbhisi2): New insns and splits.
+
+2012-06-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*zero_extendsidi2): Remove x,x alternative.
+ (*zero_extendsidi2_rex64): Ditto. Remove isa attribute.
+
+2012-06-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/53639
+ * config/i386/i386.md (*anddi_1 into *andsi_1_zext splitter): New.
+
+2012-06-14 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (arm_cirrus_insn_p): Delete.
+ (cirrus_reorg): Delete.
+ (arm_reorg): Don't call cirrus_reorg.
+ (arm_final_prescan_insn_p): Don't check for cirrus insns.
+ * arm.md (define_attr "type"): Remove mav_farith and mav_dmult.
+ (adddi3, subdi3): Remove Maverick support.
+ (arm_adddi3): Likewise.
+ (adddi_sesidi_di, adddi_zesidi_di): Likewise.
+ (addsf3, adddf3): Likewise.
+ (subsf3, subdf3): Likewise.
+ (mulsf3, muldf3): Likewise.
+ (ashldi3, ashrdi3, lshrdi3): Likewise.
+ (floatsisf2, floatsidf2): Likewise.
+ (fix_truncsfsi2, fix_truncdfsi2): Likewise.
+ (arm_movdi, thumb1_movdi_insn): Likewise.
+ (arm_cmpdi_insn): Likewise.
+ (cirrus_cmpsf, cirrus_cmpdf, cirrus_cmpdi): Likewise.
+ (cirrus.md): Don't include.
+ * cirrus.md: Delete file.
+ * t-arm (MD_INCLUDES): Remove cirrus.md.
+
+2012-06-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (function_possibly_abstracted_p): New static function.
+ (gen_subprogram_die): Use it function_possibly_abstracted_p in lieu of
+ cgraph_function_possibly_inlined_p.
+ (gen_inlined_subroutine_die): Return if the origin is to be ignored.
+ (process_scope_var): Do not emit concrete instances of abstracted
+ nested functions from here.
+ (gen_decl_die): Emit the abstract instance if the function is possibly
+ abstracted and not only possibly inlined.
+ (dwarf2out_finish): Find the first non-abstract parent instance and
+ attach concrete instances on the limbo list to it.
+
+2012-06-14 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.md (divsf3, divdf3): Remove FPA support.
+ (negsf2, negdf2): Likewise.
+ (sqrtsf2, sqrtdf2): Likewise.
+ (movdfcc): Likewise.
+ (modsf3, moddf3, movxf): Delete.
+ (push_fp_multi): Delete.
+ (fpa.md): Don't include it.
+ * fpa.md: Delete file.
+ * t-arm (MD_INCLUDES): Remove fpa.md.
+
+2012-06-14 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * tree-vectorizer.h (vect_get_stmt_cost): Move from tree-vect-stmts.c.
+ (cost_for_stmt): Remove decl.
+ (vect_get_single_scalar_iteration_cost): Correct typo in name.
+ * tree-vect-loop.c (vect_get_cost): Remove.
+ (vect_get_single_scalar_iteration_cost): Correct typo in name; use
+ vect_get_stmt_cost rather than vect_get_cost.
+ (vect_get_known_peeling_cost): Use vect_get_stmt_cost rather than
+ vect_get_cost.
+ (vect_estimate_min_profitable_iters): Correct typo in call to
+ vect_get_single_scalar_iteration_cost; use vect_get_stmt_cost rather
+ than vect_get_cost.
+ (vect_model_reduction_cost): Use vect_get_stmt_cost rather than
+ vect_get_cost.
+ (vect_model_induction_cost): Likewise.
+ * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Correct
+ typo in call to vect_get_single_scalar_iteration_cost.
+ * tree-vect-stmts.c (vect_get_stmt_cost): Move to tree-vectorizer.h.
+ (cost_for_stmt): Remove unnecessary function.
+ * Makefile.in (TREE_VECTORIZER_H): Update dependencies.
+
+2012-06-14 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.opt (mfp=2, mfp=3, mfpe, mfpe=2, mfpe=3): Delete options.
+ * arm-fpus.def (fpa, fpe2, fpe3, maverick): Delete FPU types.
+ * arm-tables.opt: Regenerated.
+ * doc/invoke.texi: Remove references to deleted options.
+
+2012-06-14 Sandeep Kumar Singh <Sandeep.Singh2@kpitcummins.com>
+
+ * config/h8300/genmova.sh: Modified to add offset bits of
+ mova/Sz assembly instruction for memory access.
+ * config/h8300/h8300.c: Likewise.
+ * config/h8300/mova.md: Likewise.
+
+2012-06-12 Christian Bruel <christian.bruel@st.com>
+
+ PR target/53621
+ * config/sh/sh.c (sh_option_override): Don't force
+ flag_omit_frame_pointer and maccumulate_outgoing_args.
+ * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.
+
+2012-06-14 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (VR_INITIALIZER): New define.
+ (ranges_from_anti_range): New function.
+ (extract_range_from_binary_expr_1): Decompose operations on
+ VR_ANTI_RANGEs to operations on VR_RANGE.
+ (extract_range_from_unary_expr_1): Likewise.
+ (extract_range_from_binary_expr_1, extract_range_from_binary_expr,
+ extract_range_from_unary_expr_1, extract_range_from_unary_expr,
+ extract_range_from_cond_expr, adjust_range_with_scev,
+ vrp_visit_assignment_or_call, vrp_visit_phi_node,
+ simplify_bit_ops_using_ranges): Use VR_INITIALIZER.
+
+2012-06-13 Richard Henderson <rth@redhat.com>
+
+ * hwint.h (HOST_WIDEST_INT_C): New.
+ (HOST_WIDE_INT_C): New.
+ (HOST_WIDE_INT_1): Use it.
+ * config/alpha/alpha.c (alpha_trampoline_init): Use it.
+
+2012-06-13 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/49888
+ * var-tracking.c: Include alias.h.
+ (overlapping_mems): New struct.
+ (drop_overlapping_mem_locs): New.
+ (clobber_overlapping_mems): New.
+ (var_mem_delete_and_set, var_mem_delete): Call it.
+ (val_bind): Likewise, but only if modified.
+ (compute_bb_dataflow, emit_notes_in_bb): Call it on MEMs.
+ * Makefile.in (var-tracking.o): Depend in $(ALIAS_H).
+
+2012-06-13 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/47624
+ * var-tracking.c (loc_exp_dep_pool): New.
+ (vt_emit_notes): Create and release the pool.
+ (compute_bb_dataflow): Use value-based locations in MO_VAL_SET.
+ (emit_notes_in_bb): Likewise.
+ (loc_exp_dep_insert): Deal with NOT_ONEPART vars.
+ (notify_dependents_of_changed_value): Likewise.
+ (notify_dependents_of_resolved_value): Check that NOT_ONEPART
+ variables don't have a VAR_LOC_DEP_LST.
+ (emit_note_insn_var_location): Expand NOT_ONEPART locs that are
+ VALUEs or MEMs of VALUEs.
+
+2012-06-13 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/52983
+ PR debug/48866
+ * dce.c (word_dce_process_block): Insert debug temps only if the
+ insn is not marked.
+ (dce_process_block): Likewise, and if debug.used is not empty,
+ and only after iterating over all DEFs that might mark the insn.
+
+2012-06-13 Alexandre Oliva <aoliva@redhat.com>
+
+ * common.opt (ftree-coalesce-inlined-vars): New.
+ (ftree-coalesce-vars): New.
+ * doc/invoke.texi: Document them.
+ * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
+ Implement them.
+
+2012-06-13 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * read-rtl.c (mapping): Remove index field. Add current_value field.
+ Define heap vectors.
+ (iterator_group): Fix long line. Remove num_builtins field and
+ uses_iterator fields. Make apply_iterator take a void * parameter.
+ (iterator_use, atttribute_use): New structures.
+ (iterator_traverse_data, BELLWETHER_CODE, bellwether_codes): Delete.
+ (current_iterators, iterator_uses, attribute_uses): New variables.
+ (uses_mode_iterator_p, uses_code_iterator_p): Delete.
+ (apply_mode_iterator, apply_code_iterator): Take a void * parameter.
+ (map_attr_string, apply_iterator_to_string): Remove iterator
+ and value parameters. Look through all current iterator values
+ for a matching attribute.
+ (mode_attr_index, apply_mode_maps): Delete.
+ (apply_iterator_to_rtx): Replace with...
+ (copy_rtx_for_iterators): ...this new function.
+ (uses_iterator_p, apply_iterator_traverse): Delete.
+ (apply_attribute_uses, add_current_iterators, apply_iterators): New
+ functions.
+ (add_mapping): Remove index field. Set current_value field.
+ (initialize_iterators): Don't set num_builtins and uses_iterator_p
+ fields.
+ (find_iterator): Delete.
+ (record_iterator_use, record_attribute_use): New functions.
+ (record_potential_iterator_use): New function.
+ (check_code_iterator): Remove handling of bellwether codes.
+ (read_rtx): Remove mode maps. Truncate iterator and attribute uses.
+ (read_rtx_code, read_nested_rtx, read_rtx_variadic): Remove mode_maps
+ parameter. Use the first code iterator value instead of the
+ bellwether_codes array. Use record_potential_iterator_use for modes.
+
+2012-06-13 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53568
+ * config/sh/sh.md (bswapsi2): New expander.
+ (swapbsi2): New insn.
+
+2012-06-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/53647
+ * config/i386/i386.c (ix86_tune_cost): New variable.
+ (ix86_option_override_internal): Set ix86_tune_cost. Use
+ ix86_tune_cost for simultaneous_prefetches, prefetch_block,
+ l1_cache_size and l2_cache_size.
+
+2012-06-13 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (vrp_meet): Properly meet equivalent ranges.
+ Handle meeting two VR_RANGE to an VR_ANTI_RANGE. Implement
+ all possible meetings of VR_RANGE with VR_ANTI_RANGE and
+ VR_ANTI_RANGE with VR_ANTI_RANGE.
+
+2012-06-13 Richard Earnshaw <rearnsha@arm.com>
+
+ * config.gcc (unsupported): Move obsoleted FPA-based configurations
+ here from ...
+ (obsolete): ... here.
+ (arm*-*-freebsd*): Remove.
+ (arm*-*-linux*): Only accept EABI variants. Simplify logic.
+ (arm*-*-uclinux*): Likewise.
+ (arm*-*-ecos-elf): Remove.
+ (arm*-*-rtems*): Remove.
+ (arm*-*-elf): Remove.
+ (arm*-wince-pe*): Remove.
+ (arm, --with-fpu): Remove support for fpa and Maverick variants.
+ * arm/ecos-elf.h: Delete.
+ * arm/t-strongarm-elf: Delete.
+ * arm/rtems-elf.h: Delete.
+ * arm/wince-pe.h: Delete.
+ * arm/pe.c: Delete.
+ * arm/pe.h: Delete.
+ * arm/t-wince-pe: Delete.
+
+2012-06-13 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ PR tree-optimization/53647
+ * tree-ssa-phiopt.c (gate_hoist_loads): Skip transformation for
+ targets with no defined cache line size.
+
+2012-06-13 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * targhooks.c (default_builtin_vectorized_conversion): Handle
+ vec_construct, using vectype to base cost on subparts.
+ * target.h (enum vect_cost_for_stmt): Add vec_construct.
+ * tree-vect-stmts.c (vect_model_load_cost): Use vec_construct
+ instead of scalar_to-vec.
+ * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
+ vec_construct in same way as default for now.
+ * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
+ * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
+ Handle vec_construct, including special case for 32-bit loads.
+
+2012-06-13 Xinyu Qi <xyqi@marvell.com>
+
+ * config/arm/arm.c (FL_IWMMXT2): New define.
+ (arm_arch_iwmmxt2): New variable.
+ (arm_option_override): Enable use of iWMMXt with VFP.
+ Disable use of iWMMXt with NEON. Disable use of iWMMXt under
+ Thumb mode. Set arm_arch_iwmmxt2.
+ (arm_expand_binop_builtin): Accept VOIDmode op.
+ (enum arm_builtins): Revise built-in fcode.
+ (IWMMXT2_BUILTIN): New define.
+ (IWMMXT2_BUILTIN2): Likewise.
+ (iwmmx2_mbuiltin): Likewise.
+ (builtin_description bdesc_2arg): Revise built in declaration.
+ (builtin_description bdesc_1arg): Likewise.
+ (arm_init_iwmmxt_builtins): Revise built in initialization.
+ (arm_expand_builtin): Revise built in expansion.
+ (arm_output_iwmmxt_shift_immediate): New function.
+ (arm_output_iwmmxt_tinsr): Likewise.
+ * config/arm/arm-protos.h (arm_output_iwmmxt_shift_immediate): Declare.
+ (arm_output_iwmmxt_tinsr): Likewise.
+ * config/arm/iwmmxt.md (WCGR0, WCGR1, WCGR2, WCGR3): New constant.
+ (iwmmxt_psadbw, iwmmxt_walign, iwmmxt_tmrc, iwmmxt_tmcr): Delete.
+ (rorv4hi3, rorv2si3, rordi3): Likewise.
+ (rorv4hi3_di, rorv2si3_di, rordi3_di): Likewise.
+ (ashrv4hi3_di, ashrv2si3_di, ashrdi3_di): Likewise.
+ (lshrv4hi3_di, lshrv2si3_di, lshrdi3_di): Likewise.
+ (ashlv4hi3_di, ashlv2si3_di, ashldi3_di): Likewise.
+ (iwmmxt_tbcstqi, iwmmxt_tbcsthi, iwmmxt_tbcstsi): Likewise
+ (*iwmmxt_clrv8qi, *iwmmxt_clrv4hi, *iwmmxt_clrv2si): Likewise.
+ (tbcstv8qi, tbcstv4hi, tbsctv2si): New pattern.
+ (iwmmxt_clrv8qi, iwmmxt_clrv4hi, iwmmxt_clrv2si): Likewise.
+ (*and<mode>3_iwmmxt, *ior<mode>3_iwmmxt, *xor<mode>3_iwmmxt): Likewise.
+ (ror<mode>3, ror<mode>3_di): Likewise.
+ (ashr<mode>3_di, lshr<mode>3_di, ashl<mode>3_di): Likewise.
+ (ashli<mode>3_iwmmxt, iwmmxt_waligni, iwmmxt_walignr): Likewise.
+ (iwmmxt_walignr0, iwmmxt_walignr1): Likewise.
+ (iwmmxt_walignr2, iwmmxt_walignr3): Likewise.
+ (iwmmxt_setwcgr0, iwmmxt_setwcgr1): Likewise.
+ (iwmmxt_setwcgr2, iwmmxt_setwcgr3): Likewise.
+ (iwmmxt_getwcgr0, iwmmxt_getwcgr1): Likewise.
+ (iwmmxt_getwcgr2, iwmmxt_getwcgr3): Likewise.
+ (All instruction patterns): Add wtype attribute.
+ (*iwmmxt_arm_movdi, *iwmmxt_movsi_insn): iWMMXt coexist with vfp.
+ (iwmmxt_uavgrndv8qi3, iwmmxt_uavgrndv4hi3): Revise the pattern.
+ (iwmmxt_uavgv8qi3, iwmmxt_uavgv4hi3): Likewise.
+ (ashr<mode>3_iwmmxt, ashl<mode>3_iwmmxt, lshr<mode>3_iwmmxt): Likewise.
+ (iwmmxt_tinsrb, iwmmxt_tinsrh, iwmmxt_tinsrw):Likewise.
+ (eqv8qi3, eqv4hi3, eqv2si3, gtuv8qi3): Likewise.
+ (gtuv4hi3, gtuv2si3, gtv8qi3, gtv4hi3, gtv2si3): Likewise.
+ (iwmmxt_wunpckihh, iwmmxt_wunpckihw, iwmmxt_wunpckilh): Likewise.
+ (iwmmxt_wunpckilw, iwmmxt_wunpckehub, iwmmxt_wunpckehuh): Likewise.
+ (iwmmxt_wunpckehuw, iwmmxt_wunpckehsb, iwmmxt_wunpckehsh): Likewise.
+ (iwmmxt_wunpckehsw, iwmmxt_wunpckelub, iwmmxt_wunpckeluh): Likewise.
+ (iwmmxt_wunpckeluw, iwmmxt_wunpckelsb, iwmmxt_wunpckelsh): Likewise.
+ (iwmmxt_wunpckelsw, iwmmxt_wmadds, iwmmxt_wmaddu): Likewise.
+ (iwmmxt_wsadb, iwmmxt_wsadh, iwmmxt_wsadbz, iwmmxt_wsadhz): Likewise.
+ (iwmmxt2.md): Include.
+ * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __IWMMXT2__.
+ (TARGET_IWMMXT2): New define.
+ (TARGET_REALLY_IWMMXT2): Likewise.
+ (arm_arch_iwmmxt2): Declare.
+ * config/arm/mmintrin.h: Use __IWMMXT__ to enable iWMMXt intrinsics.
+ Use __IWMMXT2__ to enable iWMMXt2 intrinsics.
+ Use C name-mangling for intrinsics.
+ (__v8qi): Redefine.
+ (_mm_cvtsi32_si64, _mm_andnot_si64, _mm_sad_pu8): Revise.
+ (_mm_sad_pu16, _mm_align_si64, _mm_setwcx, _mm_getwcx): Likewise.
+ (_m_from_int): Likewise.
+ (_mm_sada_pu8, _mm_sada_pu16): New intrinsic.
+ (_mm_alignr0_si64, _mm_alignr1_si64, _mm_alignr2_si64): Likewise.
+ (_mm_alignr3_si64, _mm_tandcb, _mm_tandch, _mm_tandcw): Likewise.
+ (_mm_textrcb, _mm_textrch, _mm_textrcw, _mm_torcb): Likewise.
+ (_mm_torch, _mm_torcw, _mm_tbcst_pi8, _mm_tbcst_pi16): Likewise.
+ (_mm_tbcst_pi32): Likewise.
+ (_mm_abs_pi8, _mm_abs_pi16, _mm_abs_pi32): New iWMMXt2 intrinsic.
+ (_mm_addsubhx_pi16, _mm_absdiff_pu8, _mm_absdiff_pu16): Likewise.
+ (_mm_absdiff_pu32, _mm_addc_pu16, _mm_addc_pu32): Likewise.
+ (_mm_avg4_pu8, _mm_avg4r_pu8, _mm_maddx_pi16, _mm_maddx_pu16): Likewise.
+ (_mm_msub_pi16, _mm_msub_pu16, _mm_mulhi_pi32): Likewise.
+ (_mm_mulhi_pu32, _mm_mulhir_pi16, _mm_mulhir_pi32): Likewise.
+ (_mm_mulhir_pu16, _mm_mulhir_pu32, _mm_mullo_pi32): Likewise.
+ (_mm_qmulm_pi16, _mm_qmulm_pi32, _mm_qmulmr_pi16): Likewise.
+ (_mm_qmulmr_pi32, _mm_subaddhx_pi16, _mm_addbhusl_pu8): Likewise.
+ (_mm_addbhusm_pu8, _mm_qmiabb_pi32, _mm_qmiabbn_pi32): Likewise.
+ (_mm_qmiabt_pi32, _mm_qmiabtn_pi32, _mm_qmiatb_pi32): Likewise.
+ (_mm_qmiatbn_pi32, _mm_qmiatt_pi32, _mm_qmiattn_pi32): Likewise.
+ (_mm_wmiabb_si64, _mm_wmiabbn_si64, _mm_wmiabt_si64): Likewise.
+ (_mm_wmiabtn_si64, _mm_wmiatb_si64, _mm_wmiatbn_si64): Likewise.
+ (_mm_wmiatt_si64, _mm_wmiattn_si64, _mm_wmiawbb_si64): Likewise.
+ (_mm_wmiawbbn_si64, _mm_wmiawbt_si64, _mm_wmiawbtn_si64): Likewise.
+ (_mm_wmiawtb_si64, _mm_wmiawtbn_si64, _mm_wmiawtt_si64): Likewise.
+ (_mm_wmiawttn_si64, _mm_merge_si64): Likewise.
+ (_mm_torvscb, _mm_torvsch, _mm_torvscw): Likewise.
+ (_m_to_int): New define.
+ * config/arm/arm-cores.def (iwmmxt2): Add FL_IWMMXT2.
+ * config/arm/arm-arches.def (iwmmxt2): Likewise.
+ * config/arm/t-arm (MD_INCLUDES): Add marvell-f-iwmmxt.md and
+ iwmmxt2.md.
+ * config/arm/arm.md (marvell-f-iwmmxt.md): Include.
+ (arch): Add "iwmmxt2".
+ (arch_enabled): Handle "iwmmxt2".
+ (wtype): New attribute.
+ (UNSPEC_WMADDS, UNSPEC_WMADDU): Delete.
+ (UNSPEC_WALIGNI): New unspec.
+ * config/arm/predicates.md (imm_or_reg_operand): New predicate.
+ * config/arm/iterators.md (VMMX2): New mode_iterator.
+ * config/arm/marvell-f-iwmmxt.md: New file.
+ * config/arm/iwmmxt2.md: New file.
+
+2012-06-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/53532
+ PR c/51034
+ PR c/53196
+ * c-decl.c (build_compound_literal): Call c_incomplete_type_error
+ if type isn't complete.
+
+2012-06-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/ia64/sync.md (fetchop_name): Change ior attribute to "or".
+
+2012-06-12 Richard Henderson <rth@redhat.com>
+
+ * config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode
+ iterator instead of INT.
+
+2012-06-12 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * opts.c: Add -fhoist-adjacent-loads to -O2 and above.
+ * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Add argument to forward
+ declaration.
+ (hoist_adjacent_loads, gate_hoist_loads): New forward declarations.
+ (tree_ssa_phiopt): Call gate_hoist_loads.
+ (tree_ssa_cs_elim): Add parm to tree_ssa_phiopt_worker call.
+ (tree_ssa_phiopt_worker): Add do_hoist_loads to formal arg list; call
+ hoist_adjacent_loads.
+ (local_mem_dependence): New function.
+ (hoist_adjacent_loads): Likewise.
+ (gate_hoist_loads): Likewise.
+ * common.opt (fhoist-adjacent-loads): New switch.
+ * Makefile.in (tree-ssa-phiopt.o): Added dependencies.
+
+2012-06-12 Michael Matz <matz@suse.de>
+
+ * alias.c (nonoverlapping_component_refs_p): Take two rtx arguments.
+ (nonoverlapping_memrefs_p): Don't call it here ...
+ (true_dependence_1): ... but here.
+
+2012-06-12 Richard Guenther <rguenther@suse.de>
+
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove dead code.
+ * alias.c (ao_ref_from_mem): MEM_EXPR is conservative, MEM_OFFSET
+ and MEM_SIZE only refines it. Reflect that and be less conservative
+ if either of the latter is not known.
+
+2012-06-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/53589
+ * cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
+ discovery even when e->dest != target. If any LABEL_REF points
+ to e->dest label, redirect it to target's label.
+
+2012-06-12 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/sh/sh.c (output_stack_adjust): Remove !epilogue_p
+ condition for generating REG_FRAME_RELATED_EXPR note.
+ (pop): Add code for generating REG_CFA_RESTORE,
+ REG_CFA_ADJUST_CFA notes. Set RTX_FRAME_RELATED_P to 1.
+ (sh_expand_epilogue): Use frame_insn() for FP to SP move.
+ Set 'frame_p' of calls to output_stack_adjust() to 'true'.
+
+2012-06-11 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (HWI_HEX2): Add missing shift.
+ * vmsdbgout.c (VMS_EPOCH_OFFSET): Add LL suffix.
+
+ * config/alpha/alpha.c (alpha_trampoline_init): Split large constants.
+
+2012-06-12 Hans-Peter Nilsson <hp@axis.com>
+
+ * doc/tm.texi.in (Addressing Modes) <TARGET_LEGITIMIZE_ADDRESS>:
+ Mention that this hook needs to be defined for native TLS.
+ * doc/tm.texi: Regenerate.
+
+2012-06-11 Mike Stump <mikestump@comcast.net>
+
+ * emit-rtl.c (init_emit_once): Iterate through the
+ MODE_PARTIAL_INT modes with MIN_MODE_PARTIAL_INT and
+ MAX_MODE_PARTIAL_INT, as GET_MODE_WIDER_MODE doesn't step through
+ all the MIN_MODE_PARTIAL_INT modes anymore.
+
+2012-06-12 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/mips/mips-tables.opt (xlp): Fix merge typo.
+
+2012-06-11 Roland McGrath <mcgrathr@google.com>
+
+ * dwarf2out.c (const_ok_for_output_1): Detect a TLS UNSPEC using
+ SYMBOL_REF_TLS_MODEL rather than DECL_THREAD_LOCAL_P, in case it's
+ not a VAR_DECL. Also don't limit it to UNSPECs with exactly one
+ operand.
+
+2012-06-11 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53511
+ * config/sh/sh.md (fmasf4): New expander.
+ (*macsf3): Rename to fmasf4_i. Adapt to fma pattern.
+ (mac_media): Rename to fmasf4_media. Adapt to fma pattern.
+ * config/sh/sh.opt (mfused-madd): Remove.
+ * config/sh/sh.c (sh_option_override): Remove mfused-madd handling.
+ (builtin_description bdesc): Remove __builtin_sh_media_FMAC_S.
+ * config.gcc (sh[123456789lbe]*-*-* | sh-*-*): Add fused-madd.opt
+ as extra options.
+ * doc/invoke.texi (SH Options): Update mfused-madd and mno-fused-madd
+ descriptions.
+
+2012-06-11 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (scan_trace): Handle annulled branch-taken delay slots.
+
+2012-06-11 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53470
+ * tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but
+ replace it with the first non-BLOCK context.
+
+2012-06-11 Richard Guenther <rguenther@suse.de>
+
+ * alias.c (aliases_everything_p): Remove.
+ (DIFFERENT_ALIAS_SETS_P): Likewise.
+ (true_dependence_1): Use mems_in_disjoint_alias_sets_p directly.
+ Do not use aliases_everything_p or special-case ANDs. Do not
+ special-case BLKmode moves.
+ (may_alias_p): Likewise. Handle BLKmode similar like everywhere
+ - for SCATCH only.
+
+2012-06-09 Hans-Peter Nilsson <hp@axis.com>
+
+ Fix CRIS build errors with --enable-build-with-cxx.
+ * config/cris/cris.c (cris_emit_trap_for_misalignment): Rename
+ variable "and" to "andop".
+ * config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>"): Use
+ temporary variable for memory model, passing C++-type-correct
+ parameter type to expand_mem_thread_fence.
+ ("atomic_compare_and_swap<mode>"): Ditto.
+
+2012-06-09 Richard Henderson <rth@redhat.com>
+
+ PR c++/53602
+ * cfgcleanup.c (execute_jump): Rename from rest_of_handle_jump2.
+ (pass_jump): Rename from pass_jump2.
+ (execute_jump2, pass_jump2): New.
+ * combine-stack-adj.c (rest_of_handle_stack_adjustments): Don't
+ perform cfg cleanup here. Move the test of PUSH_ROUNDING
+ and ACCUMULATE_OUTGOING_ARGS test...
+ (gate_handle_stack_adjustments): ... here.
+ * passes.c (init_optimization_passes): Update for pass_jump2 rename.
+ Place new pass_jump2 after pass_stack_adjustments.
+ * tree-pass.h (pass_jump): Declare.
+
+2012-06-09 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * simplify-rtx.c (simplify_const_binary_operation): Fixed shift
+ count trucation.
+
+2012-06-08 Richard Henderson <rth@redhat.com>
+
+ PR c++/53602
+ * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE
+ note to a clobber insn when no other insn is available.
+
+2012-06-08 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (avr_case_values_threshold): Return 7.
+
+2012-06-07 Andreas Schwab <schwab@linux-m68k.org>
+
+ * genhooks.c (main): Set progname.
+ (emit_documentation): Remove variable found_start, always bail out
+ when a place is missing.
+ * doc/tm.texi.in (C++ ABI): Add @hook TARGET_CXX_DECL_MANGLING_CONTEXT.
+
+2012-06-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/53580
+ * omp-low.c (scan_omp): Change first argument to gimple_seq *,
+ call walk_gimple_seq_mod instead of walk_gimple_seq.
+ (scan_sharing_clauses, scan_omp_parallel, scan_omp_task,
+ scan_omp_for, scan_omp_sections, scan_omp_single,
+ execute_lower_omp): Adjust callers.
+ (scan_omp_1_stmt): Likewise. If check_omp_nesting_restrictions
+ returns false, replace stmt with GIMPLE_NOP.
+ (check_omp_nesting_restrictions): Instead of issuing warnings,
+ issue errors and return false if any errors were reported.
+
+2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
+
+ * doc/invoke.texi (fconserve-space): Remove documentation.
+
+2012-06-06 Edmar Wienskoski <edmar@freescale.com>
+
+ * config/rs6000/rs6000-tables.opt: Regenerated.
+
+2012-06-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53081
+ * tree-data-ref.h (adjacent_store_dr_p): Rename to ...
+ (adjacent_dr_p): ... this and make it work for reads, too.
+ * tree-loop-distribution.c (enum partition_kind): Add PKIND_MEMCPY.
+ (struct partition_s): Change main_stmt to main_dr, add
+ secondary_dr member.
+ (build_size_arg_loc): Change to date data-reference and not
+ gimplify here.
+ (build_addr_arg_loc): New function split out from ...
+ (generate_memset_builtin): ... here. Use it and simplify.
+ (generate_memcpy_builtin): New function.
+ (generate_code_for_partition): Adjust.
+ (classify_partition): Streamline pattern detection. Detect memcpy.
+ (ldist_gen): Adjust.
+ (tree_loop_distribution): Adjust seed statements for memcpy
+ recognition.
+
+2012-06-06 Matt Turner <mattst88@gmail.com>
+
+ * config/arm/mmintrin.h (_mm_empty): New.
+ (_m_empty): New.
+
+2012-06-06 Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ * doc/invoke.texi (sched-pressure-algorithm): Document new --param.
+ * common.opt (fsched-pressure-algorithm=): Remove.
+ * flag-types.h (sched_pressure_algorithm): Move to...
+ * sched-int.h (sched_pressure_algorithm): ...here.
+ * params.def (sched-pressure-algorithm): New param.
+ * haifa-sched.c (sched_init): Use it to initialize sched_pressure.
+ * common/config/s390/s390-common.c (s390_option_optimization_table):
+ Remove OPT_fsched_pressure_algorithm_ entry.
+ * config/s390/s390.c (s390_option_override): Set a default value for
+ PARAM_SCHED_PRESSURE_ALGORITHM.
+
+2012-06-05 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/53487
+ * config/rs6000/rs6000.c (rs6000_generate_compare): If we are
+ doing an unsigned compare, make sure the second argument is not a
+ negative constant.
+ (rs6000_emit_cmove): Don't allow floating point comparisons when
+ generating ISEL moves.
+
+2012-06-05 Edmar Wienskoski <edmar@freescale.com>
+
+ * config/rs6000/e5500.md: New file.
+ * config/rs6000/e6500.md: New file.
+ * config/rs6000/rs6000.c (processor_costs): Add new costs for
+ e5500 and e6500.
+ (rs6000_option_override_internal): Altivec and Spe options not
+ allowed with e5500. Spe options not allowed with e6500. Increase
+ move inline limit for e5500 and e6500. Disable string instructions
+ for e5500 and e6500. Enable branch targets alignment for e5500 and
+ e6500. Initialize rs6000_cost for e5500 and e6500.
+ (rs6000_adjust_cost): Add extra scheduling cycles between compare
+ and brnach for e5500 and e6500.
+ (rs6000_issue_rate): Set issue rate for e5500 and e6500.
+ * config/rs6000/rs6000-cpus.def: Add cpu definitions for e5500 and
+ e6500.
+ * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add e5500 and e6500.
+ * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce5500 and
+ ppce6500.
+ Include e5500.md and e6500.md.
+ * config/rs6000/rs6000-opt.h (processor_type): Add
+ PROCESSOR_PPCE5500 and PROCESSOR_PPCE6500.
+ * config.gcc (cpu_is_64bit): Add new cores e5500, e6500.
+ (powerpc*-*-*): Add new cores e5500, e6500.
+ * doc/invoke.texi: (item -mcpu): Add e5500 and e6500 to list of cpus.
+
+2012-06-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Fix last change.
+
+2012-06-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/53575
+ * config.gcc: Select x32 run-time library if --with-abi={x32|mx32}
+ is used for x86_64-*-*.
+
+2012-06-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/30442
+ * tree-vect-data-refs.c (vect_analyze_data_refs): For basic-block
+ vectorization stop analysis at the first stmt we cannot compute
+ a data-reference for instead of giving up completely.
+
+2012-06-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-loop-distribution.c (struct partition_s): Add has_writes member.
+ (partition_alloc): Initialize it.
+ (partition_has_writes): New function.
+ (rdg_flag_uses): Adjust.
+ (rdg_flag_vertex): Likewise.
+ (rdg_flag_vertex_and_dependent): Likewise.
+ (rdg_flag_loop_exits): Likewise.
+ (build_rdg_partition_for_component): Likewise.
+ (rdg_build_partitions): Likewise.
+
+2012-06-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53081
+ * tree-loop-distribution.c (generate_memset_builtin): Handle all
+ kinds of byte-sized stores.
+ (classify_partition): Likewise.
+ (tree_loop_distribution): Adjust seed statements used for
+ !flag_tree_loop_distribution.
+
+2012-06-05 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (ptr_regno_for_savres): Comment.
+ (rs6000_emit_prologue): Ensure register used for inline saves
+ of vector regs is not the static chain register. Revise comment.
+
+2012-06-04 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * doc/md.texi (Standard Pattern Names For Generation): Document
+ sincos pattern.
+
+2012-06-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/53555
+ * config/i386/i386.c (ix86_sched_reorder): Skip debug insns.
+
+2012-06-04 Jason Merrill <jason@redhat.com>
+
+ * dwarf2out.c (is_unit_die): New.
+ (copy_declaration_context, copy_ancestor_tree): Use it.
+ (copy_decls_walk): Likewise.
+
+2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53524
+ * doc/invoke.texi (Wenum-compare): Update documentation.
+
+2012-06-04 Dodji Seketeli <dodji@redhat.com>
+
+ PR preprocessor/53463
+ * parser.c (cp_parser_assignment_expression): Use the location
+ for the '=' as the default location for the expression.
+
+2012-06-04 Edmar Wienskoski <edmar@freescale.com>
+
+ PR target/53559
+ * config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
+ operands.
+ (altivec_stvlxl): Ditto.
+ (altivec_stvrx): Ditto.
+ (altivec_stvrxl): Ditto.
+
+2012-06-04 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira-int.h (struct target_ira_int): Add member x_ira_uniform_class_p.
+ (ira_uniform_class_p): New macro.
+
+ * ira.c (setup_uniform_class_p): New function.
+ (setup_allocno_and_important_classes): Call the function.
+ (print_unform_and_important_classes): New function.
+ (print_classes): Rename to print_translated_classes.
+ (ira_debug_allocno_classes): Add call of
+ print_unform_and_important_classes.
+
+ * ira-costs.c (setup_regno_cost_classes_by_aclass): Use uniform
+ classes instead of pressure classes.
+
+2012-06-04 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/47530
+ * trans-mem.c (expand_block_edges): Do not skip the first
+ statement when resetting the BB.
+
+2012-06-04 Richard Guenther <rguenther@suse.de>
+
+ * tree-data-ref.c (stores_from_loop): Remove.
+ (stmt_with_adjacent_zero_store_dr_p): Likewise.
+ (stores_zero_from_loop): Likewise.
+ * tree-data-ref.h (stores_from_loop, stores_zero_from_loop,
+ stmt_with_adjacent_zero_store_dr_p, stride_of_unit_type_p): Remove.
+ (adjacent_store_dr_p): New function.
+ * tree-loop-distribution.c (generate_memset_builtin): Pass
+ the RDG, use the already available data-reference.
+ (generate_code_for_partition): Pass down RDG.
+ (classify_partition): Inline parts of the former
+ stmt_with_adjacent_zero_store_dr_p here and use adjacent_store_dr_p.
+ (ldist_gen): Remember if there was any detected builtin and
+ do less work if not and flag_tree_loop_distribution is not set.
+ (tree_loop_distribution): Inline and fuse stores_from_loop
+ and stores_zero_from_loop here.
+
+2012-06-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53471
+ * dwarf2out.c (dwarf2out_finish): If generating LTO do not
+ create new assembler names.
+
+2012-06-04 Richard Guenther <rguenther@suse.de>
+
+ * tree-data-ref.c (struct rdg_vertex_info): Remove.
+ (rdg_vertex_for_stmt): Simplify using gimple_uid.
+ (create_rdg_vertices): Pass loop argument, remove stmt to RDG index
+ hashtable. Record stmt data-references.
+ (hash_stmt_vertex_info): Remove.
+ (eq_stmt_vertex_info): Likewise.
+ (hash_stmt_vertex_del): Likewise.
+ (build_empty_rdg): Simplify.
+ (build_rdg): Adjust.
+ (free_rdg): Likewise.
+ (ref_base_address): Remove.
+ (have_similar_memory_accesses): Likewise.
+ * tree-data-ref.h (create_rdg_vertices): Remove.
+ (struct rdg_vertex): Add datarefs member.
+ (RDGV_DATAREFS): New define.
+ (RDG_DATAREFS): Likewise.
+ (have_similar_memory_accesses): Remove.
+ (rdg_has_similar_memory_accesses): Likewise.
+ * tree-loop-distribution.c (ref_base_address): Re-implement here.
+ (similar_memory_accesses): Re-implement using existing data-references.
+ (tree_loop_distribution): Initialize stmt uids for the stmt to
+ RDG index mapping.
+ * tree-vect-loop.c (vect_create_epilog_for_reduction): Only
+ access stmt vinfo for stmts in loop.
+
+2012-06-04 Andreas Schwab <schwab@linux-m68k.org>
+
+ PR target/53461
+ * config/m68k/m68k.md ("tablejump"): Fix check for
+ CASE_VECTOR_PC_RELATIVE.
+
+2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
+
+ * output.h (merge_weak, assemble_alias,
+ initializer_constant_valid_p,
+ initializer_constant_valid_for_bitfield_p): Move protos from here...
+ * tree.h: ... to here.
+ * cgraphclones.c: Do not include output.h.
+ * gimplify.c: Likewise.
+ * reload.c: Likewise.
+ * recog.c: Likewise.
+ * tree-ssa-loop-ivopts.c: Likewise.
+ * tree-switch-conversion.c: Likewise.
+ * c-parser.c: Likewise.
+ * c-typeck.c: Likewise.
+ * Makefile.in: Fix dependencies.
+
+2012-06-04 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/46261
+ * config/avr/avr-stdint.h: New file.
+ * config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of
+ newlib-stdint.h
+
+2012-06-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53550
+ * tree-ssa-loop-niter.c (number_of_iterations_cond): If type
+ is POINTER_TYPE_P, use sizetype as step type instead of type.
+
+2012-06-04 Richard Guenther <rguenther@suse.de>
+
+ * tree-data-ref.c (have_similar_memory_accesses_1): Remove.
+ (ref_base_address_1): Likewise.
+ (remove_similar_memory_refs): Likewise.
+ * tree-data-ref.h (remove_similar_memory_refs): Remove.
+ * tree-loop-distribution.c (classify_partition): Do not classify
+ as builtin if -ftree-loop-distribute-patterns is not enabled.
+ (fuse_partitions_with_similar_memory_accesses): Inline ...
+ (ldist_gen): ... here. Fuse all non-builtin partitions if
+ -ftree-loop-distribution is not enabled. Properly return
+ the number of created partitions. Do not update SSA form here but ...
+ (tree_loop_distribution): ... once here for the whole function.
+ Only walk innermost loops, constrain loops we consider here
+ further. Do not call remove_similar_memory_refs.
+ (distribute_loop): Do not check number of loop nodes here.
+
+2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
+
+ * Makefile.in (GIMPLE_H): Do not depend on TARGET_H.
+
+2012-06-03 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.h (ipa_get_jf_known_type_offset): New function.
+ (ipa_get_jf_known_type_base_type): Likewise.
+ (ipa_get_jf_known_type_component_type): Likewise.
+ (ipa_get_jf_constant): Likewise.
+ (ipa_get_jf_pass_through_formal_id): Likewise.
+ (ipa_get_jf_pass_through_operation): Likewise.
+ (ipa_get_jf_ancestor_offset): Likewise.
+ (ipa_get_jf_ancestor_type): Likewise.
+ (ipa_get_jf_ancestor_formal_id): Likewise.
+ (ipa_get_jf_member_ptr_pfn): Likewise.
+ * ipa-prop.c (ipa_set_jf_known_type): New function.
+ (ipa_set_jf_constant): Likewise.
+ (ipa_set_jf_simple_pass_through): Likewise.
+ (ipa_set_jf_arith_pass_through): Likewise.
+ (ipa_set_ancestor_jf): Likewise.
+ (fill_member_ptr_cst_jump_function): Moved up and renamed to
+ ipa_set_jf_member_ptr_cst.
+ (detect_type_change_1): Use the new jump function creation functions.
+ (compute_complex_assign_jump_func): Likewise.
+ (compute_complex_ancestor_jump_func): Likewise.
+ (compute_known_type_jump_func): Likewise.
+ (compute_scalar_jump_functions): Likewise.
+ (compute_pass_through_member_ptrs): Likewise.
+ (determine_cst_member_ptr): Likewise.
+ (combine_known_type_and_ancestor_jfs): Likewise.
+ (try_make_edge_direct_simple_call): Likewise.
+ (try_make_edge_direct_virtual_call): Likewise.
+ (update_indirect_edges_after_inlining): Likewise.
+ * ipa-cp.c (ipa_get_jf_pass_through_result): Use jump function
+ access functions. Incorporat NOP_EXPR and BINFO handling from its
+ callers.
+ (ipa_get_jf_ancestor_result): Likewise. Incorporate handling BINFOs
+ which was in its callers.
+ (ipa_value_from_jfunc): Use jump function access functions. Some
+ functionality moved to functions above.
+ (propagate_vals_accross_ancestor): Likewise.
+ (propagate_vals_accross_pass_through): Use jump function access
+ functions.
+ (propagate_accross_jump_function): Likewise.
+ * ipa-inline-analysis.c (remap_edge_change_prob): Use jump function
+ access functions.
+ (inline_merge_summary): Likewise.
+
+2012-06-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/pa.h (MAX_PCREL17F_OFFSET): Define.
+ * config/pa/pa.c (pa_attr_length_millicode_call): Use
+ MAX_PCREL17F_OFFSET instead of fixed offset.
+ (pa_attr_length_call): Likewise.
+ (pa_attr_length_indirect_call): Likewise.
+
+2012-06-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53512
+ * config/sh/sh.opt (mfsca, mfsrra): New options.
+ * config/sh/sh.md (rsqrtsf2): Use TARGET_FPU_ANY and TARGET_FSRRA
+ condition.
+ (fsca): Use TARGET_FPU_ANY and TARGET_FSCA condition.
+ (sinssf2, cossf2): Fold expanders to ...
+ (sincossf3): ... this new expander. Use TARGET_FPU_ANY and
+ TARGET_FSCA condition.
+ * config/sh/sh.c (sh_option_override): Handle TARGET_FSRRA and
+ TARGET_FSCA.
+ * doc/invoke.texi (SH Options): Add descriptions for -mfsca,
+ -mno-fsca, -mfsrra, -mno-fsrra.
+
+2012-06-03 Matt Turner <mattst88@gmail.com>
+
+ * config/mips/4600.md (r4700_imul_si): New.
+ (r4700_imul_di): New.
+ (r4700_fmul_single): New.
+ (r4700_fmul_double): New.
+ * config/mips/mips-cpus.def: Add r4700.
+ * config/mips/mips.c: Likewise.
+ * config/mips/mips.md: Likewise.
+ * config/mips/mips-tables.opt: Regenerate.
+
+2012-06-02 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Split out to
+ new function sparc_initial_elimination_offset.
+ * config/sparc/sparc.c (sparc_initial_elimination_offset): New
+ function.
+ * config/sparc/sparc-protos.h (sparc_initial_elimination_offset):
+ Prototype it.
+
+2012-06-02 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * expmed.c (expand_mult, choose_multiplier): Change
+ "2 * HOST_BITS_PER_WIDE_INT" to "HOST_BITS_PER_DOUBLE_INT".
+ * expr.c (convert_modes): Likewise.
+ * explow.c (plus_constant): Likewise.
+ * fixed-value.c (fixed_saturate1, fixed_saturate2)
+ (do_fixed_add, do_fixed_multiply, do_fixed_multiply)
+ (do_fixed_multiply, do_fixed_multiply, do_fixed_divide)
+ (do_fixed_divide, do_fixed_divide, do_fixed_divide)
+ (do_fixed_divide, do_fixed_divide, do_fixed_shift, do_fixed_shift)
+ (do_fixed_shift, fixed_convert, fixed_convert)
+ (fixed_convert_from_int, fixed_convert_from_int)
+ (fixed_convert_from_real): Likewise.
+ * fold-const.c (fold_convert_const_int_from_fixed, sign_bit_p)
+ (native_interpret_int, fold_binary_loc, fold_ternary_loc): Likewise.
+ * varasm.c (output_constructor_bitfield): Likewise.
+ * tree-vrp.c (register_edge_assert_for_2): Likewise.
+ * double-int.c (rshift_double, lshift_double): Likewise.
+ * double-int.h (double_int_fits_in_uhwi_p, double_int, double_int):
+ Likewise.
+ * simplify-rtx.c (mode_signbit_p)
+ (simplify_const_unary_operation, simplify_binary_operation_1)
+ (simplify_immed_subreg): Likewise.
+ * builtins.c (c_readstr, fold_builtin_bitop): Likewise.
+ * tree-vect-generic.c (build_replicated_const): Likewise.
+ * dbxout.c (stabstr_O): Likewise.
+ * emit-rtl.c (immed_double_int_const, immed_double_const)
+ (gen_lowpart_common, init_emit_once): Likewise.
+ * tree.c (integer_pow2p, tree_log2, tree_floor_log2)
+ (widest_int_cst_value, upper_bound_in_type): Likewise.
+ * stor-layout.c (initialize_sizetypes, fixup_signed_type)
+ (fixup_unsigned_type): Likewise.
+ * real.c (real_to_integer2, real_from_integer): Likewise.
+ * dwarf2out.c (size_of_loc_descr, size_of_die, output_die)
+ (clz_loc_descriptor, mem_loc_descriptor): Likewise.
+
+2012-06-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/53501
+ * fold-const.c (fold_binary_loc): Refine previous change.
+
+2012-06-01 Olivier Hainque <hainque@adacore.com>
+
+ * config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Restore
+ the "do {" part of the do-while(0) loop.
+
+2012-06-01 Yuri Rumyantsev <yuri.s.rumyantsev@intel.com>
+
+ * config/i386/i386.c (x86_sched_reorder): New function.
+ Added new function x86_sched_reorder.
+
+2012-06-01 Richard Guenther <rguenther@suse.de>
+
+ * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
+ Handle PHIs.
+ (classify_partition): Likewise.
+
+2012-06-01 Richard Guenther <rguenther@suse.de>
+
+ * tree-loop-distribution.c (enum partition_kind): New enum.
+ (struct partition_s): Add kind and main_stmt members.
+ (partition_alloc): Initialize kind to PKIND_NORMAL.
+ (partition_builtin_p): New function.
+ (copy_loop_before): Remove failure path and assert instead.
+ (generate_loops_for_partition): Likewise.
+ (generate_memset_zero): Fold into ...
+ (generate_memset_builtin): ... this.
+ (classify_partition): New function with code from
+ can_generate_builtin and generate_builtin.
+ (generate_builtin): Remove.
+ (can_generate_builtin): Likewise.
+ (fuse_partitions_with_similar_memory_accesses): Call
+ partition_builtin_p instead of can_generate_builtin.
+ (rdg_build_partitions): Do not call
+ fuse_partitions_with_similar_memory_accesses here...
+ (ldist_gen): ... but here after classifying all partitions.
+ Remove failure path of generate_code_for_partition.
+ (generate_code_for_partition): Generate code according
+ to partition classification.
+
+2012-06-01 Manuel López-Ibáñez <manu@gcc.gnu.org>
+ Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/50134
+ * doc/invoke.texi (Warning Options): Explain purpose and differences
+ between -Wmissing-prototypes and -Wmissing-declarations.
+
+2012-06-01 Christian Bruel <christian.bruel@st.com>
+
+ * gcc.c (save_switch): Add user_p parameter.
+ (read_specs): Likewise.
+ (set_specs): Likewise.
+ (validate_switches): Likewise.
+ (validate_switches_from_spec): Likewise.
+ (validate_all_switches): Pass on user_p parameter.
+ (struct spec_list): Add user_p field.
+ (struct switchstr): Add known field.
+ (save_switch): Add known parameter.
+ (INIT_STATIC_SPEC): Initialize user_p;
+ (driver_unknown_option_callbac): call save_switch if
+ OPT_SPECIAL_unknown.
+ (driver_handle_option): Propagate OPT_specs.
+ (do_spec_1): Set validated only if known.
+ (check_live_switch): Likewise.
+ (validate_switches): Set validated if known or user_spec.
+
+2012-06-01 Hans-Peter Nilsson <hp@axis.com>
+
+ Add CRIS atomic patterns for 1, 2, and 4 bytes.
+ * config/cris/cris.c (cris_emit_trap_for_misalignment): New function.
+ * config/cris/cris-protos.h: Declare it.
+ * config/cris/cris.h [!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 32]
+ (TARGET_DEFAULT): Add alignment by 32.
+ [!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 10] (TARGET_DEFAULT): New
+ case, as TARGET_CPU_DEFAULT == 0 but with alignment as for
+ TARGET_CPU_DEFAULT == 32.
+ (TARGET_TRAP_UNALIGNED_ATOMIC): New macro.
+ * config/cris/cris.md: Include sync.md. Avoid allocating specific
+ numbers by replacing the define_constants for all UNSPECs with the
+ equivalent define_c_enum construct.
+ * config/cris/cris.opt (mtrap-unaligned-atomic): New option.
+ * config/cris/sync.md: New file.
+
+2012-05-31 Matt Turner <mattst88@gmail.com>
+
+ * config/mips/4600.md (r4600_imul_si): Rename from r4600_imul.
+ (r4600_imul_di): New.
+ (r4600_idiv_si): Rename from r4600_idiv.
+ (r4600_idiv_di): New.
+
+2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
+
+ * output.h (__gcc_host_wide_int__): Move to hwint.h.
+ (decl_default_tls_model): Move to tree.h
+ (dump_file): Move to system.h.
+ (default_stabs_asm_out_destructor, default_stabs_asm_out_constructor,
+ dbxout_int, dbxout_stabd, dbxout_begin_stabn, dbxout_begin_stabn_sline,
+ dbxout_begin_empty_stabs, dbxout_begin_simple_stabs,
+ dbxout_begin_simple_stabs_desc, dbxout_stab_value_zero,
+ dbxout_stab_value_zero, dbxout_stab_value_label_diff,
+ dbxout_stab_value_internal_label,
+ dbxout_stab_value_internal_label_diff): Move from here ...
+ * dbxout.h: ... to here.
+ * system.h (dump_file): Moved here from output.h.
+ * hwint.h (__gcc_host_wide_int__): Moved here from output.h.
+ * tree.h (decl_default_tls_model): Moved here from output.h.
+ * varasm.c (default_stabs_asm_out_destructor,
+ default_stabs_asm_out_constructor): Move from here ...
+ * dbxout.c: ... to here.
+
+ * gcov-dump.c (dump_file): Rename to dump_gcov_file. Update callers.
+
+ * collect2.h (dump_file): Rename to dump_ld_file.
+ * collect2.c: Likewise.
+ * tlink.c: Likewise.
+
+ * alias.c: Do not include output.h.
+ * auto-inc-dec.c: Likewise.
+ * bt-load.c: Likewise.
+ * caller-save.c: Likewise.
+ * cfg.c: Likewise.
+ * cfgbuild.c: Likewise.
+ * cfgcleanup.c: Likewise.
+ * cfglayout.c: Likewise.
+ * cfgloop.c: Likewise.
+ * cfgloopanal.c: Likewise.
+ * cfgloopmanip.c: Likewise.
+ * cfgrtl.c: Likewise.
+ * cgraph.c: Likewise.
+ * cgraphclones.c: Likewise.
+ * combine-stack-adj.c: Likewise.
+ * combine.c: Likewise.
+ * cprop.c: Likewise.
+ * cse.c: Likewise.
+ * cselib.c: Likewise.
+ * dbgcnt.c: Likewise.
+ * df-problems.c: Likewise.
+ * df-scan.c: Likewise.
+ * dojump.c: Likewise.
+ * fwprop.c: Likewise.
+ * gcse.c: Likewise.
+ * graph.c: Likewise.
+ * haifa-sched.c: Likewise.
+ * hw-doloop.c: Likewise.
+ * ipa-inline-transform.c: Likewise.
+ * ipa-pure-const.c: Likewise.
+ * ipa-reference.c: Likewise.
+ * ipa-utils.c: Likewise.
+ * ira-build.c: Likewise.
+ * ira-emit.c: Likewise.
+ * lcm.c: Likewise.
+ * loop-doloop.c: Likewise.
+ * loop-invariant.c: Likewise.
+ * loop-iv.c: Likewise.
+ * loop-unroll.c: Likewise.
+ * loop-unswitch.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * lto-section-in.c: Likewise.
+ * lto-streamer-in.c: Likewise.
+ * mcf.c: Likewise.
+ * mode-switching.c: Likewise.
+ * postreload-gcse.c: Likewise.
+ * postreload.c: Likewise.
+ * predict.c: Likewise.
+ * profile.c: Likewise.
+ * ree.c: Likewise.
+ * reg-stack.c: Likewise.
+ * regcprop.c: Likewise.
+ * regmove.c: Likewise.
+ * regstat.c: Likewise.
+ * reload1.c: Likewise.
+ * sched-ebb.c: Likewise.
+ * sel-sched-dump.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * stor-layout.c: Likewise.
+ * store-motion.c: Likewise.
+ * tracer.c: Likewise.
+ * tree-affine.c: Likewise.
+ * tree-cfg.c: Likewise.
+ * tree-cfgcleanup.c: Likewise.
+ * tree-dfa.c: Likewise.
+ * tree-into-ssa.c: Likewise.
+ * tree-nomudflap.c: Likewise.
+ * tree-optimize.c: Likewise.
+ * tree-pretty-print.c: Likewise.
+ * tree-profile.c: Likewise.
+ * tree-ssa-address.c: Likewise.
+ * tree-ssa-ccp.c: Likewise.
+ * tree-ssa-copy.c: Likewise.
+ * tree-ssa-dom.c: Likewise.
+ * tree-ssa-loop-ch.c: Likewise.
+ * tree-ssa-loop-im.c: Likewise.
+ * tree-ssa-loop-manip.c: Likewise.
+ * tree-ssa-loop-niter.c: Likewise.
+ * tree-ssa-loop-prefetch.c: Likewise.
+ * tree-ssa-loop-unswitch.c: Likewise.
+ * tree-ssa-loop.c: Likewise.
+ * tree-ssa-propagate.c: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-ssa-tail-merge.c: Likewise.
+ * tree-ssa-threadedge.c: Likewise.
+ * tree-ssa-threadupdate.c: Likewise.
+ * tree-ssa-uncprop.c: Likewise.
+ * tree-ssa-uninit.c: Likewise.
+ * tree-ssa.c: Likewise.
+ * value-prof.c: Likewise.
+ * var-tracking.c: Likewise.
+ * web.c: Likewise.
+
+ * config/m32r/m32r.c: Include dbxout.h.
+ * config/pa/pa.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+
+ * Makefile.in: Fix dependencies.
+ * config/rs6000/t-rs5000: Likewise.
+
+2012-05-31 Aldy Hernandez <aldyh@redhat.com>
+
+ * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
+ * gimple.h (block_in_transaction): Check for flag_tm.
+
+2012-05-31 Aldy Hernandez <aldyh@redhat.com>
+
+ PR tree-optimization/52558
+ * cfg.c (alloc_aux_for_edge): Fix comment.
+ (alloc_aux_for_edge): Remove static.
+ * basic-block.h (alloc_aux_for_edge): Protoize.
+ * tree-ssa-loop-im.c (execute_sm_if_changed): New.
+ (execute_sm_if_changed_flag): New.
+ (execute_sm_if_changed_flag_set): New.
+ (execute_sm): Do not generate data races unless requested.
+ (tree_ssa_lim_initialize): Call alloc_aux_for_edges.
+ (tree_ssa_lim_finalize): Call free_aux_for_edges.
+ * gimple.h (block_in_transaction): New.
+ (gimple_in_transaction): Use block_in_transaction.
+
+2012-05-31 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/51345
+ * config/avr/avr.opt (-msp8): Document it.
+ * doc/invoke.texi (AVR Options): Ditto. And document related
+ built-in macros.
+
+2012-05-31 Diego Novillo <dnovillo@google.com>
+
+ * configure.ac (CXX_FOR_BUILD): Define and substitute.
+ (BUILD_CXXFLAGS): Define and substitute.
+ * Makefile.in (BUILD_CXXFLAGS): Define.
+ (CXX_FOR_BUILD): Define.
+ (COMPILER_FOR_BUILD): Set to CXX_FOR_BUILD if building with C++.
+ (LINKER_FOR_BUILD): Likewise.
+ (BUILD_COMPILERFLAGS): Set to BUILD_CXXFLAGS if building with C++.
+ (BUILD_LINKERFLAGS): Likewise.
+ * configure: Regenerate.
+
+2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
+
+ * Makefile.in: Fix many dependencies.
+ * tree-profile.c: Don't include regs.h.
+ * tree-vectorizer.c: Don't include cfglayout.h.
+ * tree-vect-stmts.c: Likewise.
+ * tree-vect-slp.c: Likewise.
+ * tree-vect-loop.c: Likewise.
+ * reg-stack.c: Likewise.
+ * tree-ssa-loop-manip.c: Likewise.
+ * toplev.c: Likewise.
+ * varasm.c: Don't include cfglayout.h, basic-block.h,
+ and tree-iterator.h.
+ * tree-cfgcleanup.c: Don't include cfglayout.h.
+ * passes.c: Don't include cfglayout.h, dwarf2asm.h,
+ dwarf2out.h, dbxout.h, sdbout.h, and xcoffout.h.
+ * cgraphclones.c: Don't include plugin.h.
+
+2012-05-31 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/t-avr: Correct avr-mmcu.texi dependencies.
+ (s-avr-mmcu-texi): Don't sed on gen-avr-mmcu-texi output.
+ * doc/avr-mmcu.texi (svn:eol-style): Set to native.
+
+2012-05-31 Richard Guenther <rguenther@suse.de>
+
+ * tree-loop-distribution.c (struct partition_s): New struct,
+ typedef and vector type.
+ (partition_alloc, partition_free): New functions.
+ (generate_loops_for_partition, generate_builtin,
+ generate_code_for_partition, rdg_flag_uses, rdg_flag_vertex,
+ rdg_flag_vertex_and_dependent, rdg_flag_loop_exits,
+ build_rdg_partition_for_component, can_generate_builtin,
+ similar_memory_accesses, fuse_partitions_with_similar_memory_accesses,
+ rdg_build_partitions, dump_rdg_partitions, debug_rdg_partitions,
+ number_of_rw_in_partition, partition_contains_all_rw,
+ ldist_gen): Use partition_t instead of bitmap.
+
+2012-05-31 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/gen-avr-mmcu-texi.c: Sort MCUs.
+ * doc/avr-mmcu.texi: Regenerate.
+
+2012-05-31 Richard Guenther <rguenther@suse.de>
+
+ * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
+ Use FOR_EACH_SSA_DEF_OPERAND.
+ (generate_builtin): Adjust.
+ (stmt_generated_in_another_partition): Remove.
+ (add_scalar_computations_to_partition): Likewise.
+ (rdg_build_partitions): Do not call
+ add_scalar_computations_to_partition.
+
+2012-05-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-dfa.c (get_ref_base_and_extent): Compute the offset using
+ double ints throughout.
+ * tree-sra.c (build_user_friendly_ref_for_offset) <RECORD_TYPE>:
+ Check that the position of the field is representable as an integer.
+
+2012-05-31 Richard Guenther <rguenther@suse.de>
+
+ * tree-data-ref.c (dr_analyze_innermost): Properly convert
+ the MEM_REF offset to sizetype.
+
+2012-05-31 Georg-Johann Lay <avr@gjlay.de>
+
+ * doc/invoke.texi (AVR Options): Fix typos.
+
+2012-05-31 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.h (CC1_SPEC): Pass through all -march=
+ and -mcpu= options.
+ (ASM_SPEC): Ditto, not just -march=v32, but translate non-v10,
+ non-v32 into --march=v0_v10.
+
+2012-05-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ira-int.h (target_ira_int): Rename x_move_cost to
+ x_ira_register_move_cost, x_may_move_in_cost to
+ x_ira_may_move_in_cost and x_may_move_out_cost to
+ x_ira_may_move_out_cost. Delete the old fields with
+ those names and also x_ira_max_register_move_cost,
+ x_ira_max_may_move_in_cost and x_ira_max_may_move_out_cost.
+ (move_cost, may_move_in_cost, may_move_out_cost)
+ (ira_max_register_move_cost, ira_max_may_move_in_cost)
+ (ira_max_may_move_out_cost): Delete.
+ * ira.c (init_move_cost): Rename to...
+ (ira_init_register_move_cost): ...this, deleting the old
+ function with that name. Apply above variable renamings.
+ Retain asserts for null fields.
+ (ira_init_once): Don't initialize register move costs here.
+ (free_register_move_costs): Apply above variable renamings.
+ Remove code for deleted fields.
+
+2012-05-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ira.c (init_move_cost): Adjust choice of subclasses to match
+ the current ira_init_register_move_cost choice. Use
+ ira_class_subset_p instead of reg_class_subset_p.
+ (ira_init_register_move_cost): Assert that move_cost,
+ may_move_in_cost and may_move_out_cost already hold the desired
+ values for their ira_* equivalents. For the latter two,
+ ignore classes that can't store a register of the given mode.
+
+2012-05-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ira.c (setup_allocno_and_important_classes): Use
+ ira_class_hard_regs_num to check whether a class has any
+ allocatable registers.
+ (ira_init_register_move_cost): Likewise.
+
+2012-05-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ira.c (init_move_cost): Adjust local variable names to match
+ file conventions. Use ira_assert instead of gcc_assert.
+
+2012-05-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * regs.h (move_table, move_cost, may_move_in_cost, may_move_out_cost):
+ Move these definitions and associated target_globals fields to...
+ * ira-int.h: ...here.
+ * rtl.h (init_move_cost): Delete.
+ * reginfo.c (last_mode_for_init_move_cost, init_move_cost): Move to...
+ * ira.c: ...here, making the latter static.
+
+2012-05-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ira-costs.c (copy_cost): Use ira_init_register_move_cost_if_necessary
+ and ira_register_move_cost instead of init_move_cost and move_cost.
+
+2012-05-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ira.h (target_ira): Delete x_ira_available_class_regs.
+ (ira_available_class_regs): Delete.
+ * ira.c (setup_available_class_regs): Delete.
+ (setup_alloc_classes): Don't call it.
+ (setup_pressure_classes): Use ira_class_hard_regs_num instead of
+ ira_available_class_regs.
+ * haifa-sched.c (print_curr_reg_pressure, setup_insn_reg_pressure_info)
+ (model_spill_cost): Likewise.
+ * ira-build.c (low_pressure_loop_node_p): Likewise.
+ * ira-color.c (color_pass): Likewise.
+ * ira-emit.c (change_loop): Likewise.
+ * ira-lives.c (inc_register_pressure, dec_register_pressure)
+ (single_reg_class, ira_implicitly_set_insn_hard_regs)
+ (process_bb_node_lives): Likewise.
+ * loop-invariant.c (gain_for_invariant): Likewise.
+
+2012-05-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/52999
+ * config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
+ (pa_section_type_flags): New.
+ (pa_legitimate_constant_p): Revert previous change.
+
+2012-05-30 Steven Bosscher <steven@gcc.gnu.org>
+
+ * ira.c (allocate_initial_values): Make static.
+
+2012-05-30 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>:
+ Generate tls_initial_exec_64_sun only when !TARGET_X32.
+
+2012-05-30 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53501
+ * fold-const.c (fold_binary_loc): Make sure to call
+ fold_plusminus_mult_expr with the original sign of operands.
+
+2012-05-30 Steven Bosscher <steven@gcc.gnu.org>
+
+ * Makefile.in: Fix many dependencies.
+ (DWARF2_H): Depend on dwarf2.def.
+ (RTL_ERROR_H): Depend on rtl-error.h.
+ (TREE_PRETTY_PRINT_H, GIMPLE_PRETTY_PRINT_H): New. Replace
+ all gimple-pretty-print.h and tree-pretty-print.h references.
+
+2012-05-30 Marc Glisse <marc.glisse@inria.fr>
+
+ * simplify-rtx.c (simplify_binary_operation_1): Optimize shuffle of
+ concatenations.
+
+2012-05-30 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53522
+ * tree-emutls.c (gen_emutls_addr): Do not add globals to
+ referenced-vars.
+
+2012-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * explow.c (probe_stack_range): Restore simple control flow and stop
+ again when the probe cannot be generated if HAVE_check_stack.
+
+2012-05-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/53519
+ * combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
+ instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.
+
+2012-05-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.
+
+2012-05-29 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR debug/53453
+ * doc/tm.texi: Update.
+ * doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Add @hook.
+ * target.def (force_at_comp_dir): New hook.
+ * config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Define.
+ * dwarf2out.c (dwarf2out_finish): Check targetm.force_at_comp_dir.
+
+2012-05-29 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * config/darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when
+ Darwin >= 10.
+ (DARWIN_DYLIB1_SPEC): Do not use -ldylib1.10.5.o when Darwin >= 10.
+ (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10.
+
+2012-05-29 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51340
+ * config/sh/sh.c (sh_option_override): Set TARGET_FMAC if
+ flag_unsafe_math_optimizations is set.
+ * doc/invoke.texi (SH Options): Add -mno-fused-madd description.
+ Update description of -mfused-madd.
+
+2012-05-29 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/52941
+ * config/sh/predicates.md (atomic_arith_operand,
+ atomic_logical_operand): New predicates.
+ * config/sh/sh.c (sh_option_override): Check atomic options.
+ * config/sh/sh.h (TARGET_ANY_ATOMIC, UNSUPPORTED_ATOMIC_OPTIONS,
+ UNSUPPORTED_HARD_ATOMIC_CPU): New macros.
+ (DRIVER_SELF_SPECS): Use UNSUPPORTED_ATOMIC_OPTIONS and
+ UNSUPPORTED_HARD_ATOMIC_CPU.
+ * config/sh/sync.md: Update description comments.
+ (I12): New mode iterator.
+ (fetchop_predicate, fetchop_constraint): New code attributes.
+ (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
+ atomic_exchangesi_hard, atomic_exchange<mode>_hard,
+ atomic_fetch_<fetchop_name>si_hard,
+ atomic_fetch_<fetchop_name><mode>_hard,
+ atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
+ atomic_<fetchop_name>_fetchsi_hard,
+ atomic_<fetchop_name>_fetch<mode>_hard,
+ atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
+ atomic_test_and_set_hard): New insns.
+ (atomic_compare_and_swap<mode>_soft, atomic_exchange<mode>_soft,
+ atomic_fetch_<fetchop_name><mode>_soft, atomic_fetch_nand<mode>_soft,
+ atomic_<fetchop_name>_fetch<mode>_soft, atomic_nand_fetch<mode>_soft,
+ atomic_test_and_set_soft): Use same formatting for the first line of
+ the asm block as in new insns above.
+ (atomic_compare_and_swap<mode>, atomic_exchange<mode>,
+ atomic_fetch_<fetchop_name><mode>, atomic_<fetchop_name>_fetch<mode>,
+ atomic_test_and_set): Integrate new *_hard insns into expanders.
+ * config/sh/sh.opt (mhard-atomic): New option.
+ * doc/invoke.texi (SH Options): Document it.
+
+2012-05-29 Meador Inge <meadori@codesourcery.com>
+
+ * c-decl.c (c_push_function_context): Always create a new language
+ function.
+ (c_pop_function_context): Clear the language function created in
+ c_push_function_context.
+
+2012-05-29 Matt Turner <mattst88@gmail.com>
+
+ * config/alpha/ev6.md: (define_bypass "ev6_fmul,ev6_fadd"): New.
+ (define_bypass "ev6_fcmov"): New.
+
+2012-05-29 Steven Bosscher <steven@gcc.gnu.org>
+
+ * integrate.c: Remove.
+ * integrate.h: Remove.
+ * Makefile.in: Remove make rules for integrate.c and INTEGRATE_H.
+ * config/arm/t-arm: Remove INTEGRATE_H dependency for target files.
+ * config/rs6000/t-rs6000: Likewise
+ * config/spu/t-spu-elf: Likewise.
+ * function.h (get_hard_reg_initial_val, has_hard_reg_initial_val,
+ get_hard_reg_initial_reg, emit_initial_value_sets): Move prototypes
+ from integrate.h to here.
+ (initial_value_entry): New prototype.
+ * reload.h (allocate_initial_values): Remove prototype.
+ * tree.h (set_decl_abstract_flags, set_decl_origin_self): Likewise.
+ * cse.c (fixed_base_plus_p): Don't handle virtual registers for
+ integrate.c.
+ * dwarf2out.c (set_decl_origin_self, set_block_origin_self,
+ set_decl_abstract_flags, set_block_abstract_flags): Move from
+ integrate.c to here, the only user.
+ * expmed.c (extract_fixed_bit_field): Remove outdated comment
+ about integrate.c.
+ * function.c: Don't include integrate.h.
+ (struct initial_value_pair, struct initial_value_struct,
+ get_hard_reg_initial_val, has_hard_reg_initial_val,
+ get_hard_reg_initial_reg, emit_initial_value_sets): Move from
+ integrate.c to here.
+ (initial_value_entry): New function.
+ * genemit.c (main): Don't print integrate.h include line.
+ * ira.c: Don't include integrate.h.
+ (allocate_initial_values): Move from integrate.c to here.
+ (ira): Update allocate_initial_values call.
+ * tree-inline.c: Don't include integrate.h.
+ (function_attribute_inlinable_p): Moved from integrate.c to here.
+ * cfgexpand.c: Don't include integrate.h.
+ * except.c: Likewise.
+ * langhooks.c: Likewise.
+ * passes.c: Likewise.
+ * toplev.c: Likewise.
+ * config/frv/frv.c: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/spu/spu.c: Likewise.
+ * config/epiphany/epiphany.c: Likewise.
+ * config/mep/mep.c: Likewise.
+ * config/score/score.c: Likewise.
+ * config/picochip/picochip.c: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/alpha/alpha.c: Likewise.
+ * config/microblaze/microblaze.c: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/v850/v850.c: Likewise.
+ * config/mmix/mmix.c: Likewise.
+ * config/bfin/bfin.c: Likewise.
+ * config/arm/arm.c: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/m32r/m32r.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/c6x/c6x.c: Include function.h instead of integrate.h.
+ * config/tilegx/tilegx.c: Likewise.
+ * config/tilepro/tilepro.c: Likewise.
+
+2012-05-29 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/t-avr (s-avr-mmcu-texi): Call
+ gen-avr-mmcu-texi$(build_exeext) via ./ and don't assume . is in PATH.
+
+2012-05-29 Michael Matz <matz@suse.de>
+
+ * rtl.h (assign_stack_temp, assign_stack_temp_for_type,
+ assign_temp): Remove 'keep' argument.
+ (mark_temp_addr_taken): Remove prototype.
+ * tree.h (expand_decl): Remove prototype.
+ * function.c (struct temp_slot): Remove addr_taken and keep member.
+ (assign_stack_temp_for_type) Don't initialize above, remove
+ keep argument.
+ (assign_stack_temp, assign_temp): Remove keep argument.
+ (mark_temp_addr_taken): Remove.
+ (preserve_temp_slots): Remove handling of addr_taken and keep members.
+ (free_temp_slots): Ditto.
+ * expr.c (expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Remove
+ dead code.
+ * stmt.c (expand_asm_operands): Remove dead code.
+ (expand_decl): Remove.
+ * c-decl.c (finish_struct): Don't call expand_decl.
+ * builtins.c (expand_builtin_cexpi): Adjust calls to assign_temp
+ and assign_stack_temp.
+ * calls.c (save_fixed_argument_area, initialize_argument_information,
+ expand_call, emit_library_call_value_1, store_one_arg): Ditto.
+ * expmed.c (extract_bit_field_1): Ditto.
+ * expr.c (emit_group_load_1, emit_group_store,
+ copy_blkmode_from_reg, emit_push_insn, expand_assignment,
+ store_field, expand_constructor, expand_cond_expr_using_cmove,
+ expand_expr_real_2, expand_expr_real_1): Ditto.
+ * stmt.c (expand_asm_operands, expand_return): Ditto.
+
+ * function.c (pop_temp_slots): Call free_temp_slots.
+ * calls.c (store_one_arg): Don't call preserve_temp_slots or
+ free_temp_slots.
+ * expr.c (expand_assignment): Don't call free_temp_slots.
+
+ * config/arm/arm.c (neon_expand_vector_init): Ditto.
+ * config/i386/i386.c (ix86_expand_vector_set): Ditto.
+ (ix86_expand_vector_extract): Ditto.
+ * config/ia64/ia64.c (spill_xfmode_rfmode_operand,
+ ia64_expand_movxf_movrf): Ditto.
+ * config/mips/mips.c (mips_expand_vi_general): Ditto.
+ * config/mmix/mmix.md (floatdisf2, floatunsdisf2, truncdfsf2,
+ extendsfdf2): Ditto.
+ * config/rs6000/rs6000.c (rs6000_expand_vector_init,
+ rs6000_expand_vector_set, rs6000_expand_vector_extract,
+ rs6000_allocate_stack_temp): Ditto.
+ * config/rs6000/rs6000.md (fix_trunctfsi2_fprs): Ditto.
+ * config/sparc/sparc.c (emit_soft_tfmode_libcall,
+ sparc_emit_float_lib_cmp, sparc_emit_float_lib_cmp,
+ sparc_expand_vector_init): Ditto.
+
+2012-05-29 Michael Matz <matz@suse.de>
+
+ * c-tree.h (c_expand_decl): Remove prototype.
+
+ * expr.c (expand_expr_real_1 <normal_inner_ref>): Don't allocate
+ a kept temp.
+ (expand_expr_real_1 <COMPOUND_LITERAL_EXPR>): Make unreachable.
+ * gimple-fold.c (canonicalize_constructor_val): Canonicalize
+ COMPOUND_LITERAL_EXPR.
+ * function.c (expand_function_start): Don't call expand_decl,
+ instead assert that we have RTL assigned.
+ * tree-ssa-live.c (remove_unused_locals): Clear
+ nonlocal_goto_save_area if its backing variable is removed.
+ * stmt.c (expand_asm_operands): Remove handling of non-lvalues
+ as mem inputs.
+ (expand_decl): Assert that this does nothing.
+ * calls.c (expand_call): Don't call mark_temp_addr_taken.
+
+2012-05-29 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53516
+ * tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject
+ bitfield accesses.
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
+
+2012-05-29 Joseph Myers <joseph@codesourcery.com>
+
+ * LANGUAGES: Fix typos.
+ * Makefile.in: Fix typos.
+ * alias.c: Fix typos.
+ * auto-inc-dec.c: Fix typos.
+ * bb-reorder.c: Fix typos.
+ * cfgcleanup.c: Fix typos.
+ * cgraph.c: Fix typos.
+ * cgraph.h: Fix typos.
+ * cgraphunit.c: Fix typos.
+ * collect2-aix.h: Fix typos.
+ * collect2.c: Fix typos.
+ * compare-elim.c: Fix typos.
+ * config/alpha/vms.h: Fix typos.
+ * config/arm/README-interworking: Fix typos.
+ * config/arm/arm.c: Fix typos.
+ * config/arm/iterators.md: Fix typos.
+ * config/arm/vxworks.h: Fix typos.
+ * config/avr/avr.c: Fix typos.
+ * config/avr/avr.h: Fix typos.
+ * config/avr/avr.md: Fix typos.
+ * config/avr/builtins.def: Fix typos.
+ * config/c6x/c6x.c: Fix typos.
+ * config/cr16/cr16.c: Fix typos.
+ * config/cr16/cr16.md: Fix typos.
+ * config/cris/cris.md: Fix typos.
+ * config/darwin.c: Fix typos.
+ * config/darwin.opt: Fix typos.
+ * config/i386/i386-c.c: Fix typos.
+ * config/i386/i386.c: Fix typos.
+ * config/ia64/ia64.c: Fix typos.
+ * config/m68k/cf.md: Fix typos.
+ * config/mep/mep.c: Fix typos.
+ * config/microblaze/microblaze.c: Fix typos.
+ * config/microblaze/microblaze.h: Fix typos.
+ * config/mn10300/mn10300.c: Fix typos.
+ * config/mn10300/mn10300.md: Fix typos.
+ * config/pa/pa.c: Fix typos.
+ * config/picochip/picochip.h: Fix typos.
+ * config/rs6000/a2.md: Fix typos.
+ * config/rs6000/rs6000.c: Fix typos.
+ * config/rs6000/vector.md: Fix typos.
+ * config/rx/rx.md: Fix typos.
+ * config/rx/rx.opt: Fix typos.
+ * config/s390/2097.md: Fix typos.
+ * config/s390/s390.c: Fix typos.
+ * config/s390/s390.h: Fix typos.
+ * config/sh/sh.c: Fix typos.
+ * config/sh/sh.md: Fix typos.
+ * config/sparc/sync.md: Fix typos.
+ * config/spu/spu.c: Fix typos.
+ * config/spu/spu.md: Fix typos.
+ * config/vms/vms.c: Fix typos.
+ * config/vxworks-dummy.h: Fix typos.
+ * config/vxworks.h: Fix typos.
+ * cselib.c: Fix typos.
+ * df-scan.c: Fix typos.
+ * df.h: Fix typos.
+ * doc/extend.texi: Fix typos.
+ * doc/install.texi: Fix typos.
+ * doc/invoke.texi: Fix typos.
+ * doc/md.texi: Fix typos.
+ * doc/plugins.texi: Fix typos.
+ * doc/rtl.texi: Fix typos.
+ * dse.c: Fix typos.
+ * dwarf2asm.c: Fix typos.
+ * dwarf2out.c: Fix typos.
+ * except.h: Fix typos.
+ * expr.c: Fix typos.
+ * fold-const.c: Fix typos.
+ * gcc.c: Fix typos.
+ * gcse.c: Fix typos.
+ * genautomata.c: Fix typos.
+ * gengtype-state.c: Fix typos.
+ * gengtype.c: Fix typos.
+ * genhooks.c: Fix typos.
+ * gimple-fold.c: Fix typos.
+ * gimple-pretty-print.c: Fix typos.
+ * gimple.c: Fix typos.
+ * gimple.h: Fix typos.
+ * gimplify.c: Fix typos.
+ * graphite-interchange.c: Fix typos.
+ * graphite-sese-to-poly.c: Fix typos.
+ * ifcvt.c: Fix typos.
+ * input.c: Fix typos.
+ * ipa-cp.c: Fix typos.
+ * ipa-inline-analysis.c: Fix typos.
+ * ipa-inline-transform.c: Fix typos.
+ * ipa-inline.c: Fix typos.
+ * ipa-pure-const.c: Fix typos.
+ * ipa-ref.h: Fix typos.
+ * ipa-reference.c: Fix typos.
+ * ipa-utils.c: Fix typos.
+ * ipa.c: Fix typos.
+ * ira-emit.c: Fix typos.
+ * ira-lives.c: Fix typos.
+ * lto-streamer.c: Fix typos.
+ * lto-streamer.h: Fix typos.
+ * lto-wrapper.c: Fix typos.
+ * mcf.c: Fix typos.
+ * mode-switching.c: Fix typos.
+ * modulo-sched.c: Fix typos.
+ * plugin.c: Fix typos.
+ * postreload.c: Fix typos.
+ * sched-deps.c: Fix typos.
+ * sel-sched-ir.c: Fix typos.
+ * sel-sched-ir.h: Fix typos.
+ * sel-sched.c: Fix typos.
+ * sese.c: Fix typos.
+ * stor-layout.c: Fix typos.
+ * target-hooks-macros.h: Fix typos.
+ * target.def: Fix typos.
+ * trans-mem.c: Fix typos.
+ * tree-eh.c: Fix typos.
+ * tree-predcom.c: Fix typos.
+ * tree-sra.c: Fix typos.
+ * tree-ssa-address.c: Fix typos.
+ * tree-ssa-loop-ivopts.c: Fix typos.
+ * tree-ssa-loop-niter.c: Fix typos.
+ * tree-ssa-math-opts.c: Fix typos.
+ * tree-ssa-pre.c: Fix typos.
+ * tree-ssa-propagate.c: Fix typos.
+ * tree-ssa-reassoc.c: Fix typos.
+ * tree-ssa-sccvn.c: Fix typos.
+ * tree-ssa-ter.c: Fix typos.
+ * tree-ssa-uninit.c: Fix typos.
+ * tree-ssanames.c: Fix typos.
+ * tree-vect-generic.c: Fix typos.
+ * tree-vect-slp.c: Fix typos.
+ * tree.c: Fix typos.
+ * tree.h: Fix typos.
+ * varasm.c: Fix typos.
+ * varpool.c: Fix typos.
+
+2012-05-29 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/include/texinfo.tex: Update to version 2012-05-16.16.
+
+2012-05-29 Richard Guenther <rguenther@suse.de>
+
+ * tree-dfa.c (find_vars_r): Do not call add_referenced_vars
+ for globals.
+ (add_referenced_var_1): Re-organize. Assert we are not
+ called for globals.
+ (remove_referenced_var): Likewise.
+ * varpool.c (add_new_static_var): Use create_tmp_var_raw.
+ * tree-mudflap.c (execute_mudflap_function_ops): Do not
+ call add_referenced_var on globals.
+ * matrix-reorg.c (transform_access_sites): Likewise.
+
+2012-05-29 Steven Bosscher <steven@gcc.gnu.org>
+
+ * alias.c (reg_known_value): Make this a VEC.
+ (reg_known_equiv_p): Make this an sbitmap.
+ (reg_known_value_size): Remove.
+ (get_reg_known_value, set_reg_known_value, get_reg_known_equiv_p,
+ set_reg_known_equiv_p): Update for reg_known_value and
+ reg_known_value_size data structure change.
+ (init_alias_analysis, end_alias_analysis): Likewise.
+
+2012-05-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/53510
+ * input.c (read_line): Use XRESIZEVEC instead of XNEWVEC
+ to avoid leaking memory. No need to handle memory allocation
+ failure. Double string_len on each reallocation instead of adding 2.
+ * gcov.c (read_line): Likewise.
+
+2012-05-29 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.h (TARGET_HAS_BREAK, TARGET_TRAP_USING_BREAK8):
+ New macros.
+ * config/cris/cris.md ("trap"): Define, enabled for
+ TARGET_TRAP_USING_BREAK8.
+ * config/cris/cris.opt (mtrap-using-break8): New option.
+
+2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/25137
+ * doc/invoke.texi: Document -Wmissing-braces not enabled by -Wall
+ for C++.
+
+2012-05-28 Hans-Peter Nilsson <hp@axis.com>
+
+ * doc/md.texi (stack_protect_test): Remove negation of branch to label.
+ (Standard Names): Fix typos in documentation of atomic patterns.
+
+2012-05-27 Nathan Sidwell <nathan@acm.org>
+
+ * tree.c (build_constructor): Propagate TREE_SIDE_EFFECTS.
+
+2012-05-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/53220
+ * c-typeck.c (array_to_pointer_conversion): Give -Wc++-compat warning
+ about array compound literals.
+
+2012-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfgcleanup.c (try_optimize_cfg): Do not delete forwarder blocks
+ if CLEANUP_NO_INSN_DEL.
+ * cfgrtl.c (unique_locus_on_edge_between_p): New function extracted
+ from cfg_layout_merge_blocks.
+ (emit_nop_for_unique_locus_between): New function.
+ (rtl_merge_blocks): Invoke emit_nop_for_unique_locus_between.
+ (cfg_layout_merge_blocks): Likewise.
+
+2012-05-26 Dimitrios Apostolou <jimis@gmx.net>
+ Paolo Bonzini <bonzini@gnu.org>
+
+ * df-scan.c (df_def_record_1): Assert a parallel must contain an
+ EXPR_LIST at this point. Receive the LOC and move its extraction...
+ (df_defs_record): ... here. Change if-else to a switch statement.
+ (df_find_hard_reg_defs, df_find_hard_reg_defs_1): New.
+ (df_get_call_refs): Changed defs_generated from bitmap to HARD_REG_SET
+ and compute it from df_find_hard_reg_defs(). Record DF_REF_BASE
+ DEFs in REGNO order. Use HARD_REG_SET instead of bitmap for
+ regs_invalidated_by_call.
+ (df_insn_refs_collect): Record DF_REF_REGULAR DEFs after
+ df_get_call_refs().
+
+2012-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR lto/52178
+ * tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL.
+ * tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR.
+
+2012-05-25 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/t-linux64: Delete the 32-bit multilib that uses
+ software floating point emulation. No longer build the multilibs
+ with -mstrict-align.
+
+2012-05-25 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/53008
+ * trans-mem.c (ipa_tm_create_version_alias): Output new_node if
+ accessed indirectly.
+ (ipa_tm_create_version): Same.
+
+2012-05-25 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53474
+ * config/i386/i386.c (ix86_print_operand) <case 'O'>: Print '.' here.
+ <case 'C', case 'c', case 'F', case 'f'>: Print '.' only for C and c.
+
+2012-05-25 Alexander Ivchenko <alexander.ivchenko@intel.com>
+
+ PR target/53435
+ * config/i386/i386.c (ix86_expand_vec_perm): Use correct op.
+ (ix86_expand_vec_perm): Use int mode instead of float.
+ (expand_vec_perm_pshufb): Remove handling of useseless type
+ conversion.
+
+2012-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/52362
+ * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
+ gnu_ld variables to yes.
+ * configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion.
+ (HAVE_GNU_AS): Likewise.
+ * config.in: Regenerate.
+ * configure: Likewise.
+
+2012-05-25 Tristan Gingold <gingold@adacore.com>
+
+ * config/i386/i386.c (struct ix86_frame): Remove unused frame field.
+ (ix86_compute_frame_layout): Fix type of stack_alignment_needed
+ and preferred_alignment.
+
+2012-05-25 Tristan Gingold <gingold@adacore.com>
+
+ * common/config/ia64/ia64-common.c (ia64_except_unwind_info): Fix typo.
+
+2012-05-25 Thomas Schwinge <thomas@codesourcery.com>
+
+ * fold-const.c (optimize_bit_field_compare): Abort early in the strict
+ volatile bitfields case.
+
+2012-05-24 Pat Haugen <pthaugen@us.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Change
+ rs6000_sched_costly_dep default to true_store_to_load_dep_costly.
+ (adjacent_mem_locations): Move some code to and call...
+ (get_memref_parts): ...new function.
+ (mem_locations_overlap): New function.
+ (rs6000_adjust_priority): Adjust calls to is_load_insn/is_store_insn.
+ (is_mem_ref): Rename to...
+ (find_mem_ref): ...this. Return MEM rtx.
+ (get_store_dest): Remove function.
+ (is_load_insn1, is_load_insn, is_store_insn1, is_store_insn): Add
+ new parameter and adjust calls.
+ (rs6000_is_costly_dependence): Update calls for extra arg. Make sure
+ mem refs overlap for true_store_to_load_dep_costly.
+ (rs6000_sched_reorder2): Update calls for extra arg. Adjust args
+ passed to adjacent_mem_locations.
+ (is_costly_group): Walk resolved dependency list.
+ (force_new_group): Emit group ending nop for Power6/Power7.
+ * config/rs6000/rs6000.md (UNSPEC_GRP_END_NOP): New enum value.
+ (group_ending_nop): New define_insn.
+
+2012-05-24 Dodji Seketeli <dodji@redhat.com>
+
+ Make unwound macro expansion trace less redundant
+ * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Don't print
+ context of macro definition in the trace, when it's redundant.
+ Update comments.
+
+2012-05-24 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53460
+ * tree-profile.c (tree_profiling): Cleanup the CFG if
+ execute_fixup_cfg requests it.
+
+2012-05-24 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (create_var_ann): Remove.
+ * tree-dfa.c (create_var_ann): Remove and inline into its
+ single caller ...
+ (add_referenced_var_1): ... here.
+ * varpool.c (add_new_static_var): Do not call add_referenced_var
+ for global vars.
+ * gimple-fold.c (canonicalize_constructor_val): Likewise.
+ * tree-switch-conversion.c (build_one_array): Likewise.
+ * tree-profile.c (gimple_gen_ic_profiler): Likewise.
+ * tree-flow-inline.h (gimple_referenced_vars): Guard against
+ NULL fn argument.
+ * tree-inline.c (remap_gimple_op_r): Likewise. Check
+ gimple_referenced_vars instead of gimple_in_ssa_p.
+ (copy_tree_body_r): Likewise.
+ (setup_one_parameter): Likewise.
+ (declare_return_variable): Likewise.
+ (tree_function_versioning): Likewise.
+
+2012-05-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53465
+ * tree-vrp.c (extract_range_from_cond_expr): First copy_value_range
+ vr0 into *vr, then vrp_meet that.
+ (vrp_meet): If one vr type is VR_UNDEFINED, ensure the result doesn't
+ have any equivalences.
+ (vrp_visit_phi_node): Call copy_value_range instead of vrp_meet the
+ first time.
+
+2012-05-24 Jim MacArthur <jim.macarthur@arm.com>
+
+ * recog.c (reg_fits_class_p): Check both regno and regno + offset are
+ hard registers.
+ * regs.h (in_hard_reg_set_p): Assert that regno is a hard register and
+ check end_regno - 1 is a hard register.
+
+2012-05-24 Richard Guenther <rguenther@suse.de>
+
+ * varpool.c (add_new_static_var): Remove call to create_var_ann.
+ * tree-ssa-operands.c (create_vop_var): Likewise.
+
+2012-05-24 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/53466
+ * tree-ssa-live.c (remove_unused_scope_block_p): Properly
+ handle globals.
+ (remove_unused_locals): Pass global_unused_vars to
+ remove_unused_scope_block_p. Restore code walking all
+ referenced vars and pruning them.
+
+2012-05-23 Jan Hubicka <jh@suse.cz>
+
+ * tree.h (alias_diag_flags): Remove.
+ (alias_pair): Remove emitted_diags.
+ (finish_aliases_1, finish_aliases_2, remove_unreachable_alias_pairs,
+ symbol_alias_set_t, symbol_alias_set_destroy,
+ symbol_alias_set_contains, propagate_aliases_backward): Remove.
+ * toplev.c (compile_file): Do not call finish_aliases_2
+ * cgraphunit.c (cgraph_process_new_functions): Do not call
+ finish_aliases_1.
+ (handle_alias_pairs): Output diagnostics about aliases to externals.
+ (assemble_thunks_and_aliases): Use do_assemble_alias.
+ (output_weakrefs): Likewise.
+ (finalize_compilation_unit): Do not call finish_aliases_1.
+ * ipa.c (symtab_remove_unreachable_nodes): De not call
+ remove_unreachable_alias_pairs.
+ * varasm.c (do_assemble_alias): Export.
+ (symbol_alias_set_create, symbol_alias_set_destroy,
+ symbol_alias_set_contains, symbol_alias_set_insert,
+ propagate_aliases_forward, propagate_aliases_backward,
+ propagate_aliases_backward, trivially_visible_alias,
+ trivially_defined_alias, remove_unreachable_alias_pairs,
+ finish_aliases_1, finish_aliases_2, assemble_alias): Remove.
+ * output.h (do_assemble_alias): Declare.
+ * varpool.c (varpool_remove_unreferenced_decls): Do not call
+ finish_aliases_1.
+
+2012-05-23 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-inline-analysis.c (inline_merge_summary): Free operand_map.
+
+2012-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple.c (gimple_types_compatible_p_1) <ARRAY_TYPE>: Remove bogus
+ size handling.
+ (gimple_canonical_types_compatible_p) <ARRAY_TYPE>: Likewise.
+ (iterative_hash_gimple_type): Adjust comment.
+ (iterative_hash_canonical_type): Likewise. Hash the bounds of the
+ domain for an array type instead of the domain type itself.
+
+2012-05-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53438
+ * tree-sra.c (analyze_access_subtree): Correct bitfield exclusion.
+
+2012-05-23 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/53448
+ * config/avr/avr.h (ASM_OUTPUT_ALIGN): Don't inhibit .p2align 1.
+ * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Use
+ ASM_OUTPUT_ALIGN.
+
+2012-05-23 Richard Guenther <rguenther@suse.de>
+
+ * tree-dfa.c (add_referenced_var_1): Do not add global vars.
+ * tree-ssa-live.c (mark_all_vars_used_1): Handle global vars
+ via the global_unused_vars bitmap.
+ (remove_unused_locals): Handle global vars in local-decls via
+ a global_unused_vars bitmap instead of the used flag in the
+ var annotation. Simplify global variable handling and removal.
+
+2012-05-22 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/53426
+ * tree-ssa-structalias.c (create_variable_info_for): Skip constructors
+ from other partitions.
+
+2012-05-22 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/53161
+ * symtab.c (symtab_register_node): Fix ordering issue.
+
+2012-05-22 Steven Drake <sbd@NetBSD.org>
+
+ * gcc.c (do_spec_1): Add %M spec token to output multilib_os_dir.
+
+2012-05-22 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_table_ref):
+ Use strip_name_encoding target hook.
+
+2012-05-22 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (VAR_DECL_IS_VIRTUAL_OPERAND): New.
+ (init_function_for_compilation): Remove.
+ * tree-dfa.c (find_vars_r): Take struct function argument.
+ (find_referenced_vars_in): Adjust.
+ * tree-ssa-operands.c (clobber_stats): Remove.
+ (create_vop_var): Take struct function argument. Mark
+ virtual operand with VAR_DECL_IS_VIRTUAL_OPERAND.
+ (init_ssa_operands): Take struct function argument.
+ (fini_ssa_operands): Do not dump dead stats.
+ * tree-ssa-operands.h (init_ssa_operands): Take struct function
+ argument.
+ * cgraphunit.c (init_lowered_empty_function): Adjust.
+ * lto-streamer-in.c (input_cfg): Likewise.
+ * tree-inline.c (initialize_cfun): Likewise.
+ * tree-into-ssa.c (rewrite_into_ssa): Likewise.
+ * omp-low.c (expand_omp_taskreg): Likewise. Avoid switching cfun.
+ * gimple.c (is_gimple_reg): Optimize the SSA_NAME case,
+ virtual operands are not registers.
+
+2012-05-22 Richard Guenther <rguenther@suse.de>
+
+ * tree-cfg.c (verify_gimple_assign_unary): Fix typo in previous commit.
+
+2012-05-22 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53437
+ * tree-inline.c (setup_one_parameter): Create a dummy init
+ statement for unused parameters when not optimizing.
+
+2012-05-22 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (add_referenced_var_1): Declare.
+ (add_referenced_var): Define.
+ * tree-dfa.c (referenced_var_check_and_insert): Avoid one hash lookup.
+ (add_referenced_var): Rename to ...
+ (add_referenced_var_1): ... this. Take struct function argument.
+
+2012-05-22 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/53334
+ * config/arm/arm-protos.h (arm_validize_comparison): Declare.
+ * config/arm/arm.c (arm_validize_comparison): Define.
+ * config/arm/arm.md ("cbranchsi4"): Cleanup expansion and use
+ arm_validize_comparison.
+ ("cbranchdi4"): Likewise.
+ ("cstoredi4"): Likewise.
+ ("movsicc"): Likewise.
+ ("movsfcc"): Likewise.
+ ("movdfcc"): Likewise.
+
+2012-05-22 Dimitrios Apostolou <jimis@gmx.net>
+
+ * df-scan.c (df_scan_alloc): Round up allocation pools size, reduce
+ the mw_reg_pool size.
+
+2012-05-22 Paolo Bonzini <bonzini@gnu.org>
+
+ PR tree-optimization/53336
+ * tree-cfg.c (verify_gimple_assign_unary): Allow conversion from
+ non-integer integral types to offset type and vice versa.
+
+2012-05-22 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/aix.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Delete.
+ * config/rs6000/darwin.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Delete.
+ * config/rs6000/sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE,
+ V_SAVE_INLINE): Delete.
+ * config/rs6000/rs6000.c (V_SAVE_INLINE): Delete.
+ (rs6000_savres_strategy): Reimplement GP/FP/V_SAVE_INLINE logic.
+ For ELF targets, use out-of-line restores for -Os and any number
+ of regs if the restore exits, and out-of-line gp save for two or
+ more regs. Use save_reg_p to test for holes in reg restore set.
+ Replace "#if" with "if".
+
+2012-05-22 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (save_reg_p): New function.
+ (first_reg_to_save, first_fp_reg_to_save): Use it here.
+ (first_altivec_reg_to_save, restore_saved_cr): Likewise.
+ (emit_frame_save): Use gen_frame_store.
+ (gen_frame_mem_offset): Correct SPE condition requiring reg+reg.
+ (rs6000_emit_prologue): Use save_reg_p. Use gen_frame_store for
+ vrsave and toc.
+ (rs6000_emit_epilogue): Use save_reg_p. Use gen_frame_load for
+ vrsave, toc, gp and fp restores.
+
+2012-05-22 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c: Delete unnecessary forward declarations.
+ Move those with ATTRIBUTE_UNUSED to immediately before definitions.
+ Move function pointer variables after forward declarations.
+ (rs6000_builtin_support_vector_misalignment): Make static.
+ (rs6000_legitimate_address_p, rs6000_gimplify_va_arg): Likewise.
+ (rs6000_function_value, rs6000_can_eliminate): Likewise.
+
+2012-05-21 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/53373
+ * caller-save.c (save_call_clobbered_regs): Look into a possible
+ PARALLEL manually rather than using single_set on a call insn.
+
+2012-05-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53436
+ * omp-low.c (omp_build_component_ref): New function.
+ (build_receiver_ref, build_sender_ref, create_task_copyfn): Use it.
+
+2012-05-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (put_condition_code): Change "reverse" and "fp"
+ arguments to bool.
+ (ix86_print_operand) <case 'O'>: Look at mode size of the operand.
+ Do not print '.' here. Output operand lossage error for unhandled
+ sizes. Move.
+ <case '*'>: Move.
+ <case '&'>: Ditto.
+ <case 'Y'>: Ditto.
+ <case 'z'>: Hardcode "code" argument into error strings.
+ <case 'Z'>: Ditto.
+ <case 'D'>: Merge AVX and non-AVX codes.
+ <case 'C', case 'c', case 'F', case 'f'>: Merge. Fix error string.
+ Update call to put_condition_code.
+
+2012-05-21 Andreas Schwab <schwab@linux-m68k.org>
+
+ * config/m68k/m68k.md (*clzsi2_cf): Renamed from clzsi2. Call
+ CC_STATUS_INIT.
+ (clzsi2): New expander.
+ (*clzsi2_68k): New insn.
+ * config/m68k/m68k.h: Update comment about CLZ_DEFINED_VALUE_AT_ZERO.
+
+2012-05-21 Aldy Hernandez <aldyh@redhat.com>
+
+ * gimple.h (gimple_set_in_transaction): Remove.
+ (gimple_in_transaction): Look in BB instead.
+ (gimple_statement_base): Remove in_transaction field.
+ * basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
+ * trans-mem.c (compute_transaction_bits): Place transaction bit
+ information into basic blocks.
+
+2012-05-21 Andreas Schwab <schwab@linux-m68k.org>
+
+ * expr.c (get_def_for_expr_class): Define only if
+ HAVE_conditional_move.
+ (convert_tree_comp_to_rtx): Likewise.
+
+2012-05-21 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53399
+ * config/i386/i386.md (ffs<mode>2): Generate CCCmode compare
+ for TARGET_BMI.
+ (ffssi2_no_cmove): Ditto.
+ (*ffs<mode>_1): Remove insn pattern.
+ (*tzcnt<mode>_1): New insn pattern.
+ (*bsf<mode>1): Ditto.
+
+2012-05-21 Richard Guenther <rguenther@suse.de>
+
+ * tree-dfa.c (add_referenced_var): Do not walk DECL_INITIAL for
+ more referenced vars.
+ * tree-ssa-live.c (mark_all_vars_used_1): Only set the used
+ flag on variables that have a var-annotation.
+
+2012-05-21 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/53418
+ * c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR
+ from folded operands before wrapping another around the
+ conditional expression.
+
+2012-05-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53366
+ * tree-vect-slp.c (vect_supported_load_permutation_p): Don't shortcut
+ tests if complex_numbers == 2, but there are non-complex number loads
+ too.
+
+ PR tree-optimization/53409
+ * tree-vect-loop.c (vect_analyze_loop_operations): Don't check
+ vinfo_for_stmt (op_def_stmt) if op_def_stmt isn't inside loop.
+
+ PR tree-optimization/53410
+ * fold-const.c (fold_binary_loc): Use build_zero_cst (type)
+ instead of build_int_cst (type, 0) where vector types might be
+ involved. Instead of build_int_cst (type, 1) convert the original
+ integer_onep argument to the desired type.
+
+2012-05-21 Michael Matz <matz@suse.de>
+
+ * genattrtab.c (attr_rtx_cost): Move earlier, start with cost being 1.
+ (simplify_test_exp): Handle one more case of distributive law,
+ decrease cost threshold.
+ (tests_attr_p, get_attr_order): New functions.
+ (optimize_attrs): Use topological order, inline only cheap values.
+ (write_attr_set): Reset our_known_true after some time.
+
+2012-05-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/53425
+ * config/i386/i386.c (type_natural_mode): Warn passing SSE
+ vector argument without SSE enabled changes the ABI.
+
+2012-05-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53408
+ * tree-vect-loop.c (vectorizable_induction): Properly check
+ the restriction that we cannot handle induction results from
+ the inner loop outside of the outer loop.
+
+2012-05-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/53416
+ * config/i386/i386.md (UNSPEC_RDRAND): Renamed to ...
+ (UNSPECV_RDRAND): This.
+ (rdrand<mode>_1): Updated.
+
+2012-05-21 Richard Guenther <rguenther@suse.de>
+
+ * tree-loop-distribution.c (can_generate_builtin): Reject
+ volatile stmts.
+
+2012-05-21 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * Makefile.in (options.c): Add options.h to included header
+ files, before tm.h.
+
+2012-05-21 Razya Ladelsky <razya@il.ibm.com>
+
+ * tree-parloops.c : Add myself to contributors, update
+ TODO list, add link to wiki.
+
+2012-05-21 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/predicates.md (input_operand): Don't match
+ constant pool addresses. Remove label_ref, high and plus from
+ match_code list. Remove redundant CONSTANT_P test.
+ (splat_input_operand): Similarly update match_code list.
+ (small_toc_ref): New predicate.
+ * config/rs6000/rs6000-protos.h (toc_relative_expr_p): Update prototype.
+ * config/rs6000/rs6000.c (tocrel_base, tocrel_offset): Make const.
+ (legitimate_constant_pool_address_p): Move TARGET_TOC test and
+ register checks to..
+ (toc_relative_expr_p): ..here. Add "strict" param. Match new rtl
+ generated by create_TOC_reference.
+ (rs6000_legitimize_address): Update cerate_TOC_reference call.
+ (rs6000_delegitimize_address): Handle new rtl for toc refs.
+ (rs6000_cannot_force_const_mem, rs6000_find_base_term): Likewise.
+ (use_toc_relative_ref): New function, split out from..
+ (rs6000_emit_move): ..here. Remove redundant tests. Update
+ create_TOC_reference calls.
+ (rs6000_legitimize_reload_address): Formatting. Handle splitting
+ of medium/large model toc addresses. Use use_toc_relative_ref.
+ (print_operand): Formatting, style. Adjust for toc changes.
+ (print_operand_address): Likewise.
+ (rs6000_output_addr_const_extra): Likewise.
+ (create_TOC_reference): Put TOC_REGISTER in UNSPEC_TOCREL rather
+ than a PLUS. Use this formulation for both high and low part
+ of -mcmodel=medium/large toc reference too. Before reload,
+ always use the small model formulation.
+ * config/rs6000/rs6000.md (tls_gd, tls_gd_high): Similarly avoid
+ a PLUS in high part of addresses here.
+ (tls_ld, tls_ld_high, tls_got_dtprel, tls_got_dtprel_high): Likewise.
+ (tls_got_tprel, tls_got_tprel_high, largetoc_high): Likewise.
+ (largetoc_high, largetoc_low): Move earlier. Cope when no
+ base reg available.
+ (largetoc_high_plus): New insn.
+ (movsi_internal1, movsi_internal1_single, movsf_softfloat,
+ movdi_mfpgpr, movdi_internal64): Don't handle 'R' constraint here..
+ (tocref): ..instead do so here, new insn and split.
+
+2012-05-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Support
+ RDRND, F16C and FSGSBASE.
+
+2012-05-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR rtl-optimzation/53373
+ * config/pa/pa.md (call_symref_pic): Don't expose PIC register save in
+ call pattern. Update split patterns.
+ (call_symref_64bit, call_reg_pic, call_reg_64bit, call_val_symref_pic,
+ call_val_symref_64bit, call_val_reg_pic, call_val_reg_64bit): Likewise.
+
+2012-05-20 Razya Ladelsky <razya@il.ibm.com>
+
+ * tree-parloops.c (gen_parallel_loop): Change many_iterations_cond
+ for outer loops.
+
+2012-05-18 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (handle_alias_pairs): Declare; free alias_pairs
+ (cgraph_process_new_functions): Process also aliases.
+ * lto-streamer-out.c (struct sets): Remove.
+ (trivally_defined_alias): Remove.
+ (output_alias_pair_p): Remove.
+ (output_unreferenced_globals): Remove.
+ (produce_symtab); Do not handle alias pairs.
+ (produce_asm_for_decls): Likewise.
+ * lto-streamer-in.c (input_alias_pairs): Remove.
+ (lto_read_body): Do not input alias pairs.
+ (lto_input_constructors_and_inits): Remove.
+
+2012-05-18 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (handle_alias_pairs): Cleanup; handle all types of
+ aliases.
+
+2012-05-18 Jan Hubicka <jh@suse.cz>
+
+ * cgraphbuild.c (record_reference): Update.
+ * lto-cgraph.c (lto_output_varpool_node): External vars
+ are not in other partition even if they are not output
+ in current partition.
+ * gimple-fold.c (can_refer_decl_in_current_unit_p): Take FROM_DECL
+ argument; fix.
+ (canonicalize_constructor_val): Take FROM_DECL argument.
+ (fold_ctor_reference, fold_string_cst_ctor_reference,
+ fold_array_ctor_reference, fold_nonarray_ctor_reference,
+ fold_ctor_reference): Likewise.
+ (fold_const_aggregate_ref_1, gimple_get_virt_method_for_binfo): Update.
+ * gimple.h (gimple_fold_builtin): Likewise.
+
+2012-05-18 Olivier Hainque <hainque@adacore.com>
+
+ * Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of
+ $(libsubdir) as libexecsubdir.
+
+2012-05-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (print_operand): Revise code that unsafely
+ relied on signed overflow behavior.
+
+2012-05-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53346
+ * tree-loop-distribution.c (ldist_gen): Make sure to apply
+ builtin transform even when only a single partition with
+ all reads/writes exists.
+
+2012-05-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53390
+ * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Ignore
+ strided loads.
+
+2012-05-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * tree-ssa-reassoc.c (bip_map): Remove decl.
+ (completely_remove_stmt): Remove function.
+ (remove_def_if_absorbed_call): Remove function.
+ (remove_visited_stmt_chain): Remove __builtin_powi handling.
+ (possibly_move_powi): Remove function.
+ (rewrite_expr_tree): Remove calls to possibly_move_powi.
+ (rewrite_expr_tree_parallel): Likewise.
+ (attempt_builtin_powi): Build multiplies explicitly rather than
+ relying on the ops vector and rank system.
+ (transform_stmt_to_copy): New function.
+ (transform_stmt_to_multiply): Likewise.
+ (reassociate_bb): Handle leftover operations after __builtin_powi
+ optimization; build a final multiply if necessary.
+
+2012-05-18 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (varpool_finalize_decl): Allow external decls.
+ (mark_functions_to_output): Fix sanity check.
+ * ipa.c (function_and_variable_visibility): Remove TREE_STATIC check.
+
+2012-05-18 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (mark_symbols_for_renaming): Remove.
+ * tree-dfa.c (mark_symbols_for_renaming): Likewise.
+ * tree-inline.c (copy_edges_for_bb): Do not mark symbols for renaming.
+ (copy_debug_stmt): Likewise.
+ (expand_call_inline): Likewise.
+ (declare_return_variable): Mark the return variable for renaming
+ if necessary.
+
+2012-05-18 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm-protos.h (arm_emit_coreregs_64bit_shift): New
+ prototype.
+ * config/arm/arm.c (arm_emit_coreregs_64bit_shift): New function.
+ * config/arm/arm.md (ashldi3): Use arm_emit_coreregs_64bit_shift.
+ (ashrdi3,lshrdi3): Likewise.
+ (arm_cond_branch): Remove '*' to enable gen_arm_cond_branch.
+
+2012-05-18 Meador Inge <meadori@codesourcery.com>
+
+ PR rtl-optimization/53352
+ * cse.c (equiv_constant): Ignore paradoxical subregs.
+
+2012-05-17 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/53125
+ * regstat.c (regstat_bb_compute_ri): Take new local_live_last_luid
+ argument. Simplify calculation of REG_LIVE_LENGTH for regnos that
+ die in the basic block. Correctly top off REG_FREQ and
+ REG_FREQ_CALLS_CROSSED.
+ Remove do_not_gen.
+ (regstat_compute_ri): Allocate and free local_live_last_luid.
+ Remove do_not_gen.
+ (regstat_bb_compute_calls_crossed): Correctly top off
+ REG_FREQ_CALLS_CROSSED.
+
+2012-05-17 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with
+ constructor over decl without.
+ * cgraph.c (cgraph_remove_node): Clear also body of unanalyzed nodes.
+ * cgraph.h (varpool_can_remove_if_no_refs): Handle external correctly.
+ * cgraphunit.c (process_function_and_variable_attributes): Finalize
+ extrnal decls.
+ (mark_functions_to_output): Also accept bodies for functions with
+ clones.
+ (output_in_order): Skip external vars.
+ * lto-cgraph.c (lto_output_node): External functions are never in other
+ partition.
+ (lto_output_varpool_node): Likewise.
+ * lto-streamer-out.c (lto_write_tree): Always use error_mark_nodes for
+ forgotten initializers.
+ * ipa.c (process_references): Handle external vars.
+ (symtab_remove_unreachable_nodes): Update to handle external vars.
+ (varpool_externally_visible_p): External vars are externally visible.
+ * gimple-fold.c (can_refer_decl_in_current_unit_p): Update.
+ * varpool.c (varpool_remove_node): Remove constructor.
+ (decide_is_variable_needed): Handle externals.
+ (varpool_remove_unreferenced_decls): Likewise.
+
+2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * opts.c (common_handle_option): -pedantic-errors enables -Wpedantic.
+ (enable_warning_as_error): Do not special case Wuninitialized.
+ * optc-gen.awk: Add sanity checks.
+
+2012-05-17 Jan Hubicka <jh@suse.cz>
+
+ * ipa-reference.c (is_proper_for_analysis): Do not check flags
+ that might change as result of global optimization.
+ (analyze_function): Do not check analyzed and externally_visible
+ flags; be happy about address dereferences.
+ (propagate): Prune all_module_statics so it really contains just
+ statics; prune all the local summaries.
+ (ipa_reference_write_optimization_summary): Simplify.
+
+2012-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * config/m68k/m68k-devices.def: Add 51ag, 51je, 51jf, 51jg, 51mm, 51qm.
+ * config/m68k/m68k-tables.opt: Regenerated.
+ * doc/invoke.texi (M680x0 Options): Document.
+
+2012-05-16 Dave Boutcher <daveboutcher@gmail.com>
+ Patrick Marlier <patrick.marlier@gmail.com>
+
+ * trans-mem.c (ipa_tm_transform_clone): Transform functions with
+ indirect calls.
+
+2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure: Regenerated.
+
+2012-05-16 Andrew Pinski <apinski@cavium.com>
+
+ * gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under
+ GIMPLE_ASSIGN.
+
+2012-05-16 David S. Miller <davem@davemloft.net>
+
+ * jump.c (delete_related_insns): If we remove a CALL, make sure
+ we delete it's NOTE_INSN_CALL_ARG_LOCATION note too.
+
+2012-05-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/53217
+ * tree-ssa-reassoc.c (bip_map): New static variable.
+ (possibly_move_powi): Move feeding multiplies with __builtin_powi call.
+ (attempt_builtin_powi): Save feeding multiplies on a stack.
+ (reassociate_bb): Create and destroy bip_map.
+
+2012-05-16 Olivier Hainque <hainque@adacore.com>
+
+ * Makefile.in (install-no-fixedincludes): New target, former toplevel
+ gcc-no-fixedincludes. Stash "include-fixed" in addition to "include".
+ Add comments and improve stamp preservation across the whole sequence.
+ (stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h.
+
+2012-05-16 Richard Guenther <rguenther@suse.de>
+
+ * tree-inline.c (insert_init_stmt): Do not call
+ mark_symbols_for_renaming.
+ (setup_one_parameter): Avoid initializing unused parameters.
+ (declare_return_variable): Properly handle DECL_BY_REFERENCE
+ return vars in SSA form.
+
+2012-05-16 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (get_virtual_var): Remove.
+ * tree-dfa.c (get_virtual_var): Likewise.
+
+2012-05-16 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1):
+ Remove set-only bitmap of new names.
+ (slpeel_tree_peel_loop_to_edge): Likewise. Do not set
+ CFG hooks.
+ * tree-flow.h (ssa_names_to_replace): Remove.
+ * tree-into-ssa.c (ssa_names_to_replace): Likewise.
+
+2012-05-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53364
+ * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
+ detect a view-conversion of the decl.
+
+2012-05-16 Dodji Seketeli <dodji@redhat.com>
+
+ PR preprocessor/7263
+ * c-tree.h (enum c_declspec_word): Declare new enum.
+ (struct c_declspecs::locations): New member.
+ (declspecs_add_qual, declspecs_add_scspec)
+ (declspecs_add_addrspace, declspecs_add_alignas): Take a new
+ location parameter.
+ * c-decl.c (build_null_declspecs): Initialize the new struct
+ c_declspecs::locations member.
+ (declspecs_add_addrspace): Take a location parameter for the
+ address space. Store it onto declaration specifiers.
+ (declspecs_add_qual): Likewise, take a location parameter for the
+ qualifier.
+ (declspecs_add_type): Likewise, take a location parameter for the
+ type specifier.
+ (declspecs_add_scspec): Likewise, take a location parameter for
+ the storage class specifier.
+ (declspecs_add_attrs): Likewise, take a location parameter for the
+ first attribute.
+ (declspecs_add_alignas): Likewise, take a location parameter for
+ the alignas token.
+ (finish_declspecs): For diagnostics, use the location of the
+ relevant declspec, instead of the global input_location.
+ * c-parser.c (c_parser_parameter_declaration): Pass the precise
+ virtual location of the declspec to the declspecs-setters.
+ (c_parser_declspecs): Likewise. Avoid calling c_parser_peek_token
+ repeatedly.
+
+2012-05-16 Igor Zamyatin <igor.zamyatin@intel.com>
+
+ * configure.ac: Stack protector enabling for Android targets.
+ * configure: Regenerate.
+
+2012-05-16 Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ * ira.c (pseudo_move_insn): Delete.
+ (find_moveable_pseudos): Don't set it.
+ (move_unallocated_pseudos): Use DF_REG_DEF_CHAIN to find
+ the definitions of the original pseudo. Delete all of them.
+
+2012-05-16 Olivier Hainque <hainque@adacore.com>
+
+ * config/rs6000/rs6000-opts.h (enum processor_type): Add
+ PROCESSOR_PPC8548.
+ * config/rs6000/rs6000-cpus.def: Reference it for cpu="8548".
+ * config/rs6000/rs6000.md (cpu attribute definition): Add ppc8548.
+ * config/rs6000/8540.md: indicate that the units/patterns apply to
+ ppc8548 as well.
+
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Rename
+ default_cpu into implicit_cpu, conveying what --with-cpu was passed at
+ configure time. Treat implicit_cpu as have_CPU. Pick defaults for SPE
+ related flags, check that what is queried is supported by the selected
+ configuration. Rework the single/double_float and MASK_STRING resets to
+ hit for all the E500 cores (854x + E500MC variants). Select the ppc8540
+ costs for PROCESSOR_PPC8548 as well.
+ (rs6000_issue_rate): case CPU_PPC8548 together with CPU_PPC8540.
+ (rs6000_use_sched_lookahead): Likewise, rewriting function as a case
+ statement instead of a sequence of ifs.
+
+ * config/rs6000/rs6000.h (TARGET_E500): Remove.
+ (TARGET_NO_LWSYNC): Adjust accordingly.
+ * config/rs6000/e500.h (TARGET_E500): Remove.
+ (CHECK_E500_OPTIONS): Adjust accordingly.
+ * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Remove.
+ (TARGET_DEFAULT): Reformat definition to match the one in linuxspe.h.
+ * config/rs6000/linuxspe.h: Likewise.
+ * config/rs6000/vxworks.h: Remove bogus TARGET_E500 overrides and
+ superfluous comments.
+ * config/rs6000/e500-double.h: Remove.
+
+ * config.gcc (pick a default with_cpu): For powerpc*-*-*spe*,
+ default to with_cpu=8548 if --enable-e500-double, and to 8540
+ otherwise.
+ (set misc flags section): For powerpc*|rs6000*, remove inclusion
+ of e500-double.h for --enable-e500-double.
+
+2012-05-16 Olivier Hainque <hainque@adacore.com>
+
+ * Makefile.in (s-header-vars): Resort to -n instead of trailing
+ -e d in sed invocation.
+
+2012-05-16 Hans-Peter Nilsson <hp@axis.com>
+
+ * doc/tm.texi.in (Type Layout) <SIZE_TYPE>: Update reference to
+ source-code.
+ * doc/tm.texi: Regenerate.
+
+2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * tree.h (EXPR_LOCATION): Use CAN_HAVE_LOCATION_P.
+
+2012-05-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/53358
+ * config/i386/i386.md (*addqi_2 peephole with QImode addition): Check
+ that operands[2] is either immediate, or q_regs_operand.
+
+2012-05-15 Richard Guenther <rguenther@suse.de>
+
+ * cgraphunit.c (thunk_adjust): Use make_rename_temp.
+ (assemble_thunk): Likewise. Manually rename and register
+ function arguments.
+
+2012-05-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53355
+ * tree-vrp.c (extract_range_from_binary_expr_1): Handle LSHIFT_EXPRs
+ by constants.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * tree-ssa-strlen.c (get_string_length): Convert lhs if needed.
+
+2012-05-15 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_set_modified): Move ...
+ * gimple.h (gimple_set_modified): ... here.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * ira-color.c (move_spill_restore): Add a guard.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust calls to
+ plus_constant.
+
+2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimplify.c (gimplify_init_constructor): Do a block move for very
+ small objects as well.
+
+2012-05-15 Bernd Schmidt <bernds@codesourcery.com>
+
+ * ira.c (find_moveable_pseudos): Skip registers whose
+ DF_REG_EQ_USE_COUNT is nonzero.
+
+2012-05-15 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * doc/md.texi (fma): Define to only be applicable for single rounding.
+
+2012-05-14 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/46098
+ * config/i386/i386.c (ix86_expand_special_args_builtin): Always
+ generate target register for "load" class builtins.
+
+ Revert:
+ 2010-10-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/46098
+ * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
+ Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
+ (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
+ (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
+ (<sse>_movu<ssemodesuffix>): New expander.
+ (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
+ (avx_movdqu<avxmodesuffix>): New expander.
+ (*sse2_movdqu): Rename from sse2_movdqu.
+ (sse2_movdqu): New expander.
+
+2012-05-14 Marc Glisse <marc.glisse@inria.fr>
+
+ PR target/52607
+ * config/i386/i386.c (ix86_expand_vec_perm_const): Move code to ...
+ (canonicalize_perm): ... new function.
+ (expand_vec_perm_2vperm2f128_vshuf): New function.
+ (ix86_expand_vec_perm_const_1): Call it.
+
+2012-05-14 Andrew Pinski <apinski@cavium.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR target/53315
+ * config/i386/i386.md (xbegin_1): Use + in constraint and match_dup.
+ (xbegin): Updated.
+
+2012-05-14 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (dwarf2out_define, dwarf2out_undef): Treat
+ lineno 1 the same as lineno 0 before first start file directive.
+ (optimize_macinfo_range): Likewise.
+
+ * dwarf2out.c (have_macinfo): Define.
+ (dwarf2out_finish): Don't emit DW_AT_GNU_macros or DW_AT_macro_info
+ attribute, don't force empty compilation unit and don't emit any
+ .debug_macinfo/.debug_macro section if macinfo_table is empty.
+
+2012-05-14 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/53344
+ * config/avr/avr.c (avr_const_address_lo16): Remove.
+ (avr_assemble_integer): Print ".byte lo8(x)",
+ ".byte hi8(x)", ".byte hh8(x)" instead of emit an assembler
+ .warning if 3-byte address is assembled.
+ * doc/extend.texi (AVR Named Address Spaces): Document that
+ binutils 2.23 is needed to assemble 3-byte addresses.
+
+2012-05-14 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-data-refs.c (vect_setup_realignment): Remove
+ call to mark_symbols_for_renaming.
+ (vect_permute_load_chain): Likewise.
+ * tree-vect-loop.c (vect_is_slp_reduction): Update stmt
+ instead of calling mark_symbols_for_renaming.
+ * tree-vect-stmts.c (read_vector_array): Remove call to
+ mark_symbols_for_renaming.
+ (write_vector_array): Likewise.
+ (vectorizable_call): Likewise.
+ (vectorizable_store): Likewise.
+ (vectorizable_load): Likewise.
+ * matrix-reorg.c (transform_allocation_sites): Likewise.
+ * tree-ssa-pre.c (create_expression_by_pieces): Likewise.
+ (create_expression_by_pieces): Likewise.
+
+2012-05-14 Richard Guenther <rguenther@suse.de>
+
+ * gimplify.c (gimple_regimplify_operands): Only mark the LHS
+ of statements for renaming.
+ (force_gimple_operand_1): Likewise, consistently for both
+ calls to force_gimple_operand and force_gimple_operand_gsi.
+
+2012-05-14 Richard Guenther <rguenther@suse.de>
+
+ * tree-dfa.c (make_rename_temp): Be forgiving if not in SSA form.
+ * omp-low.c (expand_omp_taskreg): Properly conditionalize call
+ to update_ssa.
+ (expand_omp_for): Likewise.
+ (expand_omp_for_generic): Adjust conditional add to referenced vars.
+ Use make_rename_temp for temporaries that should be rewritten into
+ SSA form.
+ (expand_omp_for_static_nochunk): Likewise.
+ (expand_omp_atomic_pipeline): Likewise.
+
+2012-05-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53331
+ * tree-vect-data-refs.c (vect_verify_datarefs_alignment): Ignore
+ strided loads.
+ * tree-vect-stmts.c (vect_model_load_cost): Handle strided loads.
+
+2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 53063
+ * doc/options.texi: (LangEnabledBy): Document it.
+ * optc-gen.awk: Handle LangEnabledBy.
+ * opth-gen.awk: Generate declaration for lang-specific functions.
+ * opt-read.awk: Record lang numbers.
+ * opt-functions.awk (flag_set_p): Ignore the arguments of flags.
+ (lang_sanitized_name): New.
+
+2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
+
+ * attribs.c (decl_attributes): Avoid emitting a warning if
+ ATTR_FLAG_BUILT_IN.
+ * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Use lowercase for rtx
+ codes. Document meaning of sets inside CALL_INSN_FUNCTION_USAGE.
+ * builtin-attrs.def (DEF_ATTR_FOR_STRING): Define. Use it to
+ define a string "1".
+ (ATTR_RET1_NOTHROW_NONNULL_LEAF): New attr definition.
+ * builtins.def (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET,
+ BUILT_IN_STRCPY): Use it for these functions.
+ * postreload.c (reload_combine): Deal with SETs inside
+ CALL_INSN_FUNCTION_USAGE.
+ * caller-save.c (setup_save_areas, save_call_clobbered_regs):
+ Look for REG_RETURNED notes and use a cheap restore if possible.
+ * ira-int.h (struct ira_allocno): New member cheap_calls_crossed_num.
+ (ALLOCNO_CHEAP_CALLS_CROSSED_NUM): New macro.
+ * ira-build.c (ira_create_allocno, create_cap_allocno,
+ propagate_allocno_info, propagate_some_info_from_allocno,
+ copy_info_to_removed_store_destination, ira_flattening): Handle it.
+ * ira-lives.c (pseudo_regno_single_word_and_live_p,
+ find_call_crossed_cheap_reg): New static functions.
+ (process_bb_node_lives): Look for SETs in CALL_INSN_FUNCTION_USAGE,
+ and set ALLOCNO_CHEAP_CALLS_CROSSED_NUM if possible. Also make
+ a REG_RETURNED note in that case.
+ * ira.c (setup_reg_renumber): Change assert to allow cases where
+ allocnos only cross calls for which they are cheap to restore.
+ * ira-costs.c (ira_tune_allocno_costs): Compare
+ ALLOCNO_CALLS_CROSSED_NUM to ALLOCNO_CHEAP_CALLS_CROSSED_NUM rather
+ than 0.
+ * reg-notes.def (REG_RETURNED): New note.
+ * cse.c (cse_insn): Likewise.
+ * sched-deps.c (sched_analyze_insn): Likewise.
+ * expr.c (init_block_move_fn): Set a "fn spec" attribute.
+ * calls.c (decl_return_flags): New static function.
+ (expand_call): Generate a SET in CALL_INSN_FUNCTION_USAGE for
+ functions that return one of their arguments.
+ * regcprop.c (struct kill_set_value_data): New.
+ (kill_set_value): Interpret data as a pointer to such a struct.
+ Do nothing if the caller wants the register to be ignored.
+ (copyprop_hardreg_forward_1): Handle SETs in CALL_INSN_FUNCTION_USAGE.
+
+2012-05-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53340
+ * tree-ssa-pre.c (op_valid_in_sets): Fix error in last commit.
+
+2012-05-14 Richard Guenther <rguenther@suse.de>
+
+ * gimplify.c (gimplify_expr): Remove odd code.
+
+2012-05-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * stor-layout.c (bit_from_pos): Distribute conversion to bitsizetype
+ into a PLUS_EXPR byte offset.
+
+ * tree-ssa-pre.c (can_value_number_call): Delete.
+ (compute_avail): Skip all statements with side effects.
+ <GIMPLE_CALL>: Skip calls to internal functions.
+
+2012-05-13 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/pa/pa.md: Use define_c_enum for "unspec" and "unspecv".
+
+2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * common.opt (Wtype-limits): Use EnabledBy.
+
+2012-05-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*pushtf): Enable for TARGET_SSE.
+ (pushtf splitter): Ditto.
+ (movtf): Ditto.
+ (*movtf_internal): Ditto. Use V4SFmode for !TARGET_SSE2.
+ (<code>tf2): Enable for TARGET_SSE.
+ (*absnegtf2_sse): Ditto.
+ (copysign<mode>3): Enable TFmode for TARGET_SSE.
+ (copysign<mode>3_const): Ditto.
+ (copysign<mode>3_var): Ditto.
+ * config/i386/sse.md (<code>tf3): Enable for TARGET_SSE.
+ (*andnottf3): Ditto. Use V4SFmode for !TARGET_SSE2.
+ (*<code>tf3): Ditto.
+ * config/i386/i386.c (struct builtin_description bdesc_args)
+ <IX86_BUILTIN_FABSQ>: Enable for TARGET_SSE.
+ <IX86_BUILTIN_COPYSIGNQ>: Ditto.
+ (ix86_expand_builtin) <IX86_BUILTIN_FABSQ, IX86_BUILTIN_COPYSIGNQ>:
+ Emit a normal call if SSE isn't available.
+
+2012-05-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (<sse>_andnot<mode>3): Handle
+ TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
+ (<code><mode>3): Ditto.
+ (*andnot<mode>3): Ditto.
+ (*andnottf3): Ditto.
+ (*<code><mode>3): Ditto.
+ (<code>tf3): Ditto.
+
+2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * optc-gen.awk: Error instead of warning for conflicting help.
+
+2012-05-12 Jason Merrill <jason@redhat.com>
+
+ PR debug/53235
+ * dwarf2out.c (build_local_stub): Prefer DW_AT_signature for
+ comdat types.
+
+2012-05-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * function.c (requires_stack_frame_p): If the function can throw
+ non-call exceptions, return true if the insn can throw internally.
+
+2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * doc/generic.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P.
+
+2012-05-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
+ ORDERED and UNORDERED conditions.
+
+2012-05-11 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (referenced_var_check_and_insert): Remove.
+ (find_new_referenced_vars): Likewise.
+ * tree-dfa.c (referenced_var_check_and_insert): Make static.
+ (find_new_referenced_vars_1, find_new_referenced_vars): Remove.
+ * tree-inline.c (copy_bb): Use find_referenced_vars_in
+ instead of find_new_referenced_vars.
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Likewise.
+
+2012-05-11 Richard Guenther <rguenther@suse.de>
+
+ * tree-pass.h (pass_rest_of_compilation,
+ pass_all_optimizations, pass_postreload, pass_all_early_optimizations):
+ Remove.
+ * passes.c (pass_all_optimizations, pass_postreload,
+ pass_all_early_optimizations): Make static.
+ (pass_rest_of_compilation): Likewise. Make it an RTL_PASS.
+ * tree-phinodes.c (init_phinodes, fini_phinodes): Remove.
+ * tree-ssa.c (init_tree_ssa): Do not call init_phinodes.
+ (delete_tree_ssa): Do not call fini_phinodes.
+ * tree-flow.h (init_phinodes, fini_phinodes): Remove.
+
+2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 53063
+ * doc/options.texi (EnabledBy): Document
+ * opts.c: Include opts.h and options.h before tm.h.
+ (finish_options): Do not handle some sub-options here...
+ (common_handle_option): ... instead call common_handle_option_auto
+ here.
+ * optc-gen.awk: Handle EnabledBy.
+ * opth-gen.awk: Declare common_handle_option_auto.
+ * common.opt (Wuninitialized): Use EnabledBy. Delete Init.
+ (Wmaybe-uninitialized): Likewise.
+ (Wunused-but-set-variable): Likewise.
+ (Wunused-function): Likewise.
+ (Wunused-label): Likewise.
+ (Wunused-value): Likewise.
+ (Wunused-variable): Likewise.
+ * opt-read.awk: Create opt_numbers array.
+
+2012-05-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53295
+ * tree-data-ref.h (stride_of_unit_type_p): Handle non-constant
+ strides.
+ * tree-data-ref.c (dr_analyze_innermost): Allow non-constant
+ strides when analyzing data-references in a loop context.
+ * tree-vect-data-refs.c (vect_mark_for_runtime_alias_test): Reject
+ non-constant strides for now.
+ (vect_enhance_data_refs_alignment): Ignore data references
+ that are strided loads.
+ (vect_analyze_data_ref_access): Handle non-constant strides.
+ (vect_check_strided_load): Verify the data-reference is a load.
+ (vect_analyze_data_refs): Restructure to make strided load
+ support not dependent on gather support.
+ * tree-vect-stmts.c (vectorizable_load): Avoid useless work
+ when doing strided or gather loads.
+ * tree-vect-loop-manip.c (vect_vfa_segment_size): Use
+ integer_zerop to compare stride with zero.
+
+2012-05-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Support RTM.
+
+2012-05-11 Jan Hubicka <jh@suse.cz>
+
+ PR bootstrap/53300
+ * varpool.c (varpool_assemble_decl): Also output constat pool entries
+ that output_constant_pool missed.
+
+2012-05-11 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * config/mips/t-vxworks: Change MUTLILIB_EXTRA_OPTS to
+ MULTILIB_EXTRA_OPTS.
+
+2012-05-11 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53291
+ * config/i386/i386.md (xtest): Use NE condition in ix86_expand_setcc.
+
+2012-05-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movti_internal_rex64): Avoid MOVAPS size
+ optimization for TARGET_AVX.
+ (*movti_internal_sse): Ditto.
+ (*movdi_internal_rex64): Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
+ (*movdi_internal): Ditto.
+ (*movsi_internal): Ditto.
+ (*movtf_internal): Avoid MOVAPS size optimization for TARGET_AVX.
+ (*movdf_internal_rex64): Ditto.
+ (*movfd_internal): Ditto.
+ (*movsf_internal): Ditto.
+ * config/i386/sse.md (mov<mode>): Handle TARGET_SSE_LOAD0_BY_PXOR.
+
+2012-05-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (add_byte_size_attribute) <RECORD_TYPE>: Handle variable
+ reference as size attribute.
+
+2012-05-10 Eric Botcazou <ebotcazou@adacore.com>
+ Tristan Gingold <gingold@adacore.com>
+
+ * doc/md.texi (Standard Names): Document probe_stack_address.
+ * explow.c (emit_stack_probe): Handle probe_stack_address.
+ * config/ia64/ia64.md (UNSPECV_PROBE_STACK_ADDRESS): New constant.
+ (UNSPECV_PROBE_STACK_RANGE): Likewise.
+ (probe_stack_address): New insn.
+ (probe_stack_range): Likewise.
+ * config/ia64/ia64.c: Include common/common-target.h.
+ (ia64_compute_frame_size): Mark r2 and r3 as used if static stack
+ checking is enabled.
+ (ia64_emit_probe_stack_range): New function.
+ (output_probe_stack_range): Likewise.
+ (ia64_expand_prologue): Invoke ia64_emit_probe_stack_range if static
+ builtin stack checking is enabled.
+ (rtx_needs_barrier) <UNSPEC_VOLATILE>: Handle UNSPECV_PROBE_STACK_RANGE
+ and UNSPECV_PROBE_STACK_ADDRESS.
+ (unknown_for_bundling_p): New predicate.
+ (group_barrier_needed): Use important_for_bundling_p.
+ (ia64_dfa_new_cycle): Use unknown_for_bundling_p.
+ (issue_nops_and_insn): Likewise.
+ (bundling): Likewise.
+ (final_emit_insn_group_barriers): Likewise.
+ * config/ia64/ia64-protos.h (output_probe_stack_range): Declare.
+ * config/ia64/hpux.h (STACK_CHECK_STATIC_BUILTIN): Define.
+ (STACK_CHECK_PROTECT): Likewise.
+ * config/ia64/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
+
+2012-05-10 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (update_all_callee_keys): Remove.
+ (inline_small_functions): Simplify priority updating.
+
+2012-05-10 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (symtab_remove_unreachable_nodes): Fix marking of clones.
+
+2012-05-10 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (cgraph_remove_unreachable_nodes): Rename to ...
+ (symtab_remove_unreachable_nodes): ... this one.
+ * ipa-cp.c (ipcp_driver): Do not remove unreachable nodes.
+ * cgraphunit.c (ipa_passes): Update.
+ * cgraphclones.c (cgraph_materialize_all_clones): Update.
+ * cgraph.c (cgraph_release_function_body): Only turn initial
+ into error mark when initial was previously set.
+ * ipa-inline.c (ipa_inline): Update.
+ * ipa.c: Include ipa-inline.h
+ (enqueue_cgraph_node, enqueue_varpool_node): Remove.
+ (enqueue_node): New function.
+ (process_references): Update.
+ (symtab_remove_unreachable_nodes): Cleanup.
+ * passes.c (execute_todo, execute_one_pass): Update.
+
+2012-05-10 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/53125
+ * ira.c (ira): Call find_moveable_pseudos and
+ move_unallocated_pseudos if only ira_conflicts_p is true.
+
+2012-05-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movoi_internal_avx): Handle
+ TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL and TARGET_SSE_TYPELESS_STORES.
+ (*movti_internal_rex64): Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
+ (*movti_internal_sse): Ditto.
+ (*movtf_internal): Ditto.
+ * config/i386/sse.md (ssePSmode): New mode attribute.
+ (*move<mode>_internal): Use ssePSmode.
+ (*<sse>_movu<ssemodesuffix><avxsizesuffix>): Ditto.
+ (*<sse2>_movdqu<avxsizesuffix>): Ditto.
+ * config/i386/i386.c (standard_sse_constant_opcode): Do not handle
+ TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL here.
+
+2012-05-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the
+ DECL_ORIGINAL_TYPE if it is present.
+
+2012-05-10 Nick Clifton <nickc@redhat.com>
+
+ PR target/53120
+ * config/m32c/bitops.md (bset_qi): Change operand 2 from having
+ a "0" constraint to being a (match_dup 0).
+
+2012-05-10 Richard Guenther <rguenther@suse.de>
+
+ * stor-layout.c (byte_from_pos): Amend comment.
+
+2012-05-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/extend.texi (X86 Built-in Functions, __builtin_cpu_init):
+ Document requirement to call in constructors.
+
+ * config/i386/i386.c: Update comments for i386-cpuinfo.c name change.
+
+2012-05-10 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (TYPE_IS_SIZETYPE): Remove.
+ * fold-const.c (int_const_binop_1): Remove TYPE_IS_SIZETYPE use.
+ (extract_muldiv_1): Likewise.
+ * gimple.c (gtc_visit): Likewise.
+ (gimple_types_compatible_p): Likewise.
+ (iterative_hash_canonical_type): Likewise.
+ (gimple_canonical_types_compatible_p): Likewise.
+ * gimplify.c (gimplify_one_sizepos): Likewise.
+ * print-tree.c (print_node): Likewise.
+ * stor-layout.c (initialize_sizetypes): Do not set TYPE_IS_SIZETYPE.
+
+2012-05-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/52908
+ * config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using
+ xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high.
+ (vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern
+ instead of xop_mulv2div2di3_low.
+ (xop_p<macs>dql): Fix vec_select selector.
+ (xop_p<macs>dqh): Ditto.
+ (xop_mulv2div2di3_low): Remove insn_and_split pattern.
+ (xop_mulv2div2di3_high): Ditto.
+
+2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c++/53289
+ * diagnostic.h (diagnostic_context): Add last_location.
+ * diagnostic.c (diagnostic_initialize): Initialize it.
+ (diagnostic_show_locus): Use it.
+
+2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * doc/extend.texi (Function Attributes): Point xref to section
+ about Pragmas.
+
+2012-05-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (*movdf_internal_rex64): Remove
+ TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code.
+ Calculate "mode" attribute according to
+ TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flag.
+ (*movdf_internal): Ditto.
+
+2012-05-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/44141
+ * config/i386/i386.c (ix86_expand_vector_move_misalign): Do not handle
+ 128 bit vectors specially for TARGET_AVX. Emit sse2_movupd and
+ sse_movupd RTXes for TARGET_AVX, TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
+ or when optimizing for size.
+ * config/i386/sse.md (*mov<mode>_internal): Remove
+ TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code.
+ Calculate "mode" attribute according to optimize_function_for_size_p
+ and TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flag.
+ (*<sse>_movu<ssemodesuffix><avxsizesuffix>): Choose asm template
+ depending on the mode of the instruction. Calculate "mode" attribute
+ according to optimize_function_for_size_p, TARGET_SSE_TYPELESS_STORES
+ and TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flags.
+ (*<sse2>_movdqu<avxsizesuffix>): Ditto.
+
+2012-05-09 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/53256
+ * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove.
+ * config/avr/avr-protos.h (avr_asm_declare_function_name): Remove.
+ * config/avr/avr.h (struct machine_function): Add attributes_checked_p.
+ * config/avr/avr.c (avr_asm_declare_function_name): Remove.
+ (expand_prologue): Move initialization of cfun->machine->is_naked,
+ is_interrupt, is_signal, is_OS_task, is_OS_main from here to...
+ (avr_set_current_function): ...this new static function.
+ (TARGET_SET_CURRENT_FUNCTION): New define.
+ (avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of
+ checking attributes of current_function_decl.
+ (avr_regs_to_save): Ditto.
+ (signal_function_p): Rename to avr_signal_function_p.
+ (interrupt_function_p): Rename to avr_interrupt_function_p.
+
+ * doc/extend.texi (Function Attributes): Better explanation of
+ 'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish
+ alphabetical order.
+
+2012-05-09 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/53185
+ * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Disable
+ peeling when we see strided loads.
+
+2012-05-09 Matthias Klose <doko@ubuntu.com>
+
+ * gcc-ar.c (main): Don't check for execute bits for the plugin.
+
+2012-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * tree-ssa-loop-ivopts.c (add_autoinc_candidates, get_address_cost):
+ Replace use of HAVE_{POST/PRE}_{INCREMENT/DECREMENT} with
+ USE_{LOAD/STORE}_{PRE/POST}_{INCREMENT/DECREMENT} appropriately.
+ * config/arm/arm.h (ARM_AUTOINC_VALID_FOR_MODE_P): New.
+ (USE_LOAD_POST_INCREMENT): Define.
+ (USE_LOAD_PRE_INCREMENT): Define.
+ (USE_LOAD_POST_DECREMENT): Define.
+ (USE_LOAD_PRE_DECREMENT): Define.
+ (USE_STORE_PRE_DECREMENT): Define.
+ (USE_STORE_PRE_INCREMENT): Define.
+ (USE_STORE_POST_DECREMENT): Define.
+ (USE_STORE_POST_INCREMENT): Define.
+ (arm_auto_incmodes): Add enumeration.
+ * config/arm/arm-protos.h (arm_autoinc_modes_ok_p): Declare.
+ * config/arm/arm.c (arm_autoinc_modes_ok_p): Define.
+
+2012-05-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53226
+ * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Remove
+ prev and prev_initialized vars, gimple_set_plf (stmt, GF_PLF_1, false)
+ before processing it and gimple_set_plf (stmt, GF_PLF_1, true) if it
+ doesn't need to be revisited, look for earliest stmt with
+ !gimple_plf (stmt, GF_PLF_1) if something changed.
+
+2012-05-09 Terry Guo <terry.guo@arm.com>
+
+ * genmultilib: Update copyright dates.
+ * doc/fragments.texi: Ditto.
+
+2012-05-09 Terry Guo <terry.guo@arm.com>
+
+ * Makefile.in (s-mlib): Add new argument MULTILIB_REQUIRED.
+ * genmultilib (MULTILIB_REQUIRED): New.
+ * doc/fragments.texi: Document the MULTILIB_REQUIRED.
+
+2012-05-09 Richard Guenther <rguenther@suse.de>
+
+ * tree-vectorizer.h (vect_loop_versioning): Adjust prototype.
+ (vect_do_peeling_for_loop_bound): Likewise.
+ (vect_do_peeling_for_alignment): Likewise.
+ * tree-vect-loop-manip.c (conservative_cost_threshold): Remove.
+ (vect_do_peeling_for_loop_bound): Get check_profitability and
+ threshold as parameters.
+ (vect_do_peeling_for_alignment): Likewise.
+ (vect_loop_versioning): Likewise.
+ * tree-vect-loop.c (vect_transform_loop): Compute check_profitability
+ and threshold here. Control where to put the check here.
+
+2012-05-09 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR middle-end/53249
+ * dwarf2out.h (get_address_mode): Move declaration to...
+ * rtl.h: ...here.
+ * dwarf2out.c (get_address_mode): Move definition to...
+ * rtlanal.c: ...here.
+ * var-tracking.c (get_address_mode): Delete.
+ * combine.c (find_split_point): Use get_address_mode instead of
+ targetm.addr_space.address_mode.
+ * cselib.c (cselib_record_sets): Likewise.
+ * dse.c (canon_address, record_store): Likewise.
+ * emit-rtl.c (adjust_address_1, offset_address): Likewise.
+ * expr.c (move_by_pieces, emit_block_move_via_loop, store_by_pieces)
+ (store_by_pieces_1, expand_assignment, store_expr, store_constructor)
+ (expand_expr_real_1): Likewise.
+ * ifcvt.c (noce_try_cmove_arith): Likewise.
+ * optabs.c (maybe_legitimize_operand_same_code): Likewise.
+ * reload.c (find_reloads): Likewise.
+ * sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
+ * sel-sched-dump.c (debug_mem_addr_value): Likewise.
+
+2012-05-09 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * config/mips/mips.c (mips16_gp_pseudo_reg): Remove line
+ information from the instruction produced.
+
+2012-05-09 Richard Guenther <rguenther@suse.de>
+
+ * stor-layout.c (bit_from_pos): Document.
+ (byte_from_pos): Likewise. Optimize.
+ (pos_from_bit): Likewise.
+ (normalize_offset): Use pos_from_bit instead of replicating it.
+
+2012-05-09 Alan Modra <amodra@gmail.com>
+
+ PR target/53271
+ * config/rs6000/rs6000.c (gen_frame_set): New function.
+ (gen_frame_load, gen_frame_store): New functions.
+ (rs6000_savres_rtx): Use the above.
+ (rs6000_emit_epilogue, rs6000_emit_prologue): Here too.
+ Correct mode used for CR2 in save/restore_world patterns.
+ Don't emit instructions for eh_return frame unwind reg info.
+
+2012-05-08 Jan Hubicka <jh@suse.cz>
+
+ * cgraphbuild.c (build_cgraph_edges): Do not finalize vars
+ with VALUE_EXPR.
+ * cgraph.h (varpool_can_remove_if_no_refs): Vars with VALUE_EXPR
+ are removable.
+ * toplev.c (wrapup_global_declaration_2): Vars with VALUE_EXPR
+ need to wrapup.
+ (compile_file): Do not output variables.
+ * cgraphbuild.c (varpool_finalize_decl): When var is finalized late,
+ output it.
+ * langhooks.c: Include timevar.h
+ (write_global_declarations): Finalize compilation unit after wrapup;
+ set timevars correctly.
+ * passes.c (rest_of_decl_compilation): Decls with VALUE_EXPR needs
+ not to be added to varpool.
+ * varpool.c (varpool_assemble_decl): Sanity check that we are called
+ only on cases where it makes sense; skip constant pool and value expr
+ vars.
+
+2012-05-08 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/linux.h (LINK_SPEC): Don't pass "-Y" option.
+ * config/sparc/linux64.h (LINK_ARCH32_SPEC): Likewise.
+ * config/sparc/linux64.h (LINK_ARCH64_SPEC): Likewise.
+
+2012-05-08 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR rtl-optimization/53278
+ * lower-subreg.c (decompose_multiword_subregs): Remove left-over
+ speed_p code from earlier patch.
+
+2012-05-08 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh.md (*branch_true, *branch_false): New insns.
+
+2012-05-08 Teresa Johnson <tejohnson@google.com>
+
+ * gcov-io.h (__gcov_reset, __gcov_dump): Declare.
+ * doc/gcov.texi: Add note on using __gcov_reset and __gcov_dump.
+
+2012-05-08 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_call_edge_duplication_hooks): Export.
+ (cgraph_create_node_1): Rename to ...
+ (cgraph_create_empty_node): ... this one; export.
+ (cgraph_create_node): Update.
+ (cgraph_set_call_stmt_including_clones): Move to cgraphclones.c
+ (cgraph_create_edge_including_clones): Likewise.
+ (cgraph_find_replacement_node): Likewise.
+ (cgraph_clone_edge): Likewise.
+ (cgraph_clone_node): Likewise.
+ (clone_function_name): Likewise.
+ (cgraph_create_virtual_clone): Likewise.
+ (cgraph_remove_node_and_inline_clones): Likewise.
+ (cgraph_redirect_edge_call_stmt_to_callee): Move here from cgraphunit.c
+ * cgraph.h: Reorder declarations so they match file of origin.
+ (cgraph_create_empty_node): Declare.
+ * cgraphunit.c (update_call_expr): Move to cgraphclones.c
+ (cgraph_copy_node_for_versioning): Likewise.
+ (cgraph_function_versioning): Likewise.
+ (cgraph_materialize_clone): Likewise.
+ (cgraph_redirect_edge_call_stmt_to_callee): Likewise.
+ (cgraph_materialize_all_clones): Likewise.
+ * cgraphclones.c: New file.
+ * Makefile.in: Update for cgraphclones.
+
+2012-05-08 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53176
+ * config/i386/i386.c (ix86_set_reg_reg_cost): New function.
+ (ix86_rtx_costs): Handle SET.
+
+2012-05-08 Michael Matz <matz@suse.de>
+
+ * basic-block.h (struct rtl_bb_info): Remove visited member and
+ move head_ member to ...
+ (struct basic_block_def.basic_block_il_dependent): ... the new
+ member x, replacing but containing old member rtl.
+ (enum bb_flags): New BB_VISITED flag.
+ (BB_HEADER, BB_FOOTER): New macros.
+
+ * jump.c (mark_all_labels): Adjust.
+ * cfgcleanup.c (try_optimize_cfg): Adjust.
+ * cfglayout.c (record_effective_endpoints): Adjust.
+ (relink_block_chain): Ditto (and don't fiddle with visited).
+ (fixup_reorder_chain): Adjust.
+ (fixup_fallthru_exit_predecessor): Ditto.
+ (cfg_layout_duplicate_bb): Ditto.
+ * combine.c (update_cfg_for_uncondjump): Adjust.
+ * bb-reorder.c (struct bbro_basic_block_data_def): Add visited member.
+ (bb_visited_trace): New accessor.
+ (mark_bb_visited): Move in front.
+ (rotate_loop): Use bb_visited_trace.
+ (find_traces_1_round): Ditto.
+ (emit_barrier_after): Ditto.
+ (copy_bb): Ditto, and initialize visited on resize.
+ (reorder_basic_blocks): Initize visited member.
+ (duplicate_computed_gotos): Clear bb flags at start, use
+ BB_VISITED flags.
+
+ * cfgrtl.c (try_redirect_by_replacing_jump): Adjust.
+ (rtl_verify_flow_info_1): Ditto.
+ (cfg_layout_split_block): Ditto.
+ (cfg_layout_delete_block): Ditto.
+ (cfg_layout_merge_blocks): Ditto.
+ (init_rtl_bb_info): Adjust and initialize il.x.head_ member.
+
+2012-05-08 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/53272
+ * config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
+ when a constant source operand matches an "I" constraint, the "no
+ CC0 change" applies to a register-destination only, not a
+ strict_low_part-destination.
+
+2012-05-08 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (fold_binary_loc): Fold (X * CST1) & CST2
+ to zero or to (X * CST1) & CST2' when CST1 has trailing zeros.
+
+2012-05-08 Georg-Johann Lay <avr@gjlay.de>
+
+ * Makefile.in (TEXI_GCC_FILES): Add avr-mmcu.texi.
+
+ * doc/avr-mmcu.texi: New auto-generated file.
+ * doc/invoke.texi (AVR Options): Include avr-mmcu.texi in order
+ to document all valid -mmcu= arguments.
+
+ * config/avr/avr.h (arch_info_s): New struct definition.
+ * config/avr/avr-devices.c (avr_texinfo): New variable.
+ * config/avr/gen-avr-mmcu-texi.c: New file.
+ * config/avr/t-avr: New rules and dependencies to build avr-mmcu.texi.
+
+2012-05-08 Dehao Chen <dehao@google.com>
+
+ * predict.c (find_qualified_ssa_name): New.
+ (find_ssa_name_in_expr): New.
+ (find_ssa_name_in_assign_stmt): New.
+ (is_comparison_with_loop_invariant_p): New.
+ (is_bound_expr_similar): New.
+ (predict_iv_comparison): New.
+ (predict_loops): Add heuristic for loop-nested branches that compare an
+ induction variable to a loop bound variable.
+ * predict.def (PRED_LOOP_IV_COMPARE): New macro.
+
+2012-05-08 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (has_dispatch): Use TARGET_BDVER1 and
+ TARGET_BDVER2 defines where appropriate.
+
+2012-05-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * configure.ac (PLUGIN_LD): Rename into...
+ (PLUGIN_LD_SUFFIX): ...this and strip the target_alias triplet.
+ * config.in: Regenerate.
+ * configure: Likewise.
+ * collect2.c (main): Set plugin_ld_suffix to PLUGIN_LD_SUFFIX.
+
+2012-05-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-dfa.c (get_ref_base_and_extent) <ARRAY_REF>: Do the offset
+ computation using the precision of the index type.
+ * gimple-fold.c (fold_const_aggregate_ref_1) <ARRAY_REF>: Likewise.
+ (fold_array_ctor_reference): Do index computations in the index type.
+
+2012-05-07 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (avr_prologue_setup_frame): Fix mode passed
+ down to plus_constant.
+ (expand_epilogue): Ditto.
+
+2012-05-07 Steven Bosscher <steven@gcc.gnu.org>
+
+ * postreload.c (reload_cse_regs): Make static.
+ * reload.h (reload_cse_regs): Remove prototype.
+
+2012-05-07 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.md (clear_cache): New pattern.
+
+2012-05-07 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/53245
+ * gimplify.c (preprocess_case_label_vec_for_gimple): If low or high
+ is folded to a type boundary value, verify that the resulting case
+ label is still a care range.
+
+2012-05-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (ctz<mode>2): Emit rep;bsf
+ only for TARGET_GENERIC, when not optimizing for size.
+ (*ffs<mode>_1): Ditto.
+
+2012-05-07 Steven Bosscher <steven@gcc.gnu.org>
+
+ * tree-cfg.c (verify_gimple_switch): Tighten checks.
+
+2012-05-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53239
+ * tree-vrp.c (get_value_range): Set VR of SSA_NAME_IS_DEFAULT_DEF
+ of DECL_BY_REFERENCE RESULT_DECL to nonnull.
+
+2012-05-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53195
+ * tree-inline.c (setup_one_parameter): Properly add referenced
+ vars from the parameters new known value.
+
+2012-05-07 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/m68k/m68k.c (m68k_sched_branch_type): Remove.
+ (sched_branch_type): Remove.
+ (m68k_sched_md_init_global): Don't allocate it.
+ (m68k_sched_md_finish_global): Don't free it.
+ * config/m68k/m68k.h (m68k_sched_branch_type): Remove prototype.
+ * config/m68k/m68k.md: Set the type of insns using
+ m68k_sched_branch_type to bcc directly.
+
+2012-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sol2.c (solaris_override_options): New function.
+ * config/sol2-protos.h (solaris_override_options): Declare.
+ * config/sol2.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
+
+2012-05-07 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Return
+ whether we failed to compute data dependences.
+ (loop_prefetch_arrays): Fail if we failed.
+
+2012-05-07 Uros Bizjak <ubizjak@gmail.com>
+ Paolo Bonzini <bonzini@gnu.org>
+
+ * config/i386/i386.md (ctz<mode>2): Emit rep;bsf even for !TARGET_BMI.
+ Emit bsf when optimizing for size.
+ (*ffs<mode>_1): Ditto.
+
+2012-05-07 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53250
+ * config/sh/sh.c (sh_rtx_costs): Handle SET.
+
+2012-05-06 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53227
+ * config/i386/i386.md (swap<mode>): Rename from *swap<mode>.
+ (bswapdi2): Split from bswap<mode>2. Use nonnimediate_operand
+ predicate for operand 1. Force operand 1 to register for TARGET_BSWAP.
+ (bswapsi2): Ditto.
+ (*bswapdi2_doubleword): New insn pattern.
+ (*bswap<mode>2): Rename from *bswap<mode>2_1.
+
+2012-05-06 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_set_reg_reg_piece_cost): New function.
+ (mips_set_reg_reg_cost): Likewise.
+ (mips_rtx_costs): Handle SET.
+
+2012-05-06 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * lower-subreg.c (shift_cost): Use set_src_cost, avoiding the SET.
+ (compute_costs): Likewise for the zero extension. Use set_rtx_cost
+ to compute the cost of moves. Set the mode of the target register.
+
+2012-05-05 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * rtl.h (plus_constant, plus_constant_mode): Merge into a single
+ plus_constant function.
+ * explow.c (plus_constant, plus_constant_mode): Likewise. Assert
+ that the mode is sensible.
+ (use_anchored_address, round_push, allocate_dynamic_stack_space)
+ (probe_stack_range, anti_adjust_stack_and_probe): Update calls to
+ plus_constant.
+
+ * alias.c (canon_rtx): Likewise.
+ (init_alias_analysis): Likewise.
+ * builtins.c (expand_builtin_return_addr)
+ (expand_builtin_setjmp_setup, expand_builtin_longjmp)
+ (expand_builtin_nonlocal_goto, expand_builtin_update_setjmp_buf)
+ (expand_builtin_apply_args_1, expand_builtin_apply, expand_movstr)
+ (expand_builtin_stpcpy): Likewise.
+ * calls.c (save_fixed_argument_area, restore_fixed_argument_area)
+ (compute_argument_addresses, internal_arg_pointer_based_exp)
+ (expand_call, emit_library_call_value_1): Likewise.
+ * cfgexpand.c (expand_one_stack_var_at, expand_debug_expr): Likewise.
+ * combine-stack-adj.c (try_apply_stack_adjustment): Likewise.
+ * combine.c (combine_simplify_rtx, force_to_mode): Likewise.
+ * cse.c (insert_const_anchor, find_reg_offset_for_const)
+ (use_related_value, fold_rtx): Likewise.
+ * cselib.c (cselib_subst_to_values): Likewise.
+ * dse.c (record_store, check_mem_read_rtx): Likewise.
+ * dwarf2out.c (rtl_for_decl_location, gen_variable_die): Likewise.
+ * emit-rtl.c (adjust_address_1): Likewise.
+ * except.c (sjlj_emit_function_enter)
+ (expand_builtin_extract_return_addr)
+ (expand_builtin_frob_return_addr): Likewise.
+ * expmed.c (expand_divmod): Likewise.
+ * expr.c (move_by_pieces, store_by_pieces, store_by_pieces_1)
+ (emit_move_resolve_push, push_block, emit_push_insn, store_expr)
+ (expand_expr_addr_expr_1, expand_expr_real_1): Likewise.
+ * function.c (assign_stack_local_1)
+ (instantiate_virtual_regs_in_rtx): Likewise.
+ * optabs.c (prepare_cmp_insn): Likewise.
+ * recog.c (offsettable_address_addr_space_p): Likewise.
+ * reload.c (find_reloads_address, form_sum)
+ (find_reloads_subreg_address): Likewise.
+ * reload1.c (init_reload, eliminate_regs_1)
+ (eliminate_regs_in_insn): Likewise.
+ * simplify-rtx.c (simplify_unary_operation_1)
+ (simplify_binary_operation_1, simplify_plus_minus): Likewise.
+ * var-tracking.c (compute_cfa_pointer, prepare_call_arguments)
+ (vt_add_function_parameter): Likewise.
+
+ * config/alpha/alpha.h (EH_RETURN_HANDLER_RTX): Likewise.
+ * config/alpha/vms.h (EH_RETURN_HANDLER_RTX): Likewise.
+ * config/alpha/alpha.c (alpha_legitimize_address_1)
+ (get_unaligned_address, alpha_expand_unaligned_load)
+ (alpha_expand_unaligned_store, alpha_expand_unaligned_load_words)
+ (alpha_expand_unaligned_store_words, alpha_expand_block_clear)
+ (alpha_expand_builtin_establish_vms_condition_handler)
+ (alpha_setup_incoming_varargs, emit_frame_store_1)
+ (alpha_expand_prologue, alpha_expand_epilogue)
+ (alpha_use_linkage): Likewise.
+ * config/alpha/alpha.md: Likewise.
+
+ * config/arm/arm.c (arm_trampoline_init, legitimize_pic_address)
+ (arm_load_pic_register, arm_pic_static_addr, arm_legitimize_address)
+ (thumb_legitimize_address, arm_gen_load_multiple_1)
+ (arm_gen_store_multiple_1, arm_gen_multiple_op, gen_ldm_seq)
+ (gen_stm_seq, gen_const_stm_seq, arm_block_move_unaligned_straight)
+ (arm_block_move_unaligned_loop, arm_gen_movmemqi, arm_reload_in_hi)
+ (arm_reload_out_hi, arm_reorg, vfp_emit_fstmd, emit_multi_reg_push)
+ (emit_sfm, thumb_set_frame_pointer, arm_expand_prologue)
+ (thumb1_emit_multi_reg_push, thumb1_expand_prologue)
+ (thumb_expand_movmemqi, arm_set_return_address)
+ (thumb_set_return_address): Likewise.
+ * config/arm/arm.md: Likewise.
+
+ * config/avr/avr.c (avr_incoming_return_addr_rtx)
+ (avr_prologue_setup_frame, expand_epilogue)
+ (avr_const_address_lo16): Likewise.
+
+ * config/bfin/bfin.h (EH_RETURN_HANDLER_RTX): Likewise.
+ * config/bfin/bfin.c (setup_incoming_varargs, bfin_load_pic_reg)
+ (bfin_expand_prologue, bfin_trampoline_init, bfin_expand_call)
+ (bfin_output_mi_thunk): Likewise.
+
+ * config/c6x/c6x.c (c6x_initialize_trampoline)
+ (c6x_output_mi_thunk): Likewise.
+
+ * config/cr16/cr16.h (EH_RETURN_HANDLER_RTX): Likewise.
+ * config/cr16/cr16.c (cr16_create_dwarf_for_multi_push): Likewise.
+
+ * config/cris/cris.c (cris_return_addr_rtx, cris_split_movdx)
+ (cris_expand_prologue, cris_expand_epilogue, cris_gen_movem_load)
+ (cris_emit_movem_store, cris_trampoline_init): Likewise.
+ * config/cris/cris.md: Likewise.
+
+ * config/darwin.c (machopic_indirect_data_reference)
+ (machopic_legitimize_pic_address): Likewise.
+
+ * config/epiphany/epiphany.c (epiphany_emit_save_restore)
+ (epiphany_expand_prologue, epiphany_expand_epilogue)
+ (epiphany_trampoline_init): Likewise.
+ * config/epiphany/epiphany.md: Likewise.
+
+ * config/fr30/fr30.c (fr30_move_double): Likewise.
+
+ * config/frv/frv.c (frv_dwarf_store, frv_expand_prologue)
+ (frv_expand_block_move, frv_expand_block_clear, frv_return_addr_rtx)
+ (frv_index_memory, unspec_got_name, frv_find_base_term)
+ (frv_output_dwarf_dtprel): Likewise.
+
+ * config/h8300/h8300.c (h8300_push_pop, h8300_return_addr_rtx)
+ (h8300_swap_into_er6, h8300_swap_out_of_er6): Likewise.
+
+ * config/i386/i386.h (RETURN_ADDR_RTX): Likewise.
+ * config/i386/i386.c (setup_incoming_varargs_64)
+ (setup_incoming_varargs_ms_64, choose_baseaddr)
+ (ix86_emit_save_reg_using_mov, ix86_adjust_stack_and_probe)
+ (ix86_emit_probe_stack_range, ix86_expand_prologue)
+ (ix86_emit_restore_reg_using_pop, ix86_emit_leave)
+ (ix86_expand_epilogue, legitimize_pic_address, ix86_legitimize_address)
+ (ix86_split_long_move, ix86_expand_movmem, ix86_expand_setmem)
+ (ix86_static_chain, ix86_trampoline_init, x86_this_parameter)
+ (x86_output_mi_thunk): Likewise.
+ * config/i386/i386.md: Likewise.
+
+ * config/ia64/ia64.c (ia64_expand_load_address)
+ (ia64_expand_tls_address, ia64_expand_move, ia64_split_tmode)
+ (do_spill, ia64_trampoline_init): Likewise.
+
+ * config/iq2000/iq2000.c (iq2000_va_start)
+ (iq2000_emit_frame_related_store, iq2000_expand_prologue)
+ (iq2000_expand_eh_return, iq2000_setup_incoming_varargs)
+ (iq2000_print_operand, iq2000_legitimize_address): Likewise.
+
+ * config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
+
+ * config/m32c/m32c.c (m32c_return_addr_rtx)
+ (m32c_expand_insv): Likewise.
+
+ * config/m32r/m32r.c (m32r_setup_incoming_varargs)
+ (m32r_legitimize_pic_address, m32r_print_operand)
+ (m32r_print_operand_address): Likewise.
+
+ * config/m68k/linux.h (FINALIZE_TRAMPOLINE): Likewise.
+ * config/m68k/m68k.h (RETURN_ADDR_RTX): Likewise.
+ (EH_RETURN_HANDLER_RTX): Likewise.
+ * config/m68k/m68k.c (m68k_emit_movem, m68k_expand_prologue)
+ (m68k_expand_epilogue, legitimize_pic_address)
+ (m68k_output_mi_thunk): Likewise.
+ * config/m68k/m68k.md: Likewise.
+
+ * config/mcore/mcore.c (mcore_expand_prolog): Likewise.
+ (mcore_expand_epilog): Likewise.
+ * config/mcore/mcore.md: Likewise.
+
+ * config/mep/mep.c (mep_allocate_initial_value)
+ (mep_expand_prologue, mep_expand_epilogue): Likewise.
+
+ * config/microblaze/microblaze.c (double_memory_operand)
+ (microblaze_block_move_loop): Likewise.
+
+ * config/mips/mips.c (mips_strip_unspec_address, mips_add_offset)
+ (mips_setup_incoming_varargs, mips_va_start, mips_block_move_loop)
+ (mips_print_operand, mips16e_save_restore_reg, mips_save_restore_reg)
+ (mips_expand_prologue, mips_epilogue_set_cfa)
+ (mips_expand_epilogue): Likewise.
+ * config/mips/mips.md: Likewise.
+
+ * config/mmix/mmix.c (mmix_dynamic_chain_address, mmix_return_addr_rtx)
+ (mmix_expand_prologue, mmix_expand_epilogue): Likewise.
+
+ * config/mn10300/mn10300.c (mn10300_gen_multiple_store)
+ (mn10300_builtin_saveregs, mn10300_trampoline_init): Likewise.
+
+ * config/moxie/moxie.h (INCOMING_RETURN_ADDR_RTX): Likewise.
+ (EH_RETURN_HANDLER_RTX): Likewise.
+ * config/moxie/moxie.c (moxie_static_chain): Likewise.
+
+ * config/pa/pa.c (legitimize_pic_address, hppa_legitimize_address)
+ (store_reg, set_reg_plus_d, pa_expand_prologue, load_reg)
+ (pa_return_addr_rtx, hppa_builtin_saveregs)
+ (pa_trampoline_init): Likewise.
+ * config/pa/pa.md: Likewise.
+
+ * config/pdp11/pdp11.c (pdp11_expand_epilogue): Likewise.
+
+ * config/picochip/picochip.c (picochip_static_chain): Likewise.
+
+ * config/rs6000/rs6000.h (RS6000_SAVE_TOC): Likewise.
+ * config/rs6000/rs6000.c (rs6000_legitimize_address)
+ (setup_incoming_varargs, print_operand, rs6000_return_addr)
+ (rs6000_emit_eh_reg_restore, rs6000_emit_probe_stack_range)
+ (rs6000_emit_epilogue)
+ (rs6000_machopic_legitimize_pic_address): Likewise.
+
+ * config/rx/rx.c (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
+
+ * config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Likewise.
+ (DYNAMIC_CHAIN_ADDRESS): Likewise.
+ * config/s390/s390.c (s390_decompose_address, legitimize_pic_address)
+ (s390_delegitimize_address, print_operand, annotate_constant_pool_refs)
+ (replace_constant_pool_ref, s390_return_addr_rtx, s390_back_chain_rtx)
+ (save_fpr, restore_fpr, save_gprs, restore_gprs, s390_emit_prologue)
+ (s390_emit_epilogue, s390_function_profiler): Likewise.
+ * config/s390/s390.md: Likewise.
+
+ * config/score/score.c (score_add_offset, score_prologue): Likewise.
+
+ * config/sh/sh.c (expand_block_move, push_regs, sh_builtin_saveregs)
+ (sh_output_mi_thunk): Likewise.
+ * config/sh/sh.md: Likewise.
+
+ * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS, FRAME_ADDR_RTX)
+ (RETURN_ADDR_RTX, INCOMING_RETURN_ADDR_RTX): Likewise.
+ * config/sparc/sparc.c (sparc_legitimize_pic_address)
+ (sparc_emit_probe_stack_range, emit_save_or_restore_regs)
+ (emit_window_save, sparc_flat_expand_prologue, sparc_struct_value_rtx)
+ (emit_and_preserve): Likewise.
+ * config/sparc/sparc.md: Likewise.
+
+ * config/spu/spu.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
+ * config/spu/spu.c (spu_expand_insv, spu_machine_dependent_reorg)
+ (spu_setup_incoming_varargs, ea_load_store_inline)
+ (spu_expand_load): Likewise.
+
+ * config/stormy16/stormy16.c (xstormy16_expand_prologue)
+ (combine_bnp): Likewise.
+
+ * config/tilegx/tilegx.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
+ * config/tilegx/tilegx.c (tilegx_setup_incoming_varargs)
+ (tilegx_expand_unaligned_load, tilegx_trampoline_init): Likewise.
+
+ * config/tilepro/tilepro.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
+ * config/tilepro/tilepro.c (tilepro_setup_incoming_varargs)
+ (tilepro_expand_unaligned_load, tilepro_trampoline_init): Likewise.
+
+ * config/v850/v850.c (expand_prologue, expand_epilogue): Likewise.
+ * config/v850/v850.md: Likewise.
+
+ * config/vax/elf.h (EH_RETURN_STACKADJ_RTX): Likewise.
+ (EH_RETURN_HANDLER_RTX): Likewise.
+ * config/vax/vax.h (DYNAMIC_CHAIN_ADDRESS, RETURN_ADDR_RTX): Likewise.
+ * config/vax/vax.c (vax_add_reg_cfa_offset, vax_expand_prologue)
+ (print_operand_address, vax_trampoline_init): Likewise.
+
+ * config/xtensa/xtensa.c (xtensa_expand_prologue, xtensa_return_addr)
+ (xtensa_function_value_regno_p): Likewise.
+
+2012-05-04 Andrew Pinski <apinski@cavium.com>
+
+ * expr.c (get_def_for_expr_class): New function.
+ (convert_tree_comp_to_rtx): New function.
+ (expand_cond_expr_using_cmove): New function.
+ (expand_expr_real_2 <case COND_EXPR>): Call
+ expand_cond_expr_using_cmove first and return if it succeeds.
+ Remove the check for HAVE_conditional_move since we should have
+ already converted it to a conditional move.
+ * config/i386/i386.c (ix86_expand_int_movcc): Disallow comparison
+ modes of DImode for 32bits and TImode.
+
+2012-05-04 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR other/29442
+ * read-md.c (fprint_md_ptr_loc, fprint_c_condition): New functions.
+ (print_md_ptr_loc, print_c_condition): Use them.
+ * read-md.h (fprint_md_ptr_loc, fprint_c_condition): New prototypes.
+ * genattrtab.c (attr_file_name, dfa_file_name, latency_file_name,
+ attr_file, dfa_file, latency_file): New global variables.
+ (write_attr_valueq, write_attr_set, write_attr_case, write_attr_value,
+ write_upcase, write_indent, write_length_unit_log, write_test_expr,
+ write_attr_get, write_insn_cases, write_eligible_delay,
+ write_const_num_delay_slots): Accept FILE pointer and toss it around.
+ Update all callers.
+ (write_header, open_outfile, handle_arg): New funcions.
+ (make_automaton_attrs): Write prototypes as extern to the output
+ files.
+ (main): Use init_rtx_reader_args_cb with handle_arg to take 3 file
+ names from the command line. Open the output files and write out
+ internal functions for DFA functions to dfa_file_name, insn latency
+ functions to latency_file_name, and everything else to attr_file.
+ * Makefile.in (OBJS): Add insn-dfatab.o and insn-latencytab.o.
+ (BACKEND): Build libbackend first.
+ (MOSTLYCLEANFILES): Add insn-dfatab.c and insn-latencytab.c.
+ (.PRECIOUS): Likewise.
+ (insn-dfatab.o): New rule.
+ (insn-latencytab.o): New rule.
+ (simple_rtl_generated_c): Do not include insn-attrtab.c.
+ (s-attrtab): New rule.
+
+2012-05-04 Steven Bosscher <steven@gcc.gnu.org>
+
+ * rtl.def (ATTR_FLAG): Remove probability indicating flags.
+ * genattr.c (main): Remove ATTR_FLAG_likely, ATTR_FLAG_unlikely,
+ ATTR_FLAG_very_likely, and ATTR_FLAG_very_unlikely.
+ * reorg.c (get_jump_flags): Do not set the removed flags.
+
+ * doc/md.texi (attr_flag): Update for abovementioned changes.
+
+2012-05-04 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53228
+ * config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE.
+ (TARGET_CMOV): Rename from TARGET_CMOVE.
+ (TARGET_CMOVE): New define.
+ * config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV.
+ Do not set TARGET_CMOVE here.
+
+2012-05-04 Dodji Seketeli <dodji@redhat.com>
+
+ Enable -Wunused-local-typedefs when -Wall or -Wunused is on
+ * opts.c (finish_options): Activate -Wunused-local-typedefs if
+ -Wunused is activated.
+ * doc/invoke.texi: Update blurb of -Wunused-local-typedefs.
+
+2012-05-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.md (*movmem_short, *clrmem_short)
+ (*cmpmem_short): Move the mode check from the insn condition to
+ the match_scratch.
+
+2012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ PR tree-optimization/52633
+ * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of
+ vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern.
+ (vect_recog_over_widening_pattern): Remove handling of code that was
+ already detected as over-widening pattern. Remove special handling
+ of "unsigned" cases. Instead, support general case of conversion
+ of the shift result to another type.
+
+2012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * tree-vect-patterns.c (vect_single_imm_use): New function.
+ (vect_recog_widen_mult_pattern): Use it instead of open-coding loop.
+ (vect_recog_over_widening_pattern): Likewise.
+ (vect_recog_widen_shift_pattern): Likewise.
+
+2012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * tree-vect-patterns.c (vect_same_loop_or_bb_p): New function.
+ (vect_handle_widen_op_by_const): Use it instead of open-coding test.
+ (vect_recog_widen_mult_pattern): Likewise.
+ (vect_operation_fits_smaller_type): Likewise.
+ (vect_recog_over_widening_pattern): Likewise.
+ (vect_recog_widen_shift_pattern): Add to vect_same_loop_or_bb_p test.
+
+2012-05-04 Richard Guenther <rguenther@suse.de>
+
+ PR lto/50602
+ * lto-wrapper.c (merge_and_complain): Complain about mismatches
+ of -freg-struct-return and -fpcc-struct-return.
+ (run_gcc): Pass through -freg-struct-return and -fpcc-struct-return
+ from the input file options and ignore those from the link
+ command line.
+
+2012-05-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53168
+ * tree-ssa-pre.c (phi_translate_1): Only handle type-punned
+ memory reads when the result is a constant we can pun.
+
+2012-05-04 Richard Guenther <rguenther@suse.de>
+
+ * common.opt (flto-report): Do not mark as Optimization.
+
+2012-05-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/48496
+ * recog.c (constrain_operands): If extra constraints are present, also
+ accept pseudo-registers with equivalent memory locations during reload.
+
+2012-05-04 Olivier Hainque <hainque@adacore.com>
+
+ * collect2.c (may_unlink_output_file): New global.
+ (maybe_unlink): Honor it.
+ * collect2.h: Add extern for it.
+ * tlink.c (do_tlink): Set it to true if the link succeeded.
+
+2012-05-04 Olivier Hainque <hainque@adacore.com>
+
+ * gcc.c (eval_spec_function): Finalize/restore the current string
+ obstack state as part of the context push/pop operations.
+
+2012-05-04 Bin Cheng <bin.cheng@arm.com>
+
+ PR rtl-optimization/52804
+ * reload1.c (reload_reg_reaches_end_p): Check whether successor
+ reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register
+ of current one with type RELOAD_FOR_INPADDR_ADDRESS.
+ Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and
+ RELOAD_FOR_OUTADDR_ADDRESS.
+
+2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c++/24985
+ * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Show caret
+ for macro expansion.
+
+2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * flags.h (flag_permissive): Do not declare.
+ * diagnostic.c (diagnostic_report_diagnostic): Handle fpermissive
+ option specially.
+ * toplev.c (flag_permissive): Do not define.
+ * c-tree.h (system_header_p): Delete unused.
+
+2012-05-03 David S. Miller <davem@davemloft.net>
+
+ PR target/52684
+ * config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a
+ MEM directly into a libcall, mark it's MEM_EXPR as addressable.
+ (sparc_emit_float_lib_cmp): Likewise.
+
+2012-05-03 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/53199
+ * config/rs6000/rs6000.md (bswapdi splitters): If
+ -mavoid-indexed-addresses (or -mcpu=power6 which sets it by
+ default) is used, generate an alternate sequence that does not
+ depend on using indexed addressing.
+
+2012-05-03 Jason Merrill <jason@redhat.com>
+
+ * gengtype.c (write_types): Fix warning message.
+ (write_local): Likewise.
+
+2012-05-02 Jason Merrill <jason@redhat.com>
+
+ * dwarf2out.c (struct external_ref, build_local_stub): New.
+ (hash_external_ref, external_ref_eq, lookup_external_ref): New.
+ (optimize_external_refs, optimize_external_refs_1): New.
+ (change_AT_die_ref): New.
+ (clone_as_declaration): Add DW_AT_signature when cloning a declaration.
+ (build_abbrev_table): Take the external refs hashtable.
+ (output_comp_unit): Get it from optimize_external_refs and pass it in.
+
+2012-05-03 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/53093
+ * tree-emutls.c (new_emutls_decl): Fix handling of aliases.
+
+2012-05-03 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/53106
+ * ipa.c (cgraph_remove_unreachable_nodes): Fix handling of clones.
+
+2012-05-03 Jason Merrill <jason@redhat.com>
+
+ * dwarf2out.c (die_struct): Add comdat_type_p flag. Use it instead of
+ use_debug_types to discriminate the die_id union.
+ (print_die, assign_symbol_names, copy_decls_walk): Likewise.
+ (build_abbrev_table, output_die): Likewise.
+ (prune_unused_types_walk_attribs): Likewise.
+ (generate_type_signature, copy_declaration_context): Set it.
+ (remove_child_or_replace_with_skeleton): Set it.
+ (dwarf2out_start_source_file, dwarf2out_end_source_file): Don't
+ check use_debug_types.
+ (dwarf2out_finish): Do break_out_includes after .debug_types.
+
+2012-05-03 Jason Merrill <jason@redhat.com>
+
+ * dwarf2out.c (modified_type_die): Use scope_die_for.
+ (gen_type_die_with_usage, dwarf2out_finish): Likewise.
+ (uses_local_type_r, uses_local_type): New.
+ (scope_die_for): Keep a type that uses a local type in local scope.
+ Use get_context_die for namespace and type scope.
+
+2012-05-03 Jason Merrill <jason@redhat.com>
+
+ * config/i386/i386.c (ix86_code_end): Set DECL_IGNORED_P on the
+ pc thunk.
+ * dwarf2out.c (output_aranges): Skip DECL_IGNORED_P functions.
+ (dwarf2out_finish): Likewise.
+
+2012-05-03 Martin Jambor <mjambor@suse.cz>
+
+ * builtins.c (get_object_alignment_1): Return whether we can determine
+ the alignment or conservatively assume byte alignment. Return the
+ alignment by reference. Use get_pointer_alignment_1 for dereference
+ alignment.
+ (get_pointer_alignment_1): Return whether we can determine the
+ alignment or conservatively assume byte alignment. Return the
+ alignment by reference. Use get_ptr_info_alignment to get SSA name
+ alignment.
+ (get_object_alignment): Update call to get_object_alignment_1.
+ (get_object_or_type_alignment): Likewise, fall back to type alignment
+ only when it returned false.
+ (get_pointer_alignment): Update call to get_pointer_alignment_1.
+ * fold-const.c (get_pointer_modulus_and_residue): Update call to
+ get_object_alignment_1.
+ * ipa-prop.c (ipa_modify_call_arguments): Update call to
+ get_pointer_alignment_1.
+ * tree-sra.c (build_ref_for_offset): Likewise, fall back to the type
+ of MEM_REF or TARGET_MEM_REF only when it returns false.
+ * tree-ssa-ccp.c (get_value_from_alignment): Update call to
+ get_object_alignment_1.
+ (ccp_finalize): Use set_ptr_info_alignment.
+ * tree.h (get_object_alignment_1): Update declaration.
+ (get_pointer_alignment_1): Likewise.
+ * gimple-pretty-print.c (dump_gimple_phi): Use get_ptr_info_alignment.
+ (dump_gimple_stmt): Likewise.
+ * tree-flow.h (ptr_info_def): Updated comments of fields align and
+ misalign.
+ (get_ptr_info_alignment): Declared.
+ (mark_ptr_info_alignment_unknown): Likewise.
+ (set_ptr_info_alignment): Likewise.
+ (adjust_ptr_info_misalignment): Likewise.
+ * tree-ssa-address.c (copy_ref_info): Use new access functions to get
+ and set alignment of SSA names.
+ * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Call
+ mark_ptr_info_alignment_unknown.
+ * tree-ssanames.c (get_ptr_info_alignment): New function.
+ (mark_ptr_info_alignment_unknown): Likewise.
+ (set_ptr_info_alignment): Likewise.
+ (adjust_ptr_info_misalignment): Likewise.
+ (get_ptr_info): Call mark_ptr_info_alignment_unknown.
+ * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
+ Likewise.
+ (bump_vector_ptr): Likewise.
+ * tree-vect-stmts.c (create_array_ref): Use set_ptr_info_alignment.
+ (vectorizable_store): Likewise.
+ (vectorizable_load): Likewise.
+
+2012-05-03 Michael Matz <matz@suse.de>
+
+ * basic-block.h (struct rtl_bb_info, struct gimple_bb_info): Move
+ in front of basic_block_def.
+ (struct basic_block_def): Make il.gimple the full struct, not a
+ pointer.
+ (__assert_gimple_bb_smaller_rtl_bb): Asserting typedef.
+
+ * cfgexpand.c (expand_gimple_basic_block): Clear all il.gimple members.
+ * gimple-iterator.c (gimple_stmt_iterator): Don't special case
+ NULL il.gimple, which can't happen anymore.
+ * gimple.h (bb_seq): il.gimple can't be NULL.
+ (bb_seq_add): Ditto.
+ (set_bb_seq): Adjust.
+ (gsi_start_bb, gsi_last_bb): Tidy.
+ * lto-streamer-in.c (make_new_block): Don't zero members that
+ are zeroed already, don't allocate a gimple_bb_info.
+ * tree-cfg.c (create_bb): Don't allocate a gimple_bb_info.
+ (remove_bb): Clear all il.gimple members.
+ (gimple_verify_flow_info): Adjust for flat il.gimple.
+ * tree-flow-inline.h (phi_nodes, phi_nodes_ptr, set_phi_nodes): Adjust.
+
+ * coretypes.h (const_gimple_seq): Remove typedef.
+ * gimple.h (gimple_seq_first): Take gimple_seq.
+ (gimple_seq_first_stmt): Ditto.
+ (gimple_seq_last): Ditto.
+ (gimple_seq_last_stmt): Ditto.
+ (gimple_seq_empty_p): Ditto.
+
+2012-05-03 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (valid_in_sets): Remove checking of trapping
+ operations.
+ (prune_clobbered_mems): Do it here. Do not uselessly sort expressions.
+ (compute_avail): Do not add possibly trapping operations to
+ EXP_GEN if they might not be executed in the block.
+
+2012-05-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/elf.h (MAX_OFILE_ALIGNMENT): Remove.
+
+2012-05-03 Steven Bosscher <steven@gcc.gnu.org>
+
+ * tree-switch-conversion.c (gen_inbound_check): Free post-dominance
+ information as early as possible. Update dominance info instead of
+ discarding it.
+
+2012-05-03 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (debug_bitmap_sets_for): New function.
+ (union_contains_value): Remove.
+ (vro_valid_in_sets): Likewise.
+ (op_valid_in_sets): New function.
+ (valid_in_sets): Use op_valid_in_sets.
+ (insert_into_preds_of_block): Move dumping ...
+ (do_regular_insertion): ... here.
+ (do_partial_partial_insertion): ... and here. Dump that
+ we've found a partial partial redundancy.
+ (insert): Dump the current insert iteration.
+
+2012-05-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR plugins/53126
+ * gcc-ar.c (main): If GCC_EXEC_PREFIX is set in env,
+ append program name to it and pass that as first argument
+ to make_relative_prefix. Always pass standard_libexec_prefix
+ as last argument to make_relative_prefix. If
+ make_relative_prefix returns NULL, fall back to
+ standard_libexec_prefix.
+
+ PR debug/53174
+ * tree-predcom.c (remove_stmt): Call reset_debug_uses on stmts being
+ removed.
+
+ PR target/53187
+ * config/arm/arm.c (arm_select_cc_mode): If x has MODE_CC class
+ mode, return that mode.
+
+ PR target/53194
+ * config/i386/i386-c.c (ix86_target_macros_internal): Don't
+ define __ATOMIC_HLE_* macros here.
+ (ix86_target_macros): But here, using cpp_define_formatted.
+
+2012-05-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53144
+ * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
+ Rename to ...
+ (vn_reference_lookup_or_insert_for_pieces): ... this. Properly deal
+ with SSA name values.
+ (vn_reference_lookup_3): Adjust callers.
+
+2012-05-03 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Reset
+ has_fma4 for AMD processors with both fma3 and fma4 support.
+
+2012-05-03 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/53201
+ * config/i386/driver-i386.c (host_detect_local_cpu): Add space to
+ "-mno-hle".
+
+2012-05-03 Michael Matz <matz@suse.de>
+
+ PR bootstrap/53197
+ * tree-ssa-dse.c (dse_optimize_stmt): Take pointer to iterator.
+ (dse_enter_block): Properly iterate the whole sequence even
+ if the last statement was removed.
+
+2012-05-02 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): For pic code,
+ unset flag_jump_tables.
+ * stmt.c (expand_case): Remove special flag_pic case conditional
+ on ASM_OUTPUT_ADDR_DIFF_ELT not being defined.
+
+2012-05-02 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * common/config/s390/s390-common.c (s390_option_optimization_table):
+ Enable -fsched-pressure using -fsched-pressure-algorithm=model by
+ default when optimizing.
+
+2012-05-02 Martin Jambor <mjambor@suse.cz>
+
+ PR lto/52605
+ * dwarf2out.c (dwarf2out_decl): Only lookup die representing context
+ of a variable when the contect is a function.
+
+2012-05-02 Michael Matz <matz@suse.de>
+
+ * coretypes.h (gimple_seq, const_gimple_seq): Typedef as gimple.
+ * gimple.h (struct gimple_seq_node_d, struct gimple_seq_d): Remove.
+ (const_gimple_seq_node): Remove.
+ (gimple_seq_node): Typedef as gimple.
+ (struct gimple_statement_base): Add next and prev members,
+ adjust all WORD markers in using structs.
+ (union gimple_statement_d): Link via gsbase.next field for GC and PCH.
+ (gimple_seq_first, gimple_seq_first_stmt, gimple_seq_last,
+ gimple_seq_last_stmt): Adjust as gimple_seq, gimple_seq_node and
+ gimple are the same.
+ (gimple_seq_set_last, gimple_seq_set_first): Don't allocate
+ gimple_seq, adjust.
+ (gimple_init_singleton): New function.
+ (gsi_start_1, gsi_last_1, gsi_end_p, gsi_one_before_end_p): Adjust.
+ (gsi_next, gsi_prev): Adjust, handle prev cyclic list correctly.
+ (gsi_stmt): Adjust.
+ (gsi_stmt_ptr): Remove.
+ (enum gimple_alloc_kind): Remove gimple_alloc_kind_seq member.
+
+ * gimple-iterator.c (update_bb_for_stmts): Take last parameter
+ again, adjust for above changes.
+ (update_call_edge_frequencies): Adjust for above changes.
+ (gsi_insert_seq_nodes_before): Rewrite for new data structure.
+ (gsi_insert_seq_nodes_after): Ditto.
+ (gsi_split_seq_after): Ditto.
+ (gsi_set_stmt): Ditto.
+ (gsi_split_seq_before): Ditto.
+ (gsi_remove): Ditto.
+ (gsi_insert_seq_before_without_update): Don't free sequence.
+ (gsi_insert_seq_after_without_update): Ditto.
+ (gsi_replace): Assert some more invariants.
+ (gsi_insert_before_without_update, gsi_insert_after_without_update):
+ Tidy.
+ (gsi_for_stmt): Don't search for stmt.
+ (gsi_insert_on_edge_immediate): Tidy.
+
+ * gimple.c (gimple_alloc_k): Remove "sequences".
+ (gimple_seq_cache): Remove.
+ (gimple_alloc_stat): Make stmt a singleton sequence.
+ (gimple_seq_alloc, gimple_seq_free): Remove.
+ (gimple_assign_set_rhs_with_ops_1): Ensure new stmt is a singleton.
+ (gimple_copy): Ditto.
+ * gimplify.c (gimplify_cleanup_point_expr): Use gsi_set_stmt,
+ create iterator from correct sequence.
+ * tree-phinodes.c (make_phi_node): Make stmt a singleton.
+
+2012-05-02 Michael Matz <matz@suse.de>
+
+ * gimple.h (gimple_stmt_iterator <seq>): Make it be pointer to
+ gimple_seq.
+ (gimple_seq_set_last, gimple_seq_set_first): Take pointer to
+ sequence, lazily allocate it.
+ (bb_seq_addr): New function.
+ (gsi_start_1): Rename from gsi_start, but take pointer to sequence.
+ (gsi_start): Macro to wrap gsi_start_1 taking pointer of argument.
+ (gsi_none): New function.
+ (gsi_start_bb): Adjust.
+ (gsi_last_1): Rename from gsi_last, but take pointer to sequence.
+ (gsi_last): Macro to wrap gsi_last_1 taking pointer of argument.
+ (gsi_last_bb): Adjust.
+ (gsi_seq): Adjust.
+ * tree-flow-inline.h (phi_nodes_ptr): New function.
+
+ * gimple-iterator.c (gsi_insert_seq_nodes_before): Adjust to
+ datastructure and interface change.
+ (gsi_insert_seq_before_without_update): Ditto.
+ (gsi_insert_seq_nodes_after): Ditto.
+ (gsi_insert_seq_after_without_update): Ditto.
+ (gsi_split_seq_after): Ditto, don't use gimple_seq_alloc.
+ (gsi_split_seq_before): Ditto.
+ (gsi_start_phis): Adjust.
+ * tree-vect-loop.c (vect_determine_vectorization_factor): Use gsi_none.
+ (vect_transform_loop): Ditto.
+ * gimple.c (gimple_seq_add_stmt, gimple_seq_add_seq,
+ gimple_seq_copy): Don't use gimple_seq_alloc.
+ * gimplify.c (gimple_seq_add_stmt_without_update): Ditto.
+ (gimplify_seq_add_seq): Ditto.
+ * lto-streamer-in.c (make_new_block): Ditto.
+ * tree-cfg.c (create_bb): Ditto.
+ * tree-sra.c (initialize_parameter_reductions): Ditto.
+
+2012-05-02 Michael Matz <matz@suse.de>
+
+ * gimple.h (gimple_seq_first, gimple_seq_first_stmt, gimple_seq_last,
+ gimple_seq_last_stmt, gimple_seq_set_last, gimple_seq_set_first,
+ gimple_seq_empty_p, gimple_seq_alloc_with_stmt, bb_seq,
+ set_bb_seq): Move down to after gimple_statement_d definition.
+
+2012-05-02 Michael Matz <matz@suse.de>
+
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Use
+ gsi_replace_with_seq, instead of inserting itself.
+ * gimple-iterator.c (gsi_replace_with_seq): New function.
+ * tree-ssa-forwprop.c (forward_propagate_comparison): Take
+ iterator instead of statement, advance it.
+ (ssa_forward_propagate_and_combine): Adjust call to above.
+
+2012-05-02 Michael Matz <matz@suse.de>
+
+ * tree-phinodes.c (add_phi_node_to_bb): Tidy, don't use
+ gimple_seq_alloc.
+ * omp-low.c (finalize_task_copyfn): Don't use gimple_seq_alloc.
+ * tree-nested.c (walk_gimple_omp_for): Ditto.
+ * trans-mem.c (lower_transaction): Ditto.
+ * tree-eh.c (do_return_redirection): Ditto.
+ (do_goto_redirection): Ditto.
+ (lower_try_finally_switch): Ditto.
+ * gimplify.c (gimplify_stmt): Ditto.
+ (gimplify_scan_omp_clauses): Ditto.
+ (gimplify_omp_for): Ditto.
+ (gimplify_function_tree): Ditto.
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Ditto.
+ * tree-mudflap.c (mf_decl_cache_locals): Ditto.
+ (mf_build_check_statement_for): Ditto.
+ (mx_register_decls): Ditto.
+ * graphite-sese-to-poly.c (remove_invariant_phi): Ditto,
+ and don't use itertors to append.
+ (insert_stmts): Ditto.
+ (insert_out_of_ssa_copy): Ditto.
+ (insert_out_of_ssa_copy_on_edge): Ditto.
+
+2012-05-02 Michael Matz <matz@suse.de>
+
+ * gimple.h (gimple_bind_body_ptr): New function.
+ (gimple_bind_body): Use it.
+ (gimple_catch_handler): Use gimple_catch_handler_ptr.
+ (gimple_eh_filter_failure_ptr): New function.
+ (gimple_eh_filter_failure): Use it.
+ (gimple_eh_else_n_body_ptr): New function.
+ (gimple_eh_else_n_body): Use it.
+ (gimple_eh_else_e_body_ptr): New function.
+ (gimple_eh_else_e_body): Use it.
+ (gimple_try_eval_ptr): New function.
+ (gimple_try_eval): Use it.
+ (gimple_try_cleanup_ptr): New function.
+ (gimple_try_cleanup): Use it.
+ (gimple_wce_cleanup_ptr): New function.
+ (gimple_wce_cleanup): Use it.
+ (gimple_omp_body_ptr): New function.
+ (gimple_omp_body): Use it.
+ (gimple_omp_for_pre_body_ptr): New function.
+ (gimple_omp_for_pre_body): Use it.
+ (gimple_transaction_body_ptr): New function.
+ (gimple_transaction_body): Use it.
+ (gsi_split_seq_before): Adjust to return nothing and take pointer
+ to sequence.
+ (gsi_set_stmt): Declare.
+ (gsi_replace_with_seq): Declare.
+ (walk_gimple_seq_mod): Declare.
+ * function.h (struct function <gimple_body>): Use typedef gimple_seq.
+
+ * gimple-iterator.c (gsi_set_stmt): New function.
+ (gsi_split_seq_before): Return new sequence via pointer argument.
+ (gsi_replace): Use gsi_set_stmt.
+
+ * tree-ssa-loop-im.c (move_computations_stmt): First remove
+ then insert stmt.
+ * tree-complex.c (update_complex_components_on_edge): Don't copy gsi.
+ * tree-phinodes.c (resize_phi_node): Don't resize stmt in-place,
+ return new stmt.
+ (reserve_phi_args_for_new_edge): Change call to above,
+ use gsi_set_stmt.
+
+ * omp-low.c (lower_omp): Change prototype to take pointer to sequence.
+ (lower_rec_input_clauses): Use gimple_seq_add_seq instead of
+ iterators. Adjust call to lower_omp.
+ (lower_lastprivate_clauses): Adjust call to lower_omp.
+ (lower_reduction_clauses): Ditto.
+ (expand_omp_taskreg): Nullify non-cfg body of child_fn.
+ (lower_omp_sections): Don't explicitely count sequence length,
+ nullify lowered bodies earlier, ensure stmts are part of only
+ one sequence, adjust call to lower_omp.
+ (lower_omp_single): Ensure stmts are part of only one sequence,
+ adjust call to lower_omp.
+ (lower_omp_master): Ditto.
+ (lower_omp_ordered): Ditto.
+ (lower_omp_critical): Ditto.
+ (lower_omp_for): Ditto.
+ (lower_omp_taskreg): Ditto, tidy.
+ (lower_omp_1): Adjust calls to lower_omp.
+ (execute_lower_omp): Ditto.
+ (lower_omp): Adjust to take pointer to sequence.
+ (diagnose_sb_2): Use walk_gimple_seq_mod.
+ (diagnose_omp_structured_block_errors): Ditto and set possibly
+ changed function body.
+ * gimple-low.c (lower_function_body): Set function body after
+ it stabilizes.
+ (lower_sequence): Adjust to take pointer to sequence.
+ (lower_omp_directive): Ensure stmt isn't put twice into the
+ sequence, adjust call to lower_sequence.
+ (lower_stmt): Adjust calls to lower_sequence.
+ (lower_gimple_bind): Ditto.
+ (gimple_try_catch_may_fallthru): Call gsi_start with lvalue.
+ * tree-nested.c (walk_body): Take pointer to sequence, use
+ walk_gimple_seq_mod.
+ (walk_function): Adjust call to walk_body, set possibly changed body.
+ (walk_gimple_omp_for): Adjust calls to walk_body.
+ (convert_nonlocal_omp_clauses): Ditto.
+ (convert_nonlocal_reference_stmt): Ditto.
+ (convert_local_omp_clauses): Ditto.
+ (convert_local_reference_stmt): Ditto.
+ (convert_tramp_reference_stmt): Ditto.
+ (convert_gimple_call): Ditto.
+ (convert_nl_goto_reference): Use local iterator copy.
+ * gimple.c (walk_gimple_seq_mod): Renamed from walk_gimple_seq,
+ but taking pointer to sequence, ensure gsi_start is called with
+ callers lvalue.
+ (walk_gimple_seq): New wrapper around walk_gimple_seq_mod,
+ asserting that the sequence head didn't change.
+ (walk_gimple_stmt): Replace all calls to walk_gimple_seq with
+ walk_gimple_seq_mod.
+ * trans-mem.c (lower_transaction): Use walk_gimple_seq_mod.
+ (execute_lower_tm): Ditto, and set possibly changed body.
+ * tree-eh.c (lower_eh_constructs_1): Take pointer to sequence,
+ call gsi_start with that lvalue.
+ (replace_goto_queue_stmt_list): Ditto.
+ (replace_goto_queue_1): Adjust calls to replace_goto_queue_stmt_list.
+ (replace_goto_queue): Ditto.
+ (lower_try_finally_nofallthru): Adjust calls to lower_eh_constructs_1.
+ (lower_try_finally_onedest): Ditto.
+ (lower_try_finally_copy): Ditto.
+ (lower_try_finally_switch): Ditto.
+ (lower_try_finally): Ditto.
+ (lower_eh_filter): Ditto.
+ (lower_eh_must_not_throw): Ditto.
+ (lower_cleanup): Ditto.
+ (lower_eh_constructs_2): Ditto.
+ (lower_catch): Ditto, and ensure gsi_start is called with lvalue.
+ (lower_eh_constructs): Adjust calls to lower_eh_constructs_1, and
+ set possibly changed body.
+ (optimize_double_finally): Call gsi_start with lvalue.
+
+ * tree-cfg.c (make_blocks): Adjust call to gsi_split_seq_before.
+ (gimple_split_block): Ditto.
+ (gimple_merge_blocks): Use gsi_start_phis.
+ (move_stmt_r): Use walk_gimple_seq_mod.
+ * tree-ssa-dse.c (dse_enter_block): Use gsi_last_bb.
+ * cgraphbuild.c (build_cgraph_edges): Use gsi_start_phis.
+ (rebuild_cgraph_edges): Ditto.
+ (cgraph_rebuild_references): Ditto.
+ * ipa-prop.c (ipa_analyze_params_uses): Ditto.
+ * tree-inline.c (copy_phis_for_bb): Ditto.
+ * tree-ssa-dce.c: Ditto.
+
+ * cgraphunit.c (cgraph_analyze_function): Use gimple_has_body_p.
+
+2012-05-02 Kirill Yukhin <kirill.yukhin@intel.com>
+ Andi Kleen <ak@linux.intel.com>
+
+ * coretypes.h (MEMMODEL_MASK): New.
+ * builtins.c (get_memmodel): Add val. Call target.memmodel_check
+ and return new variable.
+ (expand_builtin_atomic_exchange): Mask memmodel values.
+ (expand_builtin_atomic_compare_exchange): Ditto.
+ (expand_builtin_atomic_load): Ditto.
+ (expand_builtin_atomic_store): Ditto.
+ (expand_builtin_atomic_clear): Ditto.
+ * doc/extend.texi: Mention port-dependent memory model flags.
+ * config/i386/cpuid.h (bit_HLE): New.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Detect
+ HLE support.
+ * config/i386/i386-protos.h (ix86_generate_hle_prefix): New.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Set HLE defines.
+ (ix86_target_string)<-mhle>: New.
+ (ix86_valid_target_attribute_inner_p) <OPT_mhle>: Ditto.
+ * config/i386/i386.c (ix86_target_string) <OPTION_MASK_ISA_HLE>: New.
+ (ix86_valid_target_attribute_inner_p) <OPT_mhle>: Ditto.
+ (ix86_option_override_internal) <PTA_HLE>: New switch, set it
+ enabled for generic, generic64 and core-avx2.
+ (ix86_print_operand): Generate HLE lock prefixes.
+ (ix86_memmodel_check): New.
+ (TARGET_MEMMODEL_CHECK): Ditto.
+ * config/i386/i386.h (OPTION_ISA_HLE): Ditto.
+ (IX86_HLE_ACQUIRE): Ditto.
+ (IX86_HLE_RELEASE): Ditto.
+ * config/i386/i386.h (ix86_generate_hle_prefix): Ditto.
+ * config/i386/i386.opt (mhle): Ditto.
+ * config/i386/sync.md(atomic_compare_and_swap<mode>): Pass
+ success model to instruction emitter.
+ (atomic_fetch_add<mode>): Ditto.
+ (atomic_exchange<mode>): Ditto.
+ (atomic_add<mode>): Ditto.
+ (atomic_sub<mode>): Ditto.
+ (atomic_<code><mode>): Ditto.
+ (*atomic_compare_and_swap_doubledi_pic): Ditto.
+ (atomic_compare_and_swap_single<mode>): Define and use argument
+ for success model.
+ (atomic_compare_and_swap_double<mode>): Ditto.
+ * configure.ac: Check if assembler support HLE prefixes.
+ * configure: Regenerate.
+ * config.in: Ditto.
+
+2012-05-02 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/53153
+ * gimplify.c (preprocess_case_label_vec_for_gimple): New function,
+ split out from ...
+ (gimplify_switch_expr): ... here.
+ * gimple.h (preprocess_case_label_vec_for_gimple): Add prototype.
+ * tree-ssa-forwprop.c (simplify_gimple_switch_label_vec): New function
+ to clean up case labels with values outside the index type range.
+ (simplify_gimple_switch): Call it if something changed.
+ Remove strange and unnecessary assert.
+
+2012-05-02 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (div_if_zero_remainder): sizetypes no longer
+ sign-extend.
+ (int_const_binop_1): New worker for int_const_binop with
+ overflowable parameter. Pass it through to force_fit_type_double.
+ (int_const_binop): Wrap around int_const_binop_1 with overflowable
+ equal to one.
+ (size_binop_loc): Call int_const_binop_1 with overflowable equal
+ to minus one, forcing overflow detection for even unsigned types.
+ (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE special-casing.
+ (fold_binary_loc): Call try_move_mult_to_index with signed offset.
+ * stor-layout.c (initialize_sizetypes): sizetypes no longer
+ sign-extend.
+ (layout_type): For zero-sized arrays ignore overflow on the
+ size calculations.
+ * tree-ssa-ccp.c (bit_value_unop_1): Likewise.
+ (bit_value_binop_1): Likewise.
+ * tree.c (double_int_to_tree): Likewise.
+ (double_int_fits_to_tree_p): Likewise.
+ (force_fit_type_double): Likewise.
+ (host_integerp): Likewise.
+ (int_fits_type_p): Likewise.
+ * varasm.c (output_constructor_regular_field): Sign-extend the
+ field-offset to cater for negative offsets produced by the Ada
+ frontend.
+ * omp-low.c (extract_omp_for_data): Convert the loop step to
+ signed for pointer adjustments.
+
+2012-05-02 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (valid_constant_size_p): New function.
+ * tree.h (valid_constant_size_p): Declare.
+ * cfgexpand.c (expand_one_var): Adjust check for too large
+ variables by using valid_constant_size_p.
+ * varasm.c (assemble_variable): Likewise.
+
+ * c-decl.c (grokdeclarator): Properly check for sizes that
+ cover more than half of the address-space.
+
+2012-05-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53163
+ * tree-ssa-phiopt.c (cond_if_else_store_replacement): Don't ignore
+ return value from compute_all_dependences.
+
+ PR rtl-optimization/53160
+ * ree.c (combine_reaching_defs): Handle the case where cand->insn
+ has been modified by ree pass already.
+
+2012-05-01 Ian Lance Taylor <iant@google.com>
+
+ PR c/37303
+ * c-decl.c (build_compound_literal): Make the decl readonly if it
+ an array of a readonly type.
+ * gimplify.c (gimplify_compound_literal_expr): Add fallback
+ parameter. Change all callers. If the decl is not addressable
+ and is not an l-value, make it readonly.
+
+2012-05-01 Bernd Schmidt <bernds@codesourcery.com>
+
+ * ira.c (allocated_reg_info_size): New static variable.
+ (expand_reg_info): Manage it. Call
+ setup_preferred_alternate_classes_for_new_pseudos.
+ (ira): Don't do it here. Remove local allocated_reg_info_size,
+ set the global before calling find_moveable_pseudos.
+ (find_moveable_pseudos): Call expand_reg_info rather than
+ resize_reg_info.
+
+2012-05-01 Richard Henderson <rth@redhat.com>
+
+ * common.opt (fsync-libcalls): New.
+ * doc/invoke.texi: Document it.
+ * optabs.c (init_sync_libfuncs): Honor it.
+
+2012-05-01 Kenneth Zadeck <zadeck@naturalbridge.com>
+ Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ PR rtl-optimization/52543
+ * Makefile.in (lower-subreg.o, target-globals.o): Depend on
+ lower-subreg.h.
+ * lower-subreg.h: New file.
+ * target-globals.h (this_target_lower_subreg): Declare.
+ (target_globals): Add lower_subreg;
+ (restore_target_globals): Restore this_target_lower_subreg.
+ * target-globals.c: Include it.
+ (default_target_globals): Add default_target_lower_subreg.
+ (save_target_globals): Initialize target_lower_subreg.
+ * rtl.h (init_lower_subreg): Added declaration.
+ * toplev.c (backend_init_target): Call initializer for lower-subreg
+ pass.
+ * lower-subreg.c (LOG_COSTS, FORCE_LOWERING): New macros.
+ (default_target_lower_subreg): New variable.
+ (this_target_lower_subreg): Likewise.
+ (twice_word_mode, choices): New macros.
+ (shift_cost, compute_splitting_shift, compute_costs)
+ (init_lower_subreg): New functions.
+ (resolve_simple_move): Add speed_p argument. Check choices.
+ (find_pseudo_copy): Don't check the mode size here.
+ (resolve_simple_move): Assert the mode size.
+ (find_decomposable_shift_zext): Add speed_p argument and return
+ a bool. Check choices.
+ (resolve_shift_zext): Add comment.
+ (dump_shift_choices, dump_choices): New functions.
+ (decompose_multiword_subregs): Dump list of profitable
+ transformations. Add code to skip non profitable transformations.
+ Update calls to simple_move and find_decomposable_shift_zext.
+
+2012-05-01 Ian Bolton <ian.bolton@arm.com>
+ Sameera Deshpande <sameera.deshpande@arm.com>
+ Greta Yorsh <greta.yorsh@arm.com>
+
+ * config/arm/arm-protos.h (thumb_unexpanded_epilogue): Rename to...
+ (thumb1_unexpanded_epilogue): ...this.
+ * config/arm/arm.c (thumb_unexpanded_epilogue): Rename to...
+ (thumb1_unexpanded_epilogue): ...this.
+ * config/arm/arm.md (thumb_unexpanded_epilogue): Rename to...
+ (thumb1_unexpanded_epilogue): ...this.
+
+2012-05-01 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_DEFAULT): Avoid ifdef
+ comparing enumeration values. Update comments.
+
+2012-05-01 Alan Modra <amodra@gmail.com>
+
+ PR target/53038
+ * config/rs6000/rs6000.c (load_lr_save, restore_saved_lr,
+ load_cr_save, add_crlr_cfa_restore): New functions.
+ (rs6000_restore_saved_cr): Rename to..
+ (restore_saved_cr): ..this. Add cfa_restore notes for cr.
+ (rs6000_emit_epilogue): Use new functions. Adjust condition
+ for emitting lr and cr cfa_restore. Emit cfa_restores for fp
+ regs when using out-of-line restore only when shrink wrapping.
+
+2012-04-30 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/53136
+ * ipa-prop.c (ipa_print_node_jump_functions): Wrap multiple
+ calls to cgraph_node_name in xstrdup.
+ (ipa_make_edge_direct_to_target): Ditto.
+ * cgraph.c (dump_cgraph_node): Ditto.
+ * tree-sra.c (convert_callers_for_node): Ditto.
+ * lto-symtab.c (lto_cgraph_replace_node): Ditto.
+ * ipa-cp.c (perhaps_add_new_callers): Ditto.
+ * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Ditto.
+ (cgraph_materialize_all_clones): Ditto.
+ * ipa-inline.c (report_inline_failed_reason): Ditto.
+ (want_early_inline_function_p): Ditto.
+ (edge_badness): Ditto.
+ (update_edge_key): Ditto.
+ (flatten_function): Ditto.
+ (ipa_inline): Ditto.
+ (inline_always_inline_functions): Ditto.
+ (early_inline_small_functions): Ditto.
+
+2012-04-30 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53141
+ * config/i386/i386.md (*umul<mode><dwi>3_1): Switch places of
+ constraints 0 and 1.
+
+012-04-30 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (ld_plugin_symbol_resolution_names): Move to symtab.c
+ (cgraph_asm_nodes, cgraph_asm_last_node): Move to cgraphunit.c
+ (cgraph_add_to_same_comdat_group): Remove.
+ (cgraph_add_asm_node): Move to cgraphunit.c.
+ (cgraph_make_decl_local): Move to symtab.c
+ (cgraph_make_node_local_1): Update.
+ (cgraph_can_remove_if_no_direct_calls_and): Update.
+ (used_from_object_file_p): Update.
+ (resolution_used_from_other_file_p): Move to symtab.c
+ (cgraph_used_from_object_file_p): move to symtab.c
+ (verify_cgraph_node): Verify same comdat groups.
+ * cgraph.h (cgraph_asm_node): Rename to ...
+ (asm_node): ... this one.
+ (cgraph_asm_nodes): Rename to ...
+ (asm_nodes): ... this one.
+ (symtab_add_to_same_comdat_group): New function.
+ (symtab_dissolve_same_comdat_group_list): New function.
+ (symtab_used_from_object_file_p): Declare.
+ (symtab_make_decl_local): Declare.
+ (cgraph_add_to_same_comdat_group): Remove.
+ (cgraph_add_asm_node): Remove.
+ (cgraph_used_from_object_file_p, varpool_used_from_object_file_p):
+ Remove.
+ (cgraph_finalize_compilation_unit): Rename to ...
+ (finalize_compilation_unit): ... this one.
+ (cgraph_optimize): Rename to ....
+ (compile): ... this one.
+ (add_asm_node): Declare.
+ (fixup_same_cpp_alias_visibility): Declare.
+ (cgraph_make_decl_local): Remove.
+ (varpool_assemble_pending_decls): Rename to ...
+ (varpool_output_variables): ... this one.
+ (varpool_remove_unreferenced_decls): Remove.
+ * ipa-inline-transform.c (clone_inlined_nodes): Dissolve comdat groups.
+ (preserve_function_body_p): Make static.
+ * toplev.c (compile_file): Update comments; update.
+ * cgraphunit.c: Update comments.
+ (cgraph_expand_all_functions): Rename to ...
+ (expand_all_functions): ... this one; update.
+ (cgraph_mark_functions_to_output): Rename to ...
+ (mark_functions_to_output): ... this one; cleanup.
+ (cgraph_output_pending_asms): Remove prototype.
+ (asm_nodes, asm_last_node): New static vars.
+ (cgraph_process_new_functions): Update.
+ (cgraph_reset_node): Cleanup; add comment.
+ (cgraph_add_new_function): Update.
+ (cgraph_output_pending_asms): Rename to ...
+ (output_asm_statements): ... this one.
+ (add_asm_node): New function.
+ (fixup_same_cpp_alias_visibility): New function based on code
+ in cgraph_analyze_function.
+ (cgraph_analyze_function): Use it.
+ (cgraph_order_sort): Update.
+ (cgraph_output_in_order): Update.
+ (cgraph_function_versioning): Update.
+ (cgraph_optimize): Rename to ...
+ (compile): ... this one; initialize streamer hooks here.
+ (cgraph_finalize_compilation_unit): Rename to ...
+ (finalize_compilation_unit): ... this one; do not initialize streamer
+ hook here.
+ * lto-streamer-out.c (lto_output_toplevel_asms): Update.
+ * dwarf2out.c: Update ocmment.
+ * optimize.c (maybe_clone_body): Use symtab_add_to_same_comdat_group.
+ * method.c (use_thunk): Likewise.
+ * semantics.c (maybe_add_lambda_conv_op): Likewise.
+ * decl2.c (maybe_emit_vtables): Likewise.
+ (cp_write_global_declarations): Use finalize_compilation_unit.
+ * parser.c (cp_parser_asm_definition): Use add_asm_node.
+ * lto-streamer-in.c (lto_input_toplevel_asms): Use add_asm_node
+ * c-decl.c (c_write_global_declarations): Use
+ finalize_compilation_unit.
+ * langhooks.c (write_global_declarations): Update.
+ * ipa.c (cgraph_externally_visible_p): Update.
+ (dissolve_same_comdat_group_list): Remove.
+ (function_and_variable_visibility): Update.
+ * symtab.c: Inlcude lto-streamer.h and rtl.h
+ (ld_plugin_symbol_resolution_names): New.
+ (symtab_add_to_same_comdat_group): New.
+ (symtab_dissolve_same_comdat_group_list): New.
+ (resolution_used_from_other_file_p): Move here from cgraph.c
+ (symtab_used_from_object_file_p): New.
+ (symtab_make_decl_local): New.
+ * passes.c (register_pass): Update comments.
+ * c-parser.c (c_parser_asm_definition): Update.
+ * varpool.c (varpool_analyze_node): Use
+ fixup_same_cpp_alias_visibility.
+ (varpool_remove_unreferenced_decls): Make static.
+ (varpool_assemble_pending_decls): Rename to ...
+ (varpool_output_variables): ... this one; call
+ varpool_remove_unreferenced_decls.
+ (varpool_used_from_object_file_p): Remove.
+
+2012-04-30 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/51033
+ * c-typeck.c (build_array_ref): Call
+ convert_vector_to_pointer_for_subscript.
+ * doc/extend.texi (Vector Extensions): Subscripting not just for C.
+
+2012-04-30 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (and<mode>3): Change runtime operand mode checks
+ to compile-time "mode == <MODE>mode" checks.
+ (and splitter): Ditto.
+
+2012-04-30 Richard Henderson <rth@redhat.com>
+
+ * config/arm/arm.md (UNSPEC_LL): New.
+ * config/arm/sync.md (atomic_loaddi, atomic_loaddi_1): New.
+ (arm_load_exclusivedi): Use %H0.
+
+2012-04-30 Jason Merrill <jason@redhat.com>
+
+ * dwarf2out.c (comdat_symbol_id): Add const.
+ (union die_symbol_or_type_node): Add const to die_symbol.
+ (output_die_symbol, output_die, output_comp_unit): Adjust.
+
+2012-04-30 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm.md (negdi2): Use gen_negdi2_neon.
+ * config/arm/neon.md (negdi2_neon): New insn.
+ Also add splitters for core and NEON registers.
+
+2012-04-30 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm.c (neon_valid_immediate): Allow const_int.
+ (arm_print_operand): Add 'x' format.
+ * config/arm/constraints.md (Dn): Allow const_int.
+ * config/arm/neon.md (neon_mov<mode>): Use VDX to allow DImode.
+ Use 'x' format to print constants.
+ * config/arm/predicates.md (imm_for_neon_mov_operand): Allow const_int.
+ * config/arm/vfp.md (movdi_vfp): Disable for const_int when neon
+ is enabled.
+ (movdi_vfp_cortexa8): Likewise.
+
+2012-04-30 Ian Bolton <ian.bolton@arm.com>
+ Sameera Deshpande <sameera.deshpande@arm.com>
+ Greta Yorsh <greta.yorsh@arm.com>
+
+ * config/arm/arm-protos.h (ldm_stm_operation_p): New declaration.
+ * config/arm/arm.c (ldm_stm_operation_p): New function.
+ * config/arm/predicates.md (load_multiple_operation): Update predicate.
+ (store_multiple_operation): Likewise.
+
+ * config/arm/arm-protos.h (ldm_stm_operation_p): New parameters.
+ * config/arm/arm.c (ldm_stm_operation_p): New parameters.
+ * config/arm/predicates.md (load_multiple_operation): Add arguments.
+ (store_multiple_operation): Likewise.
+
+2012-04-30 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (and<mode>3): Expand masking operations with
+ 0xff, 0xffff or 0xffffffff immediates to corresponding zero_extend RTX.
+ (and splitter): Split to DImode zero_extend RTX for DImode operand[0].
+
+2012-04-30 Dodji Seketeli <dodji@redhat.com>
+
+ Add -Wvarargs option
+ * builtins.c (fold_builtin_next_arg): Use OPT_Wvarargs as an
+ argument for the various warning_at calls.
+ * docs/invoke.texi: Update the documentation.
+
+2012-04-30 Dodji Seketeli <dodji@redhat.com>
+
+ Switch -ftrack-macro-expansion=2 on by default.
+ * docs/cppopts.texi: Adjust for enabling -ftrack-macro-expansion=2
+ by default.
+
+ Fix va_start related location
+ * builtins.c (fold_builtin_next_arg): Unwinds to the first
+ location in real source code.
+
+ Make conversion warnings work on NULL with -ftrack-macro-expansion
+ * input.h (expansion_point_location_if_in_system_header): Declare
+ new function.
+ * input.c (expansion_point_location_if_in_system_header): Define it.
+
+ Fix -Wuninitialized for -ftrack-macro-expansion
+ * tree-ssa.c (warn_uninit): Use the spelling location of the variable
+ declaration. Use linemap_location_before_p for source locations.
+
+ Strip "<built-in>" loc from displayed expansion context
+ * input.c (expand_location_1): When expanding to spelling location
+ in a context of a macro expansion, skip reserved system header
+ locations. Update comments. * tree-diagnostic.c
+ (maybe_unwind_expanded_macro_loc): Likewise.
+
+ Make expand_location resolve to locus in main source file
+ * input.c (expand_location_1): New. Takes a parameter to choose
+ whether to resolve the location to spelling or expansion point.
+ Was factorized from ...
+ (expand_location): ... here.
+ (expand_location_to_spelling_point): New. Implemented in terms of
+ expand_location_1.
+ * diagnostic.c (diagnostic_build_prefix): Use the new
+ expand_location_to_spelling_point instead of expand_location.
+
+ Fix PCH crash on GTYed pointer-to-scalar field of a struct
+ * gengtype.c (write_types_process_field): Force second argument of
+ the call to the PCH object hierarchy walker to be 'x'.
+
+2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/i386/i386.c (ix86_handle_struct_attribute): Use the proper
+ predicate to discriminate types.
+
+2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * doc/invoke.texi (Wmissing-format-attribute): Document as an
+ alias of Wsuggest-attribute=format.
+ * c-typeck.c (convert_for_assignment): Replace
+ Wmissing-format-attribute with Wsuggest-attribute=format.
+ (digest_init): Likewise.
+
+2012-04-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * opts.c (finish_options): Do not handle -Wmissing-noreturn here.
+ * common.opt (Wmissing-noreturn): Alias of
+ -Wsuggest-attribute=noreturn.
+
+2012-04-29 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/53156
+ * config/cris/cris.md (andqu): New peephole2.
+ (andu): Tweak head comment.
+
+2012-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
+ Steven Bosscher <steven@gcc.gnu.org>
+ Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ PR tree-optimization/38785
+ * common.opt (ftree-partial-pre): New option.
+ * doc/invoke.texi: Document it.
+ * opts.c (default_options_table): Initialize flag_tree_partial_pre.
+ * tree-ssa-pre.c (do_partial_partial_insertion): Insert only if it will
+ benefit speed path.
+ (execute_pre): Use flag_tree_partial_pre.
+
+2012-04-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/52999
+ * config/pa/pa.c (pa_legitimate_constant_p): Don't put function labels
+ in constant pool.
+
+2012-04-27 Ollie Wild <aaw@google.com>
+
+ * doc/invoke.texi (Wliteral-suffix): Document new option.
+
+2012-04-27 Tom Tromey <tromey@redhat.com>
+
+ * dwarf2out.c (dwarf_stack_op_name): Use get_DW_OP_name.
+ (dwarf_tag_name): Use get_DW_TAG_name.
+ (dwarf_attr_name): Use get_DW_AT_name.
+ (dwarf_form_name): Use get_DW_FORM_name.
+ * dwarf2cfi.c (dwarf_cfi_name): Use get_DW_CFA_name.
+
+2012-04-27 Paolo Bonzini <bonzini@gnu.org>
+
+ * tree-ssa-phiopt.c (conditional_replacement): Replace PHIs whose
+ arguments are -1 and 0, by negating the result of the conditional.
+
+2012-04-27 Paolo Bonzini <bonzini@gnu.org>
+
+ PR target/53138
+ * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg): Add clobber.
+
+2012-04-27 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (is_hidden_global_store): Remove.
+ * tree-ssa-sink.c (is_hidden_global_store): Likewise.
+ * tree-ssa-alias.h (ref_may_alias_global_p): Declare.
+ (stmt_may_clobber_global_p): Likewise.
+ * tree-ssa-alias.c (ref_may_alias_global_p): New function.
+ (stmt_may_clobber_global_p): Likewise.
+ * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Call
+ stmt_may_clobber_global_p.
+ * tree-ssa-dse.c (dse_possible_dead_store_p): Likewise.
+
+2012-04-27 Steven Bosscher <steven@gcc.gnu.org>
+
+ * cfg.c (disconnect_src): Do df_mark_solutions_dirty in the right
+ place.
+
+ * tree-switch-conversion.c (struct switch_conv_info): Add range_max,
+ reorganize some fields and update comments. Rename bit_test_uniq
+ and bit_test_count to uniq resp. count. Remove bit_test_bb.
+ (collect_switch_conv_info): New function, collects info about a
+ GIMPLE_SWITCH into a struct switch_conv_info.
+ (check_range): Simplify to use pre-recorded info. Fix think-o in
+ range-branch ratio check.
+ (check_process_case): Remove function.
+ (check_all_empty_except_final): New function, verifies that all
+ non-final basic blocks are empty.
+ (process_switch): Simplify to use pre-recorded info. Call
+ collect_switch_conv_info to do that. Assert that degenerate switch
+ statements have been cleaned up.
+
+2012-04-27 Marc Glisse <marc.glisse@inria.fr>
+
+ PR middle-end/27139
+ * tree-ssa-forwprop.c (combine_conversions): Handle INT->FP->INT.
+
+2012-04-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/53130
+ * c-typeck.c (pop_init_level): Use %qD instead of %qT.
+
+2012-04-27 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/51879
+ * tree-ssa-sccvn.h (struct vn_reference_s): Add result_vdef field.
+ * tree-ssa-sccvn.c (mark_use_processed): New function, factored out
+ of ...
+ (defs_to_varying): ... here. Don't set use_processed.
+ (visit_reference_op_call): Handle gimple_vdef.
+ Handle case that lhs is NULL_TREE.
+ (visit_use): Use mark_use_processed. Handle calls with side-effect
+ using visit_reference_op_call.
+
+2012-04-26 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * sched-deps.c (fixup_sched_groups): Rename to...
+ (chain_to_prev_insn): ...this.
+ (chain_to_prev_insn_p): New function.
+ (deps_analyze_insn): Use it instead of SCHED_GROUP_P.
+
+2012-04-26 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * sched-int.h (_haifa_insn_data): Move priority_status.
+ Add model_index.
+ (INSN_MODEL_INDEX): New macro.
+ * haifa-sched.c (insn_delay): New function.
+ (sched_regno_pressure_class): Update commentary.
+ (mark_regno_birth_or_death): Pass the liveness bitmap and
+ pressure array as arguments, instead of using curr_reg_live and
+ curr_reg_pressure. Only update the pressure if the bit in the
+ liveness set has changed.
+ (initiate_reg_pressure_info): Always trust the live-in set for
+ SCHED_PRESSURE_MODEL.
+ (initiate_bb_reg_pressure_info): Update call to
+ mark_regno_birth_or_death.
+ (dep_list_size): Take the list as argument.
+ (calculate_reg_deaths): New function, extracted from...
+ (setup_insn_reg_pressure_info): ...here.
+ (MODEL_BAR): New macro.
+ (model_pressure_data, model_insn_info, model_pressure_limit)
+ (model_pressure_group): New structures.
+ (model_schedule, model_worklist, model_insns, model_num_insns)
+ (model_curr_point, model_before_pressure, model_next_priority):
+ New variables.
+ (MODEL_PRESSURE_DATA, MODEL_MAX_PRESSURE, MODEL_REF_PRESSURE)
+ (MODEL_INSN_INFO, MODEL_INSN): New macros.
+ (model_index, model_update_limit_points_in_group): New functions.
+ (model_update_limit_points, model_last_use_except): Likewise.
+ (model_start_update_pressure, model_update_pressure): Likewise.
+ (model_recompute, model_spill_cost, model_excess_group_cost): Likewise.
+ (model_excess_cost, model_dump_pressure_points): Likewise.
+ (model_set_excess_costs): Likewise.
+ (rank_for_schedule): Extend SCHED_PRIORITY_WEIGHTED ordering to
+ SCHED_PRIORITY_MODEL. Use insn_delay. Use the order in the model
+ schedule as an alternative tie-breaker. Update the call to
+ dep_list_size.
+ (ready_sort): Call model_set_excess_costs.
+ (update_register_pressure): Update call to mark_regno_birth_or_death.
+ Rely on that function to check liveness rather than doing it here.
+ (model_classify_pressure, model_order_p, model_add_to_worklist_at)
+ (model_remove_from_worklist, model_add_to_worklist, model_promote_insn)
+ (model_add_to_schedule, model_analyze_insns, model_init_pressure_group)
+ (model_record_pressure, model_record_pressures): New functions.
+ (model_record_final_pressures, model_add_successors_to_worklist)
+ (model_promote_predecessors, model_choose_insn): Likewise.
+ (model_reset_queue_indices, model_dump_pressure_summary): Likewise.
+ (model_start_schedule, model_finalize_pressure_group): Likewise.
+ (model_end_schedule): Likewise.
+ (schedule_insn): Say when we're scheduling the next instruction
+ in the model schedule.
+ (schedule_insn): Handle SCHED_PRESSURE_MODEL.
+ (queue_to_ready): Do not add instructions that are
+ MAX_SCHED_READY_INSNS beyond the current point of the model schedule.
+ Always allow the next instruction in the model schedule to be added.
+ (debug_ready_list): Print the INSN_REG_PRESSURE_EXCESS_COST_CHANGE
+ and delay for SCHED_PRESSURE_MODEL too.
+ (prune_ready_list): Extend SCHED_PRIORITY_WEIGHTED handling to
+ SCHED_PRIORITY_MODEL, but also take the DFA into account.
+ (schedule_block): Call model_start_schedule and model_end_schedule.
+ Extend SCHED_PRIORITY_WEIGHTED stall handling to SCHED_PRIORITY_MODEL.
+ (sched_init): Extend INSN_REG_PRESSURE_EXCESS_COST_CHANGE handling
+ to SCHED_PRESSURE_MODEL, but don't allocate saved_reg_live or
+ region_ref_regs.
+ (sched_finish): Update accordingly.
+ (fix_tick_ready): Extend INSN_REG_PRESSURE_EXCESS_COST_CHANGE handling
+ to SCHED_PRESSURE_MODEL.
+ (add_jump_dependencies): Update call to dep_list_size.
+ (haifa_finish_h_i_d): Fix leak of max_reg_pressure.
+ (haifa_init_insn): Extend INSN_REG_PRESSURE_EXCESS_COST_CHANGE handling
+ to SCHED_PRESSURE_MODEL.
+ * sched-deps.c (init_insn_reg_pressure_info): Likewise, but don't
+ allocate INSN_MAX_REG_PRESSURE for SCHED_PRESSURE_MODEL.
+ (sched_analyze_insn): Extend INSN_REG_PRESSURE_EXCESS_COST_CHANGE
+ handling to SCHED_PRESSURE_MODEL.
+
+2012-04-26 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * common.opt (fsched-pressure-algorithm=): New option.
+ * flag-types.h (sched_pressure_algorithm): New enum.
+ * sched-int.h (sched_pressure_p): Replace with...
+ (sched_pressure): ...this new variable.
+ * haifa-sched.c (sched_pressure_p): Replace with...
+ (sched_pressure): ...this new variable.
+ (sched_regno_pressure_class, rank_for_schedule, ready_sort)
+ (update_reg_and_insn_max_reg_pressure, schedule_insn)
+ (debug_ready_list, prune_ready_list, schedule_block, sched_init)
+ (sched_finish, fix_tick_ready, haifa_init_insn): Update accordingly.
+ * sched-deps.c (init_insn_reg_pressure_info): Likewise.
+ (sched_analyze_insn): Likewise.
+ * sched-rgn.c (schedule_region): Likewise.
+ * config/m68k/m68k.c (m68k_sched_variable_issue): Likewise.
+
+2012-04-26 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR middle-end/52997
+ * ira.c (find_moveable_pseudos): Call resize_reg_info.
+
+ PR middle-end/52940
+ * machmode.h (CLASS_HAS_WIDER_MODES_P): True for MODE_PARTIAL_INT.
+ * expr.c (convert_move): Honor unsignedp when extending partial int
+ modes.
+ * genmodes.c (complete_mode): Don't clear component field of partial
+ int modes.
+ (emit_mode_inner): Don't emit it however.
+ (calc_wider_mode): Partial int modes widen to their component.
+
+2012-04-26 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/niagara4.md: New file.
+ * config/sparc/sparc.md: Include it.
+ * config/sparc/sparc.c (niagara4_costs): New processor costs.
+ (sparc_option_override): Use it.
+ (sparc_use_sched_lookahead): Return 2 for niagara4.
+ (sparc_issue_rate): Likewise.
+
+ * config/sparc/sparc.md (attr type): Delete 'fgm_cmp'.
+ (fpack16_vis, fpackfix_vis, fpack32_vis): Set type to fgm_pack.
+ (fmul8x16_vis, fmul8x16au_vis, fmul8x16al_vis, fmul8sux16_vis,
+ fmul8ulx16_vis, fmuld8sux16_vis, fmuld8ulx16_vis): Set type to fgm_mul.
+ (alignaddrsi_vis, alignaddrdi_vis, alignaddrlsi_vis,
+ alignaddrldi_vis): Set type to gsr.
+ (pdist_vis, pdistn<mode>_vis): Set type to fgm_pdsit.
+ (fcmp<code><GCM:gcm_name><P:mode>_vis, cmask8<P:mode>_vis,
+ cmask16<P:mode>_vis, cmask32<P:mode>_vis, fchksm16_vis,
+ v<vis3_shift_patname><mode>3, fmean16_vis,
+ fp<plusminus_insn>64_vis, <vis3_addsub_ss_patname><mode>3,
+ fucmp<code>8<P:mode>_vis): Set type to fga.
+ * config/sparc/ultra1_2.md: Remove refrences to fgm_cmp.
+ * config/sparc/niagara.md: Likewise.
+ * config/sparc/niagara2.md: Likewise.
+ * config/sparc/ultra3.md: Likewise, and fix type matching for
+ us3_ialuX reservation.
+
+2012-04-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * reload.c (find_reloads): Change the loop nesting when trying an
+ alternative with swapped operands.
+
+2012-04-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Fix
+ comment. Delete unused parameter first_exp_point_map.
+ (virt_loc_aware_diagnostic_finalizer): Update call.
+
+2012-04-26 Michael Hope <michael.hope@linaro.org>
+ Richard Earnshaw <rearnsha@arm.com>
+
+ * config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_SOFT_FLOAT): Define.
+ (GLIBC_DYNAMIC_LINKER_HARD_FLOAT): Define.
+ (GLIBC_DYNAMIC_LINKER_DEFAULT): Define.
+ (GLIBC_DYNAMIC_LINKER): Redefine to use the hard float path.
+
+2012-04-25 Sriraman Tallam <tmsriram@google.com>
+
+ * doc/extend.texi: Document avx2 support.
+ * config/i386/i386.c (fold_builtin_cpu): Add avx2.
+
+2012-04-26 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/53120
+ * config/cris/cris.md ("*andhi_lowpart_v32")
+ ("*andqi_lowpart_v32"): Change first input-only operand from
+ a (match_operand ...) to (match_dup 0). Drop alternatives with
+ const_int-matching constraints for redundancy.
+ ("*andhi_lowpart_non_v32", "*andqi_lowpart_non_v32"): Ditto. Drop
+ three-operand alternative.
+
+2012-04-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/53110
+ * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg
+ instead expand it as zero extension.
+
+2012-04-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR debug/52857
+ * dwarf2out.c (dbx_reg_number): Assert return value != INVALID_REGNUM.
+
+2012-04-25 Jakub Jelinek <jakub@redhat.com>
+
+ * common.opt (flag_debug_types_section): Default to 0.
+ (dwarf_version): Default to 4.
+ (dwarf_record_gcc_switches): Default to 1.
+ (dwarf_strict): Default to 0.
+ * toplev.c (process_options): Don't handle dwarf_strict
+ or dwarf_version here.
+ * config/vxworks.c (vxworks_override_options): Don't
+ test whether dwarf_strict or dwarf_version are negative,
+ instead test !global_options_set.x_dwarf_*.
+ * config/darwin.c (darwin_override_options): Default to
+ dwarf_version 2.
+ * doc/invoke.texi: Note that -gdwarf-4, -grecord-gcc-switches
+ and -fno-debug-types-section are now the default.
+
+2012-04-25 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c: Update toplevel comment.
+ (tree_rest_of_compilation): Merge into cgraph_expand_function.
+ (cgraph_analyze_function): Make static.
+ (cgraph_decide_is_function_needed): Make static.
+ (cgraph_add_new_function): Use expand_function instead of
+ rest_of_compilation.
+ (clone_of_p, verify_edge_count_and_frequency, cgraph_debug_gimple_stmt,
+ verify_edge_corresponds_to_fndecl, verify_cgraph_node, verify_cgraph):
+ Move to cgraph.c
+ (cgraph_inline_p): Remove.
+ (cgraph_preserve_function_body_p): Move to ipa-inline-transform.
+ (init_cgraph): Add comment.
+ * cgraphbuild.c (record_reference, mark_address, mark_load,
+ mark_store): Do not call analyze_expr hook.
+ * cgraph.c: Update toplevel comment.
+ (clone_of_p, verify_edge_count_and_frequency, cgraph_debug_gimple_stmt,
+ verify_edge_corresponds_to_fndecl, verify_cgraph_node, verify_cgraph):
+ Move fere from cgraphunit.c
+ (cgraph_mark_force_output_node): Move to cgraph.h
+ * cgraph.h: Reorder so the comments match the function placement.
+ (cgraph_analyze_function, cgraph_decide_is_function_needed): Remove.
+ (cgraph_mark_force_output_node): Move here from cgraph.c
+ * tree.c (free_lang_data): Do not clear analyze_expr hook.
+ * ipa-inline-transform.c (preserve_function_body_p): New function.
+ (inline_transform): Update.
+ * langhooks.c (lhd_callgraph_analyze_expr): Remove.
+ * langhooks.h (lang_hooks_for_callgraph): Remove.
+ (lang_hooks): Remove callgraph.
+ * tree-inline.c (expand_call_inline): Do not use cgraph_inline_p.
+ * varpool.c: Remove out of date comment.
+ * langhooks-def.h (lhd_callgraph_analyze_expr): Remove.
+ (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Remove.
+
+2012-04-25 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/53089
+ * cgraphunit.c (referred_to_p): Move ahead in file to avoid
+ forward declaration.
+ (cgraph_finalize_function): Finalize them here.
+ * symtab.c (dump_symtab): Dump ctors and dtors.
+
+2012-04-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/52979
+ * stor-layout.c (get_best_mode): Don't return mode with bitsize
+ larger than maxbits. Don't compute maxbits modulo align.
+ Also check that unit bytes long store at bitpos / unit * unit
+ doesn't affect bits beyond bitregion_end.
+ * expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM
+ would not fit into bitregion_start ... bitregion_end + 1 bit region.
+ (store_split_bit_field): Decrease unit close to end of bitregion_end
+ if access is restricted in order to avoid mutual recursion.
+
+ PR tree-optimization/53058
+ * double-int.h (double_int_max_value, double_int_min_value): New
+ prototypes.
+ * double-int.c (double_int_max_value, double_int_min_value): New
+ functions.
+ * tree-vrp.c (register_edge_assert_for_2): Compare mask for LE_EXPR
+ or GT_EXPR with double_int_max_value instead of double_int_mask.
+
+2012-04-25 Richard Guenther <rguenther@suse.de>
+
+ * tree-vectorizer.h (vect_loop_versioning): Adjust prototype.
+ * tree-vect-loop.c (vect_transform_loop): Adjust.
+ * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Record
+ the maximum number of iterations for the epilogue loop.
+ (vect_loop_versioning): Remove case re-using the peeled epilogue loop.
+
+2012-04-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/52880
+ * c-typeck.c (set_nonincremental_init,
+ set_nonincremental_init_from_string): Pass true instead of false
+ as IMPLICIT to add_pending_init.
+
+2012-04-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * c-typeck.c (pop_init_level): Improve diagnostics.
+
+2012-04-25 Uros Bizjak <ubizjak@gmail.com>
+
+ * compare-elim.c (try_eliminate_compare): Also handle operands with
+ implicit extensions.
+
+2012-04-25 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000 (SAVE_INLINE_VRS, REST_INLINE_VRS,
+ V_SAVE_INLINE, SAVRES_LR, SAVRES_SAVE, SAVRES_REG,
+ SAVRES_GPR, SAVRES_FPR, SAVRES_VR): Define.
+ (no_global_regs_above): Delete.
+ (no_global_regs): New function.
+ (rs6000_savres_strategy): Handle vector regs. Use proper lr_save_p
+ value for load multiple test.
+ (savres_routine_syms): Increase size.
+ (rs6000_savres_routine_name, rs6000_savres_routine_sym,
+ ptr_regno_for_savres, rs6000_emit_savres_rtx): Pass in int selector
+ rather than a number of boolean flags. Update all callers.
+ (rs6000_savres_routine_name): Generate vector save/restore names.
+ (rs6000_savres_routine_sym): Handle vector regs. Delete forward decl.
+ (ptr_regno_for_savres, rs6000_emit_savres_rtx): Likewise.
+ (rs6000_emit_prologue): Delete saving_FPRs_inline, saving_GPRs_inline
+ and using_store_multiple. Expand uses. Don't always use r11 as
+ frame reg when needed for out-of-line saves. Set up initial offset
+ for out-of-line vector saves when buying stack frame. Handle pointer
+ reg setup for out-of-line fp save. Emit call to out-of-line vector
+ save function. Choose r11 or r12 for vrsave reg when available for
+ better scheduling.
+ (rs6000_output_function_prologue): Don't emit .extern for ELF.
+ (rs6000_emit_epilogue): Choose a better frame reg when restoring
+ from back-chain to suit out-of-line vector restore functions. Emit
+ call to out-of-line vector restore function. Adjust register used
+ for cr restore. Tweak pointer register setup for gpr restore.
+ * config/rs6000/rs6000.h (FIRST_SAVED_GP_REGNO): Take into account
+ FIXED_R13.
+ * config/rs6000/sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Simplify.
+ (V_SAVE_INLINE): Define.
+ * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*): New insns.
+
+2012-04-25 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_savres_strategy): Allow
+ out-of-line save/restore for large frames. Don't disable
+ out-of-line saves on ABI_AIX when using static chain reg.
+ (rs6000_emit_prologue): Adjust cr_save_regno on ABI_AIX to not
+ clobber static chain reg, and tweak for out-of-line gpr saves
+ that use r1.
+
+2012-04-25 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (START_USE, END_USE, NOT_INUSE): Define.
+ (rs6000_emit_prologue): Use the above to catch register overlap.
+
+2012-04-25 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Delete forward
+ decl. Move logic selecting update reg to callers. Update all callers.
+ (rs6000_emit_allocate_stack): Add copy_off param.
+ (emit_frame_save): Don't handle reg+reg addressing.
+ (ptr_regno_for_savres): New function, extracted from..
+ (rs6000_emit_savres_rtx): ..here. Add lr_offset param.
+ (rs6000_emit_prologue): Generate frame_ptr_rtx as we need it.
+ Set frame_reg_rtx to r11 whenever r11 is needed, and merge
+ frame offset adjustment for out-of-line save with copy from sp.
+ Simplify condition controlling whether cr is saved early or
+ late. Use ptr_regno_for_savres to verify correct reg is set
+ up for out-of-line saves. Pass the actual pointer reg used to
+ rs6000_emit_savres_rtx so rtl matches insns in out-of-line
+ function. Rearrange spe vars so code is similar to that
+ elsewhere in this function. Don't update frame_off when spe
+ save code will restore r11. Use emit_frame_save for spe and
+ gpr saves. Consolidate darwin out-of-line gpr setup with that
+ for other abis. Don't assume frame_offset is zero and frame
+ reg is sp when setting up altivec reg saves, and calculate
+ exact offset requirement.
+ (rs6000_emit_epilogue): Use HOST_WIDE_INT for frame_off. Tidy
+ spe restore code. Consolidate darwin out-of-line gpr setup
+ with that for other abis.
+
+2012-04-25 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_frame_related): Don't emit a
+ REG_FRAME_RELATED_EXPR note when the instruction exactly matches
+ the replacement.
+ (emit_frame_save): Delete frame_ptr param. Rename total_size to
+ frame_reg_to_sp.
+ (rs6000_emit_prologue): Add sp_off. Update rs6000_frame_related
+ and emit_frame_save calls. Cope with possibly missing note.
+
+2012-04-24 Sriraman Tallam <tmsriram@google.com>
+
+ * config/i386/i386.c (build_processor_model_struct): New function.
+ (make_var_decl): New function.
+ (fold_builtin_cpu): New function.
+ (ix86_fold_builtin): New function.
+ (make_cpu_type_builtin): New function.
+ (ix86_init_platform_type_builtins): New function.
+ (ix86_expand_builtin): Expand new builtins by folding them.
+ (ix86_init_builtins): Make new builtins to detect CPU type.
+ (TARGET_FOLD_BUILTIN): New macro.
+ (IX86_BUILTIN_CPU_INIT): New enum value.
+ (IX86_BUILTIN_CPU_IS): New enum value.
+ (IX86_BUILTIN_CPU_SUPPORTS): New enum value.
+ * config/i386/i386-builtin-types.def: New function type.
+ * doc/extend.texi: Document builtins.
+
+2012-04-24 Olivier Hainque <hainque@adacore.com>
+
+ * common.opt (gdwarf-): Initialize dwarf_version to -1 instead of 2.
+ * toplev.c (process_options): Default to dwarf_version 2.
+ * config/vxworks.c (vxworks_override_options): Default to strict-dwarf
+ and dwarf_version 2.
+
+2012-04-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * tree-pretty-print.h (default_tree_printer): Do not declare.
+ * tree-diagnostic.c: Include tree-pretty-print.h, tree-pass.h and
+ intl.h.
+ (default_tree_diagnostic_starter): Make static.
+ (default_tree_printer): Move to here. Make static.
+ (tree_diagnostics_defaults): New.
+ * tree-diagnostic.h (default_tree_diagnostic_starter): Do not declare.
+ * tree.c (free_lang_data): Use tree_diagnostics_defaults.
+ * toplev.c: Do not include tree-pass.h.
+ (default_tree_printer): Move from here.
+ (general_init): Use tree_diagnostics_defaults.
+
+2012-04-24 Chao-ying Fu <fu@mips.com>
+
+ * config.gcc (mips64*-*-linux*): Append mips/linux-common.h to tm_file.
+ (mips*-*-linux*): Append mips/linux-common.h to tm_file.
+ * config/mips/gnu-user.h
+ (SUBTARGET_CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC directly.
+ (GNU_USER_TARGET_LINK_SPEC): New define.
+ (LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
+ (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC directly.
+ (GNU_USER_TARGET_MATHFILE_SPEC): New define.
+ (ENDFILE_SPEC): Use GNU_USER_TARGET_MATHFILE_SPEC and
+ GNU_USER_TARGET_ENDFILE_SPEC.
+ * config/mips/gnu-user64.h (LIB_SPEC): Remove.
+ (GNU_USER_TARGET_LINK_SPEC): New define.
+ (LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
+ * config/mips/linux-common.h: New file.
+
+2012-04-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR target/47197
+ * config/rs6000/rs6000-c.c (fully_fold_convert): New function.
+ (altivec_build_resolved_builtin): Call fully_fold_convert.
+
+2012-04-24 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/53065
+ * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define.
+
+2012-04-24 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53085
+ * tree-ssa-pre.c (eliminate): Do not eliminate volatile redundant
+ stores.
+
+2012-04-24 Richard Guenther <rguenther@suse.de>
+
+ * tree-if-conv.c (main_tree_if_conversion): Move bb under
+ ENABLE_CHECKING.
+
+2012-04-24 Jim Meyering <meyering@redhat.com>
+
+ * genattrtab.c (gen_attr): Avoid NULL-deref after diagnosing
+ absence of an define_enum call.
+
+2012-04-24 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): If
+ the epilogue loop is not re-used as unvectorized version
+ record the its maximum number of iterations.
+
+2012-04-24 Andrew Pinski <apinski@cavium.com>
+
+ * tree-ssa-forwprop.c (simplify_bitwise_binary):
+ Don't directly use def1/def2.
+
+2012-04-24 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53098
+ * tree-vect-loop.c (vect_analyze_loop_operations): Fixup
+ comparison sign.
+
+2012-04-24 Andrew Pinski <apinski@cavium.com>
+
+ PR tree-opt/33512
+ * tree-ssa-forwprop.c (defcodefor_name): New function.
+ (simplify_bitwise_binary): Use defcodefor_name instead of manually
+ Simplify "( X | Y) & X" to X and "( X & Y) | X" to X.
+ Simplify "(~X | Y) & X" to "X & Y" and
+ "(~X & Y) | X" to "X | Y".
+
+2012-04-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * recog.c (insn_invalid_p): Add IN_GROUP parameter and use
+ validate_change to add clobbers if IN_GROUP is nonzero.
+ (verify_changes): Call insn_invalid_p with IN_GROUP set to true.
+ * recog.h (insn_invalid_p): Add IN_GROUP parameter to function
+ prototype.
+ * gcse.c (process_insert_insn): Call insn_invalid_p with IN_GROUP
+ set to false.
+ * config/s390/s390.c (insn_invalid_p): Likewise.
+
+2012-04-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/53084
+ * varasm.c (compute_reloc_for_constant): Handle ADDR_EXPR of MEM_REF.
+ (output_addressed_constants): Likewise.
+
+ PR middle-end/52999
+ * varasm.c (get_section): Don't ICE for section conflicts with
+ built-in section kinds.
+
+2012-04-23 DJ Delorie <dj@redhat.com>
+
+ * config/s390/s390.h (LINK_SPEC): Remove, no longer needed.
+ (LIBSTDCXX): Change to CPP2.
+
+2012-04-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/52878
+ * opth-gen.awk: Check if MASK_ and TARGET_ macros are defined for
+ extra_masks.
+
+2012-04-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*add<mode>_2): Add r/r/0 alternative.
+ (*addsi_2_zext): Ditto.
+ (*add<mode>_3): Ditto.
+ (*addsi_3_zext): Ditto.
+ (*add<mode>_5): Ditto.
+
+2012-04-23 Andrew Pinski <apinski@cavium.com>
+
+ * tree-ssa-forwprop.c (simplify_bitwise_binary): Simplify (A & B) OP0
+ (C & B) to (A OP0) & B.
+
+2012-04-23 Martin Jambor <mjambor@suse.cz>
+
+ * expr.c (expand_expr_real_1): Remove setting parent's alias set for
+ temporaries created for a bitfield (reverting revision 122014).
+
+2012-04-23 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-loop-manip.c (slpeel_add_loop_guard): Gimplify
+ the condition using is_gimple_condexpr and avoid the not necessary
+ boolification.
+ (set_prologue_iterations): Likewise.
+ (vect_loop_versioning): Likewise.
+
+2012-04-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53070
+ * tree-if-conv.c (combine_blocks): Free predicates in all blocks.
+ (main_tree_if_conversion): Verify we succeeded in that.
+
+2012-04-23 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_cgraph_replace_node): Do not call
+ mark_reahcable_node.
+ * cgraph.c (cgraph_remove_node): Do not clear reachable.
+ (cgraph_mark_reachable_node): Remove.
+ (cgraph_mark_force_output_node): Do not set reachable.
+ (dump_cgraph_node): Do not dump reachable.
+ (cgraph_create_virtual_clone): Do not set reachable.
+ * cgraph.h (cgraph_node): Remove reachable flag.
+ (varpool_node): Remove reachable flag.
+ (cgraph_mark_if_needed): Remove.
+ (cgraph_mark_reachable_node): Remove.
+ * tree-emutls.c (ipa_lower_emutls): Do not check reachable.
+ * cgraphunit.c (cgraph_finalize_function): Do not mark node as
+ reachable.
+ (cgraph_add_new_function): Likewise.
+ (cgraph_mark_if_needed): Remove.
+ (cgraph_analyze_function): Do not set target as reachable.
+ (process_function_and_variable_attributes): Do not care about
+ dllexport.
+ (cgraph_analyze_functions): Do not set reachable flags.
+ (cgraph_mark_functions_to_output): Do not check reachability.
+ (cgraph_copy_node_for_versioning): Do not set reachable flag.
+ (dbxout_expand_expr): Update.
+ * c-decl.c (merge_decls): Do not track changed externs.
+ * ipa.c: Include pointer-set.h
+ (enqueue_cgraph_node): Use reachable pointer set.
+ (process_references): Likewise.
+ (cgraph_remove_unreachable_nodes): Likewise.
+ (whole_program_function_and_variable_visibility): Do not recompute
+ reachable.
+ * trans-mem.c (ipa_tm_execute): Do not check reachable flag.
+
+2012-04-23 Georg-Johann Lay <avr@gjlay.de>
+
+ * doc/extend.texi (AVR Named Address Spaces): Fix typos.
+
+2012-04-23 Richard Guenther <rguenther@suse.de>
+
+ PR c/53060
+ * c-typeck.c (build_binary_op): Fix typo.
+
+2012-04-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimizations/52891
+ * tree-vect-patterns.c (adjust_bool_pattern): Use
+ build_nonstandard_type even if rhs1 has unsigned INTEGER_TYPE,
+ but with non-standard precision.
+
+2012-04-22 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Bail out at NULL
+ tree refs.
+
+2012-04-22 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_varpool_replace_node): Do not merge needed flags.
+ * cgraphbuild.c (record_reference, record_type_list, mark_address,
+ mark_load, mark_store): Do not mark varpool nodes as needed.
+ * cgraph.c (cgraph_new_nodes): Remove.
+ (cgraph_create_function_alias): Do not mark nodes as reachable.
+ (cgraph_add_thunk): Likewise.
+ (cgraph_mark_reachable_node): Do not manage the queue.
+ * cgraph.h (cgraph_node): Remove next_needed.
+ (varpool_nodes_queue): Remove next_needed and prev_needed.
+ (x_cgraph_nodes_queue, x_cgraph_nodes_queue, cgraph_new_nodes): Remove.
+ (cgraph_new_nodes): Declare.
+ (x_varpool_nodes_queue, varpool_nodes_queue); Remove.
+ (varpool_analyze_pending_decls): Remove.
+ (varpool_analyze_node): New.
+ (varpool_mark_needed_node): Remove.
+ (varpool_first_variable, varpool_next_variable): New inlines.
+ (varpool_first_static_initializer, varpool_next_static_initializer):
+ Update.
+ (FOR_EACH_STATIC_VARIABLE): Remove unused walker.
+ (varpool_first_defined_variable): New inline.
+ (varpool_next_defined_variable): New inline
+ (FOR_EACH_VARIABLE): Reimplement.
+ (FOR_EACH_DEFINED_VARIABLE): Reimplement.
+ * toplev.c (wrapup_global_declaration_2): Use analyzed instead of
+ needed flag.
+ * cgraphunit.c (cgraph_new_nodes): Declare here.
+ (enqueue_node): New function.
+ (cgraph_process_new_functions): update for new
+ node set; when constructing cgraph enqueue node for processing.
+ (cgraph_add_new_function): Use new node set.
+ (process_function_and_variable_attributes): Do not set varpool needed
+ flags.
+ (referred_to_p): New function.
+ (varpool_finalize_decl): Move here from varpool.c; enqueue needed node
+ when varpool is in construction.
+ (cgraph_analyze_functions): Rewrite.
+ (cgraph_expand_all_functions): Update.
+ (cgraph_output_in_order): Do not analyze pending decls; do not set
+ needed flags.
+ (cgraph_optimize): Do not analyze pending decls.
+ * lto-cgraph.c (input_varpool_node): Clear analyzed flag for objects
+ in other partition; do not mark node as needed.
+ * dwarf2out.c (reference_to_unused): Use analyzed flag.
+ (premark_types_used_by_global_vars_helper): Likewise.
+ * ipa.c (process_references): Do not call varpool_mark_needed_node.
+ (cgraph_remove_unreachable_nodes): Do not rely on varpool and
+ cgrpah queues.
+ (function_and_variable_visibility): Do not mark node as needed.
+ (whole_program_function_and_variable_visibility): Likewise.
+ * Makefile.in (gt-varpool.h): No longer needed.
+ * passes.c (execute_one_pass, execute_ipa_pass_list): Update.
+ (ipa_write_summaries): Do not use needed flag.
+ * varpool.c: Do not include gt-varpool.h
+ (x_varpool_nodes_queue, x_varpool_last_needed_node,
+ x_varpool_last_needed_node, x_varpool_first_unanalyzed_node,
+ x_varpool_first_unanalyzed_node, varpool_assembled_nodes_queue):
+ Remove.
+ (varpool_remove_node): Do not update the lists.
+ (dump_varpool_node): Do not dump needed flag.
+ (varpool_enqueue_needed_node): Remove.
+ (varpool_mark_needed_node): Remove.
+ (varpool_reset_queue): Remove.
+ (varpool_finalize_decl): Move to cgraphunit.c
+ (varpool_analyze_node): New functions based on former
+ varpool_analyze_pending_decls.
+ (varpool_analyze_pending_decls): Remove.
+ (varpool_assemble_decl): Do not update the lists.
+ (enqueue_node): New function.
+ (varpool_remove_unreferenced_decls): Rewrite.
+ (varpool_empty_needed_queue): Remove.
+ (add_new_static_var): Do not mark node as needed.
+ (varpool_create_variable_alias): Handle expansion state
+ creation.
+ * except.c (output_ttype): Do not mark node as needed.
+ * varasm.c (mark_decl_referenced): Do not use mark_needed_node.
+ * tree-profile.c (init_ic_make_global_vars, init_ic_make_global_vars):
+ Likewise.
+ * tree-switch-conversion.c (build_one_array): Likewise.
+
+2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/44774
+ * doc/invoke.texi (pedantic): Rename to Wpedantic.
+ * common.opt (Wpedantic): New.
+ (pedantic): Alias Wpedantic.
+ * diagnostic.c (warning_at): Likewise.
+ * c-decl.c (diagnose_mismatched_decls): Likewise.
+ (build_array_declarator): Likewise.
+ (mark_forward_parm_decls):
+ (check_bitfield_type_and_width): Likewise.
+ (grokdeclarator): Likewise.
+ (grokfield): Likewise.
+ (finish_struct): Likewise.
+ (build_enumerator): Likewise.
+ (store_parm_decls_oldstyle): Likewise.
+ (declspecs_add_qual): Likewise.
+ (declspecs_add_type): Likewise.
+ (finish_declspecs): Likewise.
+ * c-typeck.c (composite_type): Likewise.
+ (comp_target_types): Likewise.
+ (build_array_ref): Likewise.
+ (pointer_diff): Likewise.
+ (build_unary_op): Likewise.
+ (build_conditional_expr): Likewise.
+ (build_c_cast): Likewise.
+ (convert_for_assignment): Likewise.
+ (maybe_warn_string_init): Likewise.
+ (digest_init): Likewise.
+ (pop_init_level): Likewise.
+ (set_init_index): Likewise.
+ (c_finish_goto_label): Likewise.
+ (c_finish_return): Likewise.
+ (do_case): Likewise.
+ (build_binary_op): Likewise.
+ * c-parser.c (static): Likewise.
+ (c_parser_external_declaration): Likewise.
+ (c_parser_declaration_or_fndef): Likewise.
+ (c_parser_static_assert_declaration_no_se): Likewise.
+ (c_parser_enum_specifier): Likewise.
+ (c_parser_struct_or_union_specifier): Likewise.
+ (c_parser_struct_declaration): Likewise.
+ (c_parser_alignas_specifier): Likewise.
+ (c_parser_braced_init): Likewise.
+ (c_parser_initelt): Likewise.
+ (c_parser_compound_statement_nostart): Likewise.
+ (c_parser_conditional_expression): Likewise.
+ (c_parser_alignof_expression): Likewise.
+ (c_parser_postfix_expression): Likewise.
+ (c_parser_postfix_expression_after_paren_): Likewise.
+ (c_parser_objc_class_instance_variables): Likewise.
+ (c_parser_objc_method_definition): Likewise.
+ (c_parser_objc_methodprotolist): Likewise.
+
+2012-04-22 Ian Lance Taylor <iant@google.com>
+
+ * godump.c (go_output_typedef): Dump size of structs.
+
+2012-04-22 Razya Ladelsky <razya@il.ibm.com>
+
+ Correcting transform_to_exit_first_loop + fix to PR46886
+ * tree-parloops.c (transform_to_exit_first_loop): Remove
+ setting of number of iterations according to the loop pattern.
+ Duplicate from entry to exit->src instead of loop->latch.
+ (pallelize_loops): Remove the condition preventing do-while loops.
+ * tree-cfg.c (bool bb_in_region_p): New.
+ (gimple_duplicate_sese_tail): Adjust duplication of the the subloops.
+ Adjust redirection of the duplicated iteration.
+
+2012-04-21 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR bootstrap/53021
+ * rtl.def (ADDRESS): Use "i" rather than "w".
+ * rtl.h (find_base_term): Delete.
+ (may_be_sp_based_p): Declare.
+ * rtl.c (rtx_code_size): Remove ADDRESS special case.
+ * alias.h (UNIQUE_BASE_VALUE_SP, UNIQUE_BASE_VALUE_ARGP)
+ (UNIQUE_BASE_VALUE_FP, UNIQUE_BASE_VALUE_HFP): Move to...
+ * alias.c: ...here.
+ (find_base_term): Make static.
+ (may_be_sp_based_p): New function.
+ * dse.c (record_store): Use it.
+ * store-motion.c (store_killed_in_insn): Likewise.
+
+2012-04-21 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * fold-const.c (fold_checksum_tree): Fix VECTOR_CST case.
+
+2012-04-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 35441
+ * c-typeck.c (inform_declaration): New.
+ (build_function_call_vec): Do not pretty-print
+ expressions when caret is enabled.
+ (convert_arguments): Use inform_declaration.
+
+2012-04-20 Jim Meyering <meyering@redhat.com>
+
+ * genmodes.c (make_complex_modes): Don't truncate a mode name of
+ length 7 or more when prepending a "C". Suggested by Richard Guenther.
+
+2012-04-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR rtl-optimization/44214
+ * fold-const.c (exact_inverse): New function.
+ (fold_binary_loc): Fold vector and complex division by constant into
+ multiply by recripocal with flag_reciprocal_math; fold vector division
+ by constant into multiply by reciprocal with exact inverse.
+
+2012-04-20 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_cgraph_replace_node): Merge needed instead of
+ force flags.
+ * cgraph.c (cgraph_add_thunk): Use mark_reachable_node.
+ (cgraph_remove_node): Update.
+ (cgraph_mark_needed_node): Remove.
+ (cgraph_mark_force_output_node): New.
+ (dump_cgraph_node): Do not dump needed flag.
+ (cgraph_node_cannot_be_local_p_1): Update.
+ (cgraph_can_remove_if_no_direct_calls_and_refs): Update.
+ * cgraph.h (symtab_node_base): Add force_output flag.
+ (cgraph_node): Remove needed flag.
+ (varpool_node): Remove force_output flag.
+ (cgraph_mark_needed_node): Remove.
+ (cgraph_mark_force_output_node): New.
+ (cgraph_only_called_directly_or_aliased_p,
+ varpool_can_remove_if_no_refs, varpool_all_refs_explicit_p): Update.
+ * ipa-cp.c (ipcp_generate_summary): Remove out of date assert.
+ * cgraphunit.c (cgraph_decide_is_function_needed): rewrite.
+ (cgraph_add_new_function): Update.
+ (cgraph_mark_if_needed): Update.
+ (verify_cgraph_node): Update.
+ (cgraph_analyze_function): Alias target is reachable.
+ (process_function_and_variable_attributes): Update: externally_visible
+ flag makes function reachable.
+ (cgraph_analyze_functions): Update dumping.
+ * lto-cgraph.c (lto_output_node, lto_output_varpool_node,
+ input_overwrite_node, input_varpool_node): Update streaming.
+ * lto-streamer-out.c (produce_symtab): Use force_output.
+ * ipa.c (process_references): Weakrefs must be processed.
+ (cgraph_remove_unreachable_nodes): Likewise; update for new
+ force_output flag.
+ (varpool_externally_visible_p): Weakrefs are externally visible
+ even if they are not.
+ (function_and_variable_visibility): Update; when processing alias
+ pair force the targets to be output.
+ (whole_program_function_and_variable_visility): Use
+ mark_reachable_node.
+ * trans-mem.c (ipa_tm_mark_needed_node): Remove
+ (ipa_tm_mark_force_output_node): New function.
+ (ipa_tm_create_version_alias, ipa_tm_create_version): Update.
+ * gimple-fold.c (can_refer_decl_in_current_unit_p): Be lax about
+ aliases.
+ * varasm.c (mark_decl_referenced): Update.
+ (find_decl_and_mark_needed): Remove.
+ (find_decl): New function.
+ (weak_finish, finish_aliases_1, assemble_alias): Update; do not mark
+ alias targets as needed.
+ (dump_tm_clone_pairs): Update.
+ * tree-inline.c (copy_bb): Update check.
+ * symtab.c (dump_symtab_base): Dump force_output.
+ * tree-ssa-structalias.c (ipa_pta_execute): Use force_output.
+ * passes.c (execute_todo): Fix dumping.
+ * varpool.c (decide_is_variable_needed, varpool_finalize_decl): Update.
+ (varpool_analyze_pending_decls): Alias target is reachable.
+ (varpool_create_variable_alias): Finalize weakrefs.
+
+2012-04-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/53021
+ * alias.h (UNIQUE_BASE_VALUE_SP, UNIQUE_BASE_VALUE_ARGP,
+ UNIQUE_BASE_VALUE_FP, UNIQUE_BASE_VALUE_HFP): Define.
+ * alias.c (init_alias_targets): Use UNIQUE_BASE_VALUE_*
+ macros instead of constants.
+ * dse.c (record_store): Check for SP ADDRESS by comparing
+ XWINT to UNIQUE_BASE_VALUE_SP instead of expecting
+ XEXP to be stack_pointer_rtx.
+
+2012-04-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-copy.c (propagate_tree_value_into_stmt): Use
+ update_call_from_tree when propagating into a call.
+
+2012-04-20 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_savres_rtx): Formatting.
+ (rs6000_emit_prologue, rs6000_emit_epilogue): Likewise. Rename
+ sp_offset to frame_off. Move world save code earlier.
+
+2012-04-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53050
+ * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine):
+ Do only one transform on COND_EXPRs at the same time.
+
+2012-04-19 Jan Hubicka <jh@suse.cz>
+
+ * symtab.c (dump_symtab_base): Revert accidental checkin.
+
+2012-04-20 Alan Modra <amodra@gmail.com>
+
+ PR target/53040
+ * config/rs6000/rs6000.c (rs6000_savres_strategy): When using
+ static chain, set REST_INLINE_FPRS too.
+
+2012-04-20 Thomas Schwinge <thomas@codesourcery.com>
+
+ * tree-dump.c (dequeue_and_dump) <BIT_FIELD_REF>: Dump the three child
+ nodes.
+
+2012-04-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-loop.c (vect_analyze_loop_operations): Do not vectorize
+ loops that can never run more often than the vectorization factor.
+
+2012-04-19 Jan Hubicka <jh@suse.cz>
+
+ * symtab.c (dump_symtab_base): Fix dumping of asm lists.
+
+2012-04-19 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/sync.md (fetchop_name): Change ior attribute to "or".
+
+2012-04-19 Jim Meyering <meyering@redhat.com>
+
+ * genmodes.c (make_complex_modes): Avoid unnecessary use of strncpy.
+ We verified above that the string(including trailing NUL) fits in buf,
+ so just use memcpy.
+
+2012-04-19 Richard Guenther <rguenther@suse.de>
+
+ * symtab.c (dump_symtab_base): Use TREE_STRING_POINTER
+ for dumping DECL_SECTION_NAME.
+
+2012-04-19 Michael Matz <matz@suse.de>
+
+ PR middle-end/52977
+ * tree.h (VECTOR_CST_NELTS): Use part number of types again.
+ (struct tree_vector): Adjust GTY length.
+ * tree.c (make_vector_stat): Don't set VECTOR_CST_NELTS.
+
+ * gengtype.c (struct walk_type_data): Add in_record_p and loopcounter
+ members.
+ (walk_type, <TYPE_POINTER, TYPE_ARRAY>): Handle case where our
+ caller emitted the length calulation already.
+ (walk_type, <TYPE_UNION, TYPE_STRUCT>): Emit length calculations
+ before handling any of the fields for structs.
+
+2012-04-19 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53031
+ * tree-vrp.c (adjust_range_with_scev): Revert back to
+ using max_loop_iterations.
+
+2012-04-19 Michael Matz <matz@suse.de>
+
+ * diagnostic.c (emit_diagnostic): Move va_end call after user
+ of the va_list.
+ (warning, warning_at, pedwarn, permerror): Ditto.
+
+2012-04-19 Richard Guenther <rguenther@suse.de>
+
+ * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
+ array access.
+
+2012-04-19 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/53033
+ * config/avr/avr.c (avr_out_load_psi): Fix assembler template for
+ the case *(X+const).
+
+2012-04-19 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * config/arm/sync.md (sync_optab): Change ior attribute to "or".
+
+2012-04-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/52283/37985
+ * stmt.c (warn_if_unused_value): Skip NOP_EXPR.
+ * convert.c (convert_to_integer): Don't set TREE_NO_WARNING.
+
+2012-04-19 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/44688
+ * loop-iv.c (determine_max_iter): Only return max_iter.
+ (iv_number_of_iterations): Also use the recorded loop bound
+ on the maximum number of iterations.
+ * loop-unroll.c (decide_unroll_runtime_iterations): Use
+ max_iter to avoid unrolling loops that do not roll.
+ (decide_unroll_stupid): Likewise.
+
+2012-04-18 Steven Bosscher <steven@gcc.gnu.org>
+
+ * targhooks.c (default_case_values_threshold): Fix code style nit.
+
+ * stmt.c (add_case_node, expand_case): Move logic to remove/reduce
+ case range and type folding from here...
+ * gimplify.c (gimplify_switch_expr): ... to here. Expect NULL_TREE
+ type, as documented in tree.def.
+
+2012-04-18 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (verify_symtab, verify_symtab_node, verify_symtab_base):
+ Declare.
+ * cgraphunit.c (verify_cgraph_node): Verify symtab base; do not verify
+ cgraph hash and same comdat groups.
+ (cgraph_optimize): Verify symbol table.
+ * ipa.c (cgraph_remove_unreachable_nodes): Verify symbol table.
+ (dissolve_same_comdat_group_list): Work on symtab nodes.
+ (function_and_variable_visibility): Dissolve variable same comdat group
+ lists, too.
+ * symtab.c: Include timevar.h
+ (verify_symtab_base, verify_symtab_node, verify_symtab): New functions.
+
+2012-04-18 Steven Bosscher <steven@gcc.gnu.org>
+
+ * tree-switch-conversion.c (info): Remove global pass info.
+ (check_range, check_process_case, check_final_bb, create_temp_arrays,
+ free_temp_arrays, gather_default_values, build_constructors,
+ array_value_type, build_one_array, build_arrays, gen_def_assigns,
+ fix_phi_nodes, gen_inbound_check): Pass info around from ...
+ (process_switch): ... here. Unify message format. Return a const
+ char pointer to the failure reason message.
+ (do_switchconv): Unify message format. Update process_switch usage.
+
+ * tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands.
+ * tree-cfg.c (edge_to_cases): Fix documentation.
+
+2012-04-18 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/sync.md (fetchop_name): Change ior attribute to "or".
+
+2012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/52976
+ * tree-ssa-reassoc.c (add_to_ops_vec_max_rank): Delete.
+ (possibly_move_powi): New function.
+ (rewrite_expr_tree): Call possibly_move_powi.
+ (rewrite_expr_tree_parallel): Likewise.
+ (attempt_builtin_powi): Change call of add_to_ops_vec_max_rank to
+ call add_to_ops_vec instead.
+
+2012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/52976
+ * tree-ssa-reassoc.c (stmt_is_power_of_op): New function.
+ (decrement_power): Likewise.
+ (propagate_op_to_single_use): Likewise.
+ (zero_one_operation): Handle __builtin_pow* calls in linearized
+ expression trees; factor logic into propagate_op_to_single_use.
+ (undistribute_ops_list): Allow operands with repeat counts > 1.
+
+2012-04-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/44688
+ * cfgloop.h (record_niter_bound): Declare.
+ * tree-ssa-loop-niter.c (record_niter_bound): Export.
+ Update the estimation with the upper bound here...
+ (estimate_numbers_of_iterations_loop): ... instead of here.
+ Do not forcefully reset a recorded upper bound.
+ * tree-vect-loop-manip.c (vect_do_peeling_for_alignment):
+ Record the maximum number of loop iterations of the prologue loop.
+
+2012-04-18 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_cgraph_replace_node): Update.
+ * cgraphbuild.c (record_reference, record_type_list,
+ record_eh_tables, mark_address, mark_load, mark_store): Update.
+ * cgraph.c (cgraph_same_body_alias, dump_cgraph_node,
+ cgraph_create_virtual_clone, cgraph_for_node_thunks_and_aliases):
+ Update.
+ * cgraph.h (symtab_node_def, symtab_node, const_symtab_node): Remove.
+ (cgraph_alias_aliased_node, varpool_alias_aliased_node): Update.
+ * reload.c: Fix typo in comment.
+ * rtlanal.c: Likewise.
+ * tree-emultls.c (gen_emutls_addr): Update.
+ * ipa-reference.c (analyze_function): Update.
+ * cgraphunit.c (cgraph_analyze_function,
+ cgraph_process_same_body_aliases, assemble_thunks_and_aliases):
+ Update.
+ * ipa-ref.c (ipa_record_reference): Reorg to avoid reference types.
+ (ipa_remove_reference): Likewise.
+ (ipa_remove_all_refering): Rename to ...
+ (ipa_remove_all_referring): ... this one; update.
+ (ipa_dump_references): Update.
+ (ipa_dump_referring): Update.
+ (ipa_clone_references): Update.
+ (ipa_clone_refering): Rename to ...
+ (ipa_clone_referring): ... this one; update.
+ (ipa_ref_cannot_lead_to_return): Update.
+ (ipa_ref_has_aliases_p): Update.
+ * ipa-ref.h (symtab_node_def, symtab_node, const_symtab_node): New
+ forward typedefs.
+ (ipa_ref_type): Remove.
+ (ipa_ref_ptr_u): Remove.
+ (ipa_ref): Remove referencing, refered, refered_index, refering_type
+ and refered_type; add referring, referred and referred_index.
+ (ipa_ref_list): Rename refering to referring.
+ (ipa_record_reference, ipa_remove_all_referring, ipa_dump_referring,
+ ipa_clone_references, ipa_clone_referring): Update prototypes.
+ * lto-cgraph.c (referenced_from_other_partition_p): Update.
+ (lto_output_ref): Update.
+ (add_references): Update.
+ (input_varpool_node): Update.
+ (input_refs): Update.
+ * ipa-ref-inline.h (ipa_ref_node): Update.
+ (ipa_ref_varpool_node): Update.
+ (ipa_ref_referring_node): Update.
+ (ipa_ref_referring_varpool_node): Update.
+ (ipa_ref_referring_ref_list): Update.
+ (ipa_ref_referred_ref_list): Update.
+ (ipa_ref_list_first_referring): Update.
+ (ipa_empty_ref_list): Update.
+ (ipa_ref_list_refering_iterate): Rename to ...
+ (ipa_ref_list_referring_iterate): ... this one.
+ * cse.c: Update comment.
+ * ipa-utils.c (ipa_reverse_postorder): Update.
+ * tree-ssa-alias.c: Update.
+ * ipa-inline.c (reset_edge_caches): Update.
+ (update_caller_keys): Update.
+ * ipa-inline.h: Update comments.
+ * jump.c: Update comment.
+ * alias.c: Likewise.
+ * ipa.c (process_references): Update.
+ (cgraph_remove_unreachable_nodes): Likewise.
+ (ipa_discover_readonly_nonaddressable_var): Likewise.
+ (cgraph_address_taken_from_non_vtable_p): Likewise.
+ * trans-mem.c (ipa_tm_execute): Update.
+ * simplify-rtx.c: Fix comment.
+ * rtl.c: Fix comment.
+ * symtab.c (symtab_unregister_node): Update.
+ * varpool.c (dump_varpool_node): Update.
+ (varpool_analyze_pending_decls): Update.
+ (assemble_aliases): Update.
+ (varpool_for_node_and_aliases): Update.
+
+2012-04-18 Richard Guenther <rguenther@suse.de>
+
+ * cfgloop.h (estimate_numbers_of_iterations_loop): Remove
+ use_undefined_p parameter.
+ * tree-flow.h (estimate_numbers_of_iterations): Likewise.
+ * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
+ Likewise.
+ (estimate_numbers_of_iterations): Likewise.
+ (estimated_loop_iterations): Adjust.
+ (max_loop_iterations): Likewise.
+ (scev_probably_wraps_p): Likewise.
+ * tree-ssa-loop.c (tree_ssa_loop_bounds): Likewise.
+ * tree-vrp.c (adjust_range_with_scev): Use max_stmt_executions,
+ not max_loop_iterations.
+ (execute_vrp): Remove explicit number of iterations estimation.
+
+2012-04-18 Enkovich Ilya <ilya.enkovich@intel.com>
+
+ * config/i386/linux-common.h: New.
+
+ * config.gcc: Add i386/linux-common.h before
+ all i386/linux.h and i386/linux64.h usages.
+
+ * config/i386/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): New.
+ (LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
+ * config/i386/gnu-user64.h: Likewise.
+
+ * config/i386/gnu-user.common.h (GNU_USER_TARGET_CC1_SPEC): New.
+ (CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC.
+ (GNU_USER_TARGET_MATHFILE_SPEC): New.
+ (ENDFILE_SPEC): Use GNU_USER_TARGET_MATHFILE_SPEC.
+
+2012-04-18 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_node_name): Remove.
+ (dump_cgraph_node): Use dump_symtab_base; reformat.
+ * cgraph.h (symtab_node_asm_name, symtab_node_name, dump_symtab,
+ debug_symtab, dump_symtab_node, debug_symtab_node, dump_symtab_base):
+ Declare.
+ (cgraph_node_name, varpool_node_name): Remove.
+ (cgraph_node_asm_name, varpool_node_asm_name,
+ cgraph_node_name, varpool_node_name): New.
+ * tree-pass.h (TODO_dump_cgraph): Rename to ...
+ (TODO_dump_symtab): ... this one.
+ * ipa-cp (pass_ipa_cp): Update.
+ * ia-reference.c (generate_summary, read_write_all_from_decl,
+ propagate, ipa_reference_read_optimization_summary): Update.
+ * cgraphunit.c (cgraph_analyze_functions): Update.
+ (cgraph_optimize): Update.
+ * ipa-ref.c (ipa_dump_references): Update.
+ (ipa_dump_refering): Update.
+ * ipa-inline.c (pass_ipa_inline): Update.
+ * matrix-reorg.c (pass_ipa_matrix_reorg): Update.
+ * ipa.c (pass_ipa_function_visibility,
+ pass_ipa_whole_program_visibility): Update.
+ * tree-sra.c (pass_early_ipa_sra): Update.
+ * symtab.c: Include langhooks.h
+ (symtab_node_asm_name): New.
+ (symtab_node_name): New.
+ (symtab_type_names): New static var.
+ (dump_symtab_base): New.
+ (dump_symtab_node, dump_symtab): New.
+ (debug_symtab_node, debug_symtab): New.
+ * tree-ssa-structalias.c: Dump symbol table.
+ * pases.c (execute_todo): Handle TODO_dump_symtab instead
+ of TODO_dump_cgraph.
+ * varpoo.c (varpool_node_name): Remove.
+ (dump_varpool_node): Use dump_symtab_base; reformat.
+
+2012-04-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * doc/invoke.texi (Language Independent Options): @item should be
+ before @opindex.
+
+2012-04-17 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR bootstrap/53021
+ * rtl.c (rtx_code_size): Handle ADDRESS.
+
+2012-04-17 Tom de Vries <tom@codesourcery.com>
+
+ * tree-iterator.c (append_to_statement_list_1): Handle case that *list_p
+ is not a STMT_LIST.
+
+2012-04-17 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53020
+ * config/i386/sync.md (atomic_<code><mode>): Rename to
+ atomic_<logic><mode>.
+
+2012-04-17 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * rtl.def (ADDRESS): Turn operand into a HOST_WIDE_INT.
+ * alias.c (reg_base_value): Expand and update comment.
+ (arg_base_value): New variable.
+ (unique_id): Move up file.
+ (unique_base_value, unique_base_value_p, known_base_value_p): New.
+ (find_base_value): Use arg_base_value and known_base_value_p.
+ (record_set): Document REG_NOALIAS handling. Use unique_base_value.
+ (find_base_term): Use known_base_value_p.
+ (base_alias_check): Use unique_base_value_p.
+ (init_alias_target): Initialize arg_base_value. Use unique_base_value.
+ (init_alias_analysis): Use 1 as the first id for REG_NOALIAS bases.
+
+2012-04-17 Pat Haugen <pthaugen@us.ibm.com>
+
+ * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Remove DImode.
+
+2012-04-17 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/18437
+ * tree-vectorizer.h (_stmt_vec_info.stride_load_p): New member.
+ (STMT_VINFO_STRIDE_LOAD_P): New accessor.
+ (vect_check_strided_load): Declare.
+ * tree-vect-data-refs.c (vect_check_strided_load): New function.
+ (vect_analyze_data_refs): Use it to accept strided loads.
+ * tree-vect-stmts.c (vectorizable_load): Ditto and handle them.
+
+2012-04-17 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53011
+ * tree-eh.c (cleanup_empty_eh_merge_phis): Properly discard
+ loops when redirecting an entry or latch edge.
+
+2012-04-17 Bernd Schmidt <bernds@codesourcery.com>
+
+ * sel-sched.c (sel_global_init): Revert previous change.
+
+2012-04-17 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (array_at_struct_end_p): Move declaration ...
+ * tree.h (array_at_struct_end_p): ... here.
+ * tree-ssa-loop-niter.c (array_at_struct_end_p): Move ...
+ * expr.c (array_at_struct_end_p): ... here. Rewrite.
+
+2012-04-17 Steven Bosscher <steven@gcc.gnu.org>
+
+ * stmt.c (cost_table_, use_cost_table, cost_table_initialize,
+ COST_TABLE): Remove.
+ (estimate_case_costs): Remove.
+ (expand_case): Do not call estimate_case_costs
+ to set use_cost_table.
+ (balance_case_nodes): Do not use use_cost_table.
+
+2012-04-16 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_hash, assembler_name_hash): Remove.
+ (hash_node, eq_node): Remove.
+ (cgraph_create_node): Do not handle hashtable.
+ (cgraph_get_node): Remove.
+ (cgraph_insert_node_to_hashtable): Remove.
+ (hash_node_by_assembler_name): Remove.
+ (eq_assembler_name): Remove.
+ (cgraph_node_for_asm): Rewrite.
+ (cgraph_find_replacement_node): Break out from ...
+ (cgraph_remove_node): ... here; do not maintain hashtables.
+ (change_decl_assembler_name): Remove.
+ (cgraph_clone_node): Do not maintain hashtables.
+ * cgraph.h (const_symtab_node): New typedef.
+ (cgraph_insert_node_to_hashtable): Remove.
+ (symtab_get_node, symtab_node_for_asm,
+ symtab_insert_node_to_hashtable): Declare.
+ (cgraph_find_replacement_node): Declare.
+ (cgraph_get_node, varpool_get_node): Turn into inlines.
+ (cgraph, varpool): Work sanely on NULL pointers.
+ (FOR_EACH_SYMBOL): New walker.
+ * ipa-inline-transform.c (save_inline_function_body): Use
+ symtab_insert_node_to_hashtable.
+ * symtab.c: Include ggc.h and diagnostics.h
+ (symtab_hash, assembler_name_hash): New static vars;
+ (hash_node, eq_node, hash_node_by_assembler_name,
+ eq_assembler_name, insert_to_assembler_name_hash,
+ unlink_from_assembler_name_hash): New.
+ (symtab_register_node): Update hashtables.
+ (symtab_insert_node_to_hashtable): New.
+ (symtab_unregister_node): Update hashtables.
+ (symtab_get_node): New.
+ (symtab_node_for_asm): New.
+ (change_decl_assembler_name): New.
+ * Makefile.in (symtab.o): Needs GTY.
+ * varpool.c (varpool_hash): Remove.
+ (hash_varpool_node, eq_varpool_node, varpool_get_node): Remove.
+ (varpool_node): Rewrite using varpool_get_node.
+ (varpool_remove_node): DO not maintain hashtables.
+ (varpool_node_for_asm): Rewrite.
+
+2012-04-16 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi: Copy-edit to put verbs in the present tense
+ when describing the current behavior of GCC.
+
+2012-04-16 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * genemit.c (gen_exp): Remove ADDRESS handling.
+ * genoutput.c (scan_operands): Likewise.
+ * genpeep.c (match_rtx): Likewise.
+ * genrecog.c (add_to_sequence): Likewise.
+
+2012-04-16 David Edelsohn <dje.gcc@gmail.com>
+
+ * doc/install.texi (Specific, *-ibm-aix*): Update assembler bug status.
+
+2012-04-16 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (build_ref_for_model): Create COMPONENT_REFs only for
+ bit-fields.
+
+2012-04-16 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ PR target/51819
+ * config/arm/arm.c (arm_print_operand): Fix invalid alignment
+ hints for 'A' operand types.
+
+2012-04-16 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (symtab_node_base): Add next and previous pointers.
+ (cgraph_node): Remove next and preivous pointers.
+ (varpool_node): Likewise; remove next/previous GTY marker;
+ it is not type safe.
+ (symtab_node_def): Update GTY marker
+ (x_cgraph_nodes, cgraph_nodes): Remove.
+ (symtab_nodes): New function.
+ (cgraph_order): Rename to ...
+ (symtab_order): ... this one.
+ (symtab_register_node, symtab_unregister_node, symtab_remove_node):
+ Declare.
+ (x_varpool_nodes, varpool_nodes): Remove.
+ (FOR_EACH_STATIC_VARIABLE): Update.
+ (symtab_function_p, symtab_variable_p): New function.
+ (FOR_EACH_VARIABLE): Update.
+ (varpool_first_variable, varpool_next_variable): New functions.
+ (FOR_EACH_VARIABLE): Update.
+ (cgraph_first_defined_function): Update.
+ (cgraph_next_defined_function, cgraph_next_defined_function): Update.
+ (FOR_EACH_DEFINED_FUNCTION, FOR_EACH_FUNCTION): Update.
+ (cgraph_first_function, cgraph_next_function): New.
+ (FOR_EACH_FUNCTION): Update.
+ (cgraph_first_function_with_gimple_body,
+ cgraph_next_function_with_gimple_body): Update.
+ * symtab.c: New file.
+ * cgraph.c: Update copyright dates.
+ (x_cgraph_nodes, cgraph_order): Remove.
+ (NEXT_FREE_NODE): Update.
+ (SET_NEXT_FREE_NODE): New.
+ (cgraph_create_node_1): Remove common code.
+ (cgraph_create_node): Remove common code; call symtab_register_node.
+ (cgraph_remove_node): Remove common code; call symtab_unregister-node.
+ (cgraph_add_asm_node): Update.
+ (cgraph_clone_node): Register new node.
+ * cgraphunit.c (process_function_and_variable_attributes): Update.
+ (cgraph_analyze_functions): Update.
+ (cgraph_analyze_functions): Update.
+ (cgraph_output_in_order): Update.
+ * lto-cgraph.c (input_node, input_varpool_node, input_cgraph_1):
+ Update.
+ * ipa-inline.c (recursive_inlining): Update.
+ * lto-streamer-in.c (lto_input_toplevel_asms): Update.
+ * ipa.c (cgraph_remove_unreachable_nodes): Update.
+ * Makefile.in: Add symtab.o
+ * varpool.c (x_varpool_nodes): Remove
+ (varpool_node): Remove common code; call symtab_register_node.
+ (varpool_remove_node): Remove common code; call symtab_unregister_node.
+
+2012-04-16 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52977
+ * tree.h (VECTOR_CST_NELTS): Adjust.
+ (struct tree_vector): Add explicit length field.
+ (make_vector_stat): Declare.
+ (make_vector): Define.
+ * tree.c (make_vector_stat): New function.
+ (build_vector_stat): Use it.
+ * tree-streamer-in.c (streamer_alloc_tree): Likewise.
+
+2012-04-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/52976
+ * tree-ssa-reassoc.c (add_to_ops_vec_max_rank): New function.
+ (undistribute_ops_list): Ops with repeat counts aren't eligible for
+ undistribution.
+ (attempt_builtin_powi): Call add_to_ops_vec_max_rank.
+
+2012-04-16 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (FOR_EACH_VARIABLE, FOR_EACH_VARIABLE, FOR_EACH_FUNCTION):
+ New macros.
+ * lto-symtab.c (lto_symtab_merge_cgraph_nodes): Use FOR_EACH
+ walkers to walk cgraph and varpool.
+ * cgraph.c (cgraph_node_for_asm): Likewise.
+ (dump_cgraph): Likewise.
+ * value-prof.c (init_node_map): Likewise.
+ * tree.c (free_lang_data_in_cgraph): Likewise.
+ * tree-emutls.c: (ipa_lower_emutls): Likewise.
+ * ipa-reference.c (generate_summary, propagate): Likewise.
+ * cgraphunit.c (verify_cgraph, cgraph_process_same_body_aliases,
+ cgraph_mark_functions_to_output, cgraph_output_in_order,
+ output_weakrefs, cgraph_materialize_all_clones,
+ cgraph_optimize): Likewise.
+ * lto-cgraph.c (merge_profile_summaries): Likewise.
+ (input_cgraph): Likewise.
+ * ipa-pure-const.c (generate_summary): Likewise.
+ (propagate): Likwise.
+ * ipa-utils.c (ipa_reduced_postorder): Likewise.
+ (ipa_free_postorder_info): Likewise.
+ (ipa_reverse_postorder): Likewise.
+ * ipa-inline.c (ipa_inline): Likewise.
+ * matrix-reorg.c (find_matrices_decl): Likewise.
+ (matrix_reorg): Likewise.
+ * tree-vectorizer.c (increase_alignment): Likewise.
+ * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
+ (function_and_variable_visibility): Likewise.
+ (whole_program_function_and_variable_visibility): Likewise.
+ (ipa_cdtor_merge): Likewise.
+ * trans-mem.c (ipa_tm_execute): Likewise.
+ * ipa-inline-analysis.c (dump_inline_summaries): Likewise.
+ * ipa-prop.c (ipa_print_all_jump_functions): Likewise.
+ (ipa_print_all_params): Likewise.
+ (ipa_update_after_lto_read): Likewise.
+ * tree-profie.c (tree_profiling): Likewise.
+ * tree-ssa-structalias.c (ipa_pta_execute): Likewise.
+ * passes.c (dump_passes): Likewise.
+ (do_per_function): Likewise.
+ (ipa_write_summaries): Likewise.
+ * varpool.c (dump_varpool): Likewise.
+ (varpool_node_for_asm): Likewise.
+ (varpool_assemble_pending_decls): Likewise.
+
+2012-04-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52975
+ * tree-if-conv.c (predicate_bbs): Do not simplify inverted
+ condition but always mark it with TRUTH_NOT_EXPR.
+
+2012-04-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52975
+ * tree-ssa-forwprop.c (combine_cond_exprs): New function.
+ (ssa_forward_propagate_and_combine): Call it for COND_EXPRs
+ and VEC_COND_EXPRs. Also combine into VEC_COND_EXPRs condition.
+ * fold-const.c (operand_equal_p): Handle TARGET_MEM_REF.
+
+2012-04-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (ssse3_plusminus): New code iterator.
+ (avx2_ph<plusminus_mnemonic>wv16hi3): Macroize insn from
+ avx2_ph{add,adds,sub,subs}wv16hi3 using ssse3_plusminus code iterator.
+ (ssse3_ph<plusminus_mnemonic>wv8hi3): Macroize insn from
+ ssse3_ph{add,adds,sub,subs}wv8hi3 using ssse3_plusminus code iterator.
+ (ssse3_ph<plusminus_mnemonic>wv4hi3): Macroize insn from
+ ssse3_ph{add,adds,sub,subs}wv4hi3 using ssse3_plusminus code iterator.
+
+ (avx2_ph<plusminus_mnemonic>dv8si3): Macroize insn from
+ avx2_ph{add,adds,sub,subs}dv8si3 using plusminus code iterator.
+ (ssse3_ph<plusminus_mnemonic>dv4si3): Macroize insn from
+ ssse3_ph{add,adds,sub,subs}dv4si3 using plusminus code iterator.
+ (ssse3_ph<plusminus_mnemonic>dv2si3): Macroize insn from
+ ssse3_ph{add,adds,sub,subs}dv2si3 using plusminus code iterator.
+
+ (xop_plus): New code iterator.
+ (macs): New code attribute.
+ (macds): Ditto.
+ (xop_p<macs><ssemodesuffix><ssemodesuffix>): Macroize insn from
+ xop_pmacs{,s}{ww,dd} using xop_plus code iterator and VI24_128 mode
+ iterator.
+ (xop_p<macs>dql): Macroize insn from xop_pmacs{,s}dql using
+ xop_plus code iterator.
+ (xop_p<macs>dqh): Macroize insn from xop_pmacs{,s}dqh using
+ xop_plus code iterator.
+ (xop_p<macs>wd): Macroize insn from xop_pmacs{,s}wd using
+ xop_plus code iterator.
+ (xop_p<madcs>wd): Macroize insn from xop_pmadcs{,s}wd using
+ xop_plus code iterator.
+
+ (xop_phadd<u>bw): Macroize insn from xop_phadd{,u}bw usign
+ any_extend code iterator.
+ (xop_phadd<u>bd): Macroize insn from xop_phadd{,u}bd usign
+ any_extend code iterator.
+ (xop_phadd<u>bq): Macroize insn from xop_phadd{,u}bq usign
+ any_extend code iterator.
+ (xop_phadd<u>wd): Macroize insn from xop_phadd{,u}wd usign
+ any_extend code iterator.
+ (xop_phadd<u>wq): Macroize insn from xop_phadd{,u}wq usign
+ any_extend code iterator.
+ (xop_phadd<u>dq): Macroize insn from xop_phadd{,u}dq usign
+ any_extend code iterator.
+
+2012-04-14 Tom de Vries <tom@codesourcery.com>
+
+ * cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by
+ call to delete_insn. Remove code to reorder BASIC_BLOCK note and
+ DELETED_LABEL note, and move it to ...
+ * cfgrtl.c (delete_insn): ... here. Change return type to void.
+ (delete_insn_and_edges): Likewise.
+ (delete_insn_chain): Handle new return type of delete_insn. Delete
+ chain backwards rather than forwards.
+ * rtl.h (delete_insn, delete_insn_and_edges): Change return type to
+ void.
+ * cfglayout.c (fixup_reorder_chain): Delete unused label.
+
+2012-04-14 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h: Update copyrights;
+ (symtab_node): Turn to union typedef.
+ (symtab_node_base): New structure.
+ (symtab_type): Add SYMTAB_SYMBOL tag.
+ (cgraph_node): Annotate some pinters with nested_ptr.
+ (varpool_node): Likewise.
+ (cgraph_local_info): Remove lto_file_data
+ and externally_visible.
+ (cgraph_node): Remove decl; same_comdat_group list;
+ aux; ref_list; order; address_taken; reachable_from_other_parittion,
+ in_other_partition; resolution.
+ (varpool_node): Remove decl; same_comdat_group;
+ ref_list; lto_file_data; aux; order; resolution; externally_visible;
+ used_from_other_partition; in_other_partition.
+ (symtab_node_def): New union.
+ (cgraph, varpool): Update.
+ (varpool_first_static_initializer, varpool_next_static_initializer,
+ cgraph_only_called_directly_or_aliased_p,
+ varpool_can_remove_if_no_refs, varpool_can_remove_if_no_refs,
+ varpool_all_refs_explicit_p, cgraph_alias_aliased_node,
+ varpool_alias_aliased_node, cgraph_edge_recursive_p): Update
+ field references.
+ * cgraph.c: Likewise.
+ (cgraph_hash, assembler_name_hash): Turn into symtab_node.
+ * cgraphbuild.c: Likewise.
+ * lto-symtab.c: Likewise.
+ * c-gimplify.c: Likewise.
+ * value-prof.c: Likewise.
+ * tree.c: Likewise.
+ * ipa-cp.c: Likewise.
+ * tree-emutls.c: Likewise.
+ * ipa-inline-transform.c: Likwise.
+ * ipa-reference.c: Likewise.
+ * cgraphunit.c: Likewise.
+ * ipa-ref.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * ipa-ref-inline.h: Likewise.
+ * ipa-pure-const.c: Likewise.
+ * lto-streamer-out.c: Likewise.
+ * ipa-utils.c: Likewise.
+ * ipa-inline.c: Likewise.
+ * matrix-reorg.c: Likewise.
+ * tree-eh.c: Likewise.
+ * tree-vectorizer.c: Likewise.
+ * ipa-split.c: Likewise.
+ * ipa.c: Likewise.
+ * trans-mem.c: Likewise.
+ * ipa-inline-analysis.c: Likewise.
+ * gimplify.c: Likewise.
+ * cfgexpand.c: Likewise.
+ * tree-sra.c: Likewise.
+ * ipa-prop.c: Likewise.
+ * varasm.c: Likewise.
+ * tree-nested.c: Likewise.
+ * tree-inline.c: Likewise.
+ * tree-profile.c: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * passes.c: Likewise.
+ * varpool.c: Likewise.
+
+2012-04-14 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-tail-merge.c (stmt_local_def): New function, factored out of
+ same_succ_hash, with local_def inlined. Use SINGLE_SSA_DEF_OPERAND.
+ Use FOR_EACH_IMM_USE_FAST instead of FOR_EACH_IMM_USE_STMT. Remove use
+ of find_edge.
+ (gsi_advance_fw_nondebug_nonlocal): New function.
+ (local_def): Removed function.
+ (same_succ_hash): Use stmt_local_def.
+ (same_succ_equal): Use gsi_advance_fw_nondebug_nonlocal.
+ (gsi_advance_bw_nondebug_nonlocal): Use stmt_local_def.
+
+2012-04-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386-c.c (ix86_target_macros): Define _ILP32
+ and __ILP32__ for x32.
+
+2012-04-13 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/52939
+ * gimple-fold.c (gimple_get_virt_method_for_binfo): Bail out if
+ fold_ctor_reference returns a zero constant.
+
+2012-04-13 Enkovich Ilya <ilya.enkovich@intel.com>
+
+ * config.gcc: Add i386/gnu-user-common.h before all
+ i386/gnu-user.h and i386/gnu-user64.h usages.
+
+ * config/i386/gnu-user-common.h: New.
+
+ * config/i386/gnu-user.h (CPP_SPEC): Moved to gnu-user-common.h.
+ (CC1_SPEC): Likewise.
+ (ENDFILE_SPEC): Likewise.
+ (DEFAULT_PCC_STRUCT_RETURN): Likewise.
+ (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Likewise.
+ (TARGET_OS_CPP_BUILTINS): Likewise.
+ (LIBGCC2_HAS_TF_MODE): Likewise.
+ (LIBGCC2_TF_CEXT): Likewise.
+ (TF_SIZE): Likewise.
+ (TARGET_ASM_FILE_END): Likewise.
+ (STACK_CHECK_MOVING_SP): Likewise.
+ (STACK_CHECK_STATIC_BUILTIN): Likewise.
+ * config/i386/gnu-user64.h: Likewise.
+
+2012-04-13 Martin Jambor <mjambor@suse.cz>
+
+ * expr.c (expand_expr_real_1): Pass type, not the expression, to
+ set_mem_attributes for a memory temporary. Do not call the function
+ for the memory temporary created for a bitfield.
+
+2012-04-13 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/48866
+ * df.h (enum debug_temp_where): New.
+ (dead_debug_init, dead_debug_finish) Declare.
+ (dead_debug_add, dead_debug_insert_temp): Declare.
+ (struct dead_debug_use, struct dead_debug): Moved from...
+ * df-problems.c: ... here.
+ (df_set_unused_notes_for_mw): Bind debug uses of unused regno
+ to a debug temp.
+ (df_create_unused_note): Likewise.
+ (df_set_dead_notes_for_mw): Move comment where it belongs.
+ (dead_debug_init): Export.
+ (dead_debug_reset_uses): New, factored out of...
+ (dead_debug_finish): ...this. Export.
+ (dead_debug_reset): Remove.
+ (dead_debug_add): Export.
+ (dead_debug_insert_before): Rename to...
+ (dead_debug_insert_temp): ... this. Add where argument. Export.
+ Locate stored value for BEFORE_WITH_VALUE. Avoid repeat inserts.
+ Return insertion count.
+ (df_note_bb_compute): Adjust.
+ * dce.c (word_dce_process_block): Adjust dead debug uses.
+ (dce_process_block): Likewise.
+
+2012-04-13 Alexandre Oliva <aoliva@redhat.com>
+
+ * df-problems.c (df_note_bb_compute): Do not take note of
+ debug uses for whose REGs we won't emit DEAD or UNUSED notes.
+
+2012-04-13 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/51570
+ * var-tracking.c (expand_depth): New type.
+ (onepart_aux, expand_loc_callback_data): Change depth type to it.
+ (loc_exp_dep_alloc): Adjust initializer.
+ (update_depth): Use new type. Add entryvals.
+ (vt_expand_var_loc_chain): Take note of expansions with
+ ENTRY_VALUEs, but don't accept them right away. Run an optional
+ second pass accepting the minimum ENTRY_VALUE count found in the
+ first pass.
+ (vt_expand_loc_callback, INIT_ELCD): Adjust.
+
+2012-04-13 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add
+ parameters vuse and vuse_escaped.
+ (find_duplicate): Init vuse1, vuse2 and vuse_escaped. Pass to
+ gsi_advance_bw_nondebug_nonlocal. Return if vuse_escaped and
+ vuse1 != vuse2.
+
+2012-04-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52969
+ * tree-if-conv.c (predicate_mem_writes): Properly gimplify
+ the condition for the COND_EXPR and handle predicate negation
+ by swapping the COND_EXPR arms.
+
+2012-04-13 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.c (rl78_devirt_pass): Remove use of
+ TODO_dump_func flag.
+
+2012-04-13 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/52203
+ PR rtl-optimization/52715
+
+ Revert the 2012-03-07 fix for PR 52203.
+ * sel-sched.c (reset_sched_cycles_in_current_ebb): Check that
+ the insn does not modify DFA right before issuing, adjust
+ issue_rate accordingly.
+
+2012-04-13 Richard Guenther <rguenther@suse.de>
+
+ PR c/52549
+ * c-typeck.c (pointer_diff): Remove bogus assert.
+
+2012-04-13 Richard Guenther <rguenther@suse.de>
+
+ PR c/52862
+ * convert.c (convert_to_pointer): Remove special-casing of zero.
+
+2012-04-13 Joey Ye <joey.ye@arm.com>
+
+ * config/arm/constraints.md (Pe): New constraint.
+ * config/arm/arm.md: New split for imm 256-510.
+
+2012-04-13 Terry Guo <terry.guo@arm.com>
+
+ * config/arm/arm-cores.def: Added core cortex-m0plus.
+ * config/arm/arm-tune.md: Regenerated.
+ * config/arm/arm-tables.opt: Regenerated.
+ * doc/invoke.texi: Added entry for cpu ARM cortex-m0plus.
+
+2012-04-13 Alan Modra <amodra@gmail.com>
+
+ PR target/52828
+ * config/rs6000/rs6000.c (rs6000_emit_stack_tie): Rewrite with
+ tie regs on destination of sets. Delete forward declaration.
+ (rs6000_emit_stack_reset): Update rs6000_emit_stack_tie calls.
+ (rs6000_emit_prologue): Likewise.
+ (rs6000_emit_epilogue): Likewise. Use in place of gen_frame_tie
+ and gen_stack_tie.
+ (is_mem_ref): Use tie_operand to recognise stack ties.
+ * config/rs6000/predicates.md (tie_operand): New.
+ * config/rs6000/rs6000.md (restore_stack_block): Generate new
+ stack tie rtl.
+ (restore_stack_nonlocal): Likewise.
+ (stack_tie): Update.
+ (frame_tie): Delete.
+
+2012-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * tree-ssa-reassoc.c (attempt_builtin_powi_stats): Change %ld to
+ HOST_WIDE_INT_PRINT_DEC in format strings.
+
+2012-04-12 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/52932
+ * config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second
+ argument type to __m256i. Update call to __builtin_ia32_permvarsf256.
+ * config/i386/sse.md (UNSPEC_VPERMVAR): New.
+ (UNSPEC_VPERMSI, UNSPEC_VPERMSF): Remove.
+ (avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2.
+ (avx2_permvar<mode>): Macroize insn from avx2_permvarv8sf and
+ avx2_permvarv8si using VI4F_256 mode iterator.
+ * config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>:
+ Update builtin type to V8SF_FTYPE_V8SF_V8SI.
+ (ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and
+ gen_avx2_permvarv8sf.
+ (expand_vec_perm_pshufb): Ditto.
+
+2012-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/52775
+ * config/rs6000/rs6000.h (TARGET_FCFID): Add TARGET_PPC_GPOPT to
+ the list of options to enable the FCFID instruction.
+ (TARGET_EXTRA_BUILTINS): Adjust comment.
+
+2012-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/18589
+ * tree-ssa-reassoc.c (reassociate_stats): Add two fields.
+ (operand_entry): Add count field.
+ (add_repeat_to_ops_vec): New function.
+ (completely_remove_stmt): Likewise.
+ (remove_def_if_absorbed_call): Likewise.
+ (remove_visited_stmt_chain): Remove feeding builtin pow/powi calls.
+ (acceptable_pow_call): New function.
+ (linearize_expr_tree): Look for builtin pow/powi calls and add operand
+ entries with repeat counts when found.
+ (repeat_factor_d): New struct and associated typedefs.
+ (repeat_factor_vec): New static vector variable.
+ (compare_repeat_factors): New function.
+ (get_reassoc_pow_ssa_name): Likewise.
+ (attempt_builtin_powi): Likewise.
+ (reassociate_bb): Call attempt_builtin_powi.
+ (fini_reassoc): Two new calls to statistics_counter_event.
+
+2012-04-12 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in (cgraphunit.o): Add $(EXCEPT_H) dependency.
+ * cgraph.h (tree_rest_of_compilation): Remove.
+ * cgraph.c (cgraph_add_new_function): Move ...
+ * cgraphunit.c (cgraph_add_new_function): ... here.
+ (tree_rest_of_compilation): Make static.
+ (cgraph_expand_function): Do not set cgraph_function_flags_ready.
+ * tree-optimize.c (gate_all_optimizations, pass_all_optimizations,
+ gate_all_early_local_passes, execute_all_early_local_passes,
+ pass_early_local_passes, gate_all_early_optimizations,
+ pass_all_early_optimizations): Move ...
+ * passes.c (gate_all_optimizations, pass_all_optimizations,
+ gate_all_early_local_passes, execute_all_early_local_passes,
+ pass_early_local_passes, gate_all_early_optimizations,
+ pass_all_early_optimizations): ... here.
+ * tree-optimize.c (execute_free_datastructures): Remove.
+ * tree-flow.h (execute_free_datastructures): Remove.
+ * tree-optimize.c (execute_init_datastructures,
+ pass_init_datastructures): Move ...
+ * tree-ssa.c (execute_init_datastructures,
+ pass_init_datastructures): ... here.
+ * cfgexpand.c (gimple_expand_cfg): Inline-expand call to
+ execute_free_datastructures.
+
+2012-04-12 Bernd Schmidt <bernds@codesourcery.com>
+
+ * dbgcnt.def (ira_move): New counter.
+ * ira-int.h (ira_create_new_reg): Declare function.
+ (first_moveable_pseudo, last_moveable_pseudo): Declare variables.
+ * ira-emit.c (ira_create_new_reg): Renamed from craete_new_reg and
+ no longer static. All callers changed.
+ * ira.c: Include "dbgcnt.h".
+ (rtx_moveable_p, insn_dominated_by_p, find_moveable_pseudos,
+ move_unallocated_pseudos): New static functions.
+ (first_moveable_pseudo, last_moveable_pseudo): New global variables.
+ (pseudo_replaced_reg, pseudo_move_insn): New static variables.
+ (ira): Call find_moveable_pseudos and move_unallocated_pseudos.
+ * ira-costs.c (find_costs_and_classes): Assign a memory cost of zero
+ to the pseudos generated in find_moveable_pseudos.
+ * Makefile.in (ira.o): Add $(DBGCNT_H).
+
+2012-04-12 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52943
+ * tree-chrec.h (chrec_is_positive): Remove.
+ * tree-scalar-evolution.c (chrec_is_positive): Move ...
+ * tree-data-ref.c (chrec_is_positive): ... here. Make static.
+ Return false for a constant zero instead of negative.
+ (analyze_siv_subscript_cst_affine): Handle zero difference
+ in the initial condition explicitely.
+
+2012-04-12 Richard Guenther <rguenther@suse.de>
+
+ * tree-parloops.c (parallelize_loops): Also consult the upper
+ bound for the number of iterations.
+ * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
+ (loop_prefetch_arrays): Likewise.
+
+2012-04-12 Richard Guenther <rguenther@suse.de>
+
+ * cfgloop.h (estimated_loop_iterations_int): Ditch
+ 'conservative' parameter.
+ (max_stmt_executions_int): Likewise.
+ (estimated_loop_iterations): Likewise.
+ (max_stmt_executions): Likewise.
+ (max_loop_iterations): Declare.
+ (max_loop_iterations_int): Likewise.
+ (estimated_stmt_executions): Likewise.
+ (estimated_stmt_executions_int): Likewise.
+ * tree-ssa-loop-niter.c (estimated_loop_iterations):
+ Split parts to ...
+ (max_loop_iterations): ... this.
+ (estimated_loop_iterations_int): Split parts to ...
+ (max_loop_iterations_int): ... this.
+ (max_stmt_executions_int): Split parts to ...
+ (estimated_stmt_executions_int): ... this.
+ (max_stmt_executions): Split parts to ...
+ (estimated_stmt_executions): ... this.
+ * graphite-sese-to-poly.c (build_loop_iteration_domains): Adjust.
+ * predict.c (predict_loops): Likewise.
+ * tree-data-ref.c (max_stmt_executions_tree): Likewise.
+ (analyze_siv_subscript_cst_affine): Likewise.
+ (compute_overlap_steps_for_affine_1_2): Likewise.
+ (analyze_subscript_affine_affine): Likewise.
+ (init_omega_for_ddr_1): Likewise.
+ * tree-parloops.c (parallelize_loops): Likewise.
+ * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
+ (may_eliminate_iv): Likewise.
+ * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
+ (loop_prefetch_arrays): Likewise.
+ * tree-vrp.c (adjust_range_with_scev): Likewise.
+
+2012-04-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.h (RETURN_ADDR_RTX): Use NULL_RTX instead of 0.
+ * config/sh/sh.c (INSN_REGMODE_WEIGHT, CURR_REGMODE_PRESSURE):
+ Fix line width.
+ (dump_table): Use bool type for need_align and have_df variables.
+ (find_barrier, sfunc_uses_reg): Use NULL_RTX instead of 0.
+ (regs_used): Remove register modifier.
+ (barrier_align): Move variables slot, credit, jump_to_next
+ into if block above for loop. Use bool type for jump_to_next.
+ (sh_function_arg): Use NULL_RTX instead of 0.
+
+2012-04-11 Andreas Schwab <schwab@linux-m68k.org>
+
+ * config/m68k/m68k.md (rotrhi3+1): Name it rotrhi_lowpart.
+ (bswapsi2): New expander.
+
+2012-04-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/host-linux.c (TRY_EMPTY_VM_SPACE): Defined to
+ 0x60000000 if __x86_64 is defined and __LP64__ isn't defined.
+
+2012-04-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/52876
+ * emit-rtl.c (set_reg_attrs_from_value): Handle arbitrary value.
+ Don't call mark_reg_pointer for incompatible pointer sign extension.
+ * reginfo.c (reg_scan_mark_refs): Call set_reg_attrs_from_value
+ directly.
+
+2012-04-11 Bernd Schmidt <bernds@codesourcery.com>
+
+ * fold-const.c (fold_unary_loc): Use GET_MODE_PRECISION for
+ comparisons against TYPE_PRECISION.
+ * tree-ssa-forwprop.c (combine_conversions): Likewise.
+
+2012-04-11 Xinliang David Li <davidxl@google.com>
+
+ * tree-passes.h: Remove TODO_dump_func.
+ * tree-ssa-tail-merge.c (tail_merge_optimize): Remove TODO_dump_func.
+ * trans-mem.c: Remove TODO_dump_func.
+ * ira.c: Remove TODO_dump_func.
+
+2012-04-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_option_override_internal): Check
+ SUBTARGET_OVERRIDE_OPTIONS and SUBSUBTARGET_OVERRIDE_OPTIONS
+ after TARGET_64BIT is updated.
+
+2012-04-11 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.h: Remove old secondary reload code.
+
+2012-04-11 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.c (SCHED_REORDER): Merge macro into ...
+ (ready_reorder): ... this function.
+
+2012-04-11 Bernd Schmidt <bernds@codesourcery.com>
+
+ * sel-sched.c (sel_global_init): Swap order of sched_rgn_init and
+ sched_init calls.
+
+ * haifa-sched.c (prune_ready_list): Rework handling of SCHED_GROUP_P
+ insns so that no other insn is queued for a time before them.
+
+ * config/c6x/c6x.md (load_got_gotoff): Set op_pattern attribute to
+ unknown.
+
+2012-04-11 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52621
+ * tree-chrec.c (evolution_function_is_invariant_rec_p): Properly
+ consider loop nesting.
+ (evolution_function_is_univariate_p): Properly check the remainder
+ for chrecs.
+
+2012-04-11 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52918
+ * except.c (sjlj_emit_dispatch_table): Properly update loop structure.
+
+2012-04-11 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.c (rl78_expand_prologue): Set stack use
+ information, if requested.
+
+ * config/rx/rx.c (rx_expand_prologue): Likewise.
+
+2012-04-11 Peter Bergner <bergner@vnet.ibm.com>
+ Michael Matz <matz@suse.de>
+
+ PR target/16458
+ * rtlanal.c (unsigned_reg_p): New function.
+ Update copyright notice dates.
+ * rtl.h (unsigned_reg_p): Prototype it.
+ Update copyright notice dates.
+ * config/rs6000/rs6000.c (rs6000_generate_compare): Use it.
+ Update comment.
+ * expr.c (expand_expr_real_1): Set register attributes.
+ * stmt.c (expand_case): Likewise.
+
+2012-04-11 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/50751
+ * config/sh/sh-protos.h (sh_legitimate_index_p): Add new arguments
+ consider_sh2a and allow_zero.
+ * config/sh/sh.c (sh_legitimate_index_p): Likewise.
+ (disp_addr_displacement): New function.
+ (sh_address_cost): Use disp_addr_displacement function instead
+ of DISP_ADDR_OFFSET.
+ (sh_legitimate_address_p): Adapt to changed
+ sh_legitimate_index_p declaration.
+ (sh_find_mov_disp_adjust): Remove HImode check.
+ (sh_secondary_reload): Add HImode case. Use satisfies_constraint_Sdd,
+ disp_addr_displacement and max_mov_insn_displacement.
+ (max_mov_insn_displacement): Remove HImode check.
+ * config/sh/sh.h (CONST_OK_FOR_K04, CONST_OK_FOR_K12,
+ DISP_ADDR_P, DISP_ADDR_OFFSET): Remove.
+ * config/sh/constraints.md (K05, K13): New constraints.
+ (K12): Correct comment.
+ (Sdd): Do not use DISP_ADDR_P macro.
+ (Snd, Sbw): Use satisfies_constraint_Sdd.
+ * config/sh/sh.md (extendhisi2): Remove constraints from expander.
+ (*extendhisi2_compact, movhi_i): Remove.
+ (*extendhisi2_compact_reg, *extendhisi2_compact_mem_disp,
+ *extendhisi2_compact_mem_disp, *extendhisi2_compact_snd,
+ *movhi_reg_reg, *movhi_store_mem_disp05, *movhi_store_mem_disp13,
+ *movhi_load_mem_disp, *movhi_load_mem_disp, *movhi): New insns.
+ (*extendqisi2_compact_mem_disp, *extendqisi2_compact_mem_disp,
+ *movqi_store_mem_disp04, *movqi_store_mem_disp12, *movqi_load_mem_disp,
+ *movqi_load_mem_disp): Use sh_legitimate_index_p instead of
+ CONST_OK_FOR_Kxx.
+ Add new peepholes for HImode displacement addressing.
+
+2012-04-11 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.h (SIDI_OFF): Remove.
+ * config/sh/sh.md: Use gen_highpart and gen_lowpart to access
+ DImode subregs instead of gen_rtx_REG or simplifly_gen_subreg
+ or operand_subword.
+
+2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/52624
+ * doc/extend.texi (Other Builtins): Document __builtin_bswap16.
+ (PowerPC AltiVec/VSX Built-in Functions): Remove it.
+ * doc/md.texi (Standard Names): Add bswap.
+ * builtin-types.def (BT_UINT16): New primitive type.
+ (BT_FN_UINT16_UINT16): New function type.
+ * builtins.def (BUILT_IN_BSWAP16): New.
+ * builtins.c (expand_builtin_bswap): Add TARGET_MODE argument.
+ (expand_builtin) <BUILT_IN_BSWAP16>: New case. Pass TARGET_MODE to
+ expand_builtin_bswap.
+ (fold_builtin_bswap): Add BUILT_IN_BSWAP16 case.
+ (fold_builtin_1): Likewise.
+ (is_inexpensive_builtin): Likewise.
+ * optabs.c (expand_unop): Deal with bswap in HImode specially. Add
+ missing bits for bswap to libcall code.
+ * tree.c (build_common_tree_nodes): Build uint16_type_node.
+ * tree.h (enum tree_index): Add TI_UINT16_TYPE.
+ (uint16_type_node): New define.
+ * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_BSWAP_HI): Delete.
+ * config/rs6000/rs6000.c (rs6000_expand_builtin): Remove handling of
+ above builtin.
+ (rs6000_init_builtins): Likewise.
+ * config/rs6000/rs6000.md (bswaphi2): Add TARGET_POWERPC predicate.
+
+2012-04-11 Tristan Gingold <gingold@adacore.com>
+
+ * doc/extend.texi (Type Attributes): Move paragraph.
+
+2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 24985
+ * diagnostic.h (show_caret): Declare.
+ (caret_max_width): Declare.
+ (diagnostic_show_locus): Declare.
+ * diagnostic.c (diagnostic_initialize): Initialize to false.
+ (diagnostic_show_locus): New.
+ (diagnostic_report_diagnostic): Call it.
+ (getenv_columns): New.
+ (adjust_line): New.
+ (diagnostic_set_caret_max_width): New.
+ * input.c (read_line): New.
+ (location_get_source_line): New.
+ * input.h (location_get_source_line): Declare.
+ * toplev.c (general_init): Initialize show_caret from options.
+ * dwarf2out.c (gen_producer_string): Handle fdiagnostics-show-caret.
+ * opts.c (common_handle_option): Likewise.
+ * pretty-print.h (pp_get_prefix): New.
+ (pp_base_get_prefix): New.
+ * common.opt (fdiagnostics-show-caret): New option.
+ * doc/invoke.texi (fdiagnostics-show-caret): Document it.
+
+2012-04-11 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/52881
+ * ifcvt.c (find_if_case_2): Avoid speculating loop latches.
+
+2012-04-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52912
+ * tree-ssa-threadupdate.c (thread_block): Tell the cfg
+ manipulation code we are threading through a loop header
+ to an exit destination.
+
+2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * tree.h (warn_if_unused_value): Move declaration from here.
+ * stmt.c (warn_if_unused_value): Move definition from here.
+
+2012-04-10 Michael Matz <matz@suse.de>
+
+ * tree-vectorizer.h (_loop_vec_info.strided_stores): Rename to
+ grouped_stores.
+ (LOOP_VINFO_STRIDED_STORES): Rename to LOOP_VINFO_GROUPED_STORES.
+ (struce _bb_vec_info.strided_stores): Rename to grouped_stores.
+ (BB_VINFO_STRIDED_STORES): Rename to BB_VINFO_GROUPED_STORES.
+ (STMT_VINFO_STRIDED_ACCESS): Rename to STMT_VINFO_GROUPED_ACCESS.
+ (vect_strided_store_supported): Rename to vect_grouped_store_supported.
+ (vect_strided_load_supported): Rename to vect_grouped_load_supported.
+ (vect_transform_strided_load): Rename to vect_transform_grouped_load.
+ (vect_record_strided_load_vectors): Rename to
+ vect_record_grouped_load_vectors.
+ * tree-vect-data-refs.c (vect_update_misalignment_for_peel):
+ Rename use of above macros.
+ (vect_verify_datarefs_alignment): Ditto.
+ (vector_alignment_reachable_p): Ditto.
+ (vect_peeling_hash_get_lowest_cost): Ditto.
+ (vect_enhance_data_refs_alignment): Ditto.
+ (vect_analyze_group_access): Ditto and rename stride to groupsize.
+ (vect_analyze_data_ref_access): Rename "strided" to "grouped".
+ (vect_strided_store_supported): Rename to vect_grouped_store_supported.
+ (vect_strided_load_supported): Rename to vect_grouped_load_supported.
+ (vect_transform_strided_load): Rename to vect_transform_grouped_load.
+ (vect_record_strided_load_vectors): Rename to
+ vect_record_grouped_load_vectors.
+ * tree-vect-loop.c (new_loop_vec_info): Rename use of above macros.
+ (destroy_loop_vec_info): Ditto.
+ (vect_transform_loop): Ditto and rename strided_store to grouped_store.
+ * tree-vect-slp.c (vect_build_slp_tree): Rename use of above macros.
+ (vect_analyze_slp): Ditto.
+ (new_bb_vec_info): Ditto.
+ (destroy_bb_vec_info): Ditto.
+ (vect_schedule_slp_instance): Ditto and rename strided_store to
+ grouped_store.
+ * tree-vect-stmts.c (vect_cost_strided_group_size): Rename to
+ vect_cost_group_size.
+ (vect_model_store_cost): Rename use of above macros and call
+ to vect_cost_strided_group_size.
+ (vect_model_load_cost): Ditto.
+ (vectorizable_store): Ditto, rename strided_store to grouped_store
+ and calls to renamed tree-vectorizer.h functions.
+ (vectorizable_load): Ditto.
+ (vect_transform_stmt): Rename use of above macros and strided_store
+ to grouped_store.
+
+2012-04-10 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h: Remove misledaing comment on ipa-ref.h.
+ (symtab_type): New enum.
+ (symtab_node): New structure.
+ (cgraph_node, varpool_node): Add symbol base type.
+ (cgraph, varpool): New accestor functions.
+ * cgraph.c (cgraph_create_node_1): Set symbol type.
+ * varpool.c (varpool_node): Set symbol type.
+
+2012-04-10 Ulrich Weigand <ulrich.weigand@linaro.org>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+ * fwprop.c (propagate_rtx): Also set PR_CAN_APPEAR for subregs.
+
+2012-04-10 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52888
+ * gimple-low.c (gimple_check_call_args): Properly account for
+ compatible aggregate types.
+
+2012-04-10 Richard Guenther <rguenther@suse.de>
+
+ * toplev.h (tree_rest_of_compilation): Remove.
+ * tree-optimize.c (tree_rest_of_compilation): Likewise.
+ * cgraph.h (tree_rest_of_compilation): Declare.
+ * tree-optimize.c (tree_rest_of_compilation): Move ...
+ * cgraphunit.c (tree_rest_of_compilation): ... here.
+ * cgraph.c (cgraph_add_new_function): Adjust.
+ * Makefile.in (tree-optimize.o): Adjust.
+ (cgraphunit.o): Likewise.
+
+2012-04-10 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ PR tree-optimization/52870
+ * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Verify that
+ presumed pattern statement is within the same loop or basic block.
+
+2012-04-10 Tristan Gingold <gingold@adacore.com>
+
+ * gengtype.c (main): Make uintptr_t a known type.
+
+2012-04-10 Richard Guenther <rguenther@suse.de>
+
+ * tree-pass.h (tree_lowering_passes): Remove.
+ * tree-optimize.c (tree_lowering_passes): Remove.
+ * cgraph.c (cgraph_add_new_function): Inline relevant parts
+ of tree_lowering_passes, avoid redundant call of early local passes.
+ * cgraphunit.c (cgraph_lower_function): Fold into ...
+ (cgraph_analyze_function): ... its single caller. Inline
+ relevant parts of tree_lowering_passes.
+
+2012-04-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR other/52777
+ * config/pa/pa.opt: Remove SIO and GNU_LD.
+
+2012-04-09 Jan Hubicka <jh@suse.cz>
+
+ PR lto/52722
+ PR lto/51765
+ PR lto/52634
+ * lto-cgraph.c (compute_ltrans_boundary): When alias is in the
+ boundary, add its target too.
+ * lto.c (add_references_to_partition): Add also aliased nodes.
+ (add_cgraph_node_to_partition,
+ add_varpool_node_to_partition): Work on nodes, not functions/variables;
+ when adding alias, add also the aliased object.
+
+2012-04-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/52883
+ * config/i386/predicates.md (x86_64_zext_general_operand): Prevent
+ VOIDmode immediate operands.
+ * config/i386/constraints.md (Wz): New constraint.
+ * config/i386/i386.md (*zero_extendsidi2_rex64): Use Wz instead of Z.
+
+2012-04-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/52717
+ * config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on
+ the DECL generated for the special GOT helper.
+
+2012-04-09 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/constraints.md: Update list of constraints in
+ comment block.
+ (Sr0): Remove unused memory constraint.
+
+2012-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * tree-pretty-print.h: Update comment.
+
+2012-04-08 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md: Use braced string notation where applicable.
+ (*prefetch_i4, prefetch_m2a): Merge into ...
+ (*prefetch): ... this new insn.
+
+2012-04-07 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.h (high_life_started): Remove
+ * config/sh/predicates.md (general_movdst_operand): Use
+ 'reload_in_progress' instead of 'high_life_started'.
+ * config/sh/sh.md (divsi_inv_call, *divsi_inv_call_combine,
+ divsi_inv_fp): Likewise.
+
+2012-04-07 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh-protos.h (prepare_move_operands): Return void
+ instead of int.
+ * config/sh/sh.c (prepare_move_operands): Likewise.
+ * config/sh/sh.md: Remove return value checks of prepare_move_operands.
+
+2012-04-07 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh-protos.h (fp_int_operand, symbol_ref_operand,
+ general_movsrc_operand, general_movdst_operand, arith_reg_operand,
+ fp_arith_reg_operand, arith_operand, arith_reg_or_0_operand,
+ logical_operand, fpscr_operand, fpul_operand, expand_fp_branch,
+ commutative_float_operator, noncommutative_float_operator,
+ sh_handle_pragma): Remove.
+
+2012-04-06 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi: Clean up Texinfo markup throughout the file.
+ Use @option markup on command-line options. Use @samp markup on
+ literal keywords to options. Use @code markup on code fragments.
+ Use other markup in preference to quotation marks in the text.
+ Add markup to some passages without any.
+
+2012-04-06 Mike Stump <mikestump@comcast.net>
+
+ * gimple-fold.c (gimple_fold_stmt_to_constant_1): Avoid warning.
+
+2012-04-06 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.c (hi_const): Remove.
+ (find_barrier, sh_reorg): Use satisfies_constraint_I16 instead
+ of hi_const.
+
+2012-04-06 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh-protos.h (sh_expand_t_scc): Change return type from int
+ to bool.
+ * config/sh/sh.c (sh_expand_t_scc): Likewise.
+ * config/sh/sh.md (cstoresi4, cstoredi4): Remove GET_CODE checks before
+ calling sh_expand_t_scc.
+
+2012-04-06 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh-protos.h (fp_zero_operand, fp_one_operand,
+ nonpic_symbol_mentioned_p, expand_block_move, expand_ashiftrt,
+ sh_dynamicalize_shift_p, gen_shl_and, gen_shl_sext, system_reg_operand,
+ reg_unused_after, sh_can_redirect_branch, sh_need_epilogue, fldi_ok,
+ sh_hard_regno_rename_ok, sh_cfun_interrupt_handler_p,
+ sh_cfun_resbank_handler_p, sh_attr_renesas_p, sh_cfun_attr_renesas_p,
+ check_use_sfunc_addr, sh_contains_memref_p, sh_loads_bankedreg_p,
+ sh2a_is_function_vector_call): Use bool as return type.
+ (sh_pass_in_reg_p): Remove.
+ * config/sh/sh.c (broken_move, mova_p, noncall_uses_reg, high_pressure,
+ flow_dependent_p, sh2a_function_vector_p, expand_block_move,
+ expand_ashiftrt, sh_dynamicalize_shift_p, gen_shl_and, gen_shl_sext,
+ sh_need_epilogue, sh2a_is_function_vector_call, sh_attr_renesas_p,
+ sh_cfun_attr_renesas_p, sh_cfun_interrupt_handler_p,
+ sh_cfun_resbank_handler_p, system_reg_operand, fp_zero_operand,
+ fp_one_operand, fldi_ok, reg_unused_after, sh_can_redirect_branch,
+ sh_hard_regno_rename_ok, check_use_sfunc_addr, sh_contains_memref_p,
+ sh_loads_bankedreg_p): Use bool as return type.
+ (nonpic_symbol_mentioned_p): Use bool as return type. Remove
+ 'register' modifier.
+
+2012-04-06 Matt Turner <mattst88@gmail.com>
+
+ * doc/install.texi: Correct typo "-mno-lsc" -> "-mno-llsc".
+
+2012-04-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/ia64/ia64.c (ia64_load_pair_ok): Return 0 if the second member
+ of the destination isn't also a FP_REGS register.
+
+2012-04-05 Teresa Johnson <tejohnson@google.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_LCP_STALL.
+ * config/i386/i386.md (move immediate to memory peephole2):
+ Add cases for HImode move when LCP stall avoidance is needed.
+ * config/i386/i386.c (initial_ix86_tune_features): Initialize
+ X86_TUNE_LCP_STALL entry.
+
+2012-04-05 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/52882
+ * config/i386/i386.c (ix86_decompose_address): Allow VOIDmode
+ CONST_INT operands, zero-extended with AND.
+
+2012-04-05 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/50751
+ * config/sh/sh.c (sh_find_mov_disp_adjust): Take machine_mode as the
+ first argument instead of mode size. Move displacement calculations
+ to ...
+ (mov_insn_size, max_mov_insn_displacement, mov_insn_alignment_mask):
+ ... these new functions.
+ (disp_adjust): Remove max_mov_disp field.
+ (sh_legitimate_index_p): Use max_mov_insn_displacement and
+ mov_insn_alignment_mask.
+ (sh_address_cost): Use max_mov_insn_displacement.
+
+2012-04-05 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm.md (arch): Add neon_onlya8 and neon_nota8.
+ (arch_enabled): Handle new arch types.
+ (one_cmpldi2): Add NEON support.
+
+2012-04-05 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (walk_gimple_op): Compute val_only for the LHS
+ of an assigment in the canonical way, avoiding is_gimple_mem_rhs.
+ (is_gimple_mem_rhs, is_gimple_reg_rhs, is_gimple_stmt): Move ...
+ * gimplify.c (is_gimple_mem_rhs, is_gimple_reg_rhs, is_gimple_stmt):
+ ... here and make static.
+ * gimple.h (is_gimple_mem_rhs, is_gimple_reg_rhs, is_gimple_stmt):
+ Remove.
+
+2012-04-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-dse.c (dse_optimize_stmt): Remember the stmt
+ basic-block before removing it.
+
+2012-04-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssanames.c (release_dead_ssa_names): Compact the SSA
+ version namespace as we release the freelist.
+
+2012-04-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-nrv.c (tree_nrv): Release VDEFs.
+ * tree-sra.c (sra_modify_constructor_assign): Likewise.
+ (sra_modify_assign): Likewise.
+ * tree-vect-stmts.c (vect_remove_stores): Likewise.
+ * tree-vect-loop.c (vect_transform_loop): Likewise.
+ * tree-ssa-dom.c (optimize_stmt): Likewise.
+ * tree-vect-slp.c (vect_schedule_slp): Likewise.
+ * tree-ssa-math-opts.c (execute_cse_sincos): Likewise.
+
+2012-04-05 Richard Guenther <rguenther@suse.de>
+
+ * gimple-iterator.c (gsi_remove): Return whether EH edges need to be
+ cleanup.
+ * gimple.h (gsi_remove): Adjust.
+ * tree-ssa-operands.c (unlink_stmt_vdef): Optimize.
+ * tree-ssa-dom.c (optimize_stmt): Use gsi_remove result.
+ * tree-ssa-dse.c (dse_optimize_stmt): Likewise.
+ * tree-ssa-forwprop.c (remove_prop_source_from_use): Likewise.
+ * tree-ssa-math-opts.c (execute_optimize_widening_mul): Likewise.
+ * tree-ssa-pre.c (eliminate): Likewise.
+
+2012-04-04 Mike Stump <mikestump@comcast.net>
+
+ * doc/rtl.texi (const_double): Document as sign-extending.
+ * expmed.c (expand_mult): Ensure we don't use shift incorrectly.
+ * emit-rtl.c (immed_double_int_const): Refine to state the
+ value is signed.
+ * simplify-rtx.c (mode_signbit_p): Add a fixme for wider than
+ CONST_DOUBLE integers.
+ (simplify_const_unary_operation, UNSIGNED_FLOAT): Ensure no
+ negative values are converted. Fix conversions bigger than
+ HOST_BITS_PER_WIDE_INT.
+ (simplify_binary_operation_1): Ensure we don't use shift incorrectly.
+ (simplify_immed_subreg): Sign-extend CONST_DOUBLEs.
+ * explow.c (plus_constant_mode): Add.
+ (plus_constant): Implement with plus_constant_mode.
+ * rtl.h (plus_constant_mode): Add.
+
+2012-04-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52808
+ * tracer.c (tail_duplicate): Do not tail-duplicate loop header blocks.
+ * Makefile.in (tracer.o): Depend on $(CFGLOOP_H).
+
+2012-04-04 Tristan Gingold <gingold@adacore.com>
+
+ * expr.c (expand_expr_real_2): Handle larger sizetype in
+ POINTER_PLUS_EXPR.
+
+2012-04-03 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/t-sh (MULTILIB_MATCHES): Match m2a-single-only
+ to m2a-single instead of m2e.
+
+2012-04-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expr.c (get_bit_range): Add OFFSET parameter and adjust BITPOS.
+ Change type of BITOFFSET to signed. Make sure the lower bound of
+ the computed range is non-negative by adjusting OFFSET and BITPOS.
+ (expand_assignment): Adjust call to get_bit_range.
+
+2012-04-03 Sandeep Kumar Singh <Sandeep.Singh2@kpitcummins.com>
+
+ * h8300/h8300.c (h8300_current_function_monitor_function_p):
+ New function. Added to check monitor functions.
+ (h8300_option_override): Modified to generate error/warning
+ messages for invalid combinations of different command line
+ options.
+ * h8300/h8300.md: Generate 'rte' for monitor functions. Do not
+ save EXR on stack for monitor function in case of H8S target
+ when "-mno-exr" is passed.
+ * h8300/h8300-protos.h (h8300_current_function_monitor_function_p):
+ Add prototype.
+ * doc/invoke.texi: Document H8S options.
+
+2012-04-03 Tristan Gingold <gingold@adacore.com>
+
+ * configure.ac: Use GCC_AC_FUNC_MMAP_BLACKLIST instead
+ of gcc_AC_FUNC_MMAP_BLACKLIST.
+ * acinclude.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Remove.
+ * Makefile.in (aclocal_deps): Add mmap.m4.
+ * configure: Regenerate.
+ * aclocal.m4: Regenerate.
+
+2012-04-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52808
+ * tracer.c (tail_duplicate): Return whether we have duplicated
+ any block.
+ (tracer): If we have duplicated any block, cleanup the CFG.
+ * cfghooks.c (duplicate_block): If we duplicated a loop
+ header but not its loop, destroy the loop because it now has
+ multiple entries.
+ * tree-ssa-threadupdate.c (thread_through_loop_header): Tell
+ the cfg manipulation routines we are not creating a multiple
+ entry loop.
+
+2012-04-03 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/vms-c.c (vms_pragma_nomember_alignment): Handle
+ 'byte' alignment.
+ (vms_c_common_override_options): Allow parameterless variadic
+ functions.
+
+2012-04-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52835
+ * tree-data-ref.c (build_rdg): Return NULL if
+ compute_data_dependences_for_loop failed.
+
+2012-04-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * varasm.c (initializer_constant_valid_for_bitfield_p): Return true
+ for REAL_CST as well.
+ (output_constructor): Use RECORD_OR_UNION_TYPE_P predicate.
+ In the bitfield case, if the value is a REAL_CST, convert it first to
+ an INTEGER_CST.
+
+2012-04-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc: Use i386/biarchx32.h instead of i386/biarch64.h
+ for --with-abi={x32|mx32} or --with-multilib-list=mx32.
+ (supported_defaults): Add abi for i[34567]86-*-* and x86_64-*-*.
+
+ * config/i386/biarchx32.h: New.
+
+2012-04-02 Anatoly Sokolov <aesok@post.ru>
+
+ * config/arm/arm.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/arm/arm.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
+ (arm_preferred_reload_class): New function.
+
+2012-04-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52756
+ * tree-ssa-threadupdate.c (def_split_header_continue_p): New function.
+ (thread_through_loop_header): After threading through the loop latch
+ remove the split part from the loop and clear further threading
+ opportunities that would create a multiple entry loop.
+
+2012-04-02 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/52800
+ * cprop.c (execute_rtl_cprop): Call cleanup_cfg with
+ CLEANUP_CFG_CHANGED.
+
+2012-04-02 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52803
+ * loop-init.c (gate_handle_loop2): Destroy loops here if
+ we don't enter RTL loop optimizers.
+
+2012-04-02 Uros Bizjak <ubizjak@gmail.com>
+
+ Partially revert:
+ 2012-03-29 Richard Guenther <rguenther@suse.de>
+
+ * rtl.h (extended_count): Remove.
+ * combine.c (extended_count): Remove.
+
+2012-04-02 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/40942
+ * pt.c (more_specialized_fn): Don't apply decay conversion to
+ types of function parameters.
+
+2012-04-02 Tristan Gingold <gingold@adacore.com>
+
+ * ggc-page.c (PAGE_L1_SIZE, PAGE_L2_SIZE, LOOKUP_L1, LOOKUP_L2)
+ (ggc_allocated_p, lookup_page_table_entry, set_page_table_entry)
+ (alloc_page, init_ggc, clear_marks, struct ggc_pch_data)
+ (ggc_pch_this_base): Use uintptr_t instead of size_t.
+
+2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/52784
+ * config/i386/i386.c (ix86_option_override_internal): Don't
+ check TARGET_64BIT if TARGET_64BIT_DEFAULT is false.
+
+2012-03-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-cfg.c (call_can_make_abnormal_goto): New predicate.
+ (stmt_can_make_abnormal_goto): Use it.
+ (is_ctrl_altering_stmt): Likewise.
+
+2012-03-30 Naveen H.S <naveen.S@kpitcummins.com>
+ Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (push_regs): Skip banked registers when
+ resbank attribute is specified.
+ (sh_expand_epilogue): Likewise.
+
+2012-03-30 Richard Henderson <rth@redhat.com>
+
+ PR debug/52727
+ * combine-stack-adj.c (prev_active_insn_bb): New.
+ (next_active_insn_bb): New.
+ (force_move_args_size_note): New.
+ (combine_stack_adjustments_for_block): Use it.
+
+2012-03-30 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (struct expand_vec_perm_d): Add one_operand_p.
+ (ix86_expand_vector_init_duplicate): Initialize it.
+ (expand_vec_perm_palignr): Likewise.
+ (ix86_expand_vec_perm_const): Likewise.
+ (ix86_vectorize_vec_perm_const_ok): Likewise.
+ (expand_vec_perm_blend): Use it.
+ (expand_vec_perm_vpermil): Likewise.
+ (expand_vec_perm_pshufb): Likewise.
+ (expand_vec_perm_1): Likewise.
+ (expand_vec_perm_pshuflw_pshufhw): Likewise.
+ (expand_vec_perm_interleave2): Likewise.
+ (expand_vec_perm_vpermq_perm_1): Likewise.
+ (expand_vec_perm_vperm2f128): Likewise.
+ (expand_vec_perm_interleave3): Likewise.
+ (expand_vec_perm_vperm2f128_vblend): Likewise.
+ (expand_vec_perm_vpshufb2_vpermq): Likewise.
+ (expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise,.
+ (expand_vec_perm_broadcast): Likewise.
+ (expand_vec_perm_vpshufb4_vpermq2): Likewise.
+
+2012-03-30 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (gen_variable_die): Initialize off.
+
+2012-03-30 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/vms-f.c: New file.
+ * config/vms/t-vms (vms-f.o): New rule.
+ * config.gcc (*-*-*vms*): Define fortran_target_objs.
+
+2012-03-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52754
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only
+ propagate arbitrary addresses into really plain dereferences.
+
+2012-03-30 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52772
+ * except.c (emit_to_new_bb_before): Move loop updating ...
+ (dw2_build_landing_pads): ... here. Use a proper block for
+ querying the loop father.
+
+2012-03-30 Tristan Gingold <gingold@adacore.com>
+
+ * config/ia64/ia64.c (ia64_section_type_flags): Remove
+ common_object attribute handling.
+ (SECTION_VMS_OVERLAY): Remove
+ (ia64_vms_common_object_attribute): Replace abort with an assert.
+ Do not set DECL_SECTION_NAME.
+ (ia64_vms_output_aligned_decl_common): Handle common_object
+ attribute.
+ (ia64_vms_elf_asm_named_section): Remove.
+ * config/ia64/vms.h (TARGET_ASM_NAMED_SECTION): Remove.
+
+2012-03-30 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52786
+ * double-int.c (rshift_double): Remove not needed cast.
+
+2012-03-30 Richard Guenther <rguenther@suse.de>
+
+ * tree-affine.h (print_aff): Remove.
+ * tree-affine.c (print_aff): Make static.
+ * tree-data-ref.h (access_matrix_get_index_for_parameter): Remove.
+ (get_references_in_stmt): Likewise.
+ (print_direction_vector): Likewise.
+ (print_dir_vectors): Likewise.
+ (print_dist_vectors): Likewise.
+ (dump_subscript): Likewise.
+ (dump_ddrs): Likewise.
+ (dump_dist_dir_vectors): Likewise.
+ (dump_data_references): Likewise.
+ (dump_data_dependence_relation): Likewise.
+ (dump_data_dependence_direction): Likewise.
+ (dump_rdg_vertex): Likewise.
+ (dump_rdg_component): Likewise.
+ (debug_ddrs): Declare.
+ (struct data_ref_loc_d): Move ...
+ * tree-data-ref.c (struct data_ref_loc_d): ... here.
+ (get_references_in_stmt): Make static.
+ (dump_data_references): Likewise.
+ (dump_subscript): Likewise.
+ (print_direction_vector): Likewise.
+ (print_dir_vectors): Likewise.
+ (print_dist_vectors): Likewise.
+ (dump_data_dependence_relation): Likewise.
+ (dump_dist_dir_vectors): Likewise.
+ (dump_ddrs): Likewise.
+ (dump_rdg_vertex): Likewise.
+ (dump_rdg_component): Likewise.
+ (debug_ddrs): New function.
+ (access_matrix_get_index_for_parameter): Remove.
+
+2012-03-30 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/vms.c (VMS_CRTL_FLOAT32): Rename.
+ (VMS_CRTL_FLOAT64, VMS_CRTL_FLOAT64_VAXD): New.
+ (VMS_CRTL_FLOAT128, VMS_CRTL_DPML, VMS_CRTL_NODMPL)
+ (VMS_CRTL_32ONLY, VMS_CRTL_G_MASK, VMS_CRTL_G_NONE)
+ (VMS_CRTL_GA, VMS_CRTL_GL, VMS_CRTL_FLOATV2): New.
+ (vms_patch_builtins): Handle new flags
+ * config/vms/vms-crtlmap.map: Completed using nm on
+ c and math system libraries.
+ * config/vms/make-crtlmap.awk: Handle any number of flags.
+
+2012-03-30 Martin Jambor <mjambor@suse.cz>
+
+ * tree-ssa-ccp.c (insert_clobbers_for_var): Do not assert that there
+ is a builtin_stack_save in a dominating BB.
+
+2012-03-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results
+ crossing 128bit lane boundary.
+
+2012-03-29 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira-color.c (setup_left_conflict_sizes_p): Process all
+ conflicting objects.
+
+2012-03-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52760
+ * tree-vect-slp.c (vect_get_constant_vectors): Convert constant_p
+ shift count for {L,R}{SHIFT,ROTATE}_EXPR to TREE_TYPE (vector_type).
+
+2012-03-29 Richard Guenther <rguenther@suse.de>
+
+ * cgraph.h (cgraph_materialize_all_clones): Remove.
+ (reset_inline_failed): Likewise.
+ * cgraphunit.c (cgraph_materialize_all_clones): Make static.
+ * cgraphbuild.c (reset_inline_failed): Remove.
+ * rtl.h (cse_main): Remove.
+ (extended_count): Likewise.
+ * cse.c (dump_class): Mark as DEBUG_FUNCTION.
+ (cse_main): Make static.
+ * combine.c (extended_count): Remove.
+ (dump_combine_stats): Mark as DEBUG_FUNCTION.
+ * basic-block.h (reorder_basic_blocks): Remove.
+ * bb-reorder.c (reorder_basic_blocks): Make static.
+ * Makefile.in (dse.o): Remove dse.h dependency.
+ * dse.h: Remove.
+ * dse.c (gate_dse): Remove.
+ (clear_alias_mode_eq): Likewise.
+ (clear_alias_mode_hash): Likewise.
+ (dse_record_singleton_alias_set): Likewise.
+ (dse_invalidate_singleton_alias_set): Likewise.
+
+2012-03-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/linux-android.h (ANDROID_STARTFILE_SPEC): Use
+ crtbegin_so%O%s for -shared.
+ (ANDROID_ENDFILE_SPEC): Use crtend_so%O%s for -shared.
+
+2012-03-29 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (struct pre_expr_d): Remove forward declaration.
+ (add_to_value): Remove.
+ (print_value_expressions): Likewise.
+ * tree-ssa-pre.c (add_to_value): Make static.
+ (print_value_expressions): Likewise.
+ * gimple.h (gimple_adjust_this_by_delta): Remove.
+ * gimple-fold.c (gimple_adjust_this_by_delta): Likewise.
+
+2012-03-29 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50708
+ * double-int.h (rshift_double): Remove.
+ * double-int.c (lshift_double): Use absu_hwi to make count positive.
+ (rshift_double): Make static, take unsigned count argument,
+ remove handling of negative count argument.
+ (double_int_rshift): Dispatch to lshift_double.
+
+2012-03-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Add
+ OPTION_MASK_ABI_64.
+ * config/i386/gnu-user64.h (SPEC_64): Support TARGET_BI_ARCH == 2.
+ (SPEC_X32): Likewise.
+ (MULTILIB_DEFAULTS): Likewise.
+ * config/i386/i386.c (isa_opts): Remove -m64.
+ (ix86_target_string): Properly handle -m32/-m64/-mx32.
+ (ix86_option_override_internal): Properly
+ set OPTION_MASK_ISA_64BIT and OPTION_MASK_ISA_X32 as well as
+ handle -m32, -m64 and -mx32.
+ * config/i386/i386.h (TARGET_X32): Replace OPTION_ISA_X32
+ with OPTION_ABI_X32. Moved after TARGET_LP64.
+ (TARGET_LP64): Changed to OPTION_ABI_64.
+ * config/i386/i386.opt (m64): Replace ISA_64BIT with ABI_64.
+ (mx32): Replace ISA_X32 with ABI_X32.
+
+2012-03-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.c (tree_size) <VECTOR_CST>: New case.
+
+2012-03-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_modes_tieable_p): Handle 32bit AVX modes.
+ (ix86_expand_vector_move_misalign): Remove un-needed gen_lowpart calls.
+
+2012-03-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/52691
+ * tree-ssa-ccp.c (optimize_stdarg_builtin): Optimize
+ __builtin_va_start to __builtin_next_arg if the latter is
+ builtin_decl_explicit_p rather than when it is not.
+
+ PR middle-end/52750
+ * tree-vect-generic.c (vector_element): Perform multiplication
+ for pos in bitsizetype type instead of idx type.
+
+2012-03-28 Richard Guenther <rguenther@suse.de>
+
+ * loop-init.c (loop_optimizer_init): If loops are preserved
+ perform incremental initialization of required loop features.
+ (loop_optimizer_finalize): If loops are to be preserved only
+ clean up optional loop features.
+ (rtl_loop_done): Forcefully free loops here.
+ * cgraph.c (cgraph_release_function_body): Forcefully free loops.
+ * cfgexpand.c (expand_gimple_cond): Properly add new basic-blocks
+ to existing loops.
+ (construct_init_block): Likewise.
+ (construct_exit_block): Likewise.
+ (gimple_expand_cfg): Clear LOOP_CLOSED_SSA loop state. Cleanup
+ the CFG after expanding.
+ * cfgloop.c (verify_loop_structure): Calculate or verify dominators.
+ If we needed to calculate them, free them afterwards.
+ * tree-pass.h (PROP_loops): New define.
+ * tree-ssa-loop.c (pass_tree_loop_init): Provide PROP_loops.
+ * basic-block.h (CLEANUP_CFG_CHANGED): New.
+ * cfgcleanup.c (merge_blocks_move): Protect loop latches.
+ (cleanup_cfg): If we did something and have loops around, fix them up.
+ * cse.c (rest_of_handle_cse_after_global_opts): Call cleanup_cfg
+ with CLEANUP_CFG_CHANGED.
+ * cfghooks.c (merge_blocks): If we merge a loop header into
+ its predecessor, update the loop structure.
+ (duplicate_block): If we copy a loop latch, adjust loop state
+ to note we may have multiple latches.
+ (delete_basic_block): Mark loops for fixup if we remove a loop.
+ * cfganal.c (forwarder_block_p): Protect loop latches, headers
+ and preheaders.
+ * cfgrtl.c (rtl_can_merge_blocks): Protect loop latches.
+ (cfg_layout_can_merge_blocks_p): Likewise.
+ * cprop.c (bypass_block): If we create a loop with multiple
+ entries, mark it for removal.
+ * except.c (emit_to_new_bb_before): Add the new basic-block
+ to existing loops.
+ * tree-eh.c (lower_resx): Likewise.
+ * omp-low.c (finalize_task_copyfn): Do not copy PROP_loops.
+ (expand_omp_taskreg): Likewise.
+ * tree-inline.c (initialize_cfun): Likewise.
+ * tree-mudflap.c (add_bb_to_loop): Prototype.
+ (mf_build_check_statement_for): Properly add new basic-blocks
+ to existing loops.
+ * tree-ssa-threadupdate.c (thread_block): Mark loops for fixup
+ if we remove a loop.
+ (thread_through_loop_header): Likewise.
+ * trans-mem.c (tm_log_emit_save_or_restores): Properly add
+ new basic-blocks to existing loops.
+ (expand_transaction): Likewise.
+ * Makefile.in (except.o): Add $(CFGLOOP_H).
+ (expr.o): Likewise.
+ (cgraph.o): Likewise.
+ (cprop.o): Likewise.
+ (cfgexpand.o): Likewise.
+ (cfganal.o): Likewise.
+ (trans-mem.o): Likewise.
+ (tree-eh.o): Likewise.
+
+2012-03-28 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/52692
+ * config/avr/avr.c (TARGET_BUILTIN_DECL): New define.
+ (avr_builtin_decl): New static function.
+ (struct avr_builtin_description, avr_bdesc): Move up.
+ Add GTY marker. Add field fndecl. Remove redundant field id.
+ (avr_init_builtins): Initialize avr_bdesc[ID].fndecl.
+ (avr_expand_builtin): Code cleanup because .id is removed.
+
+2012-03-28 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/52737
+ * config.gcc (tm_file): Remove avr/multilib.h.
+
+ * doc/invoke.texi (AVR Options): Adjust documentation of -mtiny-stack.
+
+ * config/avr/genmultilib.awk: Remove code to generate multilib.h.
+ (BEGIN): Use -msp8 as multilib option instead of -mtiny-stack.
+ * config/avr/t-avr: Remove generation of multilib.h.
+ * config/avr/t-multilib: Regenerate.
+ * config/avr/multilib.h: Remove.
+ * config/avr/avr.opt (-msp8): New option.
+ (avr_sp8): New variable.
+ * config/avr/driver-avr.c (avr_device_to_sp8): New function.
+ * config/avr/avr.h (AVR_HAVE_SPH): New define.
+ (AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8.
+ (avr_device_to_sp8): New prototype.
+ (EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 }
+ (DRIVER_SELF_SPECS): New define.
+ * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
+ __AVR_SP8__, __AVR_HAVE_SPH__.
+ * config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of
+ AVR_HAVE_8BIT_SP to decide if SP_H is present.
+ (avr_file_start): Ditto.
+
+2012-03-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/52736
+ * config/i386/sse.md (sse2_loadlpd splitter): Use offset 0
+ instead of 8 in adjust_address.
+
+2012-03-27 Aurelien Buhrig <aurelien.buhrig.gcc@gmail.com>
+
+ PR middle-end/51893
+ * expmed.c (store_bit_field_1): Fix wordnum value for big-endian
+ targets.
+
+2012-03-27 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/50751
+ * config/sh/sh.c (sh_legitimize_address, sh_legitimize_reload_address):
+ Rearrange conditional logic. Move displacement address calculations
+ to ...
+ (sh_find_mov_disp_adjust): ... this new function.
+
+2012-03-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/arm/arm.opt (mapcs): Remove MaskExists.
+ * config/cris/linux.opt (mno-gotplt): Likewise.
+ * config/i386/i386.opt (mhard-float): Likewise.
+ (msse4): Likewise.
+ (mno-sse4): Likewise.
+ * config/m68k/m68k.opt (mhard-float): Likewise.
+ * config/mep/mep.op (mcop32): Likewise.
+ * config/pa/pa-hpux.opt (msio): Likewise.
+ * config/pa/pa64-hpux.opt (mgnu-ld): Likewise.
+ * config/picochip/picochip.opt (mlittle): Likewise.
+ * config/sh/sh.opt (mrenesas): Likewise.
+ * config/sparc/long-double-switch.opt (mlong-double-128): Likewise.
+ * config/sparc/sparc.opt (mhard-float): Likewise.
+ * config/v850/v850.opt (mv850es): Likewise.
+ * config/vax/vax.opt (mg-float): Likewise.
+
+2012-03-27 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/52693
+ * tree-sra.c (sra_modify_assign): Do not call
+ load_assign_lhs_subreplacements when working with an unscalarizable
+ region.
+
+2012-03-27 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/52698
+ * config/i386/i386-protos.h (ix86_legitimize_reload_address):
+ New prototype.
+ * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define.
+ * config/i386/i386.c: Include reload.h.
+ (ix86_legitimize_reload_address): New function.
+
+2012-03-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * opth-gen.awk: Allocated a bit for Mask and InverseMask if it
+ hasn't been allocated. Define a target macro for Mask and
+ InverseMask if it hasn't been defined. Remove MaskExists handling.
+
+ * doc/options.texi: Remove MaskExists.
+
+2012-03-27 Chung-Lin Tang <cltang@codesourcery.com>
+
+ PR target/52667
+ * config/sh/sh.c (find_barrier): Add equality check of last_got
+ to avoid going above orig insn. Update comments.
+
+2012-03-27 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52720
+ * fold-const.c (try_move_mult_to_index): Handle &x.array more
+ explicitely.
+
+2012-03-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expmed.c (store_bit_field): Assert that BITREGION_START is a multiple
+ of a unit before computing the offset in units.
+ * expr.c (get_bit_range): Return the null range if the enclosing record
+ is part of a larger bit field.
+
+2012-03-27 Tristan Gingold <gingold@adacore.com>
+
+ * config/ia64/vms.h (CASE_VECTOR_MODE): Define.
+ * config/ia64/ia64.md: Remove mode in template.
+ Sign extend operand in expand_simple_binop.
+ * config/ia64/ia64.h (ASM_OUTPUT_ADDR_DIFF_ELT): Use
+ CASE_VECTOR_MODE instead of TARGET_ILP32.
+ (ADDR_VEC_ALIGN): Make it depends on CASE_VECTOR_MODE.
+
+2012-03-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * varasm.c (assemble_external): #if 0 out the new assert from the
+ previous commit, it breaks the Java and Go front ends.
+
+2012-03-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * toplev.c (check_global_declaration_1): Do not call assemble_external.
+ * expr.c (emit_block_move_libcall_fn): Likewise.
+ (clear_storage_libcall_fn): Likewise.
+ (expand_expr_addr_expr_1): Likewise.
+ (expand_expr_real_1): Likewise.
+ * calls.c (rtx_for_function_call): Likewise.
+
+ * varasm.c (assemble_external): Assert this function is only called
+ during or after expanding to RTL.
+
+2012-03-26 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/50052
+ * tree-sra.c (tree_non_aligned_mem_p): Removed.
+ (tree_non_aligned_mem_for_access_p): Likewise.
+ (build_accesses_from_assign): Removed strict alignment requirements
+ checks.
+ (access_precludes_ipa_sra_p): Likewise.
+
+2012-03-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52701
+ * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always
+ compute and set the evolution part of PHI nodes.
+
+2012-03-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52721
+ * tree-vect-stmts.c (vect_init_vector): Handle scalars.
+
+2012-03-26 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ PR tree-optimization/52686
+ * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Handle
+ WIDEN_LSHIFT_EXPR.
+
+2012-03-26 Tristan Gingold <gingold@adacore.com>
+
+ * config/alpha/vms.h (LINK_SPEC): Simplify.
+ (STARTFILE_SPEC): Remove -mvms-return-codes handling.
+ (NAME__MAIN, SYMBOL__MAIN): Remove.
+ (VMS_DEBUG_MAIN_POINTER): Remove.
+ * config/ia64/vms.h: Likewise.
+ * config/alpha/alpha.c (alpha_start_function): Move vms_debug_main
+ code to vms.c. Call vms_start_function.
+ * config/ia64/ia64.c (ia64_start_function): Likewise.
+ * config/vms/vms-protos.h (vms_start_function): Declare.
+ * config/vms/vms.c (vms_start_function): New function.
+ * config/vms/vms.h (MATH_LIBRARY): Define.
+ (VMS_DEBUG_MAIN_POINTER): Define.
+
+2012-03-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/52629
+ * reload1.c (count_pseudo): Short-circuit common case.
+ (count_spilled_pseudo): Return early for pseudos without hard regs.
+ Assert that the pseudo has got a hard reg before manipulating it.
+
+2012-03-24 Jan Hubicka <jh@suse.cz>
+
+ PR lto/51663
+ * varpool.c (varpool_finalize_decl): Handle toplevel_reorder here.
+ (decide_is_variable_needed): Do not handle toplevel reorder here.
+ * cgraph.h (varpool_can_remove_if_no_refs): Likewise.
+ * ipa.c (cgraph_remove_unreachable_nodes): Remove unreachable vars
+ even at -O0.
+
+2012-03-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expr.c (optimize_bitfield_assignment_op) <BIT_IOR_EXPR>: Use str_mode
+ and str_bitsize instead of more convoluted expressions.
+
+2012-03-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/52610
+ * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=leon.
+
+2012-03-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/52656
+ * config/sparc/sparc.c (sparc_handle_vis_mul8x16): Fix pasto.
+
+2012-03-23 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (build_accesses_from_assign): Remove FIXME comment.
+
+2012-03-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52678
+ * tree-vectorizer.h (struct _stmt_vec_info): Add
+ loop_phi_evolution_part member.
+ (STMT_VINFO_LOOP_PHI_EVOLUTION_PART): New define.
+ * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Initialize
+ STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
+ * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
+ Use the cached evolution part and the PHI nodes value from
+ the loop preheader edge instead of re-analyzing the evolution.
+
+2012-03-22 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/mips/mips-tables.opt: Update.
+ * config/mips/mips.md (processor): Add xlp.
+ * config/mips/mips-cpus.def: Add xlp.
+ * config/mips/mips.c (mips_rtx_cost_data): Add costs for XLP, copy from
+ 5KF for now.
+ * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Handle xlp.
+ * doc/invoke.texi: Mention XLP.
+
+2012-03-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/52547
+ * tree-nested.c (convert_tramp_reference_stmt): Call declare_vars
+ on any new_local_var_chain vars declared during recursing on
+ GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK body.
+
+2012-03-22 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.h (ASM_OUTPUT_ALIGN): Move to config/alpha/elf.h
+ (ASM_OUTPUT_SKIP): Move to config/alpha/vms.h
+ (ASM_OUTPUT_LOCAL): Ditto.
+ (ASM_OUTPUT_COMMON): Remove.
+ * config/alpha/elf.h (ASM_OUTPUT_DEF_FROM_DECLS): Use ASM_OUTPUT_DEF.
+ * config/alpha/vms.h (ASM_OUTPUT_ALIGN): Do not undefine before define.
+
+2012-03-22 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/51737
+ * cgraph.c (cgraph_remove_node_and_inline_clones): Add FORBIDDEN_NODE
+ parameter.
+ * cgraph.h (cgraph_remove_node_and_inline_clones): Update prototype.
+ * ipa-inline-transform.c (save_inline_function_body): Remove
+ copied clone if needed.
+ * tree-inline.c (delete_unreachable_blocks_update_callgraph): Update.
+
+2012-03-22 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52666
+ * fold-const.c (fold_ternary_loc): Fix typo.
+
+2012-03-22 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/52496
+ * config/avr/avr.md (unspec): Remove UNSPEC_MEMORY_BARRIER.
+ (unspecv): Add UNSPECV_MEMORY_BARRIER.
+ (cli_sei): Use unspec_volatile instead of unspec for memory barrier.
+ (delay_cycles_1, delay_cycles_2): Ditto.
+ (delay_cycles_3, delay_cycles_4): Ditto.
+ (nopv, *nopv): Ditto.
+ (sleep, *sleep): Ditto.
+ (wdr, *wdr): Ditto.
+
+2012-03-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52548
+ * tree-ssa-pre.c (valid_in_sets): Remove handling of invalidation
+ because of clobbers.
+ (prune_clobbered_mems): New function.
+ (compute_antic_aux): Use it to prune ANTIC_OUT.
+ (compute_partial_antic_aux): Use it to prune PA_IN.
+ (compute_avail): Only insert expressions into EXP_GEN that are not
+ invalidated when translated up to the beginning of the block.
+
+2012-03-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52638
+ * tree-vect-stmts.c (vect_init_vector_1): New function, split
+ out from ...
+ (vect_init_vector): ... here. Handle scalar vector inits.
+ (vect_get_vec_def_for_operand): Adjust.
+ (vectorizable_load): Likewise.
+
+2012-03-22 Uros Bizjak <ubizjak@gmail.com>
+
+ * config.gcc (alpha*-*-linux*): Add elfos.h to tm_file.
+ (alpha*-*-freebsd*): Ditto.
+ (alpha*-*-netbsd*): Ditto.
+ (alpha*-*-openbsd*): Ditto.
+ * config/alpha/elf.h (OBJECT_FORMAT_ELF): Remove.
+ (DWARF2_DEBUGGING_INFO): Remove.
+ (PREFERRED_DEBUGGING_TYPE): Remove.
+ (ASM_FINAL_SPEC): Remove.
+ (IDENT_ASM_OP): Remove.
+ (ASM_OUTPUT_IDENT): Remove.
+ (SKIP_ASM_OP): Remove.
+ (ASM_OUTPUT_SKIP): Remove.
+ (ALIGN_ASM_OP): Remove.
+ (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
+ (ASM_OUTPUT_CASE_LABEL): Remove.
+ (ASM_OUTPUT_EXTERNAL_LIBCALL): Remove.
+ (COMMON_ASM_OP): Remove.
+ (ASM_OUTPUT_ALIGNED_COMMON): Remove.
+ (ASCII_DATA_ASM_OP): Remove.
+ (READONLY_DATA_SECTION_ASM_OP): Remove.
+ (INIT_SECTION_ASM_OP): Remove.
+ (FINI_SECTION_ASM_OP): Remove.
+ (ASM_SECTION_START_OP): Remove.
+ (ASM_OUTPUT_SECTION_START_FILE): Remove.
+ (TARGET_ASM_NAMED_SECTION): Remove.
+ (TARGET_ASM_SELECT_SECTION): Remove.
+ (MAKE_DECL_ONE_ONLY): Remove.
+ (TYPE_ASM_OP): Remove.
+ (SIZE_ASM_OP): Remove.
+ (ASM_WEAKEN_LABEL): Remove.
+ (TYPE_OPERAND_FMT): Remove.
+ (ASM_DECLARE_RESULT): Remove.
+ (ASM_DECLARE_OBJECT_NAME): Remove.
+ (ASM_FINISH_DECLARE_OBJECT): Remove.
+ (ELF_ASCII_ESCAPES): Remove.
+ (ELF_STRING_LIMIT): Remove.
+ (STRING_ASM_OP): Remove.
+ (ASM_OUTPUT_EXTERNAL): Remove.
+ (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Redefine to false.
+ * config/alpha/alpha.h (PCC_BITFIELD_TYPE_MATTERS): Undefine
+ before define.
+ (ASM_DECLARE_FUNCTION_NAME): Ditto.
+ (ASM_DECLARE_FUNCTION_SIZE): Ditto.
+ (ASM_GENERATE_INTERNAL_LABEL): Ditto.
+ (ASM_OUTPUT_SKIP): Ditto.
+ (READONLY_DATA_SECTION_ASM_OP): Remove.
+ (USER_LABEL_PREFIX): Remove.
+ (ASM_OUTPUT_ASCII): Remove.
+ (ASM_OUTPUT_CASE_LABEL): Remove.
+ (NO_DOLLAR_IN_LABEL): Undefine.
+
+2012-03-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52459
+ * tree-ssa-pre.c (inhibit_phi_insertion): Do not inhibit
+ PHI insertion for calls.
+
+2012-03-21 Steven Bosscher <steven@gcc.gnu.org>
+
+ * cse.c (invalidate_from_sets_and_clobbers, try_back_substitute_reg,
+ find_sets_in_insn, canonicalize_insn): Split out from ...
+ (cse_insn): ... here.
+ (invalidate_from_clobbers): Take an insn instead of the pattern.
+
+2012-03-21 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/52479
+ * config/sh/sh-protos.h (sh_fsca_df2int): Remove.
+ * config/sh/sh.c (sh_fsca_df2int_rtx, sh_fsca_df2int): Remove.
+ * config/sh/sh.md (sindf2, cosdf2): Remove.
+
+2012-03-21 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/52642
+ * config/sh/sh.c (sh_expand_prologue): Emit blockage at the end of
+ prologue for unwinder and profiler.
+
+2012-03-21 Andreas Tobler <andreast@fgznet.ch>
+
+ * configure.ac (HAVE_LD_NO_DOT_SYMBOLS): Add powerpc64-*-freebsd*.
+ Introduce emul_name to select the right linker emulation for
+ powerpc64-*-freebsd*.
+ * configure: Regenerate.
+ * config.gcc: Add bits to support powerpc64-*-freebsd*.
+ * config/rs6000/freebsd.h (POWERPC_FREEBSD): Define.
+ * config/rs6000/freebsd64.h: New file.
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
+ POWERPC_FREEBSD.
+ (rs6000_savres_strategy): Likewise.
+ (rs6000_savres_routine_name): Likewise.
+ (rs6000_elf_file_end): Likewise.
+ * config/rs6000/t-freebsd64: New file.
+ * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set the
+ rs6000_current_abi for 64-bit FreeBSD to ABI_AIX.
+
+ * config/rs6000/freebsd64.h: Remove duplicated entries from last
+ commit.
+ * config/rs6000/t-freebsd64: Likewise.
+
+2012-03-21 Georg-Johann Lay <avr@gjlay.de>
+
+ PR rtl-optimization/52543
+ PR target/52461
+ * config/avr/avr-protos.h (avr_load_lpm): New prototype.
+ * config/avr/avr.c (avr_mode_dependent_address_p): New function.
+ (TARGET_MODE_DEPENDENT_ADDRESS_P): New define.
+ (avr_load_libgcc_p): Restrict to __flash loads.
+ (avr_out_lpm): Only handle 1-byte loads from __flash.
+ (avr_load_lpm): New function.
+ (avr_find_unused_d_reg): Remove.
+ (avr_out_lpm_no_lpmx): Remove.
+ (adjust_insn_length): Handle ADJUST_LEN_LOAD_LPM.
+ * config/avr/avr.md (unspec): Add UNSPEC_LPM.
+ (load_<mode>_libgcc): Use UNSPEC_LPM instead of MEM.
+ (load_<mode>, load_<mode>_clobber): New insns.
+ (mov<mode>): For multi-byte move from non-generic
+ 16-bit address spaces: Expand to load_<mode> resp.
+ load_<mode>_clobber.
+ (load<mode>_libgcc): Remove expander.
+ (split-lpmx): Remove split.
+
+2012-03-21 Richard Earnshaw <rearnsha@arm.com>
+
+ * neon.md (neon_vget_lanev2di): Use gen_lowpart and gen_highpart.
+ * config/arm/neon.ml (Fixed_return_reg): Renamed to fixed_vector_reg.
+ All callers changed.
+ (Fixed_core_reg): New feature.
+ (Vget_lane [sizes S64 and U64]): Add Fixed_core_reg. Allow fmrrd in
+ disassembly.
+ * neon-testgen.ml: Handle Fixed_core_reg.
+
+2012-03-21 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm.c (thumb2_reorg): Add complete support
+ for 16-bit instructions.
+ * config/arm/thumb2.md: Delete obsolete flag-clobbering peepholes.
+
+2012-03-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimizer/52636
+ * tree-vect-slp.c (vect_get_constant_vectors): Convert constants
+ to the appropriate type.
+
+2012-03-21 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in (cfgexpand.o): Add $(REGS_H) and $(INTEGRATE_H)
+ dependencies.
+ * cfgexpand.c (gimple_expand_cfg): Fold in pass_init_function,
+ pass_jump, pass_initial_value_sets and pass_unshare_all_rtl.
+ * passes.c (init_optimization_passes): Remove pass_init_function,
+ pass_jump, pass_initial_value_sets and pass_unshare_all_rtl.
+ * tree-pass.h (pass_init_function): Remove.
+ (pass_jump): Remove.
+ (pass_initial_value_sets): Remove.
+ (pass_unshare_all_rtl): Remove.
+ * integrate.c (pass_initial_value_sets): Remove.
+ * emit-rtl.c (pass_unshare_all_rtl): Remove.
+ * tree.h (init_function_for_compilation): Remove.
+ * function.c (init_function_for_compilation): Remove.
+ (pass_init_function): Remove.
+ * cfgcleanup.c (rest_of_handle_jump): Remove.
+ (pass_jump): Remove.
+
+2012-03-20 Jason Merrill <jason@redhat.com>
+
+ * tree-streamer-in.c (streamer_alloc_tree): Call
+ ggc_alloc_zone_cleared_tree_node instead of
+ ggc_alloc_zone_cleared_tree_node_stat.
+
+2012-03-20 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/extend.texi (Template Instantiation): Remove anachronisms.
+
+2012-03-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/52607
+ * config/i386/i386.c (expand_vec_perm_vperm2f128): New function.
+ (ix86_expand_vec_perm_const_1): Call it.
+
+ * config/i386/i386.c (vselect_insn): New variable.
+ (init_vselect_insn): New function.
+ (expand_vselect, expand_vselect_insn): Add testing_p argument.
+ Call init_vselect_insn if vselect_insn is NULL. Adjust
+ PATTERN (vselect_insn), instead of creating a new insn each time,
+ only emit a copy of it if not testing and recog has been successful.
+ (expand_vec_perm_pshufb, expand_vec_perm_1,
+ expand_vec_perm_pshuflw_pshufhw, expand_vec_perm_broadcast_1): Adjust
+ callers.
+
+ PR target/52607
+ * config/i386/i386.md ("isa" attribute): Add avx2 and noavx2.
+ ("enabled" attribute): Handle avx2 and noavx2 isas.
+ * config/i386/sse.md (avx2_vec_dupv8sf_1, avx2_pbroadcast<mode>_1):
+ New insns.
+ (vec_dup<mode>): Add avx2 =x,x alternative.
+ (vec_dup<mode> splitter): Don't split if TARGET_AVX2.
+ (*avx_vperm_broadcast_<mode>): Don't split V4DFmode if TARGET_AVX2.
+ For TARGET_AVX2, V8SFmode and elt == 0 split into vbroadcastss.
+ * config/i386/i386.c (expand_vec_perm_pshufb): Emit also vpermps
+ for V8SFmode.
+ (expand_vec_perm_1): For broadcasts, use avx2_pbroadcast<mode>_1
+ if possible, handle also V8SFmode.
+
+2012-03-20 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm/predicates.md (zero_operand, reg_or_zero_operand): New predicates.
+ * arm/neon.md (neon_vceq<mode>, neon_vcge<mode>): Use
+ reg_or_zero_operand predicate.
+ (neon_vcle<mode>, neon_vclt<mode>): Use zero_operand predicate.
+
+2012-03-20 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (ix86_decompose_address) <case ZERO_EXTEND>:
+ If operand isn't UNSPEC, return 0.
+
+2012-03-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-pass.h (pass_rtl_eh): Remove.
+ * except.c (gate_handle_eh): Likewise.
+ (rest_of_handle_eh): Likewise.
+ (pass_rtl_eh): Likewise.
+ (finish_eh_generation): Export.
+ * except.h (finish_eh_generation): Declare.
+ * passes.c (init_optimization_passes): Remove pass_rtl_eh.
+ * cfgexpand.c (gimple_expand_cfg): Call finish_eh_generation
+ after expanding stack alignment. Instead of compacting blocks
+ call cleanup_cfg.
+
+2012-03-20 Richard Guenther <rguenther@suse.de>
+
+ * stor-layout.c (finish_bitfield_representative): Fallback
+ to conservative maximum size if the padding up to the next
+ field cannot be computed as a constant.
+ (finish_bitfield_layout): If we cannot compute the distance
+ between the start of the bitfield representative and the
+ bitfield member start a new representative.
+ * expr.c (get_bit_range): The distance between the start of
+ the bitfield representative and the bitfield member is zero
+ if the field offsets are not constants.
+
+2012-03-20 Tristan Gingold <gingold@adacore.com>
+
+ * tree.h (enum size_type_kind): Add stk_ prefix to constants,
+ convert in lowercase.
+ (sizetype_tab, sizetype, bitsizetype, ssizetype, sbitsizetype)
+ (size_int, ssize_int, bitsize_int, sbitsize_int): Adjust.
+ * stor-layout.c (sizetype_tab): Adjust.
+ (initialize_sizetypes): Use SIZETYPE instead of SIZE_TYPE.
+ * tree-streamer.c (preload_common_nodes): Use stk_type_kind_last
+ instead of type_kind_last.
+ * tree-scalar-evolution.c (interpret_rhs_expr): Use size_int
+ instead of size_int_kind.
+ * doc/tm.texi.in (Type Layout): Document SIZETYPE.
+ * doc/tm.texi: Regenerate.
+ * defaults.h (SIZETYPE): Provide a default value.
+ * config/vms/vms.h (SIZE_TYPE): Define as "unsigned int".
+ (SIZETYPE): Define.
+
+2012-03-20 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md: Use braced string notation where applicable.
+
+2012-03-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (allocate_stack): Simplify.
+
+2012-03-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * builtins.c (expand_builtin_cexpi): Use copy_addr_to_reg instead of
+ copy_to_mode_reg (Pmode, ...).
+ (expand_builtin_frame_address): Ditto.
+ * expr.c (emit_block_move_via_libcall): Ditto.
+ (set_storage_via_libcall): Ditto.
+
+ * config/i386/i386.c (ix86_expand_movmem): Ditto.
+ (ix86_expand_setmem): Ditto.
+ (ix86_trampoline_init): DItto.
+ * config/i386/i386.md (cmpstrnsi): Ditto.
+
+2012-03-19 Sandra Loosemore <sandra@codesourcery.com>
+
+ * config/sh/sh.opt (madjust-unroll): Mark as ignored/obsolete.
+ * config/sh/sh.h (TARGET_OPT_DEFAULT): Don't use MASK_ADJUST_UNROLL.
+ * doc/invoke.texi (Option Summary): Remove -madjust-unroll.
+ (SH Options): Likewise.
+
+2012-03-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (get_thread_pointer): Add tp_mode argument.
+ Generate ZERO_EXTEND in place if GET_MODE (tp) != tp_mode.
+ (legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>: Always generate
+ DImode UNSPEC_GOTNTPOFF references on TARGET_64BIT.
+ (ix86_decompose_address): Allow zero extended UNSPEC_TP references.
+
+ Revert:
+ 2012-03-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (TARGET_TLS_INDIRECT_SEG_REFS): New.
+ * config/i386/i386.c (ix86_decompose_address): Use
+ TARGET_TLS_INDIRECT_SEG_REFS to prevent %fs:(%reg) addresses.
+ (legitimize_tls_address): Use TARGET_TLS_INDIRECT_SEG_REFS to load
+ thread pointer to a register.
+
+ Revert:
+ 2012-03-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_decompose_address): Disallow fs:(reg)
+ if Pmode != word_mode.
+ (legitimize_tls_address): Call gen_tls_initial_exec_x32 if
+ Pmode == SImode for TARGET_X32.
+ * config/i386/i386.md (UNSPEC_TLS_IE_X32): New.
+ (tls_initial_exec_x32): Likewise.
+
+2012-03-19 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/50751
+ * config/sh/sh.h (CONST_OK_FOR_K04, CONST_OK_FOR_K12, DISP_ADDR_P,
+ DISP_ADDR_OFFSET): New macros.
+ * config/sh/sh.c (sh_address_cost): Add SH2A special case.
+ (sh_legitimate_index_p): Allow QImode displacements for non-SH2A.
+ (sh_legitimize_address): Add QImode displacement handling.
+ (sh_cannot_change_mode_class): Disallow GENERAL_REGS for SFmode
+ vector subregs.
+ (sh_secondary_reload): Add QImode displacement handling.
+ * config/sh/predicates.md (movsrc_no_disp_mem_operand): New predicate.
+ * config/sh/constraints.md (K04, Snd, Sdd): New constraints.
+ * config/sh/sh.md (extendqisi2): Remove constraints from expander.
+ (*extendqisi2_compact): Rename to *extendqisi2_compact_reg, restrict
+ to register operands only.
+ (*extendqisi2_compact_mem_disp, *extendqisi2_compact_snd): New insns.
+ (extendqihi2): Change insn to expander.
+ (*extendqihi2_compact_reg): New insn.
+ (movqi_i, movqi): Replace with ...
+ (movqi, *movqi_reg_reg, *movqi_store_mem_disp12,
+ *movqi_load_mem_disp, *movqi_load_mem_disp): ... these.
+ Add new peepholes for QImode displacement addressing.
+
+2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/14710
+ * doc/invoke.texi: Document -Wuseless-cast.
+
+2012-03-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.def (REALPART_EXPR, IMAGPART_EXPR, VIEW_CONVERT_EXPR): Move.
+ * tree.h (handled_component_p): Reorder cases.
+ * dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref): Do
+ not initialize unsignedp.
+ (loc_list_from_tree): Likewise.
+ (fortran_common): Likewise.
+ * simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
+
+2012-03-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_expand_prologue) <CM_LARGE_PIC>: Use Pmode
+ mode consistently. Use ix86_gen_add3. Assert that Pmode == DImode.
+ (ix86_expand_split_stack_prologue): Use ix86_gen_add3.
+ (ix86_split_long_move): Ditto.
+ (legitimize_tls_address): Use ix86_gen_sub3.
+ (construct_plt_address): Assert that Pmode == DImode.
+
+2012-03-18 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md: Remove empty predicates and/or constraints.
+ * config/i386/sync.md: Ditto.
+ * config/i386/sse.md: Ditto.
+ * config/i386/mmx.md: Ditto.
+ * config/i386/pentium.md: Ditto.
+ * config/i386/athlon.md: Ditto.
+
+2012-03-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52603
+ * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Clarify
+ comment.
+
+ Revert
+ 2012-03-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52571
+ * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Move
+ flag_section_anchors check ...
+ (vect_can_force_dr_alignment_p): ... here.
+
+2012-03-16 Martin Jambor <mjambor@suse.cz>
+
+ * expr.c (expand_expr_real_1): Handle misaligned scalar reads from
+ memory through MEM_REFs by calling extract_bit_field.
+
+2012-03-16 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (native_interpret_expr): Also support POINTER_TYPE
+ and REFERENCE_TYPE interpretations.
+ (can_native_interpret_type_p): New function.
+ (fold_ternary_loc): Use native encode/interpret to fold
+ BIT_FIELD_REFs of constants.
+
+2012-03-16 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52584
+ * fold-const.c (fold_ternary_loc): Fold vector typed BIT_FIELD_REFs
+ of vector constants and constructors.
+
+2012-03-16 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
+ VIEW_CONVERT_EXPR to convert constants.
+ (vect_is_simple_use): Treat all constants as vec_constant_def.
+
+2012-03-16 Richard Guenther <rguenther@suse.de>
+ Kai Tietz <ktietz@redhat.com>
+
+ PR middle-end/48814
+ * gimplify.c (gimplify_self_mod_expr): Evaluate postfix
+ side-effects completely in the pre-queue and use a temporary
+ for the result.
+
+2012-03-16 Richard Guenther <rguenther@suse.de>
+
+ * stor-layout.c (finish_bitfield_representative): Fall back
+ to the conservative maximum size if we cannot compute the
+ size of the tail padding.
+
+2012-03-16 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/vms.h (TARGET_OS_CPP_BUILTINS): Define
+ __CRTL_VER and __VMS_VER.
+ * config/vms/vms-protos.h: Declare vms_c_get_crtl_ver
+ and vms_c_get_vms_ver.
+ * config/vms/vms-c.c (vms_c_get_crtl_ver, vms_c_get_vms_ver): New
+ functions.
+ * config/alpha/vms.h (VMS_DEFAULT_CRTL_VER)
+ (VMS_DEFAULT_VMS_VER): Define.
+ * config/ia64/vms.h (VMS_DEFAULT_CRTL_VER)
+ (VMS_DEFAULT_VMS_VER): Define.
+
+2012-03-16 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-loop.c (get_initial_def_for_induction): Use
+ build_constructor directly.
+ * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
+ build_vector_from_val.
+ * tree.c (build_vector_from_val): Avoid creating a constructor
+ first when we want a constant vector.
+
+2012-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/install.texi (Specific, *-*-solaris2*): Improve wording.
+
+2012-03-16 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (TREE_VECTOR_CST_ELTS): Remove.
+ (VECTOR_CST_NELTS, VECTOR_CST_ELTS, VECTOR_CST_ELT): New defines.
+ (struct tree_vector): Remove elements member, add variable size
+ elts array member.
+ (build_vector_stat): Declare.
+ (build_vector): Define in terms of build_vector_stat.
+ * tree.c (build_vector): Rename to ...
+ (build_vector_stat): ... this. Take array of trees as parameter.
+ (build_vector_from_ctor): Adjust.
+ (integer_zerop, integer_onep, integer_all_onesp, iterative_hash_expr,
+ initializer_zerop): Adjust.
+ * cfgexpand.c (expand_debug_expr): Likewise.
+ * expr.c (categorize_ctor_elements_1, expand_expr_real_1,
+ const_vector_from_tree): Likewise.
+ * fold-const.c (const_binop, operand_equal_p, native_encode_vector,
+ native_interpret_vector, fold_unary_loc, vec_cst_ctor_to_array,
+ fold_vec_perm, fold_binary_loc, fold_ternary_loc): Likewise.
+ * tree-streamer-in.c (streamer_alloc_tree): Handle TS_VECTOR.
+ (lto_input_ts_vector_tree_pointers): Adjust.
+ * tree-streamer-out.c (streamer_write_tree_header): Handle TS_VECTOR.
+ (write_ts_vector_tree_pointers): Adjust.
+ * varasm.c (const_hash_1, compare_constant, copy_constant,
+ output_constant): Adjust.
+ * gimple-fold.c (gimple_fold_stmt_to_constant_1): Adjust.
+ * print-tree.c (print_node): Adjust.
+ * tree-pretty-print.c (dump_generic_node): Adjust.
+ * tree-vect-generic.c (uniform_vector_p, vector_element,
+ lower_vec_perm): Adjust.
+ * tree-vect-loop.c (get_initial_def_for_reduction): Adjust.
+ * tree-vect-slp.c (vect_get_constant_vectors,
+ vect_transform_slp_perm_load): Adjust.
+ * tree-vect-stmts.c (vect_gen_perm_mask): Adjust.
+ * expmed.c (make_tree): Adjust.
+ * config/i386/i386.c (ix86_expand_builtin): Adjust.
+ * config/sparc/sparc.c (sparc_handle_vis_mul8x16): Adjust interface
+ and implementation.
+ (sparc_fold_builtin): Adjust.
+
+2012-03-16 Tristan Gingold <gingold@adacore.com>
+
+ * config.gcc (*-*-*vms*): Define use_gcc_stdint and tm_file.
+ * config/vms/vms-stdint.h: New file.
+
+2012-03-16 Tristan Gingold <gingold@adacore.com>
+
+ * config.host (alpha64-dec-*vms*, alpha*-dec-*vms*)
+ (ia64-hp-*vms*): Replaced by ...
+ (*-*-*vms*): ... This new entry.
+
+2012-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/52568
+ * config/i386/i386.c (expand_vec_perm_vperm2f128_vblend): New function.
+ (ix86_expand_vec_perm_const_1): Use it.
+
+ PR target/52568
+ * config/i386/sse.md (UNSPEC_VPERMDF): Remove.
+ (avx2_permv4df): Remove.
+ (avx2_permv4di): Macroize into...
+ (avx2_perm<mode>): ... this using VI8F_256 iterator.
+ (avx2_permv4di_1): Macroize into...
+ (avx2_perm<mode>_1): ... this using VI8F_256 iterator.
+
+2012-03-15 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * combine.c (apply_distributive_law): Do not distribute SUBREG.
+
+2012-03-15 Ira Rosen <irar@il.ibm.com>
+ Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * tree-vect-patterns.c (widened_name_p): Rename to ...
+ (type_conversion_p): ... this. Add new argument to determine
+ if it's a promotion or demotion operation. Check for
+ CONVERT_EXPR_CODE_P instead of NOP_EXPR.
+ (vect_recog_dot_prod_pattern): Call type_conversion_p instead
+ widened_name_p.
+ (vect_recog_widen_mult_pattern, vect_recog_widen_sum_pattern,
+ vect_operation_fits_smaller_type, vect_recog_widen_shift_pattern):
+ Likewise.
+ (vect_recog_mixed_size_cond_pattern): Likewise and allow
+ non-constant then and else clauses.
+
+2012-03-15 Ira Rosen <irar@il.ibm.com>
+ Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * tree-vectorizer.h (vect_pattern_recog): Add new argument.
+ * tree-vect-loop.c (vect_analyze_loop_2): Update call to
+ vect_pattern_recog.
+ * tree-vect-patterns.c (widened_name_p): Pass basic block
+ info to vect_is_simple_use.
+ (vect_recog_dot_prod_pattern): Fail for basic blocks.
+ (vect_recog_widen_sum_pattern): Likewise.
+ (vect_handle_widen_op_by_const): Support basic blocks.
+ (vect_operation_fits_smaller_type,
+ vect_recog_over_widening_pattern): Likewise.
+ (vect_recog_vector_vector_shift_pattern): Support basic blocks.
+ Update call to vect_is_simple_use.
+ (vect_recog_mixed_size_cond_pattern): Support basic blocks.
+ Add printing.
+ (check_bool_pattern): Add an argument, update call to
+ vect_is_simple_use and the recursive calls.
+ (vect_recog_bool_pattern): Update relevant function calls.
+ Add printing.
+ (vect_mark_pattern_stmts): Update calls to new_stmt_vec_info.
+ (vect_pattern_recog_1): Check for reduction only in loops.
+ (vect_pattern_recog): Add new argument. Support basic blocks.
+ * tree-vect-stmts.c (vectorizable_conversion): Pass basic block
+ info to vect_is_simple_use_1.
+ * tree-vect-slp.c (vect_get_and_check_slp_defs): Support basic blocks.
+ (vect_slp_analyze_bb_1): Call vect_pattern_recog.
+
+2012-03-15 Jakub Jelinek <jakub@redhat.com>
+ Andrew Pinski <apinski@cavium.com>
+
+ PR middle-end/52592
+ * builtins.c (expand_builtin_int_roundingfn_2): If expanding
+ BUILT_IN_IR{INT,OUND}* using optab fails, emit lr{int,ound}*
+ calls instead of __builtin_ir{int,ound}*.
+
+2012-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * doc/sourcebuild.texi (cleanup-modules, keep-modules): Update
+ documentation.
+
+2012-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * config.gcc (target_type_format_char): New. Document it. Set it for
+ arm*-*-* .
+ * configure.ac (gnu_unique_option): Use target_type_format_char
+ in test. Comment rationale.
+ * configure: Regenerate .
+
+2012-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52267
+ * tree-vrp.c (masked_increment): New function.
+ (register_edge_assert_for_2): Derive ASSERT_EXPRs
+ from (X & CST1) cmp CST2 tests.
+
+2012-03-15 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52580
+ * tree-data-ref.c (subscript_dependence_tester_1): Check
+ all dimensions for non-conflicting access functions.
+
+2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c++/44783
+ * doc/invoke.texi [C++ Language Options]: Document
+ -ftemplate-backtrace-limit.
+
+2012-03-15 Tristan Gingold <gingold@adacore.com>
+
+ * c-parser.c (c_parser_parameter_declaration): Handle #pragma
+ before a parameter.
+
+2012-03-15 Tristan Gingold <gingold@adacore.com>
+
+ * dwarf2out.c (gen_subprogram_die): Require dwarf unwinding to
+ use DW_OP_call_frame_cfa.
+
+2012-03-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/50797
+ * config/i386/i386-opts.h (pmode): New.
+ * config/i386/i386.c (ix86_option_override_internal): Properly
+ check and set ix86_pmode.
+ * config/i386/i386.h (Pmode): Check ix86_pmode instead of TARGET_64BIT.
+ * config/i386/i386.opt (maddress-mode=): New.
+ * doc/invoke.texi: Document -maddress-mode=short|long for x86.
+
+2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * dwarf2cfi.c (def_cfa_0): Remove MIPS_DEBUGGING_INFO handling.
+ (dwarf2out_do_cfi_asm): Likewise.
+ * dwarf2out.c (output_call_frame_info): Remove MIPS_DEBUGGING_INFO
+ handling.
+ (add_data_member_location_attribute): Likewise.
+ (gen_array_type_die): Likewise.
+ (gen_subprogram_die): Likewise.
+ (gen_producer_string): Likewise.
+ * sdbout.c (sdbout_begin_prologue): Declare unconditionally.
+ Remove MIPS_DEBUGGING_INFO handling.
+ (sdb_debug_hooks): Likewise.
+ (sdbout_begin_block): Likewise.
+ (sdbout_end_block): Likewise.
+ (sdbout_begin_prologue): Likewise.
+ (sdbout_start_source_file): Likewise.
+ (sdbout_end_source_file): Likewise.
+ (sdbout_init): Likewise.
+ * system.h (MIPS_DEBUGGING_INFO): Poison.
+
+2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/alpha/alpha.c [HAVE_STAMP_H]: Remove.
+ (alpha_file_start) [MS_STAMP]: Remove.
+
+ * config/alpha/elf.h (TARGET_GAS): Remove.
+ * config/alpha/freebsd.h (TARGET_DEFAULT): Remove.
+ * config/alpha/linux.h (TARGET_DEFAULT): Remove.
+ * config/alpha/netbsd.h (TARGET_DEFAULT): Remove.
+ * config/alpha/vms.h (TARGET_DEFAULT): Remove.
+ * config.gcc (alpha*-*-linux*): Remove target_cpu_default.
+ (alpha*-*-freebsd*): Likewise.
+ (alpha*-*-netbsd*): Likewise.
+ (alpha*-*-openbsd*): Likewise.
+ (alpha*-*-*): Remove target_cpu_default2.
+ * config/alpha/alpha.c (alpha_output_filename): Remove !TARGET_GAS
+ handling.
+ * config/alpha/alpha.h (TARGET_AS_CAN_SUBTRACT_LABELS): Remove.
+ (TARGET_AS_SLASH_BEFORE_SUFFIX): Remove.
+ * config/alpha/alpha.c (print_operand): Always assume
+ TARGET_AS_SLASH_BEFORE_SUFFIX.
+ * config/alpha/alpha.md ("*builtin_setjmp_receiver_er_sl_1"):
+ Remove TARGET_AS_CAN_SUBTRACT_LABELS.
+ ("*builtin_setjmp_receiver_er_1"): Remove.
+ * config/alpha/alpha.opt (malpha-as): Remove.
+ (mgas): Ignore.
+ * doc/invoke.texi (Option Summary, DEC Alpha Options): Remove
+ -malpha-as, -mgas.
+ Remove DEC Unix reference.
+
+ * config/alpha/alpha.h (OBJECT_FORMAT_COFF): Remove.
+ (EXTENDED_COFF): Remove.
+ * config/alpha/elf.h (OBJECT_FORMAT_COFF): Don't undef.
+ (EXTENDED_COFF): Don't undef.
+ * config/alpha/alpha.c (alpha_file_start): Always assume
+ OBJECT_FORMAT_ELF.
+ Don't set targetm.asm_file_start_file_directive.
+ [!OBJECT_FORMAT_ELF]: Remove.
+ (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Remove.
+
+ * config/alpha/alpha.h (SDB_DEBUGGING_INFO): Remove.
+ (DBX_DEBUGGING_INFO): Remove.
+ (MIPS_DEBUGGING_INFO): Remove.
+ (PREFERRED_DEBUGGING_TYPE): Remove.
+ (DBX_OUTPUT_SOURCE_LINE): Remove.
+ (SDB_OUTPUT_SOURCE_LINE): Remove.
+ (DBX_CONTIN_LENGTH): Remove.
+ (NO_DBX_FUNCTION_END): Remove.
+ (ASM_STABS_OP): Remove.
+ (ASM_STABN_OP): Remove.
+ (ASM_STABD_OP): Remove.
+ (SDB_ALLOW_FORWARD_REFERENCES): Remove.
+ (SDB_ALLOW_UNKNOWN_REFERENCES): Remove.
+ (PUT_SDB_DEF): Remove.
+ (PUT_SDB_PLAIN_DEF): Remove.
+ (PUT_SDB_TYPE): Remove.
+ (sdb_label_count): Remove.
+ (PUT_SDB_BLOCK_START): Remove.
+ (PUT_SDB_BLOCK_END): Remove.
+ (PUT_SDB_FUNCTION_START): Remove.
+ (PUT_SDB_FUNCTION_END): Remove.
+ (PUT_SDB_EPILOGUE_END): Remove.
+ * config/alpha/elf.h (SDB_DEBUGGING_INFO): Don't undef.
+ (MIPS_DEBUGGING_INFO): Don't undef.
+ (DBX_DEBUGGING_INFO): Don't undef.
+ * config/alpha/vms.h (SDB_DEBUGGING_INFO): Don't undef.
+ (MIPS_DEBUGGING_INFO): Don't undef.
+ (DBX_DEBUGGING_INFO): Don't undef.
+ * config/alpha/freebsd.h (DBX_CONTIN_CHAR): Remove.
+ * config/alpha/alpha.c (alpha_option_override): Remove SDB_DEBUG
+ handling.
+ (alpha_start_function): Likewise.
+ (sdb_label_count): Remove.
+ (alpha_output_filename): Remove DBX_DEBUG handling.
+ (alpha_file_start): Likewise.
+
+2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc (enable_obsolete): Remove *-*-solaris2.8*.
+ (*-*-solaris2.[0-8], *-*-solaris2.[0-8].*): Mark unsupported.
+ (i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Remove
+ Solaris 8 support.
+ * configure.ac (gcc_cv_ld_hidden): Remove *-*-solaris2.8*.
+ (ld_tls_support): Remove Solaris 8 references.
+ (lwp_dir, lwp_spec): Remove support for alternate thread library.
+ * acinclude.m4 (gcc_cv_initfini_array): Remove *-*-solaris2.* tests.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+ * config/sol2.h (LINK_SPEC): Remove LIB_THREAD_LDFLAGS_SPEC.
+ * config/i386/sol2.h: Remove Solaris 8 references.
+
+ * doc/install.texi (Specific, i?86-*-solaris2.[89]): Rename to ...
+ (i?86-*-solaris2.9): ... this.
+ Remove Solaris 8 references.
+ (Specific, *-*-solaris2*): Document Solaris 8 removal.
+ Remove Solaris 8 references.
+
+2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc (enable_obsolete): Remove mips-sgi-irix6.5.
+ (mips-sgi-irix6.5*): Remove.
+ * config.host (mips-sgi-irix*): Remove.
+ * configure.ac (enable_fixed_point): Remove mips*-sgi-irix*.
+ (set_have_as_tls): Remove *-*-irix6*.
+ (gcc_cv_ld_static_dynamic): Remove mips-sgi-irix6*.
+ * configure: Regenerate.
+
+ * config/mips/iris6.h: Remove.
+ * config/mips/iris6.opt: Remove.
+ * config/mips/t-irix6: Remove.
+
+ * config/mips/mips.h (TARGET_GPWORD): Remove IRIX 6 N64 handling.
+ (TARGET_IRIX6): Remove.
+ (TARGET_CPU_CPP_BUILTINS): Remove IRIX 6 handling.
+ Don't define LANGUAGE_C, _LANGUAGE_C for Objective-C.
+ * config/mips/mips.c (mips_build_builtin_va_list): Remove IRIX 6
+ handling.
+ (mips_file_start): Likewise.
+ * config/mips/mips-protos.h (irix_asm_output_align): Remove.
+
+ * config/mips/driver-native.c [__sgi__]: Remove.
+ (host_detect_local_cpu) [__sgi__]: Remove.
+
+ * config/mips/gnu-user.h: Remove iris5.h reference.
+
+ * config/mips/mips-modes.def: Remove IRIX 6 reference.
+ * config/mips/gnu-user64.h (MIPS_TFMODE_FORMAT): Remove.
+ * config/mips/mips.c (mips_option_override) [MIPS_TFMODE_FORMAT]:
+ Remove.
+
+ * gcc.c (main): Move asm_debug initialization ...
+ (asm_debug): ... here.
+
+ * ginclude/stddef.h (__STDDEF_H__): Don't define.
+
+ * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): Remove.
+ * system.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): Poison.
+ * collect2.c [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES]: Remove.
+ (main) [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES]: Remove.
+ [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES] (is_in_args): Remove.
+ * doc/tm.texi.in (Driver, LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
+ Remove.
+ * doc/tm.texi: Regenerate.
+
+ * doc/invoke.texi (Debugging Options, -gdwarf-<version>): Remove
+ IRIX 6 reference.
+ (MIPS Options, -march): Remove IRIX reference.
+ * doc/install.texi (Binaries, SGI IRIX): Remove.
+ (Specific, mips-sgi-irix6): Document IRIX 6.5 removal, remove rest
+ of section.
+ * doc/trouble.texi (Interoperation): Remove -lgl_s handling.
+
+2012-03-14 Martin Jambor <mjambor@suse.cz>
+
+ * expr.c (expand_assignment): Use expand_expr with EXPAND_WRITE
+ when expanding MEM_REFs, MEM_TARGET_REFs and handled_component bases.
+ (expand_expr_real_1): Do not handle misalignment if modifier is
+ EXPAND_WRITE.
+
+2012-03-14 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52584
+ * tree-vect-generic.c (type_for_widest_vector_mode): Take
+ element type instead of mode, use build_vector_type_for_mode
+ instead of the langhook, build a vector of proper signedness.
+ (expand_vector_operations_1): Adjust.
+
+2012-03-14 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52582
+ * gimple-fold.c (canonicalize_constructor_val): Make sure we have
+ a cgraph node for a FUNCTION_DECL that comes from a constructor.
+ (gimple_get_virt_method_for_binfo): Likewise.
+
+2012-03-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52571
+ * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Move
+ flag_section_anchors check ...
+ (vect_can_force_dr_alignment_p): ... here. Do not re-align
+ DECL_COMMON variables.
+
+2012-03-14 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (DECL_BIT_FIELD_REPRESENTATIVE): New define.
+ * stor-layout.c (start_bitfield_representative): New function.
+ (finish_bitfield_representative): Likewise.
+ (finish_bitfield_layout): Likewise.
+ (finish_record_layout): Call finish_bitfield_layout.
+ * tree.c (free_lang_data_in_decl): Only free DECL_QUALIFIER
+ for QUAL_UNION_TYPE fields.
+ * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
+ Stream DECL_BIT_FIELD_REPRESENTATIVE.
+ * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
+
+ PR middle-end/52080
+ PR middle-end/52097
+ PR middle-end/48124
+ * expr.c (get_bit_range): Unconditionally extract bitrange
+ from DECL_BIT_FIELD_REPRESENTATIVE.
+ (expand_assignment): Adjust call to get_bit_range.
+
+2012-03-14 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52578
+ * fold-const.c (fold_unary_loc): Fold (T1)(T2)x to (T1)x if
+ the outermost conversion is a sign-change only.
+ (fold_binary_loc): Disregard widening and sign-changing
+ conversions when we determine if two variables are equal
+ for reassociation.
+ * tree-ssa-forwprop.c (combine_conversions): Fold (T1)(T2)x to
+ (T1)x if the outermost conversion is a sign-change only.
+
+2012-03-14 Uros Bizjak <ubizjak@gmail.com>
+
+ Revert:
+ 2012-03-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (constant_call_address_operand): Declare
+ as special predicate. Update all uses.
+
+2012-03-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/52577
+ * c-parser.c (c_parser_postfix_expression)
+ <case RID_BUILTIN_SHUFFLE>: Call mark_exp_read on argument values.
+
+ * config/i386/smmintrin.h: Avoid /* within a comment.
+ * config/i386/nmmintrin.h: Likewise.
+
+2012-03-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (xbegin): Remove constraint from expander.
+
+2012-03-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (constant_call_address_operand): Declare
+ as special predicate. Update all uses.
+ * config/i386/i386.md: Remove mode from constant_call_address_operand
+ predicates.
+ * config/i386/i386.c (ix86_output_call_insn): Call
+ constant_call_address_operand with VOIDmode.
+
+2012-03-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_decompose_address): Handle subregs of
+ AND zero extended address correctly.
+
+2012-03-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (tls_symbolic_operand): Declare as
+ special predicate.
+ (tls_modbase_operand): Ditto.
+ * config/i386/i386.md: Remove mode from tls_symbolic_operand and
+ tls_modbase_operand predicates.
+
+2012-03-13 Martin Jambor <mjambor@suse.cz>
+
+ * expr.c (expand_assignment): Handle misaligned scalar writes to
+ memory through top-level MEM_REFs by calling store_bit_field.
+
+2012-03-13 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52134
+ * fold-const.c (fold_binary_loc): Fold (X * Y) & -(1 << CST) to X * Y
+ if Y is a constant multiple of 1 << CST.
+
+2012-03-13 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/52488
+ * config/avr/avr.c (avr_prologue_setup_frame): Cut down stack
+ offset (size) to a value the insns can deal with.
+ (expand_epilogue): Ditto.
+
+2012-03-13 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * config/arm/neon.ml (ops): Fixup expected instructions for
+ unsigned vector compares.
+
+2012-03-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_decompose_address): Prevent %fs:(%reg)
+ addresses only when %reg is not in word mode.
+
+2012-03-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/microblaze/microblaze.md: Fix typo.
+ * tree-if-conv.c: Likewise.
+ * tree-vect-patterns.c: Likewise.
+
+2012-03-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc (extra_passes): Remove.
+ * configure.ac (extra_passes): Don't substitute.
+ * configure: Regenerate.
+ * Makefile.in (EXTRA_PASSES): Remove.
+ (GCC_PASSES): Remove $(EXTRA_PASSES).
+ (MOSTLYCLEANFILES): Likewise.
+ (native): Likewise.
+ (install-common): Likewise.
+
+2012-03-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (TARGET_TLS_INDIRECT_SEG_REFS): New.
+ * config/i386/i386.c (ix86_decompose_address): Use
+ TARGET_TLS_INDIRECT_SEG_REFS to prevent %fs:(%reg) addresses.
+ (legitimize_tls_address): Use TARGET_TLS_INDIRECT_SEG_REFS to load
+ thread pointer to a register.
+
+2012-03-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Remove :P
+ on tls_symbolic_operand.
+ (tls_global_dynamic_64_<mode>): Likewise.
+
+2012-03-12 Georg-Johann Lay <avr@gjlay.de>
+
+ PR other/52545
+ * output.h (SECTION_EXCLUDE, SECTION_MACH_DEP): Don't use
+ SECTION_MACH_DEP reserved bits for SECTION_EXCLUDE.
+
+2012-03-12 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/52499
+ * config/avr/avr.c (avr_mode_code_base_reg_class): Change return
+ type from reg_class_t to enum reg_class.
+ * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
+
+2012-03-12 Andrew Pinski <apinski@cavium.com>
+
+ * tree-ssa-phiopt.c (single_non_singleton_phi_for_edges): New function.
+ (tree_ssa_phiopt_worker): Use single_non_singleton_phi_for_edges.
+ (value_replacement): Likewise.
+ (empty_block_p): Check also if the PHIs for the block are empty.
+
+2012-03-12 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/52148
+ * config/avr/avr.c (avr_out_movmem): Fix typo in output template
+ for the case ADDR_SPACE_FLASH and AVR_HAVE_LPMX introduced in
+ r184615 from 2012-02-28.
+
+2012-03-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_gen_tls_global_dynamic_64): New.
+ (ix86_gen_tls_local_dynamic_base_64): Likewise.
+ (ix86_option_override_internal): Set ix86_gen_tls_global_dynamic_64
+ and ix86_gen_tls_local_dynamic_base_64.
+ (legitimize_tls_address): Use ix86_gen_tls_global_dynamic_64 and
+ ix86_gen_tls_local_dynamic_base_64.
+ * config/i386/i386.md (*tls_global_dynamic_64): Renamed to ...
+ (*tls_global_dynamic_64_<mode>): This.
+ (tls_global_dynamic_64): Renamed to ...
+ (tls_global_dynamic_64_<mode>): This.
+ (*tls_local_dynamic_base_64): Renamed to ...
+ (*tls_local_dynamic_base_64_<mode>): This.
+ (tls_local_dynamic_base_64): Renamed to ...
+ (tls_local_dynamic_base_64_<mode>): This.
+
+2012-03-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_option_override_internal): Properly
+ set ix86_gen_leave and ix86_gen_monitor. Check Pmode == DImode,
+ instead of TARGET_64BIT, to set ix86_gen_add3, ix86_gen_sub3,
+ ix86_gen_one_cmpl2, ix86_gen_andsp, ix86_gen_allocate_stack_worker,
+ ix86_gen_adjust_stack_and_probe and ix86_gen_probe_stack_range.
+ * config/i386/sse.md (sse3_monitor64): Renamed to ...
+ (sse3_monitor64_<mode>): This.
+
+2012-03-12 Tristan Gingold <gingold@adacore.com>
+
+ * config/ia64/ia64.c (ia64_function_arg_1): Move code around.
+ (ia64_function_arg_advance): Ditto.
+
+2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc (mips*-*-openbsd*): Remove.
+ * config/mips/openbsd.h: Remove.
+ * config/mips/sdb.h: Remove.
+
+ * config/mips/mips.h (SDB_OUTPUT_SOURCE_LINE): Remove.
+ * config/mips/mips.c (sdb_label_count): Remove.
+ (mips_debugger_offset): Remove #if 0 code.
+ (mips_output_function_prologue) [SDB_DEBUGGING_INFO]: Remove.
+ * config/mips/sde.h (SDB_DEBUGGING_INFO): Don't undef.
+
+2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/install.texi (Specific, i?86-*-solaris2.[89]): Update
+ binutils reference.
+ (Specific, i?86-*-solaris2.10): Remove GCC 4.0 reference.
+ Update binutils references.
+ (Specific, *-*-solaris2*): Mention bundled GCC in Solaris 10 and 11.
+ Update binutils reference.
+ Update Sun as/GNU ld caveat.
+ Document binutils largefile requirement for LTO plugin.
+ Remove reference to alternate libpthread.
+
+2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc (alpha*-dec-osf5.1*): Remove.
+ * config.host (alpha*-dec-osf*): Remove.
+ * configure.ac (*-*-osf*): Remove.
+ (alpha*-dec-osf*): Remove.
+ * configure: Regenerate.
+
+ * config/alpha/host-osf.c, config/alpha/osf5.h, config/alpha/osf5.opt,
+ config/alpha/va_list.h, config/alpha/x-osf: Remove.
+
+ * config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Remove.
+ * config/alpha/alpha.c (struct machine_function): Update comment.
+ (alpha_start_function): Remove Tru64 UNIX as handling for
+ max_frame_size.
+ * config/alpha/alpha.md ("exception_receiver"): Remove
+ TARGET_LD_BUGGY_LDGP.
+ ("*exception_receiver_2"): Likewise.
+ * except.c (finish_eh_generation): Remove Tru64 reference.
+ * ginclude/stdarg.h [_HIDDEN_VA_LIST]: Don't undef _VA_LIST.
+ * system.h (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Poison.
+ * target.def (handle_pragma_extern_prefix): Remove.
+
+ * Makefile.in (mips-tfile.o-warn): Remove.
+ (ALL_HOST_BACKEND_OBJS): Remove mips-tfile.o, mips-tdump.o.
+ (mips-tfile, mips-tfile.o, mips-tdump, mips-tdump.o): Remove.
+ * mips-tdump.c, mips-tfile.c: Remove.
+
+ * doc/extend.texi (Symbol-Renaming Pragmas): Remove #pragma
+ extern_prefix.
+ * doc/install.texi (Binaries): Remove Tru64 UNIX reference.
+ (Specific, alpha*-dec-osf5.1): Note removal.
+ * doc/tm.texi.in (Misc, TARGET_HANDLE_PRAGMA_EXTERN_PREFIX):
+ Remove.
+ * doc/tm.texi: Regenerate.
+ * doc/trouble.texi (Cross-Compiler Problems): Remove.
+
+2012-03-12 Richard Guenther <rguenther@suse.de>
+
+ * config/arm/arm.c (neon_dereference_pointer): Do not call
+ covert during RTL expansion.
+
+2012-03-12 Tristan Gingold <gingold@adacore.com>
+
+ * doc/invoke.texi (VMS Options): Merge Alpha/VMS and IA-64/VMS
+ Options. Mention -mpointer-size.
+
+2012-03-12 Richard Guenther <rguenther@suse.de>
+
+ * config/alpha/alpha.c (alpha_gimplify_va_arg): Use
+ build_nonstandard_integer_type.
+
+2012-03-12 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (signed_or_unsigned_type_for): Use
+ build_nonstandard_integer_type.
+ (signed_type_for): Adjust documentation.
+ (unsigned_type_for): Likewise.
+ * tree-pretty-print.c (dump_generic_node): Use standard names
+ for non-standard integer types if available.
+
+2012-03-12 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/vms.opt: Add vms-opts.h header.
+ (mmalloc64): Use flag_vms_malloc64 flag instead of MALLOC64
+ target mask.
+ (-mvms-return-codes): Document.
+ (-mpointer-size): New option.
+ (vms_pointer_size): Add enumeration.
+ * config/vms/vms-opts.h: New file.
+ * config/vms/vms.h (TARGET_OS_CPP_BUILTINS): Define
+ __INITIAL_POINTER_SIZE.
+ (POINTER_SIZE, SIZE_TYPE, PTRDIFF_TYPE): Adjust definition.
+ (C_COMMON_OVERRIDE_OPTIONS): Define.
+ (DWARF2_ADDR_SIZE): Define.
+ * config/vms/vms.c (vms_patch_builtins): Adjust condition.
+ * config/vms/vms-protos.h (vms_c_common_override_options):
+ New prototype.
+ * config/vms/vms-c.c (vms_pragma_pointer_size): Ignore pragma
+ if -mno-pointer-size.
+ (vms_c_common_override_options): New function.
+ * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_MALLOC64.
+ * config/alpha/vms.h (TARGET_DEFAULT): Remove MASK_MALLOC64.
+ (MALLOC_ABI_ALIGNMENT): Use flag_vms_malloc64
+ and flag_vms_pointer_size.
+ (MASK_RETURN_ADDR): Set according to flag_vms_pointer_size.
+ * config.gcc (*-*-*vms*): Define xm_file.
+ (alpha*-dec-*vms*): Do not define xm_file.
+ (alpha64-dec-*vms*): Remove.
+ (ia64-hp-*vms*): Do not define xm_file. Simplify tm_file
+ and tmake_file.
+
+2012-03-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51721
+ * tree-vrp.c (register_edge_assert_for_2): Add asserts for unsvar
+ if (int) unsvar cmp CST.
+
+2012-03-12 Richard Guenther <rguenther@suse.de>
+
+ * tree-sra.c (create_access_replacement): Only rename the replacement
+ if we can rewrite it into SSA form. Properly mark register typed
+ replacements that we cannot rewrite with TREE_ADDRESSABLE.
+ * tree-cfg.c (verify_expr): Fix BIT_FIELD_REF verification
+ for aggregate or BLKmode results.
+
+2012-03-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52533
+ * tree-vrp.c (register_edge_assert_for_2): Use double_int
+ type for mask, only handle shifts by non-zero in-range
+ shift count, for LE_EXPR and GT_EXPR if new_val is
+ maximum, don't add the assertion.
+
+2012-02-12 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * doc/invoke.texi: Document -mrtm option.
+ * common/config/i386/i386-common.c (OPTION_MASK_ISA_RTM_SET): New.
+ (OPTION_MASK_ISA_RTM_UNSET): Ditto.
+ (ix86_handle_option): Handle OPT_mrtm.
+ * config.gcc (i[34567]86-*-*): Add rtmintrin.h and
+ xtestintrin.h.
+ (x86_64-*-*): Ditto.
+ * i386-builtin-types.def (INT_FTYPE_VOID): New.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Define
+ __RTM__ if needed.
+ (ix86_target_string): Define -mrtm option.
+ (PTA_RTM): New.
+ (ix86_option_override_internal): Extend "corei7-avx" with RTM option.
+ Handle new option.
+ (ix86_valid_target_attribute_inner_p): Add OPT_mrtm.
+ (ix86_builtins): Add IX86_BUILTIN_XBEGIN, IX86_BUILTIN_XEND,
+ IX86_BUILTIN_XTEST.
+ (bdesc_special_args): Ditto.
+ (ix86_init_mmx_sse_builtins): Add IX86_BUILTIN_XABORT.
+ (ix86_expand_special_args_builtin): Handle new built-in type.
+ (ix86_expand_builtin): Handle XABORT instruction.
+ * config/i386/i386.h (TARGET_RTM): New.
+ * config/i386/i386.md (UNSPECV_XBEGIN): New.
+ (UNSPECV_XEND): Ditto.
+ (UNSPECV_XABORT): Ditto.
+ (UNSPECV_XTEST): Ditto.
+ (xbegin): Ditto.
+ (xbegin_1): Ditto.
+ (xend): Ditto.
+ (xabort): Ditto
+ (xtest): Ditto.
+ (xtest_1): Ditto.
+ * config/i386/i386.opt (mrtm): New.
+ * config/i386/immintrin.h: Include rtmintrin.h and xtestintrin.h.
+ * config/i386/rtmintrin.h: New header.
+ * config/i386/xtestintrin.h: Ditto.
+
+2012-03-12 Tristan Gingold <gingold@adacore.com>
+
+ * ginclude/stddef.h: Adjust previous patch.
+ Use __VMS__ instead of VMS.
+
+2012-03-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (setcc + movzbl to xor + setcc peephole2):
+ Also convert sequences with CC setting arithmetic instruction.
+
+2012-03-11 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi (Option Summary): Move -no-integrated-cpp
+ from C Language Options to Preprocessor Options.
+ (C Dialect Options): Move -no-integrated-cpp documentation
+ from here...
+ (Preprocessor Options): ...to here. Rewrite the description
+ so it makes more sense, and remove discussion of merging front ends.
+
+2012-03-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_expand_movmem): Use word_mode for size
+ needed for loop.
+ (ix86_expand_setmem): Likewise.
+
+2012-03-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_zero_extend_to_Pmode): Rewrite using
+ convert_to_mode.
+
+2012-03-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_trampoline_init): Use movl for 64bit if
+ ptr_mode == SImode. Replace DImode with Pmode or ptr_mode.
+
+2012-03-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (x86_this_parameter): Replace DImode with Pmode.
+
+2012-03-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (lwp_slwpcb): Check Pmode instead of
+ TARGET_64BIT.
+
+2012-03-11 H.J. Lu <hongjiu.lu@intel.com>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (call_insn_operand): Allow
+ constant_call_address_operand in Pmode only.
+ (sibcall_insn_operand): Ditto.
+ * config/i386/i386.md (*call): Use W mode iterator instead of P mode.
+ (*call_vzeroupper): Ditto.
+ (*sibcall): Ditto.
+ (*sibcall_vzeroupper): Ditto.
+ (*call_value): Ditto.
+ (*call_value_vzeroupper): Ditto.
+ (*sibcall_value): Ditto.
+ (*sibcall_value_vzeroupper): Ditto.
+ (*indirect_jump): Ditto.
+ (*tablejump_1): Ditto.
+ (indirect_jump): Convert memory address to word mode for TARGET_X32.
+ (tablejump): Ditto.
+ * config/i386/i386.c (ix86_expand_call): Convert indirect operands
+ to word mode.
+
+2012-03-11 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh.md (movnegt): Expand into respective insns immediately.
+ Use movrt_negc instead of negc pattern for non-SH2A.
+ (*movnegt): Remove.
+ (*movrt_negc, *negnegt, *movtt, *movt_qi): New insns and splits.
+
+2012-03-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_decompose_address): Disallow fs:(reg)
+ if Pmode != word_mode.
+ (legitimize_tls_address): Call gen_tls_initial_exec_x32 if
+ Pmode == SImode for TARGET_X32.
+ * config/i386/i386.md (UNSPEC_TLS_IE_X32): New.
+ (tls_initial_exec_x32): Likewise.
+
+2012-03-10 Chung-Lin Tang <cltang@codesourcery.com>
+
+ PR rtl-optimization/52528
+ * combine.c (can_combine_p): Add setting of subst_low_luid
+ before call to expand_field_assignment().
+
+2012-03-09 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi: Use correct names/markup for "GCC", "GDB", "ld",
+ and related program names.
+
+2012-03-09 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi: Use correct names for "DWARF", "stabs", and "ELF".
+
+2012-03-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/52530
+ * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier.
+ (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback
+ to set code to 'q'.
+ * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec.
+ (*movdi_internal_rex64): Use %E operand modifier for lea.
+ (*movsi_internal): Ditto.
+ (*lea_1): Ditto.
+ (*lea<mode>_2): Ditto.
+ (*lea_{3,4,5,6}_zext): Ditto.
+ (*tls_global_dynamic_32_gnu): Ditto.
+ (*tls_global_dynamic_64): Ditto.
+ (*tls_dynamic_gnu2_lea_32): Ditto.
+ (*tls_dynamic_gnu2_lea_64): Ditto.
+ (pro_epilogue_adjust_stack_<mode>_add): Ditto.
+
+2012-03-09 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Do not
+ redefine to be NULL if the current bit-size is different from the
+ configured bit-size.
+
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): If the
+ cpu is defaulted, use PROCESSOR_DEFAULT and PROCESSOR_DEFAULT64 to
+ set the default tuning. Add asserts to make sure the cpu and tune
+ indexes are defined. Fix tests for cpu/tune index to use >= 0 to
+ test whether the index is set, instead of > 0.
+ (rs6000_file_start): Do not reset the default cpu if the current
+ bit-size is different from the configured bit-size.
+
+2012-03-09 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/vms-crtlmap.map: Add comments.
+ Add entries needed to build Ada RTS.
+
+2012-03-09 Tristan Gingold <gingold@adacore.com>
+
+ * ginclude/stddef.h: Do not define __size_t on VMS.
+
+2012-03-09 Tristan Gingold <gingold@adacore.com>
+
+ * c-tree.h (c_default_pointer_mode): New variable.
+ * c-decl.c (c_default_pointer_mode): New variable.
+ (c_build_pointer_type): New function.
+ (grokdeclarator): Call c_build_pointer_type instead
+ of build_pointer_type.
+
+ * config/vms/vms-c.c: Include c-tree.h
+ (saved_pointer_mode): New variable.
+ (handle_pragma_pointer_size): New function.
+ (vms_pragma_pointer_size, vms_pragma_required_pointer_size): Likewise.
+ (vms_c_register_pragma): Register __pointer_size and
+ __required_pointer_size pragmas.
+
+2012-03-09 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/vms-c.c (vms_construct_include_filename): New function.
+ (vms_c_register_includes): Reference it.
+
+2012-03-09 Andrew Pinski <apinski@cavium.com>
+
+ PR middle-end/51988
+ * tree-ssa-phiopt.c: Include tree-pretty-print.h for
+ print_generic_expr.
+ (tree_ssa_phiopt_worker): Go through all the PHIs for
+ value_replacement instead of just the singleton one.
+ (value_replacement): Change return type to int. Return 0 instead of
+ false.
+ Allow the middle basic block to contain more than just the defining
+ statement.
+ Handle non empty middle basic blocks.
+ * Makefile.in (tree-ssa-phiopt.o): Add tree-pretty-print.h.
+
+2012-03-09 Jiangning Liu <jiangning.liu@arm.com>
+
+ * tree-scalar-evolution (interpret_rhs_expr): generate chrec for
+ array reference and component reference.
+ (analyze_scalar_evolution_for_address_of): New.
+
+2012-03-08 Jie Zhang <jzhang918@gmail.com>
+
+ PR target/49862
+ * config/bfin/bfin.c (hwloop_optimize): Fix unused variable warnings.
+ (hwloop_pattern_reg): Fix set but not used warning.
+ (bfin_reorg_loops): Remove unused parameter.
+ (bfin_reorg): Update use of bfin_reorg_loops.
+
+2012-03-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (setup_incoming_varargs_64): Use word_mode
+ with integer parameters in registers.
+ (gen_push): Push register in word_mode instead of Pmode.
+ (ix86_emit_save_regs): Likewise.
+ (ix86_emit_save_regs_using_mov): Save integer registers in word_mode.
+ (gen_pop): Pop register in word_mode instead of Pmode.
+ (ix86_emit_restore_regs_using_pop): Likewise.
+ (ix86_expand_prologue): Replace Pmode with word_mode for push
+ immediate. Use ix86_gen_pro_epilogue_adjust_stack. Save and
+ restore RAX and R10 in word_mode.
+ (ix86_emit_restore_regs_using_mov): Restore integer registers
+ in word_mode.
+ (ix86_expand_split_stack_prologue): Save R10_REG and restore in
+ word_mode.
+ (ix86_split_to_parts): Use word_mode with PUT_MODE for push.
+ (ix86_split_long_move): Likewise.
+ * config/i386/i386.md (W): New.
+ (*push<mode>2_prologue): Replace :P with :W.
+ (*pop<mode>1): Likewise.
+ (*pop<mode>1_epilogue): Likewise.
+ (push/pop peephole2): Use word_mode scratch registers.
+
+2012-03-08 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (indirect_branch_operand): Simplify.
+
+2012-03-08 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (*addhi3, addhi3_clobber): Add "w" alternative
+ for constants in [-63,63].
+
+2012-03-08 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/52530
+ Revert:
+ 2012-03-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_print_operand_address): Only handle
+ zero-extended DImode addresses.
+
+2012-03-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_as_ix86_tlsldmplt): Add label.
+ * configure: Regenerate.
+
+2012-03-08 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/52496
+ * config/avr/avr.c (avr_mem_clobber): New static function.
+ (avr_expand_delay_cycles): Add memory clobber operand to
+ delay_cycles_1, delay_cycles_2, delay_cycles_3, delay_cycles_4.
+ * config/avr/avr.md (unspec): Add UNSPEC_MEMORY_BARRIER.
+ (enable_interrupt, disable_interrupt): New expander.
+ (nopv, sleep, wdr): New expanders.
+ (delay_cycles_1): Add memory clobber.
+ (delay_cycles_2): Add memory clobber.
+ (delay_cycles_3): Add memory clobber.
+ (delay_cycles_4): Add memory clobber.
+ (cli_sei): New insn from former "enable_interrupt",
+ "disable_interrupt" with memory clobber.
+ (*wdt): New insn from former "wdt" with memory clobber.
+ (*nopv): Similar, but for "nopv".
+ (*sleep): Similar, but for "sleep".
+
+2012-03-07 Oleg Endo <olegendo@gcc.gnu.org>
+ Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/52503
+ * config/sh/sh.opt (msoft-atomic): Use Var instead of Mask.
+ * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_SOFT_ATOMIC.
+ (SUBTARGET_OVERRIDE_OPTIONS): Define.
+
+2012-03-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (x86_64_zext_general_operand): New.
+ * config/i386/i386.md (*zero_extendsidi2_rex64): Change operand 1
+ predicate to x86_64_zext_general_operand. Accept "Z" constraint.
+
+2012-03-07 Walter Lee <walt@tilera.com>
+
+ * config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
+ REG_CFA_* notes for the stack pointer.
+ (tilegx_expand_epilogue): Restore stack pointer by adjusting it by
+ EH_RETURN_STACKADJ_RTX.
+ * config/tilepro/tilepro.c (tilepro_expand_prologue): Don't
+ generate REG_CFA_* notes for the stack pointer.
+ (tilepro_expand_epilogue): Restore stack pointer by adjusting it
+ by EH_RETURN_STACKADJ_RTX.
+
+2012-03-07 Georg-Johann Lay <avr@gjlay.de>
+
+ * doc/invoke.texi (AVR Built-in Macros): Correct condition for
+ when __AVR_3_BYTE_PC__ is defined.
+
+2012-03-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_print_operand_punct_valid_p): Add '^'.
+ (ix86_print_operand): Handle '^'.
+ * config/i386/i386.md (*strmovdi_rex_1): Macroize memory operands
+ using P mode iterator. Add %^ to asm template to conditionally emit
+ addr32 prefix.
+ (*rep_movdi_rex64): Ditto.
+ (*strsetdi_rex_1): Ditto.
+ (*rep_stosdi_rex64): Ditto.
+ (*strmov{si,hi,qi}_1): Add %^ to asm template to
+ conditionally emit addr32 prefix.
+ (*rep_mov{si,qi}): Ditto.
+ (*strset{si,hi,qi}): Ditto.
+ (*rep_stos{si,qi}): Ditto.
+ (*cmpstrnqi_nz_1): Ditto.
+ (*cmpstrnqi_1): Ditto.
+ (*strlenqi_1): Ditto.
+
+2012-03-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (function_value_64): Return pointers in
+ word_mode instead of Pmode.
+ (ix86_promote_function_mode): Likewise.
+
+2012-03-07 Richard Guenther <rguenther@suse.de>
+
+ * coverage.c (get_gcov_type): Use type_for_mode.
+ (get_gcov_unsigned_t): Likewise.
+ * expr.c (store_constructor): Use type_for_mode.
+ (try_casesi): Likewise.
+ * tree-ssa-loop-ivopts.c (add_standard_iv_candidates_for_size): Remove.
+ (add_standard_iv_candidates): Use standard type trees.
+ * dojump.c (do_jump): Remove dead code.
+
+2012-03-07 Richard Guenther <rguenther@suse.de>
+
+ * c-typeck.c (pointer_diff): Use c_common_type_for_size.
+
+2012-03-07 Richard Guenther <rguenther@suse.de>
+
+ * convert.c (strip_float_extensions): Move ...
+ * tree.c (strip_float_extensions): ... here.
+
+2012-03-07 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/52484
+ * config/avr/avr.md (xload<mode>_A): Add R22... to register footprint.
+
+2012-03-07 Richard Guenther <rguenther@suse.de>
+
+ * omp-low.c (extract_omp_for_data): Use signed_type_for.
+ (expand_omp_for_generic): Likewise.
+ (expand_omp_for_static_nochunk): Likewise.
+ (expand_omp_for_static_chunk): Likewise.
+ * tree-vect-stmts.c (vect_gen_perm_mask): Use type_for_mode.
+ * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
+ * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
+ Use unsigned_type_for.
+ (vect_create_cond_for_align_checks): Use signed_type_for.
+
+2012-03-07 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/52203
+ * sel-sched.c (estimate_insn_cost): New parameter pempty. Adjust
+ all callers to pass NULL except ...
+ (reset_sched_cycles_in_current_ebb): ... here, save the value
+ in new variable 'empty'. Increase issue_rate only for
+ non-empty insns.
+
+2012-03-07 Ralf Corsépius <ralf.corsepius@rtems.org>
+
+ PR target/51417
+ * Makefile.in: Let install-gcc-ar depend on installdirs,
+ gcc-ar$(exeext), gcc-nm$(exeext), gcc-ranlib$(exeext).
+ Don't double canonicalize if cross-compiling.
+
+2012-03-07 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/52506
+ * config/avr/avr.c (expand_epilogue): Fix order of restoration
+ to: RAMPZ, RAMPY, RAMPX, RAMPD.
+ (expand_prologue): Only clear RAMPZ if it has effect on RAM-read.
+
+2012-03-07 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/52505
+ * config/avr/avr.c (avr_out_xload): Don't read unintentionally
+ from RAM.
+ * config/avr/avr.md (xload_8): Adjust insn length.
+
+2012-03-07 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/52461
+ * config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage
+ if RAMPZ affects reading from RAM.
+
+2012-03-07 Richard Guenther <rguenther@suse.de>
+
+ PR pch/52518
+ PR pch/38987
+ * doc/invoke.texi (Precompiled Headers): Remove sentence that
+ suggests you can include PCHs from inside another header.
+
+2012-03-07 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR middle-end/52515
+ * rtl.h (pc_rtx, cc0_rtx, ret_rtx, simple_return_rtx): Add GTY markers.
+
+2012-03-07 Kai Tietz <ktietz@redhat.com>
+
+ * doc/invoke.texi (fwritable-relocated-rdata): Document
+ new Cygwin/MinGW target option.
+ * config/i386/winnt.c (i386_pe_unique_section): Ignore
+ reloc if flag -fwritable-relocated-rdata is not set.
+ (i386_pe_section_type_flags): Likewise.
+ * config/i386/cygming.opt (fwritable-relocated-rdata):
+ Add new flag variable flag_writable_rel_rdata.
+
+2012-03-07 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-math-opts.c (convert_mult_to_widen): Check actual
+ precision against gimple constraints.
+
+2012-03-06 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR middle-end/52372
+ * rtl.h (pc_rtx, ret_rtx, simple_return_rtx, cc0_rtx): Redefine as
+ variables.
+ (GR_PC, GR_CC0, GR_RETURN, GR_SIMPLE_RETURN): Delete.
+ * emit-rtl.c (pc_rtx, ret_rtx, simple_return_rtx, cc0_rtx): New
+ variables.
+ (init_emit_regs): Move associated initialization to...
+ (init_emit_once): ...here.
+
+2012-03-06 Richard Henderson <rth@redhat.com>
+
+ * config/m68k/m68k.h (ISA_HAS_TAS): New.
+ * config/m68k/sync.md (atomic_test_and_set): Use it.
+ (atomic_test_and_set_1): Likewise.
+
+2012-03-06 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/50310
+ * config/rs6000/vector.md (vector_uneq<mode>): Add support for
+ UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons.
+ (vector_ltgt<mode>): Likewise.
+ (vector_ordered<mode>): Likewise.
+ (vector_unordered<mode>): Likewise.
+ * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
+
+2012-03-06 Aldy Hernandez <aldyh@redhat.com>
+
+ * trans-mem.c: New typedef for tm_region_p.
+ Define vector types for tm_region_p.
+ (tm_region_init): Replace region_worklist to a vector called
+ bb_regions.
+
+2012-03-06 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (build_fold_addr_expr_with_type_loc): Fold
+ MEM_REF with constant pointer operand.
+
+2012-03-06 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52493
+ * tree-ssa-alias.c (ptr_derefs_may_alias_p): Robustify.
+
+2012-03-06 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/vms-c.c (vms_pragma_nomember_alignment): Handle octaword.
+ (external_model_kind): Improve documentation.
+ (vms_pragma_extern_model): Handle relaxed_redef.
+ (vms_c_register_pragma): Allow expansion for nomember_alignment.
+
+2012-03-06 Georg-Johann Lay <avr@gjlay.de>
+
+ * doc/invoke.texi (AVR Options): -mmcu=: Document the XMEGA cores.
+ Explain RAMPD, RAMPX, RAMPDY, RAMPZ usage by avr-gcc.
+ Some more notes on EIND usage and reorder EIND subsection.
+
+2012-03-06 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/vms.c (VMS_CRTL_LDBL): Rename from VMS_CRTL_PRNTF.
+ * config/vms/vms-crtlmap.map: Rename PRNTF to LDBL.
+
+2012-03-06 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/t-vmsnative (version): Define.
+ * config/vms/t-vms (STMP_FIXPROTO, STMP_FIXINC, version): Remove.
+
+2012-03-06 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/52250
+ * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb
+ to put note list into. Unconditionally call move_bb_info.
+ (move_bb_info): Do not assert the blocks being in the same region,
+ just drop the note list if they are not.
+
+2012-03-06 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh.c (sh_expand_t_scc): Remove SH2A special case
+ and use unified expansion logic.
+ * config/sh/sh.md (xorsi3_movrt): Rename to movrt. Move
+ closer to the existing movt insn.
+ (negc): Rename insn to *negc. Add new expander.
+ (movnegt): Use xor pattern for T bit negation. Reserve helper
+ constant for negc pattern.
+ (*movnegt): New insn and splitter.
+
+2012-03-05 Bernd Schmidt <bernds@codesourcery.com>
+
+ * c-typeck.c (pointer_diff): Check for POINTER_PLUS_EXPR, not
+ PLUS_EXPR.
+
+2012-03-05 Richard Henderson <rth@redhat.com>
+
+ * genemit.c (main): Include "target.h" in insn-emit.c.
+ * Makefile.in (insn-emit.o): Depend on TARGET_H.
+ * config/sh/sync.md (atomic_test_and_set): Reference
+ targetm.atomic_test_and_set_trueval instead of
+ TARGET_ATOMIC_TEST_AND_SET_TRUEVAL.
+
+2012-03-05 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * config/epiphany/epiphany.c (epiphany_function_value_regno_p):
+ Make static.
+
+2012-03-05 Steven Bosscher <steven@gcc.gnu.org>
+
+ * langhooks.c (add_builtin_type): New function.
+ * langhooks.h (add_builtin_type): Export it.
+ * config/mep/mep.c (mep_init_builtins): Use it.
+ * config/rs6000/rs6000.c (rs6000_init_builtins): Use it.
+
+2012-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/51902
+ * tree.h (BLOCK_SAME_RANGE): Define.
+ * function.c (block_fragments_nreverse): Clear BLOCK_SAME_RANGE
+ if BLOCK_FRAGMENT_CHAIN is non-NULL, but has it cleared.
+ Also clear BLOCK_SAME_RANGE if fragment chain's supercontext fragment
+ isn't equal to supercontext fragment's fragment chain.
+ Adjust BLOCK_SUPERCONTEXT to point to supercontext fragment's
+ fragment origin.
+ (blocks_nreverse_all): Likewise.
+ (reorder_blocks_1): Compute BLOCK_SAME_RANGE bits. Set
+ BLOCK_SUPERCONTEXT to supercontext fragment instead of
+ supercontext fragment's fragment origin.
+ * dwarf2out.c (add_high_low_attributes): If stmt has the same
+ range as its parent (or parents thereof etc.), use the parent's
+ DW_AT_ranges value instead of creating a new .debug_ranges range.
+
+2012-03-05 Richard Henderson <rth@redhat.com>
+
+ PR tree-opt/52242
+ Revert: 2011-11-26 Richard Henderson <rth@redhat.com>
+ * omp-low.c (expand_omp_atomic): Assume anything aligned to
+ BIGGEST_ALIGNMENT is aligned.
+
+2012-03-05 Richard Henderson <rth@redhat.com>
+
+ * config/sh/sh.h (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Move...
+ * config/sh/sh.c: ... here.
+
+2012-03-05 Richard Henderson <rth@redhat.com>
+
+ PR target/52481
+ * config/m68k/sync.md (atomic_test_and_set): Use expand_simple_unop
+ instead of calling negqi2 directly.
+
+2012-03-05 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/52463
+ * trans-mem.c (tm_region_init): Use last_basic_block.
+
+2012-03-05 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.h (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook.
+ * config/sh/sync.md (atomic_test_and_set): New expander.
+ (tasb, atomic_test_and_set_soft): New insns.
+ * config/sh/sh.opt (menable-tas): New option.
+ * doc/invoke.texi (SH Options): Document it.
+
+2012-03-05 Richard Guenther <rguenther@suse.de>
+
+ * cfgloop.c (verify_loop_structure): Verify dominators before
+ using them.
+ * graphite-clast-to-gimple.c (graphite_verify): Do not verify
+ dominators from here.
+ * graphite-scop-detection.c (create_sese_edges): Likewise.
+ * loop-doloop.c (doloop_optimize_loops): Likewise.
+ * loop-init.c (loop_optimizer_init): Likewise.
+ * loop-unroll.c (unroll_and_peel_loops): Likewise.
+ * loop-unswitch.c (unswitch_loops): Likewise.
+ * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise.
+ * tree-parloops.c (parallelize_loops): Likewise. Verify
+ only when checking is enabled.
+ * tree-loop-distribution.c (tree_loop_distribution): Likewise.
+
+2012-03-05 Bernd Schmidt <bernds@codesourcery.com>
+
+ * genautomata.c (parse_automata_opt): New static function.
+ (initiate_automaton_gen): Remove all option handling code. Remove
+ argc argument. All callers changed.
+ (main): Call init_rtx_reader_args_cb with the new function as argument.
+
+2012-03-05 Richard Guenther <rguenther@suse.de>
+
+ * cfgexpand.c (gimple_expand_cfg): Free dominator info.
+ * tree-if-conv.c (combine_blocks): Free post-dominator info
+ after breaking it.
+ * tree-parloops.c (create_parallel_loop): Free and re-compute
+ dominator info after breaking it.
+
+2012-03-05 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52353
+ * optabs.h (trapv_unoptab_p): New function.
+ (trapv_binoptab_p): Likewise.
+ * optabs.c (expand_binop): Use emit_libcall_block_1 with
+ a proper equiv_may_trap argument.
+ (expand_unop): Likewise.
+ (emit_libcall_block_1): Take extra argument whether the
+ instruction may trap. Renamed from ...
+ (emit_libcall_block): ... this. New wrapper.
+
+2012-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51721
+ * tree-vrp.c (register_edge_assert_for_2): If comparing
+ lhs of right shift by constant with an integer constant,
+ add ASSERT_EXPRs for the rhs1 of the right shift.
+
+ * cfgrtl.c (cfg_layout_merge_blocks): Cleanup.
+
+2012-03-05 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (integer_zerop): Handle VECTOR_CSTs.
+ (integer_onep): Likewise.
+ (integer_all_onesp): Likewise.
+
+2012-03-05 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (*umaddqihi4.2): New insn-and-split.
+
+2012-03-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (pro_epilogue_adjust_stack): Check Pmode
+ instead of TARGET_64BIT.
+
+2012-03-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_expand_prologue): Check Pmode to set
+ adjust_stack_insn.
+
+2012-03-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_print_operand_address): Only handle
+ zero-extended DImode addresses.
+
+2012-03-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_print_operand) <case '+'>: Declare
+ taken and cputaken as bool.
+
+2012-03-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/constraints.md (Ya): New internal constraint.
+ * config/i386/i386.md (zero_extendsidi2): Remove expansion.
+ (*zero_extendsidi2_rex64): Add x,x alternative.
+ (*zero_extendsidi2): Ditto. Add o,0 alternative.
+ Remove flags reg clobber. Adjust corresponding splits.
+ (zero_extend<mode>si2): Macroize expander from zero_extendhisi2 and
+ zero_extendqisi2 expanders using SWI12 mode iterator.
+ (zero_extend<mode>si2_and): Macroize insn from
+ zero_extendhisi2_and and zero_extendqisi2_and. Merge corresponding
+ splitters.
+ (*zero_extend<mode>si2): Macroize insn from
+ *zero_extendhisi2_movzbl and *zero_extendqisi2_movzbl.
+ (*zero_extend*2_movzbl_and): Remove insn patterns.
+ (zero_extendqihi2_and): Merge corresponding splitter.
+ (*zero_extendqihi2): Rename from *zero_extendqihi2_movzbl.
+ (*zero_extend*2_movzbl_and): Remove insn patterns.
+ (*anddi_1): Split TYPE_IMOVX instructions.
+ (*andsi_1): Use Ya for alternative 2. Split TYPE_IMOVX instructions.
+ (*andhi_1): Ditto.
+ (and->zext splitter): Add splitter pattern.
+ (zero extend with andsi3 splitter): Adjust zero_extend pattern.
+
+2012-03-04 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi (C++ Dialect Options): Minor copy-edits to
+ x86-specific text.
+ (Debugging Options): Likewise.
+ (Optimize Options): Likewise.
+ (i386 and x86-64 Options): Discuss -march before -mtune, consistently
+ with other architectures. Use official processor names with correct
+ spelling/capitalization. Fix formatting and grammar issues.
+ (i386 and x86-64 Windows Options): Similar cleanup here.
+
+2012-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.md (abssi2): Add TARGET_SH1 condition.
+
+2012-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_dwarf_register_span): Don't apply
+ DBX_REGISTER_NUMBER.
+
+2012-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (shiftcosts): Return MAX_COST when the first
+ operand is CONST_INT. Take COSTS_N_INSNS into account.
+ (sh_rtx_costs): Don't apply COSTS_N_INSNS to the return value
+ of shiftcosts.
+
+2012-03-02 Richard Henderson <rth@redhat.com>
+
+ * optabs.c (expand_atomic_test_and_set): Honor
+ atomic_test_and_set_trueval even when atomic_test_and_set
+ optab is not in use.
+
+2012-03-02 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/48596
+ PR target/48806
+ * config/sh/sh.c (sh_register_move_cost): Increase cost between
+ GENERAL_REGS and FP_REGS for SImode.
+
+2012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/49486
+ * config/sh/sh.md (negdi2): Add TARGET_SH1 condition.
+ (absdi2): New expander.
+ (*absdi2, *negabsdi2, negdi_cond): New insns and splits.
+
+2012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sync.md (atomic_exchange<mode>): New expander.
+ (atomic_exchange<mode>_soft): New insn.
+
+2012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sync.md: Update copyright notice dates.
+ (atomic_compare_and_swap<mode>): Use SImode for return value instead
+ of QImode.
+ (atomic_compare_and_swap<mode>_soft): Likewise.
+
+2012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/31640
+ * config/sh/sh.h (LOOP_ALIGN): Move logic to sh_loop_align.
+ * config/sh/sh.c: Update copyright notice dates.
+ (sh_loop_align): Add logic from LOOP_ALIGN. Don't disable loop
+ alignment for TARGET_HARD_SH4.
+ (sh_option_override): Reduce default function alignment. Set
+ loop alignment to 4 bytes when not optimizing for size.
+
+2012-03-02 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ PR middle-end/50335
+ * doc/invoke.texi (floop-flatten): Remove.
+ * toplev.c (process_options): Remove references to flag_loop_flatten.
+ * tree-ssa-loop.c (gate_graphite_transform): Same.
+ * common.opt (floop-flatten): Obsolete.
+ * graphite-poly.c (apply_poly_transforms): Remove reference to
+ flag_loop_flatten.
+ * Makefile.in (graphite-flattening.o): Remove.
+ * graphite-flattening.c: Remove.
+
+2012-03-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
+ having mode compatible with the mode of previous compare. Substitute
+ compare mode of previous compare with the mode, compatible
+ with eliminated and previous compare.
+
+2012-03-02 Peter Bergner <bergner@vnet.ibm.com>
+
+ * config/rs6000/dfp.md (floatdidd2): New define_insn.
+
+2012-03-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_cc_modes_compatible): Declare CCZmode
+ compatible with CCGOCmode and CCGCmode.
+
+2012-03-02 Peter Bergner <bergner@vnet.ibm.com>
+
+ * config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands.
+
+2012-03-02 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * config/arm/arm.c (arm_sat_operator_match): New function.
+ * config/arm/arm-protos.h (arm_sat_operator_match): Add prototype.
+ * config/arm/arm.md ("insn" attribute): Add "sat" value.
+ ("SAT", "SATrev"): New code iterators.
+ ("SATlo", "SAThi"): New code iterator attributes.
+ ("*satsi_<SAT:code>"): New pattern.
+ ("*satsi_<SAT:code>_shift"): Likewise.
+ * config/arm/arm-fixed.md ("arm_ssatsihi_shift"): Add "insn"
+ and "shift" attributes.
+ ("arm_usatsihi"): Add "insn" attribute.
+ * config/arm/predicates.md (sat_shift_operator): Allow multiplication
+ by powers of two. Do not allow shift by 32.
+
+2012-03-02 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/46716
+ * config/i386/i386.c (construct_container): Use gen_reg_or_parallel
+ to pass the argument in the register of "natural" mode.
+
+2012-03-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52406
+ * tree-data-ref.h: Update documentation about DR_BASE_OBJECT.
+ (struct indices): Add unconstrained_base member.
+ (struct dr_alias): Remove unused vops member.
+ (DR_UNCONSTRAINED_BASE): New define.
+ * tree-data-ref.c (dr_analyze_indices): For COMPONENT_REFs
+ add indices to allow their disambiguation. Make DR_BASE_OBJECT
+ be an artificial access that covers the whole indexed object,
+ or mark it with DR_UNCONSTRAINED_BASE if we cannot do so. Canonicalize
+ plain decl base-objects to their MEM_REF variant.
+ (dr_may_alias_p): When the base-object of either data reference
+ has unknown size use only points-to information.
+ (compute_affine_dependence): Make dumps easier to read and
+ more verbose.
+ * tree-vect-data-ref.c (vector_alignment_reachable_p): Use
+ DR_REF when looking for packed references.
+ (vect_supportable_dr_alignment): Likewise.
+
+2012-03-02 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * config/arm/arm-ldmstm.ml (write_ldm_commutative_peephole):
+ Improve conditions for peepholes of loads followed by commutative
+ operators.
+ * config/arm/ldmstm.md: Regenerated.
+
+2012-03-02 Richard Guenther <rguenther@suse.de>
+
+ * BASE-VER: Set to 4.8.0.
+
+2012-03-01 Richard Earnshaw <rearnsha@arm.com>
+
+ * config.gcc (obsolete): Add all ARM targets using the FPA.
+ (with_fpu): Obsolete selection of the FPA or Maverick on ARM.
+ * doc/install.texi: Avoid references to obsolete ARM ports.
+
+2012-03-01 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * config/epiphany/epiphany.md (movmisalign<mode>): New patterns.
+
+2012-03-01 Jeremy Bennett <jeremy.bennett@embecosm.com>
+ Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * doc/extend.texi: Expand and update information on interrupt
+ attribute for Epiphany.
+
+2012-03-01 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh-protos.h: Update copyright notice dates.
+ * config/sh/sh.h: Likewise.
+ * config/sh/sh.md: Likewise.
+ * config/sh/constraints.md: Likewise.
+ * config/sh/predicates.md: Likewise.
+
+2012-03-01 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh-protos.h (tertiary_reload_operand): Remove dead function.
+ * config/sh/sh.c (tertiary_reload_operand): Likewise.
+
+2012-03-01 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/constraints.md: Fix comment typo.
+
+2012-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/52408
+ * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to
+ unsigned HOST_WIDE_INT.
+ (zvdep_imm64): Likewise.
+ (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT.
+ (vdepi_and): Likewise.
+ Likewise for unamed 64-bit patterns.
+ * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment.
+
+2012-03-01 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/52001
+ PR rtl-optimization/52417
+ * cselib.c (cselib_any_perm_equivs): New variable.
+ (cselib_reset_table): Check that it's not set when not
+ preserving constants.
+ (cselib_add_permanent_equiv): Set it.
+ (cselib_have_permanent_equivalences): New.
+ (cselib_init, cselib_finish): Reset it.
+ * cselib.h (cselib_have_permanent_equivalences): Declare.
+ * alias.c (get_addr): Restore earlier behavior when there
+ aren't permanent equivalences.
+
+2012-03-01 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/mn10300/mn10300-modes.def: Fix copyright notice.
+ * config/v850/v850-modes.def: Fix copyright notice.
+
+2012-03-01 Georg-Johann Lay <avr@gjlay.de>
+
+ * doc/extend.texi (AVR Built-in Functions): Document
+ __builtin_avr_flash_segment.
+
+ * config/avr/builtins.def (__builtin_avr_flash_segment): New entry.
+ * config/avr/avr.md (flash_segment, flash_segment1): New expanders.
+ (*split.flash_segment): New insn-and-split.
+ * config/avr/avr.c (avr_init_builtins): Add local variables:
+ const_memx_void_node, const_memx_ptr_type_node,
+ char_ftype_const_memx_ptr.
+
+2012-03-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52445
+ * tree-ssa-phiopt.c (struct name_to_bb): Remove ssa_name field,
+ add ssa_name_ver, offset and size fields and change store field
+ to bool.
+ (name_to_bb_hash, name_to_bb_eq): Adjust for the above changes.
+ (add_or_mark_expr): Likewise. Only consider previous stores
+ with the same size and offset.
+ (nt_init_block): Only look at gimple_assign_single_p stmts,
+ doesn't look at rhs2.
+
+2012-03-01 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52443
+ * tree-cfg.c (verify_gimple_assign_unary): Allow any
+ conversions from integral types to pointer types.
+
+2012-03-01 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in
+ defines for __UINT24_MAX__, __INT24_MAX__, __INT24_MIN__
+ unintentionally removed in r184616.
+
+2012-03-01 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
+
+ * doc/invoke.texi: Document AMD bdver2 and remove mentioning
+ 3DNow from bdver1.
+
+2012-02-29 Jakub Jelinek <jakub@redhat.com>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/52437
+ * config/i386/sse.md (vec_set<mode>_0): Swap "*r" and "fF"
+ alternatives, add "e" constraint to the new last alternative
+ and ! to last 3 alternatives.
+
+2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (modified_type_die): Set DW_AT_GNAT_descriptive_type and
+ DW_AT_artificial attributes at the end of the processing.
+ (gen_array_type_die): Likewise.
+ (gen_enumeration_type_die): Likewise.
+ (gen_struct_or_union_type_die): Likewise.
+ (add_gnat_descriptive_type_attribute): Do not suppress debug info for
+ the parent type.
+
+2012-02-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/52419
+ * expr.c (expand_assignment): If doing misaligned store that doesn't
+ cover all mode bits, perform a RMW cycle.
+
+ PR tree-optimization/52429
+ * tree-parloops.c (separate_decls_in_region_debug): Return early
+ if var is LABEL_DECL.
+
+2012-02-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/52424
+ * tree-ssa-dom.c (dom_opt_leave_block): Push a marker before
+ calling dom_thread_across_edge.
+
+2012-02-29 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c: Move definition of TARGET macros to end of file.
+
+2012-02-29 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr-protos.h (avr_output_bld): Remove unused prototype.
+ * config/avr/avr.c (avr_output_bld): Remove unused function.
+ (avr_out_sbxx_branch): Use "%T" to print bit position.
+
+2012-02-29 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md: Untabify.
+
+2012-02-29 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (eqne): New code iterator.
+ (*dec-and-branchsi): Use it in text peephole's condition.
+ (*dec-and-branchhi): Ditto.
+ (*dec-and-branchqi): Ditto.
+
+2012-02-29 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49939
+ * config/avr/avr.h (ASM_SPEC): Add -mno-skip-bug if we know that
+ the device does not have the skip-bug.
+
+2012-02-29 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * doc/invoke.texi (-msoft-atomic): Add more detailed description.
+ (-mbranch-cost, -mcbranchdi -mcmpeqdi -mfused-madd
+ -mpretend-cmove): New.
+
+2012-02-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/52397
+ * df.h (struct df_d): Adjust comment that hard_regs_live_count
+ doesn't count DEBUG_INSN refs.
+ * df-scan.c (df_ref_create_structure): Don't set DF_HARD_REG_LIVE
+ for DEBUG_INSN refs.
+
+2012-02-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ Partially revert:
+
+ 2012-02-20 Richard Guenther <rguenther@suse.de>
+ PR tree-optimization/52298
+ * tree-vect-stmts.c (vectorizable_load): Properly use
+ STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing outer loops.
+
+2012-02-28 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/51752
+ * gimple.h (gimple_in_transaction): New.
+ (gimple_set_in_transaction): New.
+ (struct gimple_statement_base): Add in_transaction field.
+ * tree-ssa-loop-im.c: (movement_possibility): Restrict movement of
+ transaction loads.
+ (tree_ssa_lim_initialize): Compute transaction bits.
+ * tree.h (compute_transaction_bits): Protoize.
+ * trans-mem.c (tm_region_init): Use the heap to store BB
+ auxilliary data.
+ (compute_transaction_bits): New.
+
+2012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * gcc.c (display_help): Document --help=common and sort entries
+ alphabetically.
+
+2012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * doc/install.texi: Document check-$LANG specific shortcuts
+
+2012-02-28 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ PR target/51534
+ * config/arm/arm.c (neon_builtin_data): Add entries for vcgeu
+ and vcgtu.
+ * config/arm/arm_neon.h: Regenerate.
+ * config/arm/neon.md (unspec): Add UNSPEC_VCGEU, and UNSPEC_VCGTU.
+ (neon_vcgeu): New insn.
+ (neon_vcgtu): Likewise.
+ * config/arm/neon.ml (s_8_32, u_8_32): New lists.
+ (ops): Unsigned comparison intrinsics call a different builtin.
+
+2012-02-28 Richard Guenther <rguenther@suse.de>
+
+ PR target/52407
+ * config/i386/i386.c (ix86_expand_vector_set): Fix element
+ ordering for the VEC_CONCAT for two element vectors for
+ V2SFmode, V2SImode and V2DImode.
+
+2012-02-28 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/49448
+ * config.gcc (arm*-*-linux*): Use an unambiguous pattern for
+ detecting big-endian triplets.
+
+2012-02-28 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (aapcs_vfp_is_call_or_return_candidate): Only use the machine
+ mode if there is no type information available.
+
+2012-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR tree-optimization/53207
+ * doc/invoke.texi: Document as experimental and relying on graphite.
+
+2012-02-28 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part
+ of initializer to changes from r184614.
+
+2012-02-28 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52395
+ * tree-sra.c (build_ref_for_offset): Also look at the base
+ TYPE_ALIGN when figuring out the alignment of the replacement.
+
+2012-02-28 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52402
+ * ipa-prop.c (ipa_modify_call_arguments): Properly use
+ mis-aligned types when creating the accesses at the call site.
+
+2012-02-28 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/builtins.def: New file.
+ * config/avr/t-avr (avr.o, avr-c.o): Depend on it.
+ * config/avr/avr.c (enum avr_builtin_id): Use it.
+ (avr_init_builtins): Use it. And use avr_bdesc.
+ (bdesc_1arg): Remove.
+ (bdesc_2arg): Remove.
+ (bdesc_3arg): Remove.
+ (struct avr_builtin_description): Add field n_args.
+ (avr_bdesc): New static variable using builtins.def.
+ (avr_expand_builtin): Use it.
+ Don't call avr_expand_delay_cycles if op0 is not CONST_INT.
+ (avr_fold_builtin): Fold AVR_BUILTIN_SWAP.
+ Don't fold AVR_BUILTIN_INSERT_BITS if arg0 is not INTEGER_CST.
+
+2012-02-28 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/52148
+ * config/avr/avr.md (movmem_<mode>): Replace match_operand that
+ match only one single hard register with respective hard reg rtx.
+ (movmemx_<mode>): Ditto.
+ * config/avr/avr.c (avr_emit_movmemhi): Adapt expanding to new
+ insn anatomy of movmem[x]_<mode>.
+ (avr_out_movmem): Same for printing assembler and operand usage.
+
+2012-02-28 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49868
+ PR target/52261
+ * doc/extend.texi (AVR Named Address Spaces): No more try to fix
+ address spaces located outside of device flash.
+
+ * config/avr/avr.h (base_arch_s): Remove field n_segments.
+ (mcu_type_s): Add field n_flash.
+ * config/avr/avr-devices.c (avr_arch_types): Remove .n_segments.
+ Set .have_elpm and .have_elpmx to 1 for avrxmega4 and avrxmega5.
+ (AVR_MCU): Add N_FLASH argument.
+ * config/avr/avr-mcus.def (AVR_MCU): Add initializer for .n_flash.
+ * config/avr/avr-c.c (avr_cpu_cpp_builtins): Only define built-in
+ macro __FLASH<n> if that address space makes sense for the device.
+ * config/avr/avr.c (avr_out_lpm): Don't try to fix address spaces
+ outside of target flash.
+ (avr_asm_named_section): Ditto.
+ (avr_asm_select_section): Ditto.
+ (avr_addr_space_convert): Ditto.
+ (avr_emit_movmemhi): Ditto.
+ (avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Error if
+ address space is outside of device flash.
+ (avr_insert_attributes): Ditto.
+ (avr_xload_libgcc_p): Use avr_current_device->n_flash instead of
+ avr_current_arch->n_segments.
+
+2012-02-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/52352
+ * config/i386/i386.md (*movabs<mode>_1): Enable only for TARGET_LP64.
+ (*movabs<mode>_2): Likewise.
+
+2012-02-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/52375
+ * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Use
+ s_register_operand in the test instead of REG_P. Don't call
+ gen_reg_rtx if it won't be used.
+
+ PR tree-optimization/52376
+ * ipa-split.c (split_function): Ignore CLOBBER stmts.
+
+2012-02-27 Stuart Henderson <shenders@gcc.gnu.org>
+
+ * ifcvt.c (noce_get_condition): Check condition variable is not
+ small_register_classes_for_mode_p before accepting.
+
+2012-02-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints.
+
+2012-02-27 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ Revert:
+ 2012-01-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+ * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
+ tuning parameters.
+ * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
+
+2012-02-27 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro.
+
+2012-02-26 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/predicates.md: Remove blank lines.
+ * config/sh/sh.c: Fix typos in comments.
+ * config/sh/constraints.md: Likewise.
+ * config/sh/sh.md: Remove blank lines.
+ Fix typos in comments. Use ;; as comment characters.
+
+2012-02-26 Walter Lee <walt@tilera.com>
+
+ * config/tilegx/tilegx.c (match_pcrel_step2): Fix instruction pattern.
+ (replace_mov_pcrel_step2): Ditto.
+
+2012-02-25 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/52001
+ * alias.c (refs_newer_value_cb, refs_newer_value_p): New.
+ (get_addr): Walk canonical value's locs. Avoid returning VALUEs
+ and locs that reference values newer than the non-canonical value
+ at hand. Return the canonical value as a worst case.
+ (memrefs_conflict_p): Walk canonical value's locs.
+
+ PR debug/52001
+ * cselib.c (preserve_only_constants): Rename to...
+ (preserve_constants_and_equivs): ... this. Split out...
+ (invariant_or_equiv_p): ... this. Preserve plus expressions
+ of other preserved expressions too.
+ (cselib_reset_table): Adjust.
+ * var-tracking.c (reverse_op): Use canonical value to build
+ reverse operation.
+
+2012-02-23 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/i386.c (ix86_delegitimize_address): Handle
+ UNSPEC_PCREL plus displacement.
+
+2012-02-24 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/52261
+ * config/avr/avr.c (avr_out_movhi_mr_r_xmega): Use base
+ to test for unusedness in st X addressing.
+
+2012-02-24 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52361
+ * gimple.c (walk_gimple_op): Use predicates with less redundant tests.
+ (is_gimple_reg_type): Move inline ...
+ * gimple.h (is_gimple_reg_type): ... here.
+
+2012-02-24 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52361
+ * passes.c (execute_function_todo): When verifying SSA form
+ verify gimple form first.
+ * tree-ssa.c (verify_ssa): Do not verify gimple form here.
+
+2012-02-24 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52355
+ * fold-const.c (fold_addr_of_array_ref_difference): New function.
+ (fold_binary_loc): Use it to extend the existing &a[i] - &a[j] folding.
+
+2012-02-13 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * tree-if-conv (predicate_scalar_phi): Commentary typo fix.
+
+2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * tree-phinodes.c (make_phi_node): Mark static.
+ * tree-flow.h (make_phi_node): Remove extern decl.
+ * doc/gimple.texi (make_phi_node): Remove documentation.
+
+2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * tree-into-ssa (update_ssa): Avoid trailing whitespace in dump_file.
+ * tree-ssa-sccvn.c (print_scc): Ditto.
+
+2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * doc/passes.texi (Full redundancy elimination): Fix typo.
+
+2012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * doc/invoke.texi (-fdse, -fdce): Remove duplicate entries.
+
+2012-02-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR bootstrap/52287
+ * haifa-sched.c (rank_for_schedule): Stabilize sort for debug insns.
+
+2012-02-23 Uros Bizjak <ubizjak@gmail.com>
+
+ PR c/52290
+ * c-decl.c (start_function): Exit early if decl1 is not FUNTION_DECL.
+
+2012-02-23 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (code_stdname): Add ior, xor.
+ (xior): New code iterator.
+ (*<code_stdname><mode>qi.byte0): Use xior instead of ior.
+ (*<code_stdname><mode>qi.byte1-3): Ditto.
+
+2012-02-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52019
+ * ipa-split.c (find_return_bb, find_retval, visit_bb): Ignore
+ CLOBBER stmts.
+
+2012-02-23 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of
+ HAVE_INITFINI_ARRAY to work around namespace pollution in
+ certain versions of newlib system headers.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT
+ instead of HAVE_INITFINI_ARRAY.
+
+2012-02-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/52330
+ * config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x
+ is not offsettable memory reference.
+
+2012-02-22 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/18145
+ * config/avr/avr.c (avr_asm_output_aligned_decl_common): Skip
+ setting avr_need_clear_bss_p for __gnu_lto* symbols.
+
+2012-02-22 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.h (avr_accumulate_outgoing_args): Return int.
+ * config/avr/avr.c (avr_accumulate_outgoing_args): Return int.
+
+2012-02-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (LIB_TLS_SPEC): Enforce use of alternate thread
+ library on Solaris 8 even without TLS support.
+ * configure: Regenerate.
+
+2012-02-22 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52329
+ * gimple-fold.c (fold_stmt_1): Also canonicalize ADDR_EXPRs
+ for GIMPLE_DEBUG stmts.
+
+2012-02-22 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/51782
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Set address space
+ according to the base object.
+
+2012-02-22 Georg-Johann Lay <avr@gjlay.de>
+
+ PR rtl-optimization/50063
+ * config/avr/avr.md (movhi_sp_r): Handle -1 (unknown IRQ state)
+ and 2 (8-bit SP) in operand 2.
+ * config/avr/avr.c (avr_prologue_setup_frame): Adjust prologue
+ setup to use movhi_sp_r instead of vanilla move to write SP.
+ Adjust REG_CFA notes to superseed unspec.
+ (expand_epilogue): Adjust epilogue setup to use movhi_sp_r instead
+ of vanilla move.
+ As function body might contain CLI or SEI: Use irq_state 0 (IRQ
+ known to be off) only with TARGET_NO_INTERRUPTS. Never use
+ irq_state 1 (IRQ known to be on) here.
+
+2012-02-21 Bernd Schmidt <bernds@codesourcery.com>
+
+ * ira.c (check_allocation): Use REG_WORDS_BIG_ENDIAN, not
+ WORDS_BIG_ENDIAN.
+ * ira-color.c (setup_profitable_hard_regs, check_hard_reg_p,
+ assign_hard_reg): Likewise.
+
+2012-02-21 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (neghi2): Remove "!d,0" alternative. Tweak "r,0".
+
+2012-02-21 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md
+ (*dec-and-branchhi!=-1.d.clobber): New text peephole.
+ (*dec-and-branchhi!=-1.l.clobber): New text peephole.
+
+2012-02-21 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr-protos.h (avr_accumulate_outgoing_args): Move
+ prototype from here to...
+ * config/avr/avr.h: ...here.
+
+2012-02-21 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/52294
+ * thumb2.md (thumb2_shiftsi3_short): Split register and
+ immediate shifts. For register shifts tie operands 0 and 1.
+ (peephole2 for above): Check that register-controlled shifts
+ have suitably tied operands.
+
+2012-02-21 Quentin Neill <quentin.neill@amd.com>
+
+ PR target/52137
+ * config/i386/bdver1.md (bdver1_call, bdver1_push,
+ bdver1_pop, bdver1_leave, bdver1_lea, bdver1_imul_DI, bdver1_imul,
+ bdver1_imul_mem_DI, bdver1_imul_mem, bdver1_idiv, bdver1_idiv_mem,
+ bdver1_str, bdver1_idirect, bdver1_ivector, bdver1_idirect_loadmov,
+ bdver1_idirect_load, bdver1_ivector_load, bdver1_idirect_movstore,
+ bdver1_idirect_both, bdver1_ivector_both, bdver1_idirect_store,
+ bdver1_ivector_store, bdver1_fldxf, bdver1_fld, bdver1_fstxf,
+ bdver1_fst, bdver1_fist, bdver1_fmov_bdver1, bdver1_fadd_load,
+ bdver1_fadd, bdver1_fmul_load, bdver1_fmul, bdver1_fsgn,
+ bdver1_fdiv_load, bdver1_fdiv, bdver1_fpspc_load, bdver1_fpspc,
+ bdver1_fcmov_load, bdver1_fcmov, bdver1_fcomi_load,
+ bdver1_fcomi, bdver1_fcom_load, bdver1_fcom,
+ bdver1_fxch, bdver1_ssevector_avx128_unaligned_load,
+ bdver1_ssevector_avx256_unaligned_load,
+ bdver1_ssevector_sse128_unaligned_load,
+ bdver1_ssevector_avx128_load, bdver1_ssevector_avx256_load,
+ bdver1_ssevector_sse128_load, bdver1_ssescalar_movq_load,
+ bdver1_ssescalar_vmovss_load, bdver1_ssescalar_sse128_load,
+ bdver1_mmxsse_load, bdver1_sse_store_avx256, bdver1_sse_store,
+ bdver1_mmxsse_store_short, bdver1_ssevector_avx256,
+ bdver1_movss_movsd, bdver1_mmxssemov, bdver1_sselog_load_256,
+ bdver1_sselog_256, bdver1_sselog_load, bdver1_sselog,
+ bdver1_ssecmp_load, bdver1_ssecmp, bdver1_ssecomi_load,
+ bdver1_ssecomi, bdver1_vcvtX2Y_avx256_load, bdver1_vcvtX2Y_avx256,
+ bdver1_ssecvt_cvtss2sd_load, bdver1_ssecvt_cvtss2sd,
+ bdver1_sseicvt_cvtsi2sd_load, bdver1_sseicvt_cvtsi2sd,
+ bdver1_ssecvt_cvtpd2ps_load, bdver1_ssecvt_cvtpd2ps,
+ bdver1_ssecvt_cvtdq2ps_load, bdver1_ssecvt_cvtdq2ps,
+ bdver1_ssecvt_cvtdq2pd_load, bdver1_ssecvt_cvtdq2pd,
+ bdver1_ssecvt_cvtps2pd_load, bdver1_ssecvt_cvtps2pd,
+ bdver1_ssecvt_cvtsX2si_load, bdver1_ssecvt_cvtsX2si,
+ bdver1_ssecvt_cvtpd2pi_load, bdver1_ssecvt_cvtpd2pi,
+ bdver1_ssecvt_cvtpd2dq_load, bdver1_ssecvt_cvtpd2dq,
+ bdver1_ssecvt_cvtps2pi_load, bdver1_ssecvt_cvtps2pi,
+ bdver1_ssemuladd_load_256, bdver1_ssemuladd_256,
+ bdver1_ssemuladd_load, bdver1_ssemuladd, bdver1_sseimul_load,
+ bdver1_sseimul, bdver1_sseiadd_load, bdver1_sseiadd,
+ bdver1_ssediv_double_load_256, bdver1_ssediv_double_256,
+ bdver1_ssediv_single_load_256, bdver1_ssediv_single_256,
+ bdver1_ssediv_double_load, bdver1_ssediv_double,
+ bdver1_ssediv_single_load, bdver1_ssediv_single, bdver1_sseins):
+ Add "bdver2" attribute.
+
+2012-02-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_option_override): Make -mhard-dfp the
+ default if possible and not specified otherwise.
+
+2012-02-21 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52314
+ * gimplify.c (create_tmp_from_val): Use the main variant type
+ for the type of the temporary we create.
+
+2012-02-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52324
+ * gimplify.c (gimplify_expr): When re-gimplifying expressions
+ do not gimplify a MEM_REF address operand if it is already
+ in suitable form.
+
+2012-02-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.md ("fixuns_trunc<mode>si2"): Replace
+ TARGET_HARD_FLOAT with TARGET_HARD_DFP.
+
+2012-02-21 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-stmts.c (vectorizable_load): Use pre-computed
+ nested_in_vect_loop.
+
+2012-02-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52318
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Add
+ vdef also to non-pure/const call stmts in the sequence.
+
+2012-02-21 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/vms-ld.c (main): Fix IDENTIFICATION padding.
+
+2012-02-20 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (load_pcrel_sym<P:mode>): Explain why we
+ don't use the "rd %pc" instruction on v9 for PIC register loads.
+
+2012-02-20 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/52141
+ * trans-mem.c (ipa_tm_scan_irr_block): Error out on GIMPLE_ASM's
+ in a transaction safe function.
+
+2012-02-20 Kai Tietz <ktietz@redhat.com>
+
+ PR target/52238
+ * stor-layout.c (place_field): Handle desired_align for
+ ms-bitfields, too.
+
+2012-02-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52298
+ * tree-vect-stmts.c (vectorizable_store): Properly use
+ STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
+ outer loops.
+ (vectorizable_load): Likewise.
+ * tree-vect-data-refs.c (vect_analyze_data_ref_access):
+ Access DR_STEP after ensuring it is not NULL.
+
+2012-02-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52286
+ * fold-const.c (fold_binary_loc): For (X & C1) | C2
+ optimization use double_int_to_tree instead of build_int_cst_wide,
+ rewrite to use double_int vars.
+
+2012-02-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/50166
+ * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Require gcc_SUN_LD_VERSION.
+ Define _start.
+ Remove -e 0 from $gcc_cv_ld invocation.
+ Only use __GLIBC_PREREQ if defined.
+ Enable on Solaris since Solaris 8 patch.
+ (gcc_SUN_LD_VERSION): New macro.
+ * configure.ac (ld_ver) <*-*-solaris2*>: Refer to
+ gcc_SUN_LD_VERSION for version number format.
+ * configure: Regenerate.
+ * varasm.c (get_elf_initfini_array_priority_section): Set
+ SECTION_NOTYPE for non-default priority.
+ Use get_section instead of get_unnamed_section to emit
+ .init_array/.fini_array with default priority.
+
+2012-02-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable.
+ (mips_get_tp): Set it. Record that __mips16_rdhwr binds locally.
+ (mips_start_unique_function, mips_output_mips16_rdhwr)
+ (mips_code_end): New functions.
+ (TARGET_ASM_CODE_END): Define.
+
+2012-02-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips16_build_call_stub): Add CFI information
+ to stubs with non-sibling calls.
+
+2012-02-18 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi (-fira-* options): Copy-edit.
+ (ira-* parameters): Copy-edit.
+
+2012-02-17 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi: Minor copy-edits to bring into conformance with
+ GCC coding conventions.
+
+2012-02-17 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi: Consistently hyphenate "big-endian"/"little-endian"
+ when used as adjectives.
+
+2012-02-16 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi: Clean up "that"/"which" confusion.
+
+2012-02-17 Steven Bosscher <steven@gcc.gnu.org>
+
+ * system.h: Poison SMALL_REGISTER_CLASSES
+ * config/rl78/rl78.h: Replace SMALL_REGISTER_CLASSES with hook.
+ * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES.
+
+2012-02-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52285
+ * tree-tailcall.c (find_tail_calls): Ignore gimple_clobber_p stmts
+ when deciding if a call is a tail call or tail recursion.
+
+2012-02-16 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
+ interger-constant displacement for UNSPEC_PCREL.
+
+2012-02-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/52208
+ * ira-costs.c (scan_one_insn): Don't decrease mem_cost
+ for MEMs with REG_EQUIV, if the MEM isn't general_operand.
+
+ PR tree-optimization/52255
+ * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): If
+ loop->header has virtual PHI, but exit_e->dest doesn't, add
+ virtual PHI to exit_e->dest and adjust all uses after the loop.
+
+ PR debug/52260
+ * dwarf2out.c (copy_decls_walk): Fill in *slot before traversing
+ children with clone_tree_hash, not after it.
+
+2012-02-16 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin.h (ASM_OUTPUT_LABELREF): Add user label prefix for
+ extended identifiers.
+
+2012-02-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/51929
+ * cgraphunit.c (verify_edge_corresponds_to_fndecl): If node is
+ a same_body_alias, also test whether e->callee isn't a former
+ or current clone of the decl this is a same body alias of.
+
+ PR translation/52264
+ * cgraphunit.c (verify_cgraph_node): Fix a typo.
+
+2012-02-15 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi: Clean up "n-bit/byte/word" modifiers.
+
+2012-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/52199
+ * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
+ force_reg instead of copy_to_reg for better optimization. Force
+ non-register or memory operands into a register.
+
+2012-02-15 Andrew MacLeod <amacleod@redhat.com>
+
+ * extend.texi: Reserve upper bits of memory model for future use.
+
+2012-01-15 Georg-Johann Lay <avr@gjlay.de>
+ Anatoly Sokolov <aesok@post.ru>
+ Eric Weddington <eric.weddington@atmel.com>
+
+ PR target/52261
+ * config/avr/avr-devices.c (avr_arch_types): Add avrxmega2,
+ avrxmega4, avrxmega5, avrxmega6, avrxmega7.
+ Rewrite initializers for .macro.
+ * config/avr/avr-mcus.def (AVR_MCU): Add known MCUs:
+ avrxmega2: atxmega16a4, atxmega16d4, atxmega16x1, atxmega32a4
+ atxmega32d4, atxmega32x1.
+ avrxmega4: atxmega64a3, atxmega64d3.
+ avrxmega5: atxmega64a1, atxmega64a1u.
+ avrxmega6: atxmega128a3, atxmega128d3, atxmega192a3, atxmega192d3,
+ atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256d3.
+ avrxmega7: atxmega128a1, atxmega128a1u.
+ * config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2,
+ ARCH_AVRXMEGA4, ARCH_AVRXMEGA5, ARCH_AVRXMEGA6, ARCH_AVRXMEGA7.
+ (struct base_arch_s): Rename reserved to xmega_p.
+ Rename reserved2 to have_rampd.
+ (AVR_XMEGA): New define.
+ (AVR_HAVE_RAMPD, AVR_HAVE_RAMPX, AVR_HAVE_RAMPY): New defines.
+ (AVR_HAVE_RAMPZ): Change definition to fit xmega.
+ * config/avr/predicates.md (io_address_operand): Take into
+ account SFR offset.
+ (low_io_address_operand): Ditto.
+ (high_io_address_operand): Ditto.
+ * config/avr/avr.md (isa): Add alternatives no_xmega, xmega.
+ (enabled, movhi_sp_r): Use them.
+ * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use
+ cpp_define_formatted to built-in define __AVR_ARCH__.
+ (__AVR_XMEGA__): New built-in define.
+ (__AVR_HAVE_RAMPD__): New built-in define.
+ (__AVR_HAVE_RAMPX__): New built-in define.
+ (__AVR_HAVE_RAMPY__): New built-in define.
+ (__AVR_HAVE_RAMPZ__): Change condition when to built-in define it.
+
+ * config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy.
+ (avr_option_override): Initialize them.
+ (sreg_rtx, rampd_rtx, rampx_rtx, rampy_rtx): New GTY rtx.
+ (avr_init_expanders): Initialize them. No more block several calls.
+ (emit_push_sfr): New static function.
+ (avr_prologue_setup_frame): Use it to push SREG, RAMPD/X/Y/Z as needed.
+ Handle AVR_XMEGA.
+ (expand_epilogue): Handle AVR_XMEGA. Pop RAMPD/X/Y/Z as needed.
+ (avr_print_operand): Print addreeses as symbols for
+ RAMPX, RAMPY, RAMPD, CCP.
+ (output_movhi): Handle AVR_XMEGA when writing to SP.
+ (avr_out_movhi_mr_r_xmega): New static function.
+ (out_movhi_mr_r): Forward to avr_out_movhi_mr_r_xmega for AVR_XMEGA.
+ (avr_file_start): Print symbol defines for __RAMPX__, __RAMPY__,
+ __RAMPD__, __CCP__ as needed.
+
+ * config/avr/multilib.h: Regenerate.
+ * config/avr/t-multilib: Regenerate.
+ * config/avr/avr-tables.opt: Regenerate.
+
+2012-02-15 Tobias Grosser <grosser@fim.uni-passau.de>
+
+ PR tree-optimization/50561
+ * graphite-flattening.c (lst_project_loop): Do not
+ remove old scattering dimensions after flattening.
+ (lst_do_flatten): Likewise.
+
+2012-02-15 Georg-Johann Lay <avr@gjlay.de>
+
+ * doc/extend.texi (AVR Built-in Functions): Remove doc for
+ __builtin_avr_map8, __builtin_avr_map16.
+ Document __builtin_avr_insert_bits.
+
+ * config/avr/avr.md (map_bitsqi, map_bitshi): Remove.
+ (insert_bits): New insn.
+ (adjust_len.map_bits): Rename to insert_bits.
+ (UNSPEC_MAP_BITS): Rename to UNSPEC_INSERT_BITS.
+ * avr-protos.h (avr_out_map_bits): Remove.
+ (avr_out_insert_bits, avr_has_nibble_0xf): New.
+ * config/avr/constraints.md (Cxf,C0f): New.
+ * config/avr/avr.c (avr_cpu_cpp_builtins): Remove built-in
+ defines __BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16.
+ New built-in define __BUILTIN_AVR_INSERT_BITS.
+ * config/avr/avr.c (TARGET_FOLD_BUILTIN): New define.
+ (enum avr_builtin_id): Add AVR_BUILTIN_INSERT_BITS.
+ (avr_move_bits): Rewrite.
+ (avr_fold_builtin, avr_map_metric, avr_map_decompose): New static
+ functions.
+ (avr_map_op_t): New typedef.
+ (avr_map_op): New static variable.
+ (avr_out_insert_bits, avr_has_nibble_0xf): New functions.
+ (adjust_insn_length): Handle ADJUST_LEN_INSERT_BITS.
+ (avr_init_builtins): Add definition for __builtin_avr_insert_bits.
+ (bdesc_3arg, avr_expand_triop_builtin): New.
+ (avr_expand_builtin): Use them. And handle AVR_BUILTIN_INSERT_BITS.
+ (avr_revert_map, avr_swap_map, avr_id_map, avr_sig_map): Remove.
+ (avr_map_hamming_byte, avr_map_hamming_nonstrict): Remove.
+ (avr_map_equal_p, avr_map_sig_p): Remove.
+ (avr_out_swap_bits, avr_out_revert_bits, avr_out_map_bits): Remove.
+ (bdesc_2arg): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
+ (adjust_insn_length): Remove handling for ADJUST_LEN_MAP_BITS.
+ (enum avr_builtin_id): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
+ (avr_init_builtins): Remove __builtin_avr_map8, __builtin_avr_map16.
+ (avr_expand_builtin): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
+
+2012-02-14 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/c6x/c6x.md (reserve_cycles): New attribute.
+ * config/c6x/c6x.c (c6x_sched_reorder_1): Ensure insns we predicate
+ don't reserve functional units after the branch occurs.
+
+2012-02-14 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/52142
+ * ipa-inline.c (can_inline_edge_p): Do not inline tm_pure
+ functions into non-tm_pure functions.
+
+2012-02-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR lto/52178
+ * gimple.c (iterative_hash_gimple_type): Use RECORD_OR_UNION_TYPE_P.
+ (iterative_hash_canonical_type): Likewise.
+ * tree-ssa-pre.c (fini_pre): Clean up the CFG only after purging all
+ the dead edges.
+
+2012-02-14 Bernd Schmidt <bernds@codesourcery.com>
+
+ * haifa-sched.c (prune_ready_list): Ensure that if there is a
+ sched-group insn, it either remains alone or the entire list is pruned.
+
+2012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/install.texi (Prerequisites): Fix grammar.
+ (Configuration): Likewise.
+
+2012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/install.texi (Prerequisites): Suggest building GMP, MPFR and
+ MPC as part of GCC before describing configuring with --with-gmp etc.
+ (Installing GCC: Configuration): --with-gmp etc. aren't needed if
+ sources are present.
+
+2012-02-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/51950
+ * dwarf2out.c (clone_tree_hash): New function.
+ (copy_decls_walk): Use it instead of clone_tree.
+
+2012-02-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52244
+ PR tree-optimization/51528
+ * tree-sra.c (analyze_access_subtree): Only create INTEGER_TYPE
+ replacements for integral types.
+
+2012-02-14 Walter Lee <walt@tilera.com>
+
+ * config.gcc: Handle tilegx and tilepro.
+ * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
+ tilegx and tilepro.
+ Add HAVE_AS_TLS check for tilegx and tilepro.
+ * configure: Regenerate.
+ * doc/contrib.texi: Add Mat Hostetter and self.
+ * doc/extend.texi (TILE-Gx Built-in Functions): New node.
+ Document instruction intrinsics and network accessing intrinsics.
+ (TILEPro Built-in Functions): New node. Document instruction
+ intrinsics and network accessing intrinsics.
+ * doc/install.texi (Specific, tilegx-*-linux*): Document it.
+ (Specific, tilepro-*-linux*): Likewise.
+ * doc/invoke.texi (TILE-Gx Options): New section.
+ (TILEPro Options): New section.
+ * doc/md.texi (TILE-Gx): New section.
+ (TILEPro): New section.
+ * common/config/tilegx/tilegx-common.c: New file.
+ * common/config/tilepro/tilepro-common.c: New file.
+ * config/tilegx/constraints.md: New file.
+ * config/tilegx/linux.h: New file.
+ * config/tilegx/mul-tables.c: New file.
+ * config/tilegx/predicates.md: New file.
+ * config/tilegx/sync.md: New file.
+ * config/tilegx/t-tilegx: New file.
+ * config/tilegx/tilegx-builtins.h: New file.
+ * config/tilegx/tilegx-c.c: New file.
+ * config/tilegx/tilegx-generic.md: New file.
+ * config/tilegx/tilegx-modes.def: New file.
+ * config/tilegx/tilegx-multiply.h: New file.
+ * config/tilegx/tilegx-protos.h: New file.
+ * config/tilegx/tilegx.c: New file.
+ * config/tilegx/tilegx.h: New file.
+ * config/tilegx/tilegx.md: New file.
+ * config/tilegx/tilegx.opt: New file.
+ * config/tilepro/constraints.md: New file.
+ * config/tilepro/gen-mul-tables.cc: New file.
+ * config/tilepro/linux.h: New file.
+ * config/tilepro/mul-tables.c: New file.
+ * config/tilepro/predicates.md: New file.
+ * config/tilepro/t-tilepro: New file.
+ * config/tilepro/tilepro-builtins.h: New file.
+ * config/tilepro/tilepro-c.c: New file.
+ * config/tilepro/tilepro-generic.md: New file.
+ * config/tilepro/tilepro-modes.def: New file.
+ * config/tilepro/tilepro-multiply.h: New file.
+ * config/tilepro/tilepro-protos.h: New file.
+ * config/tilepro/tilepro.c: New file.
+ * config/tilepro/tilepro.h: New file.
+ * config/tilepro/tilepro.md: New file.
+ * config/tilepro/tilepro.opt: New file.
+
+2012-02-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52210
+ * tree-vect-slp.c (vect_get_and_check_slp_defs): Call
+ vect_model_simple_cost with two entry vect_def_type array instead
+ of an address of dt.
+
+2012-02-14 Richard Guenther <rguenther@suse.de>
+
+ PR lto/52178
+ * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
+ Do not stream DECL_QUALIFIER.
+ * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
+ * tree.c (free_lang_data_in_decl): Free DECL_QUALIFIER.
+ (find_decls_types_r): Do not walk DECL_QUALIFIER.
+
+2012-02-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/52181
+ * c-decl.c (merge_decls): Copy DECL_USER_ALIGN bit from olddecl to
+ newdecl.
+
+2012-02-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/52172
+ * cselib.h (cselib_subst_to_values_from_insn): New prototype.
+ * cselib.c (cselib_subst_to_values_from_insn): New function.
+ * sched-deps.c (add_insn_mem_dependence,
+ sched_analyze_1, sched_analyze_2): Use it.
+
+2012-02-13 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/52214
+ * predict.c (predict_paths_for_bb): Fix thinko in prevoius patch.
+
+2012-02-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
+ (GTM_SELF_SPECS): Define if not already defined.
+ (driver_self_specs): Add GTM_SELF_SPECS.
+ * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
+ (GTM_SELF_SPECS): Define.
+ * config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
+ * config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
+
+2012-02-13 Jakub Jelinek <jakub@redhat.com>
+
+ * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right
+ away if seen.
+
+ * cselib.c (dump_cselib_val): Don't assume l->setting_insn is non-NULL.
+
+ PR middle-end/52230
+ * omp-low.c (expand_omp_for): If a static schedule without chunk size
+ has NULL region->cont, force fd.chunk_size to be integer_zero_node.
+
+2012-02-13 Andrew MacLeod <amacleod@redhat.com>
+
+ PR c/52190
+ * doc/extend.texi : Fix another __atomic_compare_exchange typo.
+
+2012-02-13 Richard Guenther <rguenther@suse.de>
+
+ PR translation/52211
+ * passes.c (enable_disable_pass): Fix typo.
+
+2012-02-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/52209
+ * expr.c (expand_expr_real_2) <case BIT_NOT_EXPR>: Only expand using
+ XOR for reduce_bit_field if type is unsigned.
+
+2012-02-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): In 64-bit mode,
+ disallow changes from SFmode to mode with different size in FP regs.
+
+2012-02-12 Robert Millan <rmh@gnu.org>
+ Gerald Pfeifer <gerald@pfeifer.com>
+
+ * ginclude/stddef.h [__FreeBSD_kernel__] (__size_t): Do not define.
+ Tweak comment.
+
+2012-02-11 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR rtl-optimization/52175
+ * reorg.c (fill_slots_from_thread): Don't apply add/sub optimization
+ to frame-related instructions.
+
+2012-02-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/51910
+ * tlink.c (demangled_hash_entry): Change mangled to a VEC.
+ (demangle_new_symbols): Fill it.
+ (scan_linker_output): Walk it.
+ (start_tweaking): Split out from scan_linker_output.
+ (maybe_tweak): Update sym->chosen.
+ * Makefile.in (COLLECT2_OBJS): Add vec.o and gcc-none.o
+
+2012-02-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/52132
+ * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use get_true_reg.
+
+2012-02-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
+ having the same mode as previous compare.
+
+2012-02-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c (sparc_flat_expand_prologue): Use emit_use.
+ * config/sparc/sparc.md (UNSPECV_GOTO): Delete.
+ (nonlocal_goto_internal): Likewise.
+ (nonlocal_goto): Emit a use and an indirect jump directly.
+
+2012-02-10 Andrew MacLeod <amacleod@redhat.com>
+
+ PR c/52190
+ * doc/extend.texi : Update comments for __atomic_compare_exchange and
+ __atomic_{is,always}_lock_free.
+
+2012-02-10 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/52146
+ * config/i386/i386.c (ix86_legitimate_address_p): Disallow
+ negative constant address for TARGET_X32.
+
+2012-02-10 Richard Henderson <rth@redhat.com>
+
+ * tree-ssa-dce.c (propagate_necessity): Handle GIMPLE_TRANSACTION.
+ * tree-ssa-operands.c (parse_ssa_operands): Add virtual operands
+ for GIMPLE_TRANSACTION. Tidy if's into a switch.
+
+2012-02-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+ Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/50031
+ * targhooks.c (default_builtin_vectorization_cost): Handle
+ vec_promote_demote.
+ * target.h (enum vect_cost_for_stmt): Add vec_promote_demote.
+ * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle
+ all types of reduction and pattern statements.
+ (vect_estimate_min_profitable_iters): Likewise.
+ * tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function.
+ (vect_get_load_cost): Use vec_perm for permutations; add dump logic
+ for explicit realigns.
+ (vectorizable_conversion): Call vect_model_promotion_demotion_cost.
+ * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
+ vec_promote_demote.
+ * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
+ * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update
+ vec_perm for VSX and handle vec_promote_demote.
+
+2012-02-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/52177
+ * builtins.c (fold_builtin_atomic_always_lock_free,
+ expand_builtin_atomic_always_lock_free,
+ fold_builtin_atomic_is_lock_free, expand_builtin_atomic_is_lock_free):
+ Return and/or test boolean_true_node/boolean_false_node instead of
+ integer_one_node/integer_zero_node.
+
+2012-02-10 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/48600
+ * predict.c (predict_paths_for_bb): Prevent looping.
+ (predict_paths_leading_to_edge, predict_paths_leading_to): Update.
+
+2012-02-10 Roman Zhuykov <zhroma@ispras.ru>
+
+ * config/arm/arm.c (output_move_double): In one case properly
+ count number of instructions that will be emitted.
+
+2012-02-10 Richard Guenther <rguenther@suse.de>
+
+ PR translation/52193
+ * cgraphunit.c (cgraph_mark_functions_to_output): Fix typo.
+
+2012-02-09 Peter Bergner <bergner@vnet.ibm.com>
+
+ PR middle-end/52140
+ * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.
+
+2012-02-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/52165
+ * var-tracking.c (emit_note_insn_var_location): If
+ EMIT_NOTE_BEFORE_INSN and insn is NOTE_INSN_CALL_ARG_LOCATION,
+ emit it before next non-NOTE_INSN_CALL_ARG_LOCATION
+ non-NOTE_DURING_CALL_P insn.
+
+2012-02-09 Bin Cheng <bin.cheng@arm.com>
+
+ PR middle-end/51867
+ * builtins.c (expand_builtin): Don't check DECL_ASSEMBLER_NAME_SET_P.
+
+2012-02-08 Magnus Granberg <zorry@gentoo.org>
+
+ PR driver/48524
+ * gcc.c (switch_matches) Support switches with separated form,
+ -D and -U.
+
+2012-02-08 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (SREG_ADDR): Remove constant definition.
+ (SP_ADDR): Ditto.
+ (RAMPZ_ADDR): Ditto.
+ * config/avr/avr.c (avr_addr_t): New typedef.
+ (avr_addr): New struct to hold RAM address of SPL, SPH, RAMPZ, SREG.
+ (avr_init_expanders): Initialize it.
+ (expand_prologue): Use avr_addr instead of RAMPZ_ADDR, SP_ADDR,
+ SREG_ADDR.
+ (expand_epilogue): Ditto.
+ (avr_print_operand): Ditto.
+ (avr_file_start): Ditto.
+ (avr_emit_movmemhi): Ditto.
+
+2012-02-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46886
+ * tree-flow.h (do_while_loop_p): Declare.
+ * tree-ssa-loop-ch.c (do_while_loop_p): Export.
+ * tree-parloops.c (parallelize_loops): Only parallelize do-while loops.
+
+2012-02-08 Andrew MacLeod <amacleod@redhat.com>
+
+ * optabs.c (expand_atomic_load): Do not assume compare_and_swap will
+ always succeed for integers larger than a native word.
+
+2012-02-08 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/52170
+ * simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to
+ properly handle integer vector modes.
+
+2012-02-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR gcov-profile/52150
+ * coverage.c: Include target.h.
+ (build_var): Call targetm.strip_name_encoding on the assembler name.
+ Change one _ into . or $ if the target allows it.
+ * Makefile.in (coverage.o): Depend on $(TARGET_H).
+
+ PR rtl-optimization/52139
+ * cfgrtl.c (cfg_layout_merge_blocks): If BB_END
+ is a BARRIER after emit_insn_after_noloc, move BB_END
+ to the last non-BARRIER insn before it.
+
+2012-02-07 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR middle-end/24306
+ * config/mips/mips.c (mips_std_gimplify_va_arg_expr): New function.
+ (mips_gimplify_va_arg_expr): Call it instead of
+ std_gimplify_va_arg_expr.
+
+2012-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_trampoline_init): Fix error
+ message for -mno-pointers-to-nested-function.
+
+2012-02-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/51994
+ * expr.c (get_inner_reference): If there is an offset, add a negative
+ bit position to it (if any).
+
+2012-02-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/52060
+ * combine.c (try_combine): Add i0src_copy and i0src_copy2 variables,
+ copy i1src to i1src_copy whenever added_sets_2 && i1_feeds_i2_n already
+ before i1dest -> i1src substitution in newpat, copy i0src to i0src_copy
+ and/or i0src_copy2 when needed.
+
+2012-02-07 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.c (main): Don't look for lto-wrapper or lto-wrapper
+ or LTOPLUGINSONAME if have_c.
+
+ * config/freebsd-spec.h: Add comment about what macros can be defined
+ in this header.
+ (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): Don't define here.
+ * config/freebsd.h (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): But
+ here instead.
+
+2012-02-07 Richard Guenther <rguenther@suse.de>
+
+ * gimple-pretty-print.c (dump_gimple_phi): Avoid excessive
+ newline in -alias dumps.
+
+2012-02-07 Kai Tietz <ktietz@redhat.com>
+ Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR target/40068
+ * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
+ Take care that typinfo gets dllexport-attribute.
+
+2012-02-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/52074
+ * expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL
+ if modifier < EXPAND_SUM call force_operand on the result.
+
+2012-02-07 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * config/epiphany/epiphany.h (ASM_DECLARE_FUNCTION_SIZE): Redefine,
+ adding __forwarder_dst__ prefix if a forwarder_section attribute is
+ present.
+ (epiphany_function_type): Replace types for specific interrupts with
+ EPIPHANY_FUNCTION_INTERRUPT.
+ (EPIPHANY_INTERRUPT_P): Update.
+ * config/epiphany/epiphany.c (epiphany_handle_forwarder_attribute):
+ New static function.
+ (epiphany_attribute_table) <interrupt>: min_len is 0, max_len is 9.
+ <disinterrupt>: Affects type identity.
+ (epiphany_handle_interrupt_attribute): Handle variable number of
+ arguments.
+ (epiphany_compute_function_type): Update for new
+ epiphany_function_type definition.
+ (epiphany_expand_prologue): Don't save (reg:DI GPR_0) for interrupt
+ handlers with a longcall forwarder.
+ (epiphany_start_function): Handle multiple interrupt arguments and/or
+ forwarder_section attribute.
+
+ * config/epiphany/epiphany.h (LIB_SPEC): Link libc again after
+ libgloss.
+
+2012-02-07 Alan Modra <amodra@gmail.com>
+
+ PR target/52107
+ * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode
+ subregs of TFmode.
+
+2012-02-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/50969
+ * tree-vect-stmts.c (vect_model_store_cost): Correct statement cost to
+ use vec_perm rather than vector_stmt.
+ (vect_model_load_cost): Likewise.
+ * config/i386/i386.c (ix86_builtin_vectorization_cost): Change cost of
+ vec_perm to be the same as other vector statements.
+ * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
+ cost of vec_perm for TARGET_VSX.
+
+2012-02-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52115
+ * tree-sra.c (access_has_replacements_p): New function.
+ (sra_modify_assign): Use it to decide whether a use is uninitialized.
+
+2012-02-06 Patrick Marlier <patrick.marlier@gmail.com>
+
+ PR middle-end/52047
+ * trans-mem.c (expand_call_tm): Add an assertion.
+ * calls.c (flags_from_decl_or_type): Add ECF_TM_PURE to 'no vops'
+ functions.
+
+2012-02-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50955
+ * tree-ssa-loop-ivopts.c (get_computation_cost_at): Artificially
+ raise cost of expressions that replace an address with an
+ expression based on a different pointer.
+
+2012-02-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/52129
+ * calls.c (mem_overlaps_already_clobbered_arg_p): If val is
+ CONST_INT_P, subtract resp. add crtl->args.pretend_args_size to it.
+
+2012-02-06 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/48680
+ * doc/invoke.texi (C++ Dialect Options): Use @option markup for
+ -Weffc++ and specify guidelines come from second edition.
+
+2012-02-05 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.md (sibcall_internal, sibcall_value_internal)
+ (sibcall_value_multiple_internal, call_split, call_internal_direct)
+ (call_direct_split, call_value_split, call_value_internal_direct)
+ (call_value_direct_split, call_value_multiple_split): Use jal and
+ jal_macro attributes.
+
+2012-02-05 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * reload1.c (reload_regs_reach_end_p): Replace with...
+ (reload_reg_rtx_reaches_end_p): ...this function.
+ (new_spill_reg_store): Update commentary.
+ (emit_input_reload_insns): Don't clear new_spill_reg_store here.
+ (emit_output_reload_insns): Check reload_reg_rtx_reaches_end_p
+ before setting new_spill_reg_store.
+ (emit_reload_insns): Use a separate loop to clear new_spill_reg_store.
+ Use reload_reg_rtx_reaches_end_p instead of reload_regs_reach_end_p.
+ Also use reload_reg_rtx_reaches_end_p when reading new_spill_reg_store
+ for non-spill reload registers.
+
+2012-02-05 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/52091
+ * tree-vectorizer.h (vect_is_simple_use): Add an argument.
+ (vect_is_simple_use_1): Likewise.
+ * tree-vect-loop.c (vectorizable_reduction): Update calls
+ to vect_is_simple_use_1 and vect_is_simple_use.
+ (vectorizable_live_operation): Likewise.
+ * tree-vect-patterns.c (widened_name_p,
+ vect_recog_vector_vector_shift_pattern, check_bool_pattern): Likewise.
+ * tree-vect-stmts.c (process_use, vect_get_vec_def_for_operand,
+ vectorizable_call, vectorizable_conversion, vectorizable_assignment,
+ vectorizable_shift,vectorizable_operation, vectorizable_store,
+ vectorizable_load): Likewise.
+ (vect_is_simple_cond): Add an argument, pass it to
+ vect_is_simple_use_1.
+ (vectorizable_condition): Update calls to vect_is_simple_cond,
+ vect_is_simple_use.
+ (vect_is_simple_use): Add an argument, the statement in which
+ OPERAND is used. Check that if OPERAND's def stmt is a double
+ reduction phi node, the use is a phi node too.
+ (vect_is_simple_use_1): Add an argument, pass it to
+ vect_is_simple_use.
+ * tree-vect-slp.c (vect_get_and_check_slp_defs): Update a call
+ to vect_is_simple_use.
+
+2012-02-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/52095
+ * modulo-sched.c (dump_insn_locator): New function.
+ (loop_canon_p, sms_schedule): Use it.
+
+ PR rtl-optimization/52113
+ * lower-subreg.c (decompose_multiword_subregs): Call recog_memoized
+ even for decomposable shift/zext insns.
+
+2012-02-03 Jakub Jelinek <jakub@redhat.com>
+ Zdenek Dvorak <ook@ucw.cz>
+
+ PR rtl-optimization/52092
+ * loop-unswitch.c (unswitch_single_loop): Call copy_rtx_if_shared
+ on get_iv_value result.
+
+2012-02-02 Andrew Pinski <apinski@cavium.com>
+
+ PR middle-end/47982
+ PR middle-end/43967
+ * doc/libgcc.texi (__udivmoddi4/__udivmodti4): Fix documentation typo.
+
+2012-02-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48071
+ * diagnostic.c (diagnostic_finish): Remove trailing newlines.
+
+2012-02-02 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/49800
+ * haifa-sched.c (sched_init): Call regstat_init_n_sets_and_refs.
+ (sched_finish): Call regstat_free_n_sets_and_refs.
+
+2012-02-02 Jia Liu <proljc@gmail.com>
+
+ * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather
+ than operand 2.
+
+2012-02-02 Jan Hubicka <jh@suse.cz>
+ Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/51998
+ * cgraphunit.c (cgraph_analyze_function): Break cyclic aliases.
+ * varpool.c (varpool_analyze_pending_decls): Likewise.
+
+2012-02-02 Sumanth G <sumanth.gundapaneni@kpitcummins.com>
+ Jayant R Sonar <jayant.sonar@kpitcummins.com>
+
+ * config.gcc: Add cr16-* support.
+
+ * doc/extend.texi: Document cr16 extensions.
+ * doc/install.texi: Document cr16 install.
+ * doc/invoke.texi: Document cr16 options.
+ * doc/md.texi: Document cr16 constraints.
+
+ * common/config/cr16/cr16-common.c: New file.
+ * config/cr16/cr16.c: New file.
+ * config/cr16/cr16.h: New file.
+ * config/cr16/cr16.md: New file.
+ * config/cr16/cr16.opt: New file.
+ * config/cr16/cr16-protos.h: New file.
+ * config/cr16/predicates.md: New file.
+ * config/cr16/constraints.md: New file.
+ * config/cr16/t-cr16: New file.
+
+2012-02-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/52086
+ * config/i386/i386.md (*addqi_2 peephole with SImode addition): Check
+ that operands[2] is either immediate, or q_regs_operand.
+
+ PR tree-optimization/52073
+ * tree-vect-stmts.c (vect_mark_relevant): When checking uses of
+ a pattern stmt for pattern uses, ignore uses outside of the loop.
+
+2012-02-01 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c: Resolve all AS1 and AS2 macros.
+ * config/avr/avr.h (AS1, AS2, AS2C, AS3): Remove.
+ (OUT_AS1, OUT_AS2): Remove.
+
+2012-02-01 Georg-Johann Lay <avr@gjlay.de>
+
+ PR rtl-optimization/51374
+ * combine.c (can_combine_p): Don't allow volatile_refs_p insns
+ to cross other volatile_refs_p insns.
+
+2012-02-01 Richard Guenther <rguenther@suse.de>
+
+ * doc/invoke.texi (fno-inline): Clarify documentation.
+ (finline-small-functions): Likewise.
+ (finline-functions): Likewise.
+ * common.opt (finline): Adjust comment and documentation.
+ (finline-small-functions): Clarify documentation.
+ (finline-functions): Likewise.
+ (finline-functions-called-once): Likewise.
+
+2012-02-01 Tristan Gingold <gingold@adacore.com>
+
+ * c-typeck.c (composite_type): Keep mode for pointers.
+
+2012-01-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * function.h (regno_reg_rtx): Adjust comment.
+ * reginfo.c (init_reg_modes_target): Only use the previous mode
+ if it fits within one register. Remove MIPS comment.
+
+2012-01-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/52058
+ * combine.c (do_SUBST_LINK, SUBST_LINK): Guard with #ifndef HAVE_cc0.
+
+2012-01-31 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.md ("*ashr<mode>3_and"): Add missing z196 flag
+ to srak instruction.
+
+2012-01-31 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition.
+
+2012-01-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/52041
+ PR bootstrap/52039
+ PR target/51974
+ * ipa-prop.c (detect_type_change_1): Call ao_ref_init.
+
+2012-01-31 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51528
+ * tree-sra.c (sra_modify_assign): Avoid copy-in/out for aggregate
+ assigns.
+
+2012-01-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/52041
+ PR bootstrap/52039
+ PR target/51974
+ * ree.c (add_removable_extension): Change def_map argument
+ to unsigned *, store in def_map 1 + offset into *insn_list vector
+ instead of pointers into the vector.
+ (find_removable_extensions): Adjust caller.
+
+2012-01-30 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md: Resolve all AS1 and AS2 macros.
+ Transform all "* quoted-c-code" to { c-code }.
+ Remove redundant test for "optimize" in combine patterns.
+ Move (include "avr-dimode.md") to end of file.
+
+2012-01-30 Bin Cheng <bin.cheng@arm.com>
+
+ PR target/51835
+ * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
+ for __aeabi_d2iz/__aeabi_d2uiz with hard-float.
+
+2012-01-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52028
+ * tree-loop-distribution.c (ldist_gen): Properly update
+ virtual SSA form.
+
+2012-01-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/52027
+ * dwarf2out.c (dwarf2out_switch_text_section): Don't call
+ set_cur_line_info_table if not emitting debug info.
+
+ PR tree-optimization/52046
+ * tree-vect-patterns.c (check_bool_pattern): Give up if
+ a comparison could throw.
+
+ PR debug/52048
+ * tree-ssa-tail-merge.c (local_def): Ignore debug uses.
+
+2012-01-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52045
+ * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Update
+ SSA form if cfgcleanup did anything.
+
+2012-01-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52045
+ * ipa-inline-transform.c (inline_transform): Call execute_fixup_cfg
+ before computing final todo.
+
+2012-01-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51528
+ * tree-sra.c (sra_modify_assign): Re-factor in preparation
+ for PR51528 fix.
+
+2012-01-30 Paolo Bonzini <bonzini@gnu.org>
+
+ * df-problems.c (df_kill_notes): Check that the use refers
+ to the note under examination.
+
+2012-01-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/51920
+ * config/sparc/sparc.c (vector_init_fpmerge): Remove INNER_MODE
+ parameter and use short-lived pseudos.
+ (vector_init_faligndata): Remove INNER_MODE parameter and use loop.
+ (sparc_expand_vector_init): Const-ify local variables and adjust
+ calls to above functions.
+
+2012-01-30 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (out_movqi_mr_r): Fix length computation.
+
+2012-01-29 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi: Make usage of "compile time" and
+ "run time"/"runtime" consistent throughout the file.
+
+2012-01-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_option_override): Default to
+ full IEEE compliance mode for Go language.
+
+2012-01-29 Tijl Coosemans <tijl@coosemans.org>
+
+ * config/freebsd-spec.h [TARGET_LIBC_PROVIDES_SSP]
+ (LINK_SSP_SPEC): Define.
+
+2012-01-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/51871
+ * config/pa/pa.c (pa_return_addr_rtx): Add support for PA2.0 export
+ stubs.
+
+2012-01-28 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi: Correct hyphenation of "floating point",
+ "double precision", and related terminology throughout the file.
+
+2012-01-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/52006
+ * config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use
+ arm_general_register_operand predicate for operand 2 instead of
+ register_operand.
+
+2012-01-27 Ian Lance Taylor <iant@google.com>
+
+ PR go/47656
+ * builtins.def (BUILT_IN_INIT_HEAP_TRAMPOLINE): Define.
+ * builtins.c (expand_builtin_init_trampoline): Add onstack
+ parameter. Change caller.
+ (expand_builtin): Handle BUILT_IN_INIT_HEAP_TRAMPOLINE.
+ * tree.c (build_common_builtin_nodes): Declare
+ __builtin_init_heap_trampoline.
+
+2012-01-27 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr-protos.h (lpm_reg_rtx, lpm_addr_reg_rtx,
+ tmp_reg_rtx, zero_reg_rtx, all_regs_rtx, rampz_rtx): Make global.
+ * config/avr/avr.c: Ditto.
+ (avr_regnames): Remove because unused.
+ * config/avr/avr.md (*cpse.ne): New peephole.
+ (*cpse.eq): New peephole from former cpse peepholes.
+
+2012-01-27 Michael Eager <eager@eagercon.com>
+
+ * config/microblaze.c (microblaze_emit_compare): Correct
+ test after pcmp instruction.
+
+2012-01-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52020
+ * tree-sra.c (sra_modify_assign): Do not transform clobbers.
+
+2012-01-27 Richard Guenther <rguenther@suse.de>
+
+ * ipa-pure-const.c (check_stmt): Clobbers do not make a
+ function non-const/pure.
+
+2012-01-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50444
+ * tree-sra.c (build_ref_for_offset): Properly adjust the
+ MEM_REF type for unaligned accesses.
+
+2012-01-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50444
+ * expr.c (mem_ref_refers_to_non_mem_p): New function.
+ (expand_assignment): Use it. Properly handle misaligned
+ bases when expanding stores to component references.
+ (expand_expr_real_1): Use mem_ref_refers_to_non_mem_p and
+ refactor that case.
+
+2012-01-27 Andrey Belevantsev <abel@ispras.ru>
+
+ PR middle-end/51389
+ * Makefile.in (tree-data-ref.o): Depend on $(PARAMS_H).
+ * tree-data-ref.h (find_data_references_in_loop): Remove declaration.
+ * tree-data-ref.c (find_data_references_in_loop): Make static.
+ (compute_all_dependences): Change return type to bool. Bail out
+ for too many datarefs in a loop. Move the hunk resetting the data
+ dependences vector from ...
+ (compute_data_dependences_for_loop): ... here. Account for
+ compute_all_dependences returning false.
+ (compute_data_dependences_for_bb): Likewise.
+ * params.def (PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS): New param.
+ * doc/invoke.texi (loop-max-datarefs-for-datadeps): Document it.
+
+2012-01-27 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51959
+ * expr.c (store_field): Use the alias-set of the scratch memory
+ for storing to it.
+
+2012-01-27 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/51990
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle
+ WITH_SIZE_EXPR.
+ * tree-ssa-pre.c (create_component_ref_by_pieces_1): Same.
+
+2012-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/52001
+ * var-tracking.c (reverse_op): Don't add any reverse operation
+ if V already has any constant locations.
+
+2012-01-27 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi: Correct usage of "command line" (noun)
+ vs "command-line" (adjective) throughout.
+
+2012-01-27 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi (Language Independent Options): Move
+ -Wcoverage-mismatch blurb from here....
+ (Warning Options): ...to here.
+
+2012-01-27 Peter Bergner <bergner@vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_option_override_internal):
+ Set rs6000_always_hint to false for 476.
+
+2012-01-27 Matthias Klose <doko@ubuntu.com>
+
+ * gcc.c (add_sysrooted_prefix): Remove trailing dir separator from
+ system root.
+ * incpath.c (add_standard_paths): Likewise.
+
+2012-01-27 Richard Henderson <rth@redhat.com>
+
+ * config/m68k/m68k.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
+ * config/m68k/sync.md (atomic_test_and_set): Rename from
+ sync_test_and_setqi and adjust the operands.
+ (atomic_test_and_set_1): Rename from sync_test_and_setqi_1
+ and unconditionally enable.
+
+2012-01-27 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/sparc.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
+ * config/sparc/sync.md (atomic_test_and_set): Only handle QImode.
+ (ldstub): Rename from ldstubqi.
+ (ldstub<I24MODE>): Remove.
+
+2012-01-27 Richard Henderson <rth@redhat.com>
+
+ * target.def (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
+ * c-cppbuiltin.c (cpp_atomic_builtins): Define
+ __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
+ * doc/tm.texi.in (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Add doc hook.
+ * doc/tm.texi: Rebuild.
+
+2012-01-27 Richard Henderson <rth@redhat.com>
+
+ * optabs.c (gen_atomic_test_and_set): Remove default.
+ (maybe_emit_atomic_test_and_set): Use maybe_expand_insn.
+
+2012-01-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/51978
+ * ree.c (make_defs_and_copies_lists): Change set_pat type to const_rtx.
+ (combine_reaching_defs): Likewise.
+ (struct re_info): Remove.
+ (add_removable_extension): Remove x and data arguments,
+ add insn, insn_list and def_map. Use the arguments directly
+ instead of using struct re_info.
+ (find_removable_extensions): Don't call add_removable_extension
+ through note_stores, instead just call it with single_set
+ result if non-NULL.
+ (find_and_remove_re): Pass curr_cand->expr instead of
+ PATTERN (curr_cand->insn) as set_pat argument to combine_reaching_defs.
+
+2012-01-26 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/46590
+ * cfgexpand.c: Revert last change (r183305).
+ * gimplify.c (gimplify_bind_expr): Add clobbers for all non-gimple
+ regs.
+ * tree-eh.c (cleanup_empty_eh): Try to optimize clobbers before
+ checking for emptiness.
+
+2012-01-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/51895
+ * expr.c (expand_expr_real_1): Handle BLKmode MEM_REF of
+ non-addressable non-BLKmode base correctly.
+
+2012-01-26 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/48794
+ * tree-eh.c (remove_unreachable_handlers_no_lp): Don't remove
+ regions referenced from RESX/EH_DISPATCH.
+
+2012-01-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.h: Make BRANCH_COST an option.
+ * config/s390/s390.opt: New option -mbranch-cost.
+
+2012-01-26 Richard Henderson <rth@redhat.com>
+
+ Revert 2012-01-24 change:
+ * trans-mem.c (requires_barrier): Do not instrument thread local
+ variables and emit save/restore for them.
+
+2012-01-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/51986
+ * sched-deps.c (sched_get_condition_with_rev_uncached): Don't test
+ for pat == 0.
+
+2012-01-25 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_small_data_pattern_1): Don't process
+ ASM_OPERANDS.
+
+2012-01-25 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49868
+ Rename __pgm to __flash.
+ Rename __pgm1 to __flash1.
+ Rename __pgm2 to __flash2.
+ Rename __pgm3 to __flash3.
+ Rename __pgm4 to __flash4.
+ Rename __pgm5 to __flash5.
+ Rename __pgmx to __memx.
+ * doc/extend.texi (AVR Named Address Spaces)
+ Rename address space names as indicated above.
+ * config/avr/avr.c (avr_addrspace): Ditto.
+
+ * config/avr/avr-protos.h
+ (avr_mem_pgmx_p): Rename to avr_mem_memx_p.
+ (avr_mem_pgm_p): Rename to avr_mem_flash_p.
+ * config/avr/predicates.md: Ditto.
+ * config/avr/avr.c Ditto, and
+ (avr_decl_pgmx_p): Rename to avr_decl_memx_p.
+ (avr_decl_pgm_p): Rename to avr_decl_flash_p.
+
+ * config/avr/avr.h (ADDR_SPACE_PGM): Rename to ADDR_SPACE_FLASH.
+ (ADDR_SPACE_PGM1): Rename to ADDR_SPACE_FLASH1.
+ (ADDR_SPACE_PGM2): Rename to ADDR_SPACE_FLASH2.
+ (ADDR_SPACE_PGM3): Rename to ADDR_SPACE_FLASH3.
+ (ADDR_SPACE_PGM4): Rename to ADDR_SPACE_FLASH4.
+ (ADDR_SPACE_PGM5): Rename to ADDR_SPACE_FLASH5.
+ (ADDR_SPACE_PGMX): Rename to ADDR_SPACE_MEMX.
+ * config/avr/avr.c: Ditto.
+ * config/avr/avr.md: Ditto.
+
+2012-01-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/51992
+ * tree.c (find_decls_types_in_node): Walk gimple_call_fntype.
+
+2012-01-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51987
+ * tree-data-ref.c (get_references_in_stmt): Handle references in
+ non-volatile GIMPLE_ASM.
+
+2012-01-25 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both
+ bases are dereferenced.
+
+2012-01-25 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/48374
+ * sel-sched-ir.h (get_all_loop_exits): Check for zero successors.
+
+2012-01-25 Andrey Belevantsev <abel@ispras.ru>
+
+ * tree-predcom.c (tree_predictive_commoning_loop): Bail out when
+ compute_data_dependences_for_loop returns false.
+ * tree-parloops.c (loop_parallel_p): Likewise.
+
+2012-01-25 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (get_pointer_alignment_1): Declare.
+ * builtins.c (get_pointer_alignment_1): New function.
+ (get_pointer_alignment): Use it.
+
+2012-01-25 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR rtl-optimization/48308
+ * combine.c (enum undo_kind): Add UNDO_LINKS.
+ (struct undo): Add member l to other_contents and where.
+ (do_SUBST_LINK): New.
+ (SUBST_LINK): New.
+ (try_combine): Handle LOG_LINKS for the dummy i1 case.
+ (undo_all): Handle UNDO_LINKS.
+
+2012-01-25 Richard Henderson <rth@redhat.com>
+
+ * optabs.c (maybe_emit_atomic_test_and_set): Allow non-QImode
+ mem inputs.
+
+2012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * optabs.c (gen_atomic_test_and_set): Use each argument.
+
+2012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips-ps-3d.md (mips_addr_ps, reduc_splus_v2sf)
+ (mips_cvt_pw_ps, mips_cvt_ps_pw, mips_mulr_ps, mips_cabs_cond_<fmt>)
+ (mips_cabs_cond_4s, mips_cabs_cond_ps, bc1any4t, bc1any4f, bc1any2t)
+ (bc1any2f, mips_rsqrt1_<fmt>, mips_rsqrt2_<fmt>, mips_recip1_<fmt>)
+ (mips_recip2_<fmt>): Require TARGET_MIPS3D rather than
+ TARGET_PAIRED_SINGLE_FLOAT.
+
+2012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * doc/rtl.texi (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
+ (in_struct, return_val): Remove MEM documentation.
+ * rtl.h (rtx_def): Remove MEM meanings from in_struct and return_val.
+ (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
+ (MEM_COPY_ATTRIBUTES): Remove references to MEM_IN_STRUCT_P
+ and MEM_SCALAR.
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
+ * cfgexpand.c (add_alias_set_conflicts): Likewise.
+ * expr.c (store_field): Likewise.
+ * function.c (assign_stack_temp_for_type): Likewise.
+ * ifcvt.c (noce_try_cmove_arith): Likewise.
+ * reload1.c (reload): Likewise.
+ * config/alpha/alpha.c (alpha_set_memflags_1): Likewise.
+ (alpha_set_memflags): Likewise.
+ * config/m32c/m32c.c (m32c_immd_dbl_mov): Nullify.
+
+2012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * rtl.h (true_dependence, canon_true_dependence): Remove varies
+ parameter.
+ * alias.c (fixed_scalar_and_varying_struct_p): Delete.
+ (true_dependence_1, write_dependence_p, may_alias_p): Don't call it.
+ (true_dependence_1, true_dependence, canon_true_dependence): Remove
+ varies parameter.
+ * cselib.c (cselib_rtx_varies_p): Delete.
+ (cselib_invalidate_mem): Update call to canon_true_dependence.
+ * dse.c (record_store, check_mem_read_rtx): Likewise.
+ (scan_reads_nospill): Likewise.
+ * cse.c (check_dependence): Likewise.
+ (cse_rtx_varies_p): Delete.
+ * expr.c (safe_from_p): Update call to true_dependence.
+ * ira.c (validate_equiv_mem_from_store): Likewise.
+ (memref_referenced_p): Likewise.
+ * postreload-gcse.c (find_mem_conflicts): Likewise.
+ * sched-deps.c (sched_analyze_2): Likewise.
+ * store-motion.c (load_kills_store): Likewise.
+ * config/frv/frv.c (frv_registers_conflict_p_1): Likewise.
+ * gcse.c (mems_conflict_for_gcse_p): Likewise.
+ (compute_transp): Update call to canon_true_dependence.
+
+2012-01-25 Richard Henderson <rth@redhat.com>
+
+ * optabs.c (CODE_FOR_atomic_test_and_set): Provide default.
+ (maybe_emit_atomic_test_and_set): New.
+ (expand_sync_lock_test_and_set): Use it.
+ (expand_atomic_test_and_set): Likewise.
+ * doc/extend.texi (__atomic_test_and_set): Adjust the docs to match
+ the implementation; clarify implementation defined details.
+ * doc/md.texi (atomic_test_and_set): Document.
+
+2012-01-25 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/predicates.md (zero_or_v7_operand): Use match_code.
+
+2012-01-25 Richard Henderson <rth@redhat.com>
+
+ PR target/51968
+ * config/arm/arm.c (neon_split_vcombine): Emit deleted note
+ to effect no-op split.
+
+2012-01-24 Aldy Hernandez <aldyh@redhat.com>
+
+ PR lto/51698
+ * builtin-types.def: (BT_CONST_DOUBLE_PTR): New.
+ (BT_FN_VOID_PTR_CONST_PTR_SIZE): New.
+ (BT_FN_VOID_PTR_INT_SIZE): New.
+ (BT_FN_UINT_UINT_VAR): Remove.
+ (BT_FN_UINT32_UINT32_VAR): New.
+ (BT_FN_DOUBLE_VPTR): Remove.
+ (BT_FN_DOUBLE_CONST_DOUBLE_PTR): New.
+
+ * gtm-builtins.def (_ITM_abortTransaction): Set return type to void.
+ (_ITM_changeTransactionMode): Same.
+ (_ITM_memmoveRtWt): Change return type to void.
+ (_ITM_memcpyRtWt): Same.
+ (_ITM_memsetW): Same.
+ (_ITM_RaRD): Change types to double.
+ (_ITM_RD): Same.
+ (_ITM_RaWD): Same.
+ (_ITM_RfWD): Same.
+
+ * builtins.def (DEF_TM_BUILTIN): Set BOTH_P to true.
+
+2012-01-24 Aldy Hernandez <aldyh@redhat.com>
+ Patrick Marlier <patrick.marlier@gmail.com>
+
+ * trans-mem.c (requires_barrier): Do not instrument thread local
+ variables and emit save/restore for them.
+
+2012-01-24 Jason Merrill <jason@redhat.com>
+
+ PR c++/51812
+ * cgraphunit.c (cgraph_decide_is_function_needed): Don't always
+ output static aliases.
+
+2012-01-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR driver/47249
+ * common.opt (-pie, -shared, pie, shared): Change from Common to
+ Driver.
+ * gcc.c (display_help): Display help for -pie and -shared.
+
+2012-01-24 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49868
+ * doc/extend.texi (AVR Named Address Spaces): Move sample code up.
+ Remove note on size/offset limitation.
+ (AVR Variable Attributes): Add example how to read data located
+ with progmem. Refer to named address spaces.
+ * doc/invoke.texi (AVR Options): Fix typo.
+
+2012-01-24 Richard Guenther <rguenther@suse.de>
+
+ Forward-port to trunk
+ 2010-09-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/45678
+ * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If
+ op0 isn't sufficiently aligned and there is movmisalignM
+ insn for mode, use it to load op0 into a temporary register.
+
+2012-01-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/51957
+ * target.def (const_not_ok_for_debug_p): New hook.
+ * doc/tm.texi.in (TARGET_CONST_NOT_OK_FOR_DEBUG_P): New hook
+ documentation.
+ * doc/tm.texi: Regenerated.
+ * dwarf2out.c (const_ok_for_output_1): If
+ targetm.const_not_ok_for_debug_p returns true, fail.
+ * config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): New
+ function.
+ (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine.
+
+2012-01-23 Kai Tietz <ktietz@redhat.com>
+
+ PR target/51900
+ * config/i386/predicates.md (symbolic_operand): Allow
+ UNSPEC_PCREL as PIC expression for lea.
+ * config/i386/winnt.c (i386_pe_binds_local_p): Reworked.
+ * config/i386/i386.c (ix86_delegitimize_address): Handle
+ UNSPEC_PCREL for none-MEM, too.
+
+2012-01-23 Aldy Hernandez <aldyh@redhat.com>
+
+ * trans-mem.c (ipa_tm_create_version): Set externally_visible.
+ (ipa_tm_create_version_alias): Same.
+
+2012-01-23 Uros Bizjak <ubizjak@gmail.com>
+
+ PR libitm/51830
+ * builtin-types.def (BT_FN_UINT_UINT_VAR): New.
+ * gtm-builtins.def (BUILT_IN_TM_START): Declare as BT_FN_UINT_UINT_VAR.
+
+2012-01-23 Aldy Hernandez <aldyh@redhat.com>
+ Patrick Marlier <patrick.marlier@gmail.com>
+ Iain Sandoe <developer@sandoe-acoustics.co.uk>
+
+ PR lto/51916
+ * lto-wrapper.c (run_gcc): Pass the LTO section name to
+ simple_object_start_read.
+
+2012-01-23 Richard Guenther <rguenther@suse.de>
+
+
+ PR tree-optimization/51895
+ * tree-sra.c (decide_one_param_reduction): Avoid sub-optimal
+ parameter decomposition into BLKmode components.
+
+2012-01-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-structalias.c (intra_create_variable_infos): Do not create
+ fake variables for restrict-qualified pointers whose pointed-to type
+ contains a placeholder.
+
+2012-01-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51949
+ * ipa-split.c (execute_split_functions): Do not split malloc functions.
+
+2012-01-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/51933
+ * ree.c (transform_ifelse): Return true right away if dstreg is
+ already wider or equal to cand->mode.
+ (enum ext_modified_kind, struct ext_modified, ext_state): New types.
+ (make_defs_and_copies_lists): Remove defs_list and copies_list
+ arguments, add state argument, just truncate state->work_list
+ instead of always allocating and freeing the vector. Assert that
+ get_defs succeeds instead of returning 2. Changed return type to bool.
+ (merge_def_and_ext): Add state argument. If SET_DEST doesn't
+ have ext_src_mode, see if it has been modified already with the
+ right kind of extension and has been extended before from the
+ ext_src_mode. If SET_DEST is already wider or equal to cand->mode,
+ just return true. Remember the original mode in state->modified array.
+ (combine_reaching_defs): Add state argument. Don't allocate and
+ free here def_list, copied_list and vec vectors, instead just
+ VEC_truncate the vectors in *state. Don't handle outcome == 2 here.
+ (find_and_remove_re): Set DF_DEFER_INSN_RESCAN df flag.
+ Add state variable, clear vectors in it, initialize state.modified
+ if needed. Free all the vectors at the end and state.modified too.
+ Don't skip a candidate if the extension expression has been modified.
+
+2012-01-22 Douglas B Rupp <rupp@gnat.com>
+
+ PR target/47096
+ * config.gcc: (i[34567]86-*-interix3*): Remove from obsolete
+ configurations. Change triplet to i[34567]86-*-interix[3-9]*.
+ (extra_options) interix.opt -> i386/interix.opt"
+ (extra_objs):Add winnt-stubs.o
+ * configure.ac: Add interix to target_os .comm on PE check.
+ * configure: Regenerate.
+ * config/interix3.h: Delete and move bits to..
+ * config/interix.h: Delete and move bits to..
+ * config/i386/i386-interix3.h: Delete and move bits to..
+ * config/i386/i386-interix.h: ..here.
+ (TARGET_CPU_DEFAULT): Remove redefinition.
+ (TARGET_ASM_CONSTRUCTOR): Undefine.
+ (SUBTARGET_SWITCHES): Define for ms-bitfields.
+ (TARGET_OS_CPP_BUILTINS): Remove __OPENNT. Add __declspec.
+ (PTRDIFF_TYPE): Define.
+ (LONG_DOUBLE_TYPE_SIZE): Define.
+ (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
+ (SUBTARGET_OVERRIDE_OPTIONS): Remove.
+ (TARGET_SECTION_TYPE_FLAGS): Define.
+ (ASM_DECLARE_FUNCTION_NAME): Define.
+ (ASM_OUTPUT_EXTERNAL): Define.
+ (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
+ (ASM_OUTPUT_ALIGNED_BSS): Define.
+ (PCC_BITFIELD_TYPE_MATTERS): Define.
+ (USE_CONST_SECTION): Define.
+ (SUBTARGET_ENCODE_SECTION_INFO): Remove.
+ (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
+ (SUPPORTS_ONE_ONLY): Remove.
+ (I386_PE_STRIP_ENCODING): Define.
+ * config/interix.opt: Delete and move bits to..
+ * config/i386/interix.opt: ..here. New.
+ (mpe-aligned-commons): Add.
+ * config/i386/t-interix: Add copyright header.
+ (winnt-stubs.o): Add rule.
+
+2012-01-22 Jason Merrill <jason@redhat.com>
+
+ PR c++/51832
+ * varpool.c (varpool_analyze_pending_decls): Copy DECL_EXTERNAL
+ for extra name aliases.
+
+2012-01-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/51924
+ * ree.c (combine_set_extension): Improve debugging message.
+ (combine_reaching_defs): Likewise.
+ (get_defs): Rename confusingly named variable.
+ (find_and_remove_re): Skip a candidate if the extension expression has
+ been modified.
+
+2012-01-21 Robert Millan <rmh@gnu.org>
+ Gerald Pfeifer <gerald@pfeifer.com>
+
+ * config/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKERX32): New macro.
+ (GNU_USER_DYNAMIC_LINKER): Adjust indentation.
+
+2012-01-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51914
+ * tree-vect-stmts.c (vectorizable_conversion): For
+ cvt_type && modifier == WIDEN, put temporary with cvt_type
+ at the beginning of vec_dsts and set vec_dest to temporary
+ with vectype_out.
+
+2012-01-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfgrtl.c (rtl_dump_bb): Do not dump insns for {ENTRY|EXIT}_BLOCK.
+
+2012-01-20 Tijl Coosemans <tijl@coosemans.org>
+
+ * config/i386/i386.c: Fix checks for !TARGET_MACHO.
+ * config/rs6000/rs6000.c: Likewise.
+
+2012-01-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/51915
+ * config/arm/arm.c (arm_count_output_move_double_insns): Call
+ output_move_double on a copy of operands array.
+
+2012-01-20 Cary Coutant <ccoutant@google.com>
+ Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/45682
+ * dwarf2out.c (copy_declaration_context): Return ref to parent
+ of declaration DIE, if necessary.
+ (remove_child_or_replace_with_skeleton): Add new parameter; update
+ caller. Place skeleton DIE under parent DIE of original declaration.
+ Move call to copy_declaration_context to here ...
+ (break_out_comdat_types): ... from here.
+
+2012-01-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR rtl-optimization/51856
+ * reload.c (find_reloads_subreg_address): Set the address_reloaded
+ flag to reloaded.
+
+2012-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/51819
+ * config/arm/arm.c (arm_print_operand): Correct output of alignment
+ hints for neon loads and stores.
+
+2012-01-20 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49868
+ PR target/50887
+ * doc/extend.texi (Named Address Spaces): Split into subsections.
+ (AVR Named Address Spaces): New subsection.
+ (M32C Named Address Spaces): New subsection.
+ (RL78 Named Address Spaces): New subsection.
+ (SPU Named Address Spaces): New subsection.
+ (Variable Attributes): New anchor "AVR Variable Attributes".
+ (AVR Variable Attributes): Rewrite and avoid wording
+ "address space" in this context.
+ * doc/invoke.texi (AVR Options): Rewrite and add documentation
+ for -maccumulate-args, -mbranch-cost=, -mrelax, -mshort-calls.
+ (AVR Built-in Macros): New subsubsection therein.
+ * doc/md.texi (AVR constraints): Remove "C04", "R".
+
+2012-01-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51903
+ * tree-ssa-pre.c (eliminate): Properly purging of EH edges
+ when removing stmts.
+
+2012-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/50313
+ * config/arm/arm.c (arm_load_pic_register): Use
+ gen_pic_load_addr_unified. Delete calls to gen_pic_load_addr_32bit
+ , gen_pic_add_dot_plus_eight and gen_pic_add_dot_plus_four.
+ (arm_pic_static_addr): Likewise.
+ (arm_rtx_costs_1): Adjust cost for UNSPEC_PIC_UNIFIED.
+ (arm_note_pic_base): Handle UNSPEC_PIC_UNIFIED.
+ * config/arm/arm.md (UNSPEC_PIC_UNIFIED): Define.
+ (pic_load_addr_unified): New.
+
+2012-01-20 Andrey Belevantsev <abel@ispras.ru>
+
+ PR target/51106
+ * function.c (instantiate_virtual_regs_in_insn): Use
+ delete_insn_and_edges when removing a wrong asm insn.
+
+2012-01-19 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/40761
+ * ira-int.h (struct ira_loop_tree_node): Add comment for member loop.
+ Add new member loop_num.
+ (IRA_LOOP_NODE_BY_INDEX): Modify the check.
+ (ira_build): Remove the parameter.
+
+ * ira.c (ira_print_disposition): Use loop_num instead of loop->num.
+ (ira.c): Do not build CFG loops for one region allocation. Remove
+ argument from ira_build call.
+
+ * ira-build.c (init_loop_tree_node): New function.
+ (create_loop_tree_nodes): Use it. Separate the case when CFG
+ loops are not built.
+ (more_one_region_p): Check current_loops.
+ (finish_loop_tree_nodes): Separate the case when CFG loops are not
+ built.
+ (add_loop_to_tree): Process loop equal to NULL too.
+ (form_loop_tree): Separate the case when CFG loops are not built.
+ Use explicitly number for the root.
+ (rebuild_regno_allocno_maps, create_loop_tree_node_allocnos): Add
+ an assertion.
+ (ira_print_expanded_allocno, loop_compare_func): Use loop_num
+ instead of loop->num.
+ (mark_loops_for_removal): Ditto. Use loop_num instead of loop->num.
+ (mark_all_loops_for_removal): Ditto.
+ (remove_unnecessary_regions): Separate the case when CFG loops
+ are not built.
+ (ira_build): Remove the parameter. Use explicit number of regions
+ when CFG loops are not built.
+
+ * ira-color.c (print_loop_title): Separate the case for the root node.
+ Use loop_num instead of loop->num.
+ (move_spill_restore): Use loop_num instead of loop->num.
+
+ * ira-emit.c (setup_entered_from_non_parent_p): Add an assertion.
+ (change_loop): Ditto.
+ (change_loop): Use loop_num instead of loop->num.
+
+ * ira-lives.c (process_bb_node_lives): Ditto.
+
+ * ira-costs.c (print_allocno_costs, find_costs_and_classes): Ditto.
+
+ * ira-conflicts.c (print_allocno_conflicts): Ditto.
+
+2012-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR libmudflap/40778
+ * tree-mudflap.c (mf_artificial): New function.
+ (execute_mudflap_function_ops, execute_mudflap_function_decls,
+ mx_register_decls, mudflap_enqueue_decl): Use it.
+
+ PR target/51876
+ * config/arm/neon.md (*neon_vswp<mode>): Fix up operand
+ numbers in the insn pattern.
+
+2012-01-19 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/46590
+ * cfgexpand.c (add_scope_conflicts_1): New old_conflicts argument,
+ use it in remembering which conflicts we already created.
+ (add_scope_conflicts): Adjust call to above, (de)allocate helper
+ bitmap.
+
+2012-01-19 Aldy Hernandez <aldyh@redhat.com>
+
+ PR lto/51280
+ * lto-wrapper.c (run_gcc): Pass -fgnu_tm on.
+ (merge_and_complain): Same.
+
+2012-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/50237
+ * config/initfini-array.h: Guard content of the header
+ with #ifdef HAVE_INITFINI_ARRAY.
+ * configure.ac: Move gcc_AC_INITFINI_ARRAY much later into the file.
+ Add initfini-array.h to tm_file here.
+ * acinclude.m4 (gcc_AC_INITFINI_ARRAY): For non-ia64 do a linker test.
+ * config.gcc: Don't add initfini-array.h to tm_file here.
+ * configure: Regenerated.
+
+2012-01-19 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/51505
+ * df-problems.c (df_kill_notes): New parameter live. Update comment.
+ Remove REG_EQUAL/REG_EQUIV notes referring to dead registers.
+ (df_note_bb_compute): Update the call to df_kill_notes.
+
+2012-01-18 Aldy Hernandez <aldyh@redhat.com>
+
+ * trans-mem.c (requires_barrier): Remove call to is_global_var.
+
+2012-01-18 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa.c (useless_type_conversion_p): Remove special-casing
+ of conversions to void *.
+
+2012-01-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR middle-end/50325
+ PR middle-end/51192
+ * optabs.h (simplify_expand_binop): Declare.
+ * optabs.c (simplify_expand_binop): Make global.
+ * expmed.c (store_bit_field_1): Use simplify_expand_binop on big
+ endian targets if the source cannot be exactly covered by word
+ mode chunks.
+
+2012-01-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/51872
+ * hard-reg-set.h (struct hard_reg_set_container): New type.
+ * target.h (struct hard_reg_set_container): Forward declare.
+ * target.def (set_up_by_prologue): New target hook.
+ * doc/tm.texi.in (TARGET_SET_UP_BY_PROLOGUE): Document it.
+ * doc/tm.texi: Regenerated.
+ * function.c (thread_prologue_and_epilogue_insns): Change
+ set_up_by_prologue HARD_REG_SET into struct hard_reg_set_container.
+ Call targetm.set_up_by_prologue on it.
+ * config/rs6000/rs6000.c (rs6000_set_up_by_prologue): New function.
+ (TARGET_SET_UP_BY_PROLOGUE): Redefine to it.
+
+2012-01-17 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.c (rx_can_use_simple_return): New function.
+ * config/rx/rx-protos.h (rx_can_use_simple_return): Prototype.
+ * config/rx/rx.md (return): Predicate on rx_can_use_simple_return.
+
+2012-01-17 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51782
+ * expr.c (expand_assignment): Take address-space information
+ from the address operand of MEM_REF and TARGET_MEM_REF.
+ (expand_expr_real_1): Likewise.
+
+2012-01-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * ira.c (do_reload): Make sure ira_dump_file is re-set if no
+ reload dump is requested.
+
+2012-01-17 Aldy Hernandez <aldyh@redhat.com>
+
+ PR other/51165
+ * trans-mem.c (requires_barrier): Call may_be_aliased.
+
+2012-01-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51877
+ * tree-ssa-tail-merge.c (gimple_equal_p): Don't return true whenever
+ call arguments and fndecls compare equal, instead return false if they
+ don't. Return true only if lhs1 and lhs2 are either both NULL, or
+ both SSA_NAMEs that are valueized the same, or they satisfy
+ operand_equal_p.
+
+2012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_target_dl_iterate_phdr): Only check on
+ Solaris 11+.
+ * configure: Regenerate.
+
+2012-01-16 Jan Hubicka <jh@suse.cz>
+
+ PR c/12245
+ PR c++/14179
+ * convert.c (convert_to_integer): Use fold_convert for
+ converting an INTEGER_CST to integer type.
+
+2012-01-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/14179
+ * vec.c (vec_gc_o_reserve_1): Use ggc_round_alloc_size.
+
+2012-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/51860
+ * config/s390/s390.c (s390_chunkify_start): Don't skip
+ call insns followed by NOTE_INSN_CALL_ARG_LOCATION note. Skip
+ NOTE_INSN_VAR_LOCATION and NOTE_INSN_CALL_ARG_LOCATION notes.
+ If insn is followed by NOTE_INSN_VAR_LOCATION or
+ NOTE_INSN_CALL_ARG_LOCATION notes, insert jump after all those notes.
+ Don't use location of note insns.
+
+ PR tree-optimization/51865
+ * tree-inline.c (tree_function_versioning): Call remap_decl
+ on DECL_RESULT whenever it has VOID_TYPE_P type.
+
+2012-01-15 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips16_build_call_stub): Don't use a stub
+ for calls to locally-binding MIPS16 functions if only the return
+ type uses float regs.
+
+2012-01-15 Chung-Lin Tang <cltang@codesourcery.com>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete.
+ (SYMBOL_32_HIGH): Likewise.
+ (mips_output_tls_reloc_directive): Declare.
+ * config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md.
+ (mips_use_pcrel_pool_p, mips_lo_relocs, mips_hi_relocs): Declare.
+ * config/mips/mips.c (mips_use_pcrel_pool_p): New variable.
+ (mips_lo_relocs, mips_hi_relocs): Make extern.
+ (mips16_stub_function): Move up file.
+ (mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling.
+ (mips_symbolic_constant_p): Likewise. Remove SYMBOL_32_HIGH too.
+ (mips_symbol_insns_1): Likewise. Check mips_use_pcrel_pool_p.
+ (mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead of
+ SYMBOL_FORCE_TO_MEM. Only check mips_tls_symbol_ref_1 if it's false.
+ (mips_get_tp): Add MIPS16 support.
+ (mips_legitimize_tls_address): Remove MIPS16 sorry().
+ Generalize DTPREL and TPREL handling.
+ (mips_init_relocs): Initialize mips_use_pcrel_pool_p.
+ Add MIPS16 TLS support.
+ (mips_output_tls_reloc_directive): New function.
+ (mips16_rewrite_pool_refs): Ignore UNSPEC_TLS_GET_TPs.
+ * config/mips/predicates.md (symbolic_operand_with_high)
+ (tls_reloc_operand): New predicates.
+ (force_to_mem_operand): Use mips_use_pcrel_pool_p.
+ * config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec.
+ (PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h.
+ (*unshifted_high): New instruction. Use it for MIPS16 high splitter.
+ (consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns.
+ (*tls_get_tp_mips16_call_<mode>): Likewise.
+
+2012-01-15 Uros Bizjak <ubizjak@gmail.com>
+
+ PR rtl-optimization/51821
+ * recog.c (peep2_find_free_register): Determine clobbered registers
+ from insn pattern.
+
+2012-01-14 Denis Chertykov <chertykov@gmail.com>
+
+ PR target/50925
+ * config/avr/avr-protos.h: Revert change of 2012-01-09.
+ * config/avr/avr.c: Likewise.
+ * config/avr/avr.h: Likewise.
+
+2012-01-13 Ian Lance Taylor <iant@google.com>
+
+ PR c++/50012
+ * tree.h (TYPE_QUALS): Add cast to int.
+ (TYPE_QUALS_NO_ADDR_SPACE): Likewise.
+
+2012-01-13 Ian Lance Taylor <iant@google.com>
+
+ * ipa-cp.c (ipa_get_indirect_edge_target): Add typecasts when
+ comparing param_index to VEC_length result.
+
+2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
+
+ * c-decl.c: Do not include tree-mudflap.h
+ * tree-optimize.c: Likewise.
+ * Makefile.in: Update dependencies.
+
+2012-01-13 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/8081
+ * gimplify.c (gimplify_modify_expr_rhs): For calls with a
+ variable-sized result always use RSO.
+
+2012-01-12 DJ Delorie <dj@redhat.com>
+
+ * cfgexpand.c (convert_debug_memory_address): Allow any valid
+ pointer type, not just the default pointer type.
+
+2012-01-09 Richard Henderson <rth@redhat.com>
+ Denis Chertykov <chertykov@gmail.com>
+
+ PR target/50925
+ * config/avr/avr-protos.h (avr_hard_regno_nregs): Declare.
+ * config/avr/avr.c (avr_can_eliminate): Simplify.
+ (avr_initial_elimination_offset): Likewise.
+ (avr_prologue_setup_frame): Use hard_frame_pointer_rtx.
+ (expand_epilogue): Likewise.
+ (avr_legitimize_address): Gut.
+ (avr_legitimize_reload_address): Use hard_frame_pointer_rtx.
+ (avr_hard_regno_nregs): New.
+ (avr_hard_regno_ok): Allow only Pmode for arg and frame_pointers.
+ (avr_regno_mode_code_ok_for_base_b): Handle arg and frame pointers.
+ * config/avr/avr.h (FIXED_REGISTERS): Adjust arg pointer,
+ add soft frame pointer.
+ (CALL_USED_REGISTERS): Likewise.
+ (REG_CLASS_CONTENTS): Likewise.
+ (REGISTER_NAMES): Likewise.
+ (HARD_REGNO_NREGS): Use avr_hard_regno_nregs.
+ (HARD_FRAME_POINTER_REGNUM): New.
+ (FRAME_POINTER_REGNUM): Use soft frame pointer.
+ (ELIMINABLE_REGS): Eliminate from the soft frame pointer,
+ remove the HARD_FRAME_POINTER self-elimination.
+
+2012-01-12 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/51756
+ * config/avr/avr.c (avr_encode_section_info): Test for absence of
+ DECL_EXTERNAL when checking for initializers of progmem variables.
+
+2012-01-12 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/51799
+ * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check
+ that the last operation is a type demotion.
+
+2012-01-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template.
+ (x86_shift<mode>_adj_1): Remove operand constraint from operand 3.
+
+2012-01-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/51796
+ * combine.c (distribute_notes): If i3 is a noreturn call,
+ allow old_size to be equal to args_size and make sure the
+ noreturn call gets REG_ARGS_SIZE note.
+ * expr.c (fixup_args_size_notes): Put REG_ARGS_SIZE notes
+ on noreturn calls even when the delta is 0.
+
+2012-01-11 Nathan Sidwell <nathan@acm.org>
+
+ * gcov.c (STRING_SIZE): Remove.
+ (generate_results): Erase annotations for source files with no
+ coverage information.
+ (read_line): New.
+ (output_lines): Use it.
+
+2012-01-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple.h (gimplify_body): Remove first argument.
+ * gimplify.c (copy_if_shared): Add DATA argument. Do not create the
+ pointer set here, instead just pass DATA to walk_tree.
+ (unshare_body): Remove BODY_P argument and adjust. Create the pointer
+ set here and invoke copy_if_shared on the size trees of DECL_RESULT.
+ (unvisit_body): Likewise, but with unmark_visited.
+ (gimplify_body): Remove BODY_P argument and adjust.
+ (gimplify_function_tree): Adjust call to gimplify_body.
+ * omp-low.c (finalize_task_copyfn): Likewise.
+
+2012-01-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.h (build_function_decl_skip_args): Add boolean parameter.
+ (build_function_type_skip_args): Delete.
+ * tree.c (build_function_type_skip_args): Make static and add
+ SKIP_RETURN parameter. Fix thinko in the handling of variants.
+ (build_function_decl_skip_args): Add SKIP_RETURN parameter and
+ pass it to build_function_type_skip_args.
+ * cgraph.h (cgraph_function_versioning): Add boolean parameter.
+ (tree_function_versioning): Likewise.
+ * cgraph.c (cgraph_create_virtual_clone): Adjust call to
+ build_function_decl_skip_args.
+ * cgraphunit.c (cgraph_function_versioning): Add SKIP_RETURN parameter
+ and pass it to build_function_decl_skip_args/tree_function_versioning.
+ (cgraph_materialize_clone): Adjust call to tree_function_versioning.
+ * ipa-inline-transform.c (save_inline_function_body): Likewise.
+ * trans-mem.c (ipa_tm_create_version): Likewise.
+ * tree-sra.c (modify_function): Ditto for cgraph_function_versioning.
+ * tree-inline.c (declare_return_variable): Remove always-true test.
+ (tree_function_versioning): Add SKIP_RETURN parameter. If the function
+ returns non-void and SKIP_RETURN, create a void-typed RESULT_DECL.
+ * ipa-split.c (split_function): Skip the return value for the split
+ part if it doesn't return.
+
+2012-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/49642
+ * ipa-split.c (forbidden_dominators): New variable.
+ (check_forbidden_calls): New function.
+ (dominated_by_forbidden): Likewise.
+ (consider_split): Check for forbidden dominators.
+ (execute_split_functions): Initialize and free forbidden
+ dominators info; call check_forbidden_calls.
+
+2012-01-11 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * config/arm/arm.md (mov_notscc): Use MVN for false condition.
+
+2012-01-11 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md (return): Define pattern.
+
+2012-01-11 Richard Guenther <rguenther@suse.de>
+
+ * doc/extend.texi (malloc attribute): Adjust according to
+ implementation.
+
+2012-01-10 Aldy Hernandez <aldyh@redhat.com>
+ Patrick Marlier <patrick.marlier@gmail.com>
+
+ PR middle-end/51516
+ * trans-mem.c (get_cg_data): Traverse aliases if requested.
+ (ipa_tm_scan_calls_block): Update parameters to get_cg_data.
+ (ipa_tm_note_irrevocable): Same.
+ (ipa_tm_scan_irr_block): Same.
+ (ipa_tm_decrement_clone_counts): Same.
+ (ipa_tm_scan_irr_function): Same.
+ (ipa_tm_create_version_alias): Same.
+ (ipa_tm_create_version): Same.
+ (ipa_tm_transform_calls_redirect): Same.
+ (ipa_tm_transform_calls): Same.
+ (ipa_tm_transform_transaction): Same.
+ (ipa_tm_execute): Same.
+
+2012-01-10 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51806
+ * opts.c (common_handle_option): Handle -Werror.
+
+2012-01-10 Andreas Schwab <schwab@linux-m68k.org>
+
+ * config/m68k/sync.md ("atomic_compare_and_swap<mode>_1"): Fix
+ operand number.
+
+2012-01-10 Jason Merrill <jason@redhat.com>
+
+ * doc/invoke.texi (C++ Dialect Options): Update -fabi-version=6
+ information.
+
+2012-01-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check if linker
+ supports R_386_TLS_GD_PLT reloc.
+ (gcc_cv_as_ix86_tlsldmplt): Check if linker
+ supports R_386_TLS_LDM_PLT reloc.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+2012-01-10 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49868
+ Extend __pgmx semantics to linearize memory.
+ * config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to
+ determine if code comes inline or from libgcc.
+ (MOVMEM_r_d:HI): Add "w" to constraint for better preference.
+ (movmem_qi, movmem_qi): Set constraint #2 to "n".
+ (movmem_qi_elpm, movmem_hi_elpm): Remove insns.
+ (movmemx_qi, movmemx_hi): New insns.
+ (xload_<mode>_libgcc): Rewrite to new insn condition.
+ (xload_<mode>): Remove insns.
+ * config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle
+ cases that don't satisfy avr_xload_libgcc_p().
+ (avr_addr_space_convert): Allow converting in any direction.
+ (avr_addr_space_subset_p): Return always true.
+ (avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics.
+ (avr_emit_movmemhi): Ditto.
+ (avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more.
+ (avr_out_movmem): Ditto.
+ (AVR_SYMBOL_FLAG_PROGMEM): New macro.
+ (AVR_SYMBOL_SET_ADDR_SPACE): New macro.
+ (AVR_SYMBOL_GET_ADDR_SPACE): New macro.
+ (avr_encode_section_info): Encode 'progmem' in symbol flags.
+ (output_reload_in_const): Don't zero-extend any 24-bit symbols.
+
+2012-01-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50913
+ * graphite-scop-detection.c (stmt_has_simple_data_refs_p):
+ Require data-refs to be representable by Graphite with respect
+ to any loop nest.
+
+2012-01-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/constraints.md ("L"): Return true for 0xffffffff.
+ * config/i386/i386.c (*anddi_1): Emit AND with 0xffffffff as MOV.
+
+2012-01-10 Tom de Vries <tom@codesourcery.com>
+
+ PR rtl-optimization/51271
+ * dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when
+ handling annulled branch.
+
+2012-01-10 Richard Henderson <rth@redhat.com>
+
+ * config/arm/arm.c (arm_vectorize_vec_perm_const_ok,
+ TARGET_VECTORIZE_VEC_PERM_CONST_OK, neon_split_vcombine, MAX_VECT_LEN,
+ struct expand_vec_perm_d, arm_expand_vec_perm_1, arm_expand_vec_perm,
+ arm_evpc_neon_vuzp, arm_evpc_neon_vzip, arm_evpc_neon_vrev,
+ arm_evpc_neon_vtrn, arm_evpc_neon_vtbl, arm_expand_vec_perm_const_1,
+ arm_expand_vec_perm_const): New.
+ * config/arm/arm-protos.h: Update.
+ * config/arm/neon.md (UNSPEC_VCONCAT): New.
+ (*neon_vswp<VDQX>): New.
+ (neon_vcombine<VDX>): Use neon_split_vcombine.
+ (neon_vtbl1v16qi, neon_vtbl2v16qi, neon_vcombinev16qi): New.
+ * config/arm/vec-common.md (vec_perm_const<VALL>): New.
+ (vec_perm<VE>): New.
+
+2012-01-10 Richard Henderson <rth@redhat.com>
+
+ * config/arm/arm.c (arm_gen_compare_reg): Add scratch argument;
+ use it if reload_completed.
+ (arm_legitimize_sync_memory, arm_emit, arm_insn_count, arm_count,
+ arm_output_asm_insn, arm_process_output_memory_barrier,
+ arm_output_memory_barrier, arm_ldrex_suffix, arm_output_ldrex,
+ arm_output_strex, arm_output_it, arm_output_op2, arm_output_op3,
+ arm_output_sync_loop, arm_get_sync_operand, FETCH_SYNC_OPERAND,
+ arm_process_output_sync_insn, arm_output_sync_insn,
+ arm_sync_loop_insns, arm_call_generator, arm_expand_sync): Remove.
+ (arm_pre_atomic_barrier, arm_post_atomic_barrier): New.
+ (arm_emit_load_exclusive, arm_emit_store_exclusive): New.
+ (emit_unlikely_jump): New.
+ (arm_expand_compare_and_swap, arm_split_compare_and_swap): New.
+ (arm_split_atomic_op): New.
+ * config/arm/arm-protos.h: Update.
+ * config/arm/arm.h (enum arm_sync_generator_tag): Remove.
+ (struct arm_sync_generator): Remove.
+ * config/arm/arm.md (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK,
+ VUNSPEC_SYNC_OP, VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): Remove.
+ (VUNSPEC_ATOMIC_CAS, VUNSPEC_ATOMIC_XCHG, VUNSPEC_ATOMIC_OP): New.
+ (VUNSPEC_LL, VUNSPEC_SC): New.
+ (sync_result, sync_memory, sync_required_value, sync_new_value,
+ sync_t1, sync_t2, sync_release_barrier, sync_op): Remove.
+ (attr length): Don't use arm_sync_loop_insns.
+ (cbranch_cc, cstore_cc): Update call to arm_gen_compare_reg.
+ (movsfcc, movdfcc): Likewise.
+ * config/arm/constraints.md (Ua): New.
+ * config/arm/prediates.md (mem_noofs_operand): New.
+ (sync_compare_and_swap<QHSD>, sync_lock_test_and_set<QHSD>): Remove.
+ (sync_clobber, sync_t2_reqd): Remove.
+ (sync_<syncop><QHSD>, sync_nand<QHSD>): Remove.
+ (sync_new_<syncop><QHSD>, sync_new_nand<QHSD>): Remove.
+ (sync_old_<syncop><QHSD>, sync_old_nand<QHSD>): Remove.
+ (arm_sync_compare_and_swap<SIDI>): Remove.
+ (arm_sync_compare_and_swap<NARROW>): Remove.
+ (arm_sync_lock_test_and_set<SIDI>): Remove.
+ (arm_sync_lock_test_and_set<NARROW>): Remove.
+ (arm_sync_new_<syncop><SIDI>): Remove.
+ (arm_sync_new_<syncop><NARROW>): Remove.
+ (arm_sync_new_nand<SIDI>): Remove.
+ (arm_sync_new_nand<NARROW>): Remove.
+ (arm_sync_old_<syncop><SIDI>): Remove.
+ (arm_sync_old_<syncop><NARROW>): Remove.
+ (arm_sync_old_nand<SIDI>): Remove.
+ (arm_sync_old_nand<NARROW>): Remove.
+ (*memory_barrier): Merge arm_output_memory_barrier.
+ (atomic_compare_and_swap<QHSD>): New.
+ (atomic_compare_and_swap<NARROW>_1): New.
+ (atomic_compare_and_swap<SIDI>_1): New.
+ (atomic_exchange<QHSD>): New.
+ (cas_cmp_operand, cas_cmp_str): New.
+ (atomic_op_operand, atomic_op_str): New.
+ (atomic_<syncop><QHSD>, atomic_nand<QHSD>): New.
+ (atomic_fetch_<syncop><QHSD>, atomic_fetch_nand<QHSD>): New.
+ (atomic_<syncop>_fetch<QHSD>, atomic_nand_fetch<QHSD>): New.
+ (arm_load_exclusive<NARROW>): New.
+ (arm_load_exclusivesi, arm_load_exclusivedi): New.
+ (arm_store_exclusive<QHSD>): New.
+
+2012-01-09 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add DF
+ reload patterns if -mvsx-scalar-memory.
+
+ * config/rs6000/vsx.md (vsx_xscvspdp): Allow xscvspdp to be
+ generated, even -mno-vsx-scalar-double was used.
+ (vsx_xscvdpsp_scalar): Likewise.
+ (vsx_xscvspdp_scalar2): Likewise.
+
+2012-01-09 Tom de Vries <tom@codesourcery.com>
+ Andrew Pinski <apinski@cavium.com>
+
+ PR debug/51471
+ * reorg.c (fill_slots_from_thread): Don't speculate
+ frame-related insns.
+
+2012-01-09 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * sched-int.h (bb_note): Move to...
+ * basic-block.h: ...here.
+ * haifa-sched.c (bb_note): Move to...
+ * cfgrtl.c: ...here.
+ * function.c (next_block_for_reg): New function.
+ (move_insn_for_shrink_wrap): Likewise.
+ (prepare_shrink_wrap): Rewrite to use the above.
+
+2012-01-09 Aldy Hernandez <aldyh@redhat.com>
+
+ * gimple.c (is_gimple_non_addressable): Remove.
+ * gimple.h: Remove is_gimple_non_addressable.
+ * gimplify.c (gimplify_modify_expr_rhs): Use is_gimple_reg instead of
+ is_gimple_non_addressable.
+ * trans-mem.c (expand_assign_tm): Same.
+
+2012-01-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51775
+ * tree-ssa-sccvn.c (visit_use): Value-number throwing stmts.
+ * tree-ssa-pre.c (eliminate): Properly fixup EH info.
+
+2012-01-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
+ tuning parameters.
+ * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
+
+2012-01-09 Richard Guenther <rguenther@suse.de>
+
+ * tree-streamer-out.c (write_ts_optimization): Fix spelling.
+
+2012-01-08 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimize/51680
+ * ipa-inline-analyss.c (evaluate_properties_for_edge): Fix condition
+ on when known_vals needs to be computed; cleanup.
+
+2012-01-08 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimize/51694
+ * ipa-cp.c (ipa_get_indirect_edge_target): Add bounds checks.
+
+2012-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/cpp.texi (Predefined Macros): __STRICT_ANSI__ is defined
+ for -std=c++98 and -std=c++11 too.
+
+2012-01-08 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * cfgloop.c (cancel_loop): Add free() of bbs array.
+
+2012-01-07 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/51600
+ * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Disable code
+ that benefits small functions.
+
+2012-01-07 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (want_inline_small_function_p): Fix formating.
+
+2012-01-07 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/51680
+ * ipa-inline.c (want_inline_small_function_p): Be more lax on functions
+ whose inlining reduce unit size.
+
+2012-01-07 Alexandre Oliva <aoliva@redhat.com>
+
+ PR bootstrap/51725
+ * cselib.c (new_elt_loc_list): Promote addr_list to canonical node.
+ Add canonical node to containing_mem chain after the non-canonical
+ one, even if there weren't any locs to propagate.
+ (remove_useless_values): Keep only canonical values.
+ (add_mem_for_addr, cselib_lookup_mem): Canonicalize addr.
+ (cselib_invalidate_mem): Likewise. Ensure v is canonical, and
+ canonicalize mem_chain elements that are not discarded.
+
+2012-01-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/47333
+ * cgraphunit.c (cgraph_optimize): Call output_weakrefs
+ before emitting functions.
+
+ PR gcov-profile/50127
+ * bb-reorder.c (partition_hot_cold_basic_blocks): Call
+ clear_aux_for_blocks.
+
+2012-01-06 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/51746
+ * cselib.c (cselib_hash_rtx): Hash incoming VALUEs too.
+
+2012-01-06 Arnaud Charlet <charlet@adacore.com>
+
+ * c-decl.c (ext_block): Moved up.
+ (collect_all_refs, for_each_global_decl): Take ext_block into account.
+
+2012-01-06 Han Shen <shenhan@google.com>
+
+ Translate built-in include paths for sysroot.
+ * Makefile.in (gcc_gxx_include_dir_add_sysroot): New.
+ (PREPROCESSOR_DEFINES): Define GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT.
+
+ * cppdefault.c (cpp_include_defaults): Replace hard coded "0" with
+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT for "add_sysroot" field.
+
+ * configure.ac (AC_SUBST): Add gcc_gxx_include_dir_add_sysroot to
+ control whether sysroot should be prepended to gxx include dir.
+
+ * configure: Regenerate.
+
+2012-01-06 Torvald Riegel <triegel@redhat.com>
+
+ PR rtl-optimization/51771
+ * builtin-attrs.def (ATTR_RETURNS_TWICE, ATTR_TM_NOTHROW_RT_LIST): New.
+ * gtm-builtins.def (BUILT_IN_TM_START): Add returns-twice attrib.
+
+2012-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/51315
+ * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
+ (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
+
+2012-01-05 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/51681
+ * config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands
+ for shrp pattern. Correctly handle and fixup shift variable.
+ Return false when shift > nelt for BYTES_BIG_ENDIAN target.
+
+2012-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/51762
+ * calls.c (emit_call_1): For noreturn calls force a REG_ARGS_SIZE
+ note when !ACCUMULATE_OUTGOING_ARGS.
+
+2012-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-vrp.c (extract_range_from_binary_expr_1): Remove duplicated
+ condition.
+ (extract_range_from_unary_expr_1): Avoid useless computations.
+
+2012-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/51767
+ * cfgrtl.c (force_nonfallthru_and_redirect): Force addition
+ of jump_block and add an extra edge for degenerated asm gotos.
+
+ PR middle-end/51768
+ * stmt.c (check_unique_operand_names): Don't ICE during error
+ reporting if i is from labels chain.
+
+ PR middle-end/44777
+ * profile.c (branch_prob): Split bbs that have exit edge
+ and need a fake entry edge too.
+
+2012-01-05 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/49710
+ * cfgloopmanip.c (remove_path): Walk loop hiearchy upwards when
+ unlooping loops.
+
+2012-01-05 Richard Guenther <rguenther@suse.de>
+
+ PR lto/50490
+ * tree-streamer-out.c (write_ts_optimization): New function.
+ (streamer_write_tree_body): Call it.
+ * tree-streamer-in.c (lto_input_ts_optimization): New function.
+ (streamer_read_tree_body): Call it.
+ * lto-streamer-out.c (lto_is_streamable): Handle OPTIMIZATION_NODE.
+
+2012-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/51761
+ * gimple.h (struct gimplify_ctx): Add in_cleanup_point_expr field.
+ * gimplify.c (gimplify_cleanup_point_expr): Save and set
+ in_cleanup_point_expr before gimplify_stmt call and restore it
+ afterwards.
+ (gimplify_target_expr): Don't add {CLOBBER} cleanup if
+ in_cleanup_point_expr is false.
+
+2012-01-05 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51764
+ * common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move
+ to c.opt.
+ * toplev.c (process_options): Reject combining mudflap and LTO.
+ * tree-nomudflap.c (nogo): Use sorry instead of internal_error.
+
+2012-01-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51760
+ * tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT,
+ not VARYING.
+ (bit_value_unop): Handle UNDEFINED operands.
+ (bit_value_binop): Likewise.
+
+2012-01-05 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (avr_replace_prefix): Remove.
+ (avr_asm_named_section): Use ACONCAT instead of avr_replace_prefix.
+ (avr_asm_function_rodata_section): Ditto.
+ (avr_asm_select_section): Ditto.
+
+2012-01-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ * reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND
+ insertion.
+
+2012-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/51648
+ * tree-cfg.c (need_fake_edge_p): Return true also for noreturn
+ calls that have any non-fake successor edges.
+
+ PR debug/51746
+ * var-tracking.c (add_stores): For COND_EXEC allow oval to be NULL.
+
+2012-01-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/51624
+ * tree-sra.c (build_ref_for_model): When replicating a chain of
+ COMPONENT_REFs, stop as soon as the offset would become negative.
+
+2012-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/51695
+ * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions
+ in .debug_loc on the floor.
+
+2012-01-04 Andrew Pinski <apinski@cavium.com>
+
+ * doc/invoke.texi (-march=@var{arch}): Add octeon+ and octeon2.
+
+2012-01-04 Andrew Pinski <apinski@cavium.com>
+ Adam Nemet <anemet@caviumnetworks.com>
+
+ * config/mips/mips.md (size): Add SI and DI.
+ (SIZE): New mode attribute.
+ (U): New code attribute.
+ * config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_extsi.
+ (mips_lbux_<mode>): Delete.
+ (mips_l<SHORT:size><u>x_ext<GPR:mode>_<P:mode>): New pattern.
+ (mips_lhx): Use gen_mips_lhx_extsi.
+ (mips_lhx_<mode>): Delete.
+ (mips_lwx): Delete.
+ (mips_l<size>x): New expand.
+ (mips_lwx_<mode>): Delete.
+ (mips_l<GPR:size>x_<P:mode>): New pattern.
+ (*mips_lw<u>x_<P:mode>_ext): Likewise.
+ * config/mips/mips-ftypes.def: Add DI f(POINTER, SI) function type.
+ * config/mips/mips.c (mips_lx_address_p): New function.
+ (mips_rtx_costs <case MEM>): Call mips_lx_address_p.
+ (dsp64): New availability predicate.
+ (mips_builtins): Add an entry for __builtin_mips_ldx.
+ * config/mips/mips.h (ISA_HAS_LBX): New define.
+ (ISA_HAS_LBUX): Likewise.
+ (ISA_HAS_LHX): Likewise.
+ (ISA_HAS_LHUX): Likewise.
+ (ISA_HAS_LWX): Likewise.
+ (ISA_HAS_LWUX): Likewise.
+ (ISA_HAS_LDX): Likewise.
+ * doc/extend.texi (__builtin_mips_ldx): Document.
+
+2012-01-04 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/xm-vms.h (HOST_LONG_FORMAT, HOST_PTR_PRINTF): Define
+ when long pointers are used.
+ * config.build (*-*-*vms*): Handle all OpenVMS targets.
+ (alpha64-dec-*vms*, alpha*-dec-*vms*)
+ (ia64-hp-*vms*): Remove.
+ * config/vms/xm-vms64.h: Delete.
+
+2012-01-04 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/51472
+ * trans-mem.c (expand_assign_tm): Handle TM_MEMMOVE loads correctly.
+
+2012-01-04 Aldy Hernandez <aldyh@redhat.com>
+
+ * opts.c (finish_options): Remove duplicate sorry.
+
+2012-01-04 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/51696
+ * trans-mem.c (diagnose_tm_1): Display indirect calls with no name
+ correctly.
+
+2012-01-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51750
+ * tree.c (size_low_cst): New function.
+ * tree.h (size_low_cst): Declare.
+ * fold-const.c (fold_comparison): Use it to extract the low
+ part of the POINTER_PLUS_EXPR offset.
+
+2012-01-04 Georg-Johann Lay <avr@gjlay.de>
+
+ Fix clearing ZERO_REG
+ * config/avr/avr.md (cc): Add alternative "ldi".
+ (movqi_insn): Use it in cc attribute.
+ * config/avr/avr.c (notice_update_cc): Handle CC_LDI.
+ (output_reload_in_const): Use CLR to move 0 to ZERO_REG.
+ (output_reload_insisf): Use ZERO_REG to pre-clear register.
+
+2012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * configure: Regenerate.
+
+2012-01-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49651
+ * tree-ssa-structalias.c (type_can_have_subvars): New function.
+ (var_can_have_subvars): Use it.
+ (get_constraint_for_1): Only consider subfields if there can be any.
+
+2012-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/51725
+ * cselib.c (new_elt_loc_list): When moving locs from one cselib_val
+ to its new canonical_cselib_val and the cselib_val was in
+ first_containing_mem chain, but the canonical_cselib_val was not,
+ add the latter into the chain.
+ (cselib_invalidate_mem): Compare canonical_cselib_val of
+ addr_list chain elt with v.
+
+ PR pch/51722
+ * dwarf2out.c (dwarf2out_start_source_file, dwarf2out_define,
+ dwarf2out_undef): Allocate e.info using ggc_strdup instead
+ of xstrdup.
+ (output_macinfo_op): Don't ggc_strdup fd->filename.
+ (optimize_macinfo_range): Allocate grp_name using XALLOCAVEC,
+ then ggc_strdup it. Don't free inc->info or cur->info.
+ (output_macinfo): Don't free ref->info or file->info.
+
+2012-01-03 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/51269
+ * tree-vect-loop-manip.c (set_prologue_iterations): Make
+ first_niters a pointer.
+ (slpeel_tree_peel_loop_to_edge): Likewise.
+ (vect_do_peeling_for_loop_bound): Update call to
+ slpeel_tree_peel_loop_to_edge.
+ (vect_gen_niters_for_prolog_loop): Don't compute wide_prolog_niters
+ here. Remove it from the parameters list.
+ (vect_do_peeling_for_alignment): Update calls and compute
+ wide_prolog_niters.
+
+2012-01-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51070
+ * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
+ Properly handle calls.
+
+2012-01-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51692
+ * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not remove
+ the LHS of allocation stmts.
+
+2012-01-03 Olivier Hainque <hainque@adacore.com>
+
+ * system.h: Prior to #define, #undef fopen and freopen unconditionally.
+
+2012-01-03 Olivier Hainque <hainque@adacore.com>
+
+ * collect2.c (main): In AIX specific computations for vector
+ insertions, use CONST_CAST2 to cast from char ** to const char **.
+
+2012-01-03 Richard Guenther <rguenther@suse.de>
+
+ PR debug/51650
+ * dwarf2out.c (dwarf2out_finish): Always create a DIE for
+ the context of a limbo DIE when it does not already exist.
+
+2012-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51719
+ * value-prof.c (gimple_ic): When indirect call isn't noreturn,
+ but direct call is, clear direct call's lhs and don't add fallthrough
+ edge from dcall_bb to join_bb and PHIs.
+
+2012-01-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.md ("*cmp<mode>_ccs"): Fix comment mentioning
+ the instructions emitted by the pattern.
+ ("*TDC_insn_<mode>"): Add comment.
+
+2012-01-03 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51730
+ * fold-const.c (fold_comparison): Properly canonicalize
+ tree offset and HOST_WIDE_INT bit position.
+
+2012-01-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct
+ operands for extzv pattern.
+
+2012-01-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/51725
+ * cselib.c (add_mem_for_addr): Call canonical_cselib_val
+ on mem_elt first.
+
+2012-01-02 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi (-flto and related options): Copy-edit.
+
+2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
+
+2012-01-02 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4):
+ New patterns.
+
+2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * expr.h (move_by_pieces_ninsns): Declare.
+ * expr.c (move_by_pieces_ninsns): Make external.
+ * config/mips/mips-protos.h (mips_move_by_pieces_p): Declare.
+ (mips_store_by_pieces_p): Likewise.
+ * config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p.
+ (STORE_BY_PIECES_P): Likewise mips_store_by_pieces_p.
+ * config/mips/mips.c (mips_move_by_pieces_p): New function.
+ (mips_store_by_pieces_p): Likewise.
+
+2012-01-02 Jakub Jelinek <jakub@redhat.com>
+
+ * passes.c (register_one_dump_file): Free full_name.
+
+ * reload1.c (reload): Don't allocate reg_max_ref_width here.
+ (calculate_elim_costs_all_insns): Free offsets_at and
+ offsets_known_at at the end and clear the pointers.
+
+2012-01-02 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.opt (-mbranch-cost): Fix double definition of
+ this option introduced in r180739.
+
+2012-01-02 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/51345
+ * config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
+ (tmake_file target=avr): Add avr/t-multilib.
+
+ * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
+ to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__.
+ * config/avr/genmultilib.awk: New file.
+ * config/avr/t-multilib: New auto-generated file.
+ * config/avr/multilib.h: New auto-generated file.
+ * config/avr/t-avr (AVR_MCUS): New variable.
+ (genopt.sh): Use it.
+ (s-mlib): Depend on t-multilib.
+ (t-multilib, multilib.h): New dependencies.
+ (s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS.
+ (MULTILIB_OPTIONS): Remove.
+ (MULTILIB_MATCHES): Remove.
+ (MULTILIB_DIRNAMES): Remove.
+ (MULTILIB_EXCEPTIONS): Remove:
+ * config/avr/genopt.sh: Don't use hard coded file name;
+ pass AVR_MCUS from t-avr instead.
+
+2012-01-02 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
+
+2012-01-02 Georg-Johann Lay <avr@gjlay.de>
+
+ Implement light-weight DImode support.
+ * config/avr/avr-dimode.md: New file.
+ * config/avr/avr.md: Include it.
+ (adjust_len): Add plus64, compare64.
+ (HIDI): Remove code iterator.
+ (code_stdname): New code attribute.
+ (rotx, rotsmode): Remove DI.
+ (rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
+ as code iterator.
+ * config/avr/avr-protos.h (avr_have_dimode): New.
+ (avr_out_plus64, avr_out_compare64): New.
+ * config/avr/avr.c (avr_out_compare): Handle DImode.
+ (avr_have_dimode): New variable definition and initialization.
+ (avr_out_compare64, avr_out_plus64): New functions.
+ (avr_out_plus_1): Use simplify_unary_operation to negate xval.
+ (adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
+ (avr_compare_pattern): Skip DImode comparisons.
+
+2012-01-02 Revital Eres <revital.eres@linaro.org>
+
+ * ddg.c (def_has_ccmode_p): New function.
+ (add_cross_iteration_register_deps,
+ create_ddg_dep_from_intra_loop_link): Call it.
+
+2012-01-02 Richard Guenther <rguenther@suse.de>
+
+ PR other/51679
+ * invoke.texi (fassociative-math): Remove spurious paranthesis.
+
+2012-01-01 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.c (process_command): Update copyright notice dates.
+ * gcov.c (print_version): Likewise.
+ * gcov-dump.c (print_version): Likewise.
+ * mips-tfile.c (main): Likewise.
+ * mips-tdump.c (main): Likewise.
+
+2012-01-01 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/51704
+ * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that
+ a use is inside the basic block or loop before accessing its vect info.
+
+2012-01-01 Jan Hubicka <jhjh@suse.cz>
+
+ PR rtl-optimization/51069
+ * cfgloopmanip.c (remove_path): Removing path making irreducible
+ region unconditional makes BB part of the region.
+
+2012-01-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51683
+ * tree-ssa-propagate.c (substitute_and_fold): Don't optimize away
+ calls with side-effects.
+ * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 5cf5bfb717e..a1c0ce16a70 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20130103
+20130107
diff --git a/gcc/LANGUAGES b/gcc/LANGUAGES
index c1c48b37a41..a6b7b23586e 100644
--- a/gcc/LANGUAGES
+++ b/gcc/LANGUAGES
@@ -57,7 +57,7 @@ Feb 1, 1998:
DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", 'd', 0)
-Copyright (C) 1998, 2001, 2002, 2004 Free Software Foundation, Inc.
+Copyright (C) 1998, 2001, 2002, 2004, 2012 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index d9e91b6826e..d58db12112b 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,543 @@
+2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatvsn.ads (Current_Year): Bump to 2013.
+
+2013-01-06 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_field): Emit a specialized
+ diagnostic for component size mismatch wrt volatile requirements.
+ Add a gcc_unreachable() at the end of the checks for size. Split
+ the check on volatile for positions into one check on atomic and
+ a subsequent one on volatile.
+
+2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (elaborate_entity) <E_Record_Type>: Delete.
+
+2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Do not
+ pack the field of the record type made for a misaligned type.
+
+2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (annotate_value) <COMPONENT_REF>: Be prepared
+ for discriminants inherited from parent record types.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * warnsw.adb: Minor fixes to -gnatw.d handling.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb, atree.adb: Enlarge entities to make 63 more flags, 6 more
+ fields.
+
+2013-01-04 Joel Brobecker <brobecker@adacore.com>
+
+ * gnat_ugn.texi: Fix typo.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Document alignment choice for subtypes.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * validsw.ads: Minor fix to comment.
+
+2013-01-04 Doug Rupp <rupp@adacore.com>
+
+ * Makefile.rtl (GNATRTL_NONTASKING_OBJS,
+ GNATRTL_ALTIVEC_OBJS): Factor g-al* objects.
+ * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Add g-al* sources.
+ (GNATRTL_ALTIVEC_OBJS): Override to null for VMS.
+ Rename leon vxworks toolchain as leon-wrs-vxworks.
+ * gcc-interface/Make-lang.in: Update dependencies
+
+2013-01-04 Pascal Obry <obry@adacore.com>
+
+ * prj.ads (For_Each_Source): Add Locally_Removed parameter.
+ (Source_Iterator): Add Locally_Removed field.
+ * prj.adb (For_Each_Source): Ignore Locally_Removed files if needed.
+ (Next): Likewise.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb: Minor reformatting.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Insert_Valid_Check): Fix handling of renamed
+ packed array element.
+ * exp_ch4.adb (Expand_Concatenate): Fix some missing parent
+ fields in generated code.
+ * exp_util.adb (Side_Effect_Free): Improve detection of cases
+ needing renaming.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads: Clean up order of N_xxx subtypes
+
+2013-01-04 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Check_Target): Allow --autoconf= with no target.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * types.ads, prj-conf.adb, par-tchk.adb: Minor reformatting.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * par-ch6.adb (P_Subprogram): Better handling of missing IS
+ after expression function.
+ * par-util.adb (No_Constraint): Improve handling to avoid bad warnings.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.ads, exp_util.adb (Insert_Actions): In expression with
+ actions case, new actions are appended to the sequence rather than
+ prepended.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Document -gnatw.d/w.D (does no apply in VMS mode).
+ * usage.adb: Add lines for -gnatw.d/w.D switches.
+ * warnsw.adb: Minor fixes (some missing cases of setting
+ Warning_Doc_Switch). Reject -gnatw.d and -gnatw.D in VMS mode.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb (Remove_Side_Effects): Make sure scope suppress
+ is restored on exit.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Document -gnateF (check overflow for predefined Float).
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Resolve_Type_Conversion): Remove incorrect
+ prevention of call to Apply_Type_Conversion_Checks, which resulted
+ in missing check flags in formal mode.
+
+2013-01-04 Vincent Celier <celier@adacore.com>
+
+ * makeutl.ads (Db_Switch_Args): New table used by gprbuild.
+ * prj-conf.adb (Check_Builder_Switches): Check for switches
+ --config= (Get_Db_Switches): New procedure to get the --db
+ switches so that they are used when invoking gprconfig in
+ auto-configuration.
+ (Do_Autoconf): When invoking gprconfig, use the --db switches, if any.
+
+2013-01-04 Pascal Obry <obry@adacore.com>
+
+ * prj-nmsc.adb: Minor reformatting.
+
+2013-01-04 Vincent Celier <celier@adacore.com>
+
+ * makeutl.ads (Root_Environment): New variable, moved rom
+ gprbuild (Load_Standard_Base): New Boolean variable, moved
+ from gprbuild.
+ * prj-conf.adb (Check_Builder_Switches): New procedure to check
+ for switch --RTS in package Builder. If a runtime specified
+ by --RTS is a relative path name, but not a base name, then
+ find the path on the Project Search Path.
+ (Do_Autoconf): Call Check_Builder_Switches.
+ (Locate_Runtime): New procedure, moved from gprbuild, to get the
+ absolute paths of runtimes when they are not specified as a base name.
+ * prj-conf.ads (Locate_Runtime): New procedure, moved from gprbuild.
+
+2013-01-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Private_Derived_Type): Set
+ Has_Private_Ancestor on type derived from an untagged private
+ type whose full view has discriminants
+ * sem_aggr.adb (Resolve_Record_Aggregate): Reject non-extension
+ aggregate for untagged record type with private ancestor.
+
+2013-01-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_elab.adb, sem_ch3.adb: Minor reformatting.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * table.adb: Minor reformatting.
+
+2013-01-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Check_Redundant_Withs): A with_clause that does
+ not come from source does not generate a warning for redundant
+ with_clauses.
+
+2013-01-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb, aspects.ads: Add Aspect_Global to all relevant tables.
+ * par-prag.adb: Add pragma Global to the list of pragmas that
+ do not need special processing by the parser.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Convert aspect
+ Global into a pragma without any form of legality checks. The
+ work is done by Analyze_Pragma. The aspect and pragma are both
+ marked as needing delayed processing. Insert the corresponding
+ pragma of aspect Abstract_State in the visible declarations of the
+ related package.
+ (Check_Aspect_At_Freeze_Point): Aspect Global
+ does not need processing even though it is marked as delayed.
+ Alphabetize the list on aspect names.
+ * sem_prag.adb: Add a value for pragma Global in table Sig_Flags.
+ (Analyze_Pragma): Add ??? comment about the grammar of pragma
+ Abstract_State. Move the error location from the pragma to the
+ state to improve the quality of error placement. Add legality
+ checks for pragma Global.
+ * snames.ads-tmpl Add the following specially recognized names
+
+2013-01-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch3.adb: Fix minor typo.
+
+2013-01-04 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch13.adb (Aspect_Specifications_Present): In Strict mode,
+ accept an aspect name followed by a comma, indicating a defaulted
+ boolean aspect.
+
+2013-01-04 Joel Brobecker <brobecker@adacore.com brobecker>
+
+ * gnat_ugn.texi: Document procedure to codesign GDB on Darwin.
+ Update doc on gnattest --separates switch.
+
+2013-01-04 Thomas Quinot <quinot@adacore.com>
+
+ * s-chepoo.ads: Minor reformatting.
+
+2013-01-04 Arnaud Charlet <charlet@adacore.com>
+
+ * usage.adb: Remove mention of -gnatN in usage.
+
+2013-01-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb, gnatcmd.adb, exp_util.adb, table.adb, sem_prag.adb,
+ freeze.adb, sem_ch4.adb, sem_warn.adb, opt.ads, exp_aggr.adb,
+ prj-conf.adb, sem_ch13.adb: Minor reformatting.
+
+2013-01-04 Thomas Quinot <quinot@adacore.com>
+
+ * sinfo.ads: Minor documentation update.
+
+2013-01-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb, einfo.adb (Analyze_Object_Declaration): Do not set Ekind
+ before resolving initialization expression.
+
+2013-01-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.adb (Generate_Index_Checks): Delay the generation of
+ the check for an indexed component where the prefix mentions
+ Loop_Entry until the attribute has been properly expanded.
+ * exp_ch5.adb (Expand_Loop_Entry_Attributes): Perform minor
+ decoration of the constant that captures the value of Loop_Entry's
+ prefix at the entry point into a loop. Generate index checks
+ for an attribute reference that has been transformed into an
+ indexed component.
+
+2013-01-04 Thomas Quinot <quinot@adacore.com>
+
+ * exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb, exp_aggr.adb,
+ sem_ch13.adb (Exp_Aggr.Collect_Initialization_Statements): Nothing to
+ do if Obj is already frozen.
+ (Exp_Util.Find_Init_Call): Rename to...
+ (Exp_Util.Remove_Init_Call): New subprogram, renamed from
+ Find_Init_Call. Remove the initialization call from the enclosing
+ list if found, and if it is from an Initialization_Statements
+ attribute, reset it.
+ (Exp_Util.Append_Freeze_Action): Minor code reorganization.
+ (Exp_Util.Append_Freeze_Actions): Ensure a freeze node has been
+ allocated (as is already done in Append_Freeze_Action).
+ (Freeze.Freeze_Entity): For an object with captured
+ Initialization_Statements and non-delayed freezeing, unwrap the
+ initialization statements and insert and them directly in the
+ enclosing list.
+ (Sem_Ch13.Check_Address_Clause): For an object
+ with Initialization_Statements and an address clause, unwrap the
+ initialization statements when moving them to the freeze actions.
+
+2013-01-03 Pascal Obry <obry@adacore.com>
+
+ * prj-attr.adb, projects.texi, snames.ads-tmpl: Add package remote and
+ corresponding attibutes.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_aggr.adb: Minor comment improvement.
+
+2013-01-03 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb, aspects.ads: Add Aspect_Abstract_State to all the
+ relevant tables.
+ * einfo.ads, einfo.adb: Add Integrity_Level and Refined_State to
+ the description of fields (Abstract_States): New routine.
+ (Integrity_Level): New routine.
+ (Has_Property): New routine.
+ (Is_Input_State): New routine.
+ (Is_Null_State): New routine.
+ (Is_Output_State): New routine.
+ (Is_Volatile_State): New routine.
+ (Refined_State): New routine.
+ (Set_Abstract_States): New routine.
+ (Set_Integrity_Level): New routine.
+ (Set_Refined_State): New routine.
+ (Write_Field8_Name): Add proper output for E_Abstract_State.
+ (Write_Field9_Name): Add proper output for E_Abstract_State.
+ (Write_Field25_Name): Add proper output for E_Package.
+ * lib-xref.ads: Add new letter for an abstract state.
+ * par-prag.adb: Add pragma Abstract_State to the list of pragma
+ that do not need special processing by the parser.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Convert
+ aspect Abstract_State into a pragma without any form
+ of legality checks. The work is done by Analyze_Pragma.
+ (Check_Aspect_At_Freeze_Point): Aspect Abstract_State does not
+ require delayed analysis.
+ * sem_prag.adb: Add a value for pragma Abstract_State in table
+ Sig_Flags.
+ (Analyze_Pragma): Add legality checks for pragma
+ Abstract_State. Analysis of individual states introduces a state
+ abstraction entity into the visibility chain.
+ * snames.ads-tmpl: Add new names for abstract state and
+ integrity. Add new pragma id for abstract state.
+
+2013-01-03 Bob Duff <duff@adacore.com>
+
+ * table.adb (Reallocate): Calculate new Length in
+ Long_Integer to avoid overflow.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb, sinfo.ads, freeze.adb, sem_ch4.adb, exp_aggr.adb
+ (Sem_Ch3.Analyze_Object_Declaration): Set Ekind early so that
+ it is set properly when expanding the initialization expression.
+ (Freeze.Check_Address_Clause): Transfer initialization expression
+ to an assignment in the freeze actions, so that the object is
+ initialized only after being elaborated by GIGI.
+ (Sinfo (comments), Sem_Ch4.Analyze_Expression_With_Actions): Allow
+ a Null_Statement as the expression in an Expression_With_Actions.
+ (Exp_Aggr.Collect_Initialization_Statements): New subprogram
+ shared by expansion of record and array aggregates, used to
+ capture statements for an aggregate used to initalize an object
+ into an Expression_With_Actions (which acts as a container for
+ a list of actions).
+ (Exp_Aggr.Convert_Aggr_In_Obj_Decl): Use the above to
+ capture initialization statements, instead of the previously
+ existing loop which left freeze nodes out of the capturing
+ construct (causing out of order elaboration crashes in GIGI).
+ (Exp_Aggr.Expand_Array_Aggregate): Use the above to capture
+ initialization statements (this was previously not done for
+ arrays). Also do not unconditionally prevent in place expansion
+ for an object with address clause.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Check that
+ a record extension has the same scalar storage order as the parent type.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb: Add comment.
+
+2013-01-03 Vincent Celier <celier@adacore.com>
+
+ * prj.adb: Minor spelling error correction in comment.
+
+2013-01-03 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (GNATCmd): If a single main has been specified
+ as an absolute path, use its simple file name to find specific
+ switches, instead of the absolute path.
+
+2013-01-03 Javier Miranda <miranda@adacore.com>
+
+ * sem_warn.adb (Warn_On_Overlapping_Actuals): For overlapping
+ parameters that are record types or array types generate warnings
+ only compiling under -gnatw.i
+ * opt.ads (Extensions_Allowed): Restore previous documentation.
+
+2013-01-03 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Do_Autoconf): If Target is specified in the
+ main project, but not on the command line, use the Target in
+ the project to invoke gprconfig in auto-configuration.
+ * makeutl.ads (Default_Config_Name): New constant String.
+
+2013-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ * usage.adb: Minor: fix typo in usage.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb (Analyze_Record_Representation_Clause): Reject
+ an illegal component clause for an inherited component in a
+ record extension.
+
+2013-01-03 Emmanuel Briot <briot@adacore.com>
+
+ * xref_lib.adb (Parse_Identifier_Info): Fix handling of arrays, which
+ have information in the ALI file for both the index and the component
+ types.
+
+2013-01-03 Emmanuel Briot <briot@adacore.com>
+
+ * projects.texi: Fix error in documenting the project path
+ computed for an aggregate project.
+
+2013-01-03 Javier Miranda <miranda@adacore.com>
+
+ * sem_warn.adb (Warn_On_Overlapping_Actuals): Adding documentation
+ plus restricting the functionality of this routine to cover the
+ cases described in the Ada 2012 reference manual. The previous
+ extended support is now available under -gnatX.
+ * s-tassta.adb (Finalize_Global_Tasks): Addition of a dummy
+ variable to call Timed_Sleep. Required to avoid warning on
+ overlapping out-mode actuals.
+ * opt.ads (Extensions_Allowed): Update documentation.
+
+2013-01-03 Tristan Gingold <gingold@adacore.com>
+
+ * s-arit64.ads: Use Multiply_With_Ovflo_Check as __gnat_mulv64.
+ * arit64.c: Removed
+ * gcc-interface/Makefile.in: Remove reference to arit64.c.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * checks.adb, checks.ads (Apply_Address_Clause_Check): The check must
+ be generated at the start of the freeze actions for the entity, not
+ before (or after) the freeze node.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_aggr.adb (Exp_Aggr.Convert_Aggregate_In_Obj_Decl):
+ Reorganize code to capture initialization statements in a block,
+ so that freeze nodes are excluded from the captured block.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch11.adb: Minor reformatting.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_util.adb, einfo.adb, einfo.ads, freeze.adb, exp_aggr.adb,
+ sem_ch13.adb (Einfo.Initialization_Statements,
+ Einfo.Set_Initialization_Statements): New entity attribute
+ for objects.
+ (Exp_Util.Find_Init_Call): Handle case of an object initialized
+ by an aggregate converted to a block of assignment statements.
+ (Freeze.Check_Address_Clause): Do not clear Has_Delayed_Freeze
+ even for objects that require a constant address, because the
+ address expression might involve entities that have yet to be
+ elaborated at the point of the object declaration.
+ (Exp_Aggr.Convert_Aggregate_In_Obj_Decl): For a type that does
+ not require a transient scope, capture the assignment statements
+ in a block so that they can be moved down after elaboration of
+ an address clause if needed.
+ (Sem_Ch13.Check_Constant_Address_Clause.Check_Expr_Constants,
+ case N_Unchecked_Conversion): Do not replace operand subtype with
+ its base type as this violates a GIGI invariant if the operand
+ is an identifier (in which case the etype of the identifier
+ is expected to be equal to that of the denoted entity).
+
+2013-01-03 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Denotes_Same_Object): Extend the
+ functionality of this routine to cover cases described in the Ada 2012
+ reference manual.
+
+2013-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elab.adb (Set_Elaboration_Constraint): Handle properly
+ a 'Access attribute reference when the subprogram is called
+ Initialize.
+
+2013-01-03 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tpobop.adb (PO_Do_Or_Queue): Refine assertion, since a
+ select statement may be called from a controlled (e.g. Initialize)
+ operation and have abort always deferred.
+
+2013-01-03 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb, einfo.ads, einfo.adb: Minor code reorganization.
+
+2013-01-03 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Make_Controlling_Function_Wrappers): Exclude
+ internal entities associated with interfaces and add minimum
+ decoration to the defining entity of the generated wrapper to
+ allow overriding interface primitives.
+ * sem_disp.ads (Override_Dispatching_Operation): Addition of a
+ new formal (Is_Wrapper).
+ * sem_disp.adb (Override_Dispatching_Operation): When overriding
+ interface primitives the new formal helps identifying that the
+ new operation is not fully decorated.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch7.adb, sem_ch10.adb, einfo.adb, einfo.ads, sem_ch12.adb,
+ rtsfind.adb, sem_elab.adb, sem_ch4.adb, sem_ch8.adb
+ (Einfo.Is_Visible_Child_Unit, Einfo.Set_Is_Visible_Child_Unit):
+ Rename to Is_Visible_Lib_Unit, Set_Is_Visible_Lib_Unit, and
+ update spec accordingly (now also applies to root library units).
+ (Sem_Ch10.Analyze_Subunit.Analyze_Subunit_Context): Toggle above flag
+ on root library units, not only child units.
+ (Sem_Ch10.Install[_Limited]_Withed_Unit): Same.
+ (Sem_Ch10.Remove_Unit_From_Visibility): Reset Is_Visible_Lib_Unit
+ even for root library units.
+ (Sem_Ch8.Find_Expanded_Name): A selected component form whose prefix is
+ Standard is an expanded name for a root library unit.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch3.adb: Minor reformatting.
+
+2013-01-03 Olivier Hainque <hainque@adacore.com>
+
+ * tracebak.c: Reinstate changes to support ppc-lynx178.
+
+2013-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * atree.ads: Minor reformatting and documentation enhancement.
+
+2013-01-03 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): If the object has
+ a class-wide type and a renaming declaration is created for it,
+ preserve entity chain, which already contains generated internal
+ types. This ensures that freezing actions are properly generated
+ for all objects declared subsequently in the same scope, and
+ that debugging information is generated for them.
+ * sem_util.adb, sem_util.ads (we): New debugging routine, to
+ display entity chain of a given scope.
+
+2013-01-03 Robert Dewar <dewar@adacore.com>
+
+ * exp_intr.adb: Minor reformatting.
+
+2013-01-03 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb: Minor reformatting.
+
+2013-01-03 Pascal Obry <obry@adacore.com>
+
+ * adaint.c, adaint.h (__gnat_get_module_name): Removed.
+ (__gnat_is_module_name_supported): Removed.
+ * s-win32.ads: Add some needed definitions.
+ * g-trasym.ads: Update comments.
+
+2013-01-03 Robert Dewar <dewar@adacore.com>
+
+ * layout.adb (Set_Composite_Alignment): Fix problems of
+ interactions with Optimize_Alignment set to Space.
+
+2013-01-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_disp.adb: Minor reformatting.
+
2013-01-02 Richard Biener <rguenther@suse.de>
PR bootstrap/55784
@@ -424,8697 +964,8 @@
* sem_prag.adb (Analyze_Pragma, case pragma Check): Omit
call to Set_SCO_Pragma_Enabled for Invariant and Predicate.
* sem_ch13.adb: Minor comment update.
-
-2012-12-21 Ed Schonberg <schonberg@adacore.com>
-
- PR ada/53737
- * sem_ch12.adb (Analyze_Associations): Do not check the legality of
- actuals for RACW types if this is an internal instantiation for a formal
- package with defaulted parameters.
-
-2012-12-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * adaint.c: Move directive around.
- * argv.c: Likewise.
- * cio.c: Likewise.
- * cstreams.c: Likewise.
- * env.c: Likewise.
- * exit.c: Likewise.
- * init.c: Likewise.
- * initialize.c: Likewise.
- * raise.c: Likewise.
- * seh_init.c: Likewise.
- * targext.c: Likewise.
-
-2012-12-15 Eric Botcazou <ebotcazou@adacore.com>
- Martin Ettl <ettl.martin@gmx.de>
-
- PR ada/53996
- * gcc-interface/utils.c (gnat_type_for_size): Use %u in lieu of %d.
-
-2012-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Make-lang.in (RTS_DIR): Define only if Ada is enabled.
-
-2012-12-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Assert
- that the type of the prefix is ultimately an array.
-
-2012-12-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Subprogram_Body_to_gnu): Be prepared for a
- by-ref VAR_DECL in the case of an Out parameter passed by copy.
-
-2012-12-05 Robert Dewar <dewar@adacore.com>
-
- * par_sco.adb, sem_prag.adb, put_scos.adb, get_scos.adb: Minor
- reformatting.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb: Code clean up.
-
-2012-12-05 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Make-lang.in: Update dependencies.
- * gcc-interface/lang.opt: New language AdaSCIL.
- * gcc-interface/lang-specs.h: Add specs for adascil language.
-
-2012-12-05 Thomas Quinot <quinot@adacore.com>
-
- * par_sco.adb (Traverse_Aspects): Ensure we always have
- an entry in the sloc -> SCO map for invariants, since
- Set_SCO_Pragma_Enabled is called with that sloc when checks
- are enabled.
-
-2012-12-05 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch4.adb: Minor reformatting.
-
-2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * par-prag.adb: Checks and processing of pragma Assume are
- carried out by Sem_Prag.
- * sem_prag.adb (Analyze_Pragma): Check the legality of pragma
- Assume.
- * snames.ads-tmpl: Add new name Assume. Add a pragma identifier
- for Assume.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * aspects.ads, aspects.adb: Add aspect Relative_Deadline.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Process aspect
- Relative_Deadline, and introduce the corresponding pragma within
- the task definition of the task type to which it applies.
- (Check_Aspect_At_Freeze_Point): Expression in a Relative_Deadline
- aspect is of type Time_Span.
-
-2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Check_Loop_Invariant_Variant_Placement): When pragma
- Loop_[In]variant does not appear immediately within the statements
- of a loop, it must appear in a chain of nested blocks.
-
-2012-12-05 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch13.adb: Minor reformatting.
- Remove redundant assertion.
-
-2012-12-05 Thomas Quinot <quinot@adacore.com>
-
- * par_sco.adb, scos.ads, put_scos.adb, put_scos.ads,
- get_scos.adb: Generation of SCOs for aspects.
-
-2012-12-05 Thomas Quinot <quinot@adacore.com>
-
- * sem_prag.adb (Check_Precondition_Postcondition): Remove
- redundant call to Set_SCO_Pragma_Enabled (the pragma will be
- rewritten into a pragma Check later on, and the call will be
- made when processing the rewritten pragma).
- (Analyze_Pragma, case Pragma_Check): Omit call to
- Set_SCO_Pragma_Enabled if Split_PPC is set.
-
-2012-12-05 Olivier Hainque <hainque@adacore.com>
-
- * tracebak.c: Add partial support for Lynx178.
-
-2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute): Improve
- the error message related to loop assertions.
-
-2012-12-05 Gary Dismukes <dismukes@adacore.com>
-
- * atree.ads: Minor reformatting.
-
-2012-12-05 Robert Dewar <dewar@adacore.com>
-
- * atree.ads, par-ch4.adb, sem_attr.adb, sem_ch13.adb: Minor
- reformatting.
-
-2012-12-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat_ugn.texi (Switches for gcc): Document -flto and reorder.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch5.adb (P_Condition): Handle properly Ada 2012
- expressions that must be parenthesized before checking for
- redundant parentheses when that check is enabled.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch4.adb (P_Allocator): In Ada 2012 (AI05-0104) an
- uninitialized allocator cannot carry an explicit not null
- indicator.
- * sem_ch4.adb (Analyze_Allocator): Remove code that implements
- the check for AI05-0104, the check is syntactic and performed
- in the parser.
-
-2012-12-05 Geert Bosch <bosch@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute): Use base type for floating
- point attributes.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications,
- Ahalyze_Aspect_Default_Value): For a scalar type attach default
- value to base type as well, because it is a type-specific aspect
- even though it can be specified on a first subtype.
-
-2012-12-05 Yannick Moy <moy@adacore.com>
-
- * urealp.ads: Minor rewording.
-
-2012-12-05 Yannick Moy <moy@adacore.com>
-
- * aspects.ads (No_Duplicates_Allowed): Forbid use of duplicate
- Contract_Cases aspects.
- * sem_prag.adb (Analyze_Pragma/Pragma_Contract_Case): Rename
- POST_CASE into CONTRACT_CASE in both grammar and code, to be
- consistent with current language definition. Issue a more precise
- error message when the pragma duplicates another pragma or aspect.
-
-2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference): Add processing
- for attribute Update.
- (Expand_Update_Attribute): New routine.
- * par-ch4.adb (P_Name): The sole expression of attribute Update
- is an aggregate, parse it accordingly.
- * sem_attr.adb (Analyze_Attribute): Verify the legality of
- attribute Update.
- (Eval_Attribute): Attribute Update does not
- need evaluation because it is never static.
- * snames.ads-tmpl: Add Name_Update to the list of special names
- recognized by the compiler. Add an Attribute_Id for Update.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * exp_util.adb (Remove_Side_Effects): For purposes of removing
- side effects, qualified expressions do not receive a special
- treatment, even though in Ada 2012 they are defined as object
- references.
-
-2012-12-05 Thomas Quinot <quinot@adacore.com>
-
- * par-ch3.adb: Minor reformatting.
-
-2012-12-05 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb (Build_From_Any_Call, Build_To_Any_Call,
- Build_TypeCode_Call): For a used-defined subtype, always go to
- the first subtype of the base type.
-
-2012-12-05 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb: Minor reformatting.
-
-2012-12-05 Tristan Gingold <gingold@adacore.com>
-
- * Make-generated.in: Remove the VMS host specific part, as VMS
- compilers aren't built anymore on VMS.
-
-2012-12-05 Thomas Quinot <quinot@adacore.com>
-
- * sem.adb, errout.ads, atree.adb, atree.ads (Check_Error_Detected):
- Only return quietly if a serious error of configurable run time
- violation has been found.
-
-2012-12-05 Yannick Moy <moy@adacore.com>
-
- * sem_res.adb (Resolve_Type_Conversion): In Alfa_Mode, do not apply
- conversion checks.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_N_Assignment_Statement): Handle properly
- the generation of discriminant checks when the left-hand side
- has a type with hidden discriminants.
- * sem_ch3.ads (Is_Visible_Component): Add defaulted parameter to
- specify the node on which component visibility is being checked.
- * sem_ch3.adb (Is_Visible_Component): Use new parameter to
- determine whether the reference comes from a type conversion to
- a full view of a private type with unknown discriminants.
- * sem_ch4.adb (Analyze_Selected_Component): Call
- Is_Visible_Component with added parameter.
-
-2012-12-05 Arnaud Charlet <charlet@adacore.com>
-
- * make.adb: Minor comment update.
-
-2012-12-05 Arnaud Charlet <charlet@adacore.com>
-
- * gnatlink.adb: Also use -x adascil in CodePeer mode when
- calling gcc.
- * exp_ch5.adb: Minor reformatting.
-
-2012-12-05 Bob Duff <duff@adacore.com>
-
- * exp_ch4.adb: Minor comment.
-
-2012-12-05 Bob Duff <duff@adacore.com>
-
- * par-ch4.adb: Set Paren_Count correctly for a parenthesized expression
- containing a conditional expression or quantified expression.
- * sprint.adb: Update comment.
-
-2012-12-05 Bob Duff <duff@adacore.com>
-
- * style.adb, scans.ads, styleg.adb: Update comments.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Find_Selected_Component): Handle properly an
- expanded name whose prefix is the expanded name of an enclosing
- entry, that is to say a construct such as T.E.X, where T is an
- enclosing concurrent type and E is an enclosing entry.
-
-2012-12-05 Robert Dewar <dewar@adacore.com>
-
- * lib-writ.adb (Write_ALI): Output T lines.
- * lib-writ.ads: Minor reformatting. Add documentation of T lines.
- * opt.ads (Generate_Target_Dependent_Info): New flag.
- * switch-c.adb (Scan_Switches): Recognize -gnatet switch
- (target dependent info).
- * ttypes.ads: Add four letter codes to declarations (for target
- dependent info).
- * usage.adb: Add line for -gnatet switch.
-
-2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_prag.adb (Expand_N_Pragma): Add a call to expand
- pragma Loop_Variant.
- (Expand_Pragma_Loop_Assertion): Removed.
- (Expand_Pragma_Loop_Variant): New routine.
- * par-prag.adb: Remove Pragma_Loop_Assertion and add two new
- Pragma_Loop_Invariant and Pragma_Loop_Variant entries.
- * sem_attr.adb (Analyze_Attribute): Update the code which
- locates the enclosing pragma.
- * sem_prag.adb (Analyze_Pragma): Remove the code which analyzes
- pragma Loop_Assertion as the pragma is now obsolete. Add the
- machinery to checks the semantics of pragmas Loop_Invariant
- and Loop_Variant.
- (Check_Loop_Invariant_Variant_Placement): New routine.
- * snames.ads-tmpl: Remove name Loop_Assertion. Add new names
- Loop_Invariant and Loop_Variant. Rename Name_Decreasing
- to Name_Decreases and Name_Increasing to Name_Increases.
- Remove the pragma Id for Loop_Assertion and add two new Ids for
- Loop_Invariant and Loop_Variant.
-
-2012-12-05 Robert Dewar <dewar@adacore.com>
-
- * gnatchop.adb, sem_attr.ads, sem_ch4.adb, sem_ch6.adb, exp_disp.adb,
- atree.adb, sem_eval.adb: Minor reformatting.
-
-2012-12-05 Yannick Moy <moy@adacore.com>
-
- * uintp.adb (UI_Div_Rem): Correct algorithm D to remove potential
- overflow.
-
-2012-12-05 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb (Expand_N_Op_Mod): Minor comment additions.
- (Expand_N_Op_Rem): Ditto.
-
-2012-12-05 Robert Dewar <dewar@adacore.com>
-
- * sem_attr.adb: Minor reformatting.
-
-2012-12-05 Robert Dewar <dewar@adacore.com>
-
- * usage.adb: Update lines for -gnato? switch.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch6.adb (P_Return_Object_Declaration): Do not check for
- legality of Aliased keyword.
- * sem_ch6.adb (Analyze_Function_Return): The keyword aliased is
- legal in an extended return statement only if the return type
- is immutably limited.
-
-2012-12-05 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Expand_Interface_Thunk): Simplify
- management of controlling formals. Required to avoid problems
- with primitives of internally generated base types associated
- with constrained tagged types.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_eval.adb: Remove spurious warnings.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Build_Explicit_Dereference): Set properly
- the type of the prefix prior to rewriting, because subsequent
- legality checks examine the original node.
-
-2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * aspects.adb: Add Contract_Cases to the canonical aspects map.
- * aspects.ads: Add aspect Contract_Cases in the various aspect
- tables.
- * par-prag.adb: The parser does not need to perform special
- actions for pragma Contract_Cases.
- * sem_ch6.adb (Expand_Contract_Cases): New routine.
- (Process_Contract_Cases): Convert pragma Contract_Cases into pre-
- and post- condition checks that verify the runtime state of all
- case guards and their corresponding consequences.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Perform
- various legality checks on aspect Contract_Cases. The aspect is
- transformed into a pragma.
- * sem_prag.adb: Add an entry in table Sig_Flags for pragma
- Contract_Cases.
- (Analyze_Pragma): Perform various legality
- checks on pragma Contract_Cases. The pragma is associated with
- the contract of the related subprogram.
- (Chain_CTC): Omit pragma
- Contract_Cases because it does not introduce a unique case name
- and does not follow the syntax of Contract_Case and Test_Case.
- * snames.ads-tmpl: Add new name Name_Contract_Cases. Add a
- Pragma_Id for Contract_Cases.
-
-2012-12-05 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch5.adb: Minor reformatting.
-
-2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_attr.ads: Add an entry for attribute Loop_Entry in the
- Attribute_Impl_Def table.
-
-2012-12-05 Bob Duff <duff@adacore.com>
-
- * gnatchop.adb (Read_File): Avoid storage leak, and in most cases avoid
- an extra copy of the string.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Preanalyze_Range): If the expression, which
- denotes some domain of iteration, has a type with implicit
- dereference, and does not have any iterable aspects, insert
- dereference to obtain proper container type.
-
-2012-12-05 Bob Duff <duff@adacore.com>
-
- * par-ch8.adb (P_Use_Type_Clause): Fix the Sloc for "use all type ..."
- to point to "use".
-
-2012-12-05 Arnaud Charlet <charlet@adacore.com>
-
- * make.adb (Compile): Always pass -x adascil in CodePeer mode.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * s-rident.ads, restrict.ads: Remove discrepancies between the
- documentation on implementation-defined restrictions, and
- the internal data structure used for warnings and errors on
- implementation-defined restriction violations.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Chain_PPC): Pre- and postcondition aspects
- are legal on a subprogram body that acts as a spec.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Find_Selected_Component): If the selector name is
- an overloadable entity but the name is not overloaded, generate
- reference to it rather than delaying this until resolution.
-
-2012-12-05 Robert Dewar <dewar@adacore.com>
-
- * checks.ads, checks.adb (Activate_Overflow_Check): No effect for
- MOD/REM/unary +
- * exp_ch4.adb (Expand_N_Op_Mod): Remove call to set Do_Overflow_Check.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Find_Non_Universal_Interpretation): Use the
- types of the right operand if the left operand is null.
-
-2012-12-05 Sergey Rybin <rybin@adacore.com frybin>
-
- * gnat_ugn.texi, vms_data.ads: document gnatpp -nn option.
-
-2012-12-05 Jose Ruiz <ruiz@adacore.com>
-
- * init.c (__gnat_install_handler): For the LEON VxWorks kernel
- run-time library we need to install a trap handler directly in the
- trap table (no support by the OS) for the software trap 0.
-
-2012-12-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat_rm.texi (Interfacing to C++): Document new restrictions.
-
-2012-12-05 Ben Brosgol <brosgol@adacore.com>
-
- * gnat_ugn.texi: Fix typo.
-
-2012-12-05 Robert Dewar <dewar@adacore.com>
-
- * gnatbind.adb: Minor reformatting.
-
-2012-12-05 Arnaud Charlet <charlet@adacore.com>
-
- * gnat_ugn.texi: Fix typo.
-
-2012-12-05 Tristan Gingold <gingold@adacore.com>
-
- * gnatbind.adb: Minor comment update.
-
-2012-12-05 Yannick Moy <moy@adacore.com>
-
- * gnat1drv.adb (Adjust_Global_Switches): Set flags to indicate that
- CodePeer backend deals with divide and overflow checks.
-
-2012-12-05 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Update overflow description. Pragma Overflow_Checks
- changed to Overflow_Mode.
-
-2012-12-05 Robert Dewar <dewar@adacore.com>
-
- * checks.ads, exp_ch4.adb, gnat1drv.adb, par-prag.adb, sem_prag.adb,
- snames.ads-tmpl, switch-c.adb, types.ads, checks.adb: Change pragma
- Overflow_Checks to Overflow_Mode.
- Separate overflow checking from overflow mode.
- Several name changes to reflect this separation.
- CHECKED mode is renamed STRICT mode.
-
-2012-12-05 Yannick Moy <moy@adacore.com>
-
- * gnat1drv.adb (Adjust_Global_Switches): Move setting of flags for
- Alfa mode before general treatment of flags, so that overflow checks
- settings are set appropriately in Alfa mode. Also set the mode to
- STRICT in Alfa mode if not already set by the user.
-
-2012-12-05 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb: Minor reformatting.
-
-2012-12-05 Steve Baird <baird@adacore.com>
-
- * sinfo.ads: Improve comments about SCIL-related node kinds and selector
- functions.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Build_Limited_Views): Even though the unit is
- not analyzed, place its entity on the name in the with clause,
- so that warnings on unused with-clause are properly supported
- for limited withs.
-
-2012-12-05 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Update overflow description. Pragma
- Overflow_Checks changed to Overflow_Mode.
-
-2012-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Build_Derived_Private_Type): Handle properly a
- completion in a grand-child unit when the parent type is itself
- a private type in a child unit whose full view is itself a
- derivation from a private type.
-
-2012-12-05 Gary Dismukes <dismukes@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference, case
- Attribute_Valid): Remove code for issuing warning on Valid within
- a predicate. Moved to Sem_Attr. Remove with and use of Errout.
- * sem_attr.adb (Analyze_Attribute, case Attribute_Valid):
- Test for prefix's subtype having a predicate and issue warning
- about infinite recursion if Valid occurs within the subtype's
- predicate. Warning moved here from Exp_Attr.
-
-2012-12-05 Yannick Moy <moy@adacore.com>
-
- * debug.adb: Minor comment addition.
-
-2012-12-05 Yannick Moy <moy@adacore.com>
-
- * gnat1drv.adb (Adjust_Global_Switches): In CodePeer mode, check
- overflows by default, even when the user suppresses overflow checks.
-
-2012-12-05 Thomas Quinot <quinot@adacore.com>
-
- * err_vars.ads: Fix minor typo in comment.
-
-2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute): Do not analyze the attribute
- arguments when processing Loop_Entry. Rewrite the analysis of
- attribute Loop_Entry to handle an optional loop name.
- (Convert_To_Indexed_Component): New routine.
- (Eval_Attribute): Remove ??? comment and explain
- why Loop_Entry does not need to be evaluated.
-
-2012-12-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR ada/52110
- * s-osinte-hpux-dce.ads: Declare pthread_rwlockattr_t and
- pthread_rwlock_t subtypes. Delete duplicate declaration of clockid_t.
- * s-taspri-hpux-dce.ads: Change "pragma Atomic (Thread)" to comment.
-
-2012-11-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
- valid_constant_size_p to detect too large objects.
- <E_Subprogram_Type>: Likewise for too large return types.
- (allocatable_size_p): Call valid_constant_size_p in the fixed case.
- (annotate_value) <INTEGER_CST>: Simplify.
- <BIT_AND_EXPR>: Deal with negative values here.
- * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use
- valid_constant_size_p to detect too large objects on the LHS.
- * gcc-interface/misc.c (default_pass_by_ref): Likewise for large types.
- And use TYPE_SIZE_UNIT throughout.
- (must_pass_by_ref): Likewise.
- * gcc-interface/utils.c (max_size) <tcc_unary>: Split from common case.
- <tcc_binary>: Likewise. Call size_binop instead of fold_build2.
- <tcc_expression>: Simplify.
- * gcc-interface/utils2.c (build_allocator): Use valid_constant_size_p
- to detect too large allocations.
-
-2012-11-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Look through
- a view conversion from constrained to unconstrained form.
-
-2012-11-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (components_need_strict_alignment): New.
- (components_to_record): Do not pack the variants if one of the fields
- needs strict alignment. Likewise for the variant part as a whole.
- Specify the position of the variants even if the size isn't specified,
- but do not specify the size of the variant part in this case.
-
-2012-11-20 Diego Novillo <dnovillo@google.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * gcc-interface/decl.c: Replace all vec<T,A>() initializers with vNULL.
-
-2012-11-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c: Remove trailing spaces.
- * gcc-interface/trans.c: Remove trailing spaces.
-
-2012-11-16 Diego Novillo <dnovillo@google.com>
-
- Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
-
- * gcc-interface/decl.c: Use new vec API in vec.h.
- * gcc-interface/gigi.h: Likewise.
- * gcc-interface/trans.c: Likewise.
- * gcc-interface/utils.c: Likewise.
- * gcc-interface/utils2.c: Likewise.
-
-2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- PR other/52438
- * s-taspri-lynxos.ads: Delete.
- * s-osinte-kfreebsd-gnu.ads: Change license to GPL V3+.
- * s-tpopsp-rtems.adb: Likewise.
- * s-osinte-rtems.adb: Likewise.
-
-2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Body_Stub>: Deal
- with a missing library unit instead of calling gnat_to_gnu on Emtpy.
- Remove last bits of support for SCIL nodes. Add cases for nodes that
- should only be present when annotating types. Add default abort.
-
-2012-11-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Makefile.in: Revert most changes.
- * gcc-interface/Make-lang.in (gnatlib): Remove ada/s-oscons.ads.
-
-2012-11-06 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Makefile.in (copy-s-oscons): New target.
-
-2012-11-06 Robert Dewar <dewar@adacore.com>
-
- * err_vars.ads, atree.ads: Minor reformatting.
-
-2012-11-06 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Make-lang.in: Update dependencies.
- * gcc-interface/Makefile.in: Add runtime pairs for Android.
- Rework handling of s-oscons.ads.
- * s-osinte-android.ads, s-osinte-android.adb: New files.
-
-2012-11-06 Tristan Gingold <gingold@adacore.com>
-
- * gcc-interface/trans.c (gnat_to_gnu): For N_Real_Literal, create the
- binary representation of vax floats.
-
-2012-11-06 Tristan Gingold <gingold@adacore.com>
-
- * sem_ch9.adb (Analyze_Protected_Type_Declaration): Fix thinko
- in previous commit.
-
-2012-11-06 Jose Ruiz <ruiz@adacore.com>
-
- * ali.adb (Scan_ALI): Fix parsing mechanism for -fstack-check.
-
-2012-11-06 Thomas Quinot <quinot@adacore.com>
-
- * atree.adb, atree.ads, einfo.adb, errout.adb, errout.ads, erroutc.adb,
- erroutc.ads, errutil.adb, errutil.ads, err_vars.ads, expander.adb,
- exp_ch13.adb, exp_ch2.adb, exp_ch6.adb, exp_dist.adb, fe.h,
- fmap.adb, fmap.ads, gprep.adb, makeutl.adb, osint.adb, osint.ads,
- par_sco.adb, prepcomp.adb, prj-part.adb, prj-proc.adb, scng.adb,
- sdefault.ads, sem_ch10.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb,
- sem_ch4.adb, sem_ch5.adb, sem_dim.adb, sem_elab.adb, sem_eval.adb,
- sem_intr.adb, sem_prag.adb, sem_type.adb, sem_warn.adb, stylesw.adb,
- stylesw.ads, targparm.adb, targparm.ads (Cascaded_Error): Rename to
- more descriptive name 'Check_Error_Detected'. Add calls to
- Check_Error_Detected at places where semantic analysis is abandoned
- assuming a previously detected error.
-
-2012-11-06 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb: Minor comment change.
-
-2012-11-06 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Extensive revision of documentation of overflow
- checking.
- * vms_data.ads: Overflow check numbers must be in range 1-3,
- not 0-3.
-
-2012-11-06 Tristan Gingold <gingold@adacore.com>
-
- * sem_ch9.adb (Analyze_Protected_Type_Declaration): Emit a
- warning if pragma Priority is used in presence of an interrupt
- handler.
-
-2012-11-06 Robert Dewar <dewar@adacore.com>
-
- * checks.ads, checks.adb, exp_ch4.adb: Minor changes throughout for
- new overflow checking.
- * exp_util.adb (Insert_Actions): Remove special casing of
- Overflow_Check.
- * gnat1drv.adb (Adjust_Global_Switches): Fixes for new handling
- of overflow checks.
- * sem.adb (Analyze): Remove special casing of Overflow_Check
- (Analyze_List): ditto.
- * sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Remove
- SUPPRESSED and change CHECKED to STRICT.
- * sem_res.adb (Analyze_And_Resolve): No longer treat
- Overflow_Check specially.
- (Preanalyze_And_Resolve): ditto.
- (Resolve): ditto.
- * snames.ads-tmpl: Replace Name_Checked by Name_Strict.
- * switch-c.adb (Get_Overflow_Mode): Eliminate 0 setting,
- CHECKED => STRICT.
- * types.ads (Overflow_Check_Type): Remove Suppressed, change
- Checked to Strict (Suppress_Record): Overflow check controlled
- by Suppress array.
-
-2012-11-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Preanalyze_And_Resolve): In Alfa mode do not
- disable checks, so that flags can be properly set on expressions
- that are not further expanded.
-
-2012-11-06 Robert Dewar <dewar@adacore.com>
-
- * exp_attr.adb, sem_attr.adb: Minor reformatting.
-
-2012-11-06 Gary Dismukes <dismukes@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference): Apply a predicate
- check when evaluating the attribute Valid, and issue a warning
- about infinite recursion when the check occurs within the
- predicate function of the prefix's subtype.
- * exp_ch4.adb (Expand_N_In): Remove test for Is_Discrete_Type
- when we're checking that there's no predicate check function as a
- condition for substituting a Valid check for a scalar membership
- test (substitution should be suppressed for any kind of scalar
- subtype with a predicate check). Also, don't emit a predicate
- check when the right operand is a range.
-
-2012-11-06 Robert Dewar <dewar@adacore.com>
-
- * par_sco.adb, bindgen.adb, exp_vfpt.adb, exp_vfpt.ads, exp_ch2.adb,
- errout.adb, sem_ch8.adb: Minor reformatting.
-
-2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.adb: Include Loop_Entry_Attributes to the list of
- Node/List/Elist10 usage.
- (Loop_Entry_Attributes): New routine.
- (Set_Loop_Entry_Attributes): New routine.
- (Write_Field10_Name): Add an output string for Loop_Entry_Attributes.
- * einfo.ads: Define new attribute Loop_Entry_Attributes along
- with its usage in nodes.
- (Loop_Entry_Attributes): New routine and dedicated pragma Inline.
- (Set_Loop_Entry_Attributes): New routine and dedicated pragma Inline.
- * exp_attr.adb (Expand_N_Attribute_Reference): Do not expand
- Attribute_Loop_Entry here.
- * exp_ch5.adb: Add with and use clause for Elists;
- (Expand_Loop_Entry_Attributes): New routine.
- (Expand_N_Loop_Statement): Add a call to Expand_Loop_Entry_Attributes.
- * exp_prag.adb (Expand_Pragma_Loop_Assertion): Specialize the
- search to include multiple nested loops produced by the expansion
- of Ada 2012 array iterator.
- * sem_attr.adb: Add with and use clause for Elists.
- (Analyze_Attribute): Check the legality of attribute Loop_Entry.
- (Resolve_Attribute): Nothing to do for Loop_Entry.
- (S14_Attribute): New routine.
- * snames.ads-tmpl: Add a comment on entries marked with
- HiLite. Add new name Name_Loop_Entry. Add new attribute
- Attribute_Loop_Entry.
-
-2012-11-06 Geert Bosch <bosch@adacore.com>
-
- * eval_fat.adb (Machine, Succ): Fix front end to support static
- evaluation of attributes on targets with both VAX and IEEE float.
- * sem_util.ads, sem_util.adb (Has_Denormals, Has_Signed_Zeros):
- New type-specific functions. Previously we used Denorm_On_Target
- and Signed_Zeros_On_Target directly, but that doesn't work well
- for OpenVMS where a single target supports both floating point
- with and without signed zeros.
- * sem_attr.adb (Attribute_Denorm, Attribute_Signed_Zeros): Use
- new Has_Denormals and Has_Signed_Zeros functions to support both
- IEEE and VAX floating point on a single target.
-
-2012-11-06 Tristan Gingold <gingold@adacore.com>
-
- * bindgen.adb (System_Interrupts_Used): New variable.
- (Gen_Adainit): Declare and call
- Install_Restricted_Handlers_Sequential if System.Interrupts is
- used when elaboration policy is sequential.
-
-2012-11-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb: Complete previous change.
-
-2012-11-06 Tristan Gingold <gingold@adacore.com>
-
- * fe.h (Get_Vax_Real_Literal_As_Signed): Declare.
- * eval_fat.adb, eval_fat.ads (Decompose_Int): Move spec in package spec.
- * exp_vfpt.adb, exp_vfpt.ads (Vax_Real_Literal_As_Signed): New function.
- (Expand_Vax_Real_Literal): Remove.
- * exp_ch2.adb (Expand_N_Real_Literal): Do nothing.
- * sem_eval.adb (Expr_Value_R): Remove special Vax float case,
- as this is not anymore a special case.
-
-2012-11-06 Yannick Moy <moy@adacore.com>
-
- * uintp.ads: Minor correction of typo in comment.
-
-2012-11-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Analyze_Pragnma, case Unchecked_Union): remove
- requirement that discriminants of an unchecked_union must have
- defaults.
-
-2012-11-06 Vasiliy Fofanov <fofanov@adacore.com>
-
- * projects.texi: Minor wordsmithing.
-
-2012-11-06 Robert Dewar <dewar@adacore.com>
-
- * sem_ch9.adb, exp_vfpt.adb, xoscons.adb: Minor reformatting.
-
-2012-11-06 Tristan Gingold <gingold@adacore.com>
-
- * exp_vfpt.adb: Document VAX float point layout.
-
-2012-11-06 Geert Bosch <bosch@adacore.com>
-
- * eval_fat.adb (Machine): Don't return -0.0 on targets without
- signed zeros.
-
-2012-11-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch9.adb (Analyze_Entry_Call_Alternative,
- Check_Triggering_Statement): Reject properly an indirect call.
-
-2012-11-06 Pascal Obry <obry@adacore.com>
-
- * xoscons.adb, xutil.adb, xutil.ads: Add support for post-processing.
-
-2012-11-06 Yannick Moy <moy@adacore.com>
-
- * s-bignum.adb (Div_Rem): Fix another bug in step D3.
-
-2012-11-06 Tristan Gingold <gingold@adacore.com>
-
- * s-tarest.adb (Create_Restricted_Task): Call
- Create_Restricted_Task_Sequential in sequential case.
-
-2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_prag.adb (Expand_Pragma_Loop_Assertion): Do not rewrite the
- pragma into a null statement as its presence is desirable in -gnatG
- output.
-
-2012-11-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Check_Constrained_Object): Do nothing if the
- renamed object is a limited record.
-
-2012-11-06 Bernard Banner <banner@adacore.com>
-
- * sysdep.c (_getpagesize): New. Minor reformatting.
-
-2012-11-06 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb: Minor reformatting.
-
-2012-11-06 Robert Dewar <dewar@adacore.com>
-
- * s-bignum.adb (Div_Rem): Fix bug in step D3.
- * uintp.adb (UI_Div_Rem): Add comment on bug in step D3.
-
-2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_prag.adb (Expand_Pragma_Loop_Assertion): Update the comment
- on intended expansion. Reimplement the logic which expands the
- termination variants.
- (Process_Increase_Decrease): Update the parameter profile and the
- comment related to it. Accommodate the new aggregate-like appearance of
- the termination variants.
- * sem_prag.adb (Analyze_Pragma): Update the syntax of pragma
- Loop_Assertion. Reimplement the semantic analysis of the pragma
- to accommodate the new aggregate-like variant.
- (Check_Variant): New routine.
- * snames.ads-tmpl: Change names Name_Decreases and Name_Increases
- to Name_Decreasing and Name_Increasing respectively. Add name
- Variant.
-
-2012-11-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_eval.adb: Static evaluation of case expressions.
-
-2012-11-06 Robert Dewar <dewar@adacore.com>
-
- * exp_prag.adb, impunit.adb, exp_ch9.adb, par-ch4.adb,
- s-tarest.adb: Minor reformatting.
-
-2012-11-06 Tristan Gingold <gingold@adacore.com>
-
- * s-tposen.ads: Minor comment update.
-
-2012-11-06 Arnaud Charlet <charlet@adacore.com>
-
- * sysdep.c: Rename sig* wrappers to use unique names.
-
-2012-11-06 Yannick Moy <moy@adacore.com>
-
- * exp_dbug.adb (Qualify_Entity_Name): Mark entity as having a qualified
- name after being treated, in formal verification mode.
-
-2012-11-06 Fedor Rybin <frybin@adacore.com>
-
- * gnat_ugn.texi: Updating gnattest section to reflect changes
- in default behaviour of the tool.
-
-2012-11-06 Thomas Quinot <quinot@adacore.com>
-
- * s-oscons-tmplt.c: Interfaces.C now needs to be WITH'd even
- on platforms that do not support sockets (for the benefit of
- subtype IOCTL_Req_T).
-
-2012-11-06 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch4.adb (P_Primary): if-expressions, case-expressions,
- and quantified expressions are legal if surrounded by parentheses
- from an enclosing context, such as a call or an instantiation.
-
-2012-11-06 Yannick Moy <moy@adacore.com>
-
- * impunit.adb (Get_Kind_Of_Unit): Return appropriate kind for
- predefined implementation files, instead of returning
- Not_Predefined_Unit on all .adb files.
-
-2012-11-06 Tristan Gingold <gingold@adacore.com>
-
- * exp_ch9.adb (Build_Activation_Chain_Entity): Return immediately if
- partition elaboration policy is sequential.
- (Build_Task_Activation_Call): Likewise. Use
- Activate_Restricted_Tasks on restricted profile.
- (Make_Task_Create_Call): Do not use the _Chain
- parameter if elaboration policy is sequential. Call
- Create_Restricted_Task_Sequential in that case.
- * exp_ch3.adb (Build_Initialization_Call): Change condition to
- support concurrent elaboration policy.
- (Build_Record_Init_Proc): Likewise.
- (Init_Formals): Likewise.
- * bindgen.adb (Gen_Adainit): Declare Partition_Elaboration_Policy
- and set it in generated code if the elaboration policy is
- sequential. The procedure called to activate all tasks is now
- named __gnat_activate_all_tasks.
- * rtsfind.adb (RE_Activate_Restricted_Task,
- RE_Create_Restricted_Task_Sequential): New RE_Id literals.
- * s-tarest.adb (Create_Restricted_Task): Added to create a task without
- adding it on an activation chain.
- (Activate_Tasks): Has now a Chain parameter.
- (Activate_All_Tasks_Sequential): Added. Called by the binder to
- activate all tasks.
- (Activate_Restricted_Tasks): Added. Called during elaboration to
- activate tasks of the units.
- * s-tarest.ads: Remove pragma Partition_Elaboration_Policy.
- (Partition_Elaboration_Policy): New variable (set by the binder).
- (Create_Restricted_Task): Revert removal of the chain parameter.
- (Create_Restricted_Task_Sequential): New procedure.
- (Activate_Restricted_Tasks): Revert removal.
- (Activate_All_Tasks_Sequential): New procedure.
-
-2012-11-06 Bernard Banner <banner@adacore.com>
-
- * adaint.c Add file macro definitions missing on Android.
- * adaint.h Avoid definitions related to task affinity and CPU
- sets since this functionality is missing on the Android
- * errno.c (__set_errno): Android already contains such a named
- procedure so do include again.
- * gsocket.h: Sockets not supported on Android.
- * init.c: Avoid linux related code not supported on Android.
- * sysdep.c (sigismember, sigaddset, sigdelset, sigemptyset,
- sigfillset): wrapper functions since sig routines are defined
- as inline macros on Android.
- * terminals.c: Add stubs for terminal related functions not
- supported on Android.
-
-2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): Do not
- output the characters of an illegal argument as it may not have
- characters to begin with.
-
-2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_prag.adb (Expand_Pragma_Loop_Assertion):
- Change the order of argument processing to avoid disappearing
- increase / decrease expressions.
-
-2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_prag.adb: Add with and use clause for Sem_Ch8.
- (Expand_N_Pragma): Add a new variant to expand pragma Loop_Assertion.
- (Expand_Pragma_Loop_Assertion): New routine.
- * par-prag.adb (Prag): The semantic analysis of pragma
- Loop_Assertion is carried out by Analyze_Pragma. No need for
- checks in the parser.
- * sem_prag.adb: Add a reference position value for pragma
- Loop_Assertion in Sig_Flags.
- (Analyze_Pragma): Add semantic analysis for pragma Loop_Assertion.
- * snames.ads-tmpl: Add the following new names:
- Name_Decreases Name_Increases Name_Loop_Assertion.
- Add new pragma id Pragma_Loop_Assertion.
-
-2012-11-06 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb: Identifier in iterator must have debug
- information.
-
-2012-11-06 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Remove
- duplicate rules handled by Make-generated.in.
-
-2012-10-31 Lawrence Crowl <crowl@google.com>
-
- * gcc-interface/utils.c (gnat_write_global_declarations):
- Rename varpool_node to varpool_node_for_decl.
-
-2012-10-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Make-lang.in: Fix and clean up rules for C files.
-
-2012-10-29 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Makefile.in (s-oscons.ads): Adjust call to xoscons.
-
-2012-10-29 Pascal Obry <obry@adacore.com>
-
- * xoscons.adb, Make-generated.in; The template used by xoscons is now
- given as parameter.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2012-10-29 Yannick Moy <moy@adacore.com>
-
- * exp_dbug.adb (Qualify_Entity_Name): Only do renaming in formal
- verification mode when there is a homonym.
-
-2012-10-29 Thomas Quinot <quinot@adacore.com>
-
- * xoscons.adb: Minor reformatting.
-
-2012-10-29 Yannick Moy <moy@adacore.com>
-
- * exp_alfa.adb (Expand_Alfa): Backtrack change that removed
- qualification of names in formal verification mode. Instead,
- the qualification should be modified.
- * exp_dbug.adb (Qualify_Entity_Name): Modify qualification in formal
- verification mode, so that only a suffix is added to distinguish
- homonyms from the same scope.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Document that pragma Optimize_Alignment (Space) is
- ignored with a warning for packed variable length records.
-
-2012-10-29 Thomas Quinot <quinot@adacore.com>
-
- * socket.c, g-socthi-dummy.adb, g-socthi-dummy.ads, g-socthi-vms.adb,
- g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
- s-oscons-tmplt.c, g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi.adb,
- g-socthi.ads, xoscons.adb, g-socket.adb, g-sothco.ads: Introduce an
- appropriate subtype for IOCTL requests, since these may be signed or
- unsigned.
-
-2012-10-29 Gary Dismukes <dismukes@adacore.com>
-
- * exp_alfa.adb: Minor reformatting.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi, gnat_ugn.texi: Clarify documentation on maximum
- line length style switch.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * layout.adb (Set_Composite_Alignment): Ignore pragma
- Optimize_Alignment (Space) for packed variable length records.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * s-bignum.adb: Minor comment change.
-
-2012-10-29 Thomas Quinot <quinot@adacore.com>
-
- * s-oscons-tmplt.c: Fix signedness of ioctl request identifiers
- for x86_64-freebsd.
-
-2012-10-29 Yannick Moy <moy@adacore.com>
-
- * exp_alfa.adb (Expand_Alfa): Remove qualification of names.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb: Minor reformatting.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Minor rewording.
-
-2012-10-29 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.ads (Is_Expanded_Dispatching_Call): New subprogram.
- * exp_disp.adb (Expand_Dispatching_Call): No action needed if the
- call has been already expanded.
- (Is_Expanded_Dispatching_Call): New subprogram.
- * sem_disp.adb (Propagate_Tag): No action needed if the call
- has been already expanded.
-
-2012-10-29 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch9.adb (Create_Index_And_Data): Remove local
- variable Index_Typ and its uses. The type of the index is now
- System.Tasking.Entry_Index. Update all related comments.
- * rtsfind.ads: Add RE_Entry_Index in tables RE_Id and RE_Unit_Table.
- * s-taskin.adb (Number_Of_Entries): The return type is now Entry_Index.
- * s-taskin.ads: The index type of Task_Entry_Names_Array is now
- Entry_Index.
- (Number_Of_Entries): The return type is now Entry_Index.
- * s-tpoben.adb (Number_Of_Entries): The return type is now Entry_Index.
- * s-tpoben.ads: The index type of Protected_Entry_Names_Array
- is now Entry_Index.
- (Number_Of_Entries): The return type is now Entry_Index.
-
-2012-10-29 Pascal Obry <obry@adacore.com>
-
- * gnat_ugn.texi: Add note about SEH setup on x86-windows.
-
-2012-10-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * s-bignum.adb (Allocate_Bignum): Use the exact layout of
- Bignum_Data for the overlay.
-
-2012-10-29 Thomas Quinot <quinot@adacore.com>
-
- * gnat_rm.texi, sem_prag.adb, sem_util.adb, sem_util.ads,
- par-prag.adb, par-util.adb, snames.ads-tmpl (Sem_Prag.Analyze_Pragma):
- Handle new pragma Attribute_Definition.
- (Sem_Util.Bad_Attribute): New routine, moved here
- from par-util, so that it can be used by the above.
- (Par_Util.Signal_Bad_Attribute): Processing moved to
- Sem_Util.Bad_Attribute.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * s-tpoben.ads, s-taskin.ads, exp_ch3.adb: Minor reformatting.
-
-2012-10-29 Yannick Moy <moy@adacore.com>
-
- * sem_prag.adb, gnat1drv.adb, opt.ads: Rename S14_Extensions
- into Formal_Extensions.
-
-2012-10-29 Thomas Quinot <quinot@adacore.com>
-
- * sem_attr.adb: Minor reformatting.
-
-2012-10-29 Tristan Gingold <gingold@adacore.com>
-
- * gnat_rm.texi: Document implementation advice for Pragma
- Partition_Elaboration_Policy.
-
-2012-10-29 Yannick Moy <moy@adacore.com>
-
- * s-bignum.adb (Div_Rem): Reference that Algorithm_D is from
- the second edition of TAOCP from Knuth, since the algo changed
- in the third edition. Also correct the definition of 'd' which
- could overflow.
-
-2012-10-29 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch3.adb (Build_Initialization_Call): Create static strings
- which denote entry [family] names and associate them with the
- object's Protection_Entries or ATCB.
- (Build_Init_Statements):
- Remove local variable Names. Do not generate the entry [family]
- names inside the init proc because they are now static.
- * exp_ch9.adb (Build_Entry_Names): Reimplemented. The strings
- which denote entry [family] names are now generated statically
- and associated with the concurrent object's Protection_Entries
- or ATCB during initialization.
- * exp_ch9.ads (Build_Entry_Names): Change subprogram profile
- and associated comment on usage.
- * rtsfind.ads: Add the following entries to tables RE_Id and
- RE_Unit_Table:
-
- RE_Protected_Entry_Names_Array RE_Task_Entry_Names_Array
- RO_PE_Number_Of_Entries RO_PE_Set_Entry_Names
- RO_ST_Number_Of_Entries RO_ST_Set_Entry_Names
-
- Remove the following entries from tables RE_Id and RE_Unit_Table:
-
- RO_PE_Set_Entry_Name RO_TS_Set_Entry_Name
-
- * s-taskin.adb: Remove with clause for Ada.Unchecked_Deallocation.
- (Free_Entry_Names_Array): Removed.
- (Number_Of_Entries): New routine.
- (Set_Entry_Names): New routine.
- * s-taskin.ads: Rename type Entry_Names_Array to
- Task_Entry_Names_Array. Rename type Entry_Names_Array_Access
- to Task_Entry_Names_Access. Update the type of ACTB field
- Entry_Names and add a comment on its protection status.
- (Free_Entry_Names_Array): Removed.
- (Number_Of_Entries): New routine.
- (Set_Entry_Names): New routine.
- * s-tassta.adb (Create_Task): Remove formal parameter
- Build_Entry_Names. Do not allocate an array to hold the
- string names of entries and families.
- (Free_Entry_Names): Removed.
- (Free_Task): Remove the call to Free_Entry_Names.
- (Set_Entry_Name): Removed.
- (Vulnerable_Free_Task): Remove the call to Free_Entry_Names.
- * s-tassta.ads (Create_Task): Remove formal parameter
- Build_Entry_Names along with associated comment.
- (Set_Entry_Name): Removed.
- * s-tpoben.adb: Remove with clause for Ada.Unchecked_Deallocation.
- (Finalize): Remove the call to Free_Entry_Names.
- (Free_Entry_Names): Removed.
- (Initialize_Protection_Entries):
- Remove formal parameter Build_Entry_Names. Do not allocate
- an array to hold the string names of entries and families.
- (Number_Of_Entries): New routine.
- (Set_Entry_Name): Removed.
- (Set_Entry_Names): New routine.
- * s-tpoben.ads: Add types Protected_Entry_Names_Array and
- Protected_Entry_Names_Access. Update the type of Protection_Enties
- field Entry_Names.
- (Initialize_Protection_Entries): Remove
- formal parameter Build_Entry_Names along with associated comment.
- (Number_Of_Entries): New routine.
- (Set_Entry_Name): Removed.
- (Set_Entry_Names): New routine.
-
-2012-10-29 Arnaud Charlet <charlet@adacore.com>
-
- * gnat_ugn.texi: Minor typo fix.
-2012-10-29 Yannick Moy <moy@adacore.com>
-
- * debug.adb Associate debug switch -gnatd.V to extensions for
- formal verification.
- * gnat1drv.adb (Adjust_Global_Switches): Set flag S14_Extensions
- when -gnatd.V is set.
- * gnat_rm.texi: Remove doc for Assert_And_Cut.
- * opt.ads Declare new flag S14_Extensions, to be set when new
- aspects/pragmas/attributes for formal verification should be
- accepted.
- * sem_prag.adb (Analyze_Pragma): Check that S14_Extensions is
- set when treating pragma Assert_And_Cut.
-
-2012-10-29 Tristan Gingold <gingold@adacore.com>
-
- * s-tarest.ads, s-tassta.adb: Add a pragma Partition_Elaboration_Policy.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb: Minor reformatting.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * xr_tabls.adb, xr_tabls.ads, exp_ch9.adb, snames.adb-tmpl,
- snames.ads-tmpl, exp_ch3.adb: Minor reformatting.
-
-2012-10-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb: Call Build_Subprogrm_Instance_Renamings only when
- generating code.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Add documentation for -gnatw.k/-gnatw.K.
- * ug_words: Add entries for -gnatw.k/.K for [NO]STANDARD_REDEFINITION.
- * vms_data.ads: Add entries for [NO]STANDARD_REDEFINITION.
-
-2012-10-29 Tristan Gingold <gingold@adacore.com>
-
- * exp_ch9.adb, s-tarest.ads, exp_ch3.adb: Update comments.
-
-2012-10-29 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi: Minor documentation addition.
-
-2012-10-29 Emmanuel Briot <briot@adacore.com>
-
- * xr_tabls.adb, xr_tabls.ads (Add_Declaration, Add_Reference): No
- longer assume that a parameter declaration is seen after the subprogram
- that uses it.
-
-2012-10-29 Tristan Gingold <gingold@adacore.com>
-
- * lib-writ.adb (Write_ALI): Emit partition elaboration policy
- in P line.
- * lib-writ.ads: Document partition elaboration policy indication.
- * sem_prag.adb (Check_Arg_Is_Partition_Elaboration_Policy): New
- procedure.
- (Analyze_Pragma): Handle Partition_Elaboration_Policy.
- (Sig_Flags): Add flag for Pragma_Partition_Elaboration_Policy
- * ali.adb (Initialize_ALI): Init Partition_Elaboration_Policy_Specified.
- (Scan_ALI): Read Ex indications.
- * ali.ads: ALIs_Record: Add Partition_Elaboration_Policy.
- * par-prag.adb (Prag): Add Partition_Elaboration_Policy.
- * snames.adb-tmpl (Is_Partition_Elaboration_Policy_Name): New function.
- * opt.ads (Partition_Elaboration_Policy): Declare.
- (Partition_Elaboration_Policy_Sloc): Declare.
- * bcheck.adb (Check_Consistent_Partition_Elaboration_Policy):
- New procedure. (Check_Configuration_Consistency): Check partition
- elaboration policy consistency.
- * snames.ads-tmpl (Name_Partition_Elaboration_Policy): New name.
- (First_Partition_Elaboration_Policy_Name, Name_Concurrent,
- Name_Sequential, Last_Partition_Elaboration_Policy_Name): Likewise.
- (Pragma_Partition_Elaboration_Policy): New literal.
- (Is_Partition_Elaboration_Policy_Name): New function.
-
-2012-10-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Is_Public_Subprogram_For): Handle properly
- expression functions, which are rewritten as subprogram
- declarations, when generating invariants for its return value
- and in-out parameters.
-
-2012-10-29 Arnaud Charlet <charlet@adacore.com>
-
- * warnsw.adb (Set_GNAT_Mode_Warnings): Unset
- Warn_On_Standard_Redefinition.
-
-2012-10-29 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Derive_Progenitor_Subprograms): Complete documentation.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * par-ch11.adb (Warn_If_Standard_Redefinition): Add calls.
- * par-ch3.adb (P_Defining_Identifier): Call
- Warn_If_Standard_Redefinition if not inside record definition.
- * par-ch6.adb (Warn_If_Standard_Redefinition): Add calls.
- * par-util.adb (Warn_If_Standard_Redefinition): New procedure.
- * par.adb (Inside_Record_Definition): New flag.
- (Warn_If_Standard_Redefinition): New procedure.
- * sinfo-cn.adb (Change_Identifier_To_Defining_Identifier): Remove
- handling of warning for redefining standard name (moved to Par*).
-
-2012-10-29 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Derive_Progenitor_Subprograms): Disable small
- optimization in generic formal types.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * exp_ch9.adb, exp_ch3.adb: Add comments.
- * sem_prag.adb: Minor reformatting.
-
-2012-10-29 Tristan Gingold <gingold@adacore.com>
-
- * bindgen.adb (Gen_Output_File_Ada): Do not emit declaration for
- Is_Elaborated if not referenced.
-
-2012-10-29 Tristan Gingold <gingold@adacore.com>
-
- * exp_ch9.adb (Build_Activation_Chain_Entity): Punt in restricted
- profile.
- * exp_ch3.adb (Build_Initialization_Call): Do no append _Chain
- parameter in restricted profile.
- (Build_Init_Call_Thru): Likewise.
- (Init_Formals): Likewise.
- * exp_ch3.adb: Minor reformatting.
-
-2012-10-29 Arnaud Charlet <charlet@adacore.com>
-
- * usage.adb: Update usage line for -gnatw.k.
-
-2012-10-29 Yannick Moy <moy@adacore.com>
-
- * sem_prag.adb: Code clean up.
-
-2012-10-29 Vincent Celier <celier@adacore.com>
-
- * projects.texi: Clarify documentation of attribute
- Ignore_Source_Sub_Dirs.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * g-sechas.adb, g-sechas.ads, exp_ch9.adb, bindgen.adb, exp_dbug.adb,
- exp_dbug.ads: Minor reformatting.
-
-2012-10-29 Pascal Obry <obry@adacore.com>
-
- * g-sechas.adb, g-sechas.ads: (Binary_Message_Digest): New subtype.
- (Digest): New versions returning a Binary_Message_Digest.
- (Wide_Digest): Likewise.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * warnsw.adb: Complete previous change.
-
-2012-10-29 Tristan Gingold <gingold@adacore.com>
-
- * bindgen.adb (Check_File_In_Partition, Check_System_Restrictions_Used):
- Removed.
- (Check_Dispatching_Domains_Used): Removed.
- (Gen_Adafinal): Remove call to above procedures.
- (Resolve_Binder_Options): Handle system restrictions and dispatching
- domains.
-
-2012-10-29 Tristan Gingold <gingold@adacore.com>
-
- * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Remove
- Chain parameter.
- * exp_ch9.adb (Make_Task_Create_Call): Do not add Chain parameter
- on restricted runtime.
-
-2012-10-29 Pascal Obry <obry@adacore.com>
-
- * g-sechas.adb, g-sechas.ads: Minor code clean-up.
-
-2012-10-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aux.adb (Get_Rep_Item): Treat Priority and Interrupt_Priority
- as equivalent, because only one of them can be specified for a
- task, protected definition, or subprogram body.
- * aspects.adb ((Same_Aspect): The canonical aspect of
- Interrupt_Priority is Priority.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * sem_ch13.adb: Minor reformatting.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * i-cstrea.ads: Avoid redefinition of standard symbol string.
- * prj-makr.adb: Add comment for OK redefinition of Stadard.
- * prj.ads: Add comment for OK redefinition of Stadard.
- * s-crtl.ads: Avoid redefinition of standard symbol string.
- * sinfo-cn.adb (Change_Identifier_To_Defining_Identifier):
- Generate warning for standard redefinition if
- Warn_On_Standard_Definition set.
- * usage.adb: Add lines for -gnatw.k and -gnatw.K
- * warnsw.adb: Set/reset Warn_On_Standard_Redefinition
- appropriately.
- * warnsw.ads (Warn_On_Standard_Redefinition): New flag.
- * s-stratt-xdr.adb: Avoid new warning.
-
-2012-10-29 Ed Schonberg <schonberg@adacore.com>
-
- * exp_dbug.ads, exp_dbug.adb (Build_Subprogram_Instance_Renamings):
- in the body of a subpogram instance, introduce local renamings
- for actuals of an elementary type, so that GDB can recover the
- values of these actuals more directly.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * sem_ch5.adb (Analyze_Loop_Statement): Add warning for identical
- inner/outer ranges.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * einfo.ads: Change terminology "present" to "defined" in talking
- about whether a given field is defined for a given entity kind.
-
-2012-10-29 Bob Duff <duff@adacore.com>
-
- * atree.ads: Minor comment fix.
-
-2012-10-29 Bob Duff <duff@adacore.com>
-
- * sem_ch13.adb (Replace_Type_Reference): Set_Comes_From_Source.
- Otherwise, the node is ignored by ASIS.
- * sem_ch5.adb: Minor reformatting.
-
-2012-10-29 Thomas Quinot <quinot@adacore.com>
-
- * exp_attr.adb, exp_dist.adb, exp_dist.ads (Build_To_Any_Call): Pass
- an explicit Loc parameter to set the source location of generated
- nodes.
-
-2012-10-29 Tristan Gingold <gingold@adacore.com>
-
- * exp_ch9.adb (Build_Task_Activation_Call): Do nothing on
- restricted profile.
- * bindgen.adb (System_Tasking_Restricted_Stages_Used): New variable.
- (Gen_Adainit): Declare and call Activate_Tasks when the above variable
- is set.
- (Resolve_Binder_Options): Set the variable.
- * rtsfind.ads (RE_Activate_Restricted_Tasks): Removed (now unused).
- * s-tarest.adb (Tasks_Activation_Chain): New variable.
- (Activate_Restricted_Tasks): Removed, and replaced by ...
- (Activate_Tasks): New procedure, to activate all tasks at
- the end of elaboration.
- (Create_Restricted_Tasks): Chain parameter is now unreferenced. Put
- the created task on the Tasks_Activation_Chain list.
- * s-tarest.ads (Activate_Restricted_Tasks): Removed.
- (Activate_Tasks): Added.
-
-2012-10-29 Gary Dismukes <dismukes@adacore.com>
-
- * sem_res.adb (Resolve_If_Expression): Compare subtype of the 'then'
- expression against the subtype of the expression rather than comparing
- base types, same as is already done for the 'else' expression.
-
-2012-10-29 Steve Baird <baird@adacore.com>
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If CodePeer_Mode
- = True and we detect that an Address specification is used to overlay
- another object, do not set that object's Treat_As_Volatile flag.
-
-2012-10-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Constant_Redeclaration): If the type of a
- deferred constant has invariants, generate invariant call on
- the initial value.
-
-2012-10-29 Bob Duff <duff@adacore.com>
-
- * sem_ch13.adb (Replace_Type_Reference): Use correct sloc for
- the new node.
-
-2012-10-29 Thomas Quinot <quinot@adacore.com>
-
- * sem_elab.adb: Minor reformatting and code reorganization.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * par-ch4.adb (P_Primary): Warn on bad use of unary minus.
-
-2012-10-29 Robert Dewar <dewar@adacore.com>
-
- * s-valuti.ads, s-valuti.adb (Bad_Value): New procedure.
- * s-valllu.adb, s-valwch.adb, s-valcha.adb, s-valint.adb,
- s-valuns.adb, s-valrea.adb, s-valboo.adb, s-valenu.adb,
- s-vallli.adb: Use Bad_Value everywhere.
-
-2012-10-29 Yannick Moy <moy@adacore.com>
-
- * gnat1drv.adb (Adjust_Global_Switches): Do not suppress checks
- in Alfa mode.
-
-2012-10-29 Yannick Moy <moy@adacore.com>
-
- * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
- Add special case for case expression alternative.
- (Is_Signed_Integer_Arithmetic_Op): Remove special case for case
- expression alternative.
- * exp_ch4.adb Minor reformatting.
-
-2012-10-29 Thomas Quinot <quinot@adacore.com>
-
- * sem_elab.adb: Minor reformatting.
-
-2012-10-29 Bob Duff <duff@adacore.com>
-
- * sem_res.adb: Minor: Remove redundant test.
-
-2012-10-29 Arnaud Charlet <charlet@adacore.com>
-
- * pprint.ads, pprint.adb, adabkend.ads, adabkend.adb,
- aa_util.ads, aa_util.adb: New.
-
-2012-10-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * system-linux-mipsel.ads (Stack_Check_Probes): Set to True.
- * system-linux-mips.ads (Stack_Check_Probes): Likewise.
- * system-linux-mips64el.ads (Stack_Check_Probes): Likewise.
-
-2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Force
- BLKmode on the type if it is passed by reference.
- <E_Array_Subtype>: Likewise.
- <E_Record_Type>: Guard the call to Is_By_Reference_Type predicate.
- <E_Record_Subtype>: Likewise.
-
- * gcc-interface/Makefile.in: Remove outdated comment and reference to
- non-existing file.
-
-2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (rest_of_record_type_compilation): Simplify and
- robustify pattern machine code for masking operations.
-
-2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: In
- type annotation mode, break circularities introduced by AI05-0151.
-
-2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Loop_Statement_to_gnu): Use gnat_type_for_size
- directly to obtain an unsigned version of the base type.
-
-2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: Do not
- generate the special PARM_DECL for an Out parameter in LTO mode.
-
-2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
-
- PR bootstrap/54820
- * gcc-interface/Make-lang.in (GCC_LINK): Remove hardcoded options.
-
-2012-10-15 Matthias Klose <doko@ubuntu.com>
-
- * gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for
- ARM Linux/GNU.
-
-2012-10-05 Robert Dewar <dewar@adacore.com>
-
- * sem_ch7.adb: Minor reformatting.
-
-2012-10-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma, case Persistent_BSS): check for
- a duplicate pragma before Rep_Item_Too_Late to prevent spurious
- messages about duplicate pragmas.
-
-2012-10-05 Ed Schonberg <schonberg@adacore.com>
-
- * exp_util.adb (Find_Init_Call): If the successor of the
- object declaration is a block, check whether it contains the
- initialization call, because it may have been created by actuals
- that use the secondary stack.
-
-2012-10-05 Thomas Quinot <quinot@adacore.com>
-
- * sem_dim.adb, errout.adb, errout.ads (Analyze_Dimension_Call): Add
- guard against abnormal tree resulting from a previously diagnosed
- illegality.
-
-2012-10-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * freeze.adb (Freeze_Expression): Rename local variable Cspc to Spec
- and update all refs to it. Do not freeze an entity outside a subprogram
- body when the original context is an expression function.
-
-2012-10-05 Robert Dewar <dewar@adacore.com>
-
- * gnat1drv.adb (Adjust_Global_Switches): Default for overflow checking
- is suppressed, even if backend overflow/divide checks are enabled.
-
-2012-10-05 Ed Schonberg <schonberg@adacore.com>
-
- * einfo.adb (Set_Invariant_Procedure, Set_Predicate_Function):
- chain properly subprograms on Subprograms_For_Type list.
- * sem_ch13.ads; (Build_Invariant_Procedure_Declaration): new
- procedure, to create declaration for invariant procedure
- independently of the construction of the body, so that it can
- be called within expression functions.
- * sem_ch13.adb (Build_Invariant_Procedure): code cleanup. The
- declaration may already have been generated at the point an
- explicit invariant aspect is encountered.
- * sem_prag.adb; (Analyze_Pragma, case Invariant): create declaration
- for invariant procedure.
- * sem_ch7.adb (Analyze_Package_Specification): clean up call to
- build invariant procedure.
- (Preserve_Full_Attributes): propagate information about invariants
- if they appear on a completion,
-
-2012-10-05 Pascal Obry <obry@adacore.com>
-
- * gnat_ugn.texi: Update documentation to lift Microsoft C
- restriction.
-
-2012-10-05 Robert Dewar <dewar@adacore.com>
-
- * sem_util.adb (Has_One_Matching_Field): Handle case of lone
- discriminant.
-
-2012-10-05 Yannick Moy <moy@adacore.com>
-
- * checks.adb (Minimize_Eliminate_Overflow_Checks): Correct code
- for the division operation and exponent operation. Adjust bound
- for the mod and rem operations.
-
-2012-10-05 Robert Dewar <dewar@adacore.com>
-
- * checks.adb, checks.ads, s-tassta.adb, s-stposu.adb, s-spsufi.adb,
- s-spsufi.ads, exp_ch4.adb: Minor reformatting.
-
-2012-10-05 Yannick Moy <moy@adacore.com>
-
- * switch-c.adb, checks.adb, checks.ads, sem_prag.adb, exp_ch4.adb,
- osint.adb: Minor correction of typos, and special case for Alfa mode.
-
-2012-10-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * s-spsufi.adb: Add with clause for Ada.Unchecked_Deallocation.
- Add with and use clauses for System.Finalization_Masters.
- (Finalize_And_Deallocate): Add an instance of
- Ada.Unchecked_Deallocation. Merge the code from the now obsolete
- Finalize_Subpool into this routine.
- * s-spsufi.ads: Add pragma Preelaborate.
- * s-stposu.adb: Remove with clause for
- Ada.Unchecked_Deallocation; Add with and use clauses for
- System.Storage_Pools.Subpools.Finalization; (Finalize_Pool):
- Update the comment on all actions takes with respect to a subpool
- finalization. Finalize and deallocate each individual subpool.
- (Finalize_Subpool): Removed.
- (Free): Removed;
- (Detach): Move from package body to spec.
- * s-stposu.ads (Detach): Move from package body to spec.
- (Finalize_Subpool): Removed.
-
-2012-10-05 Arnaud Charlet <charlet@adacore.com>
-
- * s-tassta.adb: Update comments.
- (Vulnerable_Complete_Master): If Free_On_Termination is set, do
- nothing, and let the task free itself if not already done.
-
-2012-10-04 Robert Dewar <dewar@adacore.com>
-
- * sem_res.adb (Resolve_Set_Membership): Warn on duplicates.
-
-2012-10-04 Emmanuel Briot <briot@adacore.com>
-
- * g-comlin.adb (Getopt): Fix value of Full_Switch returned in case of
- invalid switch.
-
-2012-10-04 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2012-10-04 Robert Dewar <dewar@adacore.com>
-
- * sem_eval.adb (Fold_Str, Fold_Uint, Fold_Ureal): Reset static
- expression state after Resolve call.
-
-2012-10-04 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma. case Warnngs): Don't make entry
- in the table for Warnings Off pragmas if within an instance.
-
-2012-10-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch9.adb (Analyze_Entry_Body): Transfer
- Has_Pragma_Unreferenced flag from entry formal to corresponding
- entity in body, to prevent spurious warnings when pragma is
- present.
-
-2012-10-04 Robert Dewar <dewar@adacore.com>
-
- * s-bignum.adb (Big_Exp): Raise Storage_Error for ludicrously
- large results.
-
-2012-10-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Check_Duplicate_Aspects): Diagnose properly
- aspects that appear in the partial and the full view of a type.
-
-2012-10-04 Robert Dewar <dewar@adacore.com>
-
- * sinfo.ads (N_Return_Statement): Removed.
-
-2012-10-04 Tristan Gingold <gingold@adacore.com>
-
- * init.c (__gl_zero_cost_exceptions): Comment it as not used
- anymore.
- * bindgen.adb (Gen_Adainit): Do not emit Zero_Cost_Exceptions
- anymore.
-
-2012-10-04 Thomas Quinot <quinot@adacore.com>
-
- * prep.adb, prepcomp.adb, gprep.adb, opt.ads: New preprocessor switch
- -a (all source text preserved).
-
-2012-10-04 Vincent Celier <celier@adacore.com>
-
- * prj-proc.adb (Recursive_Process): Use project directory
- display path name as the value of 'Project_Dir.
-
-2012-10-04 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
- Deal with case where we get a bignum operand and cannot do a
- range analysis.
- * sem_eval.adb (Why_Not_Static): Deal with bignum operands
-
-2012-10-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Find_Unary_Types): Within an instance, an
- interpretation that involves a predefied arithmetic operator is
- not a candidate if the corresponding generic formal type is not
- a numeric type.
- * sem_util.ads, sem_util.adb (Corresonding_Generic_Type): If a
- type is a generic actual type within an instance, return the
- corresponding formal in the generic unit, otherwise return
- Any_Type.
-
-2012-10-04 Robert Dewar <dewar@adacore.com>
-
- * checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze
- if/case expression if nothing has changed (just reexpand). Stops
- case expression from generating incorrect temporary.
- * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
- Fix cut and paste typo for range analysis in NE (not equal) case.
- * sem_eval.adb (Compile_Time_Compare): Small optimization to
- catch some more cases.
- * types.ads (Suppressed_Or_Checked): New subtype of
- Overflow_Check_Type.
-
-2012-10-04 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Set_CPP_Constructors_Old): Removed.
- (Set_CPP_Constructors): Code cleanup.
-
-2012-10-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Is_Ancestor_Unit): Make global, for use elsewhere.
- (Install_Private_with_Clauses): if clause is private and limited,
- do not install the limited view if the library unit is an ancestor
- of the unit being compiled. This unusual configuration occurs
- when compiling a unit DDP, when an ancestor P of DDP has a
- private limited with clause on a descendant of P that is itself
- an ancestor of DDP.
-
-2012-10-04 Vincent Celier <celier@adacore.com>
-
- * prj-proc.adb (Process_Package_Declaration): Use project
- directory display path name as the value of 'Project_Dir.
-
-2012-10-04 Gary Dismukes <dismukes@adacore.com>
-
- * exp_util.adb (Build_Allocate_Deallocate_Proc): The subpool can be
- given by an arbitrary name, so copy the tree to make the call's actual.
-
-2012-10-04 Robert Dewar <dewar@adacore.com>
-
- * s-exnllf.adb, s-exnllf.ads: Minor reformatting.
-
-2012-10-04 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch6.adb: Minor reformatting.
-
-2012-10-04 Pascal Obry <obry@adacore.com>
-
- * projects.texi: Use consistently @command{} when referencing
- commands. Fix typos.
-
-2012-10-03 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (New_Overloaded_Entity): call
- Append_Inherited_Subprogram when appropriate.
- * sem_dim.adb (Analyze_Dimension_Call): Do not perform dimensional
- analysis if call has previous semantic error.
- * sem_util.ads, sem_util.adb (Append_Inherited_Subprogram):
- new subprogram to handle properly the visibility of inherited
- operations that are primitives of a type extension, when the
- parent type and operations are declared in the same visible part.
-
-2012-10-03 Robert Dewar <dewar@adacore.com>
-
- * checks.adb (Minimize_Eliminate_Overflow_Checks): Properly
- handle case of top level expression within type conversion
- * gnat1drv.adb (Adjust_Global_Switches): Set SUPPRESSED as
- default for overflow checking for -gnatg mode (includes run-time).
- * sem_res.adb (Resolve_Type_Conversion): Avoid bogus warnings
- about redundant conversions from MINIMIZED/EXTENDED mode checking
-
-2012-10-03 Javier Miranda <miranda@adacore.com>
-
- * exp_ch4.adb (Expand_N_Allocator_Expression): Minor code
- reorganization and cleanup. Done to ensure proper management of
- the C++ constructor covering tagged and untagged types and also
- non-default constructors.
- * exp_ch6.ads, exp_ch6.adb (Make_CPP_Constructor_Call_In_Allocator):
- New subprogram.
-
-2012-10-03 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch6.adb: Minor typo fix.
-
-2012-10-03 Robert Dewar <dewar@adacore.com>
-
- * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
- Set Top_Level properly (to False) for operand of range of
- membership test.
- * exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
- Fix crash with -gnato3 and membership operations.
- (Expand_Membership_Minimize_Eliminate_Overflow): Fix error message
- and wrong results for -gnato3 large expression and predicated
- subtype.
- (Expand_Membership_Minimize_Eliminate_Overflow): Use
- expression action node to avoid using insert actions (bombs in
- some cases).
- (Expand_Compare_Minimize_Eliminate_Overflow): Use expression action
- node to avoid using insert actions (bombs in some cases).
-
-2012-10-03 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Set_CPP_Constructors_Old): Handle constructor of
- untagged type that has all its parameters with defaults and hence it
- covers the default constructor.
-
-2012-10-03 Yannick Moy <moy@adacore.com>
-
- * checks.adb, sem_prag.adb, s-bignum.ads: Minor typo fixes.
-
-2012-10-03 Thomas Quinot <quinot@adacore.com>
-
- * g-socket.adb (Connect_Socket, version with timeout): When the
- newly-connected socket is reported as available for writing, check
- whether it has a pending asynchronous error prior to returning.
-
-2012-10-03 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Check_Conformance): Additional info when subtype
- conformance fails, due to a missing null exclusion indicatar in
- a formal that must match a controlling access formal.
-
-2012-10-02 Ben Brosgol <brosgol@adacore.com>
-
- * gnat_rm.texi: Minor editing.
-
-2012-10-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Function_Return): Reject a return
- expression whose type is a local access to subprogram type.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * sem_eval.adb: Minor improvement to Compile_Time_Compare.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
- Fix base type problem that resulted in improper conversion.
- (Minimize_Eliminate_Overflow_Checks): Properly handle top
- level case to avoid unnecessary conversion to bignum or LLI.
- (Minimize_Eliminate_Overflow_Checks): Implement uniform two phase
- approach for arithmetic operators and for if/case expressions.
- * checks.ads: Minor comment fix.
- * exp_ch4.adb (Minimized_Eliminated_Overflow_Check): New function,
- implements a uniform way of treating minimized/eliminated checks in
- two phases.
- (Expand_Compare_Minimize_Eliminate_Overflow): Fix cut and
- paste error resulting in wrong results for less than in some
- cases. (Expand_Membership_Minimize_Eliminate_Overflow):
- Fix error caused by incorrect capture of operand types.
- (Expand_Membership_Minimize_Eliminate_Overflow): Fix error in
- handling of bignum case.
- (Expand_N_Case_Expression): Implement
- proper two phase handling (Expand_N_If_Expression): Implement
- proper two phase handling (Expand_N_Op_Abs): Implement proper
- two phase handling ditto for all other arithmetic operators
- * sem_res.adb (Resolve_If_Expression): Avoid introducing
- unneeded conversions.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * s-bignum.adb (Big_Exp): 0**0 should be 1, not 0.
- (Big_Exp): Fix possible error for (-1)**0.
- (Big_Exp): Fix error in computing 2**K for small K.
- (Big_Mod): Fix wrong sign for negative operands.
- (Div_Rem): Fix bad results for operands close to 2**63.
- * s-bignum.ads: Add documentation and an assertion to require
- LLI size to be 64 bits.
- * sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Do not
- allow ELIMINATED if LLI'Size is other than 64 bits.
- * switch-c.adb (Scan_Switches): Do not allow -gnato3 if LLI'Size
- is not 64 bits.
- * switch.ads (Bad_Switch): Add missing pragma No_Return.
- * gnat_ugn.texi: Added appendix on Overflow Check Handling in GNAT.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * sem_type.adb: Minor reformatting.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch8.adb: Minor reformatting.
-
-2012-10-02 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Set_CPP_Constructors): Handle constructor with default
- parameters that covers the default constructor.
-
-2012-10-02 Yannick Moy <moy@adacore.com>
-
- * s-bignum.adb: Minor stylistic and comment corrections.
-
-2012-10-02 Pascal Obry <obry@adacore.com>
-
- * prj-util.adb (For_Interface_Sources): Iterate over all sources in
- aggregate library projects.
-
-2012-10-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Find_Direct_Name): The left-hand side of an
- assignment may designate a generalized reference.
-
-2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * types.h (N_Return_Statement): Delete.
- * gcc-interface/trans.c (gnat_to_gnu): Replace N_Return_Statement with
- N_Simple_Return_Statement.
-
-2012-10-02 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb (Freeze_Entity): in a generic context, aspects must
- be analyzed because they may be queried subsequently within the
- generic unit, even if no other freezing actions are generated
- for an entity.
- * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): iterator
- aspects must be analyzed because they are delayed aspects and
- the corresponding attribute definition clause may not have been
- analyzed yet.
-
-2012-10-02 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi: Minor editing.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * sinfo.adb, sinfo.ads, sem_util.adb, sem_util.ads, types.h,
- exp_ch4.adb, exp_ch6.adb: Get rid of internal use of N_Return_Statement.
-
-2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * types.h: Minor cosmetic fix.
-
-2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
- bounds of loop iteraration scheme only for locally defined subtypes.
-
- * gcc-interface/trans.c (gigi): Fix formatting.
- (build_return_expr): Apply the NRV optimization only for BLKmode.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * sinfo.ads: Remove refs of N_Conditional_Expression and
- N_Parameterized_Expression.
-
-2012-10-02 Thomas Quinot <quinot@adacore.com>
-
- * exp_aggr.adb (Get_Component_Val): Rewrite code that computes
- justification of bits in enclosing word in an attempt to make
- it clearer.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * par_sco.adb, sem_ch3.adb, layout.adb, exp_ch7.adb, exp_imgv.adb,
- exp_util.adb, exp_util.ads, exp_attr.adb, sinfo.adb, sinfo.ads,
- exp_ch9.adb, style.ads, scos.ads, debug.adb, einfo.ads, scng.adb,
- checks.adb, checks.ads, sem.adb, par-ch4.adb, sem_util.adb, types.h,
- sem_res.adb, expander.adb, scans.ads, par.adb, exp_ch2.adb,
- gnat1drv.adb, stylesw.ads, sem_elab.adb, exp_ch4.adb, exp_ch4.ads,
- exp_ch6.adb, sem_ch4.adb, sem_ch4.ads, sem_ch6.adb,
- opt.ads, sem_eval.adb, sem_eval.ads, exp_intr.adb, sprint.adb,
- sprint.ads, styleg.ads: Change name Conditional_Expression to
- If_Expression.
- * gcc-interface/trans.c (gnat_to_gnu): Replace
- N_Conditional_Expression by N_If_Expression.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb (Expand_N_Op_Expon): Use expression with actions
- for x ** 4.
-
-2012-10-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb: (Analyze_Iterator_Specification): If container
- has a variable indexing aspect, the element is a variable and
- is modifiable in the loop. This check is also performed when the
- loop is expanded, but it must be done in semantic analysis when
- expansion is disabled, for example for ASIS usage.
-
-2012-10-02 Ed Schonberg <schonberg@adacore.com>
-
- * lib-xref.adb (Generate_Reference): If a child subprogram
- has no previous spec, treat a reference to its formals (such
- as a parameter association) as coming from source in order to
- generate the proper references and enable gps navigation between
- reference and declaration.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * checks.adb (Apply_Arithmetic_Overflow_Checked_Suppressed):
- New name for Apply_Arithmetic_Overflow_Normal
- (Apply_Arithmetic_Overflow_Minimized_Eliminated):
- Add handling for conditional expressions
- (Is_Signed_Integer_Arithmetic_Op): Now includes conditional
- expressions (Minimize_Eliminate_Overflow_Checks): Handle
- conditional expressions.
- * checks.ads: Minor comment fixes.
- * exp_ch4.adb (Expand_N_Case_Expression): Call
- Apply_Arithmetic_Overflow_Check (Expand_N_Conditional_Expression):
- Call Apply_Arithmetic_Overflow_Check
- * s-bignum.adb (Normalize): Remove incorrect precondition.
- * sem_res.adb (Resolve_Case_Expression): Set Do_Overflow_Check
- flag (Resolve_Conditional_Expression): Set Do_Overflow_Check flag.
- * sinfo.adb: Add Do_Overflow_Check for conditional expressions.
- * sinfo.ads: Minor documentation updates.
-
-2012-10-02 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch4.adb (Expand_N_Case_Expression): Do not introduce
- indirections when the type of the alternatives is an access type:
- more efficient, and removes anomalies when an alternative is
- statically null.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * aspects.ads: Minor comment addition (Invariant is a GNAT aspect).
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * exp_ch7.adb, sem_dim.adb, sem_dim.ads, prj-part.adb, checks.adb,
- freeze.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Fix
- typo preventing proper processing of Overflow_Checks pragmas
- for general case.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb (Expand_N_Op_Mod): Fix crash in ELIMINATED overflow
- checks mode when bignum mode is used.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * stylesw.ads, gnat_ugn.texi: Document new style rule for NOT IN.
- * par-ch4.adb (P_Relational_Operator): Add style check for NOT IN.
- * style.ads, styleg.adb, styleg.ads (Check_Not_In): New procedure.
-
-2012-10-02 Vincent Pucci <pucci@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute): Check dimension for attribute
- Old before it gets expanded.
- * sem_dim.adb (Analyze_Dimension_Has_Etype): Correctly propagate
- dimensions for identifier.
-
-2012-10-02 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop): Handle properly the case
- where the iterator type is derived locally from an instantiation
- of Ada.Iterators_Interface.
- * exp_ch7.adb (Establish_Transient_Scope): Do not create a
- transient scope if within the expansion of an iterator loop,
- because a transient block already exists.
-
-2012-10-02 Vincent Celier <celier@adacore.com>
-
- * gnatcmd.adb: Use absolute path for configuration pragmas files
- * make.adb (Configuration_Pragmas_Switch.Absolute_Path): Moved
- to Makeutl.
- * makeutl.ads, makeutl.adb (Absolute_Path): New function, moved from
- make.adb.
-
-2012-10-02 Vincent Celier <celier@adacore.com>
-
- * prj-part.adb (Post_Parse_Context_Clause): Resurrect Boolean
- parameter In_Limited. Check for circularity also if In_Limited
- is True.
- (Parse_Single_Project): Call Post_Parse_Context_Clause with
- In_Limited parameter.
-
-2012-10-02 Bob Duff <duff@adacore.com>
-
- * checks.adb (Apply_Predicate_Check): Disable check in -gnatc mode.
-
-2012-10-02 Vincent Pucci <pucci@adacore.com>
-
- * sem_ch6.adb (Analyze_Function_Call): Dimension propagation
- for function calls moved to Analyze_Dimension_Call.
- * sem_dim.adb (Analyze_Dimension_Call): Properly propagate the
- dimensions from the returned type for function calls.
-
-2012-10-02 Vincent Celier <celier@adacore.com>
-
- * gnatcmd.adb: Take into account any configuration pragma file
- in the project files for gnat pretty/stub/metric.
-
-2012-10-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb (Check_Indexing_Functions): Refine several tests
- on the legality of indexing aspects: Constant_Indexing functions
- do not have to return a reference type, and given an indexing
- aspect Func, not all overloadings of Func in the current scope
- need to be indexing functions.
-
-2012-10-02 Vasiliy Fofanov <fofanov@adacore.com>
-
- * gnat_ugn.texi: Adjust docs for overflow checks to be VMS-friendly.
-
-2012-10-02 Vincent Celier <celier@adacore.com>
-
- * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
- -gnatox and -gnatoxx when x=0/1/2/3.
-
-2012-10-02 Vincent Pucci <pucci@adacore.com>
-
- * sem_ch4.adb (Analyze_Indexed_Component_Form): Dimension
- analysis for indexed components added.
- * sem_ch6.adb (Analyze_Function_Call): Dimension propagation
- for function calls added.
- * sem_dim.adb (Analyze_Dimension): Call to
- Analyze_Dimension_Has_Etype when N is a function call.
- (Analyze_Dimension_Call): Don't propagate anymore the dimensions
- for function calls since this is now treated separately in
- Analyze_Dimension_Has_Etype.
- (Analyze_Dimension_Has_Etype): For
- attribute references, propagate the dimensions from the prefix.
- * sem_dim.ads (Copy_Dimensions): Fix comment.
-
-2012-10-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
- (Apply_Parameter_Aliasing_And_Validity_Checks): This routine
- has been split into two.
- (Apply_Parameter_Validity_Checks): New routine.
- * exp_ch6.adb (Expand_Call): Add checks to verify that actuals
- do not overlap. The checks are made on the caller side to overcome
- issues of parameter passing mechanisms.
- * freeze.adb (Freeze_Entity): Update call to
- Apply_Parameter_Aliasing_And_Validity_Checks.
-
-2012-10-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Is_Empty_Range): Use bounds of index type
- to determine whether an array is empty when optimizing
- a quantified expression over a null range. Use of RM_Size
- was incorrect. Analyze condition before constant-folding the
- expression to catch potential errors. Modify the error message
- to avoid mathematical terminology.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * usage.adb, gnat_rm.texi, vms_data.ads: Add entry for
- /OVERFLOW_CHECKS=?? generating -gnato?? for control
- of extended overflow checking.
- * ug_words: Add entry for -gnato?? for /OVERFLOW_CHECKS=??
- * gnat_ugn.texi: Add documentation for -gnato?? for control of overflow
- checking mode.
-
-2012-10-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Analyze_Quantified_Expression): If the iterator in
- a quantified expression is statically known to be null (e.g. a
- array with an empty index type) emit a warning.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * sem_dim.adb: Minor code reorganization.
- * sem_dim.ads: Add comment.
-
-2012-10-02 Robert Dewar <dewar@adacore.com>
-
- * checks.ads, exp_ch4.adb, checks.adb
- (Minimize_Eliminate_Overflow_Checks): Add Top_Level parameter to avoid
- unnecessary conversions to Bignum.
- Minor reformatting.
-
-2012-10-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Process_PPCs): Generate invariant checks for a
- return value whose type is an access type and whose designated
- type has invariants. Ditto for in-out parameters and in-parameters
- of an access type.
- * exp_ch3.adb (Build_Component_Invariant_Call): Add invariant check
- for an access component whose designated type has invariants.
-
-2012-10-01 Vincent Pucci <pucci@adacore.com>
-
- * sem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine.
- (Resolve_Record_Aggregate): New_Copy_Tree calls replaced by
- New_Copy_Tree_And_Copy_Dimensions calls. Move_Dimensions call
- replaced by Copy_Dimensions call.
- * sem_dim.adb (Analyze_Dimension_Component_Declaration): Don't
- remove the dimensions of expression in component declaration anymore.
- (Copy_Dimensions): New routine.
- (Move_Dimensions): Add call to Copy_Dimensions.
- * sem_dim.ads (Copy_Dimensions): New routine.
- (Move_Dimensions): Spec moved to body of Sem_Dim.
-
-2012-10-01 Ed Schonberg <schonberg@adacore.com>
-
- * checks.adb (Apply_Predicate_Check): If the predicate is a
- static one and the operand is static, evaluate the predicate at
- compile time.
- * sem_eval.ads, sem_eval.adb (Eval_Static_Predicate_Check): new
- procedure, to evaluate a static predicate check whenever possible.
- * sem_res.adb (Resolve_Type_Conversion): Apply predicate check
- on the conversion if the target type has predicates.
-
-2012-10-01 Vincent Pucci <pucci@adacore.com>
-
- * sem_dim.adb (Has_Symbols): Complain if parameter Symbol has been
- provided by the user in the dimension output call.
-
-2012-10-01 Robert Dewar <dewar@adacore.com>
-
- * checks.adb (Apply_Divide_Checks): New name for
- Apply_Divide_Check (Minimize_Eliminate_Overflow_Checks):
- Add code to handle division (and rem and mod) properly.
- (Apply_Division_Check): New procedure (Apply_Divide_Checks):
- Use Apply_Division_Check (Apply_Divide_Checks): Use
- Apply_Arithmetic_Overflow_Minimized_Eliminated.
- * checks.ads (Apply_Divide_Checks): New name for
- Apply_Divide_Check, also add clearer documentation for this
- routine and put in alfa order.
- * exp_ch4.adb (Apply_Divide_Checks): New name for
- Apply_Divide_Check.
- * s-bignum.adb (To_Bignum): Handle largest negative integer
- properly.
- * sem.adb (Analyze): Handle overflow suppression correctly
- (Analyze_List): Handle overflow suppression correctly
- * sem_res.adb (Analyze_And_Resolve): Handle overflow suppression
- correctly.
-
-2012-10-01 Vasiliy Fofanov <fofanov@adacore.com>
-
- * s-oscons-tmplt.c, g-socket.ads: Revert previous change, breaks VMS.
-
-2012-10-01 Robert Dewar <dewar@adacore.com>
-
- * checks.adb (Minimize_Eliminate_Overflow_Checks): Changes
- for exponentiation.
- * exp_ch4.adb (Expand_N_Op_Expon): Changes for Minimize/Eliminate
- overflow checks.
- * s-bignum.adb (Compare): Fix bad precondition.
-
-2012-10-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Build_Derived_Record_Type): If the derived
- type has new discriminantss that constrain inherited ones, use
- the discriminant type in the original declaration to check for
- conformance, because in the presence of array components with a
- smaller range that are constrained by the origina discriminant,
- the compiler will have created a narrower subtype for that
- discriminant.
-
-2012-10-01 Robert Dewar <dewar@adacore.com>
-
- * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
- Handle case of appearing in range in membership test.
- * exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
- New procedure (Expand_N_In): Use
- Expand_Membership_Minimize_Eliminate_Overflow.
- * rtsfind.ads: Add RE_Bignum_In_LLI_Range.
- * s-bignum.ads, s-bignum.adb (Bignum_In_LLI_Range): New function.
- * sinfo.ads, sinfo.adb (No_Minimize_Eliminate): New flag.
-
-2012-10-01 Robert Dewar <dewar@adacore.com>
-
- * uintp.ads: Minor reformatting.
-
-2012-10-01 Ed Schonberg <schonberg@adacore.com>
-
- * checks.adb: Improve warning message.
-
-2012-10-01 Robert Dewar <dewar@adacore.com>
-
- * checks.adb: Minor reformatting.
-
-2012-10-01 Javier Miranda <miranda@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): Suppress tag
- assignment for initializations that are aggregates.
-
-2012-10-01 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
- New procedure.
-
-2012-10-01 Robert Dewar <dewar@adacore.com>
-
- * checks.adb (Minimize_Eliminate_Checks): Changes from testing.
- (Apply_Arithmetic_Overflow_Minimized_Eliminated): Changes
- from testing.
- * sinfo.ads: Remove note on not setting Entity field in overflow
- case since this is no longer true.
- * Makefile.rtl: Add s-bignum.o
-
-2012-10-01 Thomas Quinot <quinot@adacore.com>
-
- * Make-generated.in: Correction to previous change for s-oscons
- target.
-
-2012-10-01 Thomas Quinot <quinot@adacore.com>
-
- * s-bignum.adb (Allocate_Bignum): Reorganize to kill strict
- aliasing warning.
-
-2012-10-01 Robert Dewar <dewar@adacore.com>
-
- * checks.adb (Overflow_Check_Mode): New function
- (Apply_Overflow_Check): New procedure (Is_Check_Suppressed):
- Moved here from Sem, Overflow_Check case now specially treated.
- * checks.ads (Overflow_Check_Mode): New function
- (Is_Check_Suppressed): Moved here from Sem (more logical)
- * exp_ch4.adb (Substitute_Valid_Check): Suppress warning about
- optimization if we are in MINIMIZED or ELIMINATED overflow
- checking mode and within an assertiom expression.
- * rtsfind.ads: Add entries for Bignum stuff.
- * s-bignum.ads, s-bignum.adb: New files.
- * sem.ads, sem.adb (Is_Check_Suppressed): Moved to Checks, more logical.
- * sem_prag.adb (Process_Suppress_Unsuppress): New behavior for
- Unsuppress of Overflow_Check (sets Checked instead of Minimized)
- * sem_res.adb: Update comments.
- * sinfo.ads (N_Op): Add documentation on overflow handling.
- * tbuild.ads, tbuild.adb (Convert_To_And_Rewrite): New procedure.
- * types.ads (Minimized_Or_Eliminated): New subtype.
-
-2012-10-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * layout.adb (Layout_Type): Do not set twice the address size
- on an access-to-unconstrained array if Debug_Flag_6 is set.
-
-2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch3.adb (Analyze_Declarations): Remove the specialized
- code which prevents freezing when the declarative list contains
- a _postconditions body. This is no longer needed because the
- body is now inserted at the end of the declarations.
- * sem_ch6.adb (Insert_After_Last_Declaration): New routine.
- (Insert_Before_First_Source_Declaration): Removed.
- (Process_PPCs): Insert the _postconditions body at the end of
- the declarative list to prevent premature freezing of types that
- appear in the declarations.
-
-2012-10-01 Robert Dewar <dewar@adacore.com>
-
- * sem_aggr.adb, sem_dim.adb: Minor reformatting.
-
-2012-10-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Process_Convention, Process_Import_Or_Interface):
- Adjust test so that when the pragma comes from an aspect
- specification it only applies to the entity in the original
- declaration.
-
-2012-10-01 Thomas Quinot <quinot@adacore.com>
-
- * gnat_ugn.texi: Document new command line switch -fada-spec-parent.
-
-2012-10-01 Thomas Quinot <quinot@adacore.com>
-
- * s-oscons-tmplt.c, g-socket.ads: Minor code improvement: use gcc
- builtin __alignof__ to get the alignment of struct fd_set.
-
-2012-10-01 Vincent Pucci <pucci@adacore.com>
-
- * exp_ch6.adb (Expand_Call): Remove call to
- Remove_Dimension_In_Call.
- * sem_aggr.adb (Resolve_Array_Aggregate): Analyze dimension of
- components in array aggregate.
- (Resolve_Aggr_Expr): Propagate dimensions from the original expression
- Expr to the new created expression New_Expr when resolving the
- expression of a component in record aggregates.
- (Resolve_Record_Aggregate): Analyze
- dimension of components in record (or extension) aggregate.
- * sem_ch6.adb (Analyze_Subprogram_Specification): Analyze
- dimension of formals with default expressions in subprogram
- specification.
- * sem_ch8.adb (Analyze_Expanded_Name): Analyze dimension of
- expanded names.
- (Find_Selected_Component): Analyze dimension of selected component.
- * sem_dim.adb: Several dimension error messages reformatting.
- (Dimensions_Msg_Of): New flag Description_Needed in order to
- differentiate two different sort of dimension error messages.
- (Dim_Warning_For_Numeric_Literal): New routine.
- (Exists): New routine.
- (Move_Dimensions): Routine spec moved to spec file.
- * sem_dim.ads (String_From_Numeric_Literal): New routine.
- (Analyze_Dimension): Analyze dimension only when the
- node comes from source. Dimension analysis for expanded names added.
- (Analyze_Dimension_Array_Aggregate): New routine.
- (Analyze_Dimension_Call): New routine.
- (Analyze_Dimension_Component_Declaration): Warning if default
- expression is a numeric literal.
- (Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
- (Analyze_Dimension_Formals): New routine.
- (Analyze_Dimension_Object_Declaration): Warning if default
- expression is a numeric literal.
- (Symbol_Of): Return either the dimension subtype symbol or the
- dimension symbol built by From_Dim_To_Str_Of_Unit_Symbols.
- * sem_dim.ads (Analyze_Dimension_Array_Aggregate): New routine.
- (Analyze_Dimension_Call): New routine.
- (Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
- (Analyze_Dimension_Formals): New routine.
- (Move_Dimensions): Moved from sem_dim.adb.
- * s-dimmks.ads: Turn off the warnings for dimensioned object
- declaration. Dimensioned subtypes sorted in alphabetical
- order. New subtypes Area, Speed, Volume.
- * s-dmotpr.ads: Turn off the warnings for dimensioned object
- declaration.
- * sem_res.adb (Resolve_Call): Analyze dimension for calls.
-
-2012-10-01 Thomas Quinot <quinot@adacore.com>
-
- * Make-generated.in: Minor cleanup of all targets: use
- MOVE_IF_CHANGE to put generated files in place, to avoid useless
- recompilations.
-
-2012-10-01 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Expand_Dispatching_Call): For functions returning
- interface types add an implicit conversion to the returned object
- to force the displacement of the pointer to the returned object
- to reference the corresponding secondary dispatch table. This
- is needed to handle well combined calls involving secondary
- dispatch tables (for example Obj.Prim1.Prim2).
- * exp_ch4.adb (Expand_Allocator_Expression): Declare internal
- access type as access to constant or access to variable depending
- on the context. Found working in this ticket.
-
-2012-10-01 Ed Schonberg <schonberg@adacore.com>
-
- * checks.adb (Apply_Predicate_Check): Do not apply check to
- actual of predicate checking procedure, to prevent infinite
- recursion.
-
-2012-10-01 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Make-lang.in: Update dependencies.
- (GCC_LINK): Add -static-libstdc++.
-
-2012-10-01 Arnaud Charlet <charlet@adacore.com>
-
- * a-catizo.adb, a-stwiun.adb, a-cdlili.adb, a-cihama.adb, a-direct.adb,
- a-coinve.adb, a-calend.adb, a-ciorse.adb, a-coorma.adb, a-cfdlli.adb,
- a-stzunb-shared.adb, a-cfhase.adb, bindgen.adb, ceinfo.adb, a-tags.adb,
- einfo.adb, checks.adb, eval_fat.adb, a-cborma.adb, a-stwifi.adb,
- a-tifiio.adb, a-textio.adb, a-cidlli.adb, a-strunb-shared.adb,
- a-cimutr.adb, a-calcon.adb, a-exexpr-gcc.adb, a-ciormu.adb,
- a-stzunb.adb, a-stzsea.adb, a-ngelfu.adb, a-stzfix.adb,
- a-cihase.adb, a-cohama.adb, a-exetim-posix.adb, a-dirval-vms.adb,
- a-caldel-vms.adb, a-coorse.adb, errout.adb,
- a-except.adb, butil.adb, a-dirval-mingw.adb, a-cforma.adb,
- a-except-2005.adb, a-wtedit.adb, cstand.adb, a-stwiun-shared.adb,
- a-cbhama.adb, a-direio.adb, clean.adb, a-cborse.adb, back_end.adb,
- binde.adb, a-exexda.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb,
- a-coormu.adb, a-teioed.adb, a-convec.adb, a-wtenau.adb, exp_aggr.adb,
- a-ztedit.adb, a-cohase.adb, a-exetim-mingw.adb, bcheck.adb,
- a-dynpri.adb, a-cfhama.adb, a-calfor.adb, a-cbdlli.adb,
- a-crdlli.adb, a-cbmutr.adb, a-sequio.adb, a-ngcoar.adb, a-cforse.adb,
- a-strunb.adb, a-calend-vms.adb, a-clrefi.adb, a-cofove.adb,
- a-ztenau.adb, a-strfix.adb, a-cbhase.adb, a-stzsup.adb: Minor
- reformatting.
-
-2012-10-01 Vincent Pucci <pucci@adacore.com>
-
- PR ada/54614
- * s-gearop.adb (Vector_Matrix_Product): Fix dimension check and index
- of Left in S evaluation.
-
-2012-10-01 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Analyze_Declarations): Avoid
- premature freezing caused by the internally generated subprogram
- _postconditions.
- * checks.adb (Expr_Known_Valid): Float literals are assumed to be valid
- in VM targets.
-
-2012-10-01 Thomas Quinot <quinot@adacore.com>
-
- * sinput.ads, sinput.adb, sinput-l.adb sinput-c.adb (Sinput): New
- Instances table, tracking all generic instantiations. Source file
- attribute Instance replaces previous Instantiation attribute with an
- index into the Instances table.
- (Iterate_On_Instances): New generic procedure.
- (Create_Instantiation_Source): Record instantiations in Instances.
- (Tree_Read, Tree_Write): Read/write the instance table.
- * scils.ads, scos.adb (SCO_Instance_Table): New table, contains
- information copied from Sinput.Instance_Table, but self-contained
- within the SCO data structures.
- * par_sco.ads, par_sco.adb (To_Source_Location): Move to library level.
- (Record_Instance): New subprogram, used by...
- (Populate_SCO_Instance_Table): New subprogram to fill
- the SCO instance table from the Sinput one (called by SCO_Output).
- * opt.ads (Generate_SCO_Instance_Table): New option.
- * put_scos.adb (Write_Instance_Table): New subprogram, used by...
- (Put_SCOs): Dump the instance table at the end of SCO information
- if requested.
- * get_scos.adb (Get_SCOs): Read SCO_Instance_Table.
- * types.h: Add declaration for Instance_Id.
- * back_end.adb (Call_Back_End): Pass instance ids in source file
- information table.
- (Scan_Back_End_Switches): -fdebug-instances sets
- Opt.Generate_SCO_Instance_Table.
- * gcc-interface/gigi.h: File_Info_Type includes instance id.
- * gcc-interface/trans.c: Under -fdebug-instances, set instance
- id in line map from same in file info.
-
-2012-10-01 Thomas Quinot <quinot@adacore.com>
-
- * sem_elab.adb: Minor reformatting
- (Check_Elab_Call): Minor fix to debugging code
- (add special circuit for the valid case where a 'Access attribute
- reference is passed to Check_Elab_Call).
-
-2012-10-01 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch3.adb: Minor reformatting.
-
-2012-10-01 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch3.ads (Build_Array_Invariant_Proc): moved to body.
- * exp_ch3.adb (Build_Array_Invariant_Proc,
- Build_Record_Invariant_Proc): transform into functions.
- (Insert_Component_Invariant_Checks): for composite types that have
- components with specified invariants, build a checking procedure,
- and make into the invariant procedure of the composite type,
- or incorporate it into the user- defined invariant procedure if
- one has been created.
- * sem_ch3.adb (Array_Type_Declaration): Checking for invariants
- on the component type is defered to the expander.
-
-2012-10-01 Thomas Quinot <quinot@adacore.com>
-
- * xsnamest.adb, namet.h, sem_ch10.adb, s-oscons-tmplt.c,
- xoscons.adb: Minor reformatting.
-
-2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
-
- * checks.adb (Apply_Parameter_Aliasing_And_Validity_Checks):
- Do not process subprogram renaminds because a) those cannot
- have PPC pragmas b) the renamed entity already has the PPCs.
- (Build_PPC_Pragma): Prepend a PPC pragma for consistency with
- Process_PPCs.
- * sem_ch6.adb (Last_Implicit_Declaration): Removed.
- (Process_PPCs): Insert a post condition body at the start of the
- declarative region of the related subprogram. This way the body
- will not freeze anything it shouldn't.
-
-2012-10-01 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb, sem_ch6.adb, opt.ads, sem_ch13.adb,
- exp_ch3.adb: Minor reformatting.
-
-2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
-
- * checks.adb (Build_PPC_Pragma): A PPC pragma can now be properly
- associated with a subprogram body.
-
-2012-10-01 Ed Schonberg <schonberg@adacore.com>
-
- * aspects.ads: Type_Invariant'class is a valid aspect.
- * sem_ch6.adb (Is_Public_Subprogram_For): with the exception of
- initialization procedures, subprograms that do not come from
- source are not public for the purpose of invariant checking.
- * sem_ch13.adb (Build_Invariant_Procedure): Handle properly the
- case of a non-private type in a package without a private part,
- when the type inherits invariants from its ancestor.
-
-2012-10-01 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch3.adb (Build_Record_Invariant_Proc): new procedure to
- generate a checking procedure for record types that may have
- components whose types have type invariants declared.
-
-2012-10-01 Vincent Pucci <pucci@adacore.com>
-
- * system-solaris-sparcv9.ads, system-mingw.ads, system-vms_64.ads: Flag
- Support_Atomic_Primitives set to True.
-
-2012-10-01 Robert Dewar <dewar@adacore.com>
-
- * impunit.adb: Ada.Locales is a language defined unit.
-
-2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
-
- * checks.adb (Apply_Parameter_Aliasing_Checks): Removed.
- (Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
- (Apply_Parameter_Validity_Checks): Removed.
- * checks.ads (Apply_Parameter_Aliasing_Checks): Removed.
- (Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
- (Apply_Parameter_Validity_Checks): Removed.
- * exp_ch6.adb (Expand_Call): Remove the generation of parameter
- aliasing checks.
- * freeze.adb: Remove with and use clauses for Validsw.
- (Freeze_Entity): Update the guard and generation of aliasing
- and scalar initialization checks for subprogram parameters.
- * opt.ads: Add new flags Check_Aliasing_Of_Parameters and
- Check_Validity_Of_Parameters along with comments on usage.
- * sem_attr.adb (Analyze_Attribute): Pragma Overlaps_Storage is
- no longer an Ada 2012 feature.
- * sem_ch4.adb: Remove with and use clauses for Checks and Validsw.
- (Analyze_Call): Remove the generation of aliasing checks for
- subprogram parameters.
- * sem_ch13.adb: Remove with and use clauses for Validsw.
- (Analyze_Aspect_Specifications): Remove the generation of scalar
- initialization checks.
- * switch-c.adb (Scan_Front_End_Switches): Add processing for
- -gnateA and -gnateV.
- * usage.adb (Usage): Add information on switches -gnateA and
- -gnateV. Remove information on validity switches 'l', 'L',
- 'v' and 'V'.
- * validsw.adb (Reset_Validity_Check_Options): Remove the
- reset of flags Validity_Check_Non_Overlapping_Params
- and Validity_Check_Valid_Scalars_On_Params.
- (Save_Validity_Check_Options): Remove the processing
- for flags Validity_Check_Non_Overlapping_Params
- and Validity_Check_Valid_Scalars_On_Params.
- (Set_Validity_Check_Options): Remove the processing
- for flags Validity_Check_Non_Overlapping_Params and
- Validity_Check_Valid_Scalars_On_Params.
- * validsw.ads: Remove flags Validity_Check_Non_Overlapping_Params
- and Validity_Check_Valid_Scalars_On_Params along with their
- comments on usage.
-
-2012-10-01 Yannick Moy <moy@adacore.com>
-
- * sem_ch13.adb (Add_Invariants): Analyze the invariant expression
- as an assertion expression.
- * sem_ch3.adb / sem_ch3.ads (Preanalyze_Assert_Expression):
- New procedure that wraps a call to Preanalyze_Spec_Expression
- for assertion expressions, so that In_Assertion_Expr can be
- properly adjusted.
- * sem_prag.adb (Analyze_PPC_In_Decl_Part
- Check_Precondition_Postcondition Preanalyze_CTC_Args): Call the
- new Preanalyze_Assert_Expression.
-
-2012-10-01 Robert Dewar <dewar@adacore.com>
-
- * checks.ads: Minor reformatting.
-
-2012-10-01 Yannick Moy <moy@adacore.com>
-
- * types.ads, sem_prag.adb, sem.ads: Correct minor typos in comments.
-
-2012-10-01 Vincent Celier <celier@adacore.com>
-
- * make.adb (Scan_Make_Arg): Only test for "vP" of the option
- includes at least 3 characters.
- * gnatcmd.adb (GNATCmd): Ditto.
-
-2012-10-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch7.adb, sinfo.ads: Add comments.
-
-2012-10-01 Robert Dewar <dewar@adacore.com>
-
- * checks.adb: Remove reference to Enable_Overflow_Checks Use
- Suppress_Options rather than Scope_Suppress.
- * gnat1drv.adb (Adjust_Global_Switches): Handle new overflow
- settings (Adjust_Global_Switches): Initialize Scope_Suppress
- from Suppress_Options.
- * opt.adb: Remove Enable_Overflow_Checks (use Suppress_Options
- instead).
- * opt.ads: Remove Overflow_Checks_Unsuppressed (not used)
- Remove Enable_Overflow_Checks (use Suppress_Options instead)
- Suppress_Options is now current setting (replaces Scope_Suppress).
- * osint.adb (Initialize): Deal with initializing overflow
- checking.
- * par-prag.adb: Add dummy entry for pragma Overflow_Checks.
- * sem.adb (Semantics): Save and restore In_Assertion_Expr Use
- Suppress_Options instead of Scope_Suppress.
- * sem.ads (In_Assertion_Expr): New flag (Scope_Suppress):
- Removed, use Suppress_Options instead.
- * sem_eval.adb (Compile_Time_Compare): Return Unknown in
- preanalysis mode.
- * sem_prag.adb (Process_Suppress_Unsuppress): Setting of
- Overflow_Checks_Unsuppressed removed (not used anywhere!)
- (Analyze_Pragma, case Check): Set In_Assertion_Expression
- (Analyze_Pragma, case Overflow_Checks): Implement new pragma
- * snames.ads-tmpl: Add names needed for handling pragma
- Overflow_Checks
- * switch-c.adb (Scan_Front_End_Switches) Handle -gnato? and
- -gnato?? where ? is 0-3
- * types.ads: Updates and fixes to comment on Suppress_Record.
-
-2012-10-01 Vincent Celier <celier@adacore.com>
-
- * prj-part.adb (Parse): Remove incorrect comment about checking
- imported non extending projects from and "extending all"
- one. Minor correction.
-
-2012-10-01 Robert Dewar <dewar@adacore.com>
-
- * make.adb, exp_ch3.adb: Minor reformatting.
-
-2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
-
- * validsw.adb (Save_Validity_Check_Options): Do not set
- Validity_Check_Non_Overlapping_Params and
- Validity_Check_Valid_Scalars_On_Params when -gnatVa is present
- because the related checks are deemed too aggressive.
-
-2012-10-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.ads sem_util.adb (Check_Internal_Protected_Use):
- reject use of protected procedure or entry within the body of
- a protected function of the same protected type, when usage is
- a call, an actual in an instantiation, a or prefix of 'Access.
- * sem_ch8.adb (Analyze_Subprogram_Renaming): Verify that target
- object in renaming of protected procedure is a variable, and
- apply Check_Internal_Protected_Use.
- * sem_res.adb (Analyze_Call, Analyze_Entry_Call): apply
- Check_Internal_Protected_Use rather than on-line code.
- * sem_attr.adb (Analyze_Access_Attribute): Verify that target
- object in accsss to protected procedure is a variable, and apply
- Check_Internal_Protected_Use.
-
-2012-10-01 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch4.adb (Find_Equality_Types.Try_One_Interp): Exclude the
- predefined interpretation from consideration if it's for a "/="
- operator of a tagged type. This will allow Analyze_Equality_Op to
- rewrite the "/=" as a logical negation of a call to the appropriate
- dispatching equality function. This needs to be done during
- analysis rather than expansion for the benefit of ASIS, which
- otherwise gets the unresolved N_Op_Ne operator from Standard.
-
-2012-10-01 Thomas Quinot <quinot@adacore.com>
-
- * gnatcmd.adb, make.adb (Scan_Make_Arg, Inspect_Switches): Recognize
- and reject an invalid parameter passed to -vP.
-
-2012-10-01 Yannick Moy <moy@adacore.com>
-
- * sem_warn.adb (Check_Infinite_Loop_Warning/Test_Ref): Improve
- the detection of modifications to the loop variable by noting
- that, if the type of variable is elementary and the condition
- does not contain a function call, then the condition cannot be
- modified by side-effects from a procedure call.
-
-2012-10-01 Robert Dewar <dewar@adacore.com>
-
- * checks.adb: Add comments.
-
-2012-10-01 Javier Miranda <miranda@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): Improve condition catching
- never-ending recursion. The previous condition erroneously disabled
- silently the expansion of the class-wide interface object
- initialization in cases not involving the recursion.
-
-2012-10-01 Thomas Quinot <quinot@adacore.com>
-
- * make.adb: Minor documentation fix: error messages are sent to
- stderr, not stdout.
-
-2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
-
- * checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
- (Apply_Parameter_Validity_Checks): New routines.
- * exp_ch6.adb (Expand_Call): Add aliasing checks to detect
- overlapping objects.
- * freeze.adb: Add with and use clauses for Checks and Validsw.
- (Freeze_Entity): Add checks to detect proper initialization
- of scalars.
- * sem_ch4.adb: Add with and use clauses for Checks and Validsw.
- (Analyze_Call): Add aliasing checks to detect overlapping objects.
- * sem_ch13.adb: Add with and use clauses for Validsw.
- (Analyze_Aspect_Specifications): Add checks to detect proper
- initialization of scalars.
- * sem_prag.adb (Chain_PPC): Correct the extraction of the
- subprogram name.
- * sem_util.adb (Is_Object_Reference): Attribute 'Result now
- produces an object.
- * usage.adb (Usage): Add usage lines for validity switches 'l',
- 'L', 'v' and 'V'.
- * validsw.adb (Reset_Validity_Check_Options): Include
- processing for flags Validity_Check_Non_Overlapping_Params and
- Validity_Check_Valid_Scalars_On_Params. Code reformatting.
- (Save_Validity_Check_Options): Include processing
- for flags Validity_Check_Non_Overlapping_Params
- and Validity_Check_Valid_Scalars_On_Params.
- (Set_Validity_Check_Options): Add processing for validity switches
- 'a', 'l', 'L', 'n', 'v' and 'V'. Code reformatting.
- * validsw.ads: Add new flags Validity_Check_Non_Overlapping_Params
- and Validity_Check_Valid_Scalars_On_Params along with comments
- on usage.
-
-2012-10-01 Thomas Quinot <quinot@adacore.com>
-
- * namet.ads, xsnamest.adb, prj-env.adb, sem_warn.adb,
- errout.ads: Minor reformatting.
- * prj-part.adb: Add comment.
-
-2012-10-01 Robert Dewar <dewar@adacore.com>
-
- * sinfo.ads, exp_aggr.adb, sem_ch13.adb: Minor reformatting.
-
-2012-10-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Resolve_Array_Aggregate): Handle properly
- component associations given by subtypes that have static
- predicates. Improve error message for overlapping ranges in
- array aggregates.
-
-2012-10-01 Pascal Obry <obry@adacore.com>
-
- * snames.ads-tmpl (Name_Link_Lib_Subdir): New constant.
-
-2012-10-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch9.adb (Analyze_Requeue): The target of a requeue
- statement on a protected entry must be a variable. This is part
- of AI05-0225.
-
-2012-09-26 Ian Lance Taylor <iant@google.com>
-
- * gcc-interface/Makefile.in (LIBBACKTRACE): New variable.
- (LIBS): Add $(LIBBACKTRACE).
- (LIBDEPS): Add $(LIBBACKTRACE).
- (TOOLS_LIBS): Add ../../../libbacktrace/.libs/libbacktrace.a.
-
-2012-09-10 Diego Novillo <dnovillo@google.com>
-
- * gcc-interface/decl.c (build_subst_list): Adjust call to VEC_safe_push.
- (build_variant_list): Likewise.
- * gcc-interface/utils.c (convert): Adjust calls to VEC_quick_push.
-
-2012-09-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Loop_Statement_to_gnu): Revert to using
- size_type_node instead of sizetype.
-
-2012-08-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * layout.adb (Set_Elem_Alignment): Cap the alignment of access types
- to that of a regular access type for non-strict-alignment platforms.
- * gcc-interface/utils.c (finish_fat_pointer_type): Do not set the
- alignment for non-strict-alignment platforms.
-
-2012-08-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use proper
- dummy type for the temporary COMPONENT_REF built for a derived tagged
- type with discriminant.
-
-2012-08-14 Diego Novillo <dnovillo@google.com>
-
- Merge from cxx-conversion branch. Re-implement VEC in C++.
-
- * gcc-interface/trans.c (finalize_nrv_unc_r): Adjust VEC_index usage.
- * gcc-interface/utils.c (convert): Likewise.
- (remove_conversions): Likewise.
- * gcc-interface/utils2.c (compare_fat_pointers): Likewise.
- (build_unary_op): Likewise.
- (gnat_stabilize_reference): Likewise.
-
-2012-08-06 Jose Ruiz <ruiz@adacore.com>
-
- * gcc-interface/Makefile.in: Add support for 32-bit VxWorks for SPARC
- in kernel mode.
-
-2012-08-06 Arnaud Charlet <charlet@adacore.com>
-
- * prj-attr.adb (Register_New_Package): Add missing blank.
-
-2012-08-06 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Is_Two_Dim_Packed_Array): New predicate,
- used when computing maximum size allowable to construct static
- aggregate.
-
-2012-08-06 Vincent Pucci <pucci@adacore.com>
-
- * freeze.adb (Freeze_Entity): Inherit_Aspects_At_Freeze_Point
- calls added for derived types and subtypes.
- * sem_aux.adb, sem_aux.ads (Get_Rep_Item, Get_Rep_Pragma,
- Has_Rep_Pragma): New routines.
- * sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): New routine.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Error message
- for aspect Lock_Free fixed.
- (Inherits_Aspects_At_Freeze_Point): New routine.
- * sem_ch3.adb: Several flag settings removed since inheritance
- of aspects must be performed at freeze point.
-
-2012-08-06 Thomas Quinot <quinot@adacore.com>
-
- * s-oscons-tmplt.c: Fix s-oscons.ads formatting on VxWorks.
-
-2012-08-06 Vincent Pucci <pucci@adacore.com>
-
- * sem_dim.adb (Analyze_Dimension_Binary_Op): Issue an error message
- for unknown exponent at compile-time.
-
-2012-08-06 Gary Dismukes <dismukes@adacore.com>
-
- * sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Enhance
- comment to make it clear that the aggregate's evaluation might
- still involve run-time checks even though the aggregate is
- considered known at compile time.
- * sinfo.ads (Compile_Time_Known_Aggregate): Correct comment to
- refer to Exp_Aggr instead of Sem_Aggr.
-
-2012-08-06 Robert Dewar <dewar@adacore.com>
-
- * xoscons.adb: Minor code reorganization (remove unused variable
- E at line 331).
- * g-sercom.ads, exp_attr.adb: Minor reformatting.
- * sinfo.adb, sinfo.ads: Minor cleanup, remove unused flag
- Static_Processing_OK.
-
-2012-08-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Build_Derived_Concurrent_Type): Copy discriminant
- constraint when building a constrained subtype, to prevent
- undesirable tree sharing betweeb geberated subtype and derived
- type definition.
-
-2012-08-06 Thomas Quinot <quinot@adacore.com>
-
- * g-sercom-mingw.adb, s-oscons-tmplt.c: Add missing constants
- on Windows.
-
-2012-08-06 Sergey Rybin <rybin@adacore.com frybin>
-
- * tree_io.ads: Update ASIS_Version_Number because of the tree fix
- for discriminant constraints for concurrent types.
-
-2012-08-06 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch4.adb: Minor reformatting.
-
-2012-08-06 Thomas Quinot <quinot@adacore.com>
-
- * s-oscons-tmplt.c, xoscons.adb: Per the Single UNIX Specification,
- types cc_t, speed_t, and tcflag_t defined in <termios.h> all are
- unsigned types. Add required special handling to have their correct
- unsigned values in s-oscons.ads.
-
-2012-08-06 Thomas Quinot <quinot@adacore.com>
-
- * par-ch13.adb: Minor reformatting.
-
-2012-08-06 Thomas Quinot <quinot@adacore.com>
-
- * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb
- (Set): Add Local and Flow_Control settings.
-
-2012-08-06 Ed Schonberg <schonberg@adacore.com>
-
- * exp_attr.adb: Suppress saving of 'Old if assertions are not
- enabled.
-
-2012-08-06 Yannick Moy <moy@adacore.com>
-
- * sem_ch4.adb (Analyze_Selected_Component): Issue an error in
- Alfa mode for component not present.
-
-2012-08-06 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch7.adb (Insert_Actions_In_Scope_Around): Do not
- use a renaming of Scope_Stack.Table (Scope_Stack.Last), as
- Process_Transient_Object may introduce new scopes and cause
- Scope_Stack.Table to be reallocated.
-
-2012-08-06 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb, switch-c.adb, inline.ads, sem_ch10.adb, types.ads,
- checks.adb, sem_prag.adb, sem.adb, sem.ads, sem_res.adb, sem_attr.adb,
- gnat1drv.adb, exp_ch4.adb, exp_ch6.adb, opt.ads, osint.adb: Implement
- extended overflow checks (step 1).
- (Overflow_Check_Type, Suppress_Record, Suppress_All): New types.
- (Suppress_Array): Extended to include switches to control extended
- overflow checking (and renamed to Suppress_Record).
- Update all uses of Suppress_Array.
-
-2012-08-06 Thomas Quinot <quinot@adacore.com>
-
- * makeutl.ads: Minor documentation fix.
-
-2012-08-06 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch7.adb: Minor reformatting.
-
-2012-08-06 Geert Bosch <bosch@adacore.com>
-
- * a-ngelfu.adb: Change obsolete comment that this is a non-strict
- implementation.
-
-2012-08-06 Steve Baird <baird@adacore.com>
-
- * exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): If
- CodePeer_Mode = True then omit exception handlers for finalization calls
-
-2012-08-06 Robert Dewar <dewar@adacore.com>
-
- * exp_aggr.adb: Minor reformatting.
-
-2012-08-06 Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.adb: Remove useless flag Body_Deleted.
-
-2012-08-06 Thomas Quinot <quinot@adacore.com>
-
- * sinfo.ads (End_Span): Change default from No_Uint to Uint_0,
- as this is what all usage occurrences of this attribute are
- expecting.
- * uintp.adb (UI_To_Int): Add assertion to guard against calling
- with No_Uint.
-
-2012-08-06 Vincent Pucci <pucci@adacore.com>
-
- PR ada/54125
- * exp_attr.adb (Expand_N_Attribute_Reference): Expand new
- Atomic_Always_Lock_Free attribute.
- * sem_attr.adb (Analyze_Attribute): Analyze new
- Atomic_Always_Lock_Free attribute.
- (Eval_Attribute): Nothing to do with new Atomic_Always_Lock_Free
- attribute.
- * sem_ch9.adb (Allows_Lock_Free_Implementation):
- Support_Atomic_Primitives check replaces previous erroneous
- size check.
- * sem_util.adb, sem_util.ads (Support_Atomic_Primitives):
- New routine.
- * snames.ads-tmpl: New name Name_Atomic_Always_Lock_Free and
- new attribute Attribute_Atomic_Always_Lock_Free defined.
- * s-atopri.adb: Support_Atomic_Primitives checks replaced by
- Atomic_Always_Lock_Free queries.
- * system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
- system-hpux.ads, system-linux-alpha.ads, system-linux-hppa.ads,
- system-linux-ppc.ads, system-linux-s390.ads,
- system-linux-s390x.ads, system-linux-sh4.ads,
- system-linux-sparc.ads, system-lynxos178-ppc.ads,
- system-lynxos-ppc.ads, system-mingw.ads,
- system-vxworks-arm.ads, system-solaris-sparc.ads,
- system-solaris-sparcv9.ads, system-vms_64.ads,
- system-vxworks-m68k.ads, system-vxworks-mips.ads,
- system-vxworks-ppc.ads, system-vxworks-sparcv9.ads: Flag
- Support_Atomic_Primitives removed.
-
-2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_mech.adb (Set_Mechanisms): OUT and IN OUT parameters are
- now unconditionally passed by reference. IN parameters subject
- to convention C_Pass_By_Copy are passed by copy, otherwise they
- are passed by reference.
-
-2012-08-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Analyze_Object_Declaration): According to
- AI95-0303, protected objects with interrupt handlers can be
- declared in nested scopes. This is a binding interpretation,
- and thus applies to all versions of the compiler.
-
-2012-08-06 Robert Dewar <dewar@adacore.com>
-
- * frontend.adb, exp_aggr.adb: Minor reformatting.
-
-2012-08-06 Thomas Quinot <quinot@adacore.com>
-
- * par-endh.adb: Minor reformatting.
-
-2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Process_Transient_Objects): Remove obsolete loop
- processing related to array initialization. The expansion of
- loops already contains a mechanism to detect controlled objects
- generated by expansion and introduce a block around the loop
- statements for finalization purposes.
-
-2012-08-06 Vincent Pucci <pucci@adacore.com>
-
- * sem_ch13.adb: Current scope must be within
- or same as the scope of the entity while analysing aspect
- specifications at freeze point.
-
-2012-08-06 Thomas Quinot <quinot@adacore.com>
-
- * par_sco.adb: Add note about dubious SCO for TERMINATE
- alternative.
- * sem_ch8.adb, exp_ch11.adb: Minor reformatting.
-
-2012-08-06 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Two_Dim_Packed_Array_Handled): New procedure to
- transform an aggregate for a packed two-dimensional array into
- a one-dimensional array of constant values, in order to avoid
- the generation of component-by-component assignments.
-
-2012-08-06 Thomas Quinot <quinot@adacore.com>
-
- * frontend.adb: Do not attempt to process deferred configuration
- pragmas if the main unit failed to load, to avoid cascaded
- inconsistencies that can lead to a compiler crash.
-
-2012-08-06 Vincent Pucci <pucci@adacore.com>
-
- * s-atopri.adb: Minor reformatting.
-
-2012-08-06 Arnaud Charlet <charlet@adacore.com>
-
- * gnat-style.texi: Clarify that all subprograms should be
- documented. Minor rewording.
-
-2012-08-06 Robert Dewar <dewar@adacore.com>
-
- * aspects.ads: Define Aspect_Id_Exclude_No_Aspect.
- * par-ch13.adb, restrict.adb: Use Aspect_Id_Exclude_No_Aspect to
- simplify code.
-
-2012-08-06 Yannick Moy <moy@adacore.com>
-
- * gnat-style.texi: Update style guide for declarations.
-
-2012-08-06 Yannick Moy <moy@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute): In the case for 'Old,
- skip a special expansion which is not needed in Alfa mode.
-
-2012-08-06 Yannick Moy <moy@adacore.com>
-
- * sem_ch5.adb (Analyze_Iterator_Specification): Do not perform
- an expansion of the iterator in Alfa mode.
-
-2012-08-06 Robert Dewar <dewar@adacore.com>
-
- * s-oscons-tmplt.c, sem_ch9.adb, osint.adb: Minor reformatting.
-
-2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Remove obsolete
- Alfa-specific guard. The code is a leftover from an early
- implementation of iterators which is no longer in use.
-
-2012-08-06 Vincent Celier <celier@adacore.com>
-
- * par-ch13.adb (Get_Aspect_Specifications): Do not consider
- No_Aspect when checking for a mispelled aspect.
-
-2012-08-06 Robert Dewar <dewar@adacore.com>
-
- * s-htable.adb: Minor reformatting.
-
-2012-08-06 Thomas Quinot <quinot@adacore.com>
-
- * s-oscons-tmplt.c, g-socket.adb (System.OS_Constants.Target_OS):
- Suppress warnings so that we don't have to do it at each usage.
-
-2012-08-06 Vincent Pucci <pucci@adacore.com>
-
- * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
- Use of Known_Static_Esize instead of Known_Esize and
- Known_Static_RM_Size instead of Known_RM_Size in order to
- properly call UI_To_Int. Don't check the size of the component
- type in case of generic.
- * sem_ch9.adb (Allows_Lock_Free_Implementation):
- Use of Known_Static_Esize instead of Known_Esize and
- Known_Static_RM_Size instead of Known_RM_Size in order to properly
- call UI_To_Int. Don't check the size of the component type in
- case of generic.
-
-2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * checks.adb (Discrete_Range_Cond): Do not try to optimize on
- the assumption that the type of an expression can always fit in
- the target type of a conversion.
-
-2012-07-30 Robert Dewar <dewar@adacore.com>
-
- * bindusg.adb: Clarify file in -A lines.
-
-2012-07-30 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb: Minor reformatting.
-
-2012-07-30 Robert Dewar <dewar@adacore.com>
-
- * gnatcmd.adb, makeutl.adb, makeutl.ads: Minor code reorganization.
-
-2012-07-30 Vincent Pucci <pucci@adacore.com>
-
- * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Minor
- reformatting.
- * sem_ch9.adb (Allows_Lock_Free_Implementation): Minor reformatting.
- Capture the correct error message in case of a quantified expression.
-
-2012-07-30 Thomas Quinot <quinot@adacore.com>
-
- * g-socket.adb (Get_Socket_Option, Set_Socket_Option): On Windows, the
- value is a milliseconds count in a DWORD, not a struct timeval.
-
-2012-07-30 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch12.adb (Earlier): Add local variables T1 and T2. Minor code
- refactoring.
-
-2012-07-30 Thomas Quinot <quinot@adacore.com>
-
- * gnatcmd.adb, make.adb, makeutl.adb, makeutl.ads
- (Test_If_Relative_Path): Rename to Ensure_Absolute_Path to better
- reflect what this subprogram does. Rename argument Including_L_Switch
- to For_Gnatbind, and also exempt -A from rewriting.
- * bindusg.adb: Document optional =file argument to gnatbind -A.
-
-2012-07-30 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb (Freeze_Entity): Do no apply restriction check on
- storage pools to access to subprogram types.
-
-2012-07-30 Robert Dewar <dewar@adacore.com>
-
- * par_sco.adb, a-cihama.adb, a-coinve.adb, exp_ch7.adb, a-ciorse.adb,
- exp_ch9.adb, sem_dim.adb, par-ch13.adb, sem_ch9.adb, a-cidlli.adb,
- a-cimutr.adb, freeze.adb, a-ciormu.adb, sem_res.adb, sem_attr.adb,
- a-cihase.adb, exp_ch4.adb, sem_ch4.adb, a-ciorma.adb,
- s-tasinf-linux.ads, sem_ch13.adb, a-coinho.adb: Minor reformatting.
- Add comments.
-
-2012-07-30 Vincent Pucci <pucci@adacore.com>
-
- * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict implicit
- dereferences of access values.
-
-2012-07-27 Iain Sandoe <iain@codesourcery.com>
-
- * system-darwin-ppc64.ads: Add Support_Atomic_Primitives, set to True.
-
-2012-07-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (gnat_stabilize_reference) <BIT_FIELD_REF>: Do
- not stabilize operand #1 and #2.
-
-2012-07-23 Tristan Gingold <gingold@adacore.com>
-
- * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Use
- End_Label sloc when possible for sloc of the TRY_CATCH_EXPR node.
-
-2012-07-23 Olivier Hainque <hainque@adacore.com>
-
- * gcc-interface/Makefile.in: Adjust processing of Linker_Options for
- VxWorks.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2012-07-23 Arnaud Charlet <charlet@adacore.com>
-
- * s-tasinf-linux.ads: Fix typo.
-
-2012-07-23 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch7.adb, switch-m.adb, exp_ch3.adb, freeze.adb: Minor reformatting
-
-2012-07-23 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): If original
- loop carries an identifier, preserve it when rewriting it as a
- standard loop to validate exit statements that may reference
- that name in the body of the loop.
-
-2012-07-23 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch9.adb: Minor code cleanup.
-
-2012-07-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Analyze_Selected_Component): When checking for
- potential ambiguities with class-wide operations on synchronized
- types, attach the copied node properly to the tree, to prevent
- errors during expansion.
-
-2012-07-23 Yannick Moy <moy@adacore.com>
-
- * sem_ch5.adb (Analyze_Loop_Statement): Make sure the loop body
- is analyzed in Alfa mode.
-
-2012-07-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb: Adjust previous change.
-
-2012-07-23 Vincent Pucci <pucci@adacore.com>
-
- * sem_ch9.adb (Allows_Lock_Free_Implementation): Flag
- Lock_Free_Given renames previous flag Complain. Description
- updated. Henceforth, catch every error messages issued by this
- routine when Lock_Free_Given is True. Declaration restriction
- updated: No non-elementary parameter instead (even in parameter)
- New subprogram body restrictions implemented: No allocator,
- no address, import or export rep items, no delay statement,
- no goto statement, no quantified expression and no dereference
- of access value.
-
-2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * checks.adb (Determine_Range): Add local variable Btyp. Handle
- the case where the base type of an enumeration subtype is
- private. Replace all occurrences of Base_Type with Btyp.
- * exp_attr.adb (Attribute_Valid): Handle the case where the
- base type of an enumeration subtype is private. Replace all
- occurrences of Base_Type with Btyp.
- * sem_util.adb (Get_Enum_Lit_From_Pos): Add local variable
- Btyp. Handle the case where the base type of an enumeration
- subtype is private. Replace all occurrences of Base_Type with
- Btyp.
-
-2012-07-23 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch6.adb (P_Mode): in Ada 2005, a mode indicator can apply
- to a formal object of an anonymous access type.
-
-2012-07-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Try_Container_Indexing): A user-defined indexing
- aspect can have more than one index, e.g. to describe indexing
- of a multidimensional object.
-
-2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb (Apply_Accessibility_Check): Reimplemented. The check is
- now more complex and contains optional finalization part and mandatory
- deallocation part.
-
-2012-07-23 Gary Dismukes <dismukes@adacore.com>
-
- * a-cihama.adb, a-cihase.adb, a-cimutr.adb, a-ciorma.adb, a-ciormu.adb,
- a-ciorse.adb, a-coinho.adb, a-coinve.adb, a-cidlli.adb: Unsuppress
- Accessibility_Check for Element_Type allocators.
-
-2012-07-23 Vasiliy Fofanov <fofanov@adacore.com>
-
- * projects.texi: Fix typo.
-
-2012-07-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Explicit_Derenference): If prefix is
- overloaded, remove those interpretations whose designated type
- does not match the context, to avoid spurious ambiguities that
- may be caused by the Ada 2012 conversion rule for anonymous
- access types.
-
-2012-07-23 Vincent Celier <celier@adacore.com>
-
- * g-spitbo.adb (Substr (String)): Return full string and do not
- raise exception when Start is 1 and Len is exactly the length
- of the string parameter.
- * g-spitbo.ads: Fix spelling error in the name of exception
- Index_Error.
-
-2012-07-23 Ed Schonberg <schonberg@adacore.com>
-
- * par.adb: new subprogram Get_Aspect_Specifications.
- * par-ch6.adb (P_Subprogram): handle subprogram bodies with aspect
- specifications.
- * par-ch13.adb (Get_Aspect_Specifications): extracted from
- P_Aspect_Specifications. Collect aspect specifications in some
- legal context, but do not attach them to any declaration. Used
- when parsing subprogram declarations or bodies that include
- aspect specifications.
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If aspects are
- present, analyze them, or reject them if the subprogram as a
- previous spec.
-
-2012-07-23 Vasiliy Fofanov <fofanov@adacore.com>
-
- * gnat_ugn.texi: Omit section on other platforms/runtimes support
- in gnattest for vms version.
-
-2012-07-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications):
- Handle properly aspects that can be specified on a subprogram
- body: CPU, Priority, and Interrupt_Priority.
-
-2012-07-23 Claire Dross <dross@adacore.com>
-
- * a-cfdlli.ads: Switch definition of Constant_Reference_Type
- and Empty_List.
-
-2012-07-23 Thomas Quinot <quinot@adacore.com>
-
- * par_sco.adb (Process_Decisions.Output_Header): For the guard
- on an alternative in a SELECT statement, use the First_Sloc
- of the guard expression (not its topmost sloc) as the decision
- location, because this is what is referenced by dominance markers.
-
-2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Requires_Hooking): Examine the original expression
- of an object declaration node because a function call that
- returns on the secondary stack may have been rewritten into
- something else.
-
-2012-07-23 Vincent Pucci <pucci@adacore.com>
-
- * sem_dim.adb (Analyze_Dimension_Has_Etype): For identifier, propagate
- dimension when entity is a non-dimensionless constant.
- (Analyze_Dimension_Object_Declaration): Propagate
- dimension from the expression to the entity when type is a
- dimensioned type and object is a constant.
-
-2012-07-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute, case 'Old): if the prefix
- is not an entity name, expand at once so that code generated by
- the expansion of the prefix is not generated before the constant
- that captures the old value is properly inserted and analyzed.
-
-2012-07-23 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch9.adb (Ensure_Statement_Present): Mark generated NULL
- statement as Comes_From_Source so that GIGI does not eliminate it.
-
-2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Inst is now
- a local variable. Retrieve the related instance when processing
- a subprogram instantiation. Such instances appear as wrapper
- packages.
-
-2012-07-23 Vincent Pucci <pucci@adacore.com>
-
- * system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
- system-hpux.ads, system-linux-alpha.ads,
- system-linux-hppa.ads, system-linux-ppc.ads,
- system-linux-s390.ads, system-linux-s390x.ads,
- system-linux-sh4.ads, system-linux-sparc.ads,
- system-lynxos-ppc.ads, system-mingw.ads,
- system-solaris-sparc.ads, system-solaris-sparcv9.ads,
- system-vms_64.ads, * system-vxworks-arm.ads, system-vxworks-m68k.ads,
- system-vxworks-mips.ads, system-vxworks-ppc.ads,
- system-vxworks-sparcv9.ads: Support_Atomic_Primitives set to False.
- * system-darwin-x86.ads, system-darwin-x86_64.ads,
- system-freebsd-x86.ads, system-freebsd-x86_64.ads,
- system-hpux-ia64.ads, system-linux-ia64.ads, system-linux-x86.ads,
- system-linux-x86_64.ads, system-lynxos-x86.ads,
- system-mingw-x86_64.ads, system-solaris-x86.ads,
- system-solaris-x86_64.ads, system-vms-ia64.ads,
- system-vxworks-x86.ads: Support_Atomic_Primitives set to True.
- * s-atopri.adb (Lock_Free_Read_X): New body.
- (Lock_Free_Try_Write_X): Support_Atomic_Primitives check added.
- (Lock_Free_Try_Write_64): New body.
- * s-atopri.ads: New type uint.
- (Sync_Compare_And_Swap_64): __sync_val_compare_and_swap_8 intrinsic
- import.
- (Lock_Free_Read_X): Body moved to s-atopri.adb.
- (Lock_Free_Try_Write_64): Similar to other Lock_Free_Try_Write_X
- routines.
- * targparm.adb: New enumeration literal SAP
- (Support_Atomic_Primitives) for type Targparm_Tags. New constant
- SAP_Str. New component SAP_Str'Access for array Targparm_Str.
- (Get_Target_Parameters): Parse Support_Atomic_Primitives_On_Target
- flag.
- * targparm.ads: New back-end code generation flag
- Support_Atomic_Primitives_On_Target
-
-2012-07-23 Vincent Pucci <pucci@adacore.com>
-
- * gnat_ugn.texi: Dimensionality checking documentation updated.
-
-2012-07-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Make_Inline): If the pragma applies to a
- subprogram renaming, set inline flags on both the renamed entity
- and on the renaming, so that some ASIS queries can be handled
- consistently in the absence of expansion.
-
-2012-07-23 Fedor Rybin <frybin@adacore.com>
-
- * gnat_ugn.texi: Removing obsolete limitation of gnattest
- to support only ada05. Updating gnattest support for other
- platforms/run-times section to reflect the usage of taget
- prefix in gnattest calls. Fixing missed obsolete --stub-default
- option name.
-
-2012-07-23 Robert Dewar <dewar@adacore.com>
-
- * uintp.adb: Minor reformatting.
-
-2012-07-23 Olivier Hainque <hainque@adacore.com>
-
- * system-vxworks-ppc.ads: Replace the default
- Linker_Options requesting crtbe by a commented out request for
- -nostartfiles.
-
-2012-07-23 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Check_Naming): Do not get the exceptions names
- in a virtual project.
-
-2012-07-23 Robert Dewar <dewar@adacore.com>
-
- * layout.adb, sem_prag.adb, sem.ads, freeze.adb,
- switch-m.adb, exp_disp.adb, system-vxworks-ppc.ads, exp_ch6.adb: Minor
- reformatting.
-
-2012-07-23 Tristan Gingold <gingold@adacore.com>
-
- * gcc-interface/trans.c: (Handled_Sequence_Of_Statements_to_gnu): Set
- location on TRY_CATCH_EXPR.
-
-2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Try to ensure
- that an object of CW type initialized to a value is sufficiently
- aligned for this value.
-
-2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not
- look up the REP part of the base type in advance. Deal with that of
- the variant types.
- (get_rep_part): Be prepared for record types with fields.
-
-2012-07-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (stmt_group_may_fallthru): New function.
- (gnat_to_gnu) <N_Block_Statement>: Use it to find out whether the
- block needs to be translated.
-
-2012-07-17 Tristan Gingold <gingold@adacore.com>
-
- * gnat_rm.texi: Adjust previous change.
-
-2012-07-17 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Process_Import_Or_Interface): If the pragma
- comes from an aspect, it applies to the corresponding entity
- without further check.
-
-2012-07-17 Olivier Hainque <hainque@adacore.com>
-
- * initialize.c (__gnat_initialize for VxWorks): Remove section with
- call to __gnat_vxw_setup_for_eh.
- * system-vxworks-ppc.ads: Add -auto-register to -crtbe, relying
- on the VxWorks constructor mechanism for network loaded modules
- by default.
-
-2012-07-17 Tristan Gingold <gingold@adacore.com>
-
- * adaint.c: Minor reformatting.
-
-2012-07-17 Pascal Obry <obry@adacore.com>
-
- * s-regexp.adb (Adjust): Fix access violation in Adjust.
-
-2012-07-17 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb (Freeze_Entity): Warn if an imported subprogram
- has pre/post conditions, because these will not be enforced.
-
-2012-07-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch7.adb (Process_Transient_Objects): Put all the
- finalization blocks and the final raise statement into a wrapper
- block.
-
-2012-07-17 Vincent Pucci <pucci@adacore.com>
-
- * s-atopri.adb (Lock_Free_Try_Write_X): Atomic_Compare_Exchange_X
- replaced by Sync_Compare_And_Swap_X.
- (Lock_Free_Try_Write_64): Removed.
- * s-atopri.ads (Sync_Compare_And_Swap_X): Replaces previous
- routine Atomic_Compare_Exchange_X.
- (Lock_Free_Read_64): Renaming of Atomic_Load_64.
- (Lock_Free_Try_Write_64): Renaming of Sync_Compare_And_Swap_64.
-
-2012-07-17 Vincent Celier <celier@adacore.com>
-
- * switch-m.adb (Normalize_Compiler_Switches): Recognize new
- switches -gnatn1 and -gnatn2.
-
-2012-07-17 Vincent Pucci <pucci@adacore.com>
-
- * gnat_ugn.texi: GNAT dimensionality checking
- documentation updated with System.Dim.Mks modifications.
-
-2012-07-17 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch3.adb: sloc of array init_proc is sloc of type declaration.
-
-2012-07-17 Tristan Gingold <gingold@adacore.com>
-
- * raise-gcc.c (get_call_site_action_for): Remove useless init
- expression for p.
- (get_action_description_for): Do not overwrite action->kind.
-
-2012-07-17 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference): Add local variables Attr
- and Conversion_Added. Add local constant Typ.
- Retrieve the original attribute after the arithmetic check
- machinery has modified the node. Add a conversion to the target
- type when the prefix of attribute Max_Size_In_Storage_Elements
- is a controlled type.
-
-2012-07-17 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch6.adb (Expand_Inlined_Call): For each actual parameter
- of mode 'out' or 'in out' that denotes an entity, reset
- Last_Assignment on the entity so that any assignments to the
- corresponding formal in the inlining will not trigger spurious
- warnings about overwriting assignments.
-
-2012-07-17 Robert Dewar <dewar@adacore.com>
-
- * s-assert.ads: Fix comments to make it clear that this is used
- for all assertions, not just pragma Assert.
-
-2012-07-17 Jerome Guitton <guitton@adacore.com>
-
- * par_sco.ads: Minor typo fix.
-
-2012-07-17 Gary Dismukes <dismukes@adacore.com>
-
- * layout.adb (Layout_Type): In the case where the target is
- AAMP, use 32 bits (a single pointer) rather than 64 bits for an
- anonymous access-to-subprogram type if the type is library-level
- and Is_Local_Anonymous_Access is True.
-
-2012-07-17 Jose Ruiz <ruiz@adacore.com>
-
- * s-tassta.adb, s-tarest.adb (Create_Task, Create_Restricted_Task,
- Initialize): Add comments explaining that the CPU affinity value that
- is passed to the run-time library can be either Unspecified_CPU, to
- indicate that the task inherits the affinity of its activating task,
- or a value in the range of CPU_Range but no greater than Number_Of_CPUs.
-
-2012-07-17 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Make_DT): Remove decoration of Ada.Tags entities.
- (Make_Tags): Add decoration of Ada.Tags entities.
-
-2012-07-17 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Check_Statement_Sequence): When locating the
- last significant statement in a sequence, ignore iserted nodes
- that typically come from expansion of controlled operations.
-
-2012-07-17 Tristan Gingold <gingold@adacore.com>
-
- * gnat_rm.texi: Document foreign exceptions.
-
-2012-07-17 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb, treepr.ads: Minor reformatting.
-
-2012-07-17 Robert Dewar <dewar@adacore.com>
-
- * exp_ch9.adb: Minor code reorganization.
- * exp_ch3.adb: Minor code improvement.
-
-2012-07-17 Tristan Gingold <gingold@adacore.com>
-
- * seh_init.c (__gnat_SEH_error_handler): Not compiled anymore
- on Windows 64 (+ SEH), as it is unused.
-
-2012-07-17 Javier Miranda <miranda@adacore.com>
-
- * sem_prag.adb (CPP_Class): Transform obsolescent pragma CPP_Class into
- CPP convention automatically.
-
-2012-07-16 Tristan Gingold <gingold@adacore.com>
-
- * gcc-interface/decl.c (intrin_return_compatible_p): Map Address to
- void *.
-
-2012-07-16 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch9.adb (Ensure_Statement_Present): New subprogram.
- (Expand_N_Asynchronous_Select,
- Expand_N_Selective_Accept.Process_Accept_Alternative,
- Expand_N_Selective_Accept.Process_Delay_Alternative,
- Expand_N_Timed_Entry_Call): For an alternative with no trailing
- statements, introduce a null statement to carry the sloc of
- the initial special statement (accept, delay, or entry call)
- in the alternative, for coverage analysis purposes.
-
-2012-07-16 Thomas Quinot <quinot@adacore.com>
-
- * sem_eval.adb (In_Subrange_Of): Fix typo in test for scalar
- arguments.
-
-2012-07-16 Robert Dewar <dewar@adacore.com>
-
- * a-exexpr.adb, freeze.adb, a-exexpr-gcc.adb, a-except-2005.adb,
- sem_eval.adb, s-fileio.adb: Minor reformatting.
-
-2012-07-16 Javier Miranda <miranda@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): Remove support for obsolescent
- pragma CPP_Class.
- * sem_ch13.adb (Analyze_Freeze_Entity): Add missing error on Ada
- derivations of CPP types. Found updating the tests affected by
- the removal of pragma CPP_Class.
-
-2012-07-16 Thomas Quinot <quinot@adacore.com>
-
- * back_end.adb: Minor reformatting.
-
-2012-07-16 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch9.adb (Expand_N_Selective_Accept.Process_Accept_Alternative):
- Remove junk test that was always true. For the case of no statements
- following the ACCEPT, jump directly to End_Lab instead of
- introducing an intermediate jump.
- (Expand_N_Selective_Accept.Process_Delay_Alternative): Fix
- predicate testing for presence of statements following the DELAY.
- that was always true. For the case of no statements following
- the ACCEPT, jump directly to End_Lab instead of introducing an
- intermediate jump.
- (Expand_N_Selective_Accept): Fix incorrect insertion point for
- end label.
-
-2012-07-16 Thomas Quinot <quinot@adacore.com>
-
- * gnat_rm.texi: Minor documentation improvements.
-
-2012-07-16 Yannick Moy <moy@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications): Allow Pre
- and Pre'Class aspects on the same declaration.
- * sem_prag.adb (Chain_PPC): Allow Pre and Pre'Class aspects on the
- same hierarchy of primitive operations.
-
-2012-07-16 Thomas Quinot <quinot@adacore.com>
-
- * freeze.adb (Check_Component_Storage_Order): Do not reject a
- nested composite with different scalar storage order if it is
- byte aligned.
-
-2012-07-16 Thomas Quinot <quinot@adacore.com>
-
- * gnat_rm.texi: Update documentation for Scalar_Storage_Order.
-
-2012-07-16 Tristan Gingold <gingold@adacore.com>
-
- * a-exexpr.adb (Propagate_Exception): Adjust call to
- Exception_Traces procedures.
- * a-exexpr-gcc.adb (Setup_Current_Excep): Now a
- function that returns an access to the Ada occurrence.
- (Propagate_GCC_Exception): Adjust calls.
- * raise.h (struct Exception_Occurrence): Declare.
- * a-exextr.adb: Remove useless pragma. (Notify_Handled_Exception,
- Notify_Unhandled_Exception) (Unhandled_Exception_Terminate):
- Add Excep parameter.
- * a-except.adb (Notify_Handled_Exception,
- Notify_Unhandled_Exception) (Unhandled_Exception_Terminate):
- Add Excep parameter.
- (Process_Raise_Exception): Adjust calls.
- * a-except-2005.adb (Notify_Handled_Exception,
- Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): Add
- Excep parameter.
- (Raise_Exception): Calls Raise_Exception_Always.
- * raise-gcc.c (__gnat_setup_current_excep,
- __gnat_notify_handled_exception)
- (__gnat_notify_unhandled_exception): Adjust declarations.
- (PERSONALITY_FUNCTION): Adjust calls.
- (__gnat_personality_seh0): Remove warning.
-
-2012-07-16 Javier Miranda <miranda@adacore.com>
-
- * sem_eval.adb (Test_Expression_Is_Foldable): Adding documentation.
- (Eval_Relational_Op): Adding documentation.
-
-2012-07-16 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb, g-debpoo.adb, exp_ch3.adb: Minor reformatting.
-
-2012-07-16 Thomas Quinot <quinot@adacore.com>
-
- * s-oscons-tmplt.c: Add definitions of E2BIG and EILSEQ.
-
-2012-07-16 Tristan Gingold <gingold@adacore.com>
-
- * a-exexpr.adb (Propagate_Continue): New function replacing
- Raise_Current_Excep.
- (Allocate_Occurrence): New function.
- (Propagate_Exception): Add Excep parameter, remove call to Call_Chain.
- * a-exexpr-gcc.adb (GNAT_GCC_Exception): Occurrence component
- is now aliased.
- (To_GCC_Exception): Convert from Address.
- (Allocate_Occurrence): Allocate an Unwind exception occurrence.
- (Setup_Current_Excep): Fill the machine occurrence in case of
- foreign exception.
- (Propagate_Exception): Add Excep parameter, remove call to Call_Chain.
- * a-except.adb (Set_Exception_C_Msg, Set_Exception_Msg): add
- Excep parameter.
- (Raise_Exception, Raise_Exception_Always,
- Raise_Exception_No_Defer): Adjust calls to the above procedures.
- (Raise_From_Signal_Handler, Raise_With_Location_And_Msg)
- (Rcheck_PE_Finalize_Raised_Exception): Likewise.
- * a-except-2005.adb (Set_Exception_C_Msg, Set_Exception_Msg):
- add Excep parameter.
- (Propagate_Exception): Likewise.
- (Allocate_Occurrence): New function.
- (Raise_Current_Excep): Removed.
- (Complete_Occurrence): New function to save the call chain.
- (Complete_And_Propagate_Occurrence): New procedure.
- (Create_Occurrence_From_Signal_Handler): New function to build an
- occurrence without propagating it.
- (Create_Machine_Occurrence_From_Signal_Handler): Likewise, but
- return the machine occurrence.
- (Raise_From_Signal_Handler): Use Create_Occurrence_From_Signal_Handler.
- (Raise_Exception, Raise_Exception_Always, Raise_Exception_No_Defer):
- Adjust calls to the above procedures. Allocate the occurrence at
- the beginning.
- (Raise_With_Location_And_Msg, Raise_With_Msg)
- (Rcheck_PE_Finalize_Raised_Exceptionm Reraise): Likewise.
- (Reraise_Occurrence): Use Reraise_Occurrence_Always.
- (Reraise_Occurrence_Always): Use Reraise_Occurrence_No_Defer.
- (Reraise_Occurrence_No_Defer): Preserve machine occurrence.
- (Save_Occurrence): Do not save machine occurrence.
- * a-except-2005.ads (Exception_Occurrence): Add Machine_Occurrence
- component.
- (Null_Occurrence): Consider it.
- * a-exexda.adb (Set_Exception_C_Msg, Set_Exception_Msg): add
- Excep parameter.
-
-2012-07-16 Tristan Gingold <gingold@adacore.com>
-
- * seh_init.c (__gnat_map_SEH): New function extracted from
- __gnat_SEH_error_handler.
- * raise-gcc.c: __gnat_personality_seh0: Directly transforms
- Windows system exception into GCC one when possible, in order
- to save stack room (particularly useful when Storage_Error will
- be propagated).
-
-2012-07-16 Robert Dewar <dewar@adacore.com>
-
- * a-direct.adb, g-dirope.adb: Minor reformatting.
-
-2012-07-16 Tristan Gingold <gingold@adacore.com>
-
- * a-except.ads, a-except-2005.ads: Remove outdated comment.
-
-2012-07-16 Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.adb (Subprogram_Name_Greater): Fix algorithm to
- conform to documentation.
-
-2012-07-16 Ed Schonberg <schonberg@adacore.com>
-
- * gnat1drv.adb (Check_Library_Items): Removed, no longer used.
-
-2012-07-16 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Array_Type_Declaration): if component type has
- invariants, the array type itself requires an invariant procedure.
- * exp_ch3.ads, exp_ch3.adb (Build_Array_Invariant_Proc): new
- procedure, to build a checking procedure that applies the
- invariant check on some type T to each component of an array
- of T's. Code is similar to the construction of the init_proc
- for an array, and handles multidimensional arrays by recursing
- over successive dimensions.
-
-2012-07-16 Hristian Kirtchev <kirtchev@adacore.com>
-
- * g-debpoo.adb: Revert previous change.
-
-2012-07-16 Hristian Kirtchev <kirtchev@adacore.com>
-
- * freeze.adb (Freeze_Entity): Insert the itype reference to a
- library-level class-wide subtype after the freeze node of the
- equivalent record type.
-
-2012-07-16 Pascal Obry <obry@adacore.com>
-
- * s-crtl.ads (mkdir): New routine, support encoding.
- * adaint.h (__gnat_mkdir): Update spec to pass encoding.
- * mkdir.c (__gnat_mkdir): Add encoding parameter.
- * a-direct.adb (Create_Directory): Use CRTL.mkdir, parse encoding
- in form parameter.
- * g-dirope.adb (Make_Dir): Update to pass encoding parameter.
-
-2012-07-16 Pascal Obry <obry@adacore.com>
-
- * adaint.c: Minor reformatting.
-
-2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
-
- * gcc-interface/utils.c: Include timevar.h.
- * Make-lang.in: Fix dependencies.
-
-2012-07-16 Vasiliy Fofanov <fofanov@adacore.com>
-
- * ug_words, vms_data.ads: Document VMS qualifiers for -gnatn1/2
- switches.
-
-2012-07-16 Bob Duff <duff@adacore.com>
-
- * sinfo.ads: Minor comment fix.
-
-2012-07-16 Bob Duff <duff@adacore.com>
-
- * sem_elab.adb (Within_Elaborate_All): Walk the with clauses to
- find pragmas Elaborate_All that may be found in the transitive
- closure of the dependences.
-
-2012-07-16 Robert Dewar <dewar@adacore.com>
-
- * exp_pakd.adb, freeze.adb, sem_util.adb, vms_data.ads: Minor
- reformatting.
-
-2012-07-12 Vasiliy Fofanov <fofanov@adacore.com>
-
- * vms_data.ads: Add VMS qualifiers for -gnatn1/2 switches.
-
-2012-07-12 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch5.adb, exp_pakd.adb, rtsfind.ads, freeze.adb, sem_util.adb,
- sem_util.ads, exp_aggr.adb
- (Exp_Aggr.Packed_Array_Aggregate_Handled): Simplify processing
- for reverse storage order aggregate.
- (Exp_Pakd.Byte_Swap): New utility routine used by...
- (Exp_Pakd.Expand_Bit_Packed_Element_Set,
- Expand_Packed_Element_Reference): For the case of a free-standing
- packed array with reverse storage order, perform byte swapping.
- (Rtsfind): Make new entities RE_Bswap_{16,32,64} available.
- (Freeze.Check_Component_Storage_Order): New utility routine
- to enforce legality rules for nested composite types whose
- enclosing composite has an explicitly defined Scalar_Storage_Order
- attribute.
- (Sem_Util.In_Reverse_Storage_Order_Object): Renamed from
- Sem_Util.In_Reverse_Storage_Order_Record, as SSO now applies to
- array types as well.
- (Exp_Ch5.Expand_Assign_Array): Remove now unnecessary kludge
- for change of scalar storage order in assignments. The Lhs and
- Rhs now always have the same scalar storage order.
-
-2012-07-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * g-debpoo.adb (Allocate): Add local constant
- No_Element. Initialize the allocated memory chunk to No_Element.
-
-2012-07-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly
- the case of an instance of a child unit where a formal derived
- type DT is an extension of a type T declared in a parent unit,
- and the actual in the instance of the child is the type T declared
- in the parent instance, and that actual is not a derived type.
-
-2012-07-12 Eric Botcazou <ebotcazou@adacore.com>
- Tristan Gingold <gingold@adacore.com>
-
- * system-hpux-ia64.ads: Enable ZCX by default.
- * gcc-interface/Makefile.in: Use alternate stack on ia64-hpux.
- Change soext to .so.
-
-2012-07-12 Robert Dewar <dewar@adacore.com>
-
- * s-atopri.adb, s-atopri.ads: Minor reformatting.
-
-2012-07-12 Robert Dewar <dewar@adacore.com>
-
- * ali.adb: Add circuitry to read new named form of restrictions lines.
- * debug.adb: Add doc for new -gnatd.R switch (used positional
- notation for output of restrictions data in ali file).
- * lib-writ.adb: Implement new named format for restrictions lines.
- * lib-writ.ads: Add documentation for new named format for
- restrictions in ali files.
- * restrict.adb, restrict.ads, sem_prag.adb: Update comments.
- * rident.ads: Go back to withing System.Rident
- * s-rident.ads: Add extensive comment on dealing with consistency
- checking.
-
-2012-07-12 Thomas Quinot <quinot@adacore.com>
-
- * par_sco.adb, scos.ads: Emit detailed SCOs for SELECT statements.
-
-2012-07-12 Robert Dewar <dewar@adacore.com>
-
- * sem_disp.adb: Minor reformatting
- * s-bytswa.ads: Minor comment update.
-
-2012-07-12 Vincent Pucci <pucci@adacore.com>
-
- * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
- Atomic_Load_N replaced by Lock_Free_Read_N. Atomic_Compare_Exchange_N
- replaced by Lock_Free_Try_Write_N.
- Renaming of several local variables. For
- procedure, Expected_Comp declaration moved to the declaration
- list of the procedure.
- * rtsfind.ads: RE_Atomic_Compare_Exchange_8,
- RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
- RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
- RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64,
- RE_Atomic_Synchronize, RE_Relaxed removed. RE_Lock_Free_Read_8,
- RE_Lock_Free_Read_16, RE_Lock_Free_Read_32, RE_Lock_Free_Read_64,
- RE_Lock_Free_Try_Write_8, RE_Lock_Free_Try_Write_16,
- RE_Lock_Free_Try_Write_32, RE_Lock_Free_Try_Write_64 added.
- * s-atopri.adb: New file.
- * s-atopri.ads (Atomic_Compare_Exchange_8): Renaming of
- parameters. Import primitive __sync_val_compare_and_swap_1.
- (Atomic_Compare_Exchange_16): Renaming of parameters.
- Import primitive __sync_val_compare_and_swap_2.
- (Atomic_Compare_Exchange_32): Renaming of parameters.
- Import primitive __sync_val_compare_and_swap_4.
- (Atomic_Compare_Exchange_64): Renaming of parameters. Import
- primitive __sync_val_compare_and_swap_8.
- (Atomic_Load_8): Ptr renames parameter X.
- (Atomic_Load_16): Ptr renames parameter X.
- (Atomic_Load_32): Ptr renames parameter X.
- (Atomic_Load_64): Ptr renames parameter X.
- (Lock_Free_Read_8): New routine.
- (Lock_Free_Read_16): New routine.
- (Lock_Free_Read_32): New routine.
- (Lock_Free_Read_64): New routine.
- (Lock_Free_Try_Write_8): New routine.
- (Lock_Free_Try_Write_16): New routine.
- (Lock_Free_Try_Write_32): New routine.
- (Lock_Free_Try_Write_64): New routine.
-
-2012-07-12 Robert Dewar <dewar@adacore.com>
-
- * exp_attr.adb, exp_ch9.adb, sem_ch9.adb, exp_aggr.adb: Minor
- reformatting.
-
-2012-07-12 Vincent Pucci <pucci@adacore.com>
-
- * sem_dim.adb (Analyze_Dimension_Function_Call): Reformatting of error
- msgs for elementary functions.
-
-2012-07-12 Vincent Pucci <pucci@adacore.com>
-
- * sem_attr.adb (Eval_Attribute): Minor reformatting.
-
-2012-07-12 Pascal Obry <obry@adacore.com>
-
- * prj-nmsc.adb (Check_Library_Attributes): Allow the same library
- project in different project tree (different aggregated projects).
-
-2012-07-12 Thomas Quinot <quinot@adacore.com>
-
- * s-bytswa.adb, g-bytswa.adb, g-bytswa.ads, s-bytswa.ads: Further
- reorganization of byte swapping routines.
-
-2012-07-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_disp.adb (Check_Dispatching_Context): Refine legality
- checks on tagg indeterminate calls to abstract operations,
- that appear in the context of other calls.
-
-2012-07-12 Thomas Quinot <quinot@adacore.com>
-
- * s-bytswa.adb (Swapped2.Bswap16): Remove local function,
- no longer needed.
-
-2012-07-12 Javier Miranda <miranda@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference): For
- attributes 'access, 'unchecked_access and 'unrestricted_access,
- iff the current instance reference is located in a protected
- subprogram or entry then rewrite the access attribute to be the
- name of the "_object" parameter.
-
-2012-07-12 Tristan Gingold <gingold@adacore.com>
-
- * raise.h: Revert previous patch: structure is used in init.c
- by vms.
-
-2012-07-12 Vincent Celier <celier@adacore.com>
-
- * make.adb (Binding_Phase): If --subdirs was used, but not
- -P, change the working directory to the specified subdirectory
- before invoking gnatbind.
- (Linking_Phase): If --subdirs was used, but not -P, change the working
- directory to the specified subdirectory before invoking gnatlink.
-
-2012-07-12 Vincent Pucci <pucci@adacore.com>
-
- * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
- For a procedure, instead of replacing each Comp reference by a
- reference to Current_Comp, make a renaming Comp of Current_Comp
- that rewrites the original renaming generated by the compiler
- during the analysis. Move the declarations of the procedure
- inside the generated block.
- (Process_Stmts): Moved in the body
- of Build_Lock_Free_Unprotected_Subprogram_Body.
- (Process_Node):
- Moved in the body of Build_Lock_Free_Unprotected_Subprogram_Body.
- * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict any
- non-elementary out parameters in protected procedures.
-
-2012-07-12 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
- Scalar_Storage_Order): Attribute applies to base type only.
-
-2012-07-12 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Convert_To_Positional): Increase acceptable size
- of static aggregate when Static_Elaboration_Desired is requested.
- Add a warning if the request cannot be satisfied either because
- some components or some array bounds are non-static.
-
-2012-07-12 Thomas Quinot <quinot@adacore.com>
-
- * exp_pakd.adb: Minor reformatting.
-
-2012-07-12 Tristan Gingold <gingold@adacore.com>
-
- * tracebak.c: Fix warnings.
- * raise-gcc.c (__gnat_adjust_context): New function
- (__gnat_personality_seh0): Call __gnat_adjust_context to adjust
- PC in machine frame for exceptions that occur in the current
- function.
-
-2012-07-12 Thomas Quinot <quinot@adacore.com>
-
- * g-bytswa.adb, g-bytswa.ads, s-bytswa.adb, s-bytswa.ads, Makefile.rtl:
- Move GNAT.Byte_Swapping to System (with a renaming under GNAT)
- so that it is usable in expanded code.
-
-2012-07-12 Tristan Gingold <gingold@adacore.com>
-
- * s-osinte-hpux.ads: Increase alternate stack size on hpux.
-
-2012-07-12 Javier Miranda <miranda@adacore.com>
-
- * exp_ch3.adb (Make_Neq_Body): Fix typo in comment.
-
-2012-07-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * tb-gcc.c (trace_callback): On IA-64/HP-UX, use workaround only
- if USE_LIBUNWIND_EXCEPTIONS is defined.
- * init.c: Further tweaks for IA-64/HP-UX.
-
-2012-07-12 Tristan Gingold <gingold@adacore.com>
-
- * raise-gcc.c: Do not include unwind-dw2-fde.h. Adjust comments.
- (db_region_for): Second argument is ip. Do not recompute ip.
- (action_kind): Remove typedef, add unhandler enum const.
- (action_descriptor): Adjust type of kind field.
- (db_action_for): Second argument is ip, do not recompute it.
- (get_call_site_action_for): First argument is call_site, do not
- recompute it. Remove useless return.
- (is_handled_by): Now return enum action_kind.
- Handle GNAT_ALL_OTHERS first.
- Return unhandler for GNAT_UNHANDLED_OTHERS.
- (get_action_description_for): First argument is now ip, do not
- recompute it. Adjust code for call to is_handled_by.
- (__gnat_notify_unhandled_exception): Add prototype.
- (PERSONALITY_FUNCTION): Call get_ip_from_context. Adjust calls.
- Handle unhandler case.
- (__gnat_cleanupunwind_handler): Add comments, add
- ATTRIBUTE_UNUSED on arguments.
- (__gnat_Unwind_RaiseException, __gnat_Unwind_ForcedUnwind): Define
- only once.
- * raise.h: Makes struct Exception_Data opaque.
-
-2012-07-12 Robert Dewar <dewar@adacore.com>
-
- * make.adb, sem_ch9.adb, prj.adb, s-rident.ads, snames.ads-tmpl: Minor
- reformatting.
-
-2012-07-12 Javier Miranda <miranda@adacore.com>
-
- * exp_ch3.adb (Is_User_Defined_Equality): New subprogram.
- (Make_Neq_Body): New subprogram.
- (Make_Predefined_Primitive_Specs): Adding local variable
- Has_Predef_Eq_ Renaming to ensure that we enable the machinery
- which handles renamings of predefined primitive operators.
-
-2012-07-09 Pascal Obry <obry@adacore.com>
-
- * prj.adb (For_Every_Project_Imported_Context): Make sure we
- callback with the project having sources.
- Minor reformatting.
-
-2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * make.adb: Fix typo.
-
-2012-07-09 Vincent Pucci <pucci@adacore.com>
-
- * sem_ch9.adb (Check_Node): Allow attributes
- that denote static function for lock-free implementation.
- (Is_Static_Function): New routine.
-
-2012-07-09 Tristan Gingold <gingold@adacore.com>
-
- * tracebak.c: Adjust skip_frames on Win64.
-
-2012-07-09 Tristan Gingold <gingold@adacore.com>
-
- * init.c: Add __gnat_adjust_context_for_raise for ia64/hpux.
- * raise-gcc.c: __gnat_cleanupunwind_handler: Do not call
- _Unwind_GetGR on hpux when using libgcc unwinder. Part of
-
-2012-07-09 Vincent Pucci <pucci@adacore.com>
-
- * exp_attr.adb, sem_attr.adb: Minor reformatting.
- * par-ch13.adb, par-ch4.adb, par-util.adb: Reformatting
- considering that internal attribute names are not defined anymore
- in the main attribute names list.
- * snames.adb-tmpl (Get_Attribute_Id): Special processinf
- for names CPU, Dispatching_Domain and Interrupt_Priority.
- (Is_Internal_Attribute_Name): Minor reformatting.
- * snames.ads-tmpl: New list of internal attribute names. Internal
- attributes moved at the end of the attribute Id list.
-
-2012-07-09 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb: Minor code reorganization (use Ekind_In).
- * exp_attr.adb, sem_ch9.adb par-ch4.adb, s-taprop-mingw.adb,
- sem_attr.adb, exp_ch8.adb, snames.adb-tmpl, par-util.adb,
- sem_ch13.adb, snames.ads-tmpl: Minor reformatting.
-
-2012-07-09 Tristan Gingold <gingold@adacore.com>
-
- * raise-gcc.c: Adjust previous patch.
-
-2012-07-09 Vincent Celier <celier@adacore.com>
-
- * make.adb (Compilation_Phase): Do not build libraries in
- Codepeer mode (do not call Library_Phase).
-
-2012-07-09 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb: Extend previous change to elementary types.
-
-2012-07-09 Javier Miranda <miranda@adacore.com>
-
- * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Reverse
- previous patch since unconditionally handling as renaming_as_body
- renamings of predefined dispatching equality and unequality operator
- cause visibility problems with private overridings of the equality
- operator (see ACATS C854001).
-
-2012-07-09 Vincent Pucci <pucci@adacore.com>
-
- * exp_attr.adb (Signal_Bad_Attribute): Raise Program_Error in
- case of internal attribute names (already rejected by the parser).
- * par-ch13.adb (P_Representation_Clause): Complain if an internal
- attribute name that comes from source occurs.
- * par-ch4.adb (P_Name): Complain if an internal attribute name
- occurs in the context of an attribute reference.
- * par-util.adb (Signal_Bad_Attribute): Don't complain about
- mispelling attribute with internal attributes.
- * sem_attr.adb (Analyze_Attribute): Raise Program_Error in case
- of internal attribute names (already rejected by the parser).
- * snames.adb-tmpl (Is_Internal_Attribute_Name): New routine.
- * snames.ads-tmpl: Attributes CPU, Dispatching_Domain and
- Interrupt_Priority are marked as INT attributes since they
- don't denote real attribute and are only used internally in
- the compiler.
- (Is_Internal_Attribute_Name): New routine.
-
-2012-07-09 Thomas Quinot <quinot@adacore.com>
-
- * einfo.adb (Set_Reverse_Storage_Order): Update assertion,
- flag is now valid for array types as well.
-
-2012-07-09 Tristan Gingold <gingold@adacore.com>
-
- * tracebak.c: Implement __gnat_backtrace for Win64 SEH.
-
-2012-07-09 Robert Dewar <dewar@adacore.com>
-
- * einfo.ads: Minor reformatting.
-
-2012-07-09 Javier Miranda <miranda@adacore.com>
-
- * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Handle as
- renaming_as_body renamings of predefined dispatching equality
- and unequality operators.
-
-2012-07-09 Robert Dewar <dewar@adacore.com>
-
- * rident.ads: Do not instantiate r-ident.ads, this is now an
- independent unit.
-
-2012-07-09 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Write_DT): Avoid runtime crash of this debugging
- routine.
- * sem_disp.adb (Find_Dispatching_Time): Protect this routine
- against partially decorated entities.
-
-2012-07-09 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb (Check_Size): Reject a size clause that specifies
- a value greater than Int'Last for a scalar type.
-
-2012-07-09 Vincent Pucci <pucci@adacore.com>
-
- * sem_ch9.adb (Allows_Lock_Free_Implementation): type must support
- atomic operation moved to the protected body case. No non-elementary
- out parameter moved to the protected declaration case. Functions have
- only one lock-free restriction.
- (Analyze_Protected_Type_Declaration): Issue a warning when
- Priority given with Lock_Free.
-
-2012-07-09 Vincent Pucci <pucci@adacore.com>
-
- * sem_dim.adb: Grammar of aspect Dimension fixed.
-
-2012-07-09 Vincent Pucci <pucci@adacore.com>
-
- * freeze.adb (Freeze_Record_Type): Code reorg in order to avoid
- pushing and popping the scope stack whenever a delayed aspect occurs.
-
-2012-07-09 Gary Dismukes <dismukes@adacore.com>
-
- * s-os_lib.ads: Remove pragma Elaborate_Body, as
- this is now unnecessary due to recently added pragma Preelaborate.
-
-2012-07-09 Jose Ruiz <ruiz@adacore.com>
-
- * s-taprop-mingw.adb (Set_Priority): Remove the code that was
- previously in place to reorder the ready queue when a task drops
- its priority due to the loss of inherited priority.
-
-2012-07-09 Robert Dewar <dewar@adacore.com>
-
- * layout.adb, i-cstrea.ads, a-ststio.ads, prj-util.ads, sem_cat.adb,
- s-commun.ads, s-ficobl.ads, s-os_lib.ads, s-fileio.ads: Minor
- reformatting.
-
-2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * raise-gcc.c: Update comments. Fix typo.
-
-2012-07-09 Thomas Quinot <quinot@adacore.com>
-
- * einfo.adb, einfo.ads, sem_attr.adb, sem_ch13.adb: Attribute
- Scalar_Storage_Order can be defined or queried for array types as well
- as record types.
-
-2012-07-09 Tristan Gingold <gingold@adacore.com>
-
- * a-exexpr-gcc.adb (CleanupUnwind_Handler): Now imported from
- raise-gcc.c
- * raise-gcc.c (__gnat_cleanupunwind_handler): Defined.
- Strictly follow the ABI convention on ia64.
-
-2012-07-09 Gary Dismukes <dismukes@adacore.com>
-
- * a-ststio.ads: Add pragma Preelaborate, per AI05-0283.
- * i-cstrea.ads (max_path_len): Change from variable to deferred
- constant to allow it to be used as a bound in string component
- in type System.File_IO.Temp_File_Record.
- * s-os_lib.ads, s-commun.ads, s-ficobl.ads, s-fileio.ads: Add pragma
- Preelaborate.
- * s-fileio.adb (Get_Case_Sensitive): Move function inside
- procedure Open.
- (File_Names_Case_Sensitive): Move variable inside
- procedure Open, to avoid violation of Preelaborate restriction
- (due to call to Get_Case_Sensitive).
-
-2012-07-09 Ed Schonberg <schonberg@adacore.com>
-
- * layout.adb (Set_Elem_Alignment): Protect against meaningless
- size clause, to prevent overflow in internal computation of
- alignment.
-
-2012-07-09 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb, prj-util.adb, prj-util.ads, sem_ch13.adb: Minor
- reformatting.
-
-2012-07-09 Gary Dismukes <dismukes@adacore.com>
-
- * sem_cat.adb (Check_Categorization_Dependencies):
- Allow dependence of both Remote_Types and Remote_Call_Interface
- declarations (not just Remote_Types units) on preelaborated
- units, but require that the dependence be made via a private
- with_clause. Issue a specialized error message.
-
-2012-07-09 Pascal Obry <obry@adacore.com>
-
- * prj-util.adb, prj-util.ads (For_Interface_Sources): New routine.
-
-2012-07-09 Tristan Gingold <gingold@adacore.com>
-
- * seh_init.c (__gnat_SEH_error_handler): On Win64 and SEH,
- return for unknown exceptions.
- * raise-gcc.c (__gnat_personality_seh0): Call __gnat_SEH_error_handler.
-
-2012-07-09 Joel Brobecker <brobecker@adacore.com brobecker>
-
- * exp_dbug.ads (No_Dollar_In_Label): Delete.
-
-2012-07-09 Vincent Pucci <pucci@adacore.com>
-
- * sem_ch13.adb (Check_Overloaded_Name): New routine.
-
-2012-07-09 Vincent Pucci <pucci@adacore.com>
-
- * freeze.adb (Freeze_Record_Type): Analyze the delayed aspects of the
- components in a record type.
-
-2012-07-09 Pascal Obry <obry@adacore.com>
-
- * prj-util.ads: Minor reformatting.
-
-2012-07-09 Tristan Gingold <gingold@adacore.com>
-
- * raise-gcc.c (db_indent): Simplify style, improve comments.
- Remove !IN_RTS part (dead).
-
-2012-07-09 Robert Dewar <dewar@adacore.com>
-
- * usage.adb: Minor change to format of -gnatn line.
-
-2012-07-09 Tristan Gingold <gingold@adacore.com>
-
- * a-exexpr-gcc.adb: Reorder routine.
-
-2012-07-09 Vincent Celier <celier@adacore.com>
-
- * lib-writ.ads: Add documentation for the Z lines (implicitly
- withed units) and Y lines (limited withed units).
-
-2012-07-09 Robert Dewar <dewar@adacore.com>
-
- * lib.ads, exp_attr.adb, exp_ch9.adb, sem_dim.adb, sem_ch9.adb,
- sem_prag.adb, sem_ch12.adb, mlib-utl.adb, freeze.adb, sem_res.adb,
- sem_attr.adb, sem_case.adb, gnatlink.adb, exp_ch4.adb, sem_ch6.adb,
- sem_elim.adb, s-dimmks.ads, sem_ch13.adb: Minor code clean ups.
-
-2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat_ugn.texi (Switches for gcc): Document -gnatn[12] only
- lightly in the summary and more thoroughly in inlining section.
- (Performance Considerations): Document -gnatn[12] in inlining
- section.
-
-2012-07-09 Tristan Gingold <gingold@adacore.com>
-
- * a-exexpr-gcc.adb (Unhandled_Except_Handler): New procedure.
- (Unhandled_Others_Value): New const.
- * raise-gcc.c (GNAT_UNHANDLED_OTHERS): Define.
- (action_descriptor): Remove ttype_entry.
- (get_action_description_for): Do not assign ttype_entry.
- (is_handled_by): Consider GNAT_UNHANDLED_OTHERS.
-
-2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Call_to_gnu): Robustify test for function case
- if the CICO mechanism is used.
-
-2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (build_simple_component_ref): Do not look
- through an extension if the type contains a placeholder.
-
-2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_disp.adb (Expand_Dispatching_Call): Propagate the convention on
- the designated subprogram type and also set Is_Dispatch_Table_Entity.
- (Expand_Interface_Thunk): Propagate the convention on the thunk.
- (Set_CPP_Constructors_Old): Set Is_Constructor and Convention_CPP on
- the internal view of the constructors.
- (Set_CPP_Constructors): Likewise.
- * sem_prag.adb (Analyze_Pragma) <Pragma_CPP_Constructor>: Set the
- convention on the function.
- * gcc-interface/gigi.h (is_cplusplus_method): Declare.
- * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
- (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the `thiscall'
- calling convention
- (get_minimal_subprog_decl): Likewise.
- (is_cplusplus_method): New predicate.
- * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Issue an
- error on access to C++ constructor or member function.
-
-2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (gnat_pushdecl): Set TYPE_CONTEXT for types
- attached to a TYPE_DECL.
-
-2012-06-26 Vincent Pucci <pucci@adacore.com>
-
- * exp_ch3.adb (Build_Init_Statements): Don't check the parents
- in the Rep Item Chain of the task for aspects Interrupt_Priority,
- Priority, CPU and Dispatching_Domain.
- * exp_ch9.adb (Expand_N_Task_Type_Declaration): fields _Priority,
- _CPU and _Domain are present in the corresponding record type
- only if the task entity has a pragma, attribute definition
- clause or aspect specification.
- (Make_Initialize_Protection): Don't check the parents in the Rep Item
- Chain of the task for aspects Interrupt_Priority, Priority, CPU and
- Dispatching_Domain.
- * freeze.adb (Freeze_Entity): Use of Evaluate_Aspects_At_Freeze_Point
- call replaced by Analyze_Aspects_At_Freeze_Point.
- * sem_ch13.adb, sem_ch13.ads (Analyze_Aspects_At_Freeze_Point):
- Renaming of Evaluate_Aspects_At_Freeze_Point.
-
-2012-06-26 Yannick Moy <moy@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute): Detect if 'Old is used outside a
- postcondition, and issue an error in such a case.
-
-2012-06-26 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi: Minor editing.
-
-2012-06-26 Tristan Gingold <gingold@adacore.com>
-
- * raise-gcc.c: Minor cleanup: remove unused prototype.
- * seh_init.c: Do not create an image wide unwind info to catch
- SEH when SEH unwind info are emitted by the compiler.
-
-2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
-
- * gcc-interface/trans.c: Include target.h.
- (gigi): Try to put out .ident with targetm.asm_out.output_ident.
- Remove uses of ASM_OUTPUT_IDENT.
- * gcc-interface/Make-lang.in: Fix dependencies.
-
-2012-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/53592
- * gcc-interface/gigi.h (maybe_vector_array): Make static inline.
- * gcc-interface/utils.c (maybe_vector_array): Delete.
- * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the
- array object as addressable if it has vector type and is on the LHS.
-
-2012-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/53590
- * gcc-interface/misc.c (gnat_init_options_struct): Set
- opts->x_flag_delete_dead_exceptions to 1.
-
-2012-06-14 Jose Ruiz <ruiz@adacore.com>
-
- * gcc-interface/Make-lang.in (ada.install-common, ada.uninstall):
- Use the prefix specified with the --program-prefix configure option
- to determine the install name of the Ada tools.
- (ada.all.cross): Use a for loop to iterate over the set of Ada tools
- instead of duplicate the same processing.
- Update dependencies.
-
-2012-06-14 Vincent Pucci <pucci@adacore.com>
-
- * exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_Symbol
- call replaced by Expand_Put_Call_With_Symbol call.
- * sem_dim.adb: New fields Unit_Names, Unit_Symbols
- and Dim_Symbols for record type System_Type.
- (From_Dimension_To_String_Of_Symbols): Removed.
- (From_Dim_To_Str_Of_Dim_Symbols): Renames previous
- routine From_Dimension_To_String_Of_Symbols.
- (From_Dim_To_Str_Of_Unit_Symbols): New routine.
- (Analyze_Aspect_Dimension): argument Symbol in aspect
- Dimension aggregate is optional. Named association implemented.
- (Has_Compile_Time_Known_Expressions): Removed.
- (Analyze_Aspect_Dimension_System): New
- component Dim_Symbol in each Dimension aggregate in
- aspect Dimension_System. Named associations implemented.
- (Add_Dimension_Vector_To_Buffer): Removed.
- (Add_Whole_To_Buffer): Removed.
- (Expand_Put_Call_With_Dimension_Symbol.): Removed.
- (Expand_Put_Call_With_Symbol): Renames previous routine
- Expand_Put_Call_With_Dimension_Symbol.
- (Has_Dimension_Symbols): Removed.
- (Has_Symbols): Renames previous routine
- Has_Dimension_Symbols. (Store_String_Oexpon): New routine.
- * sem_dim.ads (Expand_Put_Call_With_Dimension_Symbol.): Removed.
- (Expand_Put_Call_With_Symbol): Renames previous routine
- Expand_Put_Call_With_Dimension_Symbol.
- * s-diflio.adb, s-diinio.adb (Put): Symbol renames Symbols.
- (Put_Dim_Of): New routines.
- * s-diflio.ads, s-diinio.ads: documentation updated.
- (Put): Symbol renames Symbols.
- (Put_Dim_Of): New routines.
- * s-dim.ads: documentation updated.
- * s-dimmks.ads: dimensioned type and subtypes updated.
- * snames.ads-tmpl: Name_Dim_Symbol, Name_Put_Dim_Of, Name_Symbol,
- and Name_Unit_Symbol added. Name_Symbols removed.
-
-2012-06-14 Vincent Pucci <pucci@adacore.com>
-
- * freeze.adb (In_Exp_Body): Expression function case added.
- (Freeze_Expression): Insert the Freeze_Nodes
- list before the correct current scope in case of a quantified
- expression.
-
-2012-06-14 Pascal Obry <obry@adacore.com>
-
- * projects.texi: Document the Install package for gprinstall.
-2012-06-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_elim.adb (Check_For_Eliminated_Subprogram): Do not check within
- a default expression.
- * sem_res.adb (Resolve_Call): simplify code.
-
-2012-06-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_case.adb (Check, Issue_Msg): within an instance, non-other
- values in a variant part or a case expression do not have to
- belong to the actual subtype.
-
-2012-06-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Validate_Derived_Type_Instance): If parent is
- an interface type, check whether it is itself a previous formal
- already instantiated in the current list of actuals.
-
-2012-06-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): The
- expression for a stream attribute is a name that may be overloaded
- with other declarations. To determine whether it matches the
- aspect at the freeze point, it is necessary to verify that one
- of its interpretations matches.
-
-2012-06-14 Robert Dewar <dewar@adacore.com>
-
- * exp_ch7.adb, exp_util.adb, sem_aux.ads, exp_ch9.adb,
- sem_ch10.adb, freeze.adb, sem_util.adb, exp_ch4.adb,
- s-taprop-dummy.adb: Minor reformatting.
-
-2012-06-14 Vincent Pucci <pucci@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference): Lock_Free
- attribute case added.
- * par-prag.adb (Prag): Lock_Free pragma case added.
- * sem_attr.adb (Analyze_Attribute_Reference): Lock_Free attribute
- case added.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Record_Rep_Item
- call added for Aspect_Lock_Free.
- * sem_ch9.adb (Allows_Lock_Free_Implementation): New Lock_Free
- error messages for subprogram bodies.
- (Lock_Free_Disabled): New routine.
- (Analyze_Protected_Body): Call to Lock_Free_Disabled added.
- * sem_prag.adb (Analyze_Pragma): Lock_Free pragma case added.
- * snames.adb-tmpl (Get_Pragma_Id): Name_Lock_Free case added.
- (Is_Pragma_Name): Name_Lock_Free case added.
- * snames.ads-tmpl: Attribute_Lock_Free and Pragma_Lock_Free added.
-
-2012-06-14 Ed Schonberg <schonberg@adacore.com>
-
- * a-coorma.adb, a-cborma.adb, a-cbhama.adb, a-ciorma.adb: Add missing
- aliased keyword.
-
-2012-06-14 Bob Duff <duff@adacore.com>
-
- * lib.ads, lib.adb, sem.adb (Write_Unit_Info): Move this
- procedure from Sem body to Lib spec, so it can be used for
- debugging elsewhere.
-
-2012-06-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Check_Conformance): Add Ada 2012 check on mode
- conformance: "aliased" must apply to both or neither formal
- parameters.
-
-2012-06-14 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch9.adb: Minor reformatting.
-
-2012-06-14 Thomas Quinot <quinot@adacore.com>
-
- * freeze.adb (Freeze_Record_Type): Warn about useless bit order
- specification [when there's no component clause] regardless
- of whether the specified bit order is reversed or not.
-
-2012-06-14 Tristan Gingold <gingold@adacore.com>
-
- * raise-gcc.c (__gnat_personality_seh0): New function.
-
-2012-06-14 Tristan Gingold <gingold@adacore.com>
-
- * gnatname.adb (Gnatname): Make sure that dynamic table
- argument_data is initialized.
-
-2012-06-14 Robert Dewar <dewar@adacore.com>
-
- * sem_aux.adb: Minor code reorganization.
-
-2012-06-14 Vincent Pucci <pucci@adacore.com>
-
- * einfo.adb einfo.ads (Get_Rep_Item): Removed.
- (Get_Rep_Item_For_Entity): Removed.
- (Get_Rep_Pragma): Removed.
- (Get_Rep_Pragma_For_Entity): Removed.
- (Has_Rep_Item): Removed.
- (Has_Rep_Pragma): Removed.
- (Has_Rep_Pragma_For_Entity): Removed.
- * exp_ch9.adb (Expand_N_Task_Type_Declaration):
- Has_Rep_Pragma_For_Entity replaced by Has_Rep_Pragma
- and Get_Rep_Pragma_For_Entity replaced by Get_Rep_Pragma.
- (Make_Task_Create_Call): Has_Rep_Pragma_For_Entity replaced
- by Has_Rep_Pragma and Get_Rep_Pragma_For_Entity replaced by
- Get_Rep_Pragma.
- * exp_intr.adb: Dependency to Sem_Aux added for call to Get_Rep_Pragma.
- * sem_aux.adb (Get_Rep_Item): New routine.
- (Get_Rep_Pragma): New routine.
- (Has_Rep_Item): New routine.
- (Has_Rep_Pragma): New routine.
- (Nearest_Ancestor): Minor reformatting.
- * sem_aux.ads (Get_Rep_Item): New routine.
- (Get_Rep_Pragma): New routine.
- (Has_Rep_Item): New routine.
- (Has_Rep_Pragma): New routine.
- * sem_ch13.adb (Duplicate_Clause): Restore original error messages.
- * sem_eval.adb (Subtypes_Statically_Match): Get_Rep_Item_For_Entity
- replaced by Get_Rep_Item.
- * sem_prag.adb (Analyze_Pragma): Restore original error messages.
- (Check_Duplicate_Pragma): Restore original error messages.
-
-2012-06-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Is_Object_Reference): in Ada 2012, qualified
- expressions are valid names.
-
-2012-06-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Analyze_Compilation_Unit): If the unit is an
- instantiation do not emit warnings for obsolescent units. The
- warnings belong on the corresponding generic.
-
-2012-06-14 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.adb: Update the usage of Node15.
- (Return_Flag_Or_Transient_Decl): Removed.
- (Set_Return_Flag_Or_Transient_Decl): Removed.
- (Set_Status_Flag_Or_Transient_Decl): New routine.
- (Status_Flag_Or_Transient_Decl): New routine.
- (Write_Field15_Name): Update the output for variables and constants.
- * einfo.ads: Remove attribute
- Return_Flag_Or_Transient_Decl along with occurrences in nodes.
- (Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
- (Set_Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
- (Set_Status_Flag_Or_Transient_Decl): New routine along with pragma
- Inline.
- (Status_Flag_Or_Transient_Decl): New routine along with pragma Inline.
- * exp_ch4.adb (Create_Alternative): New routine.
- (Expand_N_Conditional_Expression): Handle the case
- where at least one of the conditional expression
- alternatives prodices a controlled temporary by means of a function
- call.
- (Is_Controlled_Function_Call): New routine.
- (Process_Transient_Object): Update the call to
- Set_Return_Flag_Or_Transient_Decl.
- * exp_ch6.adb (Enclosing_Context): New routine.
- (Expand_N_Extended_Return_Statement): Update all calls to
- Set_Return_Flag_Or_Transient_Decl.
- (Expand_Ctrl_Function_Call): Prohibit the finalization of a controlled
- function result when the context is a conditional expression.
- * exp_ch7.adb (Process_Declarations): Update all calls to
- Return_Flag_Or_Transient_Decl. Add processing for intermediate
- results of conditional expressions where one of the alternatives
- uses a controlled function call.
- (Process_Object_Declaration): Update all calls to
- Return_Flag_Or_Transient_Decl and rearrange the logic to process
- "hook" objects first.
- (Process_Transient_Objects): Update the call to
- Set_Return_Flag_Or_Transient_Decl.
- * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean,
- Boolean)): Update all calls to Return_Flag_Or_Transient_Decl. Add
- detection for intermediate results of conditional expressions
- where one of the alternatives uses a controlled function call.
-
-2012-06-13 Eric Botcazou <ebotcazou@adacore.com>
-
- Revert
- 2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
- (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
- calling convention
- (get_minimal_subprog_decl): Likewise.
- (gnat_first_param_is_class): New predicate.
-
-2012-06-12 Robert Dewar <dewar@adacore.com>
-
- * gcc-interface/Make-lang.in: Update dependencies.
- * sem_ch9.ads, einfo.adb, einfo.ads, sem_prag.adb, freeze.adb,
- sem_util.adb, sem_ch13.adb, sem_ch13.ads, exp_ch3.adb: Add comments.
- Minor reformatting.
-
-2012-06-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Instantiate_Formal_Subprogram): Remove code that
- implements AI05-0296, because the actual may be overloaded.
- * sem_ch8.adb (Analyze_Subprogram_Renaming): and move it here,
- to be applied once the actual subprogram is properly resolved.
-
-2012-06-12 Robert Dewar <dewar@adacore.com>
-
- * switch-c.adb, a-exexpr-gcc.adb: Minor reformatting.
-
-2012-06-12 Vincent Pucci <pucci@adacore.com>
-
- * checks.adb (Tag_Checks_Suppressed): Remove Kill_Tag_Checks check.
- * einfo.adb (Universal_Aliasing): Apply to the implementation
- base type instead of the base type.
- (Get_Rep_Item_For_Entity):
- Return a pragma if the pragma node is not present in the Rep
- Item chain of the parent.
- (Kill_Tag_Checks): Removed (unused flag).
- (Set_Kill_Tag_Checks): Removed.
- (Get_First_Rep_Item): New routine.
- (Get_Rep_Pragma_For_Entity): New routine.
- (Has_Rep_Item): New routine.
- (Has_Rep_Pragma_For_Entity): New routine.
- (Present_In_Rep_Item): New routine.
- * einfo.ads (Kill_Tag_Checks): Removed.
- (Set_Kill_Tag_Checks): Removed.
- (Get_First_Rep_Item): New routine.
- (Get_Rep_Pragma_For_Entity): New routine.
- (Has_Rep_Item): New routine.
- (Has_Rep_Pragma_For_Entity): New routine.
- (Present_In_Rep_Item): New routine.
- * exp_attr.adb, sem_attr.adb: Attribute_CPU,
- Attribute_Dispatching_Domain and Attribute_Interrupt_Priority
- case added.
- * exp_ch13.adb (Expand_N_Attribute_Definition_Clause): For
- attribute Storage_Size, insert the new assignement statement
- after the Size variable declaration.
- * exp_ch3.adb (Build_Init_Statements): Fill the CPU,
- Dispatching_Domain, Priority and Size components with the Rep
- Item expression (if any).
- * exp_ch9.adb (Expand_N_Task_Type_Declaration): _CPU,
- _Priority, _Domain fields are always present in the
- corresponding record type.
- (Find_Task_Or_Protected_Pragma): Removed.
- (Get_Relative_Deadline_Pragma): New routine.
- (Make_Initialize_Protection): Find_Task_Or_Protected_Pragma removed.
- (Make_Task_Create_Call): Check CPU, Size or
- Dispatching_Domain Rep Item is present using new routine Has_Rep_Item.
- * freeze.adb (Freeze_All): Push_Scope_And_Install_Discriminants
- and Uninstall_Discriminants_And_Pop_Scope calls added.
- (Freeze_Entity): Evaluate_Aspects_At_Freeze_Point call added.
- * sem_aux.adb (Nearest_Ancestor): Retrieve the nearest ancestor
- for private derived types.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Clean-up
- and reordering. Delay analysis for all aspects (except some
- peculiar cases).
- (Analyze_Attribute_Definition_Clause):
- Attribute_CPU, Attribute_Dispatching_Domain,
- Interrupt_Priority and Attribute_Priority cases added.
- (Analyze_Freeze_Entity): Push_Scope_And_Install_Discriminants
- and Uninstall_Discriminants_And_Pop_Scope calls added.
- (Check_Aspect_At_Freeze_Point): Reordering and clean-up.
- (Duplicate_Clause): Issue an explicit error msg when the current
- clause duplicates an aspect specification, an attribute definition
- clause or a pragma.
- (Evaluate_Aspects_At_Freeze_Point): New routine.
- * sem_ch13.ads (Evaluate_Aspects_At_Freeze_Point): New routine.
- * sem_ch9.adb, sem_ch9.ads (Install_Discriminants): New routine.
- (Push_Scope_And_Install_Discriminants): New routine.
- (Uninstall_Discriminants): New routine.
- (Uninstall_Discriminants_And_Pop_Scope): New routine.
- * sem_prag.adb (Check_Duplicate_Pragma): Issue an explicit error
- msg when the current pragma duplicates an aspect specification,
- an attribute definition clause or a pragma.
- (Analyze_Pragma): Remove use of flags Has_Pragma_CPU,
- Has_Pragma_Priority and Has_Pragma_Dispatching_Domain.
- * sem_util.adb (Compile_Time_Constraint_Error): Don't complain
- about the type if the corresponding concurrent type doesn't come
- from source.
- * sinfo.adb, sinfo.ads (Has_Pragma_CPU): Removed.
- (Has_Pragma_Dispatching_Domain): Removed.
- (Has_Pragma_Priority): Removed.
- (Has_Task_Info_Pragma): Removed.
- (Has_Task_Name_Pragma): Removed.
- (Set_Has_Pragma_CPU): Removed.
- (Set_Has_Pragma_Dispatching_Domain): Removed.
- (Set_Has_Pragma_Priority): Removed.
- (Set_Has_Task_Info_Pragma): Removed.
- (Set_Has_Task_Name_Pragma): Removed.
- * snames.adb-tmpl (Get_Pragma_Id): Pragma_CPU,
- Pragma_Dispatching_Domain and Pragma_Interrupt_Priority added.
- (Is_Pragma_Name): Name_CPU, Name_Dispatching_Domain and
- Name_Interrupt_Priority added.
- * snames.ads-tmpl: Name_Dispatching_Domain, Name_CPU
- and Name_Interrupt_Priority moved to the list of
- Attribute_Name. Attribute_CPU, Attribute_Dispatching_Domain and
- Attribute_Interrupt_Priority added. Pragma_Dispatching_Domain,
- Pragma_CPU and Pragma_Interrupt_Priority moved to the end of
- the Pragma_Name list.
-
-2012-06-12 Arnaud Charlet <charlet@adacore.com>
-
- * xref_lib.adb (Get_Full_Type): Add support for 'G'.
-
-2012-06-12 Tristan Gingold <gingold@adacore.com>
-
- * a-exexpr-gcc.adb (Unwind_Exception): Add 4 more private fields.
-
-2012-06-12 Fedor Rybin <frybin@adacore.com>
-
- * gnat_ugn.texi: Update doc on gnattest.
-
-2012-06-12 Robert Dewar <dewar@adacore.com>
-
- * sem_ch12.adb: Add comments.
-
-2012-06-12 Robert Dewar <dewar@adacore.com>
-
- * switch-c.adb, inline.adb, usage.adb, opt.ads: Minor reformatting.
-
-2012-06-12 Robert Dewar <dewar@adacore.com>
-
- * sem_ch12.adb: Minor reformatting.
-
-2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * opt.ads (Inline_Level): New variable.
- * gnat1drv.adb (Adjust_Global_Switches): Set it based on optimization
- level if it has not been set by the user.
- * switch-c.adb (Scan_Front_End_Switches): Accept -gnatn1 and -gnatn2
- and set Inline_Level accordingly.
- * inline.adb (Add_Inlined_Body): Declate new Inline_Level_Type type.
- (Must_Inline): Return Inline_Level_T instead of Boolean to indicate
- whether the package of the inlined subprogram must be compiled.
- If Inline_Level is set to 1, only compile packages of subprograms
- directly called from the main unit.
- * usage.adb (Usage): Adjust line for -gnatn switch.
- * gnat_ugn.texi (Switches for gcc): Document -gnatn1 and -gnatn2.
-
-2012-06-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Instantiate_Formal_Subprogram): Do not apply
- AI05-296 if the actual is overloaded. In this case The rule must
- be applied after resolution, in Analyze_Subprogram_Renaming.
-
-2012-06-12 Robert Dewar <dewar@adacore.com>
-
- * stringt.adb: Minor reformatting.
-
-2012-06-12 Robert Dewar <dewar@adacore.com>
-
- * ali-util.adb, stringt.ads: Minor reformatting.
-
-2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Process_Declarations): Handle the case where
- the original context has been wrapped in a block to avoid
- interference between exception handlers and At_End handlers.
- (Wrap_HSS_In_Block): Mark the block which contains the original
- statements of the context as being a finalization wrapper.
- * sinfo.adb (Is_Finalization_Wrapper): New routine.
- (Set_Is_Finalization_Wrapper): New routine.
-
- * sinfo.ads: Add new attribute Is_Finalization_Wrapper applicable
- to block statemnts.
- (Is_Finalization_Wrapper): New routine with corresponding pragma Inline.
- (Set_Is_Finalization_Wrapper): New routine with corresponding pragma
- Inline.
-
-2012-06-12 Steve Baird <baird@adacore.com>
-
- * gnat1drv.adb (Adjust_Global_Switches): No longer need to set
- Exception_Extra_Info in CodePeer_Mode.
-
-2012-06-12 Robert Dewar <dewar@adacore.com>
-
- * sem_dist.adb, exp_ch7.adb, sem_type.adb, exp_attr.adb,
- sinfo.ads, sem_ch7.adb, exp_alfa.adb, sem_scil.adb, sem_ch12.adb,
- sem_util.adb, sem_res.adb, sem_attr.adb, sem_elab.adb, exp_ch6.adb,
- sem_ch4.adb, sem_warn.adb, scil_ll.adb, exp_cg.adb: Minor code
- reorganization.
-
-2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * s-tasini.ads: Minor fix in comment.
-
-2012-06-12 Thomas Quinot <quinot@adacore.com>
-
- * freeze.adb (Freeze_Record_Type): Warn on record with
- Scalar_Storage_Order if there is no placed component.
-
-2012-06-12 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch3.adb: Minor comment fix.
-
-2012-06-12 Vincent Celier <celier@adacore.com>
-
- * ali-util.adb (Time_Stamp_Mismatch): In minimal recompilation
- mode, use Stringt Mark and Release to avoid growing the Stringt
- internal tables uselessly.
- * stringt.adb (Strings_Last): New global variable
- (String_Chars_Last): New global variable.
- (Mark, Release): New procedures.
- * stringt.ads (Mark, Release) New procedures.
-
-2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Process_Transient_Objects): Renamed constant
- Requires_Hooking to Must_Hook and replace all occurrences of the name.
- (Requires_Hooking): New routine. Detect all contexts that require
- transient variable export to the outer finalizer due to a potential
- exception.
-
-2012-06-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb: Small adjustment.
-
-2012-06-12 Vincent Celier <celier@adacore.com>
-
- * vms_cmds.ads (Command_Type): New enumeration value Test
- * vms_conv.adb (Initialize): Add component at index Test in
- Command_List
- * vms_data.ads (Test_Switches): New global variable for the
- switches of gnattest, currently empty.
-
-2012-06-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Analyze_Subtype_Declaration): if an incomplete
- type is tagged, so is a subtype of it.
- * sem_ch12.adb (Validate_Actual_Subprogram): implement AI05-0296,
- concerning freeze rules in the presence of formal incomplete
- types: a formal abstract subprogram cannot have an incomplete
- controlling type, and the profile of the actual subprogram does
- not freeze if it includes an incomplete untagged type.
-
-2012-06-12 Robert Dewar <dewar@adacore.com>
-
- * a-direct.adb: Minor reformatting.
-
-2012-06-12 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Add missing documentation for -gnatw.v and
- -gnatw.V.
-
-2012-06-12 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch7.adb, sem_prag.adb, sem_ch12.adb, sem_ch4.adb,
- sem_ch13.adb: Minor rewording of error messages for unchecked unions.
-
-2012-06-12 Robert Dewar <dewar@adacore.com>
-
- * lib-xref.ads: Minor reformatting.
-
-2012-06-12 Pascal Obry <obry@adacore.com>
-
- * a-direct.adb (Delete_File): Delete symbolic links silently
- instead of raising the Name_Error exception when the symbolic
- link is pointing to a non existent file.
-
-2012-06-12 Robert Dewar <dewar@adacore.com>
-
- * xref_lib.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.
-
-2012-06-12 Javier Miranda <miranda@adacore.com>
-
- * lib-xref.ads Adding missing documentation.
-
-2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Create_Finalizer): Add the
- exception reraise mechanism at the very end of the finalizer
- statements. This placement ensures that all objects are finalized,
- the secondary stack mark released and aborts undeferred before
- propagating an exception.
-
-2012-06-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Remove_Unit_From_Visibility): if the unit is a
- wrapper package. remove from visibility the original subprogram
- instance.
-
-2012-06-12 Javier Miranda <miranda@adacore.com>
-
- * sem_prag.adb (Process_Convention): Generate reference to entity
- exported to foreign language. Needed for GPS navigation.
- * xref_lib.adb (Parse_Identifier_Info): Parse exported entities.
- * lib-xref (Output_References): Output exported entities.
-
-2012-06-12 Pascal Obry <obry@adacore.com>
-
- * prj-attr.adb: Add install package and corresponding attributes.
- * snames.ads-tmpl (Name_Active): New constant.
- (Name_Exec_Subdir): Likewise.
- (Name_Install): Likewise.
- (Name_Lib_Subdir): Likewise.
- (Name_Project_Subdir): Likewise.
- (Name_Sources_Subdir): Likewise.
-
-2012-06-12 Bob Duff <duff@adacore.com>
-
- * sem_res.adb (Check_Infinite_Recursion):
- Suppress spurious warning on recursion after "raise with ...".
-
-2012-06-12 Thomas Quinot <quinot@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Do
- not crash on illegal unchecked union that is a null record.
-
-2012-06-12 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch4.adb (Has_Inferable_Discriminants): Reorganize code to
- treat implicit dereferences with a constrained unchecked union
- nominal subtype as having inferable discriminants.
-
-2012-06-12 Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.adb: Minor reformatting.
-
-2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat_ugn.texi: Couple of minor corrections.
-
-2012-06-12 Thomas Quinot <quinot@adacore.com>
-
- * sem_prag.adb (Check_Variant): An empty component list is not
- illegal in an unchecked union variant.
-
-2012-06-12 Gary Dismukes <dismukes@adacore.com>
-
- * projects.texi: Remove comments.
-
-2012-06-12 Thomas Quinot <quinot@adacore.com>
-
- * back_end.adb (Scan_Back_End_Switches): Treat -fdump-scos as
- synonym of -gnateS.
- (gnat_post_options): Disable gimple-based SCO generator.
- * gnat_ugn.texi: Document that -gnateS is an obsolete synonym
- of -fdump-scos.
-
-2012-06-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Different_Generic_Profile): new predicate for
- Find_Corresponding_Spec, to handle a rare case of accidental
- overloading in an instance, when the profile of a subprogram body
- that depends on a formal type becomes compatible with that of
- a homonym whose profile in the generic mentions the actual type.
-
-2012-06-12 Thomas Quinot <quinot@adacore.com>
-
- * gnat1drv.adb: Minor reformatting.
-
-2012-06-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Build_Explicit_Dereference): If the expression
- is an entity, ensure that the type of the expression is the same
- as that of the entity.
-
-2012-06-12 Pat Rogers <rogers@adacore.com>
-
- * projects.texi: Corrected instances of the word "build" that
- should be "built" instead. Other similar changes and minor
- punctuation changes.
-
-2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_util.adb (Is_Atomic_Object): Return true for an atomic
- component as well as a prefix which is an atomic component.
-
-2012-06-12 Ed Schonberg <schonberg@adacore.com>
-
- * exp_prag.adb (Expand_Pragma_Import_Or_Interface): revert previous
- patch. The processing of interfacing aspects now generates a
- proper Ada 2005 pragma.
- * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
- Pragma_Import): revert previous patch. The processing of
- interfacing aspects now generates a proper Ada 2005 pragma.
- * sem_ch13.adb (Analyze_Aspect_Specifications): generate proper
- pragam for aspects Convention, Import and Export. Scan list
- of aspects to collect link name and external name if present,
- and verify that a complete pragma can be generated.
-
-2012-06-11 Olivier Hainque <hainque@adacore.com>
-
- * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Remove
- $(PIC_FLAG_FOR_TARGET).
- (gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to
- GNATLIBCFLAGS_FOR_C passed to gnatlib.
- (gnatlib-shared-win32): Likewise.
- (gnatlib-shared-darwin): Likewise.
- (gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to
- gnatlib-shared-win32.
-
-2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Convert GNU_SIZE
- to units before invoking allocatable_size_p on it.
- Remove orphaned comment. Do not use ssize_int.
- <E_Record_Subtype>: Traverse list in original order. Minor tweak.
- (allocatable_size_p): Adjust and simplify.
- (build_subst_list): Use consistent terminology throughout.
- (build_variant_list): Likewise. Traverse list in original order.
- (create_field_decl_from): Likewise.
- (copy_and_substitute_in_size): Likewise.
- (create_variant_part_from): Add comment about field list order.
- * gcc-interface/utils.c (build_vms_descriptor): Do not use ssize_int.
- * gcc-interface/utils2.c (build_allocator): Likewise.
-
-2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Identifier_to_gnu): Test Is_Elementary_Type
- instead of Is_Scalar_Type for a constant with an address clause.
- Do not return the underlying constant for a constant used by reference
- if it holds the address of a constant and an lvalue is required.
-
-2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity): Do not specifically deal
- with external constants wrt force_global here...
- <E_Constant>: ...but here instead.
- * gcc-interface/utils.c (gnat_pushdecl): Do not put external DECLs onto
- the list of global DECLs.
-
-2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity): Translate the Esize on
- entry only for elementary types and abort if it is too large.
- <E_Record_Type>: Make sure the Esize is known before using it.
-
-2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
-
- * gcc-interface/utils2.c: Do not include output.h.
- * gcc-interface/Make-lang.in: Fix dependencies.
-
-2012-05-29 Michael Matz <matz@suse.de>
-
- * gcc-interface/utils.c (create_var_decl_1): Don't call expand_decl.
-
-2012-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.
- (build_variant_list): Adjust to above renaming.
- (gnat_to_gnu_entity) <E_Record_Subtype>: Likewise. Give a unique name
- to the type of the variant containers.
- (create_variant_part_from): Likewise. Give a unique name to the type
- of the variant part.
-
-2012-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/52362
- * link.c (__gnat_object_file_option): Set to "-Wl,@" for GNU linker.
- (__gnat_using_gnu_linker): Delete.
- * gnatlink.adb (Gnatlink): Declare Object_File_Option_Ptr here...
- Declare Object_File_Option string constant and Using_GNU_response_file
- boolean constant.
- (Process_Binder_File): ...instead of here. Delete Using_GNU_Linker,
- Opening and Closing local variables. Do not handle the GNU linker
- specially.
- (Write_RF): New procedure to write into the response file. Escape some
- characters if a GNU response file is used. Keep track of error status.
- Invoke Write_RF to write into the response file. Delete the file only
- if the link was successful.
- * mlib-utl.adb: Do not `with' package System.
- (Gcc): Likewise. Declare Object_File_Option string constant and
- Using_GNU_response_file boolean constant.
- (Write_RF): Take a string instead of address and length. Escape some
- characters if a GNU response file is used.
- Invoke Write_RF to write into the response file. Delete the file only
- if the link was successful. Do not warn if it cannot be deleted.
-
-2012-05-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (gnat_write_global_declarations): Put a name
- on the dummy global variable.
-
-2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
- (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
- calling convention
- (get_minimal_subprog_decl): Likewise.
- (gnat_first_param_is_class): New predicate.
-
- * gcc-interface/misc.c (gnat_handle_option): Fix formatting.
- * gcc-interface/Makefile.in: Likewise.
-
-2012-05-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an object at
- global level with unconstrained nominal subtype and a non-fixed size,
- make a variable for the size.
-
-2012-05-15 Andris Pavenis <andris.pavenis@iki.fi>
-
- PR ada/52494
- * s-taprop-dummy.adb (Specific): New package.
-
-2012-05-15 Olivier Hainque <hainque@adacore.com>
-
- * gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS
- instead of trying to mimic it.
-
-2012-05-15 Robert Dewar <dewar@adacore.com>
-
- * sem_ch5.adb, sem_util.adb, s-stposu.adb, exp_ch4.adb: Minor
- reformatting.
-
-2012-05-15 Geert Bosch <bosch@adacore.com>
-
- * uintp.adb (UI_Rem): Remove optimizations, as they are complex and are
- not needed.
- (Sum_Digits): Remove, no longer used.
- (Sum_Double_Digits): Likewise.
-
-2012-05-15 Yannick Moy <moy@adacore.com>
-
- * aspects.ads: Minor typo.
-
-2012-05-15 Thomas Quinot <quinot@adacore.com>
-
- * gnat_rm.texi (Scalar_Storage_Order): Fix RM reference.
- * sem_ch13.adb: Minor comment fix: incorrect RM reference.
-
-2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate
- atomicity from an object to its underlying type only if it
- is composite.
-
-2012-05-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Iterator_Specification): Set kind of
- loop variable after pre-analysis of iterator name, to prevent
- premature usage of loop variable.
-
-2012-05-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Is_Variable): In Ada 2012, an explicit
- dereference that is a rewriting of an expression whose type has
- a declared Implicit_Derenference aspect is a variable.
-
-2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb (Insert_Dereference_Action): Reimplemented. The
- routine performs address and size adjustments for dereferences
- of heap-allocated controlled objects. This manipulation is needed
- in order to restore the original state of the memory at the time
- it was allocated by the finalization machinery.
- * rtsfind.ads: Add RE_Adjust_Controlled_Dereference to tables
- RE_Id and RE_Unit_Table.
- * sinfo.adb (Has_Dereference_Action): New routine.
- (Set_Has_Dereference_Action): New routine.
- * sinfo.ads: Add new semantic flag Has_Dereference_Action along
- its association in nodes.
- (Has_Dereference_Action): New routine and pragma Inline.
- (Set_Has_Dereference_Action): New routine and pragma Inline.
- * s-stposu.ads, s-stposu.adb (Adjust_Controlled_Dereference): New
- routine.
-
-2012-05-15 Thomas Quinot <quinot@adacore.com>
-
- * uintp.adb (Image_Uint): Use UI_Div_Rem to get quotient and
- remainder of U / Base in a single operation.
-
-2012-05-15 Robert Dewar <dewar@adacore.com>
-
- * exp_ch5.adb, inline.adb, sem_ch10.adb, prj.ads, sem_util.adb,
- a-ngelfu.ads, exp_ch4.adb, exp_ch6.adb, aspects.ads, sem_ch6.adb,
- vms_data.ads, exp_ch3.adb, prj-env.adb: Minor reformatting.
-
-2012-05-15 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch4.adb (Has_Inferable_Discriminants): For a qualified
- expression, use correct node for test on the subtype denoted by
- the subtype mark.
-
-2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * inline.adb (Scope_In_Main_Unit): Rename into...
- (In_Main_Unit_Or_Subunit): ...this. Also return
- true if the subprogram is within a subunit of the
- main unit.
- (Add_Inlined_Body): Adjust for above renaming.
- (Add_Inlined_Subprogram): Likewise. Pass the subprogram directly.
- (Analyze_Inlined_Bodies): Really set aside inlined subprograms
- not handled by Add_Inlined_Body.
-
-2012-05-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Expand_With_Clause): In the context of a generic
- package declaration, a private with-clause on a child unit implies
- that the implicit with clauses on its parents are private as well.
-
-2012-05-15 Javier Miranda <miranda@adacore.com>
-
- * sem_ch6.adb (Is_Interface_Conformant): Add missing call to
- Base_Type to handle subtypes.
- * exp_ch6.adb (Expand_Call): For calls located in thunks handle
- unchecked conversions of access types found in actuals.
- * exp_disp.adb (Expand_Interface_Thunk): Add missing unchecked
- conversion to actuals whose type is an access type. Done to
- avoid reporting spurious errors.
-
-2012-05-15 Vincent Celier <celier@adacore.com>
-
- * prj-env.adb (Create_Mapping): Ignore sources that are
- suppressed (Create_Mapping_File.Process): Ditto
- * prj-nmsc.adb (Add_Source): Update to take into
- account suppressed files that may hide inherited sources.
- (Mark_Excluded_Sources): Mark excluded sources of the current
- project as suppressed.
- * prj.ads (Source_Data): New Boolean component Suppressed,
- defaulted to False
-
-2012-05-15 Thomas Quinot <quinot@adacore.com>
-
- * exp_intr.adb: Minor reformatting.
-
-2012-05-15 Thomas Quinot <quinot@adacore.com>
-
- * gnat_rm.texi: Document attribute Scalar_Storage_Order.
-
-2012-05-15 Javier Miranda <miranda@adacore.com>
-
- * exp_ch3.adb (Build_Offset_To_Top): Modify the
- expansion of the offset_to_top functions to ensure that their
- profile is conformant with the profile specified in Ada.Tags. No
- change in functionality.
-
-2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * inline.adb (Subp_Info): Remove Count and Next_Nopred
- components, add Processed component and move around Next component.
- (Add_Call): Reverse meaning of Successors table to the natural one.
- (Add_Inlined_Body): Do not inline a package if it is in the main unit.
- (Add_Inlined_Subprogram): Do not add the subprogram to the list if the
- package is in the main unit. Do not recurse on the successors.
- (Add_Subp): Adjust to new contents of Subp_Info.
- (Analyze_Inlined_Bodies): Do not attempt
- to compute a topological order on the list of inlined subprograms,
- but compute the transitive closure from the main unit instead.
- (Get_Code_Unit_Entity): Always return the spec for a package.
-
-2012-05-15 Yannick Moy <moy@adacore.com>
-
- * aspects.ads: Minor addition of comments to provide info on
- how to add new aspects.
-
-2012-05-15 Thomas Quinot <quinot@adacore.com>
-
- * osint.ads: Minor reformatting.
-
-2012-05-15 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch5.adb, exp_pakd.adb, sem_util.adb, sem_util.ads
- (Expand_Assign_Array): Handle the case of a packed bit array within a
- record with reverse storage order (assign element by element in that
- case).
- (In_Reverse_Storage_Order_Record): New subprogram,
- code extracted from Exp_Pakd.
-
-2012-05-15 Yannick Moy <moy@adacore.com>
-
- * a-ngelfu.ads: Add postconditions using Ada 2012
- aspect syntax, reflecting some of the RM requirements for these
- functions, from Annex A.5.1 or G.2.4.
-
-2012-05-15 Thomas Quinot <quinot@adacore.com>
-
- * adaint.c: Minor fix: move misplaced comment.
-
-2012-05-15 Doug Rupp <rupp@adacore.com>
-
- * vms_data.ads: Enhance help for /IMMEDIATE_ERRORS to discourage
- use by customers.
-
-2012-05-15 Tristan Gingold <gingold@adacore.com>
-
- * a-exextr.adb: Add comment.
-
-2012-05-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb: Minor reformatting (remove long dead code).
-
-2012-05-15 Ed Schonberg <schonberg@adacore.com>
-
- * aspects.adb, aspects.ads: Add aspects for Convention, Export,
- External_Name, Import, and Link_Name.
- * exp_prag.adb (Expand_Pragma_Import_Or_Interface): if the
- pragma comes from an aspect specification, the entity is the
- first argument.
- * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
- Pragma_Import): if the pragma comes from an aspect specification,
- the entity is the first argument, and the second has the value
- True by default.
- * sem_ch13.adb (Analyze_Aspect_Specifications): generate pragam
- for aspect Convention. Add placeholders for Link_Name and
- External_Name.
-
-2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch9.adb (Expand_N_Asynchronous_Select): Extract the statements
- of the abortable part and triggering alternative after being processed
- for controlled objects.
- (Expand_N_Timed_Entry_Call): Code and comment reformatting.
-
-2012-05-15 Robert Dewar <dewar@adacore.com>
-
- * sem_util.adb: Minor code reorganization.
-
-2012-05-15 Robert Dewar <dewar@adacore.com>
-
- * exp_ch7.adb, exp_ch11.adb, exp_ch11.ads: Minor reformatting.
-
-2012-05-15 Thomas Quinot <quinot@adacore.com>
-
- * sem_res.adb (Resolve): Enforce E.2.2(11/2) and E.2.2(12) for
- 'Unrestricted_Access and 'Unchecked_Access (not just 'Access):
- even in those cases, a remote access type may only designate a
- remote subprogram.
-
-2012-05-15 Thomas Quinot <quinot@adacore.com>
-
- * sem_util.adb, sem_util.ads, sem_cat.adb: Minor refactoring.
- (Enclosing_Lib_Unit_Node): Rename to Enclosing_Comp_Unit_Node.
-
-2012-05-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove obsolete
- checks on nested inlined subprograms.
-
-2012-05-15 Tristan Gingold <gingold@adacore.com>
-
- * fe.h (Get_RT_Exception_Name): Declare.
-
-2012-05-15 Tristan Gingold <gingold@adacore.com>
-
- * raise-gcc.c (db_region_for): Use %p + cast to avoid warnings.
- (get_region_description_for): Likewise.
- (db_action_for): Likewise.
- (get_call_site_action_for): Likewise.
- (get_ttype_entry_for): Remove useless 'const'.
- (PERSONALITY_FUNCTION): Add ATTRIBUTE_UNUSED on uw_exception_class.
-
-2012-05-15 Tristan Gingold <gingold@adacore.com>
-
- * a-exextr.adb (Unhandled_Exception_Terminate): Save occurrence
- on the stack to avoid a dynamic memory allocation.
-
-2012-05-15 Bob Duff <duff@adacore.com>
-
- * exp_ch9.adb (Expand_N_Timed_Entry_Call): Move initialization of
- E_Stats and D_Stats after Process_Statements_For_Controlled_Objects,
- because those calls can destroy the Statements list.
-
-2012-05-15 Tristan Gingold <gingold@adacore.com>
-
- * fe.h (Get_RT_Exception_Name): Define.
- * types.ads (RT_Exception_Code): Update comment.
- * exp_ch11.adb, exp_ch11.ads (Get_RT_Exception_Name): New
- procedure to get the name of the rcheck subprograms.
- * a-except-2005.adb (Rcheck_xx): Rename.
- * a-except.adb Likewise, but also keep the old Rcheck_nn routines
- for bootstrap.
- * arith64.c (__gnat_mulv64): Use __gnat_rcheck_CE_Overflow_Check
- instead of __gnat_rcheck_10.
- * gcc-interface/trans.c (build_raise_check): Use Get_RT_Exception_Name
- to create the __gnat_rcheck routines name.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2012-05-15 Tristan Gingold <gingold@adacore.com>
-
- * exp_ch7.adb (Build_Exception_Handler): Save current
- occurrence only if -gnateE.
- (Build_Object_Declaration): Declare E_Id only if -gnateE.
- (Build_Raise_Statement): Call Raise_From_Controlled_Operation only if
- -gnateE (else raise PE).
- * s-soflin.adb (Save_Library_Occurrence): Handle null occurrence
- access.
- * a-except-2005.adb (Reraise_Library_Exception_If_Any): Call
- Raise_From_Controlled_Operation only if the saved occurrence is
- not null, otherwise raise PE.
-
-2012-05-15 Yannick Moy <moy@adacore.com>
-
- * exp_alfa.ads: Add comments describing the Alfa mode.
-
-2012-05-15 Tristan Gingold <gingold@adacore.com>
-
- * s-soflin.ads, s-soflin.adb (Save_Library_Occurrence): Parameter
- E is now of type Exception_Occurrence_Access.
- * exp_ch7.ads, exp_ch7.adb (Build_Exception_Handler): Adjust generated
- call to Save_Library_Occurrence.
-
-2012-05-15 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch4.adb (Rewrite_Coextension): Use Insert_Action to
- insert temporary variable decl at the proper place in the tree.
-
-2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
-
- * g-calend.adb (Split_At_Locale): New routine.
- (Time_Of_At_Locale): New routine.
- * g-calend.ads (Split_At_Locale): New routine.
- (Time_Of_At_Locale): New routine.
-
-2012-05-15 Gary Dismukes <dismukes@adacore.com>
-
- * a-except.ads: Minor reformatting.
-
-2012-05-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the loop
- parameter specification is part of a quantified expression, and it
- already carries a type, do not repeat the analysis to preserve
- type information: a range attribute reference may have been
- rewritten as a range with static bounds, and its re-analysis may
- type it as Integer by default, instead of the original index type.
-
-2012-05-15 Robert Dewar <dewar@adacore.com>
-
- * s-osprim-mingw.adb: Minor reformatting.
-
-2012-05-15 Arnaud Charlet <charlet@adacore.com>
-
- * a-except.adb, a-except.ads (Reraise_Library_Exception_If_Any): New.
- Mark this unit preelaborate.
- * s-soflin.ads: Make package Preelaborate.
-
-2012-05-15 Robert Dewar <dewar@adacore.com>
-
- * s-osprim-mingw.adb, sem_eval.adb, a-calend-vms.ads: Minor reformatting
-
-2012-05-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_eval.adb (Subtypes_Statically_Match): In Ada 2012, static
- matching requires matching of static subtype predicates as well.
-
-2012-05-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_case.adb (Analyze_Choices): If the subtype of the
- expression has a non-static predicate, the case alternatives
- must cover the base type.
-
-2012-05-15 Tristan Gingold <gingold@adacore.com>
-
- * a-calend-vms.ads: Add pragma export to Split and Time_Of.
- Merge comments from a-calend.ads to minimize differences.
-
-2012-05-15 Sergey Rybin <rybin@adacore.com frybin>
-
- * gnat_ugn.texi: gnatmetric: add a small example that demonstrates
- the difference between control coupling and unit coupling.
-
-2012-05-15 Tristan Gingold <gingold@adacore.com>
-
- * bindgen.adb (Gen_Header): Remove code to emit LE_Set.
- (Gen_Finalize_Library): Replace test with
- a call to __gnat_reraise_library_exception_if_any.
- * s-soflin.ads (Library_Exception): Do not export.
- (Library_Exception_Set): Likewise.
- * a-except-2005.ads, a-except-2005.adb
- (Reraise_Library_Exception_If_Any): New procedure.
-
-2012-05-15 Geert Bosch <bosch@adacore.com>
-
- * sem_ch9.adb (Allows_Lock_Free_Implementation): out or in out
- parameters can be access types as well, not just scalar types,
- so relax the test to Is_Elementary_Type.
-
-2012-05-15 Bob Duff <duff@adacore.com>
-
- * s-atacco.ads s-atacco.adb: Replace pragma Elaborate_Body
- with pragma No_Body.
- (Xyz): Remove Xyz, which is apparently unnecessary.
-
-2012-05-15 Tristan Gingold <gingold@adacore.com>
-
- * a-calend-vms.adb: Complete previous change.
-
-2012-05-15 Bob Duff <duff@adacore.com>
-
- * s-win32.ads: Minor comment fix.
- * s-osprim-mingw.adb: Minor editing.
-
-2012-05-15 Robert Dewar <dewar@adacore.com>
-
- * exp_ch9.adb, sem_ch9.adb, sem_ch13.adb: Minor reformatting.
-
-2012-05-15 Robert Dewar <dewar@adacore.com>
-
- * g-comlin.adb, g-comlin.ads: Minor reformatting.
-
-2012-05-15 Vincent Pucci <pucci@adacore.com>
-
- * aspects.adb, aspects.adb: Reordering of the Aspect_Idi list. New
- aspect Aspect_Lock_Free.
- * einfo.adb, einfo.ads: New flag Uses_Lock_Free (flag 188).
- (Set_Uses_Lock_Free): New routine.
- (Uses_Lock_Free): New routine.
- * exp_ch7.adb (Is_Simple_Protected_Type): Return False for
- lock-free implementation.
- * exp_ch9.adb (Allows_Lock_Free_Implementation): Moved to Sem_Ch9.
- (Build_Lock_Free_Unprotected_Subprogram_Body): Protected
- procedure uses __sync_synchronise. Check both Object_Size
- and Value_Size.
- (Expand_N_Protected_Body): Lock_Free_Active
- renames Lock_Free_On.
- (Expand_N_Protected_Type_Declaration):
- _Object field removed for lock-free implementation.
- (Install_Private_Data_Declarations): Protection object removed
- for lock-free implementation.
- (Make_Initialize_Protection):
- Protection object initialization removed for lock-free implementation.
- * rtsfind.ads: RE_Atomic_Synchronize and RE_Relaxed added.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect_Lock_Free
- analysis added.
- * sem_ch9.adb (Allows_Lock_Free_Implementation): New routine.
- (Analyze_Protected_Body): Allows_Lock_Free_Implementation call added.
- (Analyze_Protected_Type_Declaration):
- Allows_Lock_Free_Implementation call added.
- (Analyze_Single_Protected_Declaration): Second analysis of
- aspects removed.
- * s-atopri.ads: Header added.
- (Atomic_Synchronize): New routine.
-
-2012-05-15 Robert Dewar <dewar@adacore.com>
-
- * exp_ch7.ads: Add comment.
-
-2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-calend.adb (Day_Of_Week): The routine once again treats
- all dates as historic. (Formatting_Operations.Split): All
- calls to UTC_Time_Offset are now controlled through formal
- parameter Is_Historic. (Formatting_Operations.Time_Of):
- All calls to UTC_Time_Offset are now handled through
- formal parameter Is_Historic.
- (Split): Update the call to Formatting_Operations.Split.
- (Time_Of): Update the call to Formatting_Operations.Time_Of.
- (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
- (To_Strict_Tm): Update the call to Formatting_Operations.Split.
- * a-calend.ads (Split): Add new formal Is_Historic along with
- comment on usage. This routine is now exported for the purposes
- of GNAT.Calendar.Locale.
- (Time_Of): Remove defaults. Add new
- formal Is_Historic along with comment on usage. This routine is
- now exported for the purposes of GNAT.Calendar.Locale.
- * a-calend-vms.adb (Split): Update the call to
- Formatting_Operations.Split.
- (Time_Of): Update the call to Formatting_Operations.Time_Of.
- * a-calend-vms.ads (Split): Add new formal Is_Historic along
- with comment on usage. (Time_Of): Remove defaults. Add new
- formal Is_Historic along with comment on usage.
- * a-calfor.adb (Split): Update the call to
- Formatting_Operations.Split.
- (Time_Of): Update the call to Formatting_Operations.Time_Of.
-
-2012-05-15 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Add_Source): Always add the source if it is
- excluded, to avoid incorrect duplicate checks.
-
-2012-05-15 Yannick Moy <moy@adacore.com>
-
- * sem_aux.ads: Correct typo.
- * sem_eval.adb (Compile_Time_Known_Value): Return False in Alfa
- mode for a deferred constant when outside of the scope of its
- full view.
-
-2012-05-15 Emmanuel Briot <briot@adacore.com>
-
- * g-comlin.adb, g-comlin.ads (Define_Switch): Allow specifying the name
- of the argument, for the automatic help message.
- (Getopt): do not systematically initialize switches with string values
- to the empty string, when the user has already specified a default.
-
-2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
-
- * gcc-interface/utils.c (DEF_ATTR_STRING): New.
-
-2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 53063
- * gcc-interface/misc.c: Include opts.h and options.h before tm.h.
- (gnat_handle_option): Call lang-specific generated function.
-
-2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * gcc-interface/lang.opt (I): Comment out help text with no effect.
- (nostdinc): Comment out help text with no effect.
-
-2012-05-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Makefile.in (TOOLS_LIBS): Add ../../ggc-none.o.
-
-2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 53063
- * gcc-interface/misc.c (gnat_parse_file): Move before ...
- (gnat_handle_option): ... this. Use handle_generated_option.
-
-2012-05-10 Richard Guenther <rguenther@suse.de>
-
- * gcc-interface/cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use.
-
-2012-05-06 Tristan Gingold <gingold@adacore.com>
-
- * gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.
-
-2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming
- case, use the padded type if the renamed object has an unconstrained
- type with default discriminant.
-
-2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariant
- conditions with only one bound.
- (Raise_Error_to_gnu): Likewise. New function extracted from...
- (gnat_to_gnu) <N_Raise_Constraint_Error>: ...here. Call above function
- in regular mode only.
-
-2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/misc.c (gnat_post_options): Disable caret by default.
-
-2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (make_packable_type): Declare.
- (make_type_from_size): Likewise.
- (relate_alias_sets): Likewise.
- (maybe_pad_type): Adjust.
- (init_gnat_to_gnu): Delete.
- (destroy_gnat_to_gnu): Likewise.
- (init_dummy_type): Likewise.
- (destroy_dummy_type): Likewise.
- (init_gnat_utils): Declare.
- (destroy_gnat_utils): Likewise.
- (ceil_pow2): New inline function.
- * gcc-interface/decl.c (gnat_to_gnu_entity): Use ceil_pow2.
- <object>: Pass True for the final processing of alignment and size.
- <E_Subprogram_Type>: Only create the TYPE_DECL for a padded return
- type if necessary.
- (round_up_to_align): Delete.
- (ceil_alignment): Likewise.
- (relate_alias_sets): Move to...
- (make_aligning_type): Likewise.
- (make_packable_type): Likewise.
- (maybe_pad_type): Likewise.
- (make_type_from_size): Likewise.
- * gcc-interface/utils.c (MAX_BITS_PER_WORD): Delete.
- (struct pad_type_hash): New type.
- (pad_type_hash_table): New static variable.
- (init_gnat_to_gnu): Merge into...
- (init_dummy_type): Likewise.
- (init_gnat_utils): ...this. New function.
- (destroy_gnat_to_gnu): Merge into...
- (destroy_dummy_type): Likewise.
- (destroy_gnat_utils): ...this. New function.
- (pad_type_hash_marked_p): New function.
- (pad_type_hash_hash): Likewise.
- (pad_type_hash_eq): Likewise.
- (relate_alias_sets): ...here.
- (make_aligning_type): Likewise.
- (make_packable_type): Likewise.
- (maybe_pad_type): Likewise. Change same_rm_size parameter into
- set_rm_size; do not set TYPE_ADA_SIZE if it is false. Do not set
- null as Ada size. Do not set TYPE_VOLATILE on the padded type. If it
- is complete and has constant size, canonicalize it. Bail out earlier
- if a warning need not be issued.
- (make_type_from_size): Likewise.
- <INTEGER_TYPE>: Bail out if size is too large
- (gnat_types_compatible_p): Do not deal with padded types.
- (convert): Compare main variants for padded types.
- * gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_utils.
- (gnat_to_gnu): Do not convert at the end for a call to a function that
- returns an unconstrained type with default discriminant.
- (Attribute_to_gnu) <Attr_Size>: Simplify handling of padded objects.
- * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Likewise.
- Do not use the padded type if it is BLKmode and the inner type is
- non-BLKmode.
-
-2012-05-02 Pascal Obry <obry@adacore.com>
-
- Revert
- 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
- Windows-specific make variable.
- (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
- (install-gnatlib): Respect the above during installation when set,
- and also install any windows import library that has been built.
- (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
- build a corresponding import library.
-
-2012-04-30 Jan Hubicka <jh@suse.cz>
-
- * gcc-interface/utils.c (rest_of_subprog_body_compilation): Update
- comment.
- (gnat_write_global_declarations): Use finalize_compilation_unit.
-
-2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity): In type annotation mode,
- do not adjust the size of a tagged type if there is a representation
- clause on it. Otherwise, round the adjustment up to the alignment
- of the first field and use the appropriate helper routine.
- (maybe_pad_type): Do not warn in type annotation mode on a tagged type.
- (gnat_to_gnu_field): Do not error out under the same circumstances.
- (annotate_rep): In type annotation mode, do not adjust the offset of
- components of a tagged type with representation clause. Otherwise,
- round the adjustment up to the alignment of the first field.
-
-2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (finish_record_type): Force the traditional GCC
- layout for bitfields on the type if it is packed or has a representation
- clause and an alternate layout is available.
-
-2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (mark_out_of_scope): Delete.
- (destroy_gnat_to_gnu): Declare.
- (destroy_dummy_type): Likewise.
- * gcc-interface/decl.c (mark_out_of_scope): Delete.
- * gcc-interface/utils.c (destroy_gnat_to_gnu): New function.
- (destroy_dummy_type): Likewise.
- * gcc-interface/trans.c (gnat_validate_uc_list): New variable.
- (gigi): Call validate_unchecked_conversion on gnat_validate_uc_list
- after the translation is completed. Call destroy_gnat_to_gnu and
- destroy_dummy_type at the end.
- (Subprogram_Body_to_gnu): Do not call mark_out_of_scope.
- (gnat_to_gnu) <N_Block_Statement>: Likewise.
- <N_Validate_Unchecked_Conversion>: Do not process the node, only push
- it onto gnat_validate_uc_list.
- (validate_unchecked_conversion): New function.
-
-2012-04-26 Tristan Gingold <gingold@adacore.com>
-
- * gcc-interface/Make-lang.in: Update dependencies.
- Remove s-traceb and tracebak objects from gnat1 and gnatbind (not used).
- Remove s-tasdeb and s-vaflop rules (not used).
-
-2012-04-26 Olivier Hainque <hainque@adacore.com>
-
- * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Default to
- DOUBLE_TYPE_SIZE instead of LONG_DOUBLE_TYPE_SIZE.
-
-2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-calend.adb (Day_Of_Week): Keep the internal
- usage of UTC_Time_Offset consistent with Time_Of and Split.
-
-2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Do not freeze
- the loop variable while preanalyzing a quantified expression.
-
-2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-calend.adb (Split, Time_Of): Rename parameter Is_Ada_05
- to Use_TZ to better illustrate its function. Update all
- references to the parameter.
- (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
- * a-calend.ads (Split, Time_Of): Rename parameter Is_Ada_05
- to Use_TZ to better illustrate its function. Update the related
- comment on usage.
- * a-calend-vms.adb (Split, Time_Of): Rename parameter
- Is_Ada_05 to Use_TZ to better illustrate its function. Update
- all references to the parameter.
- (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
- * a-calend-vms.ads (Split, Time_Of): Rename parameter Is_Ada_05
- to Use_TZ to better illustrate its function. Update the related
- comment on usage.
- * a-calfor.adb (Split, Time_Of): Update the call to
- Formatting_Operations.Time_Of.
- * sysdep.c (__gnat_localtime_tzoff): Dereference pointer
- "is_historic" and rewrite the check as a comparison. Add a
- comment on flag values.
-
-2012-04-26 Robert Dewar <dewar@adacore.com>
-
- * exp_ch2.adb, sem_ch8.adb: Minor reformatting.
-
-2012-04-26 Vasiliy Fofanov <fofanov@adacore.com>
-
- * a-stzunb-shared.adb, gnat_ugn.texi, a-strunb-shared.adb,
- a-strunb-shared.ads, uintp.adb, a-stwiun-shared.adb,
- a-stwiun-shared.ads, a-cbhama.ads, vms_data.ads, a-cobove.adb,
- a-convec.adb, sem_ch13.adb, a-cbhase.ads: Fix common misuses of the
- word "then" where "than" should be used in English.
-
-2012-04-26 Robert Dewar <dewar@adacore.com>
-
- * sem_ch5.adb (Check_Unreachable_Code): Skip past pragmas.
-
-2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * s-finroo.ads: Remove with clause for
- Ada.Streams. Type Root_Controlled is now abstract tagged null
- record. Remove internal package Stream_Attributes. Root_Controlled
- doesn't need stream attribute redeclaration and avoids the
- dependency on streams.
-
-2012-04-26 Tristan Gingold <gingold@adacore.com>
-
- * adaint.c (to_host_path_spec): Removed (unused).
- Minor reformatting.
-
-2012-04-26 Steve Baird <baird@adacore.com>
-
- * gnat_rm.texi Improve description of Valid_Scalars attribute.
-
-2012-04-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Can_Override_Operator): If the formal is a
- generic type the operator cannot be overriding.
-
-2012-04-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Spec_Reloaded_For_Body): Check whether the type
- is declared in a package specification, and current unit is the
- corresponding package body. The use clauses themselves may be
- within a nested package.
-
-2012-04-26 Bob Duff <duff@adacore.com>
-
- * exp_ch2.adb (Param_Entity): Take into account the case where
- the type of the entry parameter has a representation clause.
-
-2012-04-26 Ed Schonberg <schonberg@adacore.com>
-
- * gnat_ugn.texi: Tweak dimensionality doc.
-
-2012-04-26 Robert Dewar <dewar@adacore.com>
-
- * sem_eval.adb: Minor reformatting.
-
-2012-04-26 Robert Dewar <dewar@adacore.com>
-
- * einfo.adb, einfo.ads, sem_res.adb, sem_ch4.adb,
- sem_eval.adb: Minor reformatting.
-
-2012-04-26 Thomas Quinot <quinot@adacore.com>
-
- * freeze.adb: Minor change in error wording.
-
-2012-04-26 Ed Schonberg <schonberg@adacore.com>
-
- * gnat_ugn.texi: Documentation on dimensional analysis.
-
-2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.adb, einfo.ads: Remove synthesized attribute
- Proper_First_Index along with its associations in various nodes.
- (Proper_First_Index): Removed.
- * sem_ch4.adb (Analyze_Slice): Alphabetize constants. Add new
- local variable Index_Type. The index type of a string literal
- subtype is that of the stored low bound.
- * sem_eval (Get_Static_Length): Remove the use of Proper_First_Index.
- * sem_res.adb (Resolve_Slice): Alphabetize constants. Add
- new local variable Index_Type. The index type of a
- string literal subtype is that of the stored low bound.
- (Set_String_Literal_Subtype): Code reformatting.
-
-2012-04-26 Robert Dewar <dewar@adacore.com>
-
- * exp_aggr.adb: Minor reformatting.
-
-2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Expand_Cleanup_Actions): Update the call to
- Requires_Cleanup_Actions.
- * exp_util.adb (Requires_Cleanup_Actions (List_Id; Boolean;
- Boolean)): Rename formal parameter For_Package to Lib_Level to
- better reflect its purpose. Update the related comment and all
- occurrences of For_Package in the body.
- (Requires_Cleanup_Actions
- (Node_Id; Boolean)): Add new formal parameter Lib_Level. Add
- local constant At_Lib_Level to keep monitor whether the path
- taken from the top-most context to the current construct involves
- package constructs. Update all calls to Requires_Cleanup_Actions.
- * exp_util.ads (Requires_Cleanup_Actions): Add new formal
- parameter Lib_Level and associated comment.
-
-2012-04-26 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Process_Formals): If the type of the formal is
- a non null access type, mark the generated subtype as having a
- delayed freeze only if the designated type is not frozen yet.
-
-2012-04-26 Vincent Celier <celier@adacore.com>
-
- * prj-attr.adb: New package Clean with attributes
- Object_Artifact_Extensions and Source_Artifact_Extensions.
- * prj-nmsc.adb (Process_Clean): Process new package Clean
- * prj.ads (Language_Config): New components
- Clean_Object_Artifacts and Clean_Source_Artifacts.
- * snames.ads-tmpl: New standard names Clean,
- Object_Artifact_Extensions and Source_Artifact_Extensions.
-
-2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.adb (Proper_First_Index): Moved from Sem_Util.
- * einfo.ads: Add new synthesized attribute Proper_First_Index
- along with usage in nodes.
- (Proper_First_Index): Moved from Sem_Util.
- * sem_util.ads, sem_util.adb (Proper_First_Index): Moved to Einfo.
-
-2012-04-26 Gary Dismukes <dismukes@adacore.com>
-
- * layout.adb (Layout_Component_List): Test for the case of a
- single variant and the size of its component list was computed
- as an integer literal, and use that size (which is in bits)
- as is rather than converting to storage units.
-
-2012-04-26 Robert Dewar <dewar@adacore.com>
-
- * exp_aggr.adb: Minor reformatting.
-
-2012-04-26 Robert Dewar <dewar@adacore.com>
-
- * sem_util.adb: Minor reformatting.
-
-2012-04-26 Thomas Quinot <quinot@adacore.com>
-
- * exp_aggr.adb, exp_pakd.adb (Setup_Inline_Packed_Array_Reference,
- Packed_Array_Aggregate_Handled.Get_Component_Val):
- Reverse bit numbering within PAT when Reverse_Storage_Order
- applies to the enclosing record.
-
-2012-04-26 Thomas Quinot <quinot@adacore.com>
-
- * freeze.adb (Freeze_Record_Type): Improve error message for
- Scalar_Storage_Order inconsistent with Bit_Order.
-
-2012-04-25 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch9.adb: Add comments on the usage of the
- lock-free data structures.
-
-2012-04-25 Vincent Pucci <pucci@adacore.com>
-
- * exp_intr.adb (Expand_Shift): Convert the left
- operand and the operator when the type of the call differs from
- the type of the operator.
-
-2012-04-25 Geert Bosch <bosch@adacore.com>
-
- * stand.ads: Minor comment fix.
-
-2012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch4.adb (Analyze_Slice): Handle the case where the prefix
- is a string literal. Retrieve the first index from the base type
- when slicing a string literal.
- * sem_ch12.adb (Check_Private_View): Move the initialization
- of the type inside the loop to reflect the changing index.
- * sem_eval.adb (Eval_Relational_Op): Retrieve the first index
- from the base type when dealing with a string literal.
- * sem_res.adb (Resolve_Slice): Retrieve the first index from
- the base type when slicing a string literal.
- * sem_util.adb (Is_Internally_Generated_Renaming): New routine.
- (Is_Object_Reference): String literals may act
- as object references only when they are renamed internally.
- (Proper_First_Index): New routine.
- * sem_util.ads (Proper_First_Index): New routine.
-
-2012-04-25 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, csinfo.adb, lib-writ.adb, sem_ch12.adb,
- lib-xref.adb: Minor reformatting.
-
-2012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch9.adb: Rename Lock_Free_Sub_Type
- to Lock_Free_Subprogram. Remove type Subprogram_Id.
- Rename LF_Sub_Table to Lock_Free_Subprogram_Table.
- (Allow_Lock_Free_Implementation): Renamed to
- Allows_Lock_Free_Implementation. Update the comment on
- lock-free restrictions. Code clean up and restructuring.
- (Build_Lock_Free_Protected_Subprogram_Body): Update the
- profile and related comments. Code clean up and restructuring.
- (Build_Lock_Free_Unprotected_Subprogram_Body): Update the
- profile and related comments. Code clean up and restructuring.
- (Comp_Of): Removed.
-
-2012-04-25 Vincent Celier <celier@adacore.com>
-
- * sem_ch12.adb (Inherit_Context): Compare library units, not
- names of units, when checking if a unit is already in the context.
-
-2012-04-25 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch3.adb: Reverse_Storage_Order must be propagated to
- untagged derived record types.
-
-2012-04-25 Ed Schonberg <schonberg@adacore.com>
-
- * lib-xref.adb: Adjust position of end label.
-
-2012-04-22 Jan Hubicka <jh@suse.cz>
-
- * gcc-interface/utils.c (gnat_write_global_declarations): Do not mark
- needed node.
-
-2012-04-20 Jan Hubicka <jh@suse.cz>
-
- * gcc-interface/utils.c (gnat_write_global_declarations): Update for new
- force_output placement.
-
-2012-04-14 Jan Hubicka <jh@suse.cz>
-
- * gcc-interface/trans.c (finalize_nrv): Update field referenced for new
- cgraph/varpool layout.
-
-2012-04-09 Mike Stump <mikestump@comcast.net>
-
- * a-assert.ads: Remove execute permission.
- * a-chacon.ads: Likewise.
- * a-coteio.ads: Likewise.
- * a-envvar.ads: Likewise.
- * a-exetim-mingw.ads: Likewise.
- * a-fzteio.ads: Likewise.
- * a-izteio.ads: Likewise.
- * a-lcteio.ads: Likewise.
- * a-llctio.ads: Likewise.
- * a-scteio.ads: Likewise.
- * a-suenco.ads: Likewise.
- * a-suenst.ads: Likewise.
- * a-suewst.ads: Likewise.
- * a-suezst.ads: Likewise.
- * a-tirsfi.ads: Likewise.
- * a-wichha.ads: Likewise.
- * a-zchara.ads: Likewise.
- * a-zchhan.ads: Likewise.
- * a-zchuni.ads: Likewise.
- * a-zrstfi.ads: Likewise.
- * aspects.ads: Likewise.
- * g-byorma.ads: Likewise.
- * g-decstr.ads: Likewise.
- * g-encstr.ads: Likewise.
- * g-spchge.ads: Likewise.
- * g-u3spch.ads: Likewise.
- * g-wispch.ads: Likewise.
- * g-zspche.ads: Likewise.
- * namet-sp.ads: Likewise.
- * s-os_lib.ads: Likewise.
- * s-regexp.ads: Likewise.
- * s-regpat.ads: Likewise.
- * s-string.ads: Likewise.
- * s-tasloc.ads: Likewise.
- * s-utf_32.ads: Likewise.
- * sem_aux.ads: Likewise.
- * a-assert.adb: Likewise.
- * a-chacon.adb: Likewise.
- * a-envvar.adb: Likewise.
- * a-exetim-mingw.adb: Likewise.
- * a-suenco.adb: Likewise.
- * a-suenst.adb: Likewise.
- * a-suewst.adb: Likewise.
- * a-suezst.adb: Likewise.
- * a-tirsfi.adb: Likewise.
- * a-wichha.adb: Likewise.
- * a-zchhan.adb: Likewise.
- * a-zchuni.adb: Likewise.
- * a-zrstfi.adb: Likewise.
- * aspects.adb: Likewise.
- * g-byorma.adb: Likewise.
- * g-decstr.adb: Likewise.
- * g-encstr.adb: Likewise.
- * g-spchge.adb: Likewise.
- * g-u3spch.adb: Likewise.
- * g-wispch.adb: Likewise.
- * g-zspche.adb: Likewise.
- * namet-sp.adb: Likewise.
- * s-except.adb: Likewise.
- * s-inmaop-vxworks.adb: Likewise.
- * s-os_lib.adb: Likewise.
- * s-regexp.adb: Likewise.
- * s-regpat.adb: Likewise.
- * s-string.adb: Likewise.
- * s-tasloc.adb: Likewise.
- * s-utf_32.adb: Likewise.
- * s-wchcon.adb: Likewise.
- * sem_aux.adb: Likewise.
-
-2012-04-02 Robert Dewar <dewar@adacore.com>
-
- * s-atopri.ads: Minor reformatting.
-
-2012-04-02 Thomas Quinot <quinot@adacore.com>
-
- * sem_util.adb: Minor reformatting, minor code cleanup.
-
-2012-04-02 Ed Schonberg <schonberg@adacore.com>
-
- * lib-xref.adb (Generate_Reference): For a reference to an
- operator symbol, set the sloc to point to the first character
- of the operator name, and not to the initial quaote.
- (Output_References): Ditto for the definition of an operator
- symbol.
-
-2012-04-02 Vincent Celier <celier@adacore.com>
-
- * ali.adb (Scan_Ali): Recognize Z lines. Set
- Implicit_With_From_Instantiation to True in the With_Record for
- Z lines.
- * ali.ads (With_Record): New Boolean component
- Implicit_With_From_Instantiation, defaulted to False.
- * csinfo.adb: Indicate that Implicit_With_From_Instantiation
- is special
- * lib-writ.adb (Write_ALI): New array Implicit_With.
- (Collect_Withs): Set Implicit_With for the unit is it is not Yes.
- (Write_With_Lines): Write a Z line instead of a W line if
- Implicit_With is Yes for the unit.
- * sem_ch12.adb (Inherit_Context): Only add a unit in the context
- if it is not there yet.
- * sinfo.ads: New flag Implicit_With_From_Instantiation (Flag12)
- added.
-
-2012-04-02 Yannick Moy <moy@adacore.com>
-
- * osint.adb, osint.ads (Add_Default_Search_Dirs): Add library
- search dirs in file specified with option -gnateO.
-
-2012-04-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb: Minor
- reformatting.
-
-2012-04-02 Olivier Hainque <hainque@adacore.com>
-
- * g-sse.ads: Add x86-solaris and x86_64-darwin to the set of
- platforms where the use of this spec is supported. Add current
- year to the copyright notice.
- * gcc-interfaces/Makefile.in: Add g-sse.o and g-ssvety.o to
- EXTRA_GNATRTL_NONTASKING_OBJS on x86 32/64 targets that support
- it and where they were missing (x86-solaris, x86-freebsd,
- x86_64-freebsd, and x86-darwin).
-
-2012-04-02 Gary Dismukes <dismukes@adacore.com>
-
- * bindgen.adb (Gen_Ada_Init): When compiling for the AAMP small
- library, where we no longer suppress the Standard_Library,
- generate an empty body rather than the usual generation of
- assignments to imported globals, since those aren't present in
- the small library.
-
-2012-04-02 Ed Schonberg <schonberg@adacore.com>
-
- * sinfo.ads: Minor documentation fix.
-
-2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_res.adb (Resolve_Conditional_Expression): Add local variables
- Else_Typ and Then_Typ. Add missing type conversions to the "then" and
- "else" expressions when their respective types are scalar.
-
-2012-04-02 Vincent Pucci <pucci@adacore.com>
-
- * exp_ch9.adb: Reordering of the local subprograms. New Table
- for the lock free implementation that maps each protected
- subprograms with the protected component it references.
- (Allow_Lock_Free_Implementation): New routine. Check if
- the protected body enables the lock free implementation.
- (Build_Lock_Free_Protected_Subprogram_Body): New routine.
- (Build_Lock_Free_Unprotected_Subprogram_Body): New routine.
- (Comp_Of): New routine.
- * Makefile.rtl: Add s-atopri.o
- * debug.adb: New compiler debug flag -gnatd9 for lock free
- implementation.
- * rtsfind.ads: RE_Atomic_Compare_Exchange_8,
- RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
- RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
- RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, RE_Uint8,
- RE_Uint16, RE_Uint32, RE_Uint64 added.
- * s-atropi.ads: New file. Defines atomic primitives used
- by the lock free implementation.
-
-2012-04-02 Emmanuel Briot <briot@adacore.com>
-
- * g-expect.adb (Expect_Internal): Fix leak of the input file descriptor.
-
-2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb (Expand_N_Quantified_Expression): Reimplemented.
- The expansion no longer uses the copy of the original QE created
- during analysis.
- * sem.adb (Analyze): Add processing for loop parameter specifications.
- * sem_ch4.adb (Analyze_Quantified_Expression): Reimplemented. The
- routine no longer creates a copy of the original QE. All
- constituents of a QE are now preanalyzed and resolved.
- * sem_ch5.adb (Analyze_Iteration_Scheme): Remove the guard which
- bypasses all processing when the iteration scheme is related to a
- QE. Relovate the code which analyzes loop parameter specifications
- to a separate routine. (Analyze_Iterator_Specification):
- Preanalyze the iterator name. This action was originally
- done in Analyze_Iteration_Scheme. Update the check which
- detects an iterator specification in the context of a QE.
- (Analyze_Loop_Parameter_Specification): New routine. This
- procedure allows for a stand-alone analysis of a loop parameter
- specification without the need of a parent iteration scheme. Add
- code to update the type of the loop variable when the range
- generates an itype and the context is a QE.
- (Pre_Analyze_Range): Renamed to Preanalyze_Range. Update all references
- to the routine.
- * sem_ch5.ads: Code reformatting.
- (Analyze_Loop_Parameter_Specification): New routine.
- * sem_ch6.adb (Fully_Conformant_Expressions): Detect a case
- when establishing conformance between two QEs utilizing different
- specifications.
- * sem_res.adb (Proper_Current_Scope): New routine.
- (Resolve): Do not resolve a QE as there is nothing to be done now.
- Ignore any loop scopes generated for QEs when detecting an expression
- function as the scopes are cosmetic and do not appear in the tree.
- (Resolve_Quantified_Expression): Removed. All resolution of
- QE constituents is now performed during analysis. This ensures
- that loop variables appearing in array aggregates are properly
- resolved.
-
-2012-04-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Build_Default_Subtype): If the base type is
- private and its full view is available, use the full view in
- the subtype declaration.
-
-2012-04-02 Jose Ruiz <ruiz@adacore.com>
-
- * gnat_ugn.texi: Add some minimal documentation about how to
- use GNATtest for cross platforms.
-
-2012-04-02 Vincent Celier <celier@adacore.com>
-
- * opt.ads (Object_Path_File_Name): New variable.
- * prj-attr.adb: New Compiler attribute Object_Path_Switches.
- * prj-nmsc.adb (Process_Compiler): Recognize new attribute
- Object_Path_Switches.
- * snames.ads-tmpl: New standard name Object_Path_Switches.
- * switch-c.adb (Scan_Front_End_Switches): Recognize new switch
- -gnateO= and put its value in Opt.Object_Path_File_Name.
-
-2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Process_Declarations): Detect a case where
- a source object was initialized by another source object,
- but the expression was rewritten as a class-wide conversion
- of Ada.Tags.Displace.
- * exp_util.adb (Initialized_By_Ctrl_Function): Removed.
- (Is_Controlled_Function_Call): New routine.
- (Is_Displacement_Of_Ctrl_Function_Result): Removed.
- (Is_Displacement_Of_Object_Or_Function_Result): New routine.
- (Is_Source_Object): New routine.
- (Requires_Cleanup_Actions): Detect a case where a source object was
- initialized by another source object, but the expression was rewritten
- as a class-wide conversion of Ada.Tags.Displace.
- * exp_util.ads (Is_Displacement_Of_Ctrl_Function_Result): Removed.
- (Is_Displacement_Of_Object_Or_Function_Result): New routine.
-
-2012-04-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Call): A call to an expression function
- does not freeze if it appears in a different scope from the
- expression function itself. Such calls appear in the generated
- bodies of other expression functions, or in pre/postconditions
- of subsequent subprograms.
-
-2012-04-02 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb: Code clean up.
-
-2012-04-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Analyze_Subprogram_Instantiation): Do not suppress
- style checks, because the subprogram instance itself may contain
- violations of syle rules.
- * style.adb (Missing_Overriding): Check for missing overriding
- indicator on a subprogram instance.
-
-2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch6.adb (Last_Implicit_Declaration): New routine.
- (Process_PPCs): Insert the body of _postconditions after the
- last internally generated declaration. This ensures that actual
- subtypes created for formal parameters are visible and properly
- frozen as _postconditions may reference them.
-
-2012-04-02 Robert Dewar <dewar@adacore.com>
-
- * einfo.adb (First_Component_Or_Discriminant) Now applies to
- all types with discriminants, not just records.
- * exp_attr.adb (Expand_N_Attribute): Add Scalar_Values handling
- for arrays, scalars and non-variant records.
- * sem_attr.adb (Analyze_Attribute): Handle Valid_Scalars
- * sem_attr.ads (Valid_Scalars): Update description
- * sem_util.ads, sem_util.adb (No_Scalar_Parts): New function.
-
-2012-03-31 Eric Botcazou <ebotcazou@adacore.com>
-
- Revert
- 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (SS_MARK_NAME): New define.
- (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
- whose name is SS_MARK_NAME.
-
-2012-03-30 Robert Dewar <dewar@adacore.com>
-
- * exp_ch5.adb, sem_util.adb, exp_ch4.adb: Minor comment updates.
-
-2012-03-30 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb (Add_Alfa_File): Treat possibly 2 units at the same
- time, putting all scopes in the same Alfa file.
- (Add_Alfa_Xrefs): Correct errors in comparison function. Correct value
- of Def component.
- (Collect_Alfa): Possibly pass 2 units to Add_Alfa_File.
-
-2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Handle a case where
- a build-in-place call appears as Prefix'Reference'Reference.
-
-2012-03-30 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb: Minor refactoring to remove internal package.
-
-2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch5.adb (Analyze_Iteration_Scheme): Preanalyze the subtype
- definition of a loop when the context is a quantified expression.
-
-2012-03-30 Vincent Celier <celier@adacore.com>
-
- * prj.ads: Minor comment update.
-
-2012-03-30 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb, alloc.ads, lib-xref.ads: Minor addition of
- comments and refactoring.
-
-2012-03-30 Robert Dewar <dewar@adacore.com>
-
- * lib-xref.adb, lib-xref-alfa.adb: Minor reformatting & code
- reorganization.
-
-2012-03-30 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb (Generate_Dereference): Use Get_Code_Unit
- instead of Get_Source_Unit to get file for reference.
- (Traverse_Compilation_Unit): Do not add scopes for generic units.
- * lib-xref.adb (Generate_Reference): Use Get_Code_Unit instead
- of Get_Source_Unit to get file for reference.
- * sem_ch12.adb (Analyze_Package_Instantiation): Enable
- instantiation in Alfa mode.
-
-2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Process_Declarations): Replace
- the call to Is_Null_Access_BIP_Func_Call with
- Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
- * exp_util.adb (Is_Null_Access_BIP_Func_Call): Removed.
- (Is_Secondary_Stack_BIP_Func_Call): New routine.
- (Requires_Cleanup_Actions): Replace
- the call to Is_Null_Access_BIP_Func_Call with
- Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
- * exp_util.ads (Is_Null_Access_BIP_Func_Call): Removed.
- (Is_Secondary_Stack_BIP_Func_Call): New routine.
-
-2012-03-30 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb, lib-xref.adb: Code clean ups.
-
-2012-03-30 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): For the case of a
- loop entity which is rewritten as a renaming
- of the indexed array, explicitly mark the entity as needing
- debug info so that Materialize entity will be set later by
- Debug_Renaming_Declaration when the renaming is expanded.
-
-2012-03-30 Robert Dewar <dewar@adacore.com>
-
- * sem_attr.ads: Update comment.
-
-2012-03-30 Vincent Celier <celier@adacore.com>
-
- * prj.ads: New Dependency_Kind: ALI_Closure.
-
-2012-03-30 Thomas Quinot <quinot@adacore.com>
-
- * exp_pakd.adb: Minor reformatting.
-
-2012-03-30 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb (Add_Alfa_File): Take into account possible absence
- of compilation unit for unit in Sdep_Table.
-
-2012-03-30 Thomas Quinot <quinot@adacore.com>
-
- * freeze.adb (Freeze_Record_Type): For a type with reversed bit
- order and reversed storage order, disable front-end relayout.
-
-2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Copy
- the TYPE_PACKED flag from the base type.
-
-2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (SS_MARK_NAME): New define.
- (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
- whose name is SS_MARK_NAME.
-
-2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (add_parallel_type): Take a TYPE instead of a
- DECL and adjust. Move around.
- (has_parallel_type): New predicate.
- (rest_of_record_type_compilation): Return early if the type already
- has a parallel type.
- * gcc-interface/gigi.h (add_parallel_type): Adjust.
- * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
-
-2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (finish_record_type): Return early for padded
- types and tidy up.
-
-2012-03-20 Arnaud Charlet <charlet@adacore.com>
-
- * hlo.ads, hlo.adb: Removed, no longer used.
- * gcc-interface/Make-lang.in: Remove hlo.o. Update dependencies.
- * gcc-interface/Makefile.in: Remove EXTRA_LIBGNAT_SRCS (temporarly)
- and compute it from EXTRA_LIBGNAT_OBJS.
- Clean up comments, reorder LIBGNAT_SRCS and LIBGNAT_OBJS.
-
-2012-03-20 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi, sem_attr.ads: Update documentation.
-
-2012-03-19 Yannick Moy <moy@adacore.com>
-
- * sem_ch6.adb: Minor code clean up.
-
-2012-03-19 Vincent Celier <celier@adacore.com>
-
- * make.adb (Scan_Make_Arg): Make sure all significant -m switches
- on the command line are counted.
-
-2012-03-19 Robert Dewar <dewar@adacore.com>
-
- * sem_elab.adb (Generate_Elab_Warnings): Fix spec, fix attribute
- reference case
-
-2012-03-19 Robert Dewar <dewar@adacore.com>
-
- * par-ch4.adb (Check_Bad_Exp): New procedure
-
-2012-03-19 Robert Dewar <dewar@adacore.com>
-
- * exp_attr.adb, sem_attr.adb, sem_attr.ads, snames.ads-tmpl: Add
- initial framework for Valid_Scalars attribute.
-
-2012-03-19 Robert Dewar <dewar@adacore.com>
-
- * scng.adb (Scan): Recognize incorrect preprocessor directive
-
-2012-03-19 Robert Dewar <dewar@adacore.com>
-
- * atree.adb (Allocate_Initialize_Node): Use Num_Extension_Nodes
- * atree.ads (Num_Extension_Nodes): New variable
- * debug.adb: New debug flag -gnatd.N
- * gnat1drv.adb (Adjust_Global_Switches): Adjust
- Num_Extension_Nodes if -gnatd.N set
-
-2012-03-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads: Minor update to First_Rep_Item and Has_Gigi_Rep_Item
- descriptions.
-
-2012-03-19 Robert Dewar <dewar@adacore.com>
-
- * opt.ads: Remove HLO_Active flag.
- * sem.adb: Remove call of high level optimizer.
- * sem.ads (New_Nodes_OK): Removed.
- * sem_ch10.adb: Remove references to New_Nodes_OK.
- * switch-c.adb: Remove handling of -gnatH switch.
-
-2012-03-19 Yannick Moy <moy@adacore.com>
-
- * sem_ch6.adb (Check_Subprogram_Contract): Do not emit warnings
- on trivially True or False postconditions and Ensures components
- of contract-cases.
-
-2012-03-19 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Fix index entry for -gnatei (now we have
- ug_words entry).
-
-2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch3.adb (Get_Discriminant_Value): Instead of looking
- at the immediate correcponsing discriminant, traverse a
- potential chain of discriminants produced by type derivations.
- (Root_Corresponding_Discriminant): Traverse a chain of inherited
- discriminants and return the topmost discriminant.
-
-2012-03-19 Bob Duff <duff@adacore.com>
-
- * debug.adb: Minor comment change.
- * gnat_ugn.texi: Update documentation for elaboration regarding
- indirect calls.
-
-2012-03-19 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): In
- the case of an object of a class-wide interface type, where the
- declaration is rewritten as a renaming, call Set_Debug_Info_Needed
- on the renaming entity so that Materialize_Entity will be
- set. Also, change existing call (for other than interface cases)
- to call Set_Debug_Info_Needed rather than Set_Needs_Debug_Info
- (as specified for that flag).
-
-2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch4.adb (Analyze_Allocator): Detect an allocator generated
- by the build-in-place machinery where the designated type is
- indefinite, but the underlying type is not. Do not emit errors
- related to missing initialization in this case.
-
-2012-03-19 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Add documentation for -gnateinnn switch.
- * sem_elab.adb, put_alfa.adb, lib-xref-alfa.adb: Minor reformatting.
- * sem_prag.adb: Minor comment update.
-
-2012-03-15 Robert Dewar <dewar@adacore.com>
-
- * errout.ads: Add entry for translating -gnateinn to
- /MAX_INSTANTIATIONS for VMS.
- * hostparm.ads (Max_Instantiations): Moved to Opt.
- * opt.ads (Maximum_Instantiations): Moved from Hostparm, and renamed.
- * sem_ch12.adb (Maximum_Instantiations): New name of
- Max_Instantiations (Analyze_Package_Instantiation): Change error
- msg for too many instantiations (mention -gnateinn switch).
- * switch-c.adb (Scan_Front_End_Switches): Implement -gnateinn switch.
- * switch.ads: Minor comment update.
- * usage.adb (Usage): Output line for -maxeinn switch.
- * vms_data.ads: Add entry for MAX_INSTANTIATIONS (-gnateinn).
-
-2012-03-15 Yannick Moy <moy@adacore.com>
-
- * alfa.ads Update the decription of ALI sections.
- (Alfa_File_Record): Add a component Unit_File_Name to store the
- unit file name for subunits.
- * get_alfa.adb, put_alfa.adb Adapt to the possible presence of
- a unit file name.
- * lib-xref-alfa.adb (Add_Alfa_File): For subunits, retrieve the
- file name of the unit.
-
-2012-03-15 Yannick Moy <moy@adacore.com>
-
- * sem_ch6.adb (Check_Subprogram_Contract): Do
- not issue warning on missing 'Result in postcondition if all
- postconditions and contract-cases already get a warning for only
- referring to pre-state.
-
-2012-03-15 Bob Duff <duff@adacore.com>
-
- * debug.adb: Add new debug switch -gnatd.U, which disables the
- support added below, in case someone trips over a cycle, and needs
- to disable this.
- * sem_attr.adb (Analyze_Access_Attribute):
- Treat Subp'Access as a call for elaboration purposes.
- * sem_elab.ads, sem_elab.adb (Check_Elab_Call): Add support
- for Subp'Access.
-
-2012-03-15 Vincent Pucci <pucci@adacore.com>
-
- * sem.ads, sem.adb (Preanalyze): New routine.
- * sem_ch4.adb (Analyze_Quantified_Expression): Call to the
- Preanalyze routine in Sem added. Renaming of Needs_Expansion
- into Need_Preanalysis.
- * sem_ch6.adb (Preanalyze): Removed.
-
-2012-03-15 Robert Dewar <dewar@adacore.com>
-
- * sem_ch4.adb (Analyze_Quantified_Expression): Add comment.
- * sem_prag.adb: Minor comment additions.
- * sem_attr.adb (Check_First_Last_Valid): Make sure prefix type
- is frozen.
-
-2012-03-15 Vincent Pucci <pucci@adacore.com>
-
- * sem_ch4.adb (Analyze_Quantified_Expression):
- Preanalyze the condition when the quantified expression will be
- further expanded.
-
-2012-03-15 Yannick Moy <moy@adacore.com>
-
- * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, sem_ch6.adb,
- sem_warn.adb: Minor refactoring, renaming Case_Pragma in CTC_Pragma,
- to refer to both Test_Case pragma and Contract_Case pragma (same
- acronym as in Spec_CTC_List).
-
-2012-03-15 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb, sem_prag.ads, sem_util.ads, sem_attr.adb, sem_ch6.adb,
- sem_warn.adb: Minor reformatting.
-
-2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_util.adb (Initialized_By_Ctrl_Function): Do not loop over
- selector names as the function call always appears at the top selected
- component.
-
-2012-03-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Validate_Access_Subprogram_Instance): keep
- Mode_Conformance check for older versions of the language.
-
-2012-03-15 Yannick Moy <moy@adacore.com>
-
- * gnat_ugn.texi Document the extension of option -gnatw.t.
- * sem_ch3.adb (Analyze_Declaration): Check for suspicious
- contracts only after contract cases have been semantically
- analyzed.
- * sem_ch6.adb (Check_Subprogram_Contract): Consider also Ensures
- components of contract cases for detecting suspicious contracts.
-
-2012-03-15 Yannick Moy <moy@adacore.com>
-
- * aspects.adb, aspects.ads (Aspect_Id): New GNAT aspect
- Aspect_Contract_Case.
- * gnat_rm.texi Document the new pragma/aspect
- Contract_Case. Correct the documentation of the existing
- pragma/aspect Test_Case with the new semantics.
- * sem_attr.adb (Analyze_Attribute): Allow use of 'Result in the
- Ensures component of a Contract_Case pragma.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Check new aspect
- and translate it into a pragma.
- (Check_Aspect_At_Freeze_Point): Take into account the new aspect.
- * sem_ch3.adb, sinfo.adb, sinfo.ads Renaming of TC (for test case)
- into CTC (for contract and test case).
- * sem_ch6.adb (Process_PPCs): Generate Check pragmas from
- Contract_Case pragmas, similarly to what is done already for
- postconditions.
- * sem_prag.adb, sem_prag.ads (Check_Contract_Or_Test_Case):
- Renaming of Check_Test_Case.
- (Analyze_Pragma, Sig_Flags): Take into account the new pragma.
- * sem_util.adb, sem_util.ads Renaming to take into account the
- new pragma, so that functions which applied only to Test_Case
- now apply to both Test_Case and Contract_Case.
- * par-prag.adb, sem_warn.adb, snames.ads-tmpl Take into account
- the new pragma.
-
-2012-03-15 Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.ads: Minor comment updates.
- * sem_ch12.adb: Minor comment clarification.
-
-2012-03-15 Robert Dewar <dewar@adacore.com>
-
- * sem_ch5.adb: Minor reformatting.
-
-2012-03-15 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): When rewriting the
- declaration of a class-wide object, retain the Ekind to prevent
- subsequent misuse of constants.
-
-2012-03-15 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi, gnat_ugn.texi: Minor correction of invariant
- terminology.
-
-2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_util.adb (Initialized_By_Ctrl_Function): Add code to
- process the case when a function call appears in object.operation
- format.
-
-2012-03-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.ads, sem_ch6.adb (Check_Subtype_Conformant): add
- Get_Inst formal, so that conformance within an instantiation
- follows renamings of formals. This is similar to what is already
- done in Check_Mode_conformant.
- * sem_ch12.adb (Vailidate_Access_Subprogram_Instance): check that
- formal and actual are subtype conformant. Previously only mode
- conformance was required.
-
-2012-03-15 Robert Dewar <dewar@adacore.com>
-
- * par-ch6.adb, einfo.ads, sem_eval.adb, sem_eval.ads,
- sem_case.adb: Minor reformatting.
-
-2012-03-15 Robert Dewar <dewar@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference): Add handling
- of First_Valid/Last_Valid.
- * sem_attr.adb (Check_First_Last_Valid): New procedure
- (Analyze_Attribute): Add handling of First_Valid and Last_Valid
- (Eval_Attribute): ditto.
- * snames.ads-tmpl: Add entries for First_Valid and Last_Valid.
-
-2012-03-15 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Predicated_Loop): Suppress warnings on
- loop variable, for the unusual case where the range has a single
- element and the loop variable has no visible assignment to it.
-
-2012-03-15 Vincent Pucci <pucci@adacore.com>
-
- * exp_ch4.adb (Expand_N_Quantified_Expression): Expand the
- original quantified expression node.
- * sem_ch4.adb (Analyze_Quantified_Expression): Properly analyze
- the quantified expression and preserve the original non-analyzed
- quantified expression when an expansion is needed.
- * sem_ch5.adb (Analyze_Iteration_Scheme): Special treatment
- for quantified expressions.
- (Analyze_Iterator_Specification): Special treatment for quantified
- expressions.
-
-2012-03-15 Ed Falis <falis@adacore.com>
-
- * s-vxwork-ppc.ads: Update FP_CONTEXT so name of former pad
- field matches VxWorks headers.
-
-2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc-interface/Makefile.in (mips-sgi-irix6*): Remove.
-
- * a-intnam-irix.ads, mlib-tgt-specific-irix.adb,
- s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb,
- s-osinte-irix.ads, s-proinf-irix-athread.adb,
- s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads,
- system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads:
- Remove.
-
- * adaint.c [__mips && __sgi]: Remove.
- (__gnat_number_of_cpus) [__mips && __sgi]: Remove.
- [IS_CROSS && !(__mips && __sgi)]: Remove.
- * adaint.h [sgi && _LFAPI]: Remove.
- * cstreams.c (__gnat_full_name) [sgi]: Remove.
- * env.c (__gnat_unsetenv) [__mips && __sgi]: Remove.
- (__gnat_clearenv) [__mips && __sgi]: Remove.
- * errno.c (_SGI_MP_SOURCE): Remove.
- * gsocket.h [sgi]: Remove.
- * init.c: Remove IRIX reference.
- [sgi]: Remove.
- * link.c [sgi]: Remove.
- * s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define.
- (main) [__mips && __sgi] (MAX_tv_sec): Don't define.
- (CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove.
- * sysdep.c [sgi]: Remove.
- (getc_immediate_common) [sgi]: Remove.
- (__gnat_localtime_tzoff) [sgi]: Remove.
- * terminals.c [__mips && __sgi] (IRIX): Don't define.
- [IRIX] (USE_GETPTY): Don't define.
- (allocate_pty_desc) [USE_GETPTY]: Remove.
-
- * g-traceb.ads: Remove IRIX reference.
- * g-trasym.ads: Likewise.
- * memtrack.adb: Likewise.
- * s-interr-sigaction.adb: Likewise.
-
- * gnat_rm.texi (Implementation Advice): Remove SGI info.
- (Implementation Defined Characteristics): Likewise.
- * gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix):
- Remove.
- (Irix-Specific Considerations): Remove.
-
-2012-03-13 Tristan Gingold <gingold@adacore.com>
-
- * gcc-interface/gigi.h (flag_vms_malloc64): Refine condition.
-
-2012-03-13 Tristan Gingold <gingold@adacore.com>
-
- * sysdep.c: Adjust condition after removal of __osf__.
-
-2012-03-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (shift_unc_components_for_thin_pointers): Kill.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove call
- to above function.
- * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Adjust
- handling of thin pointers.
- <Attr_Descriptor_Size>: Likewise.
- (gnat_to_gnu) <N_Free_Statement>: Likewise.
- * gcc-interface/utils.c (shift_unc_components_for_thin_pointers): Kill.
- (convert_to_fat_pointer): Adjust handling of thin pointers.
- (convert) <POINTER_TYPE>: Likewise.
- * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
-
-2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc-interface/Makefile.in (alpha*-dec-osf*): Remove.
- * a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb,
- s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads,
- s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads,
- system-tru64.ads: Remove.
-
- * adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
- Remove.
- [IS_CROSS] [!(__alpha__ && __osf__)]: Remove.
- * env.c [__alpha__ && __osf__]: Remove.
- * gsocket.h (_OSF_SOURCE): Remove.
- (HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove.
- * init.c [__alpha__ && __osf__]: Remove.
- * link.c [__osf__]: Remove.
- * s-oscons-tmplt.c [__alpha__ && __osf__]: Remove.
- [__osf__ && !_SS_MAXSIZE]: Remove.
- * sysdep.c [__osf__]: Remove.
- * terminals.c [__alpha__ && __osf__]: Remove.
- [OSF1]: Remove.
-
- * g-traceb.ads: Remove Tru64 reference.
- * g-trasym.ads: Likewise.
- * gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise.
- (Summary of Run-Time Configurations): Likewise.
- * memtrack.adb: Likewise.
-
-2012-03-12 Tristan Gingold <gingold@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_param): Use flag_vms_malloc64
- instead of TARGET_MALLOC64.
- * gcc-interface/gigi.h (flag_vms_malloc64): Define instead
- of TARGET_MALLOC64.
-
-2012-03-09 Robert Dewar <dewar@adacore.com>
-
- * a-direct.adb, comperr.adb, freeze.adb: Minor reformatting.
-
-2012-03-09 Arnaud Charlet <charlet@adacore.com>
-
- * s-taskin.adb (Initialize_ATCB): Set Task_Image_Len to
- 0 so that we never access this field uninitialized (e.g. in
- Task_Primitives.Operations.Enter_Task for the environment task).
-
-2012-03-09 Vincent Pucci <pucci@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop):
- Call to Expand_Iterator_Loop_Over_Array added.
- (Expand_Iterator_Loop_Over_Array): New routine. Expansion of
- "of" iterator loop over arrays. Multidimensional array case added.
-
-2012-03-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * uintp.ads: Fix minor pasto in comment.
-
-2012-03-09 Vasiliy Fofanov <fofanov@adacore.com>
-
- * a-direct.adb: Do not strip the trailing directory separator
- from path, as this is already done inside Normalize_Pathname;
- doing it again produces the wrong result on Windows for the
- drive's root dir (i.e. "X:\" becomes "X:").
-
-2012-03-09 Thomas Quinot <quinot@adacore.com>
-
- * exp_attr.adb, freeze.adb, sem_attr.adb, aspects.adb, aspects.ads,
- sem_ch13.adb, snames.ads-tmpl (Exp_Attr.Expand_N_Attribute_Reference):
- Add Attribute_Scalar_Storage_Order.
- (Sem_Attr.Analyze_Attribute, Eval_Attribute): Ditto.
- (Aspects): Add Aspect_Scalar_Storage_Order (Snames): Add
- Name_Scalar_Storage_Order and Attribute_Scalar_Storage_Order.
- (Sem_Ch13.Analyze_Attribute_Definition_Clause): Add processing
- for Scalar_Storage_Order.
- (Freeze): If Scalar_Storage_Order is specified, check that it
- is compatible with Bit_Order.
-
-2012-03-09 Robert Dewar <dewar@adacore.com>
-
- * s-osinte-linux.ads, sem_util.adb, s-taprop-linux.adb, exp_ch4.adb,
- a-strsup.ads, sem_ch6.adb, a-stwisu.ads, exp_ch3.adb,
- a-stzsup.ads: Minor reformatting.
-
-2012-03-09 Thomas Quinot <quinot@adacore.com>
-
- * s-ransee-vms.adb: Minor reformatting.
-
-2012-03-09 Arnaud Charlet <charlet@adacore.com>
-
- * comperr.adb (Delete_SCIL_Files): Fix handling of
- N_Package_Renaming_Declaration and N_Generic_Package_Declaration.
-
-2012-03-09 Javier Miranda <miranda@adacore.com>
-
- * sem_ch6.adb (Check_Body_To_Inline): In AAMP and VM targets
- use frontend inlining at all optimization levels.
- * sem_util.adb (Must_Inline): In AAMP and VM targets, given that
- there is no inlining support in the backend, use also frontend
- inlining when compiling with optimizations enabled.
- * exp_ch6.adb (Expand_Call): Minor code reorganization.
-
-2012-03-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.h (TYPE_VAX_FLOATING_POINT_P): Move around.
- (TYPE_UNCONSTRAINED_ARRAY): Adjust comment.
- * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Tidy
- up. Add comment and use canonical predicate for thin pointers.
- (gnat_to_gnu) <N_Free_Statement>: Tidy up and reorder. Add comment
- and use canonical predicate for thin pointers.
- * gcc-interface/utils.c (convert_to_fat_pointer): Remove superfluous
- 'else' and use standard name.
- (convert_to_thin_pointer): Delete.
- (convert) <POINTER_TYPE>: Do the difference in sizetype directly and
- change obsolete idioms. Do not call above function.
- (unchecked_convert): Fix formatting.
- * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: In the thin
- pointer case, use byte_position to get the field position.
-
-2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set flags on the
- DECL node built for a type which has a non-trivial equivalent type.
-
-2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (rest_of_type_decl_compilation): Delete.
- * gcc-interface/decl.c (defer_finalize_level): Likewise.
- (defer_finalize_list): Likewise.
- (gnat_to_gnu_entity): Delete references to above variables and do not
- call rest_of_type_decl_compilation.
- (rest_of_type_decl_compilation): Delete.
- (rest_of_type_decl_compilation_no_defer): Likewise.
- * gcc-interface/utils.c (rest_of_record_type_compilation): Do not call
- rest_of_type_decl_compilation.
- (create_type_decl): Likewise.
- (update_pointer_to): Likewise.
-
-2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Identifier_to_gnu): Don't unshare initializer.
- (add_decl_expr): Mark external DECLs as used.
- * gcc-interface/utils.c (convert) <CONSTRUCTOR>: Copy the vector.
-
-2012-03-07 Tristan Gingold <gingold@adacore.com>
-
- * s-ransee-vms.adb: New file.
- * gcc-interface/Makefile.in: Use s-ransee-vms.adb on VMS.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2012-03-07 Bob Duff <duff@adacore.com>
-
- * rtsfind.ads: Add support for finding Super_String types.
- * sem_util.ads, sem_util.adb (Is_Bounded_String): New function
- to determine whether a given type is a bounded string type.
- (Is_Fully_Initialized_Type): Return True for bounded
- string types, to suppress bogus warnings.
- * exp_ch4.adb (Expand_Composite_Equality): Special case for bounded
- strings: equality composes. This allows us to remove default values in
- super strings.
- * a-strsup.ads, a-stwisu.ads, a-stzsup.ads: Update comments.
- * exp_ch3.adb (Expand_Freeze_Record_Type): Comment.
-
-2012-03-07 Robert Dewar <dewar@adacore.com>
-
- * sem_util.adb, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb: Minor
- reformatting.
-
-2012-03-07 Sergey Rybin <rybin@adacore.com frybin>
-
- * gnat_ugn.texi: gnatpp: fix paragraph about sources with
- preprocessor directives.
-
-2012-03-07 Arnaud Charlet <charlet@adacore.com>
-
- * s-osinte-linux.ads, s-taprop-linux.adb (prctl): New function.
- (Enter_Task): Call prctl when relevant.
-
-2012-03-07 Tristan Gingold <gingold@adacore.com>
-
- * s-osinte-vms.ads: pthread_mutex_setname_np: new function.
-
-2012-03-07 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Process_Formals): a generic subprogram with
- a formal incomplete type does not require a freeze node.
-
-2012-03-07 Bob Duff <duff@adacore.com>
-
- * sem_util.ads: Minor reformatting.
-
-2012-03-07 Geert Bosch <bosch@adacore.com>
-
- * targparm.ads: New target parameter Atomic_Sync_Default,
- defaulting to True.
- * targparm.adb (Get_Target_Parameters): Add processing for
- Atomic_Sync_Default.
- * gnat1drv.adb (Adjust_Global_Switches): Adjust Supress_Options
- based on ASD.
-
-2012-03-07 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Analyze_Object_Declaration): If the object
- declaration has an init expression then stop the analysis of the
- object declaration if the expression which initializes the object
- is a call to an inlined function which returns an unconstrained
- and has been expanded into a procedure call.
- * sem_ch5.adb (Has_Call_Using_Secondary_Stack): Add missing
- support to handle selected components.
- * sem_ch6.ads (Cannot_Inline): Adding parameter Is_Serious plus
- documentation.
- * sem_ch6.adb (Check_And_Build_Body_To_Inline): New
- subprogram which implements the checks required by the
- new rules for frontend inlining and builds the body to inline.
- (Analyze_Subprogram_Body_Helper): Move code that
- checks inlining of subprogram that has nested subprogram
- to Check_And_Build_Body_To_Inline. Replace call to
- Build_Body_To_Inline by call to the new subprogram
- Check_And_Build_Body_To_Inline.
- (Cannot_Inline): New implementation.
- * sem_ch12.adb (Analyze_Package_Instantiation.Must_Inline_Subp):
- New subprogram.
- * sem_util.ad[sb] (Must_Inline): New subprogram.
- (Returns_Unconstrained_Type): New subprogram.
- * sem_res.adb (Resolve_Call): Do not create a transient scope
- for inlined calls.
- * inline.ads (Analyzing_Inlined_Bodies): Remove unreferenced variable.
- * inline.adb (Analyze_Inlined_Bodies, Initialize): Remove setting
- to false the variable Analyzing_Inlined_Bodies. Fix comments.
- * exp_ch4.adb (Expand_N_Allocator): Fix handling of finalization master.
- * exp_ch6.ads (List_Inlining_Info): New subprogram.
- * exp_ch6.adb (Expand_Call.Do_Inline): New subprogram.
- (Expand_Call.Do_Inline_Always): New subprogram.
- (In_Unfrozen_Instance): Move the declaration of this subprogram.
- (Expand_Inlined_Call.Reset_Dispatching_Calls): New subprogram.
- (Expand_Inlined_Call): Adding new support for inlining functions
- that return unconstrained types.
- (List_Inlining_Info): New subprogram.
- * debug.adb Document flags -gnatd.j and -gnatd.k
- * gnat1drv.adb Add call to generate the new listing of inlined
- calls and calls passed to the backend.
-
-2012-03-07 Robert Dewar <dewar@adacore.com>
-
- * sem_ch5.adb, s-vaflop.adb, s-taprop-vms.adb, exp_ch6.adb,
- s-gearop.adb, sem_ch6.adb, g-trasym.adb: Minor reformatting.
-
-2012-03-07 Javier Miranda <miranda@adacore.com>
-
- * a-ngrear.ads: Add documentation.
-
-2012-03-07 Tristan Gingold <gingold@adacore.com>
-
- * s-taprop-vms.adb (Create_Task): set thread name.
- * s-osinte-vms.ads (pthread_attr_setname_np): Declare.
-
-2012-03-07 Arnaud Charlet <charlet@adacore.com>
-
- * g-trasym.adb: Minor reformatting.
-
-2012-03-07 Robert Dewar <dewar@adacore.com>
-
- * a-ngrear.ads: Minor addition of ??? comment.
-
-2012-03-07 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch4.adb (Apply_Accessibility_Check): Call
- Remove_Side_Effects in the build-in-place case, to ensure that
- we capture the call and don't end up with two calls.
-
-2012-03-07 Javier Miranda <miranda@adacore.com>
-
- * exp_ch6.adb (Expand_Inlined_Call): Skip inlining of functions
- that return unconstrained types using an extended return statement
- since the support for inlining these functions has not been yet
- added to the frontend.
- * s-vaflop.adb, s-vaflop-vms-alpha.adb: Code reorganization.
- * a-ngrear.ads: Replace all the Inline_Always pragmas by pragma
- Inline.
- * a-ngrear.adb (Eigenvalues, Transpose): Restructured to use
- extended return statement.
- * a-strsup.adb, a-stzsup.adb, a-stwisu.adb (Concat, Super_Slice,
- Super_To_String): Restructured to use extended return statement.
- * a-chahan.adb (To_Basic, To_Lower, To_Upper): Restructured to
- use extended return statement.
- * s-gearop.adb (Diagonal, Matrix_Elementwise_Operation,
- Vector_Elementwise_Operation, Matrix_Elementwise_Operation,
- Matrix_Matrix_Scalar_Elementwise_Operation,
- Vector_Vector_Elementwise_Operation,
- Vector_Vector_Scalar_Elementwise_Operation,
- Matrix_Scalar_Elementwise_Operation,
- Vector_Scalar_Elementwise_Operation,
- Scalar_Matrix_Elementwise_Operation,
- Scalar_Vector_Elementwise_Operation, Matrix_Matrix_Product,
- Matrix_Vector_Product, Outer_Product, Unit_Matrix, Unit_Vector,
- Vector_Matrix_Product): Restructured to use extended return
- statement.
-
-2012-03-07 Vincent Pucci <pucci@adacore.com>
-
- * sem_ch5.adb (One_Bound): Minor reformatting.
-
-2012-03-07 Tristan Gingold <gingold@adacore.com>
-
- * s-osinte-vms-ia64.adb, s-osinte-vms-ia64.ads, s-osinte-vms.adb,
- s-osinte-vms.ads, gcc-interface/Makefile.in: Merge s-osinte-vms and
- s-osinte-vms-ia64.
-
-2012-03-07 Ed Schonberg <schonberg@adacore.com>
-
- * checks.adb (Apply_Predicate_Check): Do not generate a predicate
- check is the context is an internally generated type-specific
- function.
- * sem_ch6.adb (Process_PPCs); the formals of internally generated
- type-specific functions do not get assertion checks.
-
-2012-03-07 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi: Minor renaming of title.
- * gnat_ugn.texi: Minor correction.
-
-2012-03-07 Vincent Pucci <pucci@adacore.com>
-
- * exp_ch4.adb (Expand_N_Quantified_Expression): Minor
- reformating.
- * sem_ch4.adb (Analyze_Quantified_Expression): Creation and
- analysis of the iteration scheme added in all cases.
- * sem_ch5.adb (Analyze_Iteration_Scheme): Minor reformating.
- (Analyze_Iterator_Specification): Minor reformating.
- * sem_res.adb (Resolve_Quantified_Expression): Resolution of
- the condition added in all cases.
-
-2012-03-07 Thomas Quinot <quinot@adacore.com>
-
- * einfo.adb, einfo.ads: Add flag Reverse_Storage_Order.
-
-2012-03-07 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi, gnat_ugn.texi: Rewording of GNAT UG and GNAT RM to
- account for Ada 2012 assertions, and their pragma counterparts in GNAT.
-
-2012-03-07 Thomas Quinot <quinot@adacore.com>
-
- * exp_attr.adb, sem_attr.adb: Minor reformatting.
-
-2012-03-07 Bob Duff <duff@adacore.com>
-
- * hostparm.ads (Max_Instantiations): Increase parameter.
-
-2012-03-07 Bob Duff <duff@adacore.com>
-
- * par-prag.adb: Minor code rearrangement.
-
-2012-03-07 Bob Duff <duff@adacore.com>
-
- * a-strsup.ads, a-stwisu.ads, a-stzsup.ads (Super_String):
- Remove default initial value for Data. It is no longer needed
- because "=" now composes properly for untagged records. This
- default has caused efficiency problems.
-
-2012-03-07 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Actuals): If the actual is a selected
- component of an anonymous access type, whose prefix is a variable,
- treat the variable as if it may be modified by the call, to
- suppress spurious warnings that a variable might be declared as
- a constant.
-
-2012-03-07 Thomas Quinot <quinot@adacore.com>
-
- * einfo.adb, einfo.ads: Remove unused entity flags.
-
-2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat_ugn.texi (Inline Assembler): Fix swapping of Input and
- Output operands throughout.
-
-2012-03-07 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch12.adb (Earlier): When two nodes come from the same
- generic instantiation, compare their locations. Otherwise always
- use the top level locations of the nodes.
-
-2012-03-07 Thomas Quinot <quinot@adacore.com>
-
- * einfo.ads, sem_prag.adb: Minor reformatting.
-
-2012-03-05 Jason Merrill <jason@redhat.com>
-
- * gcc-interface/Make-lang.in (doc/gnat_ugn.texi): Build xgnatugn
- before using it.
-
-2012-03-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnatvsn.ads (Library_Version): Bump to 4.8.
-
-2012-03-03 H.J. Lu <hongjiu.lu@intel.com>
-
- * init.c (__gnat_adjust_context_for_raise): Also check
- "orq $0x0,(%esp)" for x32.
-
- * link.c (__gnat_default_libgcc_subdir): Set to libx32 for x32.
-
- * gcc-interface/Makefile.in (arch): Set to x32 if MULTISUBDIR
- is /x32 and add support for x32.
-
-2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (components_to_record): Add ARTIFICIAL parameter
- and set TYPE_ARTIFICIAL according to it. Adjust recursive call.
- (gnat_to_gnu_entity) <E_Record_Type>: Adjust call to above function.
- * gcc-interface/utils.c (rest_of_record_type_compilation): Do not
- invoke rest_of_type_decl_compilation on the parallel type, if any.
-
-2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (gnat_write_global_declarations): Make sure the
- dummy global built for global types is preserved.
-
-2012-02-27 Tristan Gingold <gingold@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
- E_Array_Type]: Reuse dummy fat type for gnu_ptr_template and
- gnu_template_type.
-
-2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking.
- (TYPE_BY_REFERENCE_P): New flag.
- (TYPE_IS_BY_REFERENCE_P): New macro.
- (TYPE_DUMMY_P): Add checking and remove VOID_TYPE.
- (TYPE_IS_DUMMY_P): Adjust for above change.
- * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_BY_REFERENCE_P
- and TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE.
- (gnat_to_gnu_param): Likewise.
- (maybe_pad_type): Likewise.
- (make_type_from_size): Use TYPE_IS_PACKED_ARRAY_TYPE_P.
- * gcc-interface/misc.c (must_pass_by_ref): Use TYPE_IS_BY_REFERENCE_P
- instead of TREE_ADDRESSABLE.
- * gcc-interface/trans.c (finalize_nrv): Likewise.
- (call_to_gnu): Likewise. Do not create a temporary for return values
- with by-reference type here.
- (gnat_to_gnu): Test TYPE_IS_DUMMY_P instead of TYPE_DUMMY_P.
- (gnat_gimplify_expr) <ADDR_EXPR>: Don't do anything for non-constant
- CONSTRUCTORs and calls.
- * gcc-interface/utils.c (make_dummy_type): Get the equivalent type of
- the underlying type and use it throughout. Use TYPE_IS_BY_REFERENCE_P
- instead of TREE_ADDRESSABLE.
- * gcc-interface/utils2.c (build_cond_expr): Deal with by-reference
- types explicitly.
-
-2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Revert previous
- change that creates a special VAR_DECL for debugging purposes. For an
- aliased object with an unconstrained nominal subtype, make its type a
- thin reference to the underlying object.
- * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Deal with
- expressions built for the initialization of above objects.
-
-2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
- Windows-specific make variable.
- (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
- (install-gnatlib): Respect the above during installation when set,
- and also install any windows import library that has been built.
- (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
- build a corresponding import library.
-
-2012-02-22 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor
- reformatting.
-
-2012-02-22 Geert Bosch <bosch@adacore.com>
-
- * g-bytswa-x86.adb, g-bytswa.adb, gcc-interface/Makefile.in: Remove
- x86-specific version of byteswap and use GCC builtins instead.
-
-2012-02-22 Tristan Gingold <gingold@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
- E_Array_Type]: Translate component ealier.
-
-2012-02-22 Robert Dewar <dewar@adacore.com>
-
- * par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize
- error message for 'Range.
-
-2012-02-22 Pascal Obry <obry@adacore.com>
-
- * s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as
- this is our own thread.
-
-2012-02-22 Sergey Rybin <rybin@adacore.com frybin>
-
- * tree_io.ads: Update ASIS_Version_Number because of the changes
- in Snames.
-
-2012-02-22 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on
- stack-related finalizers.
-
-2012-02-22 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Expression_Function): If the construct
- is a completion, indicate that its formals are the formals of
- a completion, and as such do not get a cross- reference entry.
- (Analyze_Subprogram_Specification): Do not generate a definition
- for the entity of an expression function, because it may be a
- completion. Definition will be generated if needed when analyzing
- the generated subprogram declaration.
-
-2012-02-22 Vincent Celier <celier@adacore.com>
-
- * make.adb (Check): When checking if an object file is in the
- correct object directory, get the unit name from a previous call
- to Check_Source_Info_In_ALI.
- * makeutl.adb (Check_Source_Info_In_ALI): Return the name of
- the unit when everything is OK, otherwise return No_Name.
- * makeutl.ads (Check_Source_Info_In_ALI): Return Name_Id instead
- of Boolean
-
-2012-02-22 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): In an
- instance, the operator is visible if an operand is of some
- numeric type which is not in use or directly visible, and the
- other operand is a numeric literal.
-
-2012-02-22 Tristan Gingold <gingold@adacore.com>
-
- * init.c: Minor code clean up.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2012-02-22 Arnaud Charlet <charlet@adacore.com>
-
- * gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node,
- otherwise GCC will generate an object file.
-
-2012-02-22 Vincent Celier <celier@adacore.com>
-
- * projects.texi: Correct typo related to "**" in Source_Dirs.
-
-2012-02-22 Steve Baird <baird@adacore.com>
-
- * sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of
- error message text.
-
-2012-02-22 Vincent Pucci <pucci@adacore.com>
-
- * rtsfind.adb (Get_Unit_Name): Ada_Numerics_Child and
- System_Dim_Child cases added.
- * rtsfind.ads: Ada_Numerics,
- Ada_Numerics_Generic_Elementary_Functions, System_Dim,
- System_Dim_Float_IO and System_Dim_Integer_IO added to the list
- of RTU_Id. Ada_Numerics_Child and System_Dim_Child added as
- new RTU_Id subtypes.
- * sem_dim.adb (Is_Dim_IO_Package_Entity): Use of
- Rtsfind to verify the package entity is located either
- in System.Dim.Integer_IO or in System.Dim.Float_IO.
- (Is_Dim_IO_Package_Instantiation): Minor
- changes. (Is_Elementary_Function_Call): Removed.
- (Is_Elementary_Function_Entity): New routine.
- (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity call added.
- * snames.ads-tmpl: Name_Dim and Name_Generic_Elementary_Functions
- removed.
-
-2012-02-22 Vincent Pucci <pucci@adacore.com>
-
- * sem_prag.adb: Minor reformatting.
-
-2012-02-22 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Find_Type_Name): When analyzing a private type
- declaration that is the completion of a tagged incomplete type, do
- not associate the class-wide type already created with the private
- type to prevent order-of-elaboration issues in the back-end.
- * exp_disp.adb (Find_Specific_Type): Find specific type of
- a class-wide type, and handle the case of an incomplete type
- coming either from a limited_with clause or from an incomplete
- type declaration. Used when expanding a dispatchin call and
- generating tag checks (minor refactoring).
-
-2012-02-22 Robert Dewar <dewar@adacore.com>
-
- * exp_ch5.adb: Add comment.
- * sem_ch12.adb, exp_ch6.adb: minor reformatting
-
-2012-02-22 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb (Freeze_Entity): Do not perform type layout within
- a generic unit.
-
-2012-02-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * init.c (__gnat_error_handler) [Linux]: Map SIGBUS to
- Storage_Error.
-
-2012-02-22 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_N_Assignment_Statement): Reject an
- assignment to a classwide type whose type is limited, as
- can happen in an instantiation in programs that run afoul or
- AI05-0087.
-
-2012-02-17 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.adb (Legal_Copy): If layout is not
- determined in the front-end, do not emit error message when
- by-reference actual is potentially unaligned.
- * gcc-interface/decl.c (gnat_to_gnu_field): Better error message for
- illegal representation clause on tagged or aliased component, or on
- by-reference type with forced alignment.
-
-2012-02-17 Nicolas Roche <roche@adacore.com>
-
- * gcc-interface/Makefile.in: Ensure FORCE_DEBUG_ADAFLAGS variables is
- propagated by gnatlib-sjlj and gnatlib-zcx targets.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2012-02-17 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch12.adb (Analyze_Package_Instantiation): For an
- instantiation in an RCI library unit, omit the instance body
- if the RCI library unit is the instance itself (E.2.3(18)),
- but include the body if the instantiation is within the RCI
- declaration (12.3(12)).
-
-2012-02-17 Steve Baird <baird@adacore.com>
-
- * sem_prag.adb (Analyze_PPC_In_Decl_Part): Pre'Class and
- Post'Class aspects can only be specified for a primitive operation
- of a tagged type.
-
-2012-02-17 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi: Minor shuffling.
-
-2012-02-17 Ed Schonberg <schonberg@adacore.com>
-
- * aspects.adb: Expression functions can carry pre/postconditions.
- * par-ch6.adb (P_Subprogram): look for optional pre/postconditions
- in an expression function.
- * sem_prag (Check_Precondition_Postcondition): legal on expression
- functions.
-
-2012-02-17 Vincent Pucci <pucci@adacore.com>
-
- * a-cdlili.adb, a-cidlli.adb, a-cihama.adb, a-cimutr.adb,
- * a-ciorma.adb, a-cohama.adb, a-coinve.adb, a-comutr.adb,
- * a-convec.adb, a-coorma.adb (Adjust): New routine.
- (Constant_Reference): Increment Busy and Lock counters.
- (Reference): Increase Busy and Lock counters.
- (Finalize): New routine.
- * a-cihase.adb, a-ciorse.adb, a-cohase.adb, a-coorse.adb:
- (Adjust): New routine. (Constant_Reference): Increment Busy
- and Lock counters.
- (Finalize): New routine.
- * a-cdlili.ads, a-cidlli.ads, a-cihama.ads, a-cihase.ads,
- * a-cimutr.ads, a-ciorma.ads, a-ciorse.ads, a-cohama.ads,
- * a-cohase.ads, a-coinve.ads, a-comutr.ads, a-convec.ads,
- * a-coorma.ads, a-coorse: Controlled component added to the
- reference types.
-
-2012-02-17 Robert Dewar <dewar@adacore.com>
-
- * restrict.adb (Check_Restriction): Add special handling for
- No_Obsolescent_Features.
-
-2012-02-17 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_util.adb (Find_Finalize_Address): When dealing with an
- internally built full view for a type with unknown discriminants,
- use the original record type.
-
-2012-02-17 Robert Dewar <dewar@adacore.com>
-
- * sem_dim.adb: Minor reformatting.
-
-2012-02-17 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi: Minor rewording.
-
-2012-02-17 Thomas Quinot <quinot@adacore.com>
-
- * sem_aggr.adb: Minor reformatting.
-
-2012-02-17 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case.
-
-2012-02-17 Vincent Pucci <pucci@adacore.com>
-
- * sem_dim.adb (Is_Dim_IO_Package_Entity): New routine.
- (Is_Dim_IO_Package_Instantiation): Is_Dim_IO_Package_Entity
- call added.
- (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity
- call added.
- * s-dim.ads: Make package Pure.
-
-2012-02-17 Gary Dismukes <dismukes@adacore.com>
-
- * prj-nmsc.adb: Minor reformatting.
-
-2012-02-17 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions.
-
-2012-02-17 Yannick Moy <moy@adacore.com>
-
- * gnat_ugn.texi: Fix typos.
-
-2012-02-17 Pascal Obry <obry@adacore.com>
-
- * prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an
- aggregate is not Externally_Built.
-
-2012-02-17 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Resolve_Record_Aggregate): If a composite
- component has a box association, copy the default value using
- the current scope as the scope of internal types, to prevent
- scoping anomalies in gigi.
-
-2012-02-17 Robert Dewar <dewar@adacore.com>
-
- * sem_dim.adb, sem_dim.ads, s-tasren.adb, prj.adb, prj.ads, freeze.adb,
- sem_res.adb, exp_ch4.adb, sinput.adb, sinput.ads, exp_aggr.adb,
- exp_intr.adb, s-os_lib.adb: Minor reformatting.
-
-2012-02-17 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Is_Non_Overriding_Operation): Add warning if the
- old operation is abstract, the relevant type is not abstract,
- and the new subprogram fails to override.
-
-2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Identifier_to_gnu): Move block retrieving the
- type of the result to the end and execute it for a deferred constant of
- a discriminated type whose full view can be elaborated statically.
-
-2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gnat_to_gnu) <N_Qualified_Expression>: If the
- type is tagged, mark it as used for debugging purposes.
- <N_Allocator>: Likewise for a qualified expression.
-
-2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
- return value in the by-reference return type case if this isn't the
- expression of an object declaration. Tidy up.
-
-2012-02-09 Tristan Gingold <gingold@adacore.com>
-
- * gcc-interface/Makefile.in: Remove .sym rule (not used).
- Remove adamsg.o object (requires native message compiler).
- * init.c (CMA$_EXIT_THREAD, MTH$_FLOOVEMAT, SS$_INTDIV): Define as a
- macro instead of as extern int.
- (ADA$_ALREADY_OPEN, ADA$_CONSTRAINT_ERRO, ADA$_DATA_ERROR)
- (ADA$_DEVICE_ERROR, ADA$_END_ERROR, ADA$_FAC_MODE_MISMAT)
- (ADA$_IOSYSFAILED, ADA$_KEYSIZERR, ADA$_KEY_MISMATCH)
- (ADA$_LAYOUT_ERROR, ADA$_LINEXCMRS, ADA$_MAXLINEXC)
- (ADA$_MODE_ERROR, ADA$_MRN_MISMATCH, ADA$_MRS_MISMATCH)
- (ADA$_NAME_ERROR, ADA$_NOT_OPEN, ADA$_ORG_MISMATCH)
- (ADA$_PROGRAM_ERROR, ADA$_RAT_MISMATCH, ADA$_RFM_MISMATCH)
- (ADA$_STAOVF, ADA$_STATUS_ERROR, ADA$_STORAGE_ERROR)
- (ADA$_UNSUPPORTED, ADA$_USE_ERROR): Likewise.
- (struct cond_except): Field cond is now an unsigned int.
- (dec_ada_cond_except_table): Adjust.
- (cond_except_table): Likewise.
- (cond_resignal_table): Likewise.
- (__gnat_default_resignal_p): Fix style.
-
-2012-02-08 Vincent Celier <celier@adacore.com>
-
- * gcc-interface/Make-lang.in: Add g-byorma.o to gnatbind objects
- (g-buorma is now imported by sinput).
- Update dependencies.
- * scn.adb (Initialize_Scanner): Call Check_For_BOM
- * sinput-p.adb (Source_File_Is_Subunit): Call Check_For_BOM
- * sinput.adb: New procedure Check_For_BOM
- * sinput.ads: New procedure Check_For_BOM
-
-2012-02-08 Vincent Pucci <pucci@adacore.com>
-
- * impunit.adb: Dimension package names updated
- * Makefile.rtl: s-dim added
- * sem_dim.adb (Is_Procedure_Put_Call): minor changes
- (Is_Dim_IO_Package_Instantiation): minor changes
- * sem_dim.ads: minor changes in comments
- * snames.ads-tmpl: Name_Dim added Name_Dim_Float_IO and
- Name_Dim_Integer_IO removed
- * s-dim.ads: New package. Define the dimension terminology.
- * s-diflio.adb, s-diinio.adb, s-dimkio.ads, s-dimmks.ads,
- * s-dmotpr.ads: Package names updated.
- * s-diflio.ads, s-diinio.ads: Documentation added and package
- names updated.
-
-2012-02-08 Gary Dismukes <dismukes@adacore.com>
-
- * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): Revise test
- for storage pools to test for an underlying record type rather than
- testing Is_Tagged_Type, so that simple storage pools will be handled
- the same as normal Ada storage pools.
-
-2012-02-08 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi: Minor reshuffling to place restriction at
- appropriate place.
-
-2012-02-08 Bob Duff <duff@adacore.com>
-
- * warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value
- False for '-gnatwA', to suppress these warnings.
-
-2012-02-08 Vincent Celier <celier@adacore.com>
-
- * sinput-p.adb (Source_File_Is_Subunit): Check for BOM before
- starting to scan, so that UTF8 encoding is taken into account.
-
-2012-02-08 Arnaud Charlet <charlet@adacore.com>
-
- * s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New
- function.
- (Complete_Rendezvous): Now call Internal_Complete_Rendezvous.
- (Exceptional_Complete_Rendezvous): Mark No_Return.
-
-2012-02-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_aggr.adb (Compile_Time_Known_Composite_Value):
- New predicate to compute whether a composite value can be
- evaluated at compile time.
- (Component_Not_OK_For_Backend): Use Compile_Time_Known_Value for all
- expressions of elementary type and Compile_Time_Known_Composite_Value
- for all other expressions.
- (Expand_Record_Aggregate): Convert to assignments in the case
- of a type with mutable components if the aggregate cannot be
- built statically.
-
-2012-02-08 Gary Dismukes <dismukes@adacore.com>
-
- * aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type.
- (Impl_Defined_Aspects): Add association for
- Aspect_Simple_Storage_Pool_Type.
- (Aspect_Names): Add
- association for Aspect_Simple_Storage_Pool_Type.
- * aspects.adb:
- (Canonical_Aspect): Add association for Simple_Storage_Pool_Type.
- * exp_attr.adb (Expand_N_Attribute_Reference):
- Change name to Name_Simple_Storage_Pool_Type.
- * exp_ch4.adb (Expand_N_Allocator): Change
- name to Name_Simple_Storage_Pool_Type.
- * exp_intr.adb (Expand_Unc_Deallocation): Change name to
- Name_Simple_Storage_Pool_Type. * freeze.adb (Freeze_Entity):
- Change names to Name_Simple_Storage_Pool_Type. * par-prag.adb:
- Change names to Name_Simple_Storage_Pool_Type. * sem_attr.adb:
- (Analyze_Attribute): Change name to Name_Simple_Storage_Pool_Type.
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause):
- Change name to Name_Simple_Storage_Pool_Type.
- * sem_prag.adb:
- (Analyze_Pragma): Change name to Name_Simple_Storage_Pool_Type.
- (Sig_Flags): Change name to Name_Simple_Storage_Pool_Type.
- * sem_res.adb (Resolve_Allocator): Change name to
- Name_Simple_Storage_Pool_Type. * snames.ads-tmpl:
- (Name_Simple_Storage_Pool_Type): New name constant.
- (type Pragma_Id): Change name to Name_Simple_Storage_Pool_Type and
- move to main pragma section because it no longer matches the
- attribute name.
- * snames.adb-tmpl (Get_Pragma_Id): Remove test for
- Name_Simple_Storage_Pool.
- (Is_Pragma_Name): Remove test for Name_Simple_Storage_Pool.
-
-2012-02-08 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws.
-
-2012-02-08 Pascal Obry <obry@adacore.com>
-
- * prj.adb (Compute_All_Imported_Projects): Use new
- For_Project_And_Aggregated_Context to ensure proper context is
- used for encapsulated aggregate libraries.
- * prj-proc.adb (Recursive_Process): Call
- Process_Aggregated_Projects earlier to ensure that all dependent
- projects are set with the proper encapsulated status.
-
-2012-02-08 Pascal Obry <obry@adacore.com>
-
- * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null
- terminated string.
-
-2012-02-08 Pascal Obry <obry@adacore.com>
-
- * prj.ads, prj.adb (For_Project_And_Aggregated_Context): New
- generic routine with a context parameter.
-
-2012-02-08 Robert Dewar <dewar@adacore.com>
-
- * a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb,
- a-convec.adb: Minor reformatting and code reorganization.
-
-2012-02-08 Steve Baird <baird@adacore.com>
-
- * sem_cat.adb (In_Preelaborated_Unit): A child
- unit instantiation does not inherit preelaboration requirements
- from its parent.
-
-2012-02-08 Gary Dismukes <dismukes@adacore.com>
-
- * aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool.
- (Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool.
- (Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool.
- (Aspect_Names): Add entry for Aspect_Simple_Storage_Pool.
- * aspects.adb (Canonical_Aspect): Add entry for
- Aspect_Simple_Storage_Pool.
- * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of
- Attribute_Simple_Storage_Pool in the same way as Storage_Pool
- (add conversion, analyze/resolve). For the Storage_Size attribute,
- for the simple pool case, locate and use the simple pool type's
- Storage_Size function (if any), otherwise evaluate to zero.
- * exp_ch4.adb (Expand_N_Allocator): In the case of an allocator
- for an access type with an associated simple storage pool,
- locate and use the pool type's Allocate.
- * exp_intr.adb (Expand_Unc_Deallocation): In the case where the
- access type has a simple storage pool, locate the pool type's
- Deallocate procedure (if present) and use it as the procedure
- to call on the Free operation.
- * freeze.adb (Freeze_Entity): In the case of a full type for
- a private type defined with pragma Simple_Storage_Pool, check
- that the full type is also appropriate for the pragma. For
- a simple storage pool type, validate that the operations
- Allocate, Deallocate (if present), and Storage_Size
- (if present) are defined with appropriate expected profiles.
- (Validate_Simple_Pool_Op_Formal): New procedure
- (Validate_Simple_Pool_Operation): New procedure Add with and
- use of Rtsfind.
- * par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement
- (no action required).
- * sem_attr.adb (Analyze_Attribute): For the case of the
- Storage_Pool attribute, give a warning if the prefix type has an
- associated simple storage pool, and rewrite the attribute as a
- raise of Program_Error. In the case of the Simple_Storage_Pool
- attribute, check that the prefix type has an associated simple
- storage pool, and set the attribute type to the pool's type.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Add
- Aspect_Simple_Storage_Pool case choice.
- (Analyze_Attribute_Definition_Clause): Add
- Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses
- (no action). Add handling for Simple_Storage_Pool attribute
- definition, requiring the name to denote a simple storage pool
- object.
- (Check_Aspect_At_Freeze_Point): For a simple storage pool
- aspect, set the type to that of the name specified for the aspect.
- * sem_prag.adb (Analyze_Pragma): Add handling for pragma
- Simple_Storage_Pool, requiring that it applies to a library-level
- type declared in a package declaration that is a limited private
- or limited record type.
- * sem_res.adb (Resolve_Allocator): Flag an attempt to call a
- build-in-place function in an allocator for an access type with
- a simple storage pool as unsupported.
- * snames.ads-tmpl: Add Name_Simple_Storage_Pool.
- (type Attribute_Id): Add Attribute_Simple_Storage_Pool.
- (type Pragma_Id): Add Pragma_Simple_Storage_Pool.
- * snames.adb-tmpl (Get_Pragma_Id): Handle case of
- Name_Simple_Storage_Pool.
- (Is_Pragma_Name): Return True for Name_Simple_Storage_Pool.
-
-2012-02-08 Cyrille Comar <comar@adacore.com>
-
- * projects.texi: Clarify doc for interfaces.
-
-2012-02-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable.
- (GCC_LINK): Use it.
-
-2012-02-01 Tristan Gingold <gingold@adacore.com>
-
- * gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype
- instead of size_type_node.
-
-2012-01-30 Nicolas Roche <roche@adacore.com>
-
- * gcc-interface/Make-lang.in: Update dependencies.
- * gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads
- when needed.
- Remove Linker_Options -crtbe when building sjlj run-time.
-
-2012-01-30 Robert Dewar <dewar@adacore.com>
-
- * sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode.
- * sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of
- form 2 * small-literal.
- * sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious
- mod value).
- * sem_ch4.ads (Analyze_Mod): New procedure.
-
-2012-01-30 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy
- types and return expression when building spec for implicit
- body, to preserve global references that may be present in an
- instantiation.
-
-2012-01-30 Matthew Heaney <heaney@adacore.com>
-
- * a-convec.adb, a-coinve.adb, a-cobove.adb (Sort,
- Reverse_Elements): Check for cursor tampering.
-
-2012-01-30 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a
- type with aspect Default_Value or Default_Component_Value is
- fully initialized, and use of variables of such types do not
- generate warnings.
-
-2012-01-30 Javier Miranda <miranda@adacore.com>
-
-PR ada/15846
- * sem_ch8.adb (Analyze_Subprogram_Renaming):
- Handle self-renaming when the renamed entity is referenced using
- its expanded name.
-
-2012-01-30 Vincent Celier <celier@adacore.com>
-
- * projects.texi: Add documentation for attribute Interfaces.
-
-2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Build_Finalizer_Call): Set loc again.
- * exp_ch11.adb (Expand_At_End_Handler): Do not provide a source
- location for the wrapped call to the original AT_END routine
- and the subsequent return statement.
-
-2012-01-30 Pascal Obry <obry@adacore.com>
-
- * s-rannum.adb: Minor reformatting.
-
-2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-calend-vms.adb, a-calend.adb: Increment the number of leap seconds
- to 25 and add the hard time value for 2012-06-30.
-
-2012-01-30 Robert Dewar <dewar@adacore.com>
-
- * a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb,
- freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads,
- s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb:
- Minor reformatting/code reorganization.
-
-2012-01-30 Thomas Quinot <quinot@adacore.com>
-
- * s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return
- Unsigned_64 rather than Duration.
- (System.Random_Numbers.Reset): Use full value of seed
- (do not truncate sub-second bits).
-
-2012-01-30 Thomas Quinot <quinot@adacore.com>
-
- * sem_cat.adb, sem_ch12.adb: Minor reformatting.
-
-2012-01-30 Yannick Moy <moy@adacore.com>
-
- * gnat_ugn.texi: Minor correction of GNAT UG, to take into
- account changes to -gnatwa and more recent warnings.
-
-2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Build_Finalizer_Call): Do not provide a source
- location when creating a call to a finalizer.
- * exp_ch11.adb (Expand_Exception_Handlers): Do not provide
- a source location for the first actual of Save_Occurrence for
- consistency sake.
-
-2012-01-30 Ed Schonberg <schonberg@adacore.com>
-
- * einfo.ads, einfo,adb: New attribute on scalar types:
- Default_Aspect_Value New attribute on array types:
- Default_Aspect_Component_Value Move attribute Related_Array_Object
- to a different position to accomodate new aspect attributes.
- * freeze.adb (Freeze_Entity): Use new attributes to retrieve value
- of defaults set with an aspect specification, rather than using
- the list of aspects attached to the type, to prevent issues with
- partial views.
- * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
- Default_Value and Default_Component _Value, store corresponding
- expression in type entity.
- (Check_Aspect_At_End_Of_Declaration): If the default aspects
- are declared on the full view, use the full view to resolve the
- correseponding expression.
- * exp_ch3.adb (Init_Component): Use attribute
- Default_Aspect_Component_Value to perform default initialization,
- rather than relying on the rep item list for the type.
- (Get_Simple_Init_Val): Ditto.
-
-2012-01-30 Thomas Quinot <quinot@adacore.com>
-
- * a-strhas.ads: Document risk of collision attack.
-
-2012-01-30 Yannick Moy <moy@adacore.com>
-
- * gnat_ugn.texi: Minor update wrt warning switches.
-
-2012-01-30 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Check_Interfaces): Report an error when a
- unit from Library_Interface is not a unit of the project.
-
-2012-01-30 Vincent Pucci <pucci@adacore.com>
-
- * sem_prag.adb (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Parent
- links fixed inside PPC pragmas.
- * sem_ch12.adb: Move call to Make_Aspect_For_PPC_In_Gen_Sub_Decl.
-
-2012-01-30 Thomas Quinot <quinot@adacore.com>
-
- * s-ransee.ads: Minor reformatting.
-
-2012-01-30 Pascal Obry <obry@adacore.com>
-
- * prj.ads, prj.adb (For_Each_Source): Add support for skipping
- sources coming from an encapsulated library.
-
-2012-01-30 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Process-Full_View): fix typo.
- * sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates
- appear on a private type and the full view is available, ensure
- existence of freeze node for full view.
- (Build_Predicate_Function): Attach predicate function to both
- views of a private type.
-
-2012-01-30 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs
- for the project if either attribute Library_Interface or
- Interfaces is declared.
- (Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in
- Check_Interfaces.
-
-2012-01-30 Pascal Obry <obry@adacore.com>
-
- * prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib
- boolean value to true in the process list created by this routine.
- * prj.ads (Project_List_Element): New field From_Encapsulated_Lib.
- Continued work for KA06-021.
- * prj.adb (Compute_All_Imported_Projects): Set
- From_Encapsulated_Lib boolean flag.
-
-2012-01-30 Vincent Pucci <pucci@adacore.com>
-
- * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
- code clean up.
- * s-diflio.ads: Minor change.
-
-2012-01-30 Javier Miranda <miranda@adacore.com>
-
- * exp_ch9.adb (Build_Dispatching_Requeue): Add missing call
- to Get_Entry_Index. Required to generate code which provides
- the correct value of Entry_Index in the target entry.
-
-2012-01-30 Nicolas Roche <roche@adacore.com>
-
- * system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
- fix issue with zcx on VxWorks5.
-
-2012-01-30 Pascal Obry <obry@adacore.com>
-
- * prj.ads, prj.adb (For_Every_Project_Imported): Remove
- In_Aggregate_Lib.
- (For_Every_Project_Imported_Context): New generic routine with
- a context parameter.
- * prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid
- distributed complexity.
- * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto.
-
-2012-01-30 Thomas Quinot <quinot@adacore.com>
-
- * exp_aggr.adb (Expand_Record_Aggregate): After creating the
- _parent aggregate for an extension aggregate, check whether it
- requires delayed (top-down) expansion.
-
-2012-01-30 Vincent Pucci <pucci@adacore.com>
-
- * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten.
- * snames.ads-tmpl: Name_Item and Name_Symbols added.
- * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename
- and change the position of parameter Symbols in every Put routine.
- * s-dimmks.ads: Convert long float type Mks_Type into long
- long float.
- * s-llflex.ads: Modifications in comments.
-
-2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch12.adb (Earlier): Do not use the
- top level source locations of the two input nodes.
-
-2012-01-30 Robert Dewar <dewar@adacore.com>
-
- * einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads,
- sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting.
-
-2012-01-30 Robert Dewar <dewar@adacore.com>
-
- * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
-
-2012-01-30 Olivier Hainque <hainque@adacore.com>
-
- * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back +
- comments.
-
-2012-01-30 Thomas Quinot <quinot@adacore.com>
-
- * gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb,
- sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb,
- sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type):
- New subprogram (extracted from
- Sem_Cat.Validate_Remote_Access_Object_Type_Declaration).
- (Einfo.Is_Remote_Types): Now applies to generic types. Update
- documentation accordingly.
- (Sem_Ch12.Analyze_Associations): A RACW type is acceptable as
- actual for a formal type to which a pragma Remote_Access_Type
- applies.
- (Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect
- Remote_Access_Type.
- (Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can
- be applied to a generic type if pragma Remote_Access_Type
- applies, in which case the type of the attribute is
- System.Partition_Interface.RACW_Stub_Type.
-
-2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set
- an alignment on fields of the RETURN type built for the CICO mechanism.
-
-2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for
- a call to a function that returns an unconstrained type with default
- discriminant. Similarly, avoid doing the conversion to the nominal
- result type in this case.
-
-2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag.
- * gcc-interface/decl.c (is_variable_size): Rename to...
- (type_has_variable_size): ...this.
- (adjust_packed): Adjust to above renaming.
- (gnat_to_gnu_field): Set DECL_ALIASED_P on the field.
- (field_is_artificial): New predicate.
- (field_is_aliased): Likewise.
- (field_has_self_size): Likewise.
- (field_has_variable_size): Likewise.
- (components_to_record): Record information for the final layout during
- the first pass on fields.
- If there is an aliased field placed after a field whose length depends
- on discriminants, put all the fields of the latter sort, last.
-
-2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (get_minimal_subprog_decl): Declare.
- * gcc-interface/decl.c (get_minimal_subprog_decl): New function.
- * gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an
- Access-like attribute in a dispatch table if the subprogram is public.
-
-2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (create_label_decl): Adjust.
- * gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter
- and invoke gnat_pushdecl on it. Remove obsolete settings.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to
- create_label_decl.
- * gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise. Ignore the
- label for debugging purposes.
-
-2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an aliased
- object with an unconstrained nominal subtype and if optimization isn't
- enabled, create a special VAR_DECL for debugging purposes.
-
-2012-01-23 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.ads, sem_prag.adb: Minor reformatting.
-
-2012-01-23 Robert Dewar <dewar@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications): Check for
- language defined aspect applied to renaming or formal type
- declaration (not permitted)
-
-2012-01-23 Matthew Heaney <heaney@adacore.com>
-
- * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced
- comment with pragma Assert.
-
-2012-01-23 Vincent Pucci <pucci@adacore.com>
-
- * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call
- to Make_Aspect_For_PPC_In_Gen_Sub_Decl added in ASIS mode.
- * sem_prag.adb, sem_prag.ads (Make_Aspect_For_PPC_In_Gen_Sub_Decl): New
- routine. In ASIS mode, convert any PPC pragmas into aspects in generic
- subprogram declaration in order to enable the analysis of PPC boolean
- expressions.
-
-2012-01-23 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb (Analyze_Object_Declaration): Properly
- handle Current_Value for volatile variables (also propagate
- Treat_As_Volatile from type to object).
-
-2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch12.adb (Install_Body): Detect the case
- where the enclosing context is a package with a stub body that
- has already been replaced by the actual body. In such cases,
- the freeze node for the enclosing context must be inserted after
- the real body.
-
-2012-01-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma, case Debug): Freeze the called
- subprogram before expanding the pragma into an if-statement with
- a block, to ensure that when the subprogram is null its body is
- properly generated before expansion.
-
-2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch12.adb (Analyze_Associations): Alphabetize local variables and
- constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal
- to Saved_Formal.
- Freeze all eligible subprograms which appear as actuals in
- the instantiation.
- (Has_Fully_Defined_Profile): New routine.
- (Renames_Standard_Subprogram): New routine.
- (Earlier): Add local variable N. Comment update. Do not use source
- locations when trying to determine whether one node precedes another.
-
-2012-01-23 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch4.adb (Expand_Concatenate): In the case
- where the result of a concatentation can be null, set the to
- result have both the low and high bounds of the right operand (not
- just the high bound, as was the case prior to this fix). Also,
- fix the saved high bound setting (Last_Opnd_High_Bound) in the
- empty string literal case (should have been low bound minus one,
- rather than plus one).
-
-2012-01-23 Thomas Quinot <quinot@adacore.com>
-
- * scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not
- omit statement SCOs for disabled pragmas.
-
-2012-01-23 Matthew Heaney <heaney@adacore.com>
-
- * a-cohase.ads, a-cihase.ads, a-cbhase.ads, a-coorse.ads,
- a-ciorse.ads, a-cborse.ads, a-cohama.ads, a-cihama.ads, a-cbhama.ads,
- a-coorma.ads, a-ciorma.ads, a-cborma.ads, a-cdlili.ads, a-cidlli.ads,
- a-cbdlli.ads, a-convec.ads, a-coinve.ads, a-cobove.ads (Cursor'Read,
- Cursor'Write): Declare in private part.
- (Reference_Type'Read, Reference_Type'Write): Ditto.
- (Constant_Reference_Type'Read, Constant_Reference_Type'Write): Ditto.
-
-2012-01-23 Robert Dewar <dewar@adacore.com>
-
- * a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor
- reformatting.
-
-2012-01-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Declaration): Do not set the
- Corresponding_Body on a defaulted null formal subprogram.
- * sem_ch12.adb (Check_Formal_Package_Instance): No check needed
- on a defaulted formal subprogram that is a null procedure.
-
-2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch9.adb: Update the comments involving pragma Implemented.
- * sem_ch3.adb (Check_Pragma_Implemented (Entity_Id)): Add local
- constant Subp_Alias and local variable Impl_Subp. Properly
- handle aliases of synchronized wrappers. Code cleanup.
- (Check_Pragma_Implemented (Entity_Id; Entity_Id)): Add
- Name_Optional as part of the condition.
- * sem_prag.adb (Analyze_Pragma): Add "Optional" as one of the
- valid choices of implementation kind.
- (Check_Arg_Is_One_Of): New routine.
- * snames.ads-tmlp: Add Name_Optional.
-
-2012-01-23 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch13.adb: Better error recovery in illegal aspect
- specification.
-
-2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-calend.adb: Add with clause for Interfaces.C. Add constant
- Unix_Max.
- (Day_Of_Week): Call the internal UTC_Time_Offset.
- (Split): Call the internal UTC_Time_Offset.
- (Time_Of): Call the internal UTC_Time_Offset.
- (Time_Zone_Operations.UTC_Time_Offset): Call internal UTC_Time_Offset.
- (UTC_Time_Offset): New library-level routine.
- * a-calend.ads (UTC_Time_Offset): Remove parameter
- Is_Historic. Update related comment on usage.
- * a-catizo.adb (UTC_Time_Offset): Removed.
- (UTC_Time_Offset (Time)): Call Time_Zone_Operations.UTC_Time_Offset.
- * a-caltizo.ads (UTC_Time_Offset): Removed.
- (UTC_Time_Offset (Time)): Add back the default expression of parameter
- Date.
-
-2012-01-23 Robert Dewar <dewar@adacore.com>
-
- * sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter
- (pg,po,ps): Make sure each entry starts on new line.
-
-2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-calend.ads, a-calend.adb: Define types int and int_Pointer. Update
- the parameter profile of procedure localtime_tzoff and its associated
- comment.
- (Day_Of_Week): Do not treat the input date as historical
- with respect to time zones.
- (Split): Do not treat the input
- date as historical with respect to time zones. (Time_Of): Do
- not treat the input constituents as forming a historical date
- with respect to time zones.
- (UTC_Time_Offset): Add new formal
- parameter Is_Historic. Add local variable Flag. Update the call
- to localtime_tzoff.
- * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): New routine.
- (UTC_Time_Offset (Time)): Update the call to
- Time_Zone_Operations.UTC_Time_Offset.
- * sysdep.c (__gnat_localtime_tzoff): Update parameter
- profile. Split the processing of offsets on Windows into two - one
- part of historic time stamps and the other for the current time.
-
-2012-01-23 Robert Dewar <dewar@adacore.com>
-
- * a-calend.adb: Minor reformatting.
-
-2012-01-23 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized
- interface in requeue statement.
-
-2012-01-23 Cyrille Comar <comar@adacore.com>
-
- * projects.texi: Remove references to main units and replace
- with references to main programs to be coherent with the
- documentation.
-
-2012-01-23 Robert Dewar <dewar@adacore.com>
-
- * s-utf_32.adb: Minor reformatting.
-
-2012-01-23 Vincent Celier <celier@adacore.com>
-
- * snames.ads-tmpl: Minor comment addition Indicate that
- Name_Library_Encapsulated_Options is only used in gprbuild.
-
-2012-01-23 Robert Dewar <dewar@adacore.com>
-
- * sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit
- restrictions.
-
-2012-01-23 Ed Schonberg <schonberg@adacore.com>
-
- * snames.ads-tmpl: Add Name_Synchronization.
- * aspects.ads, aspects.adb: Add Aspect_Synchronization to
- enumeration type and related maps.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Handle Aspect
- Synchronization, build corresponding pragma Implemented.
- * sem_util.adb (Implementation_Kind): Handle both explicit and
- implicit pragma_argument association to retrieve the given
- synchronization mode.
-
-2012-01-23 Robert Dewar <dewar@adacore.com>
-
- * sem_ch10.adb, errout.adb: Minor reformatting.
-
-2012-01-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Actuals): An actual in a call to an
- Ada 2012 Reference function does not lead to a dangerous order
- dependence.
-
-2012-01-23 Gary Dismukes <dismukes@adacore.com>
-
- * exp_util.adb (Is_Iterated_Container): Test
- Is_Entity_Name when searching for calls to the default iterator,
- to avoid blowing up on indirect calls which have an explicit
- dereference as the call name.
-
-2012-01-23 Thomas Quinot <quinot@adacore.com>
-
- * errout.adb (Set_Msg_Node): For an N_Expanded_Name, output
- the complete expanded name, rather than just its Selector_Name.
-
-2012-01-23 Thomas Quinot <quinot@adacore.com>
-
- * a-textio.adb (Put): Rewrite one-parameter Character version to
- just call the two-parameter one with Current_Out.
-
-2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * freeze.adb (Check_Current_Instance): Issue an
- error when the prefix of 'Unchecked_Access or 'Access does not
- denote a legal aliased view of a type.
- (Freeze_Record_Type): Do not halt the processing of record components
- once the Has_Controlled_Component is set as this bypasses the remaining
- checks.
- (Is_Aliased_View_Of_Type): New routine.
-
-2012-01-23 Thomas Quinot <quinot@adacore.com>
-
- * errout.ads, freeze.adb: Minor reformatting.
-
-2012-01-23 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error
- messages.
-
-2012-01-23 Olivier Hainque <hainque@adacore.com>
-
- * adadecode.c (__gnat_decode): Deal with empty input early,
- preventing potential erroneous memory access later on.
-
-2012-01-21 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/46192
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a
- renaming, preserve the volatileness through the indirection, if any.
-
-2012-01-14 Andreas Schwab <schwab@linux-m68k.org>
-
- * gcc-interface/Makefile.in (OSCONS_EXTRACT): Add
- $(GNATLIBCFLAGS).
-
-2012-01-10 Pascal Obry <obry@adacore.com>
-
- * prj-nmsc.adb (Check_Library_Attributes):
- Kill check for object/source directories for aggregate libraries.
-
-2012-01-10 Matthew Heaney <heaney@adacore.com>
-
- * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
- a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
- a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb,
- a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads,
- a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb,
- a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb,
- a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb,
- a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads,
- a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare
- container parameter as aliased in/in out.
- Code clean ups.
-
-2012-01-10 Bob Duff <duff@adacore.com>
-
- * s-os_lib.ads: Improve comment.
-
-2012-01-10 Geert Bosch <bosch@adacore.com>
-
- * s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
- for complex Scalar.
-
-2012-01-10 Bob Duff <duff@adacore.com>
-
- * sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when
- checking that the 'Size is correct. If the type is "mod 2**12",
- for example, it's illegal, but Esize is the 'Object_Size, which
- will be something like 16 or 32, so the error ('Size = 12) was
- not detected.
- * gnat_rm.texi: Improve documentation of shift
- and rotate intrinsics.
-
-2012-01-10 Pascal Obry <obry@adacore.com>
-
- * prj.adb (For_Every_Project_Imported): Fix
- implementation to make sure we return each project only once
- for aggragte libraries. It is fine to return a project twice for
- aggregate projects, this was the case as a Project_Id is different
- in each project tree. The new implementation use a table based on
- the project name to ensure proper detection of duplicate project
- in aggregate library. A new context is then created to continue
- retrurning duplicate project for aggregate libraries.
-
-2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
- return value in the variable-sized return type case if the target is
- an array with fixed size. However, do not create it if this is the
- expression of an object declaration.
-
-2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko.
-
-2012-01-06 Robert Dewar <dewar@adacore.com>
-
- * a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads,
- s-utf_32.ads: Add pragma Pure
- * s-utf_32.adb: Suppress warnings on non-static constants (now
- that this is Pure).
-
-2012-01-06 Bob Duff <duff@adacore.com>
-
- * s-rpc.ads (Read, Write): Add overriding indicators.
-
-2012-01-06 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Add documentation for conventions
- Ada_Pass_By_Copy and Ada_Pass_By_Reference.
-
-2012-01-06 Gary Dismukes <dismukes@adacore.com>
-
- * a-tienio.adb (Put): Add exception message on
- raise statements. Remove unneeded blocks and object declarations.
-
-2012-01-06 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb: Minor reformatting.
-
-2012-01-06 Ed Schonberg <schonberg@adacore.com>
-
- * sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate
- that a selected component within a generic unit has been resolved
- as a prefixed call with local references.
- * sem_ch3.adb (Is_Visible_Component): In an instance body a selected
- component is always visible.
- * sem_ch4.adb (Analyze_Selected_Component): If the node is a
- prefixed call in an instance, do not look for visible components
- of the type.
- * sem_ch12.adb (Reset_Entity): If a selected component has resolved
- to a prefixed call, mark the node accordingly when prefix and
- selector are local references.
-
-2012-01-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnatvsn.ads (Current_Year): Bump to 2012.
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2013 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/ada/ChangeLog-2012 b/gcc/ada/ChangeLog-2012
new file mode 100644
index 00000000000..2bb659a52de
--- /dev/null
+++ b/gcc/ada/ChangeLog-2012
@@ -0,0 +1,8694 @@
+2012-12-21 Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/53737
+ * sem_ch12.adb (Analyze_Associations): Do not check the legality of
+ actuals for RACW types if this is an internal instantiation for a formal
+ package with defaulted parameters.
+
+2012-12-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * adaint.c: Move directive around.
+ * argv.c: Likewise.
+ * cio.c: Likewise.
+ * cstreams.c: Likewise.
+ * env.c: Likewise.
+ * exit.c: Likewise.
+ * init.c: Likewise.
+ * initialize.c: Likewise.
+ * raise.c: Likewise.
+ * seh_init.c: Likewise.
+ * targext.c: Likewise.
+
+2012-12-15 Eric Botcazou <ebotcazou@adacore.com>
+ Martin Ettl <ettl.martin@gmx.de>
+
+ PR ada/53996
+ * gcc-interface/utils.c (gnat_type_for_size): Use %u in lieu of %d.
+
+2012-12-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in (RTS_DIR): Define only if Ada is enabled.
+
+2012-12-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Assert
+ that the type of the prefix is ultimately an array.
+
+2012-12-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Subprogram_Body_to_gnu): Be prepared for a
+ by-ref VAR_DECL in the case of an Out parameter passed by copy.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb, sem_prag.adb, put_scos.adb, get_scos.adb: Minor
+ reformatting.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb: Code clean up.
+
+2012-12-05 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+ * gcc-interface/lang.opt: New language AdaSCIL.
+ * gcc-interface/lang-specs.h: Add specs for adascil language.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb (Traverse_Aspects): Ensure we always have
+ an entry in the sloc -> SCO map for invariants, since
+ Set_SCO_Pragma_Enabled is called with that sloc when checks
+ are enabled.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting.
+
+2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * par-prag.adb: Checks and processing of pragma Assume are
+ carried out by Sem_Prag.
+ * sem_prag.adb (Analyze_Pragma): Check the legality of pragma
+ Assume.
+ * snames.ads-tmpl: Add new name Assume. Add a pragma identifier
+ for Assume.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * aspects.ads, aspects.adb: Add aspect Relative_Deadline.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Process aspect
+ Relative_Deadline, and introduce the corresponding pragma within
+ the task definition of the task type to which it applies.
+ (Check_Aspect_At_Freeze_Point): Expression in a Relative_Deadline
+ aspect is of type Time_Span.
+
+2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Check_Loop_Invariant_Variant_Placement): When pragma
+ Loop_[In]variant does not appear immediately within the statements
+ of a loop, it must appear in a chain of nested blocks.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb: Minor reformatting.
+ Remove redundant assertion.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb, scos.ads, put_scos.adb, put_scos.ads,
+ get_scos.adb: Generation of SCOs for aspects.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * sem_prag.adb (Check_Precondition_Postcondition): Remove
+ redundant call to Set_SCO_Pragma_Enabled (the pragma will be
+ rewritten into a pragma Check later on, and the call will be
+ made when processing the rewritten pragma).
+ (Analyze_Pragma, case Pragma_Check): Omit call to
+ Set_SCO_Pragma_Enabled if Split_PPC is set.
+
+2012-12-05 Olivier Hainque <hainque@adacore.com>
+
+ * tracebak.c: Add partial support for Lynx178.
+
+2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Improve
+ the error message related to loop assertions.
+
+2012-12-05 Gary Dismukes <dismukes@adacore.com>
+
+ * atree.ads: Minor reformatting.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * atree.ads, par-ch4.adb, sem_attr.adb, sem_ch13.adb: Minor
+ reformatting.
+
+2012-12-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_ugn.texi (Switches for gcc): Document -flto and reorder.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch5.adb (P_Condition): Handle properly Ada 2012
+ expressions that must be parenthesized before checking for
+ redundant parentheses when that check is enabled.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch4.adb (P_Allocator): In Ada 2012 (AI05-0104) an
+ uninitialized allocator cannot carry an explicit not null
+ indicator.
+ * sem_ch4.adb (Analyze_Allocator): Remove code that implements
+ the check for AI05-0104, the check is syntactic and performed
+ in the parser.
+
+2012-12-05 Geert Bosch <bosch@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Use base type for floating
+ point attributes.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications,
+ Ahalyze_Aspect_Default_Value): For a scalar type attach default
+ value to base type as well, because it is a type-specific aspect
+ even though it can be specified on a first subtype.
+
+2012-12-05 Yannick Moy <moy@adacore.com>
+
+ * urealp.ads: Minor rewording.
+
+2012-12-05 Yannick Moy <moy@adacore.com>
+
+ * aspects.ads (No_Duplicates_Allowed): Forbid use of duplicate
+ Contract_Cases aspects.
+ * sem_prag.adb (Analyze_Pragma/Pragma_Contract_Case): Rename
+ POST_CASE into CONTRACT_CASE in both grammar and code, to be
+ consistent with current language definition. Issue a more precise
+ error message when the pragma duplicates another pragma or aspect.
+
+2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Add processing
+ for attribute Update.
+ (Expand_Update_Attribute): New routine.
+ * par-ch4.adb (P_Name): The sole expression of attribute Update
+ is an aggregate, parse it accordingly.
+ * sem_attr.adb (Analyze_Attribute): Verify the legality of
+ attribute Update.
+ (Eval_Attribute): Attribute Update does not
+ need evaluation because it is never static.
+ * snames.ads-tmpl: Add Name_Update to the list of special names
+ recognized by the compiler. Add an Attribute_Id for Update.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.adb (Remove_Side_Effects): For purposes of removing
+ side effects, qualified expressions do not receive a special
+ treatment, even though in Ada 2012 they are defined as object
+ references.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * par-ch3.adb: Minor reformatting.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Build_From_Any_Call, Build_To_Any_Call,
+ Build_TypeCode_Call): For a used-defined subtype, always go to
+ the first subtype of the base type.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb: Minor reformatting.
+
+2012-12-05 Tristan Gingold <gingold@adacore.com>
+
+ * Make-generated.in: Remove the VMS host specific part, as VMS
+ compilers aren't built anymore on VMS.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * sem.adb, errout.ads, atree.adb, atree.ads (Check_Error_Detected):
+ Only return quietly if a serious error of configurable run time
+ violation has been found.
+
+2012-12-05 Yannick Moy <moy@adacore.com>
+
+ * sem_res.adb (Resolve_Type_Conversion): In Alfa_Mode, do not apply
+ conversion checks.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Handle properly
+ the generation of discriminant checks when the left-hand side
+ has a type with hidden discriminants.
+ * sem_ch3.ads (Is_Visible_Component): Add defaulted parameter to
+ specify the node on which component visibility is being checked.
+ * sem_ch3.adb (Is_Visible_Component): Use new parameter to
+ determine whether the reference comes from a type conversion to
+ a full view of a private type with unknown discriminants.
+ * sem_ch4.adb (Analyze_Selected_Component): Call
+ Is_Visible_Component with added parameter.
+
+2012-12-05 Arnaud Charlet <charlet@adacore.com>
+
+ * make.adb: Minor comment update.
+
+2012-12-05 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatlink.adb: Also use -x adascil in CodePeer mode when
+ calling gcc.
+ * exp_ch5.adb: Minor reformatting.
+
+2012-12-05 Bob Duff <duff@adacore.com>
+
+ * exp_ch4.adb: Minor comment.
+
+2012-12-05 Bob Duff <duff@adacore.com>
+
+ * par-ch4.adb: Set Paren_Count correctly for a parenthesized expression
+ containing a conditional expression or quantified expression.
+ * sprint.adb: Update comment.
+
+2012-12-05 Bob Duff <duff@adacore.com>
+
+ * style.adb, scans.ads, styleg.adb: Update comments.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Selected_Component): Handle properly an
+ expanded name whose prefix is the expanded name of an enclosing
+ entry, that is to say a construct such as T.E.X, where T is an
+ enclosing concurrent type and E is an enclosing entry.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * lib-writ.adb (Write_ALI): Output T lines.
+ * lib-writ.ads: Minor reformatting. Add documentation of T lines.
+ * opt.ads (Generate_Target_Dependent_Info): New flag.
+ * switch-c.adb (Scan_Switches): Recognize -gnatet switch
+ (target dependent info).
+ * ttypes.ads: Add four letter codes to declarations (for target
+ dependent info).
+ * usage.adb: Add line for -gnatet switch.
+
+2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_prag.adb (Expand_N_Pragma): Add a call to expand
+ pragma Loop_Variant.
+ (Expand_Pragma_Loop_Assertion): Removed.
+ (Expand_Pragma_Loop_Variant): New routine.
+ * par-prag.adb: Remove Pragma_Loop_Assertion and add two new
+ Pragma_Loop_Invariant and Pragma_Loop_Variant entries.
+ * sem_attr.adb (Analyze_Attribute): Update the code which
+ locates the enclosing pragma.
+ * sem_prag.adb (Analyze_Pragma): Remove the code which analyzes
+ pragma Loop_Assertion as the pragma is now obsolete. Add the
+ machinery to checks the semantics of pragmas Loop_Invariant
+ and Loop_Variant.
+ (Check_Loop_Invariant_Variant_Placement): New routine.
+ * snames.ads-tmpl: Remove name Loop_Assertion. Add new names
+ Loop_Invariant and Loop_Variant. Rename Name_Decreasing
+ to Name_Decreases and Name_Increasing to Name_Increases.
+ Remove the pragma Id for Loop_Assertion and add two new Ids for
+ Loop_Invariant and Loop_Variant.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * gnatchop.adb, sem_attr.ads, sem_ch4.adb, sem_ch6.adb, exp_disp.adb,
+ atree.adb, sem_eval.adb: Minor reformatting.
+
+2012-12-05 Yannick Moy <moy@adacore.com>
+
+ * uintp.adb (UI_Div_Rem): Correct algorithm D to remove potential
+ overflow.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Mod): Minor comment additions.
+ (Expand_N_Op_Rem): Ditto.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb: Minor reformatting.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Update lines for -gnato? switch.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch6.adb (P_Return_Object_Declaration): Do not check for
+ legality of Aliased keyword.
+ * sem_ch6.adb (Analyze_Function_Return): The keyword aliased is
+ legal in an extended return statement only if the return type
+ is immutably limited.
+
+2012-12-05 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Expand_Interface_Thunk): Simplify
+ management of controlling formals. Required to avoid problems
+ with primitives of internally generated base types associated
+ with constrained tagged types.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb: Remove spurious warnings.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Build_Explicit_Dereference): Set properly
+ the type of the prefix prior to rewriting, because subsequent
+ legality checks examine the original node.
+
+2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * aspects.adb: Add Contract_Cases to the canonical aspects map.
+ * aspects.ads: Add aspect Contract_Cases in the various aspect
+ tables.
+ * par-prag.adb: The parser does not need to perform special
+ actions for pragma Contract_Cases.
+ * sem_ch6.adb (Expand_Contract_Cases): New routine.
+ (Process_Contract_Cases): Convert pragma Contract_Cases into pre-
+ and post- condition checks that verify the runtime state of all
+ case guards and their corresponding consequences.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Perform
+ various legality checks on aspect Contract_Cases. The aspect is
+ transformed into a pragma.
+ * sem_prag.adb: Add an entry in table Sig_Flags for pragma
+ Contract_Cases.
+ (Analyze_Pragma): Perform various legality
+ checks on pragma Contract_Cases. The pragma is associated with
+ the contract of the related subprogram.
+ (Chain_CTC): Omit pragma
+ Contract_Cases because it does not introduce a unique case name
+ and does not follow the syntax of Contract_Case and Test_Case.
+ * snames.ads-tmpl: Add new name Name_Contract_Cases. Add a
+ Pragma_Id for Contract_Cases.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch5.adb: Minor reformatting.
+
+2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_attr.ads: Add an entry for attribute Loop_Entry in the
+ Attribute_Impl_Def table.
+
+2012-12-05 Bob Duff <duff@adacore.com>
+
+ * gnatchop.adb (Read_File): Avoid storage leak, and in most cases avoid
+ an extra copy of the string.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Preanalyze_Range): If the expression, which
+ denotes some domain of iteration, has a type with implicit
+ dereference, and does not have any iterable aspects, insert
+ dereference to obtain proper container type.
+
+2012-12-05 Bob Duff <duff@adacore.com>
+
+ * par-ch8.adb (P_Use_Type_Clause): Fix the Sloc for "use all type ..."
+ to point to "use".
+
+2012-12-05 Arnaud Charlet <charlet@adacore.com>
+
+ * make.adb (Compile): Always pass -x adascil in CodePeer mode.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * s-rident.ads, restrict.ads: Remove discrepancies between the
+ documentation on implementation-defined restrictions, and
+ the internal data structure used for warnings and errors on
+ implementation-defined restriction violations.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Chain_PPC): Pre- and postcondition aspects
+ are legal on a subprogram body that acts as a spec.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Selected_Component): If the selector name is
+ an overloadable entity but the name is not overloaded, generate
+ reference to it rather than delaying this until resolution.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * checks.ads, checks.adb (Activate_Overflow_Check): No effect for
+ MOD/REM/unary +
+ * exp_ch4.adb (Expand_N_Op_Mod): Remove call to set Do_Overflow_Check.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Find_Non_Universal_Interpretation): Use the
+ types of the right operand if the left operand is null.
+
+2012-12-05 Sergey Rybin <rybin@adacore.com frybin>
+
+ * gnat_ugn.texi, vms_data.ads: document gnatpp -nn option.
+
+2012-12-05 Jose Ruiz <ruiz@adacore.com>
+
+ * init.c (__gnat_install_handler): For the LEON VxWorks kernel
+ run-time library we need to install a trap handler directly in the
+ trap table (no support by the OS) for the software trap 0.
+
+2012-12-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_rm.texi (Interfacing to C++): Document new restrictions.
+
+2012-12-05 Ben Brosgol <brosgol@adacore.com>
+
+ * gnat_ugn.texi: Fix typo.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * gnatbind.adb: Minor reformatting.
+
+2012-12-05 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Fix typo.
+
+2012-12-05 Tristan Gingold <gingold@adacore.com>
+
+ * gnatbind.adb: Minor comment update.
+
+2012-12-05 Yannick Moy <moy@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Set flags to indicate that
+ CodePeer backend deals with divide and overflow checks.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Update overflow description. Pragma Overflow_Checks
+ changed to Overflow_Mode.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * checks.ads, exp_ch4.adb, gnat1drv.adb, par-prag.adb, sem_prag.adb,
+ snames.ads-tmpl, switch-c.adb, types.ads, checks.adb: Change pragma
+ Overflow_Checks to Overflow_Mode.
+ Separate overflow checking from overflow mode.
+ Several name changes to reflect this separation.
+ CHECKED mode is renamed STRICT mode.
+
+2012-12-05 Yannick Moy <moy@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Move setting of flags for
+ Alfa mode before general treatment of flags, so that overflow checks
+ settings are set appropriately in Alfa mode. Also set the mode to
+ STRICT in Alfa mode if not already set by the user.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting.
+
+2012-12-05 Steve Baird <baird@adacore.com>
+
+ * sinfo.ads: Improve comments about SCIL-related node kinds and selector
+ functions.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Build_Limited_Views): Even though the unit is
+ not analyzed, place its entity on the name in the with clause,
+ so that warnings on unused with-clause are properly supported
+ for limited withs.
+
+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Update overflow description. Pragma
+ Overflow_Checks changed to Overflow_Mode.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Private_Type): Handle properly a
+ completion in a grand-child unit when the parent type is itself
+ a private type in a child unit whose full view is itself a
+ derivation from a private type.
+
+2012-12-05 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, case
+ Attribute_Valid): Remove code for issuing warning on Valid within
+ a predicate. Moved to Sem_Attr. Remove with and use of Errout.
+ * sem_attr.adb (Analyze_Attribute, case Attribute_Valid):
+ Test for prefix's subtype having a predicate and issue warning
+ about infinite recursion if Valid occurs within the subtype's
+ predicate. Warning moved here from Exp_Attr.
+
+2012-12-05 Yannick Moy <moy@adacore.com>
+
+ * debug.adb: Minor comment addition.
+
+2012-12-05 Yannick Moy <moy@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): In CodePeer mode, check
+ overflows by default, even when the user suppresses overflow checks.
+
+2012-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * err_vars.ads: Fix minor typo in comment.
+
+2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Do not analyze the attribute
+ arguments when processing Loop_Entry. Rewrite the analysis of
+ attribute Loop_Entry to handle an optional loop name.
+ (Convert_To_Indexed_Component): New routine.
+ (Eval_Attribute): Remove ??? comment and explain
+ why Loop_Entry does not need to be evaluated.
+
+2012-12-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/52110
+ * s-osinte-hpux-dce.ads: Declare pthread_rwlockattr_t and
+ pthread_rwlock_t subtypes. Delete duplicate declaration of clockid_t.
+ * s-taspri-hpux-dce.ads: Change "pragma Atomic (Thread)" to comment.
+
+2012-11-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
+ valid_constant_size_p to detect too large objects.
+ <E_Subprogram_Type>: Likewise for too large return types.
+ (allocatable_size_p): Call valid_constant_size_p in the fixed case.
+ (annotate_value) <INTEGER_CST>: Simplify.
+ <BIT_AND_EXPR>: Deal with negative values here.
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use
+ valid_constant_size_p to detect too large objects on the LHS.
+ * gcc-interface/misc.c (default_pass_by_ref): Likewise for large types.
+ And use TYPE_SIZE_UNIT throughout.
+ (must_pass_by_ref): Likewise.
+ * gcc-interface/utils.c (max_size) <tcc_unary>: Split from common case.
+ <tcc_binary>: Likewise. Call size_binop instead of fold_build2.
+ <tcc_expression>: Simplify.
+ * gcc-interface/utils2.c (build_allocator): Use valid_constant_size_p
+ to detect too large allocations.
+
+2012-11-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Look through
+ a view conversion from constrained to unconstrained form.
+
+2012-11-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (components_need_strict_alignment): New.
+ (components_to_record): Do not pack the variants if one of the fields
+ needs strict alignment. Likewise for the variant part as a whole.
+ Specify the position of the variants even if the size isn't specified,
+ but do not specify the size of the variant part in this case.
+
+2012-11-20 Diego Novillo <dnovillo@google.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * gcc-interface/decl.c: Replace all vec<T,A>() initializers with vNULL.
+
+2012-11-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c: Remove trailing spaces.
+ * gcc-interface/trans.c: Remove trailing spaces.
+
+2012-11-16 Diego Novillo <dnovillo@google.com>
+
+ Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
+
+ * gcc-interface/decl.c: Use new vec API in vec.h.
+ * gcc-interface/gigi.h: Likewise.
+ * gcc-interface/trans.c: Likewise.
+ * gcc-interface/utils.c: Likewise.
+ * gcc-interface/utils2.c: Likewise.
+
+2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR other/52438
+ * s-taspri-lynxos.ads: Delete.
+ * s-osinte-kfreebsd-gnu.ads: Change license to GPL V3+.
+ * s-tpopsp-rtems.adb: Likewise.
+ * s-osinte-rtems.adb: Likewise.
+
+2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Body_Stub>: Deal
+ with a missing library unit instead of calling gnat_to_gnu on Emtpy.
+ Remove last bits of support for SCIL nodes. Add cases for nodes that
+ should only be present when annotating types. Add default abort.
+
+2012-11-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in: Revert most changes.
+ * gcc-interface/Make-lang.in (gnatlib): Remove ada/s-oscons.ads.
+
+2012-11-06 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in (copy-s-oscons): New target.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * err_vars.ads, atree.ads: Minor reformatting.
+
+2012-11-06 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+ * gcc-interface/Makefile.in: Add runtime pairs for Android.
+ Rework handling of s-oscons.ads.
+ * s-osinte-android.ads, s-osinte-android.adb: New files.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu): For N_Real_Literal, create the
+ binary representation of vax floats.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * sem_ch9.adb (Analyze_Protected_Type_Declaration): Fix thinko
+ in previous commit.
+
+2012-11-06 Jose Ruiz <ruiz@adacore.com>
+
+ * ali.adb (Scan_ALI): Fix parsing mechanism for -fstack-check.
+
+2012-11-06 Thomas Quinot <quinot@adacore.com>
+
+ * atree.adb, atree.ads, einfo.adb, errout.adb, errout.ads, erroutc.adb,
+ erroutc.ads, errutil.adb, errutil.ads, err_vars.ads, expander.adb,
+ exp_ch13.adb, exp_ch2.adb, exp_ch6.adb, exp_dist.adb, fe.h,
+ fmap.adb, fmap.ads, gprep.adb, makeutl.adb, osint.adb, osint.ads,
+ par_sco.adb, prepcomp.adb, prj-part.adb, prj-proc.adb, scng.adb,
+ sdefault.ads, sem_ch10.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb,
+ sem_ch4.adb, sem_ch5.adb, sem_dim.adb, sem_elab.adb, sem_eval.adb,
+ sem_intr.adb, sem_prag.adb, sem_type.adb, sem_warn.adb, stylesw.adb,
+ stylesw.ads, targparm.adb, targparm.ads (Cascaded_Error): Rename to
+ more descriptive name 'Check_Error_Detected'. Add calls to
+ Check_Error_Detected at places where semantic analysis is abandoned
+ assuming a previously detected error.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb: Minor comment change.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Extensive revision of documentation of overflow
+ checking.
+ * vms_data.ads: Overflow check numbers must be in range 1-3,
+ not 0-3.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * sem_ch9.adb (Analyze_Protected_Type_Declaration): Emit a
+ warning if pragma Priority is used in presence of an interrupt
+ handler.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * checks.ads, checks.adb, exp_ch4.adb: Minor changes throughout for
+ new overflow checking.
+ * exp_util.adb (Insert_Actions): Remove special casing of
+ Overflow_Check.
+ * gnat1drv.adb (Adjust_Global_Switches): Fixes for new handling
+ of overflow checks.
+ * sem.adb (Analyze): Remove special casing of Overflow_Check
+ (Analyze_List): ditto.
+ * sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Remove
+ SUPPRESSED and change CHECKED to STRICT.
+ * sem_res.adb (Analyze_And_Resolve): No longer treat
+ Overflow_Check specially.
+ (Preanalyze_And_Resolve): ditto.
+ (Resolve): ditto.
+ * snames.ads-tmpl: Replace Name_Checked by Name_Strict.
+ * switch-c.adb (Get_Overflow_Mode): Eliminate 0 setting,
+ CHECKED => STRICT.
+ * types.ads (Overflow_Check_Type): Remove Suppressed, change
+ Checked to Strict (Suppress_Record): Overflow check controlled
+ by Suppress array.
+
+2012-11-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Preanalyze_And_Resolve): In Alfa mode do not
+ disable checks, so that flags can be properly set on expressions
+ that are not further expanded.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb, sem_attr.adb: Minor reformatting.
+
+2012-11-06 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Apply a predicate
+ check when evaluating the attribute Valid, and issue a warning
+ about infinite recursion when the check occurs within the
+ predicate function of the prefix's subtype.
+ * exp_ch4.adb (Expand_N_In): Remove test for Is_Discrete_Type
+ when we're checking that there's no predicate check function as a
+ condition for substituting a Valid check for a scalar membership
+ test (substitution should be suppressed for any kind of scalar
+ subtype with a predicate check). Also, don't emit a predicate
+ check when the right operand is a range.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb, bindgen.adb, exp_vfpt.adb, exp_vfpt.ads, exp_ch2.adb,
+ errout.adb, sem_ch8.adb: Minor reformatting.
+
+2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Include Loop_Entry_Attributes to the list of
+ Node/List/Elist10 usage.
+ (Loop_Entry_Attributes): New routine.
+ (Set_Loop_Entry_Attributes): New routine.
+ (Write_Field10_Name): Add an output string for Loop_Entry_Attributes.
+ * einfo.ads: Define new attribute Loop_Entry_Attributes along
+ with its usage in nodes.
+ (Loop_Entry_Attributes): New routine and dedicated pragma Inline.
+ (Set_Loop_Entry_Attributes): New routine and dedicated pragma Inline.
+ * exp_attr.adb (Expand_N_Attribute_Reference): Do not expand
+ Attribute_Loop_Entry here.
+ * exp_ch5.adb: Add with and use clause for Elists;
+ (Expand_Loop_Entry_Attributes): New routine.
+ (Expand_N_Loop_Statement): Add a call to Expand_Loop_Entry_Attributes.
+ * exp_prag.adb (Expand_Pragma_Loop_Assertion): Specialize the
+ search to include multiple nested loops produced by the expansion
+ of Ada 2012 array iterator.
+ * sem_attr.adb: Add with and use clause for Elists.
+ (Analyze_Attribute): Check the legality of attribute Loop_Entry.
+ (Resolve_Attribute): Nothing to do for Loop_Entry.
+ (S14_Attribute): New routine.
+ * snames.ads-tmpl: Add a comment on entries marked with
+ HiLite. Add new name Name_Loop_Entry. Add new attribute
+ Attribute_Loop_Entry.
+
+2012-11-06 Geert Bosch <bosch@adacore.com>
+
+ * eval_fat.adb (Machine, Succ): Fix front end to support static
+ evaluation of attributes on targets with both VAX and IEEE float.
+ * sem_util.ads, sem_util.adb (Has_Denormals, Has_Signed_Zeros):
+ New type-specific functions. Previously we used Denorm_On_Target
+ and Signed_Zeros_On_Target directly, but that doesn't work well
+ for OpenVMS where a single target supports both floating point
+ with and without signed zeros.
+ * sem_attr.adb (Attribute_Denorm, Attribute_Signed_Zeros): Use
+ new Has_Denormals and Has_Signed_Zeros functions to support both
+ IEEE and VAX floating point on a single target.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * bindgen.adb (System_Interrupts_Used): New variable.
+ (Gen_Adainit): Declare and call
+ Install_Restricted_Handlers_Sequential if System.Interrupts is
+ used when elaboration policy is sequential.
+
+2012-11-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb: Complete previous change.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * fe.h (Get_Vax_Real_Literal_As_Signed): Declare.
+ * eval_fat.adb, eval_fat.ads (Decompose_Int): Move spec in package spec.
+ * exp_vfpt.adb, exp_vfpt.ads (Vax_Real_Literal_As_Signed): New function.
+ (Expand_Vax_Real_Literal): Remove.
+ * exp_ch2.adb (Expand_N_Real_Literal): Do nothing.
+ * sem_eval.adb (Expr_Value_R): Remove special Vax float case,
+ as this is not anymore a special case.
+
+2012-11-06 Yannick Moy <moy@adacore.com>
+
+ * uintp.ads: Minor correction of typo in comment.
+
+2012-11-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragnma, case Unchecked_Union): remove
+ requirement that discriminants of an unchecked_union must have
+ defaults.
+
+2012-11-06 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * projects.texi: Minor wordsmithing.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch9.adb, exp_vfpt.adb, xoscons.adb: Minor reformatting.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * exp_vfpt.adb: Document VAX float point layout.
+
+2012-11-06 Geert Bosch <bosch@adacore.com>
+
+ * eval_fat.adb (Machine): Don't return -0.0 on targets without
+ signed zeros.
+
+2012-11-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch9.adb (Analyze_Entry_Call_Alternative,
+ Check_Triggering_Statement): Reject properly an indirect call.
+
+2012-11-06 Pascal Obry <obry@adacore.com>
+
+ * xoscons.adb, xutil.adb, xutil.ads: Add support for post-processing.
+
+2012-11-06 Yannick Moy <moy@adacore.com>
+
+ * s-bignum.adb (Div_Rem): Fix another bug in step D3.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * s-tarest.adb (Create_Restricted_Task): Call
+ Create_Restricted_Task_Sequential in sequential case.
+
+2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Loop_Assertion): Do not rewrite the
+ pragma into a null statement as its presence is desirable in -gnatG
+ output.
+
+2012-11-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Check_Constrained_Object): Do nothing if the
+ renamed object is a limited record.
+
+2012-11-06 Bernard Banner <banner@adacore.com>
+
+ * sysdep.c (_getpagesize): New. Minor reformatting.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * s-bignum.adb (Div_Rem): Fix bug in step D3.
+ * uintp.adb (UI_Div_Rem): Add comment on bug in step D3.
+
+2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Loop_Assertion): Update the comment
+ on intended expansion. Reimplement the logic which expands the
+ termination variants.
+ (Process_Increase_Decrease): Update the parameter profile and the
+ comment related to it. Accommodate the new aggregate-like appearance of
+ the termination variants.
+ * sem_prag.adb (Analyze_Pragma): Update the syntax of pragma
+ Loop_Assertion. Reimplement the semantic analysis of the pragma
+ to accommodate the new aggregate-like variant.
+ (Check_Variant): New routine.
+ * snames.ads-tmpl: Change names Name_Decreases and Name_Increases
+ to Name_Decreasing and Name_Increasing respectively. Add name
+ Variant.
+
+2012-11-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb: Static evaluation of case expressions.
+
+2012-11-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb, impunit.adb, exp_ch9.adb, par-ch4.adb,
+ s-tarest.adb: Minor reformatting.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * s-tposen.ads: Minor comment update.
+
+2012-11-06 Arnaud Charlet <charlet@adacore.com>
+
+ * sysdep.c: Rename sig* wrappers to use unique names.
+
+2012-11-06 Yannick Moy <moy@adacore.com>
+
+ * exp_dbug.adb (Qualify_Entity_Name): Mark entity as having a qualified
+ name after being treated, in formal verification mode.
+
+2012-11-06 Fedor Rybin <frybin@adacore.com>
+
+ * gnat_ugn.texi: Updating gnattest section to reflect changes
+ in default behaviour of the tool.
+
+2012-11-06 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c: Interfaces.C now needs to be WITH'd even
+ on platforms that do not support sockets (for the benefit of
+ subtype IOCTL_Req_T).
+
+2012-11-06 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch4.adb (P_Primary): if-expressions, case-expressions,
+ and quantified expressions are legal if surrounded by parentheses
+ from an enclosing context, such as a call or an instantiation.
+
+2012-11-06 Yannick Moy <moy@adacore.com>
+
+ * impunit.adb (Get_Kind_Of_Unit): Return appropriate kind for
+ predefined implementation files, instead of returning
+ Not_Predefined_Unit on all .adb files.
+
+2012-11-06 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch9.adb (Build_Activation_Chain_Entity): Return immediately if
+ partition elaboration policy is sequential.
+ (Build_Task_Activation_Call): Likewise. Use
+ Activate_Restricted_Tasks on restricted profile.
+ (Make_Task_Create_Call): Do not use the _Chain
+ parameter if elaboration policy is sequential. Call
+ Create_Restricted_Task_Sequential in that case.
+ * exp_ch3.adb (Build_Initialization_Call): Change condition to
+ support concurrent elaboration policy.
+ (Build_Record_Init_Proc): Likewise.
+ (Init_Formals): Likewise.
+ * bindgen.adb (Gen_Adainit): Declare Partition_Elaboration_Policy
+ and set it in generated code if the elaboration policy is
+ sequential. The procedure called to activate all tasks is now
+ named __gnat_activate_all_tasks.
+ * rtsfind.adb (RE_Activate_Restricted_Task,
+ RE_Create_Restricted_Task_Sequential): New RE_Id literals.
+ * s-tarest.adb (Create_Restricted_Task): Added to create a task without
+ adding it on an activation chain.
+ (Activate_Tasks): Has now a Chain parameter.
+ (Activate_All_Tasks_Sequential): Added. Called by the binder to
+ activate all tasks.
+ (Activate_Restricted_Tasks): Added. Called during elaboration to
+ activate tasks of the units.
+ * s-tarest.ads: Remove pragma Partition_Elaboration_Policy.
+ (Partition_Elaboration_Policy): New variable (set by the binder).
+ (Create_Restricted_Task): Revert removal of the chain parameter.
+ (Create_Restricted_Task_Sequential): New procedure.
+ (Activate_Restricted_Tasks): Revert removal.
+ (Activate_All_Tasks_Sequential): New procedure.
+
+2012-11-06 Bernard Banner <banner@adacore.com>
+
+ * adaint.c Add file macro definitions missing on Android.
+ * adaint.h Avoid definitions related to task affinity and CPU
+ sets since this functionality is missing on the Android
+ * errno.c (__set_errno): Android already contains such a named
+ procedure so do include again.
+ * gsocket.h: Sockets not supported on Android.
+ * init.c: Avoid linux related code not supported on Android.
+ * sysdep.c (sigismember, sigaddset, sigdelset, sigemptyset,
+ sigfillset): wrapper functions since sig routines are defined
+ as inline macros on Android.
+ * terminals.c: Add stubs for terminal related functions not
+ supported on Android.
+
+2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Do not
+ output the characters of an illegal argument as it may not have
+ characters to begin with.
+
+2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Loop_Assertion):
+ Change the order of argument processing to avoid disappearing
+ increase / decrease expressions.
+
+2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_prag.adb: Add with and use clause for Sem_Ch8.
+ (Expand_N_Pragma): Add a new variant to expand pragma Loop_Assertion.
+ (Expand_Pragma_Loop_Assertion): New routine.
+ * par-prag.adb (Prag): The semantic analysis of pragma
+ Loop_Assertion is carried out by Analyze_Pragma. No need for
+ checks in the parser.
+ * sem_prag.adb: Add a reference position value for pragma
+ Loop_Assertion in Sig_Flags.
+ (Analyze_Pragma): Add semantic analysis for pragma Loop_Assertion.
+ * snames.ads-tmpl: Add the following new names:
+ Name_Decreases Name_Increases Name_Loop_Assertion.
+ Add new pragma id Pragma_Loop_Assertion.
+
+2012-11-06 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb: Identifier in iterator must have debug
+ information.
+
+2012-11-06 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Remove
+ duplicate rules handled by Make-generated.in.
+
+2012-10-31 Lawrence Crowl <crowl@google.com>
+
+ * gcc-interface/utils.c (gnat_write_global_declarations):
+ Rename varpool_node to varpool_node_for_decl.
+
+2012-10-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in: Fix and clean up rules for C files.
+
+2012-10-29 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in (s-oscons.ads): Adjust call to xoscons.
+
+2012-10-29 Pascal Obry <obry@adacore.com>
+
+ * xoscons.adb, Make-generated.in; The template used by xoscons is now
+ given as parameter.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * exp_dbug.adb (Qualify_Entity_Name): Only do renaming in formal
+ verification mode when there is a homonym.
+
+2012-10-29 Thomas Quinot <quinot@adacore.com>
+
+ * xoscons.adb: Minor reformatting.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * exp_alfa.adb (Expand_Alfa): Backtrack change that removed
+ qualification of names in formal verification mode. Instead,
+ the qualification should be modified.
+ * exp_dbug.adb (Qualify_Entity_Name): Modify qualification in formal
+ verification mode, so that only a suffix is added to distinguish
+ homonyms from the same scope.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Document that pragma Optimize_Alignment (Space) is
+ ignored with a warning for packed variable length records.
+
+2012-10-29 Thomas Quinot <quinot@adacore.com>
+
+ * socket.c, g-socthi-dummy.adb, g-socthi-dummy.ads, g-socthi-vms.adb,
+ g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
+ s-oscons-tmplt.c, g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi.adb,
+ g-socthi.ads, xoscons.adb, g-socket.adb, g-sothco.ads: Introduce an
+ appropriate subtype for IOCTL requests, since these may be signed or
+ unsigned.
+
+2012-10-29 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_alfa.adb: Minor reformatting.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Clarify documentation on maximum
+ line length style switch.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * layout.adb (Set_Composite_Alignment): Ignore pragma
+ Optimize_Alignment (Space) for packed variable length records.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * s-bignum.adb: Minor comment change.
+
+2012-10-29 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c: Fix signedness of ioctl request identifiers
+ for x86_64-freebsd.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * exp_alfa.adb (Expand_Alfa): Remove qualification of names.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor rewording.
+
+2012-10-29 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.ads (Is_Expanded_Dispatching_Call): New subprogram.
+ * exp_disp.adb (Expand_Dispatching_Call): No action needed if the
+ call has been already expanded.
+ (Is_Expanded_Dispatching_Call): New subprogram.
+ * sem_disp.adb (Propagate_Tag): No action needed if the call
+ has been already expanded.
+
+2012-10-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb (Create_Index_And_Data): Remove local
+ variable Index_Typ and its uses. The type of the index is now
+ System.Tasking.Entry_Index. Update all related comments.
+ * rtsfind.ads: Add RE_Entry_Index in tables RE_Id and RE_Unit_Table.
+ * s-taskin.adb (Number_Of_Entries): The return type is now Entry_Index.
+ * s-taskin.ads: The index type of Task_Entry_Names_Array is now
+ Entry_Index.
+ (Number_Of_Entries): The return type is now Entry_Index.
+ * s-tpoben.adb (Number_Of_Entries): The return type is now Entry_Index.
+ * s-tpoben.ads: The index type of Protected_Entry_Names_Array
+ is now Entry_Index.
+ (Number_Of_Entries): The return type is now Entry_Index.
+
+2012-10-29 Pascal Obry <obry@adacore.com>
+
+ * gnat_ugn.texi: Add note about SEH setup on x86-windows.
+
+2012-10-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-bignum.adb (Allocate_Bignum): Use the exact layout of
+ Bignum_Data for the overlay.
+
+2012-10-29 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi, sem_prag.adb, sem_util.adb, sem_util.ads,
+ par-prag.adb, par-util.adb, snames.ads-tmpl (Sem_Prag.Analyze_Pragma):
+ Handle new pragma Attribute_Definition.
+ (Sem_Util.Bad_Attribute): New routine, moved here
+ from par-util, so that it can be used by the above.
+ (Par_Util.Signal_Bad_Attribute): Processing moved to
+ Sem_Util.Bad_Attribute.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * s-tpoben.ads, s-taskin.ads, exp_ch3.adb: Minor reformatting.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.adb, gnat1drv.adb, opt.ads: Rename S14_Extensions
+ into Formal_Extensions.
+
+2012-10-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_attr.adb: Minor reformatting.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * gnat_rm.texi: Document implementation advice for Pragma
+ Partition_Elaboration_Policy.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * s-bignum.adb (Div_Rem): Reference that Algorithm_D is from
+ the second edition of TAOCP from Knuth, since the algo changed
+ in the third edition. Also correct the definition of 'd' which
+ could overflow.
+
+2012-10-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Build_Initialization_Call): Create static strings
+ which denote entry [family] names and associate them with the
+ object's Protection_Entries or ATCB.
+ (Build_Init_Statements):
+ Remove local variable Names. Do not generate the entry [family]
+ names inside the init proc because they are now static.
+ * exp_ch9.adb (Build_Entry_Names): Reimplemented. The strings
+ which denote entry [family] names are now generated statically
+ and associated with the concurrent object's Protection_Entries
+ or ATCB during initialization.
+ * exp_ch9.ads (Build_Entry_Names): Change subprogram profile
+ and associated comment on usage.
+ * rtsfind.ads: Add the following entries to tables RE_Id and
+ RE_Unit_Table:
+
+ RE_Protected_Entry_Names_Array RE_Task_Entry_Names_Array
+ RO_PE_Number_Of_Entries RO_PE_Set_Entry_Names
+ RO_ST_Number_Of_Entries RO_ST_Set_Entry_Names
+
+ Remove the following entries from tables RE_Id and RE_Unit_Table:
+
+ RO_PE_Set_Entry_Name RO_TS_Set_Entry_Name
+
+ * s-taskin.adb: Remove with clause for Ada.Unchecked_Deallocation.
+ (Free_Entry_Names_Array): Removed.
+ (Number_Of_Entries): New routine.
+ (Set_Entry_Names): New routine.
+ * s-taskin.ads: Rename type Entry_Names_Array to
+ Task_Entry_Names_Array. Rename type Entry_Names_Array_Access
+ to Task_Entry_Names_Access. Update the type of ACTB field
+ Entry_Names and add a comment on its protection status.
+ (Free_Entry_Names_Array): Removed.
+ (Number_Of_Entries): New routine.
+ (Set_Entry_Names): New routine.
+ * s-tassta.adb (Create_Task): Remove formal parameter
+ Build_Entry_Names. Do not allocate an array to hold the
+ string names of entries and families.
+ (Free_Entry_Names): Removed.
+ (Free_Task): Remove the call to Free_Entry_Names.
+ (Set_Entry_Name): Removed.
+ (Vulnerable_Free_Task): Remove the call to Free_Entry_Names.
+ * s-tassta.ads (Create_Task): Remove formal parameter
+ Build_Entry_Names along with associated comment.
+ (Set_Entry_Name): Removed.
+ * s-tpoben.adb: Remove with clause for Ada.Unchecked_Deallocation.
+ (Finalize): Remove the call to Free_Entry_Names.
+ (Free_Entry_Names): Removed.
+ (Initialize_Protection_Entries):
+ Remove formal parameter Build_Entry_Names. Do not allocate
+ an array to hold the string names of entries and families.
+ (Number_Of_Entries): New routine.
+ (Set_Entry_Name): Removed.
+ (Set_Entry_Names): New routine.
+ * s-tpoben.ads: Add types Protected_Entry_Names_Array and
+ Protected_Entry_Names_Access. Update the type of Protection_Enties
+ field Entry_Names.
+ (Initialize_Protection_Entries): Remove
+ formal parameter Build_Entry_Names along with associated comment.
+ (Number_Of_Entries): New routine.
+ (Set_Entry_Name): Removed.
+ (Set_Entry_Names): New routine.
+
+2012-10-29 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Minor typo fix.
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * debug.adb Associate debug switch -gnatd.V to extensions for
+ formal verification.
+ * gnat1drv.adb (Adjust_Global_Switches): Set flag S14_Extensions
+ when -gnatd.V is set.
+ * gnat_rm.texi: Remove doc for Assert_And_Cut.
+ * opt.ads Declare new flag S14_Extensions, to be set when new
+ aspects/pragmas/attributes for formal verification should be
+ accepted.
+ * sem_prag.adb (Analyze_Pragma): Check that S14_Extensions is
+ set when treating pragma Assert_And_Cut.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * s-tarest.ads, s-tassta.adb: Add a pragma Partition_Elaboration_Policy.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor reformatting.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * xr_tabls.adb, xr_tabls.ads, exp_ch9.adb, snames.adb-tmpl,
+ snames.ads-tmpl, exp_ch3.adb: Minor reformatting.
+
+2012-10-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb: Call Build_Subprogrm_Instance_Renamings only when
+ generating code.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add documentation for -gnatw.k/-gnatw.K.
+ * ug_words: Add entries for -gnatw.k/.K for [NO]STANDARD_REDEFINITION.
+ * vms_data.ads: Add entries for [NO]STANDARD_REDEFINITION.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch9.adb, s-tarest.ads, exp_ch3.adb: Update comments.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Minor documentation addition.
+
+2012-10-29 Emmanuel Briot <briot@adacore.com>
+
+ * xr_tabls.adb, xr_tabls.ads (Add_Declaration, Add_Reference): No
+ longer assume that a parameter declaration is seen after the subprogram
+ that uses it.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * lib-writ.adb (Write_ALI): Emit partition elaboration policy
+ in P line.
+ * lib-writ.ads: Document partition elaboration policy indication.
+ * sem_prag.adb (Check_Arg_Is_Partition_Elaboration_Policy): New
+ procedure.
+ (Analyze_Pragma): Handle Partition_Elaboration_Policy.
+ (Sig_Flags): Add flag for Pragma_Partition_Elaboration_Policy
+ * ali.adb (Initialize_ALI): Init Partition_Elaboration_Policy_Specified.
+ (Scan_ALI): Read Ex indications.
+ * ali.ads: ALIs_Record: Add Partition_Elaboration_Policy.
+ * par-prag.adb (Prag): Add Partition_Elaboration_Policy.
+ * snames.adb-tmpl (Is_Partition_Elaboration_Policy_Name): New function.
+ * opt.ads (Partition_Elaboration_Policy): Declare.
+ (Partition_Elaboration_Policy_Sloc): Declare.
+ * bcheck.adb (Check_Consistent_Partition_Elaboration_Policy):
+ New procedure. (Check_Configuration_Consistency): Check partition
+ elaboration policy consistency.
+ * snames.ads-tmpl (Name_Partition_Elaboration_Policy): New name.
+ (First_Partition_Elaboration_Policy_Name, Name_Concurrent,
+ Name_Sequential, Last_Partition_Elaboration_Policy_Name): Likewise.
+ (Pragma_Partition_Elaboration_Policy): New literal.
+ (Is_Partition_Elaboration_Policy_Name): New function.
+
+2012-10-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Is_Public_Subprogram_For): Handle properly
+ expression functions, which are rewritten as subprogram
+ declarations, when generating invariants for its return value
+ and in-out parameters.
+
+2012-10-29 Arnaud Charlet <charlet@adacore.com>
+
+ * warnsw.adb (Set_GNAT_Mode_Warnings): Unset
+ Warn_On_Standard_Redefinition.
+
+2012-10-29 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Derive_Progenitor_Subprograms): Complete documentation.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * par-ch11.adb (Warn_If_Standard_Redefinition): Add calls.
+ * par-ch3.adb (P_Defining_Identifier): Call
+ Warn_If_Standard_Redefinition if not inside record definition.
+ * par-ch6.adb (Warn_If_Standard_Redefinition): Add calls.
+ * par-util.adb (Warn_If_Standard_Redefinition): New procedure.
+ * par.adb (Inside_Record_Definition): New flag.
+ (Warn_If_Standard_Redefinition): New procedure.
+ * sinfo-cn.adb (Change_Identifier_To_Defining_Identifier): Remove
+ handling of warning for redefining standard name (moved to Par*).
+
+2012-10-29 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Derive_Progenitor_Subprograms): Disable small
+ optimization in generic formal types.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb, exp_ch3.adb: Add comments.
+ * sem_prag.adb: Minor reformatting.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * bindgen.adb (Gen_Output_File_Ada): Do not emit declaration for
+ Is_Elaborated if not referenced.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch9.adb (Build_Activation_Chain_Entity): Punt in restricted
+ profile.
+ * exp_ch3.adb (Build_Initialization_Call): Do no append _Chain
+ parameter in restricted profile.
+ (Build_Init_Call_Thru): Likewise.
+ (Init_Formals): Likewise.
+ * exp_ch3.adb: Minor reformatting.
+
+2012-10-29 Arnaud Charlet <charlet@adacore.com>
+
+ * usage.adb: Update usage line for -gnatw.k.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.adb: Code clean up.
+
+2012-10-29 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Clarify documentation of attribute
+ Ignore_Source_Sub_Dirs.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * g-sechas.adb, g-sechas.ads, exp_ch9.adb, bindgen.adb, exp_dbug.adb,
+ exp_dbug.ads: Minor reformatting.
+
+2012-10-29 Pascal Obry <obry@adacore.com>
+
+ * g-sechas.adb, g-sechas.ads: (Binary_Message_Digest): New subtype.
+ (Digest): New versions returning a Binary_Message_Digest.
+ (Wide_Digest): Likewise.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * warnsw.adb: Complete previous change.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * bindgen.adb (Check_File_In_Partition, Check_System_Restrictions_Used):
+ Removed.
+ (Check_Dispatching_Domains_Used): Removed.
+ (Gen_Adafinal): Remove call to above procedures.
+ (Resolve_Binder_Options): Handle system restrictions and dispatching
+ domains.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Remove
+ Chain parameter.
+ * exp_ch9.adb (Make_Task_Create_Call): Do not add Chain parameter
+ on restricted runtime.
+
+2012-10-29 Pascal Obry <obry@adacore.com>
+
+ * g-sechas.adb, g-sechas.ads: Minor code clean-up.
+
+2012-10-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aux.adb (Get_Rep_Item): Treat Priority and Interrupt_Priority
+ as equivalent, because only one of them can be specified for a
+ task, protected definition, or subprogram body.
+ * aspects.adb ((Same_Aspect): The canonical aspect of
+ Interrupt_Priority is Priority.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb: Minor reformatting.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * i-cstrea.ads: Avoid redefinition of standard symbol string.
+ * prj-makr.adb: Add comment for OK redefinition of Stadard.
+ * prj.ads: Add comment for OK redefinition of Stadard.
+ * s-crtl.ads: Avoid redefinition of standard symbol string.
+ * sinfo-cn.adb (Change_Identifier_To_Defining_Identifier):
+ Generate warning for standard redefinition if
+ Warn_On_Standard_Definition set.
+ * usage.adb: Add lines for -gnatw.k and -gnatw.K
+ * warnsw.adb: Set/reset Warn_On_Standard_Redefinition
+ appropriately.
+ * warnsw.ads (Warn_On_Standard_Redefinition): New flag.
+ * s-stratt-xdr.adb: Avoid new warning.
+
+2012-10-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_dbug.ads, exp_dbug.adb (Build_Subprogram_Instance_Renamings):
+ in the body of a subpogram instance, introduce local renamings
+ for actuals of an elementary type, so that GDB can recover the
+ values of these actuals more directly.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Statement): Add warning for identical
+ inner/outer ranges.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads: Change terminology "present" to "defined" in talking
+ about whether a given field is defined for a given entity kind.
+
+2012-10-29 Bob Duff <duff@adacore.com>
+
+ * atree.ads: Minor comment fix.
+
+2012-10-29 Bob Duff <duff@adacore.com>
+
+ * sem_ch13.adb (Replace_Type_Reference): Set_Comes_From_Source.
+ Otherwise, the node is ignored by ASIS.
+ * sem_ch5.adb: Minor reformatting.
+
+2012-10-29 Thomas Quinot <quinot@adacore.com>
+
+ * exp_attr.adb, exp_dist.adb, exp_dist.ads (Build_To_Any_Call): Pass
+ an explicit Loc parameter to set the source location of generated
+ nodes.
+
+2012-10-29 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch9.adb (Build_Task_Activation_Call): Do nothing on
+ restricted profile.
+ * bindgen.adb (System_Tasking_Restricted_Stages_Used): New variable.
+ (Gen_Adainit): Declare and call Activate_Tasks when the above variable
+ is set.
+ (Resolve_Binder_Options): Set the variable.
+ * rtsfind.ads (RE_Activate_Restricted_Tasks): Removed (now unused).
+ * s-tarest.adb (Tasks_Activation_Chain): New variable.
+ (Activate_Restricted_Tasks): Removed, and replaced by ...
+ (Activate_Tasks): New procedure, to activate all tasks at
+ the end of elaboration.
+ (Create_Restricted_Tasks): Chain parameter is now unreferenced. Put
+ the created task on the Tasks_Activation_Chain list.
+ * s-tarest.ads (Activate_Restricted_Tasks): Removed.
+ (Activate_Tasks): Added.
+
+2012-10-29 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_res.adb (Resolve_If_Expression): Compare subtype of the 'then'
+ expression against the subtype of the expression rather than comparing
+ base types, same as is already done for the 'else' expression.
+
+2012-10-29 Steve Baird <baird@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If CodePeer_Mode
+ = True and we detect that an Address specification is used to overlay
+ another object, do not set that object's Treat_As_Volatile flag.
+
+2012-10-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Constant_Redeclaration): If the type of a
+ deferred constant has invariants, generate invariant call on
+ the initial value.
+
+2012-10-29 Bob Duff <duff@adacore.com>
+
+ * sem_ch13.adb (Replace_Type_Reference): Use correct sloc for
+ the new node.
+
+2012-10-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_elab.adb: Minor reformatting and code reorganization.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * par-ch4.adb (P_Primary): Warn on bad use of unary minus.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * s-valuti.ads, s-valuti.adb (Bad_Value): New procedure.
+ * s-valllu.adb, s-valwch.adb, s-valcha.adb, s-valint.adb,
+ s-valuns.adb, s-valrea.adb, s-valboo.adb, s-valenu.adb,
+ s-vallli.adb: Use Bad_Value everywhere.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Do not suppress checks
+ in Alfa mode.
+
+2012-10-29 Yannick Moy <moy@adacore.com>
+
+ * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
+ Add special case for case expression alternative.
+ (Is_Signed_Integer_Arithmetic_Op): Remove special case for case
+ expression alternative.
+ * exp_ch4.adb Minor reformatting.
+
+2012-10-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_elab.adb: Minor reformatting.
+
+2012-10-29 Bob Duff <duff@adacore.com>
+
+ * sem_res.adb: Minor: Remove redundant test.
+
+2012-10-29 Arnaud Charlet <charlet@adacore.com>
+
+ * pprint.ads, pprint.adb, adabkend.ads, adabkend.adb,
+ aa_util.ads, aa_util.adb: New.
+
+2012-10-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * system-linux-mipsel.ads (Stack_Check_Probes): Set to True.
+ * system-linux-mips.ads (Stack_Check_Probes): Likewise.
+ * system-linux-mips64el.ads (Stack_Check_Probes): Likewise.
+
+2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Force
+ BLKmode on the type if it is passed by reference.
+ <E_Array_Subtype>: Likewise.
+ <E_Record_Type>: Guard the call to Is_By_Reference_Type predicate.
+ <E_Record_Subtype>: Likewise.
+
+ * gcc-interface/Makefile.in: Remove outdated comment and reference to
+ non-existing file.
+
+2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (rest_of_record_type_compilation): Simplify and
+ robustify pattern machine code for masking operations.
+
+2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: In
+ type annotation mode, break circularities introduced by AI05-0151.
+
+2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Loop_Statement_to_gnu): Use gnat_type_for_size
+ directly to obtain an unsigned version of the base type.
+
+2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: Do not
+ generate the special PARM_DECL for an Out parameter in LTO mode.
+
+2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR bootstrap/54820
+ * gcc-interface/Make-lang.in (GCC_LINK): Remove hardcoded options.
+
+2012-10-15 Matthias Klose <doko@ubuntu.com>
+
+ * gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for
+ ARM Linux/GNU.
+
+2012-10-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch7.adb: Minor reformatting.
+
+2012-10-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Persistent_BSS): check for
+ a duplicate pragma before Rep_Item_Too_Late to prevent spurious
+ messages about duplicate pragmas.
+
+2012-10-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.adb (Find_Init_Call): If the successor of the
+ object declaration is a block, check whether it contains the
+ initialization call, because it may have been created by actuals
+ that use the secondary stack.
+
+2012-10-05 Thomas Quinot <quinot@adacore.com>
+
+ * sem_dim.adb, errout.adb, errout.ads (Analyze_Dimension_Call): Add
+ guard against abnormal tree resulting from a previously diagnosed
+ illegality.
+
+2012-10-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * freeze.adb (Freeze_Expression): Rename local variable Cspc to Spec
+ and update all refs to it. Do not freeze an entity outside a subprogram
+ body when the original context is an expression function.
+
+2012-10-05 Robert Dewar <dewar@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Default for overflow checking
+ is suppressed, even if backend overflow/divide checks are enabled.
+
+2012-10-05 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.adb (Set_Invariant_Procedure, Set_Predicate_Function):
+ chain properly subprograms on Subprograms_For_Type list.
+ * sem_ch13.ads; (Build_Invariant_Procedure_Declaration): new
+ procedure, to create declaration for invariant procedure
+ independently of the construction of the body, so that it can
+ be called within expression functions.
+ * sem_ch13.adb (Build_Invariant_Procedure): code cleanup. The
+ declaration may already have been generated at the point an
+ explicit invariant aspect is encountered.
+ * sem_prag.adb; (Analyze_Pragma, case Invariant): create declaration
+ for invariant procedure.
+ * sem_ch7.adb (Analyze_Package_Specification): clean up call to
+ build invariant procedure.
+ (Preserve_Full_Attributes): propagate information about invariants
+ if they appear on a completion,
+
+2012-10-05 Pascal Obry <obry@adacore.com>
+
+ * gnat_ugn.texi: Update documentation to lift Microsoft C
+ restriction.
+
+2012-10-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb (Has_One_Matching_Field): Handle case of lone
+ discriminant.
+
+2012-10-05 Yannick Moy <moy@adacore.com>
+
+ * checks.adb (Minimize_Eliminate_Overflow_Checks): Correct code
+ for the division operation and exponent operation. Adjust bound
+ for the mod and rem operations.
+
+2012-10-05 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb, checks.ads, s-tassta.adb, s-stposu.adb, s-spsufi.adb,
+ s-spsufi.ads, exp_ch4.adb: Minor reformatting.
+
+2012-10-05 Yannick Moy <moy@adacore.com>
+
+ * switch-c.adb, checks.adb, checks.ads, sem_prag.adb, exp_ch4.adb,
+ osint.adb: Minor correction of typos, and special case for Alfa mode.
+
+2012-10-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * s-spsufi.adb: Add with clause for Ada.Unchecked_Deallocation.
+ Add with and use clauses for System.Finalization_Masters.
+ (Finalize_And_Deallocate): Add an instance of
+ Ada.Unchecked_Deallocation. Merge the code from the now obsolete
+ Finalize_Subpool into this routine.
+ * s-spsufi.ads: Add pragma Preelaborate.
+ * s-stposu.adb: Remove with clause for
+ Ada.Unchecked_Deallocation; Add with and use clauses for
+ System.Storage_Pools.Subpools.Finalization; (Finalize_Pool):
+ Update the comment on all actions takes with respect to a subpool
+ finalization. Finalize and deallocate each individual subpool.
+ (Finalize_Subpool): Removed.
+ (Free): Removed;
+ (Detach): Move from package body to spec.
+ * s-stposu.ads (Detach): Move from package body to spec.
+ (Finalize_Subpool): Removed.
+
+2012-10-05 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tassta.adb: Update comments.
+ (Vulnerable_Complete_Master): If Free_On_Termination is set, do
+ nothing, and let the task free itself if not already done.
+
+2012-10-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Resolve_Set_Membership): Warn on duplicates.
+
+2012-10-04 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb (Getopt): Fix value of Full_Switch returned in case of
+ invalid switch.
+
+2012-10-04 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2012-10-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb (Fold_Str, Fold_Uint, Fold_Ureal): Reset static
+ expression state after Resolve call.
+
+2012-10-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma. case Warnngs): Don't make entry
+ in the table for Warnings Off pragmas if within an instance.
+
+2012-10-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch9.adb (Analyze_Entry_Body): Transfer
+ Has_Pragma_Unreferenced flag from entry formal to corresponding
+ entity in body, to prevent spurious warnings when pragma is
+ present.
+
+2012-10-04 Robert Dewar <dewar@adacore.com>
+
+ * s-bignum.adb (Big_Exp): Raise Storage_Error for ludicrously
+ large results.
+
+2012-10-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Check_Duplicate_Aspects): Diagnose properly
+ aspects that appear in the partial and the full view of a type.
+
+2012-10-04 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads (N_Return_Statement): Removed.
+
+2012-10-04 Tristan Gingold <gingold@adacore.com>
+
+ * init.c (__gl_zero_cost_exceptions): Comment it as not used
+ anymore.
+ * bindgen.adb (Gen_Adainit): Do not emit Zero_Cost_Exceptions
+ anymore.
+
+2012-10-04 Thomas Quinot <quinot@adacore.com>
+
+ * prep.adb, prepcomp.adb, gprep.adb, opt.ads: New preprocessor switch
+ -a (all source text preserved).
+
+2012-10-04 Vincent Celier <celier@adacore.com>
+
+ * prj-proc.adb (Recursive_Process): Use project directory
+ display path name as the value of 'Project_Dir.
+
+2012-10-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
+ Deal with case where we get a bignum operand and cannot do a
+ range analysis.
+ * sem_eval.adb (Why_Not_Static): Deal with bignum operands
+
+2012-10-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Find_Unary_Types): Within an instance, an
+ interpretation that involves a predefied arithmetic operator is
+ not a candidate if the corresponding generic formal type is not
+ a numeric type.
+ * sem_util.ads, sem_util.adb (Corresonding_Generic_Type): If a
+ type is a generic actual type within an instance, return the
+ corresponding formal in the generic unit, otherwise return
+ Any_Type.
+
+2012-10-04 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze
+ if/case expression if nothing has changed (just reexpand). Stops
+ case expression from generating incorrect temporary.
+ * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
+ Fix cut and paste typo for range analysis in NE (not equal) case.
+ * sem_eval.adb (Compile_Time_Compare): Small optimization to
+ catch some more cases.
+ * types.ads (Suppressed_Or_Checked): New subtype of
+ Overflow_Check_Type.
+
+2012-10-04 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Set_CPP_Constructors_Old): Removed.
+ (Set_CPP_Constructors): Code cleanup.
+
+2012-10-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Is_Ancestor_Unit): Make global, for use elsewhere.
+ (Install_Private_with_Clauses): if clause is private and limited,
+ do not install the limited view if the library unit is an ancestor
+ of the unit being compiled. This unusual configuration occurs
+ when compiling a unit DDP, when an ancestor P of DDP has a
+ private limited with clause on a descendant of P that is itself
+ an ancestor of DDP.
+
+2012-10-04 Vincent Celier <celier@adacore.com>
+
+ * prj-proc.adb (Process_Package_Declaration): Use project
+ directory display path name as the value of 'Project_Dir.
+
+2012-10-04 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_util.adb (Build_Allocate_Deallocate_Proc): The subpool can be
+ given by an arbitrary name, so copy the tree to make the call's actual.
+
+2012-10-04 Robert Dewar <dewar@adacore.com>
+
+ * s-exnllf.adb, s-exnllf.ads: Minor reformatting.
+
+2012-10-04 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch6.adb: Minor reformatting.
+
+2012-10-04 Pascal Obry <obry@adacore.com>
+
+ * projects.texi: Use consistently @command{} when referencing
+ commands. Fix typos.
+
+2012-10-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (New_Overloaded_Entity): call
+ Append_Inherited_Subprogram when appropriate.
+ * sem_dim.adb (Analyze_Dimension_Call): Do not perform dimensional
+ analysis if call has previous semantic error.
+ * sem_util.ads, sem_util.adb (Append_Inherited_Subprogram):
+ new subprogram to handle properly the visibility of inherited
+ operations that are primitives of a type extension, when the
+ parent type and operations are declared in the same visible part.
+
+2012-10-03 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Minimize_Eliminate_Overflow_Checks): Properly
+ handle case of top level expression within type conversion
+ * gnat1drv.adb (Adjust_Global_Switches): Set SUPPRESSED as
+ default for overflow checking for -gnatg mode (includes run-time).
+ * sem_res.adb (Resolve_Type_Conversion): Avoid bogus warnings
+ about redundant conversions from MINIMIZED/EXTENDED mode checking
+
+2012-10-03 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Allocator_Expression): Minor code
+ reorganization and cleanup. Done to ensure proper management of
+ the C++ constructor covering tagged and untagged types and also
+ non-default constructors.
+ * exp_ch6.ads, exp_ch6.adb (Make_CPP_Constructor_Call_In_Allocator):
+ New subprogram.
+
+2012-10-03 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch6.adb: Minor typo fix.
+
+2012-10-03 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
+ Set Top_Level properly (to False) for operand of range of
+ membership test.
+ * exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
+ Fix crash with -gnato3 and membership operations.
+ (Expand_Membership_Minimize_Eliminate_Overflow): Fix error message
+ and wrong results for -gnato3 large expression and predicated
+ subtype.
+ (Expand_Membership_Minimize_Eliminate_Overflow): Use
+ expression action node to avoid using insert actions (bombs in
+ some cases).
+ (Expand_Compare_Minimize_Eliminate_Overflow): Use expression action
+ node to avoid using insert actions (bombs in some cases).
+
+2012-10-03 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Set_CPP_Constructors_Old): Handle constructor of
+ untagged type that has all its parameters with defaults and hence it
+ covers the default constructor.
+
+2012-10-03 Yannick Moy <moy@adacore.com>
+
+ * checks.adb, sem_prag.adb, s-bignum.ads: Minor typo fixes.
+
+2012-10-03 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.adb (Connect_Socket, version with timeout): When the
+ newly-connected socket is reported as available for writing, check
+ whether it has a pending asynchronous error prior to returning.
+
+2012-10-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Conformance): Additional info when subtype
+ conformance fails, due to a missing null exclusion indicatar in
+ a formal that must match a controlling access formal.
+
+2012-10-02 Ben Brosgol <brosgol@adacore.com>
+
+ * gnat_rm.texi: Minor editing.
+
+2012-10-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Function_Return): Reject a return
+ expression whose type is a local access to subprogram type.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb: Minor improvement to Compile_Time_Compare.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
+ Fix base type problem that resulted in improper conversion.
+ (Minimize_Eliminate_Overflow_Checks): Properly handle top
+ level case to avoid unnecessary conversion to bignum or LLI.
+ (Minimize_Eliminate_Overflow_Checks): Implement uniform two phase
+ approach for arithmetic operators and for if/case expressions.
+ * checks.ads: Minor comment fix.
+ * exp_ch4.adb (Minimized_Eliminated_Overflow_Check): New function,
+ implements a uniform way of treating minimized/eliminated checks in
+ two phases.
+ (Expand_Compare_Minimize_Eliminate_Overflow): Fix cut and
+ paste error resulting in wrong results for less than in some
+ cases. (Expand_Membership_Minimize_Eliminate_Overflow):
+ Fix error caused by incorrect capture of operand types.
+ (Expand_Membership_Minimize_Eliminate_Overflow): Fix error in
+ handling of bignum case.
+ (Expand_N_Case_Expression): Implement
+ proper two phase handling (Expand_N_If_Expression): Implement
+ proper two phase handling (Expand_N_Op_Abs): Implement proper
+ two phase handling ditto for all other arithmetic operators
+ * sem_res.adb (Resolve_If_Expression): Avoid introducing
+ unneeded conversions.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * s-bignum.adb (Big_Exp): 0**0 should be 1, not 0.
+ (Big_Exp): Fix possible error for (-1)**0.
+ (Big_Exp): Fix error in computing 2**K for small K.
+ (Big_Mod): Fix wrong sign for negative operands.
+ (Div_Rem): Fix bad results for operands close to 2**63.
+ * s-bignum.ads: Add documentation and an assertion to require
+ LLI size to be 64 bits.
+ * sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Do not
+ allow ELIMINATED if LLI'Size is other than 64 bits.
+ * switch-c.adb (Scan_Switches): Do not allow -gnato3 if LLI'Size
+ is not 64 bits.
+ * switch.ads (Bad_Switch): Add missing pragma No_Return.
+ * gnat_ugn.texi: Added appendix on Overflow Check Handling in GNAT.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_type.adb: Minor reformatting.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb: Minor reformatting.
+
+2012-10-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Set_CPP_Constructors): Handle constructor with default
+ parameters that covers the default constructor.
+
+2012-10-02 Yannick Moy <moy@adacore.com>
+
+ * s-bignum.adb: Minor stylistic and comment corrections.
+
+2012-10-02 Pascal Obry <obry@adacore.com>
+
+ * prj-util.adb (For_Interface_Sources): Iterate over all sources in
+ aggregate library projects.
+
+2012-10-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Direct_Name): The left-hand side of an
+ assignment may designate a generalized reference.
+
+2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * types.h (N_Return_Statement): Delete.
+ * gcc-interface/trans.c (gnat_to_gnu): Replace N_Return_Statement with
+ N_Simple_Return_Statement.
+
+2012-10-02 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Entity): in a generic context, aspects must
+ be analyzed because they may be queried subsequently within the
+ generic unit, even if no other freezing actions are generated
+ for an entity.
+ * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): iterator
+ aspects must be analyzed because they are delayed aspects and
+ the corresponding attribute definition clause may not have been
+ analyzed yet.
+
+2012-10-02 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Minor editing.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.adb, sinfo.ads, sem_util.adb, sem_util.ads, types.h,
+ exp_ch4.adb, exp_ch6.adb: Get rid of internal use of N_Return_Statement.
+
+2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * types.h: Minor cosmetic fix.
+
+2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
+ bounds of loop iteraration scheme only for locally defined subtypes.
+
+ * gcc-interface/trans.c (gigi): Fix formatting.
+ (build_return_expr): Apply the NRV optimization only for BLKmode.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads: Remove refs of N_Conditional_Expression and
+ N_Parameterized_Expression.
+
+2012-10-02 Thomas Quinot <quinot@adacore.com>
+
+ * exp_aggr.adb (Get_Component_Val): Rewrite code that computes
+ justification of bits in enclosing word in an attempt to make
+ it clearer.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb, sem_ch3.adb, layout.adb, exp_ch7.adb, exp_imgv.adb,
+ exp_util.adb, exp_util.ads, exp_attr.adb, sinfo.adb, sinfo.ads,
+ exp_ch9.adb, style.ads, scos.ads, debug.adb, einfo.ads, scng.adb,
+ checks.adb, checks.ads, sem.adb, par-ch4.adb, sem_util.adb, types.h,
+ sem_res.adb, expander.adb, scans.ads, par.adb, exp_ch2.adb,
+ gnat1drv.adb, stylesw.ads, sem_elab.adb, exp_ch4.adb, exp_ch4.ads,
+ exp_ch6.adb, sem_ch4.adb, sem_ch4.ads, sem_ch6.adb,
+ opt.ads, sem_eval.adb, sem_eval.ads, exp_intr.adb, sprint.adb,
+ sprint.ads, styleg.ads: Change name Conditional_Expression to
+ If_Expression.
+ * gcc-interface/trans.c (gnat_to_gnu): Replace
+ N_Conditional_Expression by N_If_Expression.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Expon): Use expression with actions
+ for x ** 4.
+
+2012-10-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb: (Analyze_Iterator_Specification): If container
+ has a variable indexing aspect, the element is a variable and
+ is modifiable in the loop. This check is also performed when the
+ loop is expanded, but it must be done in semantic analysis when
+ expansion is disabled, for example for ASIS usage.
+
+2012-10-02 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb (Generate_Reference): If a child subprogram
+ has no previous spec, treat a reference to its formals (such
+ as a parameter association) as coming from source in order to
+ generate the proper references and enable gps navigation between
+ reference and declaration.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Apply_Arithmetic_Overflow_Checked_Suppressed):
+ New name for Apply_Arithmetic_Overflow_Normal
+ (Apply_Arithmetic_Overflow_Minimized_Eliminated):
+ Add handling for conditional expressions
+ (Is_Signed_Integer_Arithmetic_Op): Now includes conditional
+ expressions (Minimize_Eliminate_Overflow_Checks): Handle
+ conditional expressions.
+ * checks.ads: Minor comment fixes.
+ * exp_ch4.adb (Expand_N_Case_Expression): Call
+ Apply_Arithmetic_Overflow_Check (Expand_N_Conditional_Expression):
+ Call Apply_Arithmetic_Overflow_Check
+ * s-bignum.adb (Normalize): Remove incorrect precondition.
+ * sem_res.adb (Resolve_Case_Expression): Set Do_Overflow_Check
+ flag (Resolve_Conditional_Expression): Set Do_Overflow_Check flag.
+ * sinfo.adb: Add Do_Overflow_Check for conditional expressions.
+ * sinfo.ads: Minor documentation updates.
+
+2012-10-02 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Case_Expression): Do not introduce
+ indirections when the type of the alternatives is an access type:
+ more efficient, and removes anomalies when an alternative is
+ statically null.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads: Minor comment addition (Invariant is a GNAT aspect).
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.adb, sem_dim.adb, sem_dim.ads, prj-part.adb, checks.adb,
+ freeze.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Fix
+ typo preventing proper processing of Overflow_Checks pragmas
+ for general case.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Mod): Fix crash in ELIMINATED overflow
+ checks mode when bignum mode is used.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * stylesw.ads, gnat_ugn.texi: Document new style rule for NOT IN.
+ * par-ch4.adb (P_Relational_Operator): Add style check for NOT IN.
+ * style.ads, styleg.adb, styleg.ads (Check_Not_In): New procedure.
+
+2012-10-02 Vincent Pucci <pucci@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Check dimension for attribute
+ Old before it gets expanded.
+ * sem_dim.adb (Analyze_Dimension_Has_Etype): Correctly propagate
+ dimensions for identifier.
+
+2012-10-02 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop): Handle properly the case
+ where the iterator type is derived locally from an instantiation
+ of Ada.Iterators_Interface.
+ * exp_ch7.adb (Establish_Transient_Scope): Do not create a
+ transient scope if within the expansion of an iterator loop,
+ because a transient block already exists.
+
+2012-10-02 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb: Use absolute path for configuration pragmas files
+ * make.adb (Configuration_Pragmas_Switch.Absolute_Path): Moved
+ to Makeutl.
+ * makeutl.ads, makeutl.adb (Absolute_Path): New function, moved from
+ make.adb.
+
+2012-10-02 Vincent Celier <celier@adacore.com>
+
+ * prj-part.adb (Post_Parse_Context_Clause): Resurrect Boolean
+ parameter In_Limited. Check for circularity also if In_Limited
+ is True.
+ (Parse_Single_Project): Call Post_Parse_Context_Clause with
+ In_Limited parameter.
+
+2012-10-02 Bob Duff <duff@adacore.com>
+
+ * checks.adb (Apply_Predicate_Check): Disable check in -gnatc mode.
+
+2012-10-02 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch6.adb (Analyze_Function_Call): Dimension propagation
+ for function calls moved to Analyze_Dimension_Call.
+ * sem_dim.adb (Analyze_Dimension_Call): Properly propagate the
+ dimensions from the returned type for function calls.
+
+2012-10-02 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb: Take into account any configuration pragma file
+ in the project files for gnat pretty/stub/metric.
+
+2012-10-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Check_Indexing_Functions): Refine several tests
+ on the legality of indexing aspects: Constant_Indexing functions
+ do not have to return a reference type, and given an indexing
+ aspect Func, not all overloadings of Func in the current scope
+ need to be indexing functions.
+
+2012-10-02 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gnat_ugn.texi: Adjust docs for overflow checks to be VMS-friendly.
+
+2012-10-02 Vincent Celier <celier@adacore.com>
+
+ * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
+ -gnatox and -gnatoxx when x=0/1/2/3.
+
+2012-10-02 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch4.adb (Analyze_Indexed_Component_Form): Dimension
+ analysis for indexed components added.
+ * sem_ch6.adb (Analyze_Function_Call): Dimension propagation
+ for function calls added.
+ * sem_dim.adb (Analyze_Dimension): Call to
+ Analyze_Dimension_Has_Etype when N is a function call.
+ (Analyze_Dimension_Call): Don't propagate anymore the dimensions
+ for function calls since this is now treated separately in
+ Analyze_Dimension_Has_Etype.
+ (Analyze_Dimension_Has_Etype): For
+ attribute references, propagate the dimensions from the prefix.
+ * sem_dim.ads (Copy_Dimensions): Fix comment.
+
+2012-10-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
+ (Apply_Parameter_Aliasing_And_Validity_Checks): This routine
+ has been split into two.
+ (Apply_Parameter_Validity_Checks): New routine.
+ * exp_ch6.adb (Expand_Call): Add checks to verify that actuals
+ do not overlap. The checks are made on the caller side to overcome
+ issues of parameter passing mechanisms.
+ * freeze.adb (Freeze_Entity): Update call to
+ Apply_Parameter_Aliasing_And_Validity_Checks.
+
+2012-10-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Is_Empty_Range): Use bounds of index type
+ to determine whether an array is empty when optimizing
+ a quantified expression over a null range. Use of RM_Size
+ was incorrect. Analyze condition before constant-folding the
+ expression to catch potential errors. Modify the error message
+ to avoid mathematical terminology.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb, gnat_rm.texi, vms_data.ads: Add entry for
+ /OVERFLOW_CHECKS=?? generating -gnato?? for control
+ of extended overflow checking.
+ * ug_words: Add entry for -gnato?? for /OVERFLOW_CHECKS=??
+ * gnat_ugn.texi: Add documentation for -gnato?? for control of overflow
+ checking mode.
+
+2012-10-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Quantified_Expression): If the iterator in
+ a quantified expression is statically known to be null (e.g. a
+ array with an empty index type) emit a warning.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_dim.adb: Minor code reorganization.
+ * sem_dim.ads: Add comment.
+
+2012-10-02 Robert Dewar <dewar@adacore.com>
+
+ * checks.ads, exp_ch4.adb, checks.adb
+ (Minimize_Eliminate_Overflow_Checks): Add Top_Level parameter to avoid
+ unnecessary conversions to Bignum.
+ Minor reformatting.
+
+2012-10-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Process_PPCs): Generate invariant checks for a
+ return value whose type is an access type and whose designated
+ type has invariants. Ditto for in-out parameters and in-parameters
+ of an access type.
+ * exp_ch3.adb (Build_Component_Invariant_Call): Add invariant check
+ for an access component whose designated type has invariants.
+
+2012-10-01 Vincent Pucci <pucci@adacore.com>
+
+ * sem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine.
+ (Resolve_Record_Aggregate): New_Copy_Tree calls replaced by
+ New_Copy_Tree_And_Copy_Dimensions calls. Move_Dimensions call
+ replaced by Copy_Dimensions call.
+ * sem_dim.adb (Analyze_Dimension_Component_Declaration): Don't
+ remove the dimensions of expression in component declaration anymore.
+ (Copy_Dimensions): New routine.
+ (Move_Dimensions): Add call to Copy_Dimensions.
+ * sem_dim.ads (Copy_Dimensions): New routine.
+ (Move_Dimensions): Spec moved to body of Sem_Dim.
+
+2012-10-01 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Apply_Predicate_Check): If the predicate is a
+ static one and the operand is static, evaluate the predicate at
+ compile time.
+ * sem_eval.ads, sem_eval.adb (Eval_Static_Predicate_Check): new
+ procedure, to evaluate a static predicate check whenever possible.
+ * sem_res.adb (Resolve_Type_Conversion): Apply predicate check
+ on the conversion if the target type has predicates.
+
+2012-10-01 Vincent Pucci <pucci@adacore.com>
+
+ * sem_dim.adb (Has_Symbols): Complain if parameter Symbol has been
+ provided by the user in the dimension output call.
+
+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Apply_Divide_Checks): New name for
+ Apply_Divide_Check (Minimize_Eliminate_Overflow_Checks):
+ Add code to handle division (and rem and mod) properly.
+ (Apply_Division_Check): New procedure (Apply_Divide_Checks):
+ Use Apply_Division_Check (Apply_Divide_Checks): Use
+ Apply_Arithmetic_Overflow_Minimized_Eliminated.
+ * checks.ads (Apply_Divide_Checks): New name for
+ Apply_Divide_Check, also add clearer documentation for this
+ routine and put in alfa order.
+ * exp_ch4.adb (Apply_Divide_Checks): New name for
+ Apply_Divide_Check.
+ * s-bignum.adb (To_Bignum): Handle largest negative integer
+ properly.
+ * sem.adb (Analyze): Handle overflow suppression correctly
+ (Analyze_List): Handle overflow suppression correctly
+ * sem_res.adb (Analyze_And_Resolve): Handle overflow suppression
+ correctly.
+
+2012-10-01 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * s-oscons-tmplt.c, g-socket.ads: Revert previous change, breaks VMS.
+
+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Minimize_Eliminate_Overflow_Checks): Changes
+ for exponentiation.
+ * exp_ch4.adb (Expand_N_Op_Expon): Changes for Minimize/Eliminate
+ overflow checks.
+ * s-bignum.adb (Compare): Fix bad precondition.
+
+2012-10-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): If the derived
+ type has new discriminantss that constrain inherited ones, use
+ the discriminant type in the original declaration to check for
+ conformance, because in the presence of array components with a
+ smaller range that are constrained by the origina discriminant,
+ the compiler will have created a narrower subtype for that
+ discriminant.
+
+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
+ Handle case of appearing in range in membership test.
+ * exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
+ New procedure (Expand_N_In): Use
+ Expand_Membership_Minimize_Eliminate_Overflow.
+ * rtsfind.ads: Add RE_Bignum_In_LLI_Range.
+ * s-bignum.ads, s-bignum.adb (Bignum_In_LLI_Range): New function.
+ * sinfo.ads, sinfo.adb (No_Minimize_Eliminate): New flag.
+
+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * uintp.ads: Minor reformatting.
+
+2012-10-01 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb: Improve warning message.
+
+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb: Minor reformatting.
+
+2012-10-01 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Suppress tag
+ assignment for initializations that are aggregates.
+
+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
+ New procedure.
+
+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Minimize_Eliminate_Checks): Changes from testing.
+ (Apply_Arithmetic_Overflow_Minimized_Eliminated): Changes
+ from testing.
+ * sinfo.ads: Remove note on not setting Entity field in overflow
+ case since this is no longer true.
+ * Makefile.rtl: Add s-bignum.o
+
+2012-10-01 Thomas Quinot <quinot@adacore.com>
+
+ * Make-generated.in: Correction to previous change for s-oscons
+ target.
+
+2012-10-01 Thomas Quinot <quinot@adacore.com>
+
+ * s-bignum.adb (Allocate_Bignum): Reorganize to kill strict
+ aliasing warning.
+
+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Overflow_Check_Mode): New function
+ (Apply_Overflow_Check): New procedure (Is_Check_Suppressed):
+ Moved here from Sem, Overflow_Check case now specially treated.
+ * checks.ads (Overflow_Check_Mode): New function
+ (Is_Check_Suppressed): Moved here from Sem (more logical)
+ * exp_ch4.adb (Substitute_Valid_Check): Suppress warning about
+ optimization if we are in MINIMIZED or ELIMINATED overflow
+ checking mode and within an assertiom expression.
+ * rtsfind.ads: Add entries for Bignum stuff.
+ * s-bignum.ads, s-bignum.adb: New files.
+ * sem.ads, sem.adb (Is_Check_Suppressed): Moved to Checks, more logical.
+ * sem_prag.adb (Process_Suppress_Unsuppress): New behavior for
+ Unsuppress of Overflow_Check (sets Checked instead of Minimized)
+ * sem_res.adb: Update comments.
+ * sinfo.ads (N_Op): Add documentation on overflow handling.
+ * tbuild.ads, tbuild.adb (Convert_To_And_Rewrite): New procedure.
+ * types.ads (Minimized_Or_Eliminated): New subtype.
+
+2012-10-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * layout.adb (Layout_Type): Do not set twice the address size
+ on an access-to-unconstrained array if Debug_Flag_6 is set.
+
+2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch3.adb (Analyze_Declarations): Remove the specialized
+ code which prevents freezing when the declarative list contains
+ a _postconditions body. This is no longer needed because the
+ body is now inserted at the end of the declarations.
+ * sem_ch6.adb (Insert_After_Last_Declaration): New routine.
+ (Insert_Before_First_Source_Declaration): Removed.
+ (Process_PPCs): Insert the _postconditions body at the end of
+ the declarative list to prevent premature freezing of types that
+ appear in the declarations.
+
+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb, sem_dim.adb: Minor reformatting.
+
+2012-10-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Process_Convention, Process_Import_Or_Interface):
+ Adjust test so that when the pragma comes from an aspect
+ specification it only applies to the entity in the original
+ declaration.
+
+2012-10-01 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_ugn.texi: Document new command line switch -fada-spec-parent.
+
+2012-10-01 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c, g-socket.ads: Minor code improvement: use gcc
+ builtin __alignof__ to get the alignment of struct fd_set.
+
+2012-10-01 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Remove call to
+ Remove_Dimension_In_Call.
+ * sem_aggr.adb (Resolve_Array_Aggregate): Analyze dimension of
+ components in array aggregate.
+ (Resolve_Aggr_Expr): Propagate dimensions from the original expression
+ Expr to the new created expression New_Expr when resolving the
+ expression of a component in record aggregates.
+ (Resolve_Record_Aggregate): Analyze
+ dimension of components in record (or extension) aggregate.
+ * sem_ch6.adb (Analyze_Subprogram_Specification): Analyze
+ dimension of formals with default expressions in subprogram
+ specification.
+ * sem_ch8.adb (Analyze_Expanded_Name): Analyze dimension of
+ expanded names.
+ (Find_Selected_Component): Analyze dimension of selected component.
+ * sem_dim.adb: Several dimension error messages reformatting.
+ (Dimensions_Msg_Of): New flag Description_Needed in order to
+ differentiate two different sort of dimension error messages.
+ (Dim_Warning_For_Numeric_Literal): New routine.
+ (Exists): New routine.
+ (Move_Dimensions): Routine spec moved to spec file.
+ * sem_dim.ads (String_From_Numeric_Literal): New routine.
+ (Analyze_Dimension): Analyze dimension only when the
+ node comes from source. Dimension analysis for expanded names added.
+ (Analyze_Dimension_Array_Aggregate): New routine.
+ (Analyze_Dimension_Call): New routine.
+ (Analyze_Dimension_Component_Declaration): Warning if default
+ expression is a numeric literal.
+ (Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
+ (Analyze_Dimension_Formals): New routine.
+ (Analyze_Dimension_Object_Declaration): Warning if default
+ expression is a numeric literal.
+ (Symbol_Of): Return either the dimension subtype symbol or the
+ dimension symbol built by From_Dim_To_Str_Of_Unit_Symbols.
+ * sem_dim.ads (Analyze_Dimension_Array_Aggregate): New routine.
+ (Analyze_Dimension_Call): New routine.
+ (Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
+ (Analyze_Dimension_Formals): New routine.
+ (Move_Dimensions): Moved from sem_dim.adb.
+ * s-dimmks.ads: Turn off the warnings for dimensioned object
+ declaration. Dimensioned subtypes sorted in alphabetical
+ order. New subtypes Area, Speed, Volume.
+ * s-dmotpr.ads: Turn off the warnings for dimensioned object
+ declaration.
+ * sem_res.adb (Resolve_Call): Analyze dimension for calls.
+
+2012-10-01 Thomas Quinot <quinot@adacore.com>
+
+ * Make-generated.in: Minor cleanup of all targets: use
+ MOVE_IF_CHANGE to put generated files in place, to avoid useless
+ recompilations.
+
+2012-10-01 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Expand_Dispatching_Call): For functions returning
+ interface types add an implicit conversion to the returned object
+ to force the displacement of the pointer to the returned object
+ to reference the corresponding secondary dispatch table. This
+ is needed to handle well combined calls involving secondary
+ dispatch tables (for example Obj.Prim1.Prim2).
+ * exp_ch4.adb (Expand_Allocator_Expression): Declare internal
+ access type as access to constant or access to variable depending
+ on the context. Found working in this ticket.
+
+2012-10-01 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Apply_Predicate_Check): Do not apply check to
+ actual of predicate checking procedure, to prevent infinite
+ recursion.
+
+2012-10-01 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+ (GCC_LINK): Add -static-libstdc++.
+
+2012-10-01 Arnaud Charlet <charlet@adacore.com>
+
+ * a-catizo.adb, a-stwiun.adb, a-cdlili.adb, a-cihama.adb, a-direct.adb,
+ a-coinve.adb, a-calend.adb, a-ciorse.adb, a-coorma.adb, a-cfdlli.adb,
+ a-stzunb-shared.adb, a-cfhase.adb, bindgen.adb, ceinfo.adb, a-tags.adb,
+ einfo.adb, checks.adb, eval_fat.adb, a-cborma.adb, a-stwifi.adb,
+ a-tifiio.adb, a-textio.adb, a-cidlli.adb, a-strunb-shared.adb,
+ a-cimutr.adb, a-calcon.adb, a-exexpr-gcc.adb, a-ciormu.adb,
+ a-stzunb.adb, a-stzsea.adb, a-ngelfu.adb, a-stzfix.adb,
+ a-cihase.adb, a-cohama.adb, a-exetim-posix.adb, a-dirval-vms.adb,
+ a-caldel-vms.adb, a-coorse.adb, errout.adb,
+ a-except.adb, butil.adb, a-dirval-mingw.adb, a-cforma.adb,
+ a-except-2005.adb, a-wtedit.adb, cstand.adb, a-stwiun-shared.adb,
+ a-cbhama.adb, a-direio.adb, clean.adb, a-cborse.adb, back_end.adb,
+ binde.adb, a-exexda.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb,
+ a-coormu.adb, a-teioed.adb, a-convec.adb, a-wtenau.adb, exp_aggr.adb,
+ a-ztedit.adb, a-cohase.adb, a-exetim-mingw.adb, bcheck.adb,
+ a-dynpri.adb, a-cfhama.adb, a-calfor.adb, a-cbdlli.adb,
+ a-crdlli.adb, a-cbmutr.adb, a-sequio.adb, a-ngcoar.adb, a-cforse.adb,
+ a-strunb.adb, a-calend-vms.adb, a-clrefi.adb, a-cofove.adb,
+ a-ztenau.adb, a-strfix.adb, a-cbhase.adb, a-stzsup.adb: Minor
+ reformatting.
+
+2012-10-01 Vincent Pucci <pucci@adacore.com>
+
+ PR ada/54614
+ * s-gearop.adb (Vector_Matrix_Product): Fix dimension check and index
+ of Left in S evaluation.
+
+2012-10-01 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Analyze_Declarations): Avoid
+ premature freezing caused by the internally generated subprogram
+ _postconditions.
+ * checks.adb (Expr_Known_Valid): Float literals are assumed to be valid
+ in VM targets.
+
+2012-10-01 Thomas Quinot <quinot@adacore.com>
+
+ * sinput.ads, sinput.adb, sinput-l.adb sinput-c.adb (Sinput): New
+ Instances table, tracking all generic instantiations. Source file
+ attribute Instance replaces previous Instantiation attribute with an
+ index into the Instances table.
+ (Iterate_On_Instances): New generic procedure.
+ (Create_Instantiation_Source): Record instantiations in Instances.
+ (Tree_Read, Tree_Write): Read/write the instance table.
+ * scils.ads, scos.adb (SCO_Instance_Table): New table, contains
+ information copied from Sinput.Instance_Table, but self-contained
+ within the SCO data structures.
+ * par_sco.ads, par_sco.adb (To_Source_Location): Move to library level.
+ (Record_Instance): New subprogram, used by...
+ (Populate_SCO_Instance_Table): New subprogram to fill
+ the SCO instance table from the Sinput one (called by SCO_Output).
+ * opt.ads (Generate_SCO_Instance_Table): New option.
+ * put_scos.adb (Write_Instance_Table): New subprogram, used by...
+ (Put_SCOs): Dump the instance table at the end of SCO information
+ if requested.
+ * get_scos.adb (Get_SCOs): Read SCO_Instance_Table.
+ * types.h: Add declaration for Instance_Id.
+ * back_end.adb (Call_Back_End): Pass instance ids in source file
+ information table.
+ (Scan_Back_End_Switches): -fdebug-instances sets
+ Opt.Generate_SCO_Instance_Table.
+ * gcc-interface/gigi.h: File_Info_Type includes instance id.
+ * gcc-interface/trans.c: Under -fdebug-instances, set instance
+ id in line map from same in file info.
+
+2012-10-01 Thomas Quinot <quinot@adacore.com>
+
+ * sem_elab.adb: Minor reformatting
+ (Check_Elab_Call): Minor fix to debugging code
+ (add special circuit for the valid case where a 'Access attribute
+ reference is passed to Check_Elab_Call).
+
+2012-10-01 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch3.adb: Minor reformatting.
+
+2012-10-01 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.ads (Build_Array_Invariant_Proc): moved to body.
+ * exp_ch3.adb (Build_Array_Invariant_Proc,
+ Build_Record_Invariant_Proc): transform into functions.
+ (Insert_Component_Invariant_Checks): for composite types that have
+ components with specified invariants, build a checking procedure,
+ and make into the invariant procedure of the composite type,
+ or incorporate it into the user- defined invariant procedure if
+ one has been created.
+ * sem_ch3.adb (Array_Type_Declaration): Checking for invariants
+ on the component type is defered to the expander.
+
+2012-10-01 Thomas Quinot <quinot@adacore.com>
+
+ * xsnamest.adb, namet.h, sem_ch10.adb, s-oscons-tmplt.c,
+ xoscons.adb: Minor reformatting.
+
+2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.adb (Apply_Parameter_Aliasing_And_Validity_Checks):
+ Do not process subprogram renaminds because a) those cannot
+ have PPC pragmas b) the renamed entity already has the PPCs.
+ (Build_PPC_Pragma): Prepend a PPC pragma for consistency with
+ Process_PPCs.
+ * sem_ch6.adb (Last_Implicit_Declaration): Removed.
+ (Process_PPCs): Insert a post condition body at the start of the
+ declarative region of the related subprogram. This way the body
+ will not freeze anything it shouldn't.
+
+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb, sem_ch6.adb, opt.ads, sem_ch13.adb,
+ exp_ch3.adb: Minor reformatting.
+
+2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.adb (Build_PPC_Pragma): A PPC pragma can now be properly
+ associated with a subprogram body.
+
+2012-10-01 Ed Schonberg <schonberg@adacore.com>
+
+ * aspects.ads: Type_Invariant'class is a valid aspect.
+ * sem_ch6.adb (Is_Public_Subprogram_For): with the exception of
+ initialization procedures, subprograms that do not come from
+ source are not public for the purpose of invariant checking.
+ * sem_ch13.adb (Build_Invariant_Procedure): Handle properly the
+ case of a non-private type in a package without a private part,
+ when the type inherits invariants from its ancestor.
+
+2012-10-01 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Build_Record_Invariant_Proc): new procedure to
+ generate a checking procedure for record types that may have
+ components whose types have type invariants declared.
+
+2012-10-01 Vincent Pucci <pucci@adacore.com>
+
+ * system-solaris-sparcv9.ads, system-mingw.ads, system-vms_64.ads: Flag
+ Support_Atomic_Primitives set to True.
+
+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * impunit.adb: Ada.Locales is a language defined unit.
+
+2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.adb (Apply_Parameter_Aliasing_Checks): Removed.
+ (Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
+ (Apply_Parameter_Validity_Checks): Removed.
+ * checks.ads (Apply_Parameter_Aliasing_Checks): Removed.
+ (Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
+ (Apply_Parameter_Validity_Checks): Removed.
+ * exp_ch6.adb (Expand_Call): Remove the generation of parameter
+ aliasing checks.
+ * freeze.adb: Remove with and use clauses for Validsw.
+ (Freeze_Entity): Update the guard and generation of aliasing
+ and scalar initialization checks for subprogram parameters.
+ * opt.ads: Add new flags Check_Aliasing_Of_Parameters and
+ Check_Validity_Of_Parameters along with comments on usage.
+ * sem_attr.adb (Analyze_Attribute): Pragma Overlaps_Storage is
+ no longer an Ada 2012 feature.
+ * sem_ch4.adb: Remove with and use clauses for Checks and Validsw.
+ (Analyze_Call): Remove the generation of aliasing checks for
+ subprogram parameters.
+ * sem_ch13.adb: Remove with and use clauses for Validsw.
+ (Analyze_Aspect_Specifications): Remove the generation of scalar
+ initialization checks.
+ * switch-c.adb (Scan_Front_End_Switches): Add processing for
+ -gnateA and -gnateV.
+ * usage.adb (Usage): Add information on switches -gnateA and
+ -gnateV. Remove information on validity switches 'l', 'L',
+ 'v' and 'V'.
+ * validsw.adb (Reset_Validity_Check_Options): Remove the
+ reset of flags Validity_Check_Non_Overlapping_Params
+ and Validity_Check_Valid_Scalars_On_Params.
+ (Save_Validity_Check_Options): Remove the processing
+ for flags Validity_Check_Non_Overlapping_Params
+ and Validity_Check_Valid_Scalars_On_Params.
+ (Set_Validity_Check_Options): Remove the processing
+ for flags Validity_Check_Non_Overlapping_Params and
+ Validity_Check_Valid_Scalars_On_Params.
+ * validsw.ads: Remove flags Validity_Check_Non_Overlapping_Params
+ and Validity_Check_Valid_Scalars_On_Params along with their
+ comments on usage.
+
+2012-10-01 Yannick Moy <moy@adacore.com>
+
+ * sem_ch13.adb (Add_Invariants): Analyze the invariant expression
+ as an assertion expression.
+ * sem_ch3.adb / sem_ch3.ads (Preanalyze_Assert_Expression):
+ New procedure that wraps a call to Preanalyze_Spec_Expression
+ for assertion expressions, so that In_Assertion_Expr can be
+ properly adjusted.
+ * sem_prag.adb (Analyze_PPC_In_Decl_Part
+ Check_Precondition_Postcondition Preanalyze_CTC_Args): Call the
+ new Preanalyze_Assert_Expression.
+
+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * checks.ads: Minor reformatting.
+
+2012-10-01 Yannick Moy <moy@adacore.com>
+
+ * types.ads, sem_prag.adb, sem.ads: Correct minor typos in comments.
+
+2012-10-01 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Scan_Make_Arg): Only test for "vP" of the option
+ includes at least 3 characters.
+ * gnatcmd.adb (GNATCmd): Ditto.
+
+2012-10-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch7.adb, sinfo.ads: Add comments.
+
+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb: Remove reference to Enable_Overflow_Checks Use
+ Suppress_Options rather than Scope_Suppress.
+ * gnat1drv.adb (Adjust_Global_Switches): Handle new overflow
+ settings (Adjust_Global_Switches): Initialize Scope_Suppress
+ from Suppress_Options.
+ * opt.adb: Remove Enable_Overflow_Checks (use Suppress_Options
+ instead).
+ * opt.ads: Remove Overflow_Checks_Unsuppressed (not used)
+ Remove Enable_Overflow_Checks (use Suppress_Options instead)
+ Suppress_Options is now current setting (replaces Scope_Suppress).
+ * osint.adb (Initialize): Deal with initializing overflow
+ checking.
+ * par-prag.adb: Add dummy entry for pragma Overflow_Checks.
+ * sem.adb (Semantics): Save and restore In_Assertion_Expr Use
+ Suppress_Options instead of Scope_Suppress.
+ * sem.ads (In_Assertion_Expr): New flag (Scope_Suppress):
+ Removed, use Suppress_Options instead.
+ * sem_eval.adb (Compile_Time_Compare): Return Unknown in
+ preanalysis mode.
+ * sem_prag.adb (Process_Suppress_Unsuppress): Setting of
+ Overflow_Checks_Unsuppressed removed (not used anywhere!)
+ (Analyze_Pragma, case Check): Set In_Assertion_Expression
+ (Analyze_Pragma, case Overflow_Checks): Implement new pragma
+ * snames.ads-tmpl: Add names needed for handling pragma
+ Overflow_Checks
+ * switch-c.adb (Scan_Front_End_Switches) Handle -gnato? and
+ -gnato?? where ? is 0-3
+ * types.ads: Updates and fixes to comment on Suppress_Record.
+
+2012-10-01 Vincent Celier <celier@adacore.com>
+
+ * prj-part.adb (Parse): Remove incorrect comment about checking
+ imported non extending projects from and "extending all"
+ one. Minor correction.
+
+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * make.adb, exp_ch3.adb: Minor reformatting.
+
+2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * validsw.adb (Save_Validity_Check_Options): Do not set
+ Validity_Check_Non_Overlapping_Params and
+ Validity_Check_Valid_Scalars_On_Params when -gnatVa is present
+ because the related checks are deemed too aggressive.
+
+2012-10-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.ads sem_util.adb (Check_Internal_Protected_Use):
+ reject use of protected procedure or entry within the body of
+ a protected function of the same protected type, when usage is
+ a call, an actual in an instantiation, a or prefix of 'Access.
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Verify that target
+ object in renaming of protected procedure is a variable, and
+ apply Check_Internal_Protected_Use.
+ * sem_res.adb (Analyze_Call, Analyze_Entry_Call): apply
+ Check_Internal_Protected_Use rather than on-line code.
+ * sem_attr.adb (Analyze_Access_Attribute): Verify that target
+ object in accsss to protected procedure is a variable, and apply
+ Check_Internal_Protected_Use.
+
+2012-10-01 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch4.adb (Find_Equality_Types.Try_One_Interp): Exclude the
+ predefined interpretation from consideration if it's for a "/="
+ operator of a tagged type. This will allow Analyze_Equality_Op to
+ rewrite the "/=" as a logical negation of a call to the appropriate
+ dispatching equality function. This needs to be done during
+ analysis rather than expansion for the benefit of ASIS, which
+ otherwise gets the unresolved N_Op_Ne operator from Standard.
+
+2012-10-01 Thomas Quinot <quinot@adacore.com>
+
+ * gnatcmd.adb, make.adb (Scan_Make_Arg, Inspect_Switches): Recognize
+ and reject an invalid parameter passed to -vP.
+
+2012-10-01 Yannick Moy <moy@adacore.com>
+
+ * sem_warn.adb (Check_Infinite_Loop_Warning/Test_Ref): Improve
+ the detection of modifications to the loop variable by noting
+ that, if the type of variable is elementary and the condition
+ does not contain a function call, then the condition cannot be
+ modified by side-effects from a procedure call.
+
+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb: Add comments.
+
+2012-10-01 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Improve condition catching
+ never-ending recursion. The previous condition erroneously disabled
+ silently the expansion of the class-wide interface object
+ initialization in cases not involving the recursion.
+
+2012-10-01 Thomas Quinot <quinot@adacore.com>
+
+ * make.adb: Minor documentation fix: error messages are sent to
+ stderr, not stdout.
+
+2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
+ (Apply_Parameter_Validity_Checks): New routines.
+ * exp_ch6.adb (Expand_Call): Add aliasing checks to detect
+ overlapping objects.
+ * freeze.adb: Add with and use clauses for Checks and Validsw.
+ (Freeze_Entity): Add checks to detect proper initialization
+ of scalars.
+ * sem_ch4.adb: Add with and use clauses for Checks and Validsw.
+ (Analyze_Call): Add aliasing checks to detect overlapping objects.
+ * sem_ch13.adb: Add with and use clauses for Validsw.
+ (Analyze_Aspect_Specifications): Add checks to detect proper
+ initialization of scalars.
+ * sem_prag.adb (Chain_PPC): Correct the extraction of the
+ subprogram name.
+ * sem_util.adb (Is_Object_Reference): Attribute 'Result now
+ produces an object.
+ * usage.adb (Usage): Add usage lines for validity switches 'l',
+ 'L', 'v' and 'V'.
+ * validsw.adb (Reset_Validity_Check_Options): Include
+ processing for flags Validity_Check_Non_Overlapping_Params and
+ Validity_Check_Valid_Scalars_On_Params. Code reformatting.
+ (Save_Validity_Check_Options): Include processing
+ for flags Validity_Check_Non_Overlapping_Params
+ and Validity_Check_Valid_Scalars_On_Params.
+ (Set_Validity_Check_Options): Add processing for validity switches
+ 'a', 'l', 'L', 'n', 'v' and 'V'. Code reformatting.
+ * validsw.ads: Add new flags Validity_Check_Non_Overlapping_Params
+ and Validity_Check_Valid_Scalars_On_Params along with comments
+ on usage.
+
+2012-10-01 Thomas Quinot <quinot@adacore.com>
+
+ * namet.ads, xsnamest.adb, prj-env.adb, sem_warn.adb,
+ errout.ads: Minor reformatting.
+ * prj-part.adb: Add comment.
+
+2012-10-01 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads, exp_aggr.adb, sem_ch13.adb: Minor reformatting.
+
+2012-10-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): Handle properly
+ component associations given by subtypes that have static
+ predicates. Improve error message for overlapping ranges in
+ array aggregates.
+
+2012-10-01 Pascal Obry <obry@adacore.com>
+
+ * snames.ads-tmpl (Name_Link_Lib_Subdir): New constant.
+
+2012-10-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch9.adb (Analyze_Requeue): The target of a requeue
+ statement on a protected entry must be a variable. This is part
+ of AI05-0225.
+
+2012-09-26 Ian Lance Taylor <iant@google.com>
+
+ * gcc-interface/Makefile.in (LIBBACKTRACE): New variable.
+ (LIBS): Add $(LIBBACKTRACE).
+ (LIBDEPS): Add $(LIBBACKTRACE).
+ (TOOLS_LIBS): Add ../../../libbacktrace/.libs/libbacktrace.a.
+
+2012-09-10 Diego Novillo <dnovillo@google.com>
+
+ * gcc-interface/decl.c (build_subst_list): Adjust call to VEC_safe_push.
+ (build_variant_list): Likewise.
+ * gcc-interface/utils.c (convert): Adjust calls to VEC_quick_push.
+
+2012-09-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Loop_Statement_to_gnu): Revert to using
+ size_type_node instead of sizetype.
+
+2012-08-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * layout.adb (Set_Elem_Alignment): Cap the alignment of access types
+ to that of a regular access type for non-strict-alignment platforms.
+ * gcc-interface/utils.c (finish_fat_pointer_type): Do not set the
+ alignment for non-strict-alignment platforms.
+
+2012-08-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use proper
+ dummy type for the temporary COMPONENT_REF built for a derived tagged
+ type with discriminant.
+
+2012-08-14 Diego Novillo <dnovillo@google.com>
+
+ Merge from cxx-conversion branch. Re-implement VEC in C++.
+
+ * gcc-interface/trans.c (finalize_nrv_unc_r): Adjust VEC_index usage.
+ * gcc-interface/utils.c (convert): Likewise.
+ (remove_conversions): Likewise.
+ * gcc-interface/utils2.c (compare_fat_pointers): Likewise.
+ (build_unary_op): Likewise.
+ (gnat_stabilize_reference): Likewise.
+
+2012-08-06 Jose Ruiz <ruiz@adacore.com>
+
+ * gcc-interface/Makefile.in: Add support for 32-bit VxWorks for SPARC
+ in kernel mode.
+
+2012-08-06 Arnaud Charlet <charlet@adacore.com>
+
+ * prj-attr.adb (Register_New_Package): Add missing blank.
+
+2012-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Is_Two_Dim_Packed_Array): New predicate,
+ used when computing maximum size allowable to construct static
+ aggregate.
+
+2012-08-06 Vincent Pucci <pucci@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Inherit_Aspects_At_Freeze_Point
+ calls added for derived types and subtypes.
+ * sem_aux.adb, sem_aux.ads (Get_Rep_Item, Get_Rep_Pragma,
+ Has_Rep_Pragma): New routines.
+ * sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): New routine.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Error message
+ for aspect Lock_Free fixed.
+ (Inherits_Aspects_At_Freeze_Point): New routine.
+ * sem_ch3.adb: Several flag settings removed since inheritance
+ of aspects must be performed at freeze point.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c: Fix s-oscons.ads formatting on VxWorks.
+
+2012-08-06 Vincent Pucci <pucci@adacore.com>
+
+ * sem_dim.adb (Analyze_Dimension_Binary_Op): Issue an error message
+ for unknown exponent at compile-time.
+
+2012-08-06 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Enhance
+ comment to make it clear that the aggregate's evaluation might
+ still involve run-time checks even though the aggregate is
+ considered known at compile time.
+ * sinfo.ads (Compile_Time_Known_Aggregate): Correct comment to
+ refer to Exp_Aggr instead of Sem_Aggr.
+
+2012-08-06 Robert Dewar <dewar@adacore.com>
+
+ * xoscons.adb: Minor code reorganization (remove unused variable
+ E at line 331).
+ * g-sercom.ads, exp_attr.adb: Minor reformatting.
+ * sinfo.adb, sinfo.ads: Minor cleanup, remove unused flag
+ Static_Processing_OK.
+
+2012-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Concurrent_Type): Copy discriminant
+ constraint when building a constrained subtype, to prevent
+ undesirable tree sharing betweeb geberated subtype and derived
+ type definition.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * g-sercom-mingw.adb, s-oscons-tmplt.c: Add missing constants
+ on Windows.
+
+2012-08-06 Sergey Rybin <rybin@adacore.com frybin>
+
+ * tree_io.ads: Update ASIS_Version_Number because of the tree fix
+ for discriminant constraints for concurrent types.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch4.adb: Minor reformatting.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c, xoscons.adb: Per the Single UNIX Specification,
+ types cc_t, speed_t, and tcflag_t defined in <termios.h> all are
+ unsigned types. Add required special handling to have their correct
+ unsigned values in s-oscons.ads.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * par-ch13.adb: Minor reformatting.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb
+ (Set): Add Local and Flow_Control settings.
+
+2012-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_attr.adb: Suppress saving of 'Old if assertions are not
+ enabled.
+
+2012-08-06 Yannick Moy <moy@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): Issue an error in
+ Alfa mode for component not present.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.adb (Insert_Actions_In_Scope_Around): Do not
+ use a renaming of Scope_Stack.Table (Scope_Stack.Last), as
+ Process_Transient_Object may introduce new scopes and cause
+ Scope_Stack.Table to be reallocated.
+
+2012-08-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb, switch-c.adb, inline.ads, sem_ch10.adb, types.ads,
+ checks.adb, sem_prag.adb, sem.adb, sem.ads, sem_res.adb, sem_attr.adb,
+ gnat1drv.adb, exp_ch4.adb, exp_ch6.adb, opt.ads, osint.adb: Implement
+ extended overflow checks (step 1).
+ (Overflow_Check_Type, Suppress_Record, Suppress_All): New types.
+ (Suppress_Array): Extended to include switches to control extended
+ overflow checking (and renamed to Suppress_Record).
+ Update all uses of Suppress_Array.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * makeutl.ads: Minor documentation fix.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.adb: Minor reformatting.
+
+2012-08-06 Geert Bosch <bosch@adacore.com>
+
+ * a-ngelfu.adb: Change obsolete comment that this is a non-strict
+ implementation.
+
+2012-08-06 Steve Baird <baird@adacore.com>
+
+ * exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): If
+ CodePeer_Mode = True then omit exception handlers for finalization calls
+
+2012-08-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_aggr.adb: Minor reformatting.
+
+2012-08-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb: Remove useless flag Body_Deleted.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * sinfo.ads (End_Span): Change default from No_Uint to Uint_0,
+ as this is what all usage occurrences of this attribute are
+ expecting.
+ * uintp.adb (UI_To_Int): Add assertion to guard against calling
+ with No_Uint.
+
+2012-08-06 Vincent Pucci <pucci@adacore.com>
+
+ PR ada/54125
+ * exp_attr.adb (Expand_N_Attribute_Reference): Expand new
+ Atomic_Always_Lock_Free attribute.
+ * sem_attr.adb (Analyze_Attribute): Analyze new
+ Atomic_Always_Lock_Free attribute.
+ (Eval_Attribute): Nothing to do with new Atomic_Always_Lock_Free
+ attribute.
+ * sem_ch9.adb (Allows_Lock_Free_Implementation):
+ Support_Atomic_Primitives check replaces previous erroneous
+ size check.
+ * sem_util.adb, sem_util.ads (Support_Atomic_Primitives):
+ New routine.
+ * snames.ads-tmpl: New name Name_Atomic_Always_Lock_Free and
+ new attribute Attribute_Atomic_Always_Lock_Free defined.
+ * s-atopri.adb: Support_Atomic_Primitives checks replaced by
+ Atomic_Always_Lock_Free queries.
+ * system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
+ system-hpux.ads, system-linux-alpha.ads, system-linux-hppa.ads,
+ system-linux-ppc.ads, system-linux-s390.ads,
+ system-linux-s390x.ads, system-linux-sh4.ads,
+ system-linux-sparc.ads, system-lynxos178-ppc.ads,
+ system-lynxos-ppc.ads, system-mingw.ads,
+ system-vxworks-arm.ads, system-solaris-sparc.ads,
+ system-solaris-sparcv9.ads, system-vms_64.ads,
+ system-vxworks-m68k.ads, system-vxworks-mips.ads,
+ system-vxworks-ppc.ads, system-vxworks-sparcv9.ads: Flag
+ Support_Atomic_Primitives removed.
+
+2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_mech.adb (Set_Mechanisms): OUT and IN OUT parameters are
+ now unconditionally passed by reference. IN parameters subject
+ to convention C_Pass_By_Copy are passed by copy, otherwise they
+ are passed by reference.
+
+2012-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): According to
+ AI95-0303, protected objects with interrupt handlers can be
+ declared in nested scopes. This is a binding interpretation,
+ and thus applies to all versions of the compiler.
+
+2012-08-06 Robert Dewar <dewar@adacore.com>
+
+ * frontend.adb, exp_aggr.adb: Minor reformatting.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * par-endh.adb: Minor reformatting.
+
+2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Process_Transient_Objects): Remove obsolete loop
+ processing related to array initialization. The expansion of
+ loops already contains a mechanism to detect controlled objects
+ generated by expansion and introduce a block around the loop
+ statements for finalization purposes.
+
+2012-08-06 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch13.adb: Current scope must be within
+ or same as the scope of the entity while analysing aspect
+ specifications at freeze point.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb: Add note about dubious SCO for TERMINATE
+ alternative.
+ * sem_ch8.adb, exp_ch11.adb: Minor reformatting.
+
+2012-08-06 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Two_Dim_Packed_Array_Handled): New procedure to
+ transform an aggregate for a packed two-dimensional array into
+ a one-dimensional array of constant values, in order to avoid
+ the generation of component-by-component assignments.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * frontend.adb: Do not attempt to process deferred configuration
+ pragmas if the main unit failed to load, to avoid cascaded
+ inconsistencies that can lead to a compiler crash.
+
+2012-08-06 Vincent Pucci <pucci@adacore.com>
+
+ * s-atopri.adb: Minor reformatting.
+
+2012-08-06 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat-style.texi: Clarify that all subprograms should be
+ documented. Minor rewording.
+
+2012-08-06 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads: Define Aspect_Id_Exclude_No_Aspect.
+ * par-ch13.adb, restrict.adb: Use Aspect_Id_Exclude_No_Aspect to
+ simplify code.
+
+2012-08-06 Yannick Moy <moy@adacore.com>
+
+ * gnat-style.texi: Update style guide for declarations.
+
+2012-08-06 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): In the case for 'Old,
+ skip a special expansion which is not needed in Alfa mode.
+
+2012-08-06 Yannick Moy <moy@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iterator_Specification): Do not perform
+ an expansion of the iterator in Alfa mode.
+
+2012-08-06 Robert Dewar <dewar@adacore.com>
+
+ * s-oscons-tmplt.c, sem_ch9.adb, osint.adb: Minor reformatting.
+
+2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Remove obsolete
+ Alfa-specific guard. The code is a leftover from an early
+ implementation of iterators which is no longer in use.
+
+2012-08-06 Vincent Celier <celier@adacore.com>
+
+ * par-ch13.adb (Get_Aspect_Specifications): Do not consider
+ No_Aspect when checking for a mispelled aspect.
+
+2012-08-06 Robert Dewar <dewar@adacore.com>
+
+ * s-htable.adb: Minor reformatting.
+
+2012-08-06 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c, g-socket.adb (System.OS_Constants.Target_OS):
+ Suppress warnings so that we don't have to do it at each usage.
+
+2012-08-06 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
+ Use of Known_Static_Esize instead of Known_Esize and
+ Known_Static_RM_Size instead of Known_RM_Size in order to
+ properly call UI_To_Int. Don't check the size of the component
+ type in case of generic.
+ * sem_ch9.adb (Allows_Lock_Free_Implementation):
+ Use of Known_Static_Esize instead of Known_Esize and
+ Known_Static_RM_Size instead of Known_RM_Size in order to properly
+ call UI_To_Int. Don't check the size of the component type in
+ case of generic.
+
+2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.adb (Discrete_Range_Cond): Do not try to optimize on
+ the assumption that the type of an expression can always fit in
+ the target type of a conversion.
+
+2012-07-30 Robert Dewar <dewar@adacore.com>
+
+ * bindusg.adb: Clarify file in -A lines.
+
+2012-07-30 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor reformatting.
+
+2012-07-30 Robert Dewar <dewar@adacore.com>
+
+ * gnatcmd.adb, makeutl.adb, makeutl.ads: Minor code reorganization.
+
+2012-07-30 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Minor
+ reformatting.
+ * sem_ch9.adb (Allows_Lock_Free_Implementation): Minor reformatting.
+ Capture the correct error message in case of a quantified expression.
+
+2012-07-30 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.adb (Get_Socket_Option, Set_Socket_Option): On Windows, the
+ value is a milliseconds count in a DWORD, not a struct timeval.
+
+2012-07-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb (Earlier): Add local variables T1 and T2. Minor code
+ refactoring.
+
+2012-07-30 Thomas Quinot <quinot@adacore.com>
+
+ * gnatcmd.adb, make.adb, makeutl.adb, makeutl.ads
+ (Test_If_Relative_Path): Rename to Ensure_Absolute_Path to better
+ reflect what this subprogram does. Rename argument Including_L_Switch
+ to For_Gnatbind, and also exempt -A from rewriting.
+ * bindusg.adb: Document optional =file argument to gnatbind -A.
+
+2012-07-30 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Do no apply restriction check on
+ storage pools to access to subprogram types.
+
+2012-07-30 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb, a-cihama.adb, a-coinve.adb, exp_ch7.adb, a-ciorse.adb,
+ exp_ch9.adb, sem_dim.adb, par-ch13.adb, sem_ch9.adb, a-cidlli.adb,
+ a-cimutr.adb, freeze.adb, a-ciormu.adb, sem_res.adb, sem_attr.adb,
+ a-cihase.adb, exp_ch4.adb, sem_ch4.adb, a-ciorma.adb,
+ s-tasinf-linux.ads, sem_ch13.adb, a-coinho.adb: Minor reformatting.
+ Add comments.
+
+2012-07-30 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict implicit
+ dereferences of access values.
+
+2012-07-27 Iain Sandoe <iain@codesourcery.com>
+
+ * system-darwin-ppc64.ads: Add Support_Atomic_Primitives, set to True.
+
+2012-07-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (gnat_stabilize_reference) <BIT_FIELD_REF>: Do
+ not stabilize operand #1 and #2.
+
+2012-07-23 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Use
+ End_Label sloc when possible for sloc of the TRY_CATCH_EXPR node.
+
+2012-07-23 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/Makefile.in: Adjust processing of Linker_Options for
+ VxWorks.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2012-07-23 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tasinf-linux.ads: Fix typo.
+
+2012-07-23 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.adb, switch-m.adb, exp_ch3.adb, freeze.adb: Minor reformatting
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): If original
+ loop carries an identifier, preserve it when rewriting it as a
+ standard loop to validate exit statements that may reference
+ that name in the body of the loop.
+
+2012-07-23 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch9.adb: Minor code cleanup.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): When checking for
+ potential ambiguities with class-wide operations on synchronized
+ types, attach the copied node properly to the tree, to prevent
+ errors during expansion.
+
+2012-07-23 Yannick Moy <moy@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Statement): Make sure the loop body
+ is analyzed in Alfa mode.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb: Adjust previous change.
+
+2012-07-23 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch9.adb (Allows_Lock_Free_Implementation): Flag
+ Lock_Free_Given renames previous flag Complain. Description
+ updated. Henceforth, catch every error messages issued by this
+ routine when Lock_Free_Given is True. Declaration restriction
+ updated: No non-elementary parameter instead (even in parameter)
+ New subprogram body restrictions implemented: No allocator,
+ no address, import or export rep items, no delay statement,
+ no goto statement, no quantified expression and no dereference
+ of access value.
+
+2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * checks.adb (Determine_Range): Add local variable Btyp. Handle
+ the case where the base type of an enumeration subtype is
+ private. Replace all occurrences of Base_Type with Btyp.
+ * exp_attr.adb (Attribute_Valid): Handle the case where the
+ base type of an enumeration subtype is private. Replace all
+ occurrences of Base_Type with Btyp.
+ * sem_util.adb (Get_Enum_Lit_From_Pos): Add local variable
+ Btyp. Handle the case where the base type of an enumeration
+ subtype is private. Replace all occurrences of Base_Type with
+ Btyp.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch6.adb (P_Mode): in Ada 2005, a mode indicator can apply
+ to a formal object of an anonymous access type.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Try_Container_Indexing): A user-defined indexing
+ aspect can have more than one index, e.g. to describe indexing
+ of a multidimensional object.
+
+2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Apply_Accessibility_Check): Reimplemented. The check is
+ now more complex and contains optional finalization part and mandatory
+ deallocation part.
+
+2012-07-23 Gary Dismukes <dismukes@adacore.com>
+
+ * a-cihama.adb, a-cihase.adb, a-cimutr.adb, a-ciorma.adb, a-ciormu.adb,
+ a-ciorse.adb, a-coinho.adb, a-coinve.adb, a-cidlli.adb: Unsuppress
+ Accessibility_Check for Element_Type allocators.
+
+2012-07-23 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * projects.texi: Fix typo.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Explicit_Derenference): If prefix is
+ overloaded, remove those interpretations whose designated type
+ does not match the context, to avoid spurious ambiguities that
+ may be caused by the Ada 2012 conversion rule for anonymous
+ access types.
+
+2012-07-23 Vincent Celier <celier@adacore.com>
+
+ * g-spitbo.adb (Substr (String)): Return full string and do not
+ raise exception when Start is 1 and Len is exactly the length
+ of the string parameter.
+ * g-spitbo.ads: Fix spelling error in the name of exception
+ Index_Error.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * par.adb: new subprogram Get_Aspect_Specifications.
+ * par-ch6.adb (P_Subprogram): handle subprogram bodies with aspect
+ specifications.
+ * par-ch13.adb (Get_Aspect_Specifications): extracted from
+ P_Aspect_Specifications. Collect aspect specifications in some
+ legal context, but do not attach them to any declaration. Used
+ when parsing subprogram declarations or bodies that include
+ aspect specifications.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If aspects are
+ present, analyze them, or reject them if the subprogram as a
+ previous spec.
+
+2012-07-23 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gnat_ugn.texi: Omit section on other platforms/runtimes support
+ in gnattest for vms version.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications):
+ Handle properly aspects that can be specified on a subprogram
+ body: CPU, Priority, and Interrupt_Priority.
+
+2012-07-23 Claire Dross <dross@adacore.com>
+
+ * a-cfdlli.ads: Switch definition of Constant_Reference_Type
+ and Empty_List.
+
+2012-07-23 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb (Process_Decisions.Output_Header): For the guard
+ on an alternative in a SELECT statement, use the First_Sloc
+ of the guard expression (not its topmost sloc) as the decision
+ location, because this is what is referenced by dominance markers.
+
+2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Requires_Hooking): Examine the original expression
+ of an object declaration node because a function call that
+ returns on the secondary stack may have been rewritten into
+ something else.
+
+2012-07-23 Vincent Pucci <pucci@adacore.com>
+
+ * sem_dim.adb (Analyze_Dimension_Has_Etype): For identifier, propagate
+ dimension when entity is a non-dimensionless constant.
+ (Analyze_Dimension_Object_Declaration): Propagate
+ dimension from the expression to the entity when type is a
+ dimensioned type and object is a constant.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute, case 'Old): if the prefix
+ is not an entity name, expand at once so that code generated by
+ the expansion of the prefix is not generated before the constant
+ that captures the old value is properly inserted and analyzed.
+
+2012-07-23 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch9.adb (Ensure_Statement_Present): Mark generated NULL
+ statement as Comes_From_Source so that GIGI does not eliminate it.
+
+2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Inst is now
+ a local variable. Retrieve the related instance when processing
+ a subprogram instantiation. Such instances appear as wrapper
+ packages.
+
+2012-07-23 Vincent Pucci <pucci@adacore.com>
+
+ * system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
+ system-hpux.ads, system-linux-alpha.ads,
+ system-linux-hppa.ads, system-linux-ppc.ads,
+ system-linux-s390.ads, system-linux-s390x.ads,
+ system-linux-sh4.ads, system-linux-sparc.ads,
+ system-lynxos-ppc.ads, system-mingw.ads,
+ system-solaris-sparc.ads, system-solaris-sparcv9.ads,
+ system-vms_64.ads, * system-vxworks-arm.ads, system-vxworks-m68k.ads,
+ system-vxworks-mips.ads, system-vxworks-ppc.ads,
+ system-vxworks-sparcv9.ads: Support_Atomic_Primitives set to False.
+ * system-darwin-x86.ads, system-darwin-x86_64.ads,
+ system-freebsd-x86.ads, system-freebsd-x86_64.ads,
+ system-hpux-ia64.ads, system-linux-ia64.ads, system-linux-x86.ads,
+ system-linux-x86_64.ads, system-lynxos-x86.ads,
+ system-mingw-x86_64.ads, system-solaris-x86.ads,
+ system-solaris-x86_64.ads, system-vms-ia64.ads,
+ system-vxworks-x86.ads: Support_Atomic_Primitives set to True.
+ * s-atopri.adb (Lock_Free_Read_X): New body.
+ (Lock_Free_Try_Write_X): Support_Atomic_Primitives check added.
+ (Lock_Free_Try_Write_64): New body.
+ * s-atopri.ads: New type uint.
+ (Sync_Compare_And_Swap_64): __sync_val_compare_and_swap_8 intrinsic
+ import.
+ (Lock_Free_Read_X): Body moved to s-atopri.adb.
+ (Lock_Free_Try_Write_64): Similar to other Lock_Free_Try_Write_X
+ routines.
+ * targparm.adb: New enumeration literal SAP
+ (Support_Atomic_Primitives) for type Targparm_Tags. New constant
+ SAP_Str. New component SAP_Str'Access for array Targparm_Str.
+ (Get_Target_Parameters): Parse Support_Atomic_Primitives_On_Target
+ flag.
+ * targparm.ads: New back-end code generation flag
+ Support_Atomic_Primitives_On_Target
+
+2012-07-23 Vincent Pucci <pucci@adacore.com>
+
+ * gnat_ugn.texi: Dimensionality checking documentation updated.
+
+2012-07-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Make_Inline): If the pragma applies to a
+ subprogram renaming, set inline flags on both the renamed entity
+ and on the renaming, so that some ASIS queries can be handled
+ consistently in the absence of expansion.
+
+2012-07-23 Fedor Rybin <frybin@adacore.com>
+
+ * gnat_ugn.texi: Removing obsolete limitation of gnattest
+ to support only ada05. Updating gnattest support for other
+ platforms/run-times section to reflect the usage of taget
+ prefix in gnattest calls. Fixing missed obsolete --stub-default
+ option name.
+
+2012-07-23 Robert Dewar <dewar@adacore.com>
+
+ * uintp.adb: Minor reformatting.
+
+2012-07-23 Olivier Hainque <hainque@adacore.com>
+
+ * system-vxworks-ppc.ads: Replace the default
+ Linker_Options requesting crtbe by a commented out request for
+ -nostartfiles.
+
+2012-07-23 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Naming): Do not get the exceptions names
+ in a virtual project.
+
+2012-07-23 Robert Dewar <dewar@adacore.com>
+
+ * layout.adb, sem_prag.adb, sem.ads, freeze.adb,
+ switch-m.adb, exp_disp.adb, system-vxworks-ppc.ads, exp_ch6.adb: Minor
+ reformatting.
+
+2012-07-23 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/trans.c: (Handled_Sequence_Of_Statements_to_gnu): Set
+ location on TRY_CATCH_EXPR.
+
+2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Try to ensure
+ that an object of CW type initialized to a value is sufficiently
+ aligned for this value.
+
+2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not
+ look up the REP part of the base type in advance. Deal with that of
+ the variant types.
+ (get_rep_part): Be prepared for record types with fields.
+
+2012-07-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (stmt_group_may_fallthru): New function.
+ (gnat_to_gnu) <N_Block_Statement>: Use it to find out whether the
+ block needs to be translated.
+
+2012-07-17 Tristan Gingold <gingold@adacore.com>
+
+ * gnat_rm.texi: Adjust previous change.
+
+2012-07-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Process_Import_Or_Interface): If the pragma
+ comes from an aspect, it applies to the corresponding entity
+ without further check.
+
+2012-07-17 Olivier Hainque <hainque@adacore.com>
+
+ * initialize.c (__gnat_initialize for VxWorks): Remove section with
+ call to __gnat_vxw_setup_for_eh.
+ * system-vxworks-ppc.ads: Add -auto-register to -crtbe, relying
+ on the VxWorks constructor mechanism for network loaded modules
+ by default.
+
+2012-07-17 Tristan Gingold <gingold@adacore.com>
+
+ * adaint.c: Minor reformatting.
+
+2012-07-17 Pascal Obry <obry@adacore.com>
+
+ * s-regexp.adb (Adjust): Fix access violation in Adjust.
+
+2012-07-17 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Warn if an imported subprogram
+ has pre/post conditions, because these will not be enforced.
+
+2012-07-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch7.adb (Process_Transient_Objects): Put all the
+ finalization blocks and the final raise statement into a wrapper
+ block.
+
+2012-07-17 Vincent Pucci <pucci@adacore.com>
+
+ * s-atopri.adb (Lock_Free_Try_Write_X): Atomic_Compare_Exchange_X
+ replaced by Sync_Compare_And_Swap_X.
+ (Lock_Free_Try_Write_64): Removed.
+ * s-atopri.ads (Sync_Compare_And_Swap_X): Replaces previous
+ routine Atomic_Compare_Exchange_X.
+ (Lock_Free_Read_64): Renaming of Atomic_Load_64.
+ (Lock_Free_Try_Write_64): Renaming of Sync_Compare_And_Swap_64.
+
+2012-07-17 Vincent Celier <celier@adacore.com>
+
+ * switch-m.adb (Normalize_Compiler_Switches): Recognize new
+ switches -gnatn1 and -gnatn2.
+
+2012-07-17 Vincent Pucci <pucci@adacore.com>
+
+ * gnat_ugn.texi: GNAT dimensionality checking
+ documentation updated with System.Dim.Mks modifications.
+
+2012-07-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb: sloc of array init_proc is sloc of type declaration.
+
+2012-07-17 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c (get_call_site_action_for): Remove useless init
+ expression for p.
+ (get_action_description_for): Do not overwrite action->kind.
+
+2012-07-17 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Add local variables Attr
+ and Conversion_Added. Add local constant Typ.
+ Retrieve the original attribute after the arithmetic check
+ machinery has modified the node. Add a conversion to the target
+ type when the prefix of attribute Max_Size_In_Storage_Elements
+ is a controlled type.
+
+2012-07-17 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): For each actual parameter
+ of mode 'out' or 'in out' that denotes an entity, reset
+ Last_Assignment on the entity so that any assignments to the
+ corresponding formal in the inlining will not trigger spurious
+ warnings about overwriting assignments.
+
+2012-07-17 Robert Dewar <dewar@adacore.com>
+
+ * s-assert.ads: Fix comments to make it clear that this is used
+ for all assertions, not just pragma Assert.
+
+2012-07-17 Jerome Guitton <guitton@adacore.com>
+
+ * par_sco.ads: Minor typo fix.
+
+2012-07-17 Gary Dismukes <dismukes@adacore.com>
+
+ * layout.adb (Layout_Type): In the case where the target is
+ AAMP, use 32 bits (a single pointer) rather than 64 bits for an
+ anonymous access-to-subprogram type if the type is library-level
+ and Is_Local_Anonymous_Access is True.
+
+2012-07-17 Jose Ruiz <ruiz@adacore.com>
+
+ * s-tassta.adb, s-tarest.adb (Create_Task, Create_Restricted_Task,
+ Initialize): Add comments explaining that the CPU affinity value that
+ is passed to the run-time library can be either Unspecified_CPU, to
+ indicate that the task inherits the affinity of its activating task,
+ or a value in the range of CPU_Range but no greater than Number_Of_CPUs.
+
+2012-07-17 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_DT): Remove decoration of Ada.Tags entities.
+ (Make_Tags): Add decoration of Ada.Tags entities.
+
+2012-07-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Statement_Sequence): When locating the
+ last significant statement in a sequence, ignore iserted nodes
+ that typically come from expansion of controlled operations.
+
+2012-07-17 Tristan Gingold <gingold@adacore.com>
+
+ * gnat_rm.texi: Document foreign exceptions.
+
+2012-07-17 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, treepr.ads: Minor reformatting.
+
+2012-07-17 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb: Minor code reorganization.
+ * exp_ch3.adb: Minor code improvement.
+
+2012-07-17 Tristan Gingold <gingold@adacore.com>
+
+ * seh_init.c (__gnat_SEH_error_handler): Not compiled anymore
+ on Windows 64 (+ SEH), as it is unused.
+
+2012-07-17 Javier Miranda <miranda@adacore.com>
+
+ * sem_prag.adb (CPP_Class): Transform obsolescent pragma CPP_Class into
+ CPP convention automatically.
+
+2012-07-16 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/decl.c (intrin_return_compatible_p): Map Address to
+ void *.
+
+2012-07-16 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch9.adb (Ensure_Statement_Present): New subprogram.
+ (Expand_N_Asynchronous_Select,
+ Expand_N_Selective_Accept.Process_Accept_Alternative,
+ Expand_N_Selective_Accept.Process_Delay_Alternative,
+ Expand_N_Timed_Entry_Call): For an alternative with no trailing
+ statements, introduce a null statement to carry the sloc of
+ the initial special statement (accept, delay, or entry call)
+ in the alternative, for coverage analysis purposes.
+
+2012-07-16 Thomas Quinot <quinot@adacore.com>
+
+ * sem_eval.adb (In_Subrange_Of): Fix typo in test for scalar
+ arguments.
+
+2012-07-16 Robert Dewar <dewar@adacore.com>
+
+ * a-exexpr.adb, freeze.adb, a-exexpr-gcc.adb, a-except-2005.adb,
+ sem_eval.adb, s-fileio.adb: Minor reformatting.
+
+2012-07-16 Javier Miranda <miranda@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Remove support for obsolescent
+ pragma CPP_Class.
+ * sem_ch13.adb (Analyze_Freeze_Entity): Add missing error on Ada
+ derivations of CPP types. Found updating the tests affected by
+ the removal of pragma CPP_Class.
+
+2012-07-16 Thomas Quinot <quinot@adacore.com>
+
+ * back_end.adb: Minor reformatting.
+
+2012-07-16 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Selective_Accept.Process_Accept_Alternative):
+ Remove junk test that was always true. For the case of no statements
+ following the ACCEPT, jump directly to End_Lab instead of
+ introducing an intermediate jump.
+ (Expand_N_Selective_Accept.Process_Delay_Alternative): Fix
+ predicate testing for presence of statements following the DELAY.
+ that was always true. For the case of no statements following
+ the ACCEPT, jump directly to End_Lab instead of introducing an
+ intermediate jump.
+ (Expand_N_Selective_Accept): Fix incorrect insertion point for
+ end label.
+
+2012-07-16 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi: Minor documentation improvements.
+
+2012-07-16 Yannick Moy <moy@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Allow Pre
+ and Pre'Class aspects on the same declaration.
+ * sem_prag.adb (Chain_PPC): Allow Pre and Pre'Class aspects on the
+ same hierarchy of primitive operations.
+
+2012-07-16 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Check_Component_Storage_Order): Do not reject a
+ nested composite with different scalar storage order if it is
+ byte aligned.
+
+2012-07-16 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi: Update documentation for Scalar_Storage_Order.
+
+2012-07-16 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr.adb (Propagate_Exception): Adjust call to
+ Exception_Traces procedures.
+ * a-exexpr-gcc.adb (Setup_Current_Excep): Now a
+ function that returns an access to the Ada occurrence.
+ (Propagate_GCC_Exception): Adjust calls.
+ * raise.h (struct Exception_Occurrence): Declare.
+ * a-exextr.adb: Remove useless pragma. (Notify_Handled_Exception,
+ Notify_Unhandled_Exception) (Unhandled_Exception_Terminate):
+ Add Excep parameter.
+ * a-except.adb (Notify_Handled_Exception,
+ Notify_Unhandled_Exception) (Unhandled_Exception_Terminate):
+ Add Excep parameter.
+ (Process_Raise_Exception): Adjust calls.
+ * a-except-2005.adb (Notify_Handled_Exception,
+ Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): Add
+ Excep parameter.
+ (Raise_Exception): Calls Raise_Exception_Always.
+ * raise-gcc.c (__gnat_setup_current_excep,
+ __gnat_notify_handled_exception)
+ (__gnat_notify_unhandled_exception): Adjust declarations.
+ (PERSONALITY_FUNCTION): Adjust calls.
+ (__gnat_personality_seh0): Remove warning.
+
+2012-07-16 Javier Miranda <miranda@adacore.com>
+
+ * sem_eval.adb (Test_Expression_Is_Foldable): Adding documentation.
+ (Eval_Relational_Op): Adding documentation.
+
+2012-07-16 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb, g-debpoo.adb, exp_ch3.adb: Minor reformatting.
+
+2012-07-16 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c: Add definitions of E2BIG and EILSEQ.
+
+2012-07-16 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr.adb (Propagate_Continue): New function replacing
+ Raise_Current_Excep.
+ (Allocate_Occurrence): New function.
+ (Propagate_Exception): Add Excep parameter, remove call to Call_Chain.
+ * a-exexpr-gcc.adb (GNAT_GCC_Exception): Occurrence component
+ is now aliased.
+ (To_GCC_Exception): Convert from Address.
+ (Allocate_Occurrence): Allocate an Unwind exception occurrence.
+ (Setup_Current_Excep): Fill the machine occurrence in case of
+ foreign exception.
+ (Propagate_Exception): Add Excep parameter, remove call to Call_Chain.
+ * a-except.adb (Set_Exception_C_Msg, Set_Exception_Msg): add
+ Excep parameter.
+ (Raise_Exception, Raise_Exception_Always,
+ Raise_Exception_No_Defer): Adjust calls to the above procedures.
+ (Raise_From_Signal_Handler, Raise_With_Location_And_Msg)
+ (Rcheck_PE_Finalize_Raised_Exception): Likewise.
+ * a-except-2005.adb (Set_Exception_C_Msg, Set_Exception_Msg):
+ add Excep parameter.
+ (Propagate_Exception): Likewise.
+ (Allocate_Occurrence): New function.
+ (Raise_Current_Excep): Removed.
+ (Complete_Occurrence): New function to save the call chain.
+ (Complete_And_Propagate_Occurrence): New procedure.
+ (Create_Occurrence_From_Signal_Handler): New function to build an
+ occurrence without propagating it.
+ (Create_Machine_Occurrence_From_Signal_Handler): Likewise, but
+ return the machine occurrence.
+ (Raise_From_Signal_Handler): Use Create_Occurrence_From_Signal_Handler.
+ (Raise_Exception, Raise_Exception_Always, Raise_Exception_No_Defer):
+ Adjust calls to the above procedures. Allocate the occurrence at
+ the beginning.
+ (Raise_With_Location_And_Msg, Raise_With_Msg)
+ (Rcheck_PE_Finalize_Raised_Exceptionm Reraise): Likewise.
+ (Reraise_Occurrence): Use Reraise_Occurrence_Always.
+ (Reraise_Occurrence_Always): Use Reraise_Occurrence_No_Defer.
+ (Reraise_Occurrence_No_Defer): Preserve machine occurrence.
+ (Save_Occurrence): Do not save machine occurrence.
+ * a-except-2005.ads (Exception_Occurrence): Add Machine_Occurrence
+ component.
+ (Null_Occurrence): Consider it.
+ * a-exexda.adb (Set_Exception_C_Msg, Set_Exception_Msg): add
+ Excep parameter.
+
+2012-07-16 Tristan Gingold <gingold@adacore.com>
+
+ * seh_init.c (__gnat_map_SEH): New function extracted from
+ __gnat_SEH_error_handler.
+ * raise-gcc.c: __gnat_personality_seh0: Directly transforms
+ Windows system exception into GCC one when possible, in order
+ to save stack room (particularly useful when Storage_Error will
+ be propagated).
+
+2012-07-16 Robert Dewar <dewar@adacore.com>
+
+ * a-direct.adb, g-dirope.adb: Minor reformatting.
+
+2012-07-16 Tristan Gingold <gingold@adacore.com>
+
+ * a-except.ads, a-except-2005.ads: Remove outdated comment.
+
+2012-07-16 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Subprogram_Name_Greater): Fix algorithm to
+ conform to documentation.
+
+2012-07-16 Ed Schonberg <schonberg@adacore.com>
+
+ * gnat1drv.adb (Check_Library_Items): Removed, no longer used.
+
+2012-07-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Array_Type_Declaration): if component type has
+ invariants, the array type itself requires an invariant procedure.
+ * exp_ch3.ads, exp_ch3.adb (Build_Array_Invariant_Proc): new
+ procedure, to build a checking procedure that applies the
+ invariant check on some type T to each component of an array
+ of T's. Code is similar to the construction of the init_proc
+ for an array, and handles multidimensional arrays by recursing
+ over successive dimensions.
+
+2012-07-16 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * g-debpoo.adb: Revert previous change.
+
+2012-07-16 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Insert the itype reference to a
+ library-level class-wide subtype after the freeze node of the
+ equivalent record type.
+
+2012-07-16 Pascal Obry <obry@adacore.com>
+
+ * s-crtl.ads (mkdir): New routine, support encoding.
+ * adaint.h (__gnat_mkdir): Update spec to pass encoding.
+ * mkdir.c (__gnat_mkdir): Add encoding parameter.
+ * a-direct.adb (Create_Directory): Use CRTL.mkdir, parse encoding
+ in form parameter.
+ * g-dirope.adb (Make_Dir): Update to pass encoding parameter.
+
+2012-07-16 Pascal Obry <obry@adacore.com>
+
+ * adaint.c: Minor reformatting.
+
+2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc-interface/utils.c: Include timevar.h.
+ * Make-lang.in: Fix dependencies.
+
+2012-07-16 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * ug_words, vms_data.ads: Document VMS qualifiers for -gnatn1/2
+ switches.
+
+2012-07-16 Bob Duff <duff@adacore.com>
+
+ * sinfo.ads: Minor comment fix.
+
+2012-07-16 Bob Duff <duff@adacore.com>
+
+ * sem_elab.adb (Within_Elaborate_All): Walk the with clauses to
+ find pragmas Elaborate_All that may be found in the transitive
+ closure of the dependences.
+
+2012-07-16 Robert Dewar <dewar@adacore.com>
+
+ * exp_pakd.adb, freeze.adb, sem_util.adb, vms_data.ads: Minor
+ reformatting.
+
+2012-07-12 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * vms_data.ads: Add VMS qualifiers for -gnatn1/2 switches.
+
+2012-07-12 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch5.adb, exp_pakd.adb, rtsfind.ads, freeze.adb, sem_util.adb,
+ sem_util.ads, exp_aggr.adb
+ (Exp_Aggr.Packed_Array_Aggregate_Handled): Simplify processing
+ for reverse storage order aggregate.
+ (Exp_Pakd.Byte_Swap): New utility routine used by...
+ (Exp_Pakd.Expand_Bit_Packed_Element_Set,
+ Expand_Packed_Element_Reference): For the case of a free-standing
+ packed array with reverse storage order, perform byte swapping.
+ (Rtsfind): Make new entities RE_Bswap_{16,32,64} available.
+ (Freeze.Check_Component_Storage_Order): New utility routine
+ to enforce legality rules for nested composite types whose
+ enclosing composite has an explicitly defined Scalar_Storage_Order
+ attribute.
+ (Sem_Util.In_Reverse_Storage_Order_Object): Renamed from
+ Sem_Util.In_Reverse_Storage_Order_Record, as SSO now applies to
+ array types as well.
+ (Exp_Ch5.Expand_Assign_Array): Remove now unnecessary kludge
+ for change of scalar storage order in assignments. The Lhs and
+ Rhs now always have the same scalar storage order.
+
+2012-07-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * g-debpoo.adb (Allocate): Add local constant
+ No_Element. Initialize the allocated memory chunk to No_Element.
+
+2012-07-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly
+ the case of an instance of a child unit where a formal derived
+ type DT is an extension of a type T declared in a parent unit,
+ and the actual in the instance of the child is the type T declared
+ in the parent instance, and that actual is not a derived type.
+
+2012-07-12 Eric Botcazou <ebotcazou@adacore.com>
+ Tristan Gingold <gingold@adacore.com>
+
+ * system-hpux-ia64.ads: Enable ZCX by default.
+ * gcc-interface/Makefile.in: Use alternate stack on ia64-hpux.
+ Change soext to .so.
+
+2012-07-12 Robert Dewar <dewar@adacore.com>
+
+ * s-atopri.adb, s-atopri.ads: Minor reformatting.
+
+2012-07-12 Robert Dewar <dewar@adacore.com>
+
+ * ali.adb: Add circuitry to read new named form of restrictions lines.
+ * debug.adb: Add doc for new -gnatd.R switch (used positional
+ notation for output of restrictions data in ali file).
+ * lib-writ.adb: Implement new named format for restrictions lines.
+ * lib-writ.ads: Add documentation for new named format for
+ restrictions in ali files.
+ * restrict.adb, restrict.ads, sem_prag.adb: Update comments.
+ * rident.ads: Go back to withing System.Rident
+ * s-rident.ads: Add extensive comment on dealing with consistency
+ checking.
+
+2012-07-12 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb, scos.ads: Emit detailed SCOs for SELECT statements.
+
+2012-07-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_disp.adb: Minor reformatting
+ * s-bytswa.ads: Minor comment update.
+
+2012-07-12 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
+ Atomic_Load_N replaced by Lock_Free_Read_N. Atomic_Compare_Exchange_N
+ replaced by Lock_Free_Try_Write_N.
+ Renaming of several local variables. For
+ procedure, Expected_Comp declaration moved to the declaration
+ list of the procedure.
+ * rtsfind.ads: RE_Atomic_Compare_Exchange_8,
+ RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
+ RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
+ RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64,
+ RE_Atomic_Synchronize, RE_Relaxed removed. RE_Lock_Free_Read_8,
+ RE_Lock_Free_Read_16, RE_Lock_Free_Read_32, RE_Lock_Free_Read_64,
+ RE_Lock_Free_Try_Write_8, RE_Lock_Free_Try_Write_16,
+ RE_Lock_Free_Try_Write_32, RE_Lock_Free_Try_Write_64 added.
+ * s-atopri.adb: New file.
+ * s-atopri.ads (Atomic_Compare_Exchange_8): Renaming of
+ parameters. Import primitive __sync_val_compare_and_swap_1.
+ (Atomic_Compare_Exchange_16): Renaming of parameters.
+ Import primitive __sync_val_compare_and_swap_2.
+ (Atomic_Compare_Exchange_32): Renaming of parameters.
+ Import primitive __sync_val_compare_and_swap_4.
+ (Atomic_Compare_Exchange_64): Renaming of parameters. Import
+ primitive __sync_val_compare_and_swap_8.
+ (Atomic_Load_8): Ptr renames parameter X.
+ (Atomic_Load_16): Ptr renames parameter X.
+ (Atomic_Load_32): Ptr renames parameter X.
+ (Atomic_Load_64): Ptr renames parameter X.
+ (Lock_Free_Read_8): New routine.
+ (Lock_Free_Read_16): New routine.
+ (Lock_Free_Read_32): New routine.
+ (Lock_Free_Read_64): New routine.
+ (Lock_Free_Try_Write_8): New routine.
+ (Lock_Free_Try_Write_16): New routine.
+ (Lock_Free_Try_Write_32): New routine.
+ (Lock_Free_Try_Write_64): New routine.
+
+2012-07-12 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb, exp_ch9.adb, sem_ch9.adb, exp_aggr.adb: Minor
+ reformatting.
+
+2012-07-12 Vincent Pucci <pucci@adacore.com>
+
+ * sem_dim.adb (Analyze_Dimension_Function_Call): Reformatting of error
+ msgs for elementary functions.
+
+2012-07-12 Vincent Pucci <pucci@adacore.com>
+
+ * sem_attr.adb (Eval_Attribute): Minor reformatting.
+
+2012-07-12 Pascal Obry <obry@adacore.com>
+
+ * prj-nmsc.adb (Check_Library_Attributes): Allow the same library
+ project in different project tree (different aggregated projects).
+
+2012-07-12 Thomas Quinot <quinot@adacore.com>
+
+ * s-bytswa.adb, g-bytswa.adb, g-bytswa.ads, s-bytswa.ads: Further
+ reorganization of byte swapping routines.
+
+2012-07-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Context): Refine legality
+ checks on tagg indeterminate calls to abstract operations,
+ that appear in the context of other calls.
+
+2012-07-12 Thomas Quinot <quinot@adacore.com>
+
+ * s-bytswa.adb (Swapped2.Bswap16): Remove local function,
+ no longer needed.
+
+2012-07-12 Javier Miranda <miranda@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): For
+ attributes 'access, 'unchecked_access and 'unrestricted_access,
+ iff the current instance reference is located in a protected
+ subprogram or entry then rewrite the access attribute to be the
+ name of the "_object" parameter.
+
+2012-07-12 Tristan Gingold <gingold@adacore.com>
+
+ * raise.h: Revert previous patch: structure is used in init.c
+ by vms.
+
+2012-07-12 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Binding_Phase): If --subdirs was used, but not
+ -P, change the working directory to the specified subdirectory
+ before invoking gnatbind.
+ (Linking_Phase): If --subdirs was used, but not -P, change the working
+ directory to the specified subdirectory before invoking gnatlink.
+
+2012-07-12 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
+ For a procedure, instead of replacing each Comp reference by a
+ reference to Current_Comp, make a renaming Comp of Current_Comp
+ that rewrites the original renaming generated by the compiler
+ during the analysis. Move the declarations of the procedure
+ inside the generated block.
+ (Process_Stmts): Moved in the body
+ of Build_Lock_Free_Unprotected_Subprogram_Body.
+ (Process_Node):
+ Moved in the body of Build_Lock_Free_Unprotected_Subprogram_Body.
+ * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict any
+ non-elementary out parameters in protected procedures.
+
+2012-07-12 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
+ Scalar_Storage_Order): Attribute applies to base type only.
+
+2012-07-12 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Convert_To_Positional): Increase acceptable size
+ of static aggregate when Static_Elaboration_Desired is requested.
+ Add a warning if the request cannot be satisfied either because
+ some components or some array bounds are non-static.
+
+2012-07-12 Thomas Quinot <quinot@adacore.com>
+
+ * exp_pakd.adb: Minor reformatting.
+
+2012-07-12 Tristan Gingold <gingold@adacore.com>
+
+ * tracebak.c: Fix warnings.
+ * raise-gcc.c (__gnat_adjust_context): New function
+ (__gnat_personality_seh0): Call __gnat_adjust_context to adjust
+ PC in machine frame for exceptions that occur in the current
+ function.
+
+2012-07-12 Thomas Quinot <quinot@adacore.com>
+
+ * g-bytswa.adb, g-bytswa.ads, s-bytswa.adb, s-bytswa.ads, Makefile.rtl:
+ Move GNAT.Byte_Swapping to System (with a renaming under GNAT)
+ so that it is usable in expanded code.
+
+2012-07-12 Tristan Gingold <gingold@adacore.com>
+
+ * s-osinte-hpux.ads: Increase alternate stack size on hpux.
+
+2012-07-12 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Make_Neq_Body): Fix typo in comment.
+
+2012-07-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tb-gcc.c (trace_callback): On IA-64/HP-UX, use workaround only
+ if USE_LIBUNWIND_EXCEPTIONS is defined.
+ * init.c: Further tweaks for IA-64/HP-UX.
+
+2012-07-12 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c: Do not include unwind-dw2-fde.h. Adjust comments.
+ (db_region_for): Second argument is ip. Do not recompute ip.
+ (action_kind): Remove typedef, add unhandler enum const.
+ (action_descriptor): Adjust type of kind field.
+ (db_action_for): Second argument is ip, do not recompute it.
+ (get_call_site_action_for): First argument is call_site, do not
+ recompute it. Remove useless return.
+ (is_handled_by): Now return enum action_kind.
+ Handle GNAT_ALL_OTHERS first.
+ Return unhandler for GNAT_UNHANDLED_OTHERS.
+ (get_action_description_for): First argument is now ip, do not
+ recompute it. Adjust code for call to is_handled_by.
+ (__gnat_notify_unhandled_exception): Add prototype.
+ (PERSONALITY_FUNCTION): Call get_ip_from_context. Adjust calls.
+ Handle unhandler case.
+ (__gnat_cleanupunwind_handler): Add comments, add
+ ATTRIBUTE_UNUSED on arguments.
+ (__gnat_Unwind_RaiseException, __gnat_Unwind_ForcedUnwind): Define
+ only once.
+ * raise.h: Makes struct Exception_Data opaque.
+
+2012-07-12 Robert Dewar <dewar@adacore.com>
+
+ * make.adb, sem_ch9.adb, prj.adb, s-rident.ads, snames.ads-tmpl: Minor
+ reformatting.
+
+2012-07-12 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Is_User_Defined_Equality): New subprogram.
+ (Make_Neq_Body): New subprogram.
+ (Make_Predefined_Primitive_Specs): Adding local variable
+ Has_Predef_Eq_ Renaming to ensure that we enable the machinery
+ which handles renamings of predefined primitive operators.
+
+2012-07-09 Pascal Obry <obry@adacore.com>
+
+ * prj.adb (For_Every_Project_Imported_Context): Make sure we
+ callback with the project having sources.
+ Minor reformatting.
+
+2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * make.adb: Fix typo.
+
+2012-07-09 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch9.adb (Check_Node): Allow attributes
+ that denote static function for lock-free implementation.
+ (Is_Static_Function): New routine.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * tracebak.c: Adjust skip_frames on Win64.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * init.c: Add __gnat_adjust_context_for_raise for ia64/hpux.
+ * raise-gcc.c: __gnat_cleanupunwind_handler: Do not call
+ _Unwind_GetGR on hpux when using libgcc unwinder. Part of
+
+2012-07-09 Vincent Pucci <pucci@adacore.com>
+
+ * exp_attr.adb, sem_attr.adb: Minor reformatting.
+ * par-ch13.adb, par-ch4.adb, par-util.adb: Reformatting
+ considering that internal attribute names are not defined anymore
+ in the main attribute names list.
+ * snames.adb-tmpl (Get_Attribute_Id): Special processinf
+ for names CPU, Dispatching_Domain and Interrupt_Priority.
+ (Is_Internal_Attribute_Name): Minor reformatting.
+ * snames.ads-tmpl: New list of internal attribute names. Internal
+ attributes moved at the end of the attribute Id list.
+
+2012-07-09 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor code reorganization (use Ekind_In).
+ * exp_attr.adb, sem_ch9.adb par-ch4.adb, s-taprop-mingw.adb,
+ sem_attr.adb, exp_ch8.adb, snames.adb-tmpl, par-util.adb,
+ sem_ch13.adb, snames.ads-tmpl: Minor reformatting.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c: Adjust previous patch.
+
+2012-07-09 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Compilation_Phase): Do not build libraries in
+ Codepeer mode (do not call Library_Phase).
+
+2012-07-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb: Extend previous change to elementary types.
+
+2012-07-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Reverse
+ previous patch since unconditionally handling as renaming_as_body
+ renamings of predefined dispatching equality and unequality operator
+ cause visibility problems with private overridings of the equality
+ operator (see ACATS C854001).
+
+2012-07-09 Vincent Pucci <pucci@adacore.com>
+
+ * exp_attr.adb (Signal_Bad_Attribute): Raise Program_Error in
+ case of internal attribute names (already rejected by the parser).
+ * par-ch13.adb (P_Representation_Clause): Complain if an internal
+ attribute name that comes from source occurs.
+ * par-ch4.adb (P_Name): Complain if an internal attribute name
+ occurs in the context of an attribute reference.
+ * par-util.adb (Signal_Bad_Attribute): Don't complain about
+ mispelling attribute with internal attributes.
+ * sem_attr.adb (Analyze_Attribute): Raise Program_Error in case
+ of internal attribute names (already rejected by the parser).
+ * snames.adb-tmpl (Is_Internal_Attribute_Name): New routine.
+ * snames.ads-tmpl: Attributes CPU, Dispatching_Domain and
+ Interrupt_Priority are marked as INT attributes since they
+ don't denote real attribute and are only used internally in
+ the compiler.
+ (Is_Internal_Attribute_Name): New routine.
+
+2012-07-09 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.adb (Set_Reverse_Storage_Order): Update assertion,
+ flag is now valid for array types as well.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * tracebak.c: Implement __gnat_backtrace for Win64 SEH.
+
+2012-07-09 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads: Minor reformatting.
+
+2012-07-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Handle as
+ renaming_as_body renamings of predefined dispatching equality
+ and unequality operators.
+
+2012-07-09 Robert Dewar <dewar@adacore.com>
+
+ * rident.ads: Do not instantiate r-ident.ads, this is now an
+ independent unit.
+
+2012-07-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Write_DT): Avoid runtime crash of this debugging
+ routine.
+ * sem_disp.adb (Find_Dispatching_Time): Protect this routine
+ against partially decorated entities.
+
+2012-07-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Check_Size): Reject a size clause that specifies
+ a value greater than Int'Last for a scalar type.
+
+2012-07-09 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch9.adb (Allows_Lock_Free_Implementation): type must support
+ atomic operation moved to the protected body case. No non-elementary
+ out parameter moved to the protected declaration case. Functions have
+ only one lock-free restriction.
+ (Analyze_Protected_Type_Declaration): Issue a warning when
+ Priority given with Lock_Free.
+
+2012-07-09 Vincent Pucci <pucci@adacore.com>
+
+ * sem_dim.adb: Grammar of aspect Dimension fixed.
+
+2012-07-09 Vincent Pucci <pucci@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Code reorg in order to avoid
+ pushing and popping the scope stack whenever a delayed aspect occurs.
+
+2012-07-09 Gary Dismukes <dismukes@adacore.com>
+
+ * s-os_lib.ads: Remove pragma Elaborate_Body, as
+ this is now unnecessary due to recently added pragma Preelaborate.
+
+2012-07-09 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-mingw.adb (Set_Priority): Remove the code that was
+ previously in place to reorder the ready queue when a task drops
+ its priority due to the loss of inherited priority.
+
+2012-07-09 Robert Dewar <dewar@adacore.com>
+
+ * layout.adb, i-cstrea.ads, a-ststio.ads, prj-util.ads, sem_cat.adb,
+ s-commun.ads, s-ficobl.ads, s-os_lib.ads, s-fileio.ads: Minor
+ reformatting.
+
+2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * raise-gcc.c: Update comments. Fix typo.
+
+2012-07-09 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.adb, einfo.ads, sem_attr.adb, sem_ch13.adb: Attribute
+ Scalar_Storage_Order can be defined or queried for array types as well
+ as record types.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr-gcc.adb (CleanupUnwind_Handler): Now imported from
+ raise-gcc.c
+ * raise-gcc.c (__gnat_cleanupunwind_handler): Defined.
+ Strictly follow the ABI convention on ia64.
+
+2012-07-09 Gary Dismukes <dismukes@adacore.com>
+
+ * a-ststio.ads: Add pragma Preelaborate, per AI05-0283.
+ * i-cstrea.ads (max_path_len): Change from variable to deferred
+ constant to allow it to be used as a bound in string component
+ in type System.File_IO.Temp_File_Record.
+ * s-os_lib.ads, s-commun.ads, s-ficobl.ads, s-fileio.ads: Add pragma
+ Preelaborate.
+ * s-fileio.adb (Get_Case_Sensitive): Move function inside
+ procedure Open.
+ (File_Names_Case_Sensitive): Move variable inside
+ procedure Open, to avoid violation of Preelaborate restriction
+ (due to call to Get_Case_Sensitive).
+
+2012-07-09 Ed Schonberg <schonberg@adacore.com>
+
+ * layout.adb (Set_Elem_Alignment): Protect against meaningless
+ size clause, to prevent overflow in internal computation of
+ alignment.
+
+2012-07-09 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb, prj-util.adb, prj-util.ads, sem_ch13.adb: Minor
+ reformatting.
+
+2012-07-09 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_cat.adb (Check_Categorization_Dependencies):
+ Allow dependence of both Remote_Types and Remote_Call_Interface
+ declarations (not just Remote_Types units) on preelaborated
+ units, but require that the dependence be made via a private
+ with_clause. Issue a specialized error message.
+
+2012-07-09 Pascal Obry <obry@adacore.com>
+
+ * prj-util.adb, prj-util.ads (For_Interface_Sources): New routine.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * seh_init.c (__gnat_SEH_error_handler): On Win64 and SEH,
+ return for unknown exceptions.
+ * raise-gcc.c (__gnat_personality_seh0): Call __gnat_SEH_error_handler.
+
+2012-07-09 Joel Brobecker <brobecker@adacore.com brobecker>
+
+ * exp_dbug.ads (No_Dollar_In_Label): Delete.
+
+2012-07-09 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch13.adb (Check_Overloaded_Name): New routine.
+
+2012-07-09 Vincent Pucci <pucci@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Analyze the delayed aspects of the
+ components in a record type.
+
+2012-07-09 Pascal Obry <obry@adacore.com>
+
+ * prj-util.ads: Minor reformatting.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c (db_indent): Simplify style, improve comments.
+ Remove !IN_RTS part (dead).
+
+2012-07-09 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Minor change to format of -gnatn line.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr-gcc.adb: Reorder routine.
+
+2012-07-09 Vincent Celier <celier@adacore.com>
+
+ * lib-writ.ads: Add documentation for the Z lines (implicitly
+ withed units) and Y lines (limited withed units).
+
+2012-07-09 Robert Dewar <dewar@adacore.com>
+
+ * lib.ads, exp_attr.adb, exp_ch9.adb, sem_dim.adb, sem_ch9.adb,
+ sem_prag.adb, sem_ch12.adb, mlib-utl.adb, freeze.adb, sem_res.adb,
+ sem_attr.adb, sem_case.adb, gnatlink.adb, exp_ch4.adb, sem_ch6.adb,
+ sem_elim.adb, s-dimmks.ads, sem_ch13.adb: Minor code clean ups.
+
+2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_ugn.texi (Switches for gcc): Document -gnatn[12] only
+ lightly in the summary and more thoroughly in inlining section.
+ (Performance Considerations): Document -gnatn[12] in inlining
+ section.
+
+2012-07-09 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr-gcc.adb (Unhandled_Except_Handler): New procedure.
+ (Unhandled_Others_Value): New const.
+ * raise-gcc.c (GNAT_UNHANDLED_OTHERS): Define.
+ (action_descriptor): Remove ttype_entry.
+ (get_action_description_for): Do not assign ttype_entry.
+ (is_handled_by): Consider GNAT_UNHANDLED_OTHERS.
+
+2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Call_to_gnu): Robustify test for function case
+ if the CICO mechanism is used.
+
+2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (build_simple_component_ref): Do not look
+ through an extension if the type contains a placeholder.
+
+2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_disp.adb (Expand_Dispatching_Call): Propagate the convention on
+ the designated subprogram type and also set Is_Dispatch_Table_Entity.
+ (Expand_Interface_Thunk): Propagate the convention on the thunk.
+ (Set_CPP_Constructors_Old): Set Is_Constructor and Convention_CPP on
+ the internal view of the constructors.
+ (Set_CPP_Constructors): Likewise.
+ * sem_prag.adb (Analyze_Pragma) <Pragma_CPP_Constructor>: Set the
+ convention on the function.
+ * gcc-interface/gigi.h (is_cplusplus_method): Declare.
+ * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
+ (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the `thiscall'
+ calling convention
+ (get_minimal_subprog_decl): Likewise.
+ (is_cplusplus_method): New predicate.
+ * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Issue an
+ error on access to C++ constructor or member function.
+
+2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (gnat_pushdecl): Set TYPE_CONTEXT for types
+ attached to a TYPE_DECL.
+
+2012-06-26 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch3.adb (Build_Init_Statements): Don't check the parents
+ in the Rep Item Chain of the task for aspects Interrupt_Priority,
+ Priority, CPU and Dispatching_Domain.
+ * exp_ch9.adb (Expand_N_Task_Type_Declaration): fields _Priority,
+ _CPU and _Domain are present in the corresponding record type
+ only if the task entity has a pragma, attribute definition
+ clause or aspect specification.
+ (Make_Initialize_Protection): Don't check the parents in the Rep Item
+ Chain of the task for aspects Interrupt_Priority, Priority, CPU and
+ Dispatching_Domain.
+ * freeze.adb (Freeze_Entity): Use of Evaluate_Aspects_At_Freeze_Point
+ call replaced by Analyze_Aspects_At_Freeze_Point.
+ * sem_ch13.adb, sem_ch13.ads (Analyze_Aspects_At_Freeze_Point):
+ Renaming of Evaluate_Aspects_At_Freeze_Point.
+
+2012-06-26 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Detect if 'Old is used outside a
+ postcondition, and issue an error in such a case.
+
+2012-06-26 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Minor editing.
+
+2012-06-26 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c: Minor cleanup: remove unused prototype.
+ * seh_init.c: Do not create an image wide unwind info to catch
+ SEH when SEH unwind info are emitted by the compiler.
+
+2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc-interface/trans.c: Include target.h.
+ (gigi): Try to put out .ident with targetm.asm_out.output_ident.
+ Remove uses of ASM_OUTPUT_IDENT.
+ * gcc-interface/Make-lang.in: Fix dependencies.
+
+2012-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/53592
+ * gcc-interface/gigi.h (maybe_vector_array): Make static inline.
+ * gcc-interface/utils.c (maybe_vector_array): Delete.
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the
+ array object as addressable if it has vector type and is on the LHS.
+
+2012-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/53590
+ * gcc-interface/misc.c (gnat_init_options_struct): Set
+ opts->x_flag_delete_dead_exceptions to 1.
+
+2012-06-14 Jose Ruiz <ruiz@adacore.com>
+
+ * gcc-interface/Make-lang.in (ada.install-common, ada.uninstall):
+ Use the prefix specified with the --program-prefix configure option
+ to determine the install name of the Ada tools.
+ (ada.all.cross): Use a for loop to iterate over the set of Ada tools
+ instead of duplicate the same processing.
+ Update dependencies.
+
+2012-06-14 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_Symbol
+ call replaced by Expand_Put_Call_With_Symbol call.
+ * sem_dim.adb: New fields Unit_Names, Unit_Symbols
+ and Dim_Symbols for record type System_Type.
+ (From_Dimension_To_String_Of_Symbols): Removed.
+ (From_Dim_To_Str_Of_Dim_Symbols): Renames previous
+ routine From_Dimension_To_String_Of_Symbols.
+ (From_Dim_To_Str_Of_Unit_Symbols): New routine.
+ (Analyze_Aspect_Dimension): argument Symbol in aspect
+ Dimension aggregate is optional. Named association implemented.
+ (Has_Compile_Time_Known_Expressions): Removed.
+ (Analyze_Aspect_Dimension_System): New
+ component Dim_Symbol in each Dimension aggregate in
+ aspect Dimension_System. Named associations implemented.
+ (Add_Dimension_Vector_To_Buffer): Removed.
+ (Add_Whole_To_Buffer): Removed.
+ (Expand_Put_Call_With_Dimension_Symbol.): Removed.
+ (Expand_Put_Call_With_Symbol): Renames previous routine
+ Expand_Put_Call_With_Dimension_Symbol.
+ (Has_Dimension_Symbols): Removed.
+ (Has_Symbols): Renames previous routine
+ Has_Dimension_Symbols. (Store_String_Oexpon): New routine.
+ * sem_dim.ads (Expand_Put_Call_With_Dimension_Symbol.): Removed.
+ (Expand_Put_Call_With_Symbol): Renames previous routine
+ Expand_Put_Call_With_Dimension_Symbol.
+ * s-diflio.adb, s-diinio.adb (Put): Symbol renames Symbols.
+ (Put_Dim_Of): New routines.
+ * s-diflio.ads, s-diinio.ads: documentation updated.
+ (Put): Symbol renames Symbols.
+ (Put_Dim_Of): New routines.
+ * s-dim.ads: documentation updated.
+ * s-dimmks.ads: dimensioned type and subtypes updated.
+ * snames.ads-tmpl: Name_Dim_Symbol, Name_Put_Dim_Of, Name_Symbol,
+ and Name_Unit_Symbol added. Name_Symbols removed.
+
+2012-06-14 Vincent Pucci <pucci@adacore.com>
+
+ * freeze.adb (In_Exp_Body): Expression function case added.
+ (Freeze_Expression): Insert the Freeze_Nodes
+ list before the correct current scope in case of a quantified
+ expression.
+
+2012-06-14 Pascal Obry <obry@adacore.com>
+
+ * projects.texi: Document the Install package for gprinstall.
+2012-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elim.adb (Check_For_Eliminated_Subprogram): Do not check within
+ a default expression.
+ * sem_res.adb (Resolve_Call): simplify code.
+
+2012-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_case.adb (Check, Issue_Msg): within an instance, non-other
+ values in a variant part or a case expression do not have to
+ belong to the actual subtype.
+
+2012-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Validate_Derived_Type_Instance): If parent is
+ an interface type, check whether it is itself a previous formal
+ already instantiated in the current list of actuals.
+
+2012-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): The
+ expression for a stream attribute is a name that may be overloaded
+ with other declarations. To determine whether it matches the
+ aspect at the freeze point, it is necessary to verify that one
+ of its interpretations matches.
+
+2012-06-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.adb, exp_util.adb, sem_aux.ads, exp_ch9.adb,
+ sem_ch10.adb, freeze.adb, sem_util.adb, exp_ch4.adb,
+ s-taprop-dummy.adb: Minor reformatting.
+
+2012-06-14 Vincent Pucci <pucci@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Lock_Free
+ attribute case added.
+ * par-prag.adb (Prag): Lock_Free pragma case added.
+ * sem_attr.adb (Analyze_Attribute_Reference): Lock_Free attribute
+ case added.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Record_Rep_Item
+ call added for Aspect_Lock_Free.
+ * sem_ch9.adb (Allows_Lock_Free_Implementation): New Lock_Free
+ error messages for subprogram bodies.
+ (Lock_Free_Disabled): New routine.
+ (Analyze_Protected_Body): Call to Lock_Free_Disabled added.
+ * sem_prag.adb (Analyze_Pragma): Lock_Free pragma case added.
+ * snames.adb-tmpl (Get_Pragma_Id): Name_Lock_Free case added.
+ (Is_Pragma_Name): Name_Lock_Free case added.
+ * snames.ads-tmpl: Attribute_Lock_Free and Pragma_Lock_Free added.
+
+2012-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * a-coorma.adb, a-cborma.adb, a-cbhama.adb, a-ciorma.adb: Add missing
+ aliased keyword.
+
+2012-06-14 Bob Duff <duff@adacore.com>
+
+ * lib.ads, lib.adb, sem.adb (Write_Unit_Info): Move this
+ procedure from Sem body to Lib spec, so it can be used for
+ debugging elsewhere.
+
+2012-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Conformance): Add Ada 2012 check on mode
+ conformance: "aliased" must apply to both or neither formal
+ parameters.
+
+2012-06-14 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch9.adb: Minor reformatting.
+
+2012-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Warn about useless bit order
+ specification [when there's no component clause] regardless
+ of whether the specified bit order is reversed or not.
+
+2012-06-14 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c (__gnat_personality_seh0): New function.
+
+2012-06-14 Tristan Gingold <gingold@adacore.com>
+
+ * gnatname.adb (Gnatname): Make sure that dynamic table
+ argument_data is initialized.
+
+2012-06-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_aux.adb: Minor code reorganization.
+
+2012-06-14 Vincent Pucci <pucci@adacore.com>
+
+ * einfo.adb einfo.ads (Get_Rep_Item): Removed.
+ (Get_Rep_Item_For_Entity): Removed.
+ (Get_Rep_Pragma): Removed.
+ (Get_Rep_Pragma_For_Entity): Removed.
+ (Has_Rep_Item): Removed.
+ (Has_Rep_Pragma): Removed.
+ (Has_Rep_Pragma_For_Entity): Removed.
+ * exp_ch9.adb (Expand_N_Task_Type_Declaration):
+ Has_Rep_Pragma_For_Entity replaced by Has_Rep_Pragma
+ and Get_Rep_Pragma_For_Entity replaced by Get_Rep_Pragma.
+ (Make_Task_Create_Call): Has_Rep_Pragma_For_Entity replaced
+ by Has_Rep_Pragma and Get_Rep_Pragma_For_Entity replaced by
+ Get_Rep_Pragma.
+ * exp_intr.adb: Dependency to Sem_Aux added for call to Get_Rep_Pragma.
+ * sem_aux.adb (Get_Rep_Item): New routine.
+ (Get_Rep_Pragma): New routine.
+ (Has_Rep_Item): New routine.
+ (Has_Rep_Pragma): New routine.
+ (Nearest_Ancestor): Minor reformatting.
+ * sem_aux.ads (Get_Rep_Item): New routine.
+ (Get_Rep_Pragma): New routine.
+ (Has_Rep_Item): New routine.
+ (Has_Rep_Pragma): New routine.
+ * sem_ch13.adb (Duplicate_Clause): Restore original error messages.
+ * sem_eval.adb (Subtypes_Statically_Match): Get_Rep_Item_For_Entity
+ replaced by Get_Rep_Item.
+ * sem_prag.adb (Analyze_Pragma): Restore original error messages.
+ (Check_Duplicate_Pragma): Restore original error messages.
+
+2012-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Is_Object_Reference): in Ada 2012, qualified
+ expressions are valid names.
+
+2012-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Analyze_Compilation_Unit): If the unit is an
+ instantiation do not emit warnings for obsolescent units. The
+ warnings belong on the corresponding generic.
+
+2012-06-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Update the usage of Node15.
+ (Return_Flag_Or_Transient_Decl): Removed.
+ (Set_Return_Flag_Or_Transient_Decl): Removed.
+ (Set_Status_Flag_Or_Transient_Decl): New routine.
+ (Status_Flag_Or_Transient_Decl): New routine.
+ (Write_Field15_Name): Update the output for variables and constants.
+ * einfo.ads: Remove attribute
+ Return_Flag_Or_Transient_Decl along with occurrences in nodes.
+ (Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
+ (Set_Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
+ (Set_Status_Flag_Or_Transient_Decl): New routine along with pragma
+ Inline.
+ (Status_Flag_Or_Transient_Decl): New routine along with pragma Inline.
+ * exp_ch4.adb (Create_Alternative): New routine.
+ (Expand_N_Conditional_Expression): Handle the case
+ where at least one of the conditional expression
+ alternatives prodices a controlled temporary by means of a function
+ call.
+ (Is_Controlled_Function_Call): New routine.
+ (Process_Transient_Object): Update the call to
+ Set_Return_Flag_Or_Transient_Decl.
+ * exp_ch6.adb (Enclosing_Context): New routine.
+ (Expand_N_Extended_Return_Statement): Update all calls to
+ Set_Return_Flag_Or_Transient_Decl.
+ (Expand_Ctrl_Function_Call): Prohibit the finalization of a controlled
+ function result when the context is a conditional expression.
+ * exp_ch7.adb (Process_Declarations): Update all calls to
+ Return_Flag_Or_Transient_Decl. Add processing for intermediate
+ results of conditional expressions where one of the alternatives
+ uses a controlled function call.
+ (Process_Object_Declaration): Update all calls to
+ Return_Flag_Or_Transient_Decl and rearrange the logic to process
+ "hook" objects first.
+ (Process_Transient_Objects): Update the call to
+ Set_Return_Flag_Or_Transient_Decl.
+ * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean,
+ Boolean)): Update all calls to Return_Flag_Or_Transient_Decl. Add
+ detection for intermediate results of conditional expressions
+ where one of the alternatives uses a controlled function call.
+
+2012-06-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ Revert
+ 2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
+ (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
+ calling convention
+ (get_minimal_subprog_decl): Likewise.
+ (gnat_first_param_is_class): New predicate.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+ * sem_ch9.ads, einfo.adb, einfo.ads, sem_prag.adb, freeze.adb,
+ sem_util.adb, sem_ch13.adb, sem_ch13.ads, exp_ch3.adb: Add comments.
+ Minor reformatting.
+
+2012-06-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Formal_Subprogram): Remove code that
+ implements AI05-0296, because the actual may be overloaded.
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): and move it here,
+ to be applied once the actual subprogram is properly resolved.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * switch-c.adb, a-exexpr-gcc.adb: Minor reformatting.
+
+2012-06-12 Vincent Pucci <pucci@adacore.com>
+
+ * checks.adb (Tag_Checks_Suppressed): Remove Kill_Tag_Checks check.
+ * einfo.adb (Universal_Aliasing): Apply to the implementation
+ base type instead of the base type.
+ (Get_Rep_Item_For_Entity):
+ Return a pragma if the pragma node is not present in the Rep
+ Item chain of the parent.
+ (Kill_Tag_Checks): Removed (unused flag).
+ (Set_Kill_Tag_Checks): Removed.
+ (Get_First_Rep_Item): New routine.
+ (Get_Rep_Pragma_For_Entity): New routine.
+ (Has_Rep_Item): New routine.
+ (Has_Rep_Pragma_For_Entity): New routine.
+ (Present_In_Rep_Item): New routine.
+ * einfo.ads (Kill_Tag_Checks): Removed.
+ (Set_Kill_Tag_Checks): Removed.
+ (Get_First_Rep_Item): New routine.
+ (Get_Rep_Pragma_For_Entity): New routine.
+ (Has_Rep_Item): New routine.
+ (Has_Rep_Pragma_For_Entity): New routine.
+ (Present_In_Rep_Item): New routine.
+ * exp_attr.adb, sem_attr.adb: Attribute_CPU,
+ Attribute_Dispatching_Domain and Attribute_Interrupt_Priority
+ case added.
+ * exp_ch13.adb (Expand_N_Attribute_Definition_Clause): For
+ attribute Storage_Size, insert the new assignement statement
+ after the Size variable declaration.
+ * exp_ch3.adb (Build_Init_Statements): Fill the CPU,
+ Dispatching_Domain, Priority and Size components with the Rep
+ Item expression (if any).
+ * exp_ch9.adb (Expand_N_Task_Type_Declaration): _CPU,
+ _Priority, _Domain fields are always present in the
+ corresponding record type.
+ (Find_Task_Or_Protected_Pragma): Removed.
+ (Get_Relative_Deadline_Pragma): New routine.
+ (Make_Initialize_Protection): Find_Task_Or_Protected_Pragma removed.
+ (Make_Task_Create_Call): Check CPU, Size or
+ Dispatching_Domain Rep Item is present using new routine Has_Rep_Item.
+ * freeze.adb (Freeze_All): Push_Scope_And_Install_Discriminants
+ and Uninstall_Discriminants_And_Pop_Scope calls added.
+ (Freeze_Entity): Evaluate_Aspects_At_Freeze_Point call added.
+ * sem_aux.adb (Nearest_Ancestor): Retrieve the nearest ancestor
+ for private derived types.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Clean-up
+ and reordering. Delay analysis for all aspects (except some
+ peculiar cases).
+ (Analyze_Attribute_Definition_Clause):
+ Attribute_CPU, Attribute_Dispatching_Domain,
+ Interrupt_Priority and Attribute_Priority cases added.
+ (Analyze_Freeze_Entity): Push_Scope_And_Install_Discriminants
+ and Uninstall_Discriminants_And_Pop_Scope calls added.
+ (Check_Aspect_At_Freeze_Point): Reordering and clean-up.
+ (Duplicate_Clause): Issue an explicit error msg when the current
+ clause duplicates an aspect specification, an attribute definition
+ clause or a pragma.
+ (Evaluate_Aspects_At_Freeze_Point): New routine.
+ * sem_ch13.ads (Evaluate_Aspects_At_Freeze_Point): New routine.
+ * sem_ch9.adb, sem_ch9.ads (Install_Discriminants): New routine.
+ (Push_Scope_And_Install_Discriminants): New routine.
+ (Uninstall_Discriminants): New routine.
+ (Uninstall_Discriminants_And_Pop_Scope): New routine.
+ * sem_prag.adb (Check_Duplicate_Pragma): Issue an explicit error
+ msg when the current pragma duplicates an aspect specification,
+ an attribute definition clause or a pragma.
+ (Analyze_Pragma): Remove use of flags Has_Pragma_CPU,
+ Has_Pragma_Priority and Has_Pragma_Dispatching_Domain.
+ * sem_util.adb (Compile_Time_Constraint_Error): Don't complain
+ about the type if the corresponding concurrent type doesn't come
+ from source.
+ * sinfo.adb, sinfo.ads (Has_Pragma_CPU): Removed.
+ (Has_Pragma_Dispatching_Domain): Removed.
+ (Has_Pragma_Priority): Removed.
+ (Has_Task_Info_Pragma): Removed.
+ (Has_Task_Name_Pragma): Removed.
+ (Set_Has_Pragma_CPU): Removed.
+ (Set_Has_Pragma_Dispatching_Domain): Removed.
+ (Set_Has_Pragma_Priority): Removed.
+ (Set_Has_Task_Info_Pragma): Removed.
+ (Set_Has_Task_Name_Pragma): Removed.
+ * snames.adb-tmpl (Get_Pragma_Id): Pragma_CPU,
+ Pragma_Dispatching_Domain and Pragma_Interrupt_Priority added.
+ (Is_Pragma_Name): Name_CPU, Name_Dispatching_Domain and
+ Name_Interrupt_Priority added.
+ * snames.ads-tmpl: Name_Dispatching_Domain, Name_CPU
+ and Name_Interrupt_Priority moved to the list of
+ Attribute_Name. Attribute_CPU, Attribute_Dispatching_Domain and
+ Attribute_Interrupt_Priority added. Pragma_Dispatching_Domain,
+ Pragma_CPU and Pragma_Interrupt_Priority moved to the end of
+ the Pragma_Name list.
+
+2012-06-12 Arnaud Charlet <charlet@adacore.com>
+
+ * xref_lib.adb (Get_Full_Type): Add support for 'G'.
+
+2012-06-12 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr-gcc.adb (Unwind_Exception): Add 4 more private fields.
+
+2012-06-12 Fedor Rybin <frybin@adacore.com>
+
+ * gnat_ugn.texi: Update doc on gnattest.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch12.adb: Add comments.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * switch-c.adb, inline.adb, usage.adb, opt.ads: Minor reformatting.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch12.adb: Minor reformatting.
+
+2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * opt.ads (Inline_Level): New variable.
+ * gnat1drv.adb (Adjust_Global_Switches): Set it based on optimization
+ level if it has not been set by the user.
+ * switch-c.adb (Scan_Front_End_Switches): Accept -gnatn1 and -gnatn2
+ and set Inline_Level accordingly.
+ * inline.adb (Add_Inlined_Body): Declate new Inline_Level_Type type.
+ (Must_Inline): Return Inline_Level_T instead of Boolean to indicate
+ whether the package of the inlined subprogram must be compiled.
+ If Inline_Level is set to 1, only compile packages of subprograms
+ directly called from the main unit.
+ * usage.adb (Usage): Adjust line for -gnatn switch.
+ * gnat_ugn.texi (Switches for gcc): Document -gnatn1 and -gnatn2.
+
+2012-06-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Formal_Subprogram): Do not apply
+ AI05-296 if the actual is overloaded. In this case The rule must
+ be applied after resolution, in Analyze_Subprogram_Renaming.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * stringt.adb: Minor reformatting.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * ali-util.adb, stringt.ads: Minor reformatting.
+
+2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Process_Declarations): Handle the case where
+ the original context has been wrapped in a block to avoid
+ interference between exception handlers and At_End handlers.
+ (Wrap_HSS_In_Block): Mark the block which contains the original
+ statements of the context as being a finalization wrapper.
+ * sinfo.adb (Is_Finalization_Wrapper): New routine.
+ (Set_Is_Finalization_Wrapper): New routine.
+
+ * sinfo.ads: Add new attribute Is_Finalization_Wrapper applicable
+ to block statemnts.
+ (Is_Finalization_Wrapper): New routine with corresponding pragma Inline.
+ (Set_Is_Finalization_Wrapper): New routine with corresponding pragma
+ Inline.
+
+2012-06-12 Steve Baird <baird@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): No longer need to set
+ Exception_Extra_Info in CodePeer_Mode.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_dist.adb, exp_ch7.adb, sem_type.adb, exp_attr.adb,
+ sinfo.ads, sem_ch7.adb, exp_alfa.adb, sem_scil.adb, sem_ch12.adb,
+ sem_util.adb, sem_res.adb, sem_attr.adb, sem_elab.adb, exp_ch6.adb,
+ sem_ch4.adb, sem_warn.adb, scil_ll.adb, exp_cg.adb: Minor code
+ reorganization.
+
+2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-tasini.ads: Minor fix in comment.
+
+2012-06-12 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Warn on record with
+ Scalar_Storage_Order if there is no placed component.
+
+2012-06-12 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb: Minor comment fix.
+
+2012-06-12 Vincent Celier <celier@adacore.com>
+
+ * ali-util.adb (Time_Stamp_Mismatch): In minimal recompilation
+ mode, use Stringt Mark and Release to avoid growing the Stringt
+ internal tables uselessly.
+ * stringt.adb (Strings_Last): New global variable
+ (String_Chars_Last): New global variable.
+ (Mark, Release): New procedures.
+ * stringt.ads (Mark, Release) New procedures.
+
+2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Process_Transient_Objects): Renamed constant
+ Requires_Hooking to Must_Hook and replace all occurrences of the name.
+ (Requires_Hooking): New routine. Detect all contexts that require
+ transient variable export to the outer finalizer due to a potential
+ exception.
+
+2012-06-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb: Small adjustment.
+
+2012-06-12 Vincent Celier <celier@adacore.com>
+
+ * vms_cmds.ads (Command_Type): New enumeration value Test
+ * vms_conv.adb (Initialize): Add component at index Test in
+ Command_List
+ * vms_data.ads (Test_Switches): New global variable for the
+ switches of gnattest, currently empty.
+
+2012-06-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Subtype_Declaration): if an incomplete
+ type is tagged, so is a subtype of it.
+ * sem_ch12.adb (Validate_Actual_Subprogram): implement AI05-0296,
+ concerning freeze rules in the presence of formal incomplete
+ types: a formal abstract subprogram cannot have an incomplete
+ controlling type, and the profile of the actual subprogram does
+ not freeze if it includes an incomplete untagged type.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * a-direct.adb: Minor reformatting.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add missing documentation for -gnatw.v and
+ -gnatw.V.
+
+2012-06-12 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch7.adb, sem_prag.adb, sem_ch12.adb, sem_ch4.adb,
+ sem_ch13.adb: Minor rewording of error messages for unchecked unions.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * lib-xref.ads: Minor reformatting.
+
+2012-06-12 Pascal Obry <obry@adacore.com>
+
+ * a-direct.adb (Delete_File): Delete symbolic links silently
+ instead of raising the Name_Error exception when the symbolic
+ link is pointing to a non existent file.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * xref_lib.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.
+
+2012-06-12 Javier Miranda <miranda@adacore.com>
+
+ * lib-xref.ads Adding missing documentation.
+
+2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Create_Finalizer): Add the
+ exception reraise mechanism at the very end of the finalizer
+ statements. This placement ensures that all objects are finalized,
+ the secondary stack mark released and aborts undeferred before
+ propagating an exception.
+
+2012-06-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Remove_Unit_From_Visibility): if the unit is a
+ wrapper package. remove from visibility the original subprogram
+ instance.
+
+2012-06-12 Javier Miranda <miranda@adacore.com>
+
+ * sem_prag.adb (Process_Convention): Generate reference to entity
+ exported to foreign language. Needed for GPS navigation.
+ * xref_lib.adb (Parse_Identifier_Info): Parse exported entities.
+ * lib-xref (Output_References): Output exported entities.
+
+2012-06-12 Pascal Obry <obry@adacore.com>
+
+ * prj-attr.adb: Add install package and corresponding attributes.
+ * snames.ads-tmpl (Name_Active): New constant.
+ (Name_Exec_Subdir): Likewise.
+ (Name_Install): Likewise.
+ (Name_Lib_Subdir): Likewise.
+ (Name_Project_Subdir): Likewise.
+ (Name_Sources_Subdir): Likewise.
+
+2012-06-12 Bob Duff <duff@adacore.com>
+
+ * sem_res.adb (Check_Infinite_Recursion):
+ Suppress spurious warning on recursion after "raise with ...".
+
+2012-06-12 Thomas Quinot <quinot@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Do
+ not crash on illegal unchecked union that is a null record.
+
+2012-06-12 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb (Has_Inferable_Discriminants): Reorganize code to
+ treat implicit dereferences with a constrained unchecked union
+ nominal subtype as having inferable discriminants.
+
+2012-06-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb: Minor reformatting.
+
+2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_ugn.texi: Couple of minor corrections.
+
+2012-06-12 Thomas Quinot <quinot@adacore.com>
+
+ * sem_prag.adb (Check_Variant): An empty component list is not
+ illegal in an unchecked union variant.
+
+2012-06-12 Gary Dismukes <dismukes@adacore.com>
+
+ * projects.texi: Remove comments.
+
+2012-06-12 Thomas Quinot <quinot@adacore.com>
+
+ * back_end.adb (Scan_Back_End_Switches): Treat -fdump-scos as
+ synonym of -gnateS.
+ (gnat_post_options): Disable gimple-based SCO generator.
+ * gnat_ugn.texi: Document that -gnateS is an obsolete synonym
+ of -fdump-scos.
+
+2012-06-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Different_Generic_Profile): new predicate for
+ Find_Corresponding_Spec, to handle a rare case of accidental
+ overloading in an instance, when the profile of a subprogram body
+ that depends on a formal type becomes compatible with that of
+ a homonym whose profile in the generic mentions the actual type.
+
+2012-06-12 Thomas Quinot <quinot@adacore.com>
+
+ * gnat1drv.adb: Minor reformatting.
+
+2012-06-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Build_Explicit_Dereference): If the expression
+ is an entity, ensure that the type of the expression is the same
+ as that of the entity.
+
+2012-06-12 Pat Rogers <rogers@adacore.com>
+
+ * projects.texi: Corrected instances of the word "build" that
+ should be "built" instead. Other similar changes and minor
+ punctuation changes.
+
+2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.adb (Is_Atomic_Object): Return true for an atomic
+ component as well as a prefix which is an atomic component.
+
+2012-06-12 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Import_Or_Interface): revert previous
+ patch. The processing of interfacing aspects now generates a
+ proper Ada 2005 pragma.
+ * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
+ Pragma_Import): revert previous patch. The processing of
+ interfacing aspects now generates a proper Ada 2005 pragma.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): generate proper
+ pragam for aspects Convention, Import and Export. Scan list
+ of aspects to collect link name and external name if present,
+ and verify that a complete pragma can be generated.
+
+2012-06-11 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Remove
+ $(PIC_FLAG_FOR_TARGET).
+ (gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to
+ GNATLIBCFLAGS_FOR_C passed to gnatlib.
+ (gnatlib-shared-win32): Likewise.
+ (gnatlib-shared-darwin): Likewise.
+ (gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to
+ gnatlib-shared-win32.
+
+2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Convert GNU_SIZE
+ to units before invoking allocatable_size_p on it.
+ Remove orphaned comment. Do not use ssize_int.
+ <E_Record_Subtype>: Traverse list in original order. Minor tweak.
+ (allocatable_size_p): Adjust and simplify.
+ (build_subst_list): Use consistent terminology throughout.
+ (build_variant_list): Likewise. Traverse list in original order.
+ (create_field_decl_from): Likewise.
+ (copy_and_substitute_in_size): Likewise.
+ (create_variant_part_from): Add comment about field list order.
+ * gcc-interface/utils.c (build_vms_descriptor): Do not use ssize_int.
+ * gcc-interface/utils2.c (build_allocator): Likewise.
+
+2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Identifier_to_gnu): Test Is_Elementary_Type
+ instead of Is_Scalar_Type for a constant with an address clause.
+ Do not return the underlying constant for a constant used by reference
+ if it holds the address of a constant and an lvalue is required.
+
+2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Do not specifically deal
+ with external constants wrt force_global here...
+ <E_Constant>: ...but here instead.
+ * gcc-interface/utils.c (gnat_pushdecl): Do not put external DECLs onto
+ the list of global DECLs.
+
+2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Translate the Esize on
+ entry only for elementary types and abort if it is too large.
+ <E_Record_Type>: Make sure the Esize is known before using it.
+
+2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc-interface/utils2.c: Do not include output.h.
+ * gcc-interface/Make-lang.in: Fix dependencies.
+
+2012-05-29 Michael Matz <matz@suse.de>
+
+ * gcc-interface/utils.c (create_var_decl_1): Don't call expand_decl.
+
+2012-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.
+ (build_variant_list): Adjust to above renaming.
+ (gnat_to_gnu_entity) <E_Record_Subtype>: Likewise. Give a unique name
+ to the type of the variant containers.
+ (create_variant_part_from): Likewise. Give a unique name to the type
+ of the variant part.
+
+2012-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/52362
+ * link.c (__gnat_object_file_option): Set to "-Wl,@" for GNU linker.
+ (__gnat_using_gnu_linker): Delete.
+ * gnatlink.adb (Gnatlink): Declare Object_File_Option_Ptr here...
+ Declare Object_File_Option string constant and Using_GNU_response_file
+ boolean constant.
+ (Process_Binder_File): ...instead of here. Delete Using_GNU_Linker,
+ Opening and Closing local variables. Do not handle the GNU linker
+ specially.
+ (Write_RF): New procedure to write into the response file. Escape some
+ characters if a GNU response file is used. Keep track of error status.
+ Invoke Write_RF to write into the response file. Delete the file only
+ if the link was successful.
+ * mlib-utl.adb: Do not `with' package System.
+ (Gcc): Likewise. Declare Object_File_Option string constant and
+ Using_GNU_response_file boolean constant.
+ (Write_RF): Take a string instead of address and length. Escape some
+ characters if a GNU response file is used.
+ Invoke Write_RF to write into the response file. Delete the file only
+ if the link was successful. Do not warn if it cannot be deleted.
+
+2012-05-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (gnat_write_global_declarations): Put a name
+ on the dummy global variable.
+
+2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
+ (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
+ calling convention
+ (get_minimal_subprog_decl): Likewise.
+ (gnat_first_param_is_class): New predicate.
+
+ * gcc-interface/misc.c (gnat_handle_option): Fix formatting.
+ * gcc-interface/Makefile.in: Likewise.
+
+2012-05-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an object at
+ global level with unconstrained nominal subtype and a non-fixed size,
+ make a variable for the size.
+
+2012-05-15 Andris Pavenis <andris.pavenis@iki.fi>
+
+ PR ada/52494
+ * s-taprop-dummy.adb (Specific): New package.
+
+2012-05-15 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS
+ instead of trying to mimic it.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb, sem_util.adb, s-stposu.adb, exp_ch4.adb: Minor
+ reformatting.
+
+2012-05-15 Geert Bosch <bosch@adacore.com>
+
+ * uintp.adb (UI_Rem): Remove optimizations, as they are complex and are
+ not needed.
+ (Sum_Digits): Remove, no longer used.
+ (Sum_Double_Digits): Likewise.
+
+2012-05-15 Yannick Moy <moy@adacore.com>
+
+ * aspects.ads: Minor typo.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi (Scalar_Storage_Order): Fix RM reference.
+ * sem_ch13.adb: Minor comment fix: incorrect RM reference.
+
+2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate
+ atomicity from an object to its underlying type only if it
+ is composite.
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iterator_Specification): Set kind of
+ loop variable after pre-analysis of iterator name, to prevent
+ premature usage of loop variable.
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Is_Variable): In Ada 2012, an explicit
+ dereference that is a rewriting of an expression whose type has
+ a declared Implicit_Derenference aspect is a variable.
+
+2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Insert_Dereference_Action): Reimplemented. The
+ routine performs address and size adjustments for dereferences
+ of heap-allocated controlled objects. This manipulation is needed
+ in order to restore the original state of the memory at the time
+ it was allocated by the finalization machinery.
+ * rtsfind.ads: Add RE_Adjust_Controlled_Dereference to tables
+ RE_Id and RE_Unit_Table.
+ * sinfo.adb (Has_Dereference_Action): New routine.
+ (Set_Has_Dereference_Action): New routine.
+ * sinfo.ads: Add new semantic flag Has_Dereference_Action along
+ its association in nodes.
+ (Has_Dereference_Action): New routine and pragma Inline.
+ (Set_Has_Dereference_Action): New routine and pragma Inline.
+ * s-stposu.ads, s-stposu.adb (Adjust_Controlled_Dereference): New
+ routine.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * uintp.adb (Image_Uint): Use UI_Div_Rem to get quotient and
+ remainder of U / Base in a single operation.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, inline.adb, sem_ch10.adb, prj.ads, sem_util.adb,
+ a-ngelfu.ads, exp_ch4.adb, exp_ch6.adb, aspects.ads, sem_ch6.adb,
+ vms_data.ads, exp_ch3.adb, prj-env.adb: Minor reformatting.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb (Has_Inferable_Discriminants): For a qualified
+ expression, use correct node for test on the subtype denoted by
+ the subtype mark.
+
+2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.adb (Scope_In_Main_Unit): Rename into...
+ (In_Main_Unit_Or_Subunit): ...this. Also return
+ true if the subprogram is within a subunit of the
+ main unit.
+ (Add_Inlined_Body): Adjust for above renaming.
+ (Add_Inlined_Subprogram): Likewise. Pass the subprogram directly.
+ (Analyze_Inlined_Bodies): Really set aside inlined subprograms
+ not handled by Add_Inlined_Body.
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Expand_With_Clause): In the context of a generic
+ package declaration, a private with-clause on a child unit implies
+ that the implicit with clauses on its parents are private as well.
+
+2012-05-15 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch6.adb (Is_Interface_Conformant): Add missing call to
+ Base_Type to handle subtypes.
+ * exp_ch6.adb (Expand_Call): For calls located in thunks handle
+ unchecked conversions of access types found in actuals.
+ * exp_disp.adb (Expand_Interface_Thunk): Add missing unchecked
+ conversion to actuals whose type is an access type. Done to
+ avoid reporting spurious errors.
+
+2012-05-15 Vincent Celier <celier@adacore.com>
+
+ * prj-env.adb (Create_Mapping): Ignore sources that are
+ suppressed (Create_Mapping_File.Process): Ditto
+ * prj-nmsc.adb (Add_Source): Update to take into
+ account suppressed files that may hide inherited sources.
+ (Mark_Excluded_Sources): Mark excluded sources of the current
+ project as suppressed.
+ * prj.ads (Source_Data): New Boolean component Suppressed,
+ defaulted to False
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * exp_intr.adb: Minor reformatting.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi: Document attribute Scalar_Storage_Order.
+
+2012-05-15 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Build_Offset_To_Top): Modify the
+ expansion of the offset_to_top functions to ensure that their
+ profile is conformant with the profile specified in Ada.Tags. No
+ change in functionality.
+
+2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.adb (Subp_Info): Remove Count and Next_Nopred
+ components, add Processed component and move around Next component.
+ (Add_Call): Reverse meaning of Successors table to the natural one.
+ (Add_Inlined_Body): Do not inline a package if it is in the main unit.
+ (Add_Inlined_Subprogram): Do not add the subprogram to the list if the
+ package is in the main unit. Do not recurse on the successors.
+ (Add_Subp): Adjust to new contents of Subp_Info.
+ (Analyze_Inlined_Bodies): Do not attempt
+ to compute a topological order on the list of inlined subprograms,
+ but compute the transitive closure from the main unit instead.
+ (Get_Code_Unit_Entity): Always return the spec for a package.
+
+2012-05-15 Yannick Moy <moy@adacore.com>
+
+ * aspects.ads: Minor addition of comments to provide info on
+ how to add new aspects.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * osint.ads: Minor reformatting.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch5.adb, exp_pakd.adb, sem_util.adb, sem_util.ads
+ (Expand_Assign_Array): Handle the case of a packed bit array within a
+ record with reverse storage order (assign element by element in that
+ case).
+ (In_Reverse_Storage_Order_Record): New subprogram,
+ code extracted from Exp_Pakd.
+
+2012-05-15 Yannick Moy <moy@adacore.com>
+
+ * a-ngelfu.ads: Add postconditions using Ada 2012
+ aspect syntax, reflecting some of the RM requirements for these
+ functions, from Annex A.5.1 or G.2.4.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * adaint.c: Minor fix: move misplaced comment.
+
+2012-05-15 Doug Rupp <rupp@adacore.com>
+
+ * vms_data.ads: Enhance help for /IMMEDIATE_ERRORS to discourage
+ use by customers.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * a-exextr.adb: Add comment.
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting (remove long dead code).
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * aspects.adb, aspects.ads: Add aspects for Convention, Export,
+ External_Name, Import, and Link_Name.
+ * exp_prag.adb (Expand_Pragma_Import_Or_Interface): if the
+ pragma comes from an aspect specification, the entity is the
+ first argument.
+ * sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
+ Pragma_Import): if the pragma comes from an aspect specification,
+ the entity is the first argument, and the second has the value
+ True by default.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): generate pragam
+ for aspect Convention. Add placeholders for Link_Name and
+ External_Name.
+
+2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Asynchronous_Select): Extract the statements
+ of the abortable part and triggering alternative after being processed
+ for controlled objects.
+ (Expand_N_Timed_Entry_Call): Code and comment reformatting.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb: Minor code reorganization.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.adb, exp_ch11.adb, exp_ch11.ads: Minor reformatting.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb (Resolve): Enforce E.2.2(11/2) and E.2.2(12) for
+ 'Unrestricted_Access and 'Unchecked_Access (not just 'Access):
+ even in those cases, a remote access type may only designate a
+ remote subprogram.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.adb, sem_util.ads, sem_cat.adb: Minor refactoring.
+ (Enclosing_Lib_Unit_Node): Rename to Enclosing_Comp_Unit_Node.
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove obsolete
+ checks on nested inlined subprograms.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * fe.h (Get_RT_Exception_Name): Declare.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c (db_region_for): Use %p + cast to avoid warnings.
+ (get_region_description_for): Likewise.
+ (db_action_for): Likewise.
+ (get_call_site_action_for): Likewise.
+ (get_ttype_entry_for): Remove useless 'const'.
+ (PERSONALITY_FUNCTION): Add ATTRIBUTE_UNUSED on uw_exception_class.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * a-exextr.adb (Unhandled_Exception_Terminate): Save occurrence
+ on the stack to avoid a dynamic memory allocation.
+
+2012-05-15 Bob Duff <duff@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Timed_Entry_Call): Move initialization of
+ E_Stats and D_Stats after Process_Statements_For_Controlled_Objects,
+ because those calls can destroy the Statements list.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * fe.h (Get_RT_Exception_Name): Define.
+ * types.ads (RT_Exception_Code): Update comment.
+ * exp_ch11.adb, exp_ch11.ads (Get_RT_Exception_Name): New
+ procedure to get the name of the rcheck subprograms.
+ * a-except-2005.adb (Rcheck_xx): Rename.
+ * a-except.adb Likewise, but also keep the old Rcheck_nn routines
+ for bootstrap.
+ * arith64.c (__gnat_mulv64): Use __gnat_rcheck_CE_Overflow_Check
+ instead of __gnat_rcheck_10.
+ * gcc-interface/trans.c (build_raise_check): Use Get_RT_Exception_Name
+ to create the __gnat_rcheck routines name.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch7.adb (Build_Exception_Handler): Save current
+ occurrence only if -gnateE.
+ (Build_Object_Declaration): Declare E_Id only if -gnateE.
+ (Build_Raise_Statement): Call Raise_From_Controlled_Operation only if
+ -gnateE (else raise PE).
+ * s-soflin.adb (Save_Library_Occurrence): Handle null occurrence
+ access.
+ * a-except-2005.adb (Reraise_Library_Exception_If_Any): Call
+ Raise_From_Controlled_Operation only if the saved occurrence is
+ not null, otherwise raise PE.
+
+2012-05-15 Yannick Moy <moy@adacore.com>
+
+ * exp_alfa.ads: Add comments describing the Alfa mode.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * s-soflin.ads, s-soflin.adb (Save_Library_Occurrence): Parameter
+ E is now of type Exception_Occurrence_Access.
+ * exp_ch7.ads, exp_ch7.adb (Build_Exception_Handler): Adjust generated
+ call to Save_Library_Occurrence.
+
+2012-05-15 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb (Rewrite_Coextension): Use Insert_Action to
+ insert temporary variable decl at the proper place in the tree.
+
+2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * g-calend.adb (Split_At_Locale): New routine.
+ (Time_Of_At_Locale): New routine.
+ * g-calend.ads (Split_At_Locale): New routine.
+ (Time_Of_At_Locale): New routine.
+
+2012-05-15 Gary Dismukes <dismukes@adacore.com>
+
+ * a-except.ads: Minor reformatting.
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the loop
+ parameter specification is part of a quantified expression, and it
+ already carries a type, do not repeat the analysis to preserve
+ type information: a range attribute reference may have been
+ rewritten as a range with static bounds, and its re-analysis may
+ type it as Integer by default, instead of the original index type.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * s-osprim-mingw.adb: Minor reformatting.
+
+2012-05-15 Arnaud Charlet <charlet@adacore.com>
+
+ * a-except.adb, a-except.ads (Reraise_Library_Exception_If_Any): New.
+ Mark this unit preelaborate.
+ * s-soflin.ads: Make package Preelaborate.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * s-osprim-mingw.adb, sem_eval.adb, a-calend-vms.ads: Minor reformatting
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb (Subtypes_Statically_Match): In Ada 2012, static
+ matching requires matching of static subtype predicates as well.
+
+2012-05-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_case.adb (Analyze_Choices): If the subtype of the
+ expression has a non-static predicate, the case alternatives
+ must cover the base type.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * a-calend-vms.ads: Add pragma export to Split and Time_Of.
+ Merge comments from a-calend.ads to minimize differences.
+
+2012-05-15 Sergey Rybin <rybin@adacore.com frybin>
+
+ * gnat_ugn.texi: gnatmetric: add a small example that demonstrates
+ the difference between control coupling and unit coupling.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * bindgen.adb (Gen_Header): Remove code to emit LE_Set.
+ (Gen_Finalize_Library): Replace test with
+ a call to __gnat_reraise_library_exception_if_any.
+ * s-soflin.ads (Library_Exception): Do not export.
+ (Library_Exception_Set): Likewise.
+ * a-except-2005.ads, a-except-2005.adb
+ (Reraise_Library_Exception_If_Any): New procedure.
+
+2012-05-15 Geert Bosch <bosch@adacore.com>
+
+ * sem_ch9.adb (Allows_Lock_Free_Implementation): out or in out
+ parameters can be access types as well, not just scalar types,
+ so relax the test to Is_Elementary_Type.
+
+2012-05-15 Bob Duff <duff@adacore.com>
+
+ * s-atacco.ads s-atacco.adb: Replace pragma Elaborate_Body
+ with pragma No_Body.
+ (Xyz): Remove Xyz, which is apparently unnecessary.
+
+2012-05-15 Tristan Gingold <gingold@adacore.com>
+
+ * a-calend-vms.adb: Complete previous change.
+
+2012-05-15 Bob Duff <duff@adacore.com>
+
+ * s-win32.ads: Minor comment fix.
+ * s-osprim-mingw.adb: Minor editing.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb, sem_ch9.adb, sem_ch13.adb: Minor reformatting.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * g-comlin.adb, g-comlin.ads: Minor reformatting.
+
+2012-05-15 Vincent Pucci <pucci@adacore.com>
+
+ * aspects.adb, aspects.adb: Reordering of the Aspect_Idi list. New
+ aspect Aspect_Lock_Free.
+ * einfo.adb, einfo.ads: New flag Uses_Lock_Free (flag 188).
+ (Set_Uses_Lock_Free): New routine.
+ (Uses_Lock_Free): New routine.
+ * exp_ch7.adb (Is_Simple_Protected_Type): Return False for
+ lock-free implementation.
+ * exp_ch9.adb (Allows_Lock_Free_Implementation): Moved to Sem_Ch9.
+ (Build_Lock_Free_Unprotected_Subprogram_Body): Protected
+ procedure uses __sync_synchronise. Check both Object_Size
+ and Value_Size.
+ (Expand_N_Protected_Body): Lock_Free_Active
+ renames Lock_Free_On.
+ (Expand_N_Protected_Type_Declaration):
+ _Object field removed for lock-free implementation.
+ (Install_Private_Data_Declarations): Protection object removed
+ for lock-free implementation.
+ (Make_Initialize_Protection):
+ Protection object initialization removed for lock-free implementation.
+ * rtsfind.ads: RE_Atomic_Synchronize and RE_Relaxed added.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect_Lock_Free
+ analysis added.
+ * sem_ch9.adb (Allows_Lock_Free_Implementation): New routine.
+ (Analyze_Protected_Body): Allows_Lock_Free_Implementation call added.
+ (Analyze_Protected_Type_Declaration):
+ Allows_Lock_Free_Implementation call added.
+ (Analyze_Single_Protected_Declaration): Second analysis of
+ aspects removed.
+ * s-atopri.ads: Header added.
+ (Atomic_Synchronize): New routine.
+
+2012-05-15 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.ads: Add comment.
+
+2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend.adb (Day_Of_Week): The routine once again treats
+ all dates as historic. (Formatting_Operations.Split): All
+ calls to UTC_Time_Offset are now controlled through formal
+ parameter Is_Historic. (Formatting_Operations.Time_Of):
+ All calls to UTC_Time_Offset are now handled through
+ formal parameter Is_Historic.
+ (Split): Update the call to Formatting_Operations.Split.
+ (Time_Of): Update the call to Formatting_Operations.Time_Of.
+ (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
+ (To_Strict_Tm): Update the call to Formatting_Operations.Split.
+ * a-calend.ads (Split): Add new formal Is_Historic along with
+ comment on usage. This routine is now exported for the purposes
+ of GNAT.Calendar.Locale.
+ (Time_Of): Remove defaults. Add new
+ formal Is_Historic along with comment on usage. This routine is
+ now exported for the purposes of GNAT.Calendar.Locale.
+ * a-calend-vms.adb (Split): Update the call to
+ Formatting_Operations.Split.
+ (Time_Of): Update the call to Formatting_Operations.Time_Of.
+ * a-calend-vms.ads (Split): Add new formal Is_Historic along
+ with comment on usage. (Time_Of): Remove defaults. Add new
+ formal Is_Historic along with comment on usage.
+ * a-calfor.adb (Split): Update the call to
+ Formatting_Operations.Split.
+ (Time_Of): Update the call to Formatting_Operations.Time_Of.
+
+2012-05-15 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Add_Source): Always add the source if it is
+ excluded, to avoid incorrect duplicate checks.
+
+2012-05-15 Yannick Moy <moy@adacore.com>
+
+ * sem_aux.ads: Correct typo.
+ * sem_eval.adb (Compile_Time_Known_Value): Return False in Alfa
+ mode for a deferred constant when outside of the scope of its
+ full view.
+
+2012-05-15 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb, g-comlin.ads (Define_Switch): Allow specifying the name
+ of the argument, for the automatic help message.
+ (Getopt): do not systematically initialize switches with string values
+ to the empty string, when the user has already specified a default.
+
+2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gcc-interface/utils.c (DEF_ATTR_STRING): New.
+
+2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 53063
+ * gcc-interface/misc.c: Include opts.h and options.h before tm.h.
+ (gnat_handle_option): Call lang-specific generated function.
+
+2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * gcc-interface/lang.opt (I): Comment out help text with no effect.
+ (nostdinc): Comment out help text with no effect.
+
+2012-05-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (TOOLS_LIBS): Add ../../ggc-none.o.
+
+2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 53063
+ * gcc-interface/misc.c (gnat_parse_file): Move before ...
+ (gnat_handle_option): ... this. Use handle_generated_option.
+
+2012-05-10 Richard Guenther <rguenther@suse.de>
+
+ * gcc-interface/cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use.
+
+2012-05-06 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.
+
+2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming
+ case, use the padded type if the renamed object has an unconstrained
+ type with default discriminant.
+
+2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariant
+ conditions with only one bound.
+ (Raise_Error_to_gnu): Likewise. New function extracted from...
+ (gnat_to_gnu) <N_Raise_Constraint_Error>: ...here. Call above function
+ in regular mode only.
+
+2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c (gnat_post_options): Disable caret by default.
+
+2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (make_packable_type): Declare.
+ (make_type_from_size): Likewise.
+ (relate_alias_sets): Likewise.
+ (maybe_pad_type): Adjust.
+ (init_gnat_to_gnu): Delete.
+ (destroy_gnat_to_gnu): Likewise.
+ (init_dummy_type): Likewise.
+ (destroy_dummy_type): Likewise.
+ (init_gnat_utils): Declare.
+ (destroy_gnat_utils): Likewise.
+ (ceil_pow2): New inline function.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Use ceil_pow2.
+ <object>: Pass True for the final processing of alignment and size.
+ <E_Subprogram_Type>: Only create the TYPE_DECL for a padded return
+ type if necessary.
+ (round_up_to_align): Delete.
+ (ceil_alignment): Likewise.
+ (relate_alias_sets): Move to...
+ (make_aligning_type): Likewise.
+ (make_packable_type): Likewise.
+ (maybe_pad_type): Likewise.
+ (make_type_from_size): Likewise.
+ * gcc-interface/utils.c (MAX_BITS_PER_WORD): Delete.
+ (struct pad_type_hash): New type.
+ (pad_type_hash_table): New static variable.
+ (init_gnat_to_gnu): Merge into...
+ (init_dummy_type): Likewise.
+ (init_gnat_utils): ...this. New function.
+ (destroy_gnat_to_gnu): Merge into...
+ (destroy_dummy_type): Likewise.
+ (destroy_gnat_utils): ...this. New function.
+ (pad_type_hash_marked_p): New function.
+ (pad_type_hash_hash): Likewise.
+ (pad_type_hash_eq): Likewise.
+ (relate_alias_sets): ...here.
+ (make_aligning_type): Likewise.
+ (make_packable_type): Likewise.
+ (maybe_pad_type): Likewise. Change same_rm_size parameter into
+ set_rm_size; do not set TYPE_ADA_SIZE if it is false. Do not set
+ null as Ada size. Do not set TYPE_VOLATILE on the padded type. If it
+ is complete and has constant size, canonicalize it. Bail out earlier
+ if a warning need not be issued.
+ (make_type_from_size): Likewise.
+ <INTEGER_TYPE>: Bail out if size is too large
+ (gnat_types_compatible_p): Do not deal with padded types.
+ (convert): Compare main variants for padded types.
+ * gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_utils.
+ (gnat_to_gnu): Do not convert at the end for a call to a function that
+ returns an unconstrained type with default discriminant.
+ (Attribute_to_gnu) <Attr_Size>: Simplify handling of padded objects.
+ * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Likewise.
+ Do not use the padded type if it is BLKmode and the inner type is
+ non-BLKmode.
+
+2012-05-02 Pascal Obry <obry@adacore.com>
+
+ Revert
+ 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
+ Windows-specific make variable.
+ (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
+ (install-gnatlib): Respect the above during installation when set,
+ and also install any windows import library that has been built.
+ (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
+ build a corresponding import library.
+
+2012-04-30 Jan Hubicka <jh@suse.cz>
+
+ * gcc-interface/utils.c (rest_of_subprog_body_compilation): Update
+ comment.
+ (gnat_write_global_declarations): Use finalize_compilation_unit.
+
+2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): In type annotation mode,
+ do not adjust the size of a tagged type if there is a representation
+ clause on it. Otherwise, round the adjustment up to the alignment
+ of the first field and use the appropriate helper routine.
+ (maybe_pad_type): Do not warn in type annotation mode on a tagged type.
+ (gnat_to_gnu_field): Do not error out under the same circumstances.
+ (annotate_rep): In type annotation mode, do not adjust the offset of
+ components of a tagged type with representation clause. Otherwise,
+ round the adjustment up to the alignment of the first field.
+
+2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (finish_record_type): Force the traditional GCC
+ layout for bitfields on the type if it is packed or has a representation
+ clause and an alternate layout is available.
+
+2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (mark_out_of_scope): Delete.
+ (destroy_gnat_to_gnu): Declare.
+ (destroy_dummy_type): Likewise.
+ * gcc-interface/decl.c (mark_out_of_scope): Delete.
+ * gcc-interface/utils.c (destroy_gnat_to_gnu): New function.
+ (destroy_dummy_type): Likewise.
+ * gcc-interface/trans.c (gnat_validate_uc_list): New variable.
+ (gigi): Call validate_unchecked_conversion on gnat_validate_uc_list
+ after the translation is completed. Call destroy_gnat_to_gnu and
+ destroy_dummy_type at the end.
+ (Subprogram_Body_to_gnu): Do not call mark_out_of_scope.
+ (gnat_to_gnu) <N_Block_Statement>: Likewise.
+ <N_Validate_Unchecked_Conversion>: Do not process the node, only push
+ it onto gnat_validate_uc_list.
+ (validate_unchecked_conversion): New function.
+
+2012-04-26 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+ Remove s-traceb and tracebak objects from gnat1 and gnatbind (not used).
+ Remove s-tasdeb and s-vaflop rules (not used).
+
+2012-04-26 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Default to
+ DOUBLE_TYPE_SIZE instead of LONG_DOUBLE_TYPE_SIZE.
+
+2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend.adb (Day_Of_Week): Keep the internal
+ usage of UTC_Time_Offset consistent with Time_Of and Split.
+
+2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Parameter_Specification): Do not freeze
+ the loop variable while preanalyzing a quantified expression.
+
+2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend.adb (Split, Time_Of): Rename parameter Is_Ada_05
+ to Use_TZ to better illustrate its function. Update all
+ references to the parameter.
+ (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
+ * a-calend.ads (Split, Time_Of): Rename parameter Is_Ada_05
+ to Use_TZ to better illustrate its function. Update the related
+ comment on usage.
+ * a-calend-vms.adb (Split, Time_Of): Rename parameter
+ Is_Ada_05 to Use_TZ to better illustrate its function. Update
+ all references to the parameter.
+ (To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
+ * a-calend-vms.ads (Split, Time_Of): Rename parameter Is_Ada_05
+ to Use_TZ to better illustrate its function. Update the related
+ comment on usage.
+ * a-calfor.adb (Split, Time_Of): Update the call to
+ Formatting_Operations.Time_Of.
+ * sysdep.c (__gnat_localtime_tzoff): Dereference pointer
+ "is_historic" and rewrite the check as a comparison. Add a
+ comment on flag values.
+
+2012-04-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch2.adb, sem_ch8.adb: Minor reformatting.
+
+2012-04-26 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * a-stzunb-shared.adb, gnat_ugn.texi, a-strunb-shared.adb,
+ a-strunb-shared.ads, uintp.adb, a-stwiun-shared.adb,
+ a-stwiun-shared.ads, a-cbhama.ads, vms_data.ads, a-cobove.adb,
+ a-convec.adb, sem_ch13.adb, a-cbhase.ads: Fix common misuses of the
+ word "then" where "than" should be used in English.
+
+2012-04-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb (Check_Unreachable_Code): Skip past pragmas.
+
+2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * s-finroo.ads: Remove with clause for
+ Ada.Streams. Type Root_Controlled is now abstract tagged null
+ record. Remove internal package Stream_Attributes. Root_Controlled
+ doesn't need stream attribute redeclaration and avoids the
+ dependency on streams.
+
+2012-04-26 Tristan Gingold <gingold@adacore.com>
+
+ * adaint.c (to_host_path_spec): Removed (unused).
+ Minor reformatting.
+
+2012-04-26 Steve Baird <baird@adacore.com>
+
+ * gnat_rm.texi Improve description of Valid_Scalars attribute.
+
+2012-04-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Can_Override_Operator): If the formal is a
+ generic type the operator cannot be overriding.
+
+2012-04-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Spec_Reloaded_For_Body): Check whether the type
+ is declared in a package specification, and current unit is the
+ corresponding package body. The use clauses themselves may be
+ within a nested package.
+
+2012-04-26 Bob Duff <duff@adacore.com>
+
+ * exp_ch2.adb (Param_Entity): Take into account the case where
+ the type of the entry parameter has a representation clause.
+
+2012-04-26 Ed Schonberg <schonberg@adacore.com>
+
+ * gnat_ugn.texi: Tweak dimensionality doc.
+
+2012-04-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb: Minor reformatting.
+
+2012-04-26 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb, einfo.ads, sem_res.adb, sem_ch4.adb,
+ sem_eval.adb: Minor reformatting.
+
+2012-04-26 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb: Minor change in error wording.
+
+2012-04-26 Ed Schonberg <schonberg@adacore.com>
+
+ * gnat_ugn.texi: Documentation on dimensional analysis.
+
+2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb, einfo.ads: Remove synthesized attribute
+ Proper_First_Index along with its associations in various nodes.
+ (Proper_First_Index): Removed.
+ * sem_ch4.adb (Analyze_Slice): Alphabetize constants. Add new
+ local variable Index_Type. The index type of a string literal
+ subtype is that of the stored low bound.
+ * sem_eval (Get_Static_Length): Remove the use of Proper_First_Index.
+ * sem_res.adb (Resolve_Slice): Alphabetize constants. Add
+ new local variable Index_Type. The index type of a
+ string literal subtype is that of the stored low bound.
+ (Set_String_Literal_Subtype): Code reformatting.
+
+2012-04-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_aggr.adb: Minor reformatting.
+
+2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Expand_Cleanup_Actions): Update the call to
+ Requires_Cleanup_Actions.
+ * exp_util.adb (Requires_Cleanup_Actions (List_Id; Boolean;
+ Boolean)): Rename formal parameter For_Package to Lib_Level to
+ better reflect its purpose. Update the related comment and all
+ occurrences of For_Package in the body.
+ (Requires_Cleanup_Actions
+ (Node_Id; Boolean)): Add new formal parameter Lib_Level. Add
+ local constant At_Lib_Level to keep monitor whether the path
+ taken from the top-most context to the current construct involves
+ package constructs. Update all calls to Requires_Cleanup_Actions.
+ * exp_util.ads (Requires_Cleanup_Actions): Add new formal
+ parameter Lib_Level and associated comment.
+
+2012-04-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Process_Formals): If the type of the formal is
+ a non null access type, mark the generated subtype as having a
+ delayed freeze only if the designated type is not frozen yet.
+
+2012-04-26 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: New package Clean with attributes
+ Object_Artifact_Extensions and Source_Artifact_Extensions.
+ * prj-nmsc.adb (Process_Clean): Process new package Clean
+ * prj.ads (Language_Config): New components
+ Clean_Object_Artifacts and Clean_Source_Artifacts.
+ * snames.ads-tmpl: New standard names Clean,
+ Object_Artifact_Extensions and Source_Artifact_Extensions.
+
+2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb (Proper_First_Index): Moved from Sem_Util.
+ * einfo.ads: Add new synthesized attribute Proper_First_Index
+ along with usage in nodes.
+ (Proper_First_Index): Moved from Sem_Util.
+ * sem_util.ads, sem_util.adb (Proper_First_Index): Moved to Einfo.
+
+2012-04-26 Gary Dismukes <dismukes@adacore.com>
+
+ * layout.adb (Layout_Component_List): Test for the case of a
+ single variant and the size of its component list was computed
+ as an integer literal, and use that size (which is in bits)
+ as is rather than converting to storage units.
+
+2012-04-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_aggr.adb: Minor reformatting.
+
+2012-04-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb: Minor reformatting.
+
+2012-04-26 Thomas Quinot <quinot@adacore.com>
+
+ * exp_aggr.adb, exp_pakd.adb (Setup_Inline_Packed_Array_Reference,
+ Packed_Array_Aggregate_Handled.Get_Component_Val):
+ Reverse bit numbering within PAT when Reverse_Storage_Order
+ applies to the enclosing record.
+
+2012-04-26 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Improve error message for
+ Scalar_Storage_Order inconsistent with Bit_Order.
+
+2012-04-25 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch9.adb: Add comments on the usage of the
+ lock-free data structures.
+
+2012-04-25 Vincent Pucci <pucci@adacore.com>
+
+ * exp_intr.adb (Expand_Shift): Convert the left
+ operand and the operator when the type of the call differs from
+ the type of the operator.
+
+2012-04-25 Geert Bosch <bosch@adacore.com>
+
+ * stand.ads: Minor comment fix.
+
+2012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch4.adb (Analyze_Slice): Handle the case where the prefix
+ is a string literal. Retrieve the first index from the base type
+ when slicing a string literal.
+ * sem_ch12.adb (Check_Private_View): Move the initialization
+ of the type inside the loop to reflect the changing index.
+ * sem_eval.adb (Eval_Relational_Op): Retrieve the first index
+ from the base type when dealing with a string literal.
+ * sem_res.adb (Resolve_Slice): Retrieve the first index from
+ the base type when slicing a string literal.
+ * sem_util.adb (Is_Internally_Generated_Renaming): New routine.
+ (Is_Object_Reference): String literals may act
+ as object references only when they are renamed internally.
+ (Proper_First_Index): New routine.
+ * sem_util.ads (Proper_First_Index): New routine.
+
+2012-04-25 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, csinfo.adb, lib-writ.adb, sem_ch12.adb,
+ lib-xref.adb: Minor reformatting.
+
+2012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb: Rename Lock_Free_Sub_Type
+ to Lock_Free_Subprogram. Remove type Subprogram_Id.
+ Rename LF_Sub_Table to Lock_Free_Subprogram_Table.
+ (Allow_Lock_Free_Implementation): Renamed to
+ Allows_Lock_Free_Implementation. Update the comment on
+ lock-free restrictions. Code clean up and restructuring.
+ (Build_Lock_Free_Protected_Subprogram_Body): Update the
+ profile and related comments. Code clean up and restructuring.
+ (Build_Lock_Free_Unprotected_Subprogram_Body): Update the
+ profile and related comments. Code clean up and restructuring.
+ (Comp_Of): Removed.
+
+2012-04-25 Vincent Celier <celier@adacore.com>
+
+ * sem_ch12.adb (Inherit_Context): Compare library units, not
+ names of units, when checking if a unit is already in the context.
+
+2012-04-25 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb: Reverse_Storage_Order must be propagated to
+ untagged derived record types.
+
+2012-04-25 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb: Adjust position of end label.
+
+2012-04-22 Jan Hubicka <jh@suse.cz>
+
+ * gcc-interface/utils.c (gnat_write_global_declarations): Do not mark
+ needed node.
+
+2012-04-20 Jan Hubicka <jh@suse.cz>
+
+ * gcc-interface/utils.c (gnat_write_global_declarations): Update for new
+ force_output placement.
+
+2012-04-14 Jan Hubicka <jh@suse.cz>
+
+ * gcc-interface/trans.c (finalize_nrv): Update field referenced for new
+ cgraph/varpool layout.
+
+2012-04-09 Mike Stump <mikestump@comcast.net>
+
+ * a-assert.ads: Remove execute permission.
+ * a-chacon.ads: Likewise.
+ * a-coteio.ads: Likewise.
+ * a-envvar.ads: Likewise.
+ * a-exetim-mingw.ads: Likewise.
+ * a-fzteio.ads: Likewise.
+ * a-izteio.ads: Likewise.
+ * a-lcteio.ads: Likewise.
+ * a-llctio.ads: Likewise.
+ * a-scteio.ads: Likewise.
+ * a-suenco.ads: Likewise.
+ * a-suenst.ads: Likewise.
+ * a-suewst.ads: Likewise.
+ * a-suezst.ads: Likewise.
+ * a-tirsfi.ads: Likewise.
+ * a-wichha.ads: Likewise.
+ * a-zchara.ads: Likewise.
+ * a-zchhan.ads: Likewise.
+ * a-zchuni.ads: Likewise.
+ * a-zrstfi.ads: Likewise.
+ * aspects.ads: Likewise.
+ * g-byorma.ads: Likewise.
+ * g-decstr.ads: Likewise.
+ * g-encstr.ads: Likewise.
+ * g-spchge.ads: Likewise.
+ * g-u3spch.ads: Likewise.
+ * g-wispch.ads: Likewise.
+ * g-zspche.ads: Likewise.
+ * namet-sp.ads: Likewise.
+ * s-os_lib.ads: Likewise.
+ * s-regexp.ads: Likewise.
+ * s-regpat.ads: Likewise.
+ * s-string.ads: Likewise.
+ * s-tasloc.ads: Likewise.
+ * s-utf_32.ads: Likewise.
+ * sem_aux.ads: Likewise.
+ * a-assert.adb: Likewise.
+ * a-chacon.adb: Likewise.
+ * a-envvar.adb: Likewise.
+ * a-exetim-mingw.adb: Likewise.
+ * a-suenco.adb: Likewise.
+ * a-suenst.adb: Likewise.
+ * a-suewst.adb: Likewise.
+ * a-suezst.adb: Likewise.
+ * a-tirsfi.adb: Likewise.
+ * a-wichha.adb: Likewise.
+ * a-zchhan.adb: Likewise.
+ * a-zchuni.adb: Likewise.
+ * a-zrstfi.adb: Likewise.
+ * aspects.adb: Likewise.
+ * g-byorma.adb: Likewise.
+ * g-decstr.adb: Likewise.
+ * g-encstr.adb: Likewise.
+ * g-spchge.adb: Likewise.
+ * g-u3spch.adb: Likewise.
+ * g-wispch.adb: Likewise.
+ * g-zspche.adb: Likewise.
+ * namet-sp.adb: Likewise.
+ * s-except.adb: Likewise.
+ * s-inmaop-vxworks.adb: Likewise.
+ * s-os_lib.adb: Likewise.
+ * s-regexp.adb: Likewise.
+ * s-regpat.adb: Likewise.
+ * s-string.adb: Likewise.
+ * s-tasloc.adb: Likewise.
+ * s-utf_32.adb: Likewise.
+ * s-wchcon.adb: Likewise.
+ * sem_aux.adb: Likewise.
+
+2012-04-02 Robert Dewar <dewar@adacore.com>
+
+ * s-atopri.ads: Minor reformatting.
+
+2012-04-02 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.adb: Minor reformatting, minor code cleanup.
+
+2012-04-02 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb (Generate_Reference): For a reference to an
+ operator symbol, set the sloc to point to the first character
+ of the operator name, and not to the initial quaote.
+ (Output_References): Ditto for the definition of an operator
+ symbol.
+
+2012-04-02 Vincent Celier <celier@adacore.com>
+
+ * ali.adb (Scan_Ali): Recognize Z lines. Set
+ Implicit_With_From_Instantiation to True in the With_Record for
+ Z lines.
+ * ali.ads (With_Record): New Boolean component
+ Implicit_With_From_Instantiation, defaulted to False.
+ * csinfo.adb: Indicate that Implicit_With_From_Instantiation
+ is special
+ * lib-writ.adb (Write_ALI): New array Implicit_With.
+ (Collect_Withs): Set Implicit_With for the unit is it is not Yes.
+ (Write_With_Lines): Write a Z line instead of a W line if
+ Implicit_With is Yes for the unit.
+ * sem_ch12.adb (Inherit_Context): Only add a unit in the context
+ if it is not there yet.
+ * sinfo.ads: New flag Implicit_With_From_Instantiation (Flag12)
+ added.
+
+2012-04-02 Yannick Moy <moy@adacore.com>
+
+ * osint.adb, osint.ads (Add_Default_Search_Dirs): Add library
+ search dirs in file specified with option -gnateO.
+
+2012-04-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb: Minor
+ reformatting.
+
+2012-04-02 Olivier Hainque <hainque@adacore.com>
+
+ * g-sse.ads: Add x86-solaris and x86_64-darwin to the set of
+ platforms where the use of this spec is supported. Add current
+ year to the copyright notice.
+ * gcc-interfaces/Makefile.in: Add g-sse.o and g-ssvety.o to
+ EXTRA_GNATRTL_NONTASKING_OBJS on x86 32/64 targets that support
+ it and where they were missing (x86-solaris, x86-freebsd,
+ x86_64-freebsd, and x86-darwin).
+
+2012-04-02 Gary Dismukes <dismukes@adacore.com>
+
+ * bindgen.adb (Gen_Ada_Init): When compiling for the AAMP small
+ library, where we no longer suppress the Standard_Library,
+ generate an empty body rather than the usual generation of
+ assignments to imported globals, since those aren't present in
+ the small library.
+
+2012-04-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sinfo.ads: Minor documentation fix.
+
+2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_res.adb (Resolve_Conditional_Expression): Add local variables
+ Else_Typ and Then_Typ. Add missing type conversions to the "then" and
+ "else" expressions when their respective types are scalar.
+
+2012-04-02 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch9.adb: Reordering of the local subprograms. New Table
+ for the lock free implementation that maps each protected
+ subprograms with the protected component it references.
+ (Allow_Lock_Free_Implementation): New routine. Check if
+ the protected body enables the lock free implementation.
+ (Build_Lock_Free_Protected_Subprogram_Body): New routine.
+ (Build_Lock_Free_Unprotected_Subprogram_Body): New routine.
+ (Comp_Of): New routine.
+ * Makefile.rtl: Add s-atopri.o
+ * debug.adb: New compiler debug flag -gnatd9 for lock free
+ implementation.
+ * rtsfind.ads: RE_Atomic_Compare_Exchange_8,
+ RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
+ RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
+ RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, RE_Uint8,
+ RE_Uint16, RE_Uint32, RE_Uint64 added.
+ * s-atropi.ads: New file. Defines atomic primitives used
+ by the lock free implementation.
+
+2012-04-02 Emmanuel Briot <briot@adacore.com>
+
+ * g-expect.adb (Expect_Internal): Fix leak of the input file descriptor.
+
+2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Quantified_Expression): Reimplemented.
+ The expansion no longer uses the copy of the original QE created
+ during analysis.
+ * sem.adb (Analyze): Add processing for loop parameter specifications.
+ * sem_ch4.adb (Analyze_Quantified_Expression): Reimplemented. The
+ routine no longer creates a copy of the original QE. All
+ constituents of a QE are now preanalyzed and resolved.
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Remove the guard which
+ bypasses all processing when the iteration scheme is related to a
+ QE. Relovate the code which analyzes loop parameter specifications
+ to a separate routine. (Analyze_Iterator_Specification):
+ Preanalyze the iterator name. This action was originally
+ done in Analyze_Iteration_Scheme. Update the check which
+ detects an iterator specification in the context of a QE.
+ (Analyze_Loop_Parameter_Specification): New routine. This
+ procedure allows for a stand-alone analysis of a loop parameter
+ specification without the need of a parent iteration scheme. Add
+ code to update the type of the loop variable when the range
+ generates an itype and the context is a QE.
+ (Pre_Analyze_Range): Renamed to Preanalyze_Range. Update all references
+ to the routine.
+ * sem_ch5.ads: Code reformatting.
+ (Analyze_Loop_Parameter_Specification): New routine.
+ * sem_ch6.adb (Fully_Conformant_Expressions): Detect a case
+ when establishing conformance between two QEs utilizing different
+ specifications.
+ * sem_res.adb (Proper_Current_Scope): New routine.
+ (Resolve): Do not resolve a QE as there is nothing to be done now.
+ Ignore any loop scopes generated for QEs when detecting an expression
+ function as the scopes are cosmetic and do not appear in the tree.
+ (Resolve_Quantified_Expression): Removed. All resolution of
+ QE constituents is now performed during analysis. This ensures
+ that loop variables appearing in array aggregates are properly
+ resolved.
+
+2012-04-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Build_Default_Subtype): If the base type is
+ private and its full view is available, use the full view in
+ the subtype declaration.
+
+2012-04-02 Jose Ruiz <ruiz@adacore.com>
+
+ * gnat_ugn.texi: Add some minimal documentation about how to
+ use GNATtest for cross platforms.
+
+2012-04-02 Vincent Celier <celier@adacore.com>
+
+ * opt.ads (Object_Path_File_Name): New variable.
+ * prj-attr.adb: New Compiler attribute Object_Path_Switches.
+ * prj-nmsc.adb (Process_Compiler): Recognize new attribute
+ Object_Path_Switches.
+ * snames.ads-tmpl: New standard name Object_Path_Switches.
+ * switch-c.adb (Scan_Front_End_Switches): Recognize new switch
+ -gnateO= and put its value in Opt.Object_Path_File_Name.
+
+2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Process_Declarations): Detect a case where
+ a source object was initialized by another source object,
+ but the expression was rewritten as a class-wide conversion
+ of Ada.Tags.Displace.
+ * exp_util.adb (Initialized_By_Ctrl_Function): Removed.
+ (Is_Controlled_Function_Call): New routine.
+ (Is_Displacement_Of_Ctrl_Function_Result): Removed.
+ (Is_Displacement_Of_Object_Or_Function_Result): New routine.
+ (Is_Source_Object): New routine.
+ (Requires_Cleanup_Actions): Detect a case where a source object was
+ initialized by another source object, but the expression was rewritten
+ as a class-wide conversion of Ada.Tags.Displace.
+ * exp_util.ads (Is_Displacement_Of_Ctrl_Function_Result): Removed.
+ (Is_Displacement_Of_Object_Or_Function_Result): New routine.
+
+2012-04-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Call): A call to an expression function
+ does not freeze if it appears in a different scope from the
+ expression function itself. Such calls appear in the generated
+ bodies of other expression functions, or in pre/postconditions
+ of subsequent subprograms.
+
+2012-04-02 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb: Code clean up.
+
+2012-04-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Subprogram_Instantiation): Do not suppress
+ style checks, because the subprogram instance itself may contain
+ violations of syle rules.
+ * style.adb (Missing_Overriding): Check for missing overriding
+ indicator on a subprogram instance.
+
+2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch6.adb (Last_Implicit_Declaration): New routine.
+ (Process_PPCs): Insert the body of _postconditions after the
+ last internally generated declaration. This ensures that actual
+ subtypes created for formal parameters are visible and properly
+ frozen as _postconditions may reference them.
+
+2012-04-02 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb (First_Component_Or_Discriminant) Now applies to
+ all types with discriminants, not just records.
+ * exp_attr.adb (Expand_N_Attribute): Add Scalar_Values handling
+ for arrays, scalars and non-variant records.
+ * sem_attr.adb (Analyze_Attribute): Handle Valid_Scalars
+ * sem_attr.ads (Valid_Scalars): Update description
+ * sem_util.ads, sem_util.adb (No_Scalar_Parts): New function.
+
+2012-03-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ Revert
+ 2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (SS_MARK_NAME): New define.
+ (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
+ whose name is SS_MARK_NAME.
+
+2012-03-30 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, sem_util.adb, exp_ch4.adb: Minor comment updates.
+
+2012-03-30 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb (Add_Alfa_File): Treat possibly 2 units at the same
+ time, putting all scopes in the same Alfa file.
+ (Add_Alfa_Xrefs): Correct errors in comparison function. Correct value
+ of Def component.
+ (Collect_Alfa): Possibly pass 2 units to Add_Alfa_File.
+
+2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Handle a case where
+ a build-in-place call appears as Prefix'Reference'Reference.
+
+2012-03-30 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb: Minor refactoring to remove internal package.
+
+2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Preanalyze the subtype
+ definition of a loop when the context is a quantified expression.
+
+2012-03-30 Vincent Celier <celier@adacore.com>
+
+ * prj.ads: Minor comment update.
+
+2012-03-30 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb, alloc.ads, lib-xref.ads: Minor addition of
+ comments and refactoring.
+
+2012-03-30 Robert Dewar <dewar@adacore.com>
+
+ * lib-xref.adb, lib-xref-alfa.adb: Minor reformatting & code
+ reorganization.
+
+2012-03-30 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb (Generate_Dereference): Use Get_Code_Unit
+ instead of Get_Source_Unit to get file for reference.
+ (Traverse_Compilation_Unit): Do not add scopes for generic units.
+ * lib-xref.adb (Generate_Reference): Use Get_Code_Unit instead
+ of Get_Source_Unit to get file for reference.
+ * sem_ch12.adb (Analyze_Package_Instantiation): Enable
+ instantiation in Alfa mode.
+
+2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Process_Declarations): Replace
+ the call to Is_Null_Access_BIP_Func_Call with
+ Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
+ * exp_util.adb (Is_Null_Access_BIP_Func_Call): Removed.
+ (Is_Secondary_Stack_BIP_Func_Call): New routine.
+ (Requires_Cleanup_Actions): Replace
+ the call to Is_Null_Access_BIP_Func_Call with
+ Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
+ * exp_util.ads (Is_Null_Access_BIP_Func_Call): Removed.
+ (Is_Secondary_Stack_BIP_Func_Call): New routine.
+
+2012-03-30 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb, lib-xref.adb: Code clean ups.
+
+2012-03-30 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): For the case of a
+ loop entity which is rewritten as a renaming
+ of the indexed array, explicitly mark the entity as needing
+ debug info so that Materialize entity will be set later by
+ Debug_Renaming_Declaration when the renaming is expanded.
+
+2012-03-30 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.ads: Update comment.
+
+2012-03-30 Vincent Celier <celier@adacore.com>
+
+ * prj.ads: New Dependency_Kind: ALI_Closure.
+
+2012-03-30 Thomas Quinot <quinot@adacore.com>
+
+ * exp_pakd.adb: Minor reformatting.
+
+2012-03-30 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb (Add_Alfa_File): Take into account possible absence
+ of compilation unit for unit in Sdep_Table.
+
+2012-03-30 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): For a type with reversed bit
+ order and reversed storage order, disable front-end relayout.
+
+2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Copy
+ the TYPE_PACKED flag from the base type.
+
+2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (SS_MARK_NAME): New define.
+ (gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
+ whose name is SS_MARK_NAME.
+
+2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (add_parallel_type): Take a TYPE instead of a
+ DECL and adjust. Move around.
+ (has_parallel_type): New predicate.
+ (rest_of_record_type_compilation): Return early if the type already
+ has a parallel type.
+ * gcc-interface/gigi.h (add_parallel_type): Adjust.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
+
+2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (finish_record_type): Return early for padded
+ types and tidy up.
+
+2012-03-20 Arnaud Charlet <charlet@adacore.com>
+
+ * hlo.ads, hlo.adb: Removed, no longer used.
+ * gcc-interface/Make-lang.in: Remove hlo.o. Update dependencies.
+ * gcc-interface/Makefile.in: Remove EXTRA_LIBGNAT_SRCS (temporarly)
+ and compute it from EXTRA_LIBGNAT_OBJS.
+ Clean up comments, reorder LIBGNAT_SRCS and LIBGNAT_OBJS.
+
+2012-03-20 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi, sem_attr.ads: Update documentation.
+
+2012-03-19 Yannick Moy <moy@adacore.com>
+
+ * sem_ch6.adb: Minor code clean up.
+
+2012-03-19 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Scan_Make_Arg): Make sure all significant -m switches
+ on the command line are counted.
+
+2012-03-19 Robert Dewar <dewar@adacore.com>
+
+ * sem_elab.adb (Generate_Elab_Warnings): Fix spec, fix attribute
+ reference case
+
+2012-03-19 Robert Dewar <dewar@adacore.com>
+
+ * par-ch4.adb (Check_Bad_Exp): New procedure
+
+2012-03-19 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb, sem_attr.adb, sem_attr.ads, snames.ads-tmpl: Add
+ initial framework for Valid_Scalars attribute.
+
+2012-03-19 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb (Scan): Recognize incorrect preprocessor directive
+
+2012-03-19 Robert Dewar <dewar@adacore.com>
+
+ * atree.adb (Allocate_Initialize_Node): Use Num_Extension_Nodes
+ * atree.ads (Num_Extension_Nodes): New variable
+ * debug.adb: New debug flag -gnatd.N
+ * gnat1drv.adb (Adjust_Global_Switches): Adjust
+ Num_Extension_Nodes if -gnatd.N set
+
+2012-03-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads: Minor update to First_Rep_Item and Has_Gigi_Rep_Item
+ descriptions.
+
+2012-03-19 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads: Remove HLO_Active flag.
+ * sem.adb: Remove call of high level optimizer.
+ * sem.ads (New_Nodes_OK): Removed.
+ * sem_ch10.adb: Remove references to New_Nodes_OK.
+ * switch-c.adb: Remove handling of -gnatH switch.
+
+2012-03-19 Yannick Moy <moy@adacore.com>
+
+ * sem_ch6.adb (Check_Subprogram_Contract): Do not emit warnings
+ on trivially True or False postconditions and Ensures components
+ of contract-cases.
+
+2012-03-19 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Fix index entry for -gnatei (now we have
+ ug_words entry).
+
+2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch3.adb (Get_Discriminant_Value): Instead of looking
+ at the immediate correcponsing discriminant, traverse a
+ potential chain of discriminants produced by type derivations.
+ (Root_Corresponding_Discriminant): Traverse a chain of inherited
+ discriminants and return the topmost discriminant.
+
+2012-03-19 Bob Duff <duff@adacore.com>
+
+ * debug.adb: Minor comment change.
+ * gnat_ugn.texi: Update documentation for elaboration regarding
+ indirect calls.
+
+2012-03-19 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): In
+ the case of an object of a class-wide interface type, where the
+ declaration is rewritten as a renaming, call Set_Debug_Info_Needed
+ on the renaming entity so that Materialize_Entity will be
+ set. Also, change existing call (for other than interface cases)
+ to call Set_Debug_Info_Needed rather than Set_Needs_Debug_Info
+ (as specified for that flag).
+
+2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch4.adb (Analyze_Allocator): Detect an allocator generated
+ by the build-in-place machinery where the designated type is
+ indefinite, but the underlying type is not. Do not emit errors
+ related to missing initialization in this case.
+
+2012-03-19 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add documentation for -gnateinnn switch.
+ * sem_elab.adb, put_alfa.adb, lib-xref-alfa.adb: Minor reformatting.
+ * sem_prag.adb: Minor comment update.
+
+2012-03-15 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads: Add entry for translating -gnateinn to
+ /MAX_INSTANTIATIONS for VMS.
+ * hostparm.ads (Max_Instantiations): Moved to Opt.
+ * opt.ads (Maximum_Instantiations): Moved from Hostparm, and renamed.
+ * sem_ch12.adb (Maximum_Instantiations): New name of
+ Max_Instantiations (Analyze_Package_Instantiation): Change error
+ msg for too many instantiations (mention -gnateinn switch).
+ * switch-c.adb (Scan_Front_End_Switches): Implement -gnateinn switch.
+ * switch.ads: Minor comment update.
+ * usage.adb (Usage): Output line for -maxeinn switch.
+ * vms_data.ads: Add entry for MAX_INSTANTIATIONS (-gnateinn).
+
+2012-03-15 Yannick Moy <moy@adacore.com>
+
+ * alfa.ads Update the decription of ALI sections.
+ (Alfa_File_Record): Add a component Unit_File_Name to store the
+ unit file name for subunits.
+ * get_alfa.adb, put_alfa.adb Adapt to the possible presence of
+ a unit file name.
+ * lib-xref-alfa.adb (Add_Alfa_File): For subunits, retrieve the
+ file name of the unit.
+
+2012-03-15 Yannick Moy <moy@adacore.com>
+
+ * sem_ch6.adb (Check_Subprogram_Contract): Do
+ not issue warning on missing 'Result in postcondition if all
+ postconditions and contract-cases already get a warning for only
+ referring to pre-state.
+
+2012-03-15 Bob Duff <duff@adacore.com>
+
+ * debug.adb: Add new debug switch -gnatd.U, which disables the
+ support added below, in case someone trips over a cycle, and needs
+ to disable this.
+ * sem_attr.adb (Analyze_Access_Attribute):
+ Treat Subp'Access as a call for elaboration purposes.
+ * sem_elab.ads, sem_elab.adb (Check_Elab_Call): Add support
+ for Subp'Access.
+
+2012-03-15 Vincent Pucci <pucci@adacore.com>
+
+ * sem.ads, sem.adb (Preanalyze): New routine.
+ * sem_ch4.adb (Analyze_Quantified_Expression): Call to the
+ Preanalyze routine in Sem added. Renaming of Needs_Expansion
+ into Need_Preanalysis.
+ * sem_ch6.adb (Preanalyze): Removed.
+
+2012-03-15 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch4.adb (Analyze_Quantified_Expression): Add comment.
+ * sem_prag.adb: Minor comment additions.
+ * sem_attr.adb (Check_First_Last_Valid): Make sure prefix type
+ is frozen.
+
+2012-03-15 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch4.adb (Analyze_Quantified_Expression):
+ Preanalyze the condition when the quantified expression will be
+ further expanded.
+
+2012-03-15 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, sem_ch6.adb,
+ sem_warn.adb: Minor refactoring, renaming Case_Pragma in CTC_Pragma,
+ to refer to both Test_Case pragma and Contract_Case pragma (same
+ acronym as in Spec_CTC_List).
+
+2012-03-15 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, sem_prag.ads, sem_util.ads, sem_attr.adb, sem_ch6.adb,
+ sem_warn.adb: Minor reformatting.
+
+2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Initialized_By_Ctrl_Function): Do not loop over
+ selector names as the function call always appears at the top selected
+ component.
+
+2012-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Validate_Access_Subprogram_Instance): keep
+ Mode_Conformance check for older versions of the language.
+
+2012-03-15 Yannick Moy <moy@adacore.com>
+
+ * gnat_ugn.texi Document the extension of option -gnatw.t.
+ * sem_ch3.adb (Analyze_Declaration): Check for suspicious
+ contracts only after contract cases have been semantically
+ analyzed.
+ * sem_ch6.adb (Check_Subprogram_Contract): Consider also Ensures
+ components of contract cases for detecting suspicious contracts.
+
+2012-03-15 Yannick Moy <moy@adacore.com>
+
+ * aspects.adb, aspects.ads (Aspect_Id): New GNAT aspect
+ Aspect_Contract_Case.
+ * gnat_rm.texi Document the new pragma/aspect
+ Contract_Case. Correct the documentation of the existing
+ pragma/aspect Test_Case with the new semantics.
+ * sem_attr.adb (Analyze_Attribute): Allow use of 'Result in the
+ Ensures component of a Contract_Case pragma.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Check new aspect
+ and translate it into a pragma.
+ (Check_Aspect_At_Freeze_Point): Take into account the new aspect.
+ * sem_ch3.adb, sinfo.adb, sinfo.ads Renaming of TC (for test case)
+ into CTC (for contract and test case).
+ * sem_ch6.adb (Process_PPCs): Generate Check pragmas from
+ Contract_Case pragmas, similarly to what is done already for
+ postconditions.
+ * sem_prag.adb, sem_prag.ads (Check_Contract_Or_Test_Case):
+ Renaming of Check_Test_Case.
+ (Analyze_Pragma, Sig_Flags): Take into account the new pragma.
+ * sem_util.adb, sem_util.ads Renaming to take into account the
+ new pragma, so that functions which applied only to Test_Case
+ now apply to both Test_Case and Contract_Case.
+ * par-prag.adb, sem_warn.adb, snames.ads-tmpl Take into account
+ the new pragma.
+
+2012-03-15 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.ads: Minor comment updates.
+ * sem_ch12.adb: Minor comment clarification.
+
+2012-03-15 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb: Minor reformatting.
+
+2012-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): When rewriting the
+ declaration of a class-wide object, retain the Ekind to prevent
+ subsequent misuse of constants.
+
+2012-03-15 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Minor correction of invariant
+ terminology.
+
+2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Initialized_By_Ctrl_Function): Add code to
+ process the case when a function call appears in object.operation
+ format.
+
+2012-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.ads, sem_ch6.adb (Check_Subtype_Conformant): add
+ Get_Inst formal, so that conformance within an instantiation
+ follows renamings of formals. This is similar to what is already
+ done in Check_Mode_conformant.
+ * sem_ch12.adb (Vailidate_Access_Subprogram_Instance): check that
+ formal and actual are subtype conformant. Previously only mode
+ conformance was required.
+
+2012-03-15 Robert Dewar <dewar@adacore.com>
+
+ * par-ch6.adb, einfo.ads, sem_eval.adb, sem_eval.ads,
+ sem_case.adb: Minor reformatting.
+
+2012-03-15 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Add handling
+ of First_Valid/Last_Valid.
+ * sem_attr.adb (Check_First_Last_Valid): New procedure
+ (Analyze_Attribute): Add handling of First_Valid and Last_Valid
+ (Eval_Attribute): ditto.
+ * snames.ads-tmpl: Add entries for First_Valid and Last_Valid.
+
+2012-03-15 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Predicated_Loop): Suppress warnings on
+ loop variable, for the unusual case where the range has a single
+ element and the loop variable has no visible assignment to it.
+
+2012-03-15 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Quantified_Expression): Expand the
+ original quantified expression node.
+ * sem_ch4.adb (Analyze_Quantified_Expression): Properly analyze
+ the quantified expression and preserve the original non-analyzed
+ quantified expression when an expansion is needed.
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Special treatment
+ for quantified expressions.
+ (Analyze_Iterator_Specification): Special treatment for quantified
+ expressions.
+
+2012-03-15 Ed Falis <falis@adacore.com>
+
+ * s-vxwork-ppc.ads: Update FP_CONTEXT so name of former pad
+ field matches VxWorks headers.
+
+2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc-interface/Makefile.in (mips-sgi-irix6*): Remove.
+
+ * a-intnam-irix.ads, mlib-tgt-specific-irix.adb,
+ s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb,
+ s-osinte-irix.ads, s-proinf-irix-athread.adb,
+ s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads,
+ system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads:
+ Remove.
+
+ * adaint.c [__mips && __sgi]: Remove.
+ (__gnat_number_of_cpus) [__mips && __sgi]: Remove.
+ [IS_CROSS && !(__mips && __sgi)]: Remove.
+ * adaint.h [sgi && _LFAPI]: Remove.
+ * cstreams.c (__gnat_full_name) [sgi]: Remove.
+ * env.c (__gnat_unsetenv) [__mips && __sgi]: Remove.
+ (__gnat_clearenv) [__mips && __sgi]: Remove.
+ * errno.c (_SGI_MP_SOURCE): Remove.
+ * gsocket.h [sgi]: Remove.
+ * init.c: Remove IRIX reference.
+ [sgi]: Remove.
+ * link.c [sgi]: Remove.
+ * s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define.
+ (main) [__mips && __sgi] (MAX_tv_sec): Don't define.
+ (CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove.
+ * sysdep.c [sgi]: Remove.
+ (getc_immediate_common) [sgi]: Remove.
+ (__gnat_localtime_tzoff) [sgi]: Remove.
+ * terminals.c [__mips && __sgi] (IRIX): Don't define.
+ [IRIX] (USE_GETPTY): Don't define.
+ (allocate_pty_desc) [USE_GETPTY]: Remove.
+
+ * g-traceb.ads: Remove IRIX reference.
+ * g-trasym.ads: Likewise.
+ * memtrack.adb: Likewise.
+ * s-interr-sigaction.adb: Likewise.
+
+ * gnat_rm.texi (Implementation Advice): Remove SGI info.
+ (Implementation Defined Characteristics): Likewise.
+ * gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix):
+ Remove.
+ (Irix-Specific Considerations): Remove.
+
+2012-03-13 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/gigi.h (flag_vms_malloc64): Refine condition.
+
+2012-03-13 Tristan Gingold <gingold@adacore.com>
+
+ * sysdep.c: Adjust condition after removal of __osf__.
+
+2012-03-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (shift_unc_components_for_thin_pointers): Kill.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove call
+ to above function.
+ * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Adjust
+ handling of thin pointers.
+ <Attr_Descriptor_Size>: Likewise.
+ (gnat_to_gnu) <N_Free_Statement>: Likewise.
+ * gcc-interface/utils.c (shift_unc_components_for_thin_pointers): Kill.
+ (convert_to_fat_pointer): Adjust handling of thin pointers.
+ (convert) <POINTER_TYPE>: Likewise.
+ * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
+
+2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc-interface/Makefile.in (alpha*-dec-osf*): Remove.
+ * a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb,
+ s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads,
+ s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads,
+ system-tru64.ads: Remove.
+
+ * adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
+ Remove.
+ [IS_CROSS] [!(__alpha__ && __osf__)]: Remove.
+ * env.c [__alpha__ && __osf__]: Remove.
+ * gsocket.h (_OSF_SOURCE): Remove.
+ (HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove.
+ * init.c [__alpha__ && __osf__]: Remove.
+ * link.c [__osf__]: Remove.
+ * s-oscons-tmplt.c [__alpha__ && __osf__]: Remove.
+ [__osf__ && !_SS_MAXSIZE]: Remove.
+ * sysdep.c [__osf__]: Remove.
+ * terminals.c [__alpha__ && __osf__]: Remove.
+ [OSF1]: Remove.
+
+ * g-traceb.ads: Remove Tru64 reference.
+ * g-trasym.ads: Likewise.
+ * gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise.
+ (Summary of Run-Time Configurations): Likewise.
+ * memtrack.adb: Likewise.
+
+2012-03-12 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_param): Use flag_vms_malloc64
+ instead of TARGET_MALLOC64.
+ * gcc-interface/gigi.h (flag_vms_malloc64): Define instead
+ of TARGET_MALLOC64.
+
+2012-03-09 Robert Dewar <dewar@adacore.com>
+
+ * a-direct.adb, comperr.adb, freeze.adb: Minor reformatting.
+
+2012-03-09 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taskin.adb (Initialize_ATCB): Set Task_Image_Len to
+ 0 so that we never access this field uninitialized (e.g. in
+ Task_Primitives.Operations.Enter_Task for the environment task).
+
+2012-03-09 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop):
+ Call to Expand_Iterator_Loop_Over_Array added.
+ (Expand_Iterator_Loop_Over_Array): New routine. Expansion of
+ "of" iterator loop over arrays. Multidimensional array case added.
+
+2012-03-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * uintp.ads: Fix minor pasto in comment.
+
+2012-03-09 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * a-direct.adb: Do not strip the trailing directory separator
+ from path, as this is already done inside Normalize_Pathname;
+ doing it again produces the wrong result on Windows for the
+ drive's root dir (i.e. "X:\" becomes "X:").
+
+2012-03-09 Thomas Quinot <quinot@adacore.com>
+
+ * exp_attr.adb, freeze.adb, sem_attr.adb, aspects.adb, aspects.ads,
+ sem_ch13.adb, snames.ads-tmpl (Exp_Attr.Expand_N_Attribute_Reference):
+ Add Attribute_Scalar_Storage_Order.
+ (Sem_Attr.Analyze_Attribute, Eval_Attribute): Ditto.
+ (Aspects): Add Aspect_Scalar_Storage_Order (Snames): Add
+ Name_Scalar_Storage_Order and Attribute_Scalar_Storage_Order.
+ (Sem_Ch13.Analyze_Attribute_Definition_Clause): Add processing
+ for Scalar_Storage_Order.
+ (Freeze): If Scalar_Storage_Order is specified, check that it
+ is compatible with Bit_Order.
+
+2012-03-09 Robert Dewar <dewar@adacore.com>
+
+ * s-osinte-linux.ads, sem_util.adb, s-taprop-linux.adb, exp_ch4.adb,
+ a-strsup.ads, sem_ch6.adb, a-stwisu.ads, exp_ch3.adb,
+ a-stzsup.ads: Minor reformatting.
+
+2012-03-09 Thomas Quinot <quinot@adacore.com>
+
+ * s-ransee-vms.adb: Minor reformatting.
+
+2012-03-09 Arnaud Charlet <charlet@adacore.com>
+
+ * comperr.adb (Delete_SCIL_Files): Fix handling of
+ N_Package_Renaming_Declaration and N_Generic_Package_Declaration.
+
+2012-03-09 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch6.adb (Check_Body_To_Inline): In AAMP and VM targets
+ use frontend inlining at all optimization levels.
+ * sem_util.adb (Must_Inline): In AAMP and VM targets, given that
+ there is no inlining support in the backend, use also frontend
+ inlining when compiling with optimizations enabled.
+ * exp_ch6.adb (Expand_Call): Minor code reorganization.
+
+2012-03-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (TYPE_VAX_FLOATING_POINT_P): Move around.
+ (TYPE_UNCONSTRAINED_ARRAY): Adjust comment.
+ * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Tidy
+ up. Add comment and use canonical predicate for thin pointers.
+ (gnat_to_gnu) <N_Free_Statement>: Tidy up and reorder. Add comment
+ and use canonical predicate for thin pointers.
+ * gcc-interface/utils.c (convert_to_fat_pointer): Remove superfluous
+ 'else' and use standard name.
+ (convert_to_thin_pointer): Delete.
+ (convert) <POINTER_TYPE>: Do the difference in sizetype directly and
+ change obsolete idioms. Do not call above function.
+ (unchecked_convert): Fix formatting.
+ * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: In the thin
+ pointer case, use byte_position to get the field position.
+
+2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set flags on the
+ DECL node built for a type which has a non-trivial equivalent type.
+
+2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (rest_of_type_decl_compilation): Delete.
+ * gcc-interface/decl.c (defer_finalize_level): Likewise.
+ (defer_finalize_list): Likewise.
+ (gnat_to_gnu_entity): Delete references to above variables and do not
+ call rest_of_type_decl_compilation.
+ (rest_of_type_decl_compilation): Delete.
+ (rest_of_type_decl_compilation_no_defer): Likewise.
+ * gcc-interface/utils.c (rest_of_record_type_compilation): Do not call
+ rest_of_type_decl_compilation.
+ (create_type_decl): Likewise.
+ (update_pointer_to): Likewise.
+
+2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Identifier_to_gnu): Don't unshare initializer.
+ (add_decl_expr): Mark external DECLs as used.
+ * gcc-interface/utils.c (convert) <CONSTRUCTOR>: Copy the vector.
+
+2012-03-07 Tristan Gingold <gingold@adacore.com>
+
+ * s-ransee-vms.adb: New file.
+ * gcc-interface/Makefile.in: Use s-ransee-vms.adb on VMS.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2012-03-07 Bob Duff <duff@adacore.com>
+
+ * rtsfind.ads: Add support for finding Super_String types.
+ * sem_util.ads, sem_util.adb (Is_Bounded_String): New function
+ to determine whether a given type is a bounded string type.
+ (Is_Fully_Initialized_Type): Return True for bounded
+ string types, to suppress bogus warnings.
+ * exp_ch4.adb (Expand_Composite_Equality): Special case for bounded
+ strings: equality composes. This allows us to remove default values in
+ super strings.
+ * a-strsup.ads, a-stwisu.ads, a-stzsup.ads: Update comments.
+ * exp_ch3.adb (Expand_Freeze_Record_Type): Comment.
+
+2012-03-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb: Minor
+ reformatting.
+
+2012-03-07 Sergey Rybin <rybin@adacore.com frybin>
+
+ * gnat_ugn.texi: gnatpp: fix paragraph about sources with
+ preprocessor directives.
+
+2012-03-07 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-linux.ads, s-taprop-linux.adb (prctl): New function.
+ (Enter_Task): Call prctl when relevant.
+
+2012-03-07 Tristan Gingold <gingold@adacore.com>
+
+ * s-osinte-vms.ads: pthread_mutex_setname_np: new function.
+
+2012-03-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Process_Formals): a generic subprogram with
+ a formal incomplete type does not require a freeze node.
+
+2012-03-07 Bob Duff <duff@adacore.com>
+
+ * sem_util.ads: Minor reformatting.
+
+2012-03-07 Geert Bosch <bosch@adacore.com>
+
+ * targparm.ads: New target parameter Atomic_Sync_Default,
+ defaulting to True.
+ * targparm.adb (Get_Target_Parameters): Add processing for
+ Atomic_Sync_Default.
+ * gnat1drv.adb (Adjust_Global_Switches): Adjust Supress_Options
+ based on ASD.
+
+2012-03-07 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): If the object
+ declaration has an init expression then stop the analysis of the
+ object declaration if the expression which initializes the object
+ is a call to an inlined function which returns an unconstrained
+ and has been expanded into a procedure call.
+ * sem_ch5.adb (Has_Call_Using_Secondary_Stack): Add missing
+ support to handle selected components.
+ * sem_ch6.ads (Cannot_Inline): Adding parameter Is_Serious plus
+ documentation.
+ * sem_ch6.adb (Check_And_Build_Body_To_Inline): New
+ subprogram which implements the checks required by the
+ new rules for frontend inlining and builds the body to inline.
+ (Analyze_Subprogram_Body_Helper): Move code that
+ checks inlining of subprogram that has nested subprogram
+ to Check_And_Build_Body_To_Inline. Replace call to
+ Build_Body_To_Inline by call to the new subprogram
+ Check_And_Build_Body_To_Inline.
+ (Cannot_Inline): New implementation.
+ * sem_ch12.adb (Analyze_Package_Instantiation.Must_Inline_Subp):
+ New subprogram.
+ * sem_util.ad[sb] (Must_Inline): New subprogram.
+ (Returns_Unconstrained_Type): New subprogram.
+ * sem_res.adb (Resolve_Call): Do not create a transient scope
+ for inlined calls.
+ * inline.ads (Analyzing_Inlined_Bodies): Remove unreferenced variable.
+ * inline.adb (Analyze_Inlined_Bodies, Initialize): Remove setting
+ to false the variable Analyzing_Inlined_Bodies. Fix comments.
+ * exp_ch4.adb (Expand_N_Allocator): Fix handling of finalization master.
+ * exp_ch6.ads (List_Inlining_Info): New subprogram.
+ * exp_ch6.adb (Expand_Call.Do_Inline): New subprogram.
+ (Expand_Call.Do_Inline_Always): New subprogram.
+ (In_Unfrozen_Instance): Move the declaration of this subprogram.
+ (Expand_Inlined_Call.Reset_Dispatching_Calls): New subprogram.
+ (Expand_Inlined_Call): Adding new support for inlining functions
+ that return unconstrained types.
+ (List_Inlining_Info): New subprogram.
+ * debug.adb Document flags -gnatd.j and -gnatd.k
+ * gnat1drv.adb Add call to generate the new listing of inlined
+ calls and calls passed to the backend.
+
+2012-03-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb, s-vaflop.adb, s-taprop-vms.adb, exp_ch6.adb,
+ s-gearop.adb, sem_ch6.adb, g-trasym.adb: Minor reformatting.
+
+2012-03-07 Javier Miranda <miranda@adacore.com>
+
+ * a-ngrear.ads: Add documentation.
+
+2012-03-07 Tristan Gingold <gingold@adacore.com>
+
+ * s-taprop-vms.adb (Create_Task): set thread name.
+ * s-osinte-vms.ads (pthread_attr_setname_np): Declare.
+
+2012-03-07 Arnaud Charlet <charlet@adacore.com>
+
+ * g-trasym.adb: Minor reformatting.
+
+2012-03-07 Robert Dewar <dewar@adacore.com>
+
+ * a-ngrear.ads: Minor addition of ??? comment.
+
+2012-03-07 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch4.adb (Apply_Accessibility_Check): Call
+ Remove_Side_Effects in the build-in-place case, to ensure that
+ we capture the call and don't end up with two calls.
+
+2012-03-07 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): Skip inlining of functions
+ that return unconstrained types using an extended return statement
+ since the support for inlining these functions has not been yet
+ added to the frontend.
+ * s-vaflop.adb, s-vaflop-vms-alpha.adb: Code reorganization.
+ * a-ngrear.ads: Replace all the Inline_Always pragmas by pragma
+ Inline.
+ * a-ngrear.adb (Eigenvalues, Transpose): Restructured to use
+ extended return statement.
+ * a-strsup.adb, a-stzsup.adb, a-stwisu.adb (Concat, Super_Slice,
+ Super_To_String): Restructured to use extended return statement.
+ * a-chahan.adb (To_Basic, To_Lower, To_Upper): Restructured to
+ use extended return statement.
+ * s-gearop.adb (Diagonal, Matrix_Elementwise_Operation,
+ Vector_Elementwise_Operation, Matrix_Elementwise_Operation,
+ Matrix_Matrix_Scalar_Elementwise_Operation,
+ Vector_Vector_Elementwise_Operation,
+ Vector_Vector_Scalar_Elementwise_Operation,
+ Matrix_Scalar_Elementwise_Operation,
+ Vector_Scalar_Elementwise_Operation,
+ Scalar_Matrix_Elementwise_Operation,
+ Scalar_Vector_Elementwise_Operation, Matrix_Matrix_Product,
+ Matrix_Vector_Product, Outer_Product, Unit_Matrix, Unit_Vector,
+ Vector_Matrix_Product): Restructured to use extended return
+ statement.
+
+2012-03-07 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch5.adb (One_Bound): Minor reformatting.
+
+2012-03-07 Tristan Gingold <gingold@adacore.com>
+
+ * s-osinte-vms-ia64.adb, s-osinte-vms-ia64.ads, s-osinte-vms.adb,
+ s-osinte-vms.ads, gcc-interface/Makefile.in: Merge s-osinte-vms and
+ s-osinte-vms-ia64.
+
+2012-03-07 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Apply_Predicate_Check): Do not generate a predicate
+ check is the context is an internally generated type-specific
+ function.
+ * sem_ch6.adb (Process_PPCs); the formals of internally generated
+ type-specific functions do not get assertion checks.
+
+2012-03-07 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Minor renaming of title.
+ * gnat_ugn.texi: Minor correction.
+
+2012-03-07 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Quantified_Expression): Minor
+ reformating.
+ * sem_ch4.adb (Analyze_Quantified_Expression): Creation and
+ analysis of the iteration scheme added in all cases.
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Minor reformating.
+ (Analyze_Iterator_Specification): Minor reformating.
+ * sem_res.adb (Resolve_Quantified_Expression): Resolution of
+ the condition added in all cases.
+
+2012-03-07 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.adb, einfo.ads: Add flag Reverse_Storage_Order.
+
+2012-03-07 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Rewording of GNAT UG and GNAT RM to
+ account for Ada 2012 assertions, and their pragma counterparts in GNAT.
+
+2012-03-07 Thomas Quinot <quinot@adacore.com>
+
+ * exp_attr.adb, sem_attr.adb: Minor reformatting.
+
+2012-03-07 Bob Duff <duff@adacore.com>
+
+ * hostparm.ads (Max_Instantiations): Increase parameter.
+
+2012-03-07 Bob Duff <duff@adacore.com>
+
+ * par-prag.adb: Minor code rearrangement.
+
+2012-03-07 Bob Duff <duff@adacore.com>
+
+ * a-strsup.ads, a-stwisu.ads, a-stzsup.ads (Super_String):
+ Remove default initial value for Data. It is no longer needed
+ because "=" now composes properly for untagged records. This
+ default has caused efficiency problems.
+
+2012-03-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): If the actual is a selected
+ component of an anonymous access type, whose prefix is a variable,
+ treat the variable as if it may be modified by the call, to
+ suppress spurious warnings that a variable might be declared as
+ a constant.
+
+2012-03-07 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.adb, einfo.ads: Remove unused entity flags.
+
+2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_ugn.texi (Inline Assembler): Fix swapping of Input and
+ Output operands throughout.
+
+2012-03-07 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb (Earlier): When two nodes come from the same
+ generic instantiation, compare their locations. Otherwise always
+ use the top level locations of the nodes.
+
+2012-03-07 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.ads, sem_prag.adb: Minor reformatting.
+
+2012-03-05 Jason Merrill <jason@redhat.com>
+
+ * gcc-interface/Make-lang.in (doc/gnat_ugn.texi): Build xgnatugn
+ before using it.
+
+2012-03-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatvsn.ads (Library_Version): Bump to 4.8.
+
+2012-03-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * init.c (__gnat_adjust_context_for_raise): Also check
+ "orq $0x0,(%esp)" for x32.
+
+ * link.c (__gnat_default_libgcc_subdir): Set to libx32 for x32.
+
+ * gcc-interface/Makefile.in (arch): Set to x32 if MULTISUBDIR
+ is /x32 and add support for x32.
+
+2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (components_to_record): Add ARTIFICIAL parameter
+ and set TYPE_ARTIFICIAL according to it. Adjust recursive call.
+ (gnat_to_gnu_entity) <E_Record_Type>: Adjust call to above function.
+ * gcc-interface/utils.c (rest_of_record_type_compilation): Do not
+ invoke rest_of_type_decl_compilation on the parallel type, if any.
+
+2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (gnat_write_global_declarations): Make sure the
+ dummy global built for global types is preserved.
+
+2012-02-27 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
+ E_Array_Type]: Reuse dummy fat type for gnu_ptr_template and
+ gnu_template_type.
+
+2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking.
+ (TYPE_BY_REFERENCE_P): New flag.
+ (TYPE_IS_BY_REFERENCE_P): New macro.
+ (TYPE_DUMMY_P): Add checking and remove VOID_TYPE.
+ (TYPE_IS_DUMMY_P): Adjust for above change.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_BY_REFERENCE_P
+ and TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE.
+ (gnat_to_gnu_param): Likewise.
+ (maybe_pad_type): Likewise.
+ (make_type_from_size): Use TYPE_IS_PACKED_ARRAY_TYPE_P.
+ * gcc-interface/misc.c (must_pass_by_ref): Use TYPE_IS_BY_REFERENCE_P
+ instead of TREE_ADDRESSABLE.
+ * gcc-interface/trans.c (finalize_nrv): Likewise.
+ (call_to_gnu): Likewise. Do not create a temporary for return values
+ with by-reference type here.
+ (gnat_to_gnu): Test TYPE_IS_DUMMY_P instead of TYPE_DUMMY_P.
+ (gnat_gimplify_expr) <ADDR_EXPR>: Don't do anything for non-constant
+ CONSTRUCTORs and calls.
+ * gcc-interface/utils.c (make_dummy_type): Get the equivalent type of
+ the underlying type and use it throughout. Use TYPE_IS_BY_REFERENCE_P
+ instead of TREE_ADDRESSABLE.
+ * gcc-interface/utils2.c (build_cond_expr): Deal with by-reference
+ types explicitly.
+
+2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Revert previous
+ change that creates a special VAR_DECL for debugging purposes. For an
+ aliased object with an unconstrained nominal subtype, make its type a
+ thin reference to the underlying object.
+ * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Deal with
+ expressions built for the initialization of above objects.
+
+2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
+ Windows-specific make variable.
+ (WIN_SO_INSTALL_DIR [windows targets]): Likewise.
+ (install-gnatlib): Respect the above during installation when set,
+ and also install any windows import library that has been built.
+ (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
+ build a corresponding import library.
+
+2012-02-22 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor
+ reformatting.
+
+2012-02-22 Geert Bosch <bosch@adacore.com>
+
+ * g-bytswa-x86.adb, g-bytswa.adb, gcc-interface/Makefile.in: Remove
+ x86-specific version of byteswap and use GCC builtins instead.
+
+2012-02-22 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
+ E_Array_Type]: Translate component ealier.
+
+2012-02-22 Robert Dewar <dewar@adacore.com>
+
+ * par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize
+ error message for 'Range.
+
+2012-02-22 Pascal Obry <obry@adacore.com>
+
+ * s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as
+ this is our own thread.
+
+2012-02-22 Sergey Rybin <rybin@adacore.com frybin>
+
+ * tree_io.ads: Update ASIS_Version_Number because of the changes
+ in Snames.
+
+2012-02-22 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on
+ stack-related finalizers.
+
+2012-02-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Expression_Function): If the construct
+ is a completion, indicate that its formals are the formals of
+ a completion, and as such do not get a cross- reference entry.
+ (Analyze_Subprogram_Specification): Do not generate a definition
+ for the entity of an expression function, because it may be a
+ completion. Definition will be generated if needed when analyzing
+ the generated subprogram declaration.
+
+2012-02-22 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Check): When checking if an object file is in the
+ correct object directory, get the unit name from a previous call
+ to Check_Source_Info_In_ALI.
+ * makeutl.adb (Check_Source_Info_In_ALI): Return the name of
+ the unit when everything is OK, otherwise return No_Name.
+ * makeutl.ads (Check_Source_Info_In_ALI): Return Name_Id instead
+ of Boolean
+
+2012-02-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): In an
+ instance, the operator is visible if an operand is of some
+ numeric type which is not in use or directly visible, and the
+ other operand is a numeric literal.
+
+2012-02-22 Tristan Gingold <gingold@adacore.com>
+
+ * init.c: Minor code clean up.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2012-02-22 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node,
+ otherwise GCC will generate an object file.
+
+2012-02-22 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Correct typo related to "**" in Source_Dirs.
+
+2012-02-22 Steve Baird <baird@adacore.com>
+
+ * sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of
+ error message text.
+
+2012-02-22 Vincent Pucci <pucci@adacore.com>
+
+ * rtsfind.adb (Get_Unit_Name): Ada_Numerics_Child and
+ System_Dim_Child cases added.
+ * rtsfind.ads: Ada_Numerics,
+ Ada_Numerics_Generic_Elementary_Functions, System_Dim,
+ System_Dim_Float_IO and System_Dim_Integer_IO added to the list
+ of RTU_Id. Ada_Numerics_Child and System_Dim_Child added as
+ new RTU_Id subtypes.
+ * sem_dim.adb (Is_Dim_IO_Package_Entity): Use of
+ Rtsfind to verify the package entity is located either
+ in System.Dim.Integer_IO or in System.Dim.Float_IO.
+ (Is_Dim_IO_Package_Instantiation): Minor
+ changes. (Is_Elementary_Function_Call): Removed.
+ (Is_Elementary_Function_Entity): New routine.
+ (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity call added.
+ * snames.ads-tmpl: Name_Dim and Name_Generic_Elementary_Functions
+ removed.
+
+2012-02-22 Vincent Pucci <pucci@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2012-02-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Find_Type_Name): When analyzing a private type
+ declaration that is the completion of a tagged incomplete type, do
+ not associate the class-wide type already created with the private
+ type to prevent order-of-elaboration issues in the back-end.
+ * exp_disp.adb (Find_Specific_Type): Find specific type of
+ a class-wide type, and handle the case of an incomplete type
+ coming either from a limited_with clause or from an incomplete
+ type declaration. Used when expanding a dispatchin call and
+ generating tag checks (minor refactoring).
+
+2012-02-22 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb: Add comment.
+ * sem_ch12.adb, exp_ch6.adb: minor reformatting
+
+2012-02-22 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Do not perform type layout within
+ a generic unit.
+
+2012-02-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * init.c (__gnat_error_handler) [Linux]: Map SIGBUS to
+ Storage_Error.
+
+2012-02-22 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Reject an
+ assignment to a classwide type whose type is limited, as
+ can happen in an instantiation in programs that run afoul or
+ AI05-0087.
+
+2012-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Legal_Copy): If layout is not
+ determined in the front-end, do not emit error message when
+ by-reference actual is potentially unaligned.
+ * gcc-interface/decl.c (gnat_to_gnu_field): Better error message for
+ illegal representation clause on tagged or aliased component, or on
+ by-reference type with forced alignment.
+
+2012-02-17 Nicolas Roche <roche@adacore.com>
+
+ * gcc-interface/Makefile.in: Ensure FORCE_DEBUG_ADAFLAGS variables is
+ propagated by gnatlib-sjlj and gnatlib-zcx targets.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2012-02-17 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): For an
+ instantiation in an RCI library unit, omit the instance body
+ if the RCI library unit is the instance itself (E.2.3(18)),
+ but include the body if the instantiation is within the RCI
+ declaration (12.3(12)).
+
+2012-02-17 Steve Baird <baird@adacore.com>
+
+ * sem_prag.adb (Analyze_PPC_In_Decl_Part): Pre'Class and
+ Post'Class aspects can only be specified for a primitive operation
+ of a tagged type.
+
+2012-02-17 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Minor shuffling.
+
+2012-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * aspects.adb: Expression functions can carry pre/postconditions.
+ * par-ch6.adb (P_Subprogram): look for optional pre/postconditions
+ in an expression function.
+ * sem_prag (Check_Precondition_Postcondition): legal on expression
+ functions.
+
+2012-02-17 Vincent Pucci <pucci@adacore.com>
+
+ * a-cdlili.adb, a-cidlli.adb, a-cihama.adb, a-cimutr.adb,
+ * a-ciorma.adb, a-cohama.adb, a-coinve.adb, a-comutr.adb,
+ * a-convec.adb, a-coorma.adb (Adjust): New routine.
+ (Constant_Reference): Increment Busy and Lock counters.
+ (Reference): Increase Busy and Lock counters.
+ (Finalize): New routine.
+ * a-cihase.adb, a-ciorse.adb, a-cohase.adb, a-coorse.adb:
+ (Adjust): New routine. (Constant_Reference): Increment Busy
+ and Lock counters.
+ (Finalize): New routine.
+ * a-cdlili.ads, a-cidlli.ads, a-cihama.ads, a-cihase.ads,
+ * a-cimutr.ads, a-ciorma.ads, a-ciorse.ads, a-cohama.ads,
+ * a-cohase.ads, a-coinve.ads, a-comutr.ads, a-convec.ads,
+ * a-coorma.ads, a-coorse: Controlled component added to the
+ reference types.
+
+2012-02-17 Robert Dewar <dewar@adacore.com>
+
+ * restrict.adb (Check_Restriction): Add special handling for
+ No_Obsolescent_Features.
+
+2012-02-17 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Find_Finalize_Address): When dealing with an
+ internally built full view for a type with unknown discriminants,
+ use the original record type.
+
+2012-02-17 Robert Dewar <dewar@adacore.com>
+
+ * sem_dim.adb: Minor reformatting.
+
+2012-02-17 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Minor rewording.
+
+2012-02-17 Thomas Quinot <quinot@adacore.com>
+
+ * sem_aggr.adb: Minor reformatting.
+
+2012-02-17 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case.
+
+2012-02-17 Vincent Pucci <pucci@adacore.com>
+
+ * sem_dim.adb (Is_Dim_IO_Package_Entity): New routine.
+ (Is_Dim_IO_Package_Instantiation): Is_Dim_IO_Package_Entity
+ call added.
+ (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity
+ call added.
+ * s-dim.ads: Make package Pure.
+
+2012-02-17 Gary Dismukes <dismukes@adacore.com>
+
+ * prj-nmsc.adb: Minor reformatting.
+
+2012-02-17 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions.
+
+2012-02-17 Yannick Moy <moy@adacore.com>
+
+ * gnat_ugn.texi: Fix typos.
+
+2012-02-17 Pascal Obry <obry@adacore.com>
+
+ * prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an
+ aggregate is not Externally_Built.
+
+2012-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): If a composite
+ component has a box association, copy the default value using
+ the current scope as the scope of internal types, to prevent
+ scoping anomalies in gigi.
+
+2012-02-17 Robert Dewar <dewar@adacore.com>
+
+ * sem_dim.adb, sem_dim.ads, s-tasren.adb, prj.adb, prj.ads, freeze.adb,
+ sem_res.adb, exp_ch4.adb, sinput.adb, sinput.ads, exp_aggr.adb,
+ exp_intr.adb, s-os_lib.adb: Minor reformatting.
+
+2012-02-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Is_Non_Overriding_Operation): Add warning if the
+ old operation is abstract, the relevant type is not abstract,
+ and the new subprogram fails to override.
+
+2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Identifier_to_gnu): Move block retrieving the
+ type of the result to the end and execute it for a deferred constant of
+ a discriminated type whose full view can be elaborated statically.
+
+2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Qualified_Expression>: If the
+ type is tagged, mark it as used for debugging purposes.
+ <N_Allocator>: Likewise for a qualified expression.
+
+2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
+ return value in the by-reference return type case if this isn't the
+ expression of an object declaration. Tidy up.
+
+2012-02-09 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/Makefile.in: Remove .sym rule (not used).
+ Remove adamsg.o object (requires native message compiler).
+ * init.c (CMA$_EXIT_THREAD, MTH$_FLOOVEMAT, SS$_INTDIV): Define as a
+ macro instead of as extern int.
+ (ADA$_ALREADY_OPEN, ADA$_CONSTRAINT_ERRO, ADA$_DATA_ERROR)
+ (ADA$_DEVICE_ERROR, ADA$_END_ERROR, ADA$_FAC_MODE_MISMAT)
+ (ADA$_IOSYSFAILED, ADA$_KEYSIZERR, ADA$_KEY_MISMATCH)
+ (ADA$_LAYOUT_ERROR, ADA$_LINEXCMRS, ADA$_MAXLINEXC)
+ (ADA$_MODE_ERROR, ADA$_MRN_MISMATCH, ADA$_MRS_MISMATCH)
+ (ADA$_NAME_ERROR, ADA$_NOT_OPEN, ADA$_ORG_MISMATCH)
+ (ADA$_PROGRAM_ERROR, ADA$_RAT_MISMATCH, ADA$_RFM_MISMATCH)
+ (ADA$_STAOVF, ADA$_STATUS_ERROR, ADA$_STORAGE_ERROR)
+ (ADA$_UNSUPPORTED, ADA$_USE_ERROR): Likewise.
+ (struct cond_except): Field cond is now an unsigned int.
+ (dec_ada_cond_except_table): Adjust.
+ (cond_except_table): Likewise.
+ (cond_resignal_table): Likewise.
+ (__gnat_default_resignal_p): Fix style.
+
+2012-02-08 Vincent Celier <celier@adacore.com>
+
+ * gcc-interface/Make-lang.in: Add g-byorma.o to gnatbind objects
+ (g-buorma is now imported by sinput).
+ Update dependencies.
+ * scn.adb (Initialize_Scanner): Call Check_For_BOM
+ * sinput-p.adb (Source_File_Is_Subunit): Call Check_For_BOM
+ * sinput.adb: New procedure Check_For_BOM
+ * sinput.ads: New procedure Check_For_BOM
+
+2012-02-08 Vincent Pucci <pucci@adacore.com>
+
+ * impunit.adb: Dimension package names updated
+ * Makefile.rtl: s-dim added
+ * sem_dim.adb (Is_Procedure_Put_Call): minor changes
+ (Is_Dim_IO_Package_Instantiation): minor changes
+ * sem_dim.ads: minor changes in comments
+ * snames.ads-tmpl: Name_Dim added Name_Dim_Float_IO and
+ Name_Dim_Integer_IO removed
+ * s-dim.ads: New package. Define the dimension terminology.
+ * s-diflio.adb, s-diinio.adb, s-dimkio.ads, s-dimmks.ads,
+ * s-dmotpr.ads: Package names updated.
+ * s-diflio.ads, s-diinio.ads: Documentation added and package
+ names updated.
+
+2012-02-08 Gary Dismukes <dismukes@adacore.com>
+
+ * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): Revise test
+ for storage pools to test for an underlying record type rather than
+ testing Is_Tagged_Type, so that simple storage pools will be handled
+ the same as normal Ada storage pools.
+
+2012-02-08 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Minor reshuffling to place restriction at
+ appropriate place.
+
+2012-02-08 Bob Duff <duff@adacore.com>
+
+ * warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value
+ False for '-gnatwA', to suppress these warnings.
+
+2012-02-08 Vincent Celier <celier@adacore.com>
+
+ * sinput-p.adb (Source_File_Is_Subunit): Check for BOM before
+ starting to scan, so that UTF8 encoding is taken into account.
+
+2012-02-08 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New
+ function.
+ (Complete_Rendezvous): Now call Internal_Complete_Rendezvous.
+ (Exceptional_Complete_Rendezvous): Mark No_Return.
+
+2012-02-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Compile_Time_Known_Composite_Value):
+ New predicate to compute whether a composite value can be
+ evaluated at compile time.
+ (Component_Not_OK_For_Backend): Use Compile_Time_Known_Value for all
+ expressions of elementary type and Compile_Time_Known_Composite_Value
+ for all other expressions.
+ (Expand_Record_Aggregate): Convert to assignments in the case
+ of a type with mutable components if the aggregate cannot be
+ built statically.
+
+2012-02-08 Gary Dismukes <dismukes@adacore.com>
+
+ * aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type.
+ (Impl_Defined_Aspects): Add association for
+ Aspect_Simple_Storage_Pool_Type.
+ (Aspect_Names): Add
+ association for Aspect_Simple_Storage_Pool_Type.
+ * aspects.adb:
+ (Canonical_Aspect): Add association for Simple_Storage_Pool_Type.
+ * exp_attr.adb (Expand_N_Attribute_Reference):
+ Change name to Name_Simple_Storage_Pool_Type.
+ * exp_ch4.adb (Expand_N_Allocator): Change
+ name to Name_Simple_Storage_Pool_Type.
+ * exp_intr.adb (Expand_Unc_Deallocation): Change name to
+ Name_Simple_Storage_Pool_Type. * freeze.adb (Freeze_Entity):
+ Change names to Name_Simple_Storage_Pool_Type. * par-prag.adb:
+ Change names to Name_Simple_Storage_Pool_Type. * sem_attr.adb:
+ (Analyze_Attribute): Change name to Name_Simple_Storage_Pool_Type.
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause):
+ Change name to Name_Simple_Storage_Pool_Type.
+ * sem_prag.adb:
+ (Analyze_Pragma): Change name to Name_Simple_Storage_Pool_Type.
+ (Sig_Flags): Change name to Name_Simple_Storage_Pool_Type.
+ * sem_res.adb (Resolve_Allocator): Change name to
+ Name_Simple_Storage_Pool_Type. * snames.ads-tmpl:
+ (Name_Simple_Storage_Pool_Type): New name constant.
+ (type Pragma_Id): Change name to Name_Simple_Storage_Pool_Type and
+ move to main pragma section because it no longer matches the
+ attribute name.
+ * snames.adb-tmpl (Get_Pragma_Id): Remove test for
+ Name_Simple_Storage_Pool.
+ (Is_Pragma_Name): Remove test for Name_Simple_Storage_Pool.
+
+2012-02-08 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws.
+
+2012-02-08 Pascal Obry <obry@adacore.com>
+
+ * prj.adb (Compute_All_Imported_Projects): Use new
+ For_Project_And_Aggregated_Context to ensure proper context is
+ used for encapsulated aggregate libraries.
+ * prj-proc.adb (Recursive_Process): Call
+ Process_Aggregated_Projects earlier to ensure that all dependent
+ projects are set with the proper encapsulated status.
+
+2012-02-08 Pascal Obry <obry@adacore.com>
+
+ * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null
+ terminated string.
+
+2012-02-08 Pascal Obry <obry@adacore.com>
+
+ * prj.ads, prj.adb (For_Project_And_Aggregated_Context): New
+ generic routine with a context parameter.
+
+2012-02-08 Robert Dewar <dewar@adacore.com>
+
+ * a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb,
+ a-convec.adb: Minor reformatting and code reorganization.
+
+2012-02-08 Steve Baird <baird@adacore.com>
+
+ * sem_cat.adb (In_Preelaborated_Unit): A child
+ unit instantiation does not inherit preelaboration requirements
+ from its parent.
+
+2012-02-08 Gary Dismukes <dismukes@adacore.com>
+
+ * aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool.
+ (Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool.
+ (Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool.
+ (Aspect_Names): Add entry for Aspect_Simple_Storage_Pool.
+ * aspects.adb (Canonical_Aspect): Add entry for
+ Aspect_Simple_Storage_Pool.
+ * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of
+ Attribute_Simple_Storage_Pool in the same way as Storage_Pool
+ (add conversion, analyze/resolve). For the Storage_Size attribute,
+ for the simple pool case, locate and use the simple pool type's
+ Storage_Size function (if any), otherwise evaluate to zero.
+ * exp_ch4.adb (Expand_N_Allocator): In the case of an allocator
+ for an access type with an associated simple storage pool,
+ locate and use the pool type's Allocate.
+ * exp_intr.adb (Expand_Unc_Deallocation): In the case where the
+ access type has a simple storage pool, locate the pool type's
+ Deallocate procedure (if present) and use it as the procedure
+ to call on the Free operation.
+ * freeze.adb (Freeze_Entity): In the case of a full type for
+ a private type defined with pragma Simple_Storage_Pool, check
+ that the full type is also appropriate for the pragma. For
+ a simple storage pool type, validate that the operations
+ Allocate, Deallocate (if present), and Storage_Size
+ (if present) are defined with appropriate expected profiles.
+ (Validate_Simple_Pool_Op_Formal): New procedure
+ (Validate_Simple_Pool_Operation): New procedure Add with and
+ use of Rtsfind.
+ * par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement
+ (no action required).
+ * sem_attr.adb (Analyze_Attribute): For the case of the
+ Storage_Pool attribute, give a warning if the prefix type has an
+ associated simple storage pool, and rewrite the attribute as a
+ raise of Program_Error. In the case of the Simple_Storage_Pool
+ attribute, check that the prefix type has an associated simple
+ storage pool, and set the attribute type to the pool's type.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Add
+ Aspect_Simple_Storage_Pool case choice.
+ (Analyze_Attribute_Definition_Clause): Add
+ Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses
+ (no action). Add handling for Simple_Storage_Pool attribute
+ definition, requiring the name to denote a simple storage pool
+ object.
+ (Check_Aspect_At_Freeze_Point): For a simple storage pool
+ aspect, set the type to that of the name specified for the aspect.
+ * sem_prag.adb (Analyze_Pragma): Add handling for pragma
+ Simple_Storage_Pool, requiring that it applies to a library-level
+ type declared in a package declaration that is a limited private
+ or limited record type.
+ * sem_res.adb (Resolve_Allocator): Flag an attempt to call a
+ build-in-place function in an allocator for an access type with
+ a simple storage pool as unsupported.
+ * snames.ads-tmpl: Add Name_Simple_Storage_Pool.
+ (type Attribute_Id): Add Attribute_Simple_Storage_Pool.
+ (type Pragma_Id): Add Pragma_Simple_Storage_Pool.
+ * snames.adb-tmpl (Get_Pragma_Id): Handle case of
+ Name_Simple_Storage_Pool.
+ (Is_Pragma_Name): Return True for Name_Simple_Storage_Pool.
+
+2012-02-08 Cyrille Comar <comar@adacore.com>
+
+ * projects.texi: Clarify doc for interfaces.
+
+2012-02-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable.
+ (GCC_LINK): Use it.
+
+2012-02-01 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype
+ instead of size_type_node.
+
+2012-01-30 Nicolas Roche <roche@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+ * gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads
+ when needed.
+ Remove Linker_Options -crtbe when building sjlj run-time.
+
+2012-01-30 Robert Dewar <dewar@adacore.com>
+
+ * sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode.
+ * sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of
+ form 2 * small-literal.
+ * sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious
+ mod value).
+ * sem_ch4.ads (Analyze_Mod): New procedure.
+
+2012-01-30 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy
+ types and return expression when building spec for implicit
+ body, to preserve global references that may be present in an
+ instantiation.
+
+2012-01-30 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.adb, a-coinve.adb, a-cobove.adb (Sort,
+ Reverse_Elements): Check for cursor tampering.
+
+2012-01-30 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a
+ type with aspect Default_Value or Default_Component_Value is
+ fully initialized, and use of variables of such types do not
+ generate warnings.
+
+2012-01-30 Javier Miranda <miranda@adacore.com>
+
+PR ada/15846
+ * sem_ch8.adb (Analyze_Subprogram_Renaming):
+ Handle self-renaming when the renamed entity is referenced using
+ its expanded name.
+
+2012-01-30 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Add documentation for attribute Interfaces.
+
+2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Build_Finalizer_Call): Set loc again.
+ * exp_ch11.adb (Expand_At_End_Handler): Do not provide a source
+ location for the wrapped call to the original AT_END routine
+ and the subsequent return statement.
+
+2012-01-30 Pascal Obry <obry@adacore.com>
+
+ * s-rannum.adb: Minor reformatting.
+
+2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend-vms.adb, a-calend.adb: Increment the number of leap seconds
+ to 25 and add the hard time value for 2012-06-30.
+
+2012-01-30 Robert Dewar <dewar@adacore.com>
+
+ * a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb,
+ freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads,
+ s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb:
+ Minor reformatting/code reorganization.
+
+2012-01-30 Thomas Quinot <quinot@adacore.com>
+
+ * s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return
+ Unsigned_64 rather than Duration.
+ (System.Random_Numbers.Reset): Use full value of seed
+ (do not truncate sub-second bits).
+
+2012-01-30 Thomas Quinot <quinot@adacore.com>
+
+ * sem_cat.adb, sem_ch12.adb: Minor reformatting.
+
+2012-01-30 Yannick Moy <moy@adacore.com>
+
+ * gnat_ugn.texi: Minor correction of GNAT UG, to take into
+ account changes to -gnatwa and more recent warnings.
+
+2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Build_Finalizer_Call): Do not provide a source
+ location when creating a call to a finalizer.
+ * exp_ch11.adb (Expand_Exception_Handlers): Do not provide
+ a source location for the first actual of Save_Occurrence for
+ consistency sake.
+
+2012-01-30 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads, einfo,adb: New attribute on scalar types:
+ Default_Aspect_Value New attribute on array types:
+ Default_Aspect_Component_Value Move attribute Related_Array_Object
+ to a different position to accomodate new aspect attributes.
+ * freeze.adb (Freeze_Entity): Use new attributes to retrieve value
+ of defaults set with an aspect specification, rather than using
+ the list of aspects attached to the type, to prevent issues with
+ partial views.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
+ Default_Value and Default_Component _Value, store corresponding
+ expression in type entity.
+ (Check_Aspect_At_End_Of_Declaration): If the default aspects
+ are declared on the full view, use the full view to resolve the
+ correseponding expression.
+ * exp_ch3.adb (Init_Component): Use attribute
+ Default_Aspect_Component_Value to perform default initialization,
+ rather than relying on the rep item list for the type.
+ (Get_Simple_Init_Val): Ditto.
+
+2012-01-30 Thomas Quinot <quinot@adacore.com>
+
+ * a-strhas.ads: Document risk of collision attack.
+
+2012-01-30 Yannick Moy <moy@adacore.com>
+
+ * gnat_ugn.texi: Minor update wrt warning switches.
+
+2012-01-30 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Interfaces): Report an error when a
+ unit from Library_Interface is not a unit of the project.
+
+2012-01-30 Vincent Pucci <pucci@adacore.com>
+
+ * sem_prag.adb (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Parent
+ links fixed inside PPC pragmas.
+ * sem_ch12.adb: Move call to Make_Aspect_For_PPC_In_Gen_Sub_Decl.
+
+2012-01-30 Thomas Quinot <quinot@adacore.com>
+
+ * s-ransee.ads: Minor reformatting.
+
+2012-01-30 Pascal Obry <obry@adacore.com>
+
+ * prj.ads, prj.adb (For_Each_Source): Add support for skipping
+ sources coming from an encapsulated library.
+
+2012-01-30 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Process-Full_View): fix typo.
+ * sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates
+ appear on a private type and the full view is available, ensure
+ existence of freeze node for full view.
+ (Build_Predicate_Function): Attach predicate function to both
+ views of a private type.
+
+2012-01-30 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs
+ for the project if either attribute Library_Interface or
+ Interfaces is declared.
+ (Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in
+ Check_Interfaces.
+
+2012-01-30 Pascal Obry <obry@adacore.com>
+
+ * prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib
+ boolean value to true in the process list created by this routine.
+ * prj.ads (Project_List_Element): New field From_Encapsulated_Lib.
+ Continued work for KA06-021.
+ * prj.adb (Compute_All_Imported_Projects): Set
+ From_Encapsulated_Lib boolean flag.
+
+2012-01-30 Vincent Pucci <pucci@adacore.com>
+
+ * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
+ code clean up.
+ * s-diflio.ads: Minor change.
+
+2012-01-30 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch9.adb (Build_Dispatching_Requeue): Add missing call
+ to Get_Entry_Index. Required to generate code which provides
+ the correct value of Entry_Index in the target entry.
+
+2012-01-30 Nicolas Roche <roche@adacore.com>
+
+ * system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
+ fix issue with zcx on VxWorks5.
+
+2012-01-30 Pascal Obry <obry@adacore.com>
+
+ * prj.ads, prj.adb (For_Every_Project_Imported): Remove
+ In_Aggregate_Lib.
+ (For_Every_Project_Imported_Context): New generic routine with
+ a context parameter.
+ * prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid
+ distributed complexity.
+ * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto.
+
+2012-01-30 Thomas Quinot <quinot@adacore.com>
+
+ * exp_aggr.adb (Expand_Record_Aggregate): After creating the
+ _parent aggregate for an extension aggregate, check whether it
+ requires delayed (top-down) expansion.
+
+2012-01-30 Vincent Pucci <pucci@adacore.com>
+
+ * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten.
+ * snames.ads-tmpl: Name_Item and Name_Symbols added.
+ * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename
+ and change the position of parameter Symbols in every Put routine.
+ * s-dimmks.ads: Convert long float type Mks_Type into long
+ long float.
+ * s-llflex.ads: Modifications in comments.
+
+2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb (Earlier): Do not use the
+ top level source locations of the two input nodes.
+
+2012-01-30 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads,
+ sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting.
+
+2012-01-30 Robert Dewar <dewar@adacore.com>
+
+ * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
+
+2012-01-30 Olivier Hainque <hainque@adacore.com>
+
+ * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back +
+ comments.
+
+2012-01-30 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb,
+ sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb,
+ sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type):
+ New subprogram (extracted from
+ Sem_Cat.Validate_Remote_Access_Object_Type_Declaration).
+ (Einfo.Is_Remote_Types): Now applies to generic types. Update
+ documentation accordingly.
+ (Sem_Ch12.Analyze_Associations): A RACW type is acceptable as
+ actual for a formal type to which a pragma Remote_Access_Type
+ applies.
+ (Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect
+ Remote_Access_Type.
+ (Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can
+ be applied to a generic type if pragma Remote_Access_Type
+ applies, in which case the type of the attribute is
+ System.Partition_Interface.RACW_Stub_Type.
+
+2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set
+ an alignment on fields of the RETURN type built for the CICO mechanism.
+
+2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for
+ a call to a function that returns an unconstrained type with default
+ discriminant. Similarly, avoid doing the conversion to the nominal
+ result type in this case.
+
+2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag.
+ * gcc-interface/decl.c (is_variable_size): Rename to...
+ (type_has_variable_size): ...this.
+ (adjust_packed): Adjust to above renaming.
+ (gnat_to_gnu_field): Set DECL_ALIASED_P on the field.
+ (field_is_artificial): New predicate.
+ (field_is_aliased): Likewise.
+ (field_has_self_size): Likewise.
+ (field_has_variable_size): Likewise.
+ (components_to_record): Record information for the final layout during
+ the first pass on fields.
+ If there is an aliased field placed after a field whose length depends
+ on discriminants, put all the fields of the latter sort, last.
+
+2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (get_minimal_subprog_decl): Declare.
+ * gcc-interface/decl.c (get_minimal_subprog_decl): New function.
+ * gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an
+ Access-like attribute in a dispatch table if the subprogram is public.
+
+2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (create_label_decl): Adjust.
+ * gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter
+ and invoke gnat_pushdecl on it. Remove obsolete settings.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to
+ create_label_decl.
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise. Ignore the
+ label for debugging purposes.
+
+2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an aliased
+ object with an unconstrained nominal subtype and if optimization isn't
+ enabled, create a special VAR_DECL for debugging purposes.
+
+2012-01-23 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.ads, sem_prag.adb: Minor reformatting.
+
+2012-01-23 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Check for
+ language defined aspect applied to renaming or formal type
+ declaration (not permitted)
+
+2012-01-23 Matthew Heaney <heaney@adacore.com>
+
+ * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced
+ comment with pragma Assert.
+
+2012-01-23 Vincent Pucci <pucci@adacore.com>
+
+ * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call
+ to Make_Aspect_For_PPC_In_Gen_Sub_Decl added in ASIS mode.
+ * sem_prag.adb, sem_prag.ads (Make_Aspect_For_PPC_In_Gen_Sub_Decl): New
+ routine. In ASIS mode, convert any PPC pragmas into aspects in generic
+ subprogram declaration in order to enable the analysis of PPC boolean
+ expressions.
+
+2012-01-23 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): Properly
+ handle Current_Value for volatile variables (also propagate
+ Treat_As_Volatile from type to object).
+
+2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb (Install_Body): Detect the case
+ where the enclosing context is a package with a stub body that
+ has already been replaced by the actual body. In such cases,
+ the freeze node for the enclosing context must be inserted after
+ the real body.
+
+2012-01-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Debug): Freeze the called
+ subprogram before expanding the pragma into an if-statement with
+ a block, to ensure that when the subprogram is null its body is
+ properly generated before expansion.
+
+2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb (Analyze_Associations): Alphabetize local variables and
+ constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal
+ to Saved_Formal.
+ Freeze all eligible subprograms which appear as actuals in
+ the instantiation.
+ (Has_Fully_Defined_Profile): New routine.
+ (Renames_Standard_Subprogram): New routine.
+ (Earlier): Add local variable N. Comment update. Do not use source
+ locations when trying to determine whether one node precedes another.
+
+2012-01-23 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch4.adb (Expand_Concatenate): In the case
+ where the result of a concatentation can be null, set the to
+ result have both the low and high bounds of the right operand (not
+ just the high bound, as was the case prior to this fix). Also,
+ fix the saved high bound setting (Last_Opnd_High_Bound) in the
+ empty string literal case (should have been low bound minus one,
+ rather than plus one).
+
+2012-01-23 Thomas Quinot <quinot@adacore.com>
+
+ * scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not
+ omit statement SCOs for disabled pragmas.
+
+2012-01-23 Matthew Heaney <heaney@adacore.com>
+
+ * a-cohase.ads, a-cihase.ads, a-cbhase.ads, a-coorse.ads,
+ a-ciorse.ads, a-cborse.ads, a-cohama.ads, a-cihama.ads, a-cbhama.ads,
+ a-coorma.ads, a-ciorma.ads, a-cborma.ads, a-cdlili.ads, a-cidlli.ads,
+ a-cbdlli.ads, a-convec.ads, a-coinve.ads, a-cobove.ads (Cursor'Read,
+ Cursor'Write): Declare in private part.
+ (Reference_Type'Read, Reference_Type'Write): Ditto.
+ (Constant_Reference_Type'Read, Constant_Reference_Type'Write): Ditto.
+
+2012-01-23 Robert Dewar <dewar@adacore.com>
+
+ * a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor
+ reformatting.
+
+2012-01-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Declaration): Do not set the
+ Corresponding_Body on a defaulted null formal subprogram.
+ * sem_ch12.adb (Check_Formal_Package_Instance): No check needed
+ on a defaulted formal subprogram that is a null procedure.
+
+2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb: Update the comments involving pragma Implemented.
+ * sem_ch3.adb (Check_Pragma_Implemented (Entity_Id)): Add local
+ constant Subp_Alias and local variable Impl_Subp. Properly
+ handle aliases of synchronized wrappers. Code cleanup.
+ (Check_Pragma_Implemented (Entity_Id; Entity_Id)): Add
+ Name_Optional as part of the condition.
+ * sem_prag.adb (Analyze_Pragma): Add "Optional" as one of the
+ valid choices of implementation kind.
+ (Check_Arg_Is_One_Of): New routine.
+ * snames.ads-tmlp: Add Name_Optional.
+
+2012-01-23 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch13.adb: Better error recovery in illegal aspect
+ specification.
+
+2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend.adb: Add with clause for Interfaces.C. Add constant
+ Unix_Max.
+ (Day_Of_Week): Call the internal UTC_Time_Offset.
+ (Split): Call the internal UTC_Time_Offset.
+ (Time_Of): Call the internal UTC_Time_Offset.
+ (Time_Zone_Operations.UTC_Time_Offset): Call internal UTC_Time_Offset.
+ (UTC_Time_Offset): New library-level routine.
+ * a-calend.ads (UTC_Time_Offset): Remove parameter
+ Is_Historic. Update related comment on usage.
+ * a-catizo.adb (UTC_Time_Offset): Removed.
+ (UTC_Time_Offset (Time)): Call Time_Zone_Operations.UTC_Time_Offset.
+ * a-caltizo.ads (UTC_Time_Offset): Removed.
+ (UTC_Time_Offset (Time)): Add back the default expression of parameter
+ Date.
+
+2012-01-23 Robert Dewar <dewar@adacore.com>
+
+ * sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter
+ (pg,po,ps): Make sure each entry starts on new line.
+
+2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-calend.ads, a-calend.adb: Define types int and int_Pointer. Update
+ the parameter profile of procedure localtime_tzoff and its associated
+ comment.
+ (Day_Of_Week): Do not treat the input date as historical
+ with respect to time zones.
+ (Split): Do not treat the input
+ date as historical with respect to time zones. (Time_Of): Do
+ not treat the input constituents as forming a historical date
+ with respect to time zones.
+ (UTC_Time_Offset): Add new formal
+ parameter Is_Historic. Add local variable Flag. Update the call
+ to localtime_tzoff.
+ * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): New routine.
+ (UTC_Time_Offset (Time)): Update the call to
+ Time_Zone_Operations.UTC_Time_Offset.
+ * sysdep.c (__gnat_localtime_tzoff): Update parameter
+ profile. Split the processing of offsets on Windows into two - one
+ part of historic time stamps and the other for the current time.
+
+2012-01-23 Robert Dewar <dewar@adacore.com>
+
+ * a-calend.adb: Minor reformatting.
+
+2012-01-23 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized
+ interface in requeue statement.
+
+2012-01-23 Cyrille Comar <comar@adacore.com>
+
+ * projects.texi: Remove references to main units and replace
+ with references to main programs to be coherent with the
+ documentation.
+
+2012-01-23 Robert Dewar <dewar@adacore.com>
+
+ * s-utf_32.adb: Minor reformatting.
+
+2012-01-23 Vincent Celier <celier@adacore.com>
+
+ * snames.ads-tmpl: Minor comment addition Indicate that
+ Name_Library_Encapsulated_Options is only used in gprbuild.
+
+2012-01-23 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit
+ restrictions.
+
+2012-01-23 Ed Schonberg <schonberg@adacore.com>
+
+ * snames.ads-tmpl: Add Name_Synchronization.
+ * aspects.ads, aspects.adb: Add Aspect_Synchronization to
+ enumeration type and related maps.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Handle Aspect
+ Synchronization, build corresponding pragma Implemented.
+ * sem_util.adb (Implementation_Kind): Handle both explicit and
+ implicit pragma_argument association to retrieve the given
+ synchronization mode.
+
+2012-01-23 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch10.adb, errout.adb: Minor reformatting.
+
+2012-01-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): An actual in a call to an
+ Ada 2012 Reference function does not lead to a dangerous order
+ dependence.
+
+2012-01-23 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_util.adb (Is_Iterated_Container): Test
+ Is_Entity_Name when searching for calls to the default iterator,
+ to avoid blowing up on indirect calls which have an explicit
+ dereference as the call name.
+
+2012-01-23 Thomas Quinot <quinot@adacore.com>
+
+ * errout.adb (Set_Msg_Node): For an N_Expanded_Name, output
+ the complete expanded name, rather than just its Selector_Name.
+
+2012-01-23 Thomas Quinot <quinot@adacore.com>
+
+ * a-textio.adb (Put): Rewrite one-parameter Character version to
+ just call the two-parameter one with Current_Out.
+
+2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * freeze.adb (Check_Current_Instance): Issue an
+ error when the prefix of 'Unchecked_Access or 'Access does not
+ denote a legal aliased view of a type.
+ (Freeze_Record_Type): Do not halt the processing of record components
+ once the Has_Controlled_Component is set as this bypasses the remaining
+ checks.
+ (Is_Aliased_View_Of_Type): New routine.
+
+2012-01-23 Thomas Quinot <quinot@adacore.com>
+
+ * errout.ads, freeze.adb: Minor reformatting.
+
+2012-01-23 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error
+ messages.
+
+2012-01-23 Olivier Hainque <hainque@adacore.com>
+
+ * adadecode.c (__gnat_decode): Deal with empty input early,
+ preventing potential erroneous memory access later on.
+
+2012-01-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/46192
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a
+ renaming, preserve the volatileness through the indirection, if any.
+
+2012-01-14 Andreas Schwab <schwab@linux-m68k.org>
+
+ * gcc-interface/Makefile.in (OSCONS_EXTRACT): Add
+ $(GNATLIBCFLAGS).
+
+2012-01-10 Pascal Obry <obry@adacore.com>
+
+ * prj-nmsc.adb (Check_Library_Attributes):
+ Kill check for object/source directories for aggregate libraries.
+
+2012-01-10 Matthew Heaney <heaney@adacore.com>
+
+ * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
+ a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
+ a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb,
+ a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads,
+ a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb,
+ a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb,
+ a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb,
+ a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads,
+ a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare
+ container parameter as aliased in/in out.
+ Code clean ups.
+
+2012-01-10 Bob Duff <duff@adacore.com>
+
+ * s-os_lib.ads: Improve comment.
+
+2012-01-10 Geert Bosch <bosch@adacore.com>
+
+ * s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
+ for complex Scalar.
+
+2012-01-10 Bob Duff <duff@adacore.com>
+
+ * sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when
+ checking that the 'Size is correct. If the type is "mod 2**12",
+ for example, it's illegal, but Esize is the 'Object_Size, which
+ will be something like 16 or 32, so the error ('Size = 12) was
+ not detected.
+ * gnat_rm.texi: Improve documentation of shift
+ and rotate intrinsics.
+
+2012-01-10 Pascal Obry <obry@adacore.com>
+
+ * prj.adb (For_Every_Project_Imported): Fix
+ implementation to make sure we return each project only once
+ for aggragte libraries. It is fine to return a project twice for
+ aggregate projects, this was the case as a Project_Id is different
+ in each project tree. The new implementation use a table based on
+ the project name to ensure proper detection of duplicate project
+ in aggregate library. A new context is then created to continue
+ retrurning duplicate project for aggregate libraries.
+
+2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (call_to_gnu): Create the temporary for the
+ return value in the variable-sized return type case if the target is
+ an array with fixed size. However, do not create it if this is the
+ expression of an object declaration.
+
+2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko.
+
+2012-01-06 Robert Dewar <dewar@adacore.com>
+
+ * a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads,
+ s-utf_32.ads: Add pragma Pure
+ * s-utf_32.adb: Suppress warnings on non-static constants (now
+ that this is Pure).
+
+2012-01-06 Bob Duff <duff@adacore.com>
+
+ * s-rpc.ads (Read, Write): Add overriding indicators.
+
+2012-01-06 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Add documentation for conventions
+ Ada_Pass_By_Copy and Ada_Pass_By_Reference.
+
+2012-01-06 Gary Dismukes <dismukes@adacore.com>
+
+ * a-tienio.adb (Put): Add exception message on
+ raise statements. Remove unneeded blocks and object declarations.
+
+2012-01-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2012-01-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate
+ that a selected component within a generic unit has been resolved
+ as a prefixed call with local references.
+ * sem_ch3.adb (Is_Visible_Component): In an instance body a selected
+ component is always visible.
+ * sem_ch4.adb (Analyze_Selected_Component): If the node is a
+ prefixed call in an instance, do not look for visible components
+ of the type.
+ * sem_ch12.adb (Reset_Entity): If a selected component has resolved
+ to a prefixed call, mark the node accordingly when prefix and
+ selector are local references.
+
+2012-01-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatvsn.ads (Current_Year): Bump to 2012.
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl
index 8ef3469159d..e5c90f8d42d 100644
--- a/gcc/ada/Makefile.rtl
+++ b/gcc/ada/Makefile.rtl
@@ -1,5 +1,5 @@
# Makefile.rtl for GNU Ada Compiler (GNAT).
-# Copyright (C) 2003-2011, Free Software Foundation, Inc.
+# Copyright (C) 2003-2012, Free Software Foundation, Inc.
#This file is part of GCC.
@@ -79,6 +79,16 @@ GNATRTL_TASKING_OBJS= \
thread$(objext) \
$(EXTRA_GNATRTL_TASKING_OBJS)
+# Objects the require IEEE Float
+GNATRTL_ALTIVEC_OBJS= \
+ g-allein$(objext) \
+ g-alleve$(objext) \
+ g-altcon$(objext) \
+ g-altive$(objext) \
+ g-alveop$(objext) \
+ g-alvety$(objext) \
+ g-alvevi$(objext)
+
# Objects needed for non-tasking.
GNATRTL_NONTASKING_OBJS= \
a-assert$(objext) \
@@ -367,13 +377,6 @@ GNATRTL_NONTASKING_OBJS= \
ada$(objext) \
calendar$(objext) \
directio$(objext) \
- g-allein$(objext) \
- g-alleve$(objext) \
- g-altcon$(objext) \
- g-altive$(objext) \
- g-alveop$(objext) \
- g-alvety$(objext) \
- g-alvevi$(objext) \
g-arrspl$(objext) \
g-awk$(objext) \
g-bubsor$(objext) \
@@ -703,5 +706,6 @@ GNATRTL_NONTASKING_OBJS= \
text_io$(objext) \
unchconv$(objext) \
unchdeal$(objext) \
+ $(GNATRTL_ALTIVEC_OBJS) \
$(GNATRTL_SOCKETS_OBJS) \
$(EXTRA_GNATRTL_NONTASKING_OBJS)
diff --git a/gcc/ada/a-assert.adb b/gcc/ada/a-assert.adb
index 11c65d9eb53..9a03c815b0f 100644
--- a/gcc/ada/a-assert.adb
+++ b/gcc/ada/a-assert.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2007-2009 Free Software Foundation, Inc. --
+-- Copyright (C) 2007-2012 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-cbmutr.ads b/gcc/ada/a-cbmutr.ads
index 46263088cd3..2403164e8e9 100644
--- a/gcc/ada/a-cbmutr.ads
+++ b/gcc/ada/a-cbmutr.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2011, Free Software Foundation, Inc. --
+-- Copyright (C) 2011-2012, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
diff --git a/gcc/ada/a-chacon.adb b/gcc/ada/a-chacon.adb
index 18b0264dcae..36029fd3072 100644
--- a/gcc/ada/a-chacon.adb
+++ b/gcc/ada/a-chacon.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2005-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 2005-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-chacon.ads b/gcc/ada/a-chacon.ads
index 30e6c5db407..77525a4f725 100644
--- a/gcc/ada/a-chacon.ads
+++ b/gcc/ada/a-chacon.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2005-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 2005-2012, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
diff --git a/gcc/ada/a-envvar.adb b/gcc/ada/a-envvar.adb
index cb57ca194a1..d0caa25cf51 100644
--- a/gcc/ada/a-envvar.adb
+++ b/gcc/ada/a-envvar.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2009, Free Software Foundation, Inc. --
+-- Copyright (C) 2009-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-exetim-mingw.ads b/gcc/ada/a-exetim-mingw.ads
index a2b68061838..42b861bd3ce 100644
--- a/gcc/ada/a-exetim-mingw.ads
+++ b/gcc/ada/a-exetim-mingw.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2009-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 2009-2012, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
diff --git a/gcc/ada/a-numaux-vms.ads b/gcc/ada/a-numaux-vms.ads
index 7cd7cfeb255..d64f6b7ca07 100644
--- a/gcc/ada/a-numaux-vms.ads
+++ b/gcc/ada/a-numaux-vms.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (VMS Version) --
-- --
--- Copyright (C) 2003-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2003-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-suenco.adb b/gcc/ada/a-suenco.adb
index abf8677148c..d824bb444af 100644
--- a/gcc/ada/a-suenco.adb
+++ b/gcc/ada/a-suenco.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2010-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 2010-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-suenst.adb b/gcc/ada/a-suenst.adb
index af057f16b0b..a51c3a066e8 100644
--- a/gcc/ada/a-suenst.adb
+++ b/gcc/ada/a-suenst.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2010-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-suewst.adb b/gcc/ada/a-suewst.adb
index 3725c5e6391..c0855d3e0d7 100644
--- a/gcc/ada/a-suewst.adb
+++ b/gcc/ada/a-suewst.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2010-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 2010-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-suezst.adb b/gcc/ada/a-suezst.adb
index 4bfd7175399..81d0f670fed 100644
--- a/gcc/ada/a-suezst.adb
+++ b/gcc/ada/a-suezst.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2010-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 2010-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-textio.ads b/gcc/ada/a-textio.ads
index 3794cb9c015..675dc63184b 100644
--- a/gcc/ada/a-textio.ads
+++ b/gcc/ada/a-textio.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
diff --git a/gcc/ada/a-tienio.adb b/gcc/ada/a-tienio.adb
index 1b9ab8bcd64..2d7a9e91128 100644
--- a/gcc/ada/a-tienio.adb
+++ b/gcc/ada/a-tienio.adb
@@ -1,4 +1,4 @@
-------------------------------------------------------------------------------
+
-- --
-- GNAT RUN-TIME COMPONENTS --
-- --
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-tirsfi.adb b/gcc/ada/a-tirsfi.adb
index 791c066bab3..a61e2b92e07 100644
--- a/gcc/ada/a-tirsfi.adb
+++ b/gcc/ada/a-tirsfi.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2009, Free Software Foundation, Inc. --
+-- Copyright (C) 2009-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-tirsfi.ads b/gcc/ada/a-tirsfi.ads
index b3d4ab0afb9..066df9fc8b2 100644
--- a/gcc/ada/a-tirsfi.ads
+++ b/gcc/ada/a-tirsfi.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2009, Free Software Foundation, Inc. --
+-- Copyright (C) 2009-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-wichha.adb b/gcc/ada/a-wichha.adb
index 2dad375a4f0..3909fcdacc0 100644
--- a/gcc/ada/a-wichha.adb
+++ b/gcc/ada/a-wichha.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2010-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-wichun.ads b/gcc/ada/a-wichun.ads
index a2f78e39367..bf7e08f5472 100644
--- a/gcc/ada/a-wichun.ads
+++ b/gcc/ada/a-wichun.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2005-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 2005-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-witeio.ads b/gcc/ada/a-witeio.ads
index 463207b7ce3..f5cab06fa97 100644
--- a/gcc/ada/a-witeio.ads
+++ b/gcc/ada/a-witeio.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
diff --git a/gcc/ada/a-zchhan.adb b/gcc/ada/a-zchhan.adb
index 836d334ebd9..483cfd9ec23 100644
--- a/gcc/ada/a-zchhan.adb
+++ b/gcc/ada/a-zchhan.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2010-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-zchuni.adb b/gcc/ada/a-zchuni.adb
index 5e0b1cbdc26..faa5c10a131 100644
--- a/gcc/ada/a-zchuni.adb
+++ b/gcc/ada/a-zchuni.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2005-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2005-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-zchuni.ads b/gcc/ada/a-zchuni.ads
index bb2af79fe77..98989d6a60a 100644
--- a/gcc/ada/a-zchuni.ads
+++ b/gcc/ada/a-zchuni.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2005-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 2005-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-zrstfi.adb b/gcc/ada/a-zrstfi.adb
index e0a7f64b662..77dbc8b5734 100644
--- a/gcc/ada/a-zrstfi.adb
+++ b/gcc/ada/a-zrstfi.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2009, Free Software Foundation, Inc. --
+-- Copyright (C) 2009-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-zrstfi.ads b/gcc/ada/a-zrstfi.ads
index 80f2b1f2cdf..ae6592d4ccc 100644
--- a/gcc/ada/a-zrstfi.ads
+++ b/gcc/ada/a-zrstfi.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2009, Free Software Foundation, Inc. --
+-- Copyright (C) 2009-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/a-ztexio.ads b/gcc/ada/a-ztexio.ads
index c95b3c4a2ef..97ead43be10 100644
--- a/gcc/ada/a-ztexio.ads
+++ b/gcc/ada/a-ztexio.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index d95b6615b77..4b8ce5341ef 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -2960,54 +2960,6 @@ __gnat_locate_exec_on_path (char *exec_name)
#endif
}
-/* __gnat_get_module_name returns the module name (executable or shared
- library) in which the code at addr is. This is used to properly
- report the symbolic tracebacks. If the module cannot be located
- it returns the empty string. The returned value must not be freed.
-
- If this routine is fully implemented the value for
- __gnat_is_module_name_supported should be set to 1. */
-
-char *__gnat_get_module_name (void *addr ATTRIBUTE_UNUSED)
-{
- extern char **gnat_argv;
-
-#ifdef _WIN32
- static char lpFilename[MAX_PATH];
- HMODULE hModule;
-
- lpFilename[0] = '\0';
-
- /* Get the module handle in which the code running at the specified
- address is contained. */
-
- if (GetModuleHandleEx
- (GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, addr, &hModule) == FALSE)
- return __gnat_locate_exec_on_path (gnat_argv[0]);
-
- /* Get the corresponding module full path name. We really want the
- standard ASCII version of this routine as the name is passed to
- the BFD library. */
-
- if (GetModuleFileNameA (hModule, lpFilename, MAX_PATH) == 0)
- return __gnat_locate_exec_on_path (gnat_argv[0]);
-
- return lpFilename;
-
-#else
- /* On all other platforms we just return the full path name of the
- main executable. */
-
- return __gnat_locate_exec_on_path (gnat_argv[0]);
-#endif
-}
-
-#ifdef _WIN32
-int __gnat_is_module_name_supported = 1;
-#else
-int __gnat_is_module_name_supported = 0;
-#endif
-
#ifdef VMS
/* These functions are used to translate to and from VMS and Unix syntax
diff --git a/gcc/ada/adaint.h b/gcc/ada/adaint.h
index 217ce6c48e1..7956e27a709 100644
--- a/gcc/ada/adaint.h
+++ b/gcc/ada/adaint.h
@@ -186,7 +186,6 @@ extern int __gnat_portable_wait (int *);
extern char *__gnat_locate_exec (char *, char *);
extern char *__gnat_locate_exec_on_path (char *);
extern char *__gnat_locate_regular_file (char *, char *);
-extern char *__gnat_get_module_name (void *);
extern void __gnat_maybe_glob_args (int *, char ***);
extern void __gnat_os_exit (int);
extern char *__gnat_get_libraries_from_registry (void);
diff --git a/gcc/ada/arit64.c b/gcc/ada/arit64.c
deleted file mode 100644
index d906ded0d81..00000000000
--- a/gcc/ada/arit64.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/****************************************************************************
- * *
- * GNAT COMPILER COMPONENTS *
- * *
- * A R I T 6 4 . C *
- * *
- * C Implementation File *
- * *
- * Copyright (C) 2009-2012, Free Software Foundation, Inc. *
- * *
- * GNAT is free software; you can redistribute it and/or modify it under *
- * terms of the GNU General Public License as published by the Free Soft- *
- * ware Foundation; either version 3, or (at your option) any later ver- *
- * sion. GNAT is distributed in the hope that it will be useful, but WITH- *
- * OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
- * or FITNESS FOR A PARTICULAR PURPOSE. *
- * *
- * As a special exception under Section 7 of GPL version 3, you are granted *
- * additional permissions described in the GCC Runtime Library Exception, *
- * version 3.1, as published by the Free Software Foundation. *
- * *
- * You should have received a copy of the GNU General Public License and *
- * a copy of the GCC Runtime Library Exception along with this program; *
- * see the files COPYING3 and COPYING.RUNTIME respectively. If not, see *
- * <http://www.gnu.org/licenses/>. *
- * *
- * GNAT was originally developed by the GNAT team at New York University. *
- * Extensive contributions were provided by Ada Core Technologies Inc. *
- * *
- ****************************************************************************/
-
-extern void __gnat_rcheck_CE_Overflow_Check(char *file, int line)
- __attribute__ ((__noreturn__));
-
-long long int __gnat_mulv64 (long long int x, long long int y)
-{
- unsigned neg = (x >= 0) ^ (y >= 0);
- long long unsigned xa = x >= 0 ? (long long unsigned) x
- : -(long long unsigned) x;
- long long unsigned ya = y >= 0 ? (long long unsigned) y
- : -(long long unsigned) y;
- unsigned xhi = (unsigned) (xa >> 32);
- unsigned yhi = (unsigned) (ya >> 32);
- unsigned xlo = (unsigned) xa;
- unsigned ylo = (unsigned) ya;
- long long unsigned mid
- = xhi ? (long long unsigned) xhi * (long long unsigned) ylo
- : (long long unsigned) yhi * (long long unsigned) xlo;
- long long unsigned low = (long long unsigned) xlo * (long long unsigned) ylo;
-
- if ((xhi && yhi) || mid + (low >> 32) > 0x7fffffff + neg)
- __gnat_rcheck_CE_Overflow_Check (__FILE__, __LINE__);
-
- low += ((long long unsigned) (unsigned) mid) << 32;
-
- return (long long int) (neg ? -low : low);
-}
diff --git a/gcc/ada/aspects.adb b/gcc/ada/aspects.adb
index dcc73144709..523deaaa0ac 100644
--- a/gcc/ada/aspects.adb
+++ b/gcc/ada/aspects.adb
@@ -238,6 +238,7 @@ package body Aspects is
Canonical_Aspect : constant array (Aspect_Id) of Aspect_Id :=
(No_Aspect => No_Aspect,
+ Aspect_Abstract_State => Aspect_Abstract_State,
Aspect_Ada_2005 => Aspect_Ada_2005,
Aspect_Ada_2012 => Aspect_Ada_2005,
Aspect_Address => Aspect_Address,
@@ -268,6 +269,7 @@ package body Aspects is
Aspect_External_Name => Aspect_External_Name,
Aspect_External_Tag => Aspect_External_Tag,
Aspect_Favor_Top_Level => Aspect_Favor_Top_Level,
+ Aspect_Global => Aspect_Global,
Aspect_Implicit_Dereference => Aspect_Implicit_Dereference,
Aspect_Import => Aspect_Import,
Aspect_Independent => Aspect_Independent,
diff --git a/gcc/ada/aspects.ads b/gcc/ada/aspects.ads
index 7d64feee66a..94c3c617827 100644
--- a/gcc/ada/aspects.ads
+++ b/gcc/ada/aspects.ads
@@ -74,6 +74,7 @@ package Aspects is
type Aspect_Id is
(No_Aspect, -- Dummy entry for no aspect
+ Aspect_Abstract_State, -- GNAT
Aspect_Address,
Aspect_Alignment,
Aspect_Attach_Handler,
@@ -93,6 +94,7 @@ package Aspects is
Aspect_Dynamic_Predicate,
Aspect_External_Name,
Aspect_External_Tag,
+ Aspect_Global, -- GNAT
Aspect_Implicit_Dereference,
Aspect_Input,
Aspect_Interrupt_Priority,
@@ -221,7 +223,8 @@ package Aspects is
-- The following array identifies all implementation defined aspects
Impl_Defined_Aspects : constant array (Aspect_Id) of Boolean :=
- (Aspect_Ada_2005 => True,
+ (Aspect_Abstract_State => True,
+ Aspect_Ada_2005 => True,
Aspect_Ada_2012 => True,
Aspect_Compiler_Unit => True,
Aspect_Contract_Case => True,
@@ -229,6 +232,7 @@ package Aspects is
Aspect_Dimension => True,
Aspect_Dimension_System => True,
Aspect_Favor_Top_Level => True,
+ Aspect_Global => True,
Aspect_Inline_Always => True,
Aspect_Lock_Free => True,
Aspect_Object_Size => True,
@@ -305,6 +309,7 @@ package Aspects is
Aspect_Argument : constant array (Aspect_Id) of Aspect_Expression :=
(No_Aspect => Optional,
+ Aspect_Abstract_State => Expression,
Aspect_Address => Expression,
Aspect_Alignment => Expression,
Aspect_Attach_Handler => Expression,
@@ -324,6 +329,7 @@ package Aspects is
Aspect_Dynamic_Predicate => Expression,
Aspect_External_Name => Expression,
Aspect_External_Tag => Expression,
+ Aspect_Global => Expression,
Aspect_Implicit_Dereference => Name,
Aspect_Input => Name,
Aspect_Interrupt_Priority => Expression,
@@ -370,6 +376,7 @@ package Aspects is
Aspect_Names : constant array (Aspect_Id) of Name_Id := (
No_Aspect => No_Name,
+ Aspect_Abstract_State => Name_Abstract_State,
Aspect_Ada_2005 => Name_Ada_2005,
Aspect_Ada_2012 => Name_Ada_2012,
Aspect_Address => Name_Address,
@@ -400,6 +407,7 @@ package Aspects is
Aspect_External_Tag => Name_External_Tag,
Aspect_Export => Name_Export,
Aspect_Favor_Top_Level => Name_Favor_Top_Level,
+ Aspect_Global => Name_Global,
Aspect_Implicit_Dereference => Name_Implicit_Dereference,
Aspect_Import => Name_Import,
Aspect_Independent => Name_Independent,
diff --git a/gcc/ada/atree.adb b/gcc/ada/atree.adb
index a5c80dc8e36..01fc081c5c8 100644
--- a/gcc/ada/atree.adb
+++ b/gcc/ada/atree.adb
@@ -205,6 +205,31 @@ package body Atree is
function To_Flag_Byte3_Ptr is new
Unchecked_Conversion (Node_Kind_Ptr, Flag_Byte3_Ptr);
+ -- The following declarations are used to store flags 310-317 in the
+ -- Nkind field of the sixth component of an extended (entity) node.
+
+ type Flag_Byte4 is record
+ Flag310 : Boolean;
+ Flag311 : Boolean;
+ Flag312 : Boolean;
+ Flag313 : Boolean;
+ Flag314 : Boolean;
+ Flag315 : Boolean;
+ Flag316 : Boolean;
+ Flag317 : Boolean;
+ end record;
+
+ pragma Pack (Flag_Byte4);
+ for Flag_Byte4'Size use 8;
+
+ type Flag_Byte4_Ptr is access all Flag_Byte4;
+
+ function To_Flag_Byte4 is new
+ Unchecked_Conversion (Node_Kind, Flag_Byte4);
+
+ function To_Flag_Byte4_Ptr is new
+ Unchecked_Conversion (Node_Kind_Ptr, Flag_Byte4_Ptr);
+
-- The following declarations are used to store flags 73-96 and the
-- Convention field in the Field12 field of the third component of an
-- extended (Entity) node.
@@ -412,6 +437,59 @@ package body Atree is
function To_Flag_Word4_Ptr is new
Unchecked_Conversion (Union_Id_Ptr, Flag_Word4_Ptr);
+ -- The following declarations are used to store flags 255-286 in the
+ -- Field12 field of the sixth component of an extended (entity) node.
+
+ type Flag_Word5 is record
+ Flag255 : Boolean;
+ Flag256 : Boolean;
+ Flag257 : Boolean;
+ Flag258 : Boolean;
+ Flag259 : Boolean;
+ Flag260 : Boolean;
+ Flag261 : Boolean;
+ Flag262 : Boolean;
+
+ Flag263 : Boolean;
+ Flag264 : Boolean;
+ Flag265 : Boolean;
+ Flag266 : Boolean;
+ Flag267 : Boolean;
+ Flag268 : Boolean;
+ Flag269 : Boolean;
+ Flag270 : Boolean;
+
+ Flag271 : Boolean;
+ Flag272 : Boolean;
+ Flag273 : Boolean;
+ Flag274 : Boolean;
+ Flag275 : Boolean;
+ Flag276 : Boolean;
+ Flag277 : Boolean;
+ Flag278 : Boolean;
+
+ Flag279 : Boolean;
+ Flag280 : Boolean;
+ Flag281 : Boolean;
+ Flag282 : Boolean;
+ Flag283 : Boolean;
+ Flag284 : Boolean;
+ Flag285 : Boolean;
+ Flag286 : Boolean;
+ end record;
+
+ pragma Pack (Flag_Word5);
+ for Flag_Word5'Size use 32;
+ for Flag_Word5'Alignment use 4;
+
+ type Flag_Word5_Ptr is access all Flag_Word5;
+
+ function To_Flag_Word5 is new
+ Unchecked_Conversion (Union_Id, Flag_Word5);
+
+ function To_Flag_Word5_Ptr is new
+ Unchecked_Conversion (Union_Id_Ptr, Flag_Word5_Ptr);
+
--------------------------------------------------
-- Implementation of Tree Substitution Routines --
--------------------------------------------------
@@ -470,8 +548,8 @@ package body Atree is
function Allocate_Initialize_Node
(Src : Node_Id;
With_Extension : Boolean) return Node_Id;
- -- Allocate a new node or node extension. If Src is not empty,
- -- the information for the newly-allocated node is copied from it.
+ -- Allocate a new node or node extension. If Src is not empty, the
+ -- information for the newly-allocated node is copied from it.
------------------------------
-- Allocate_Initialize_Node --
@@ -2232,6 +2310,42 @@ package body Atree is
return Nodes.Table (N + 4).Field11;
end Field29;
+ function Field30 (N : Node_Id) return Union_Id is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Field6;
+ end Field30;
+
+ function Field31 (N : Node_Id) return Union_Id is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Field7;
+ end Field31;
+
+ function Field32 (N : Node_Id) return Union_Id is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Field8;
+ end Field32;
+
+ function Field33 (N : Node_Id) return Union_Id is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Field9;
+ end Field33;
+
+ function Field34 (N : Node_Id) return Union_Id is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Field10;
+ end Field34;
+
+ function Field35 (N : Node_Id) return Union_Id is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Field11;
+ end Field35;
+
function Node1 (N : Node_Id) return Node_Id is
begin
pragma Assert (N <= Nodes.Last);
@@ -4337,6 +4451,384 @@ package body Atree is
return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag254;
end Flag254;
+ function Flag255 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag255;
+ end Flag255;
+
+ function Flag256 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag256;
+ end Flag256;
+
+ function Flag257 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag257;
+ end Flag257;
+
+ function Flag258 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag258;
+ end Flag258;
+
+ function Flag259 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag259;
+ end Flag259;
+
+ function Flag260 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag260;
+ end Flag260;
+
+ function Flag261 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag261;
+ end Flag261;
+
+ function Flag262 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag262;
+ end Flag262;
+
+ function Flag263 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag263;
+ end Flag263;
+
+ function Flag264 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag264;
+ end Flag264;
+
+ function Flag265 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag265;
+ end Flag265;
+
+ function Flag266 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag266;
+ end Flag266;
+
+ function Flag267 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag267;
+ end Flag267;
+
+ function Flag268 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag268;
+ end Flag268;
+
+ function Flag269 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag269;
+ end Flag269;
+
+ function Flag270 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag270;
+ end Flag270;
+
+ function Flag271 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag271;
+ end Flag271;
+
+ function Flag272 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag272;
+ end Flag272;
+
+ function Flag273 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag273;
+ end Flag273;
+
+ function Flag274 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag274;
+ end Flag274;
+
+ function Flag275 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag275;
+ end Flag275;
+
+ function Flag276 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag276;
+ end Flag276;
+
+ function Flag277 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag277;
+ end Flag277;
+
+ function Flag278 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag278;
+ end Flag278;
+
+ function Flag279 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag279;
+ end Flag279;
+
+ function Flag280 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag280;
+ end Flag280;
+
+ function Flag281 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag281;
+ end Flag281;
+
+ function Flag282 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag282;
+ end Flag282;
+
+ function Flag283 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag283;
+ end Flag283;
+
+ function Flag284 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag284;
+ end Flag284;
+
+ function Flag285 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag285;
+ end Flag285;
+
+ function Flag286 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag286;
+ end Flag286;
+
+ function Flag287 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).In_List;
+ end Flag287;
+
+ function Flag288 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Has_Aspects;
+ end Flag288;
+
+ function Flag289 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Rewrite_Ins;
+ end Flag289;
+
+ function Flag290 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Analyzed;
+ end Flag290;
+
+ function Flag291 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Comes_From_Source;
+ end Flag291;
+
+ function Flag292 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Error_Posted;
+ end Flag292;
+
+ function Flag293 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Flag4;
+ end Flag293;
+
+ function Flag294 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Flag5;
+ end Flag294;
+
+ function Flag295 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Flag6;
+ end Flag295;
+
+ function Flag296 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Flag7;
+ end Flag296;
+
+ function Flag297 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Flag8;
+ end Flag297;
+
+ function Flag298 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Flag9;
+ end Flag298;
+
+ function Flag299 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Flag10;
+ end Flag299;
+
+ function Flag300 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Flag11;
+ end Flag300;
+
+ function Flag301 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Flag12;
+ end Flag301;
+
+ function Flag302 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Flag13;
+ end Flag302;
+
+ function Flag303 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Flag14;
+ end Flag303;
+
+ function Flag304 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Flag15;
+ end Flag304;
+
+ function Flag305 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Flag16;
+ end Flag305;
+
+ function Flag306 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Flag17;
+ end Flag306;
+
+ function Flag307 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Flag18;
+ end Flag307;
+
+ function Flag308 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Pflag1;
+ end Flag308;
+
+ function Flag309 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return Nodes.Table (N + 5).Pflag2;
+ end Flag309;
+
+ function Flag310 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag310;
+ end Flag310;
+
+ function Flag311 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag311;
+ end Flag311;
+
+ function Flag312 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag312;
+ end Flag312;
+
+ function Flag313 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag313;
+ end Flag313;
+
+ function Flag314 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag314;
+ end Flag314;
+
+ function Flag315 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag315;
+ end Flag315;
+
+ function Flag316 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag316;
+ end Flag316;
+
+ function Flag317 (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag317;
+ end Flag317;
+
procedure Set_Nkind (N : Node_Id; Val : Node_Kind) is
begin
pragma Assert (N <= Nodes.Last);
@@ -4517,6 +5009,42 @@ package body Atree is
Nodes.Table (N + 4).Field11 := Val;
end Set_Field29;
+ procedure Set_Field30 (N : Node_Id; Val : Union_Id) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Field6 := Val;
+ end Set_Field30;
+
+ procedure Set_Field31 (N : Node_Id; Val : Union_Id) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Field7 := Val;
+ end Set_Field31;
+
+ procedure Set_Field32 (N : Node_Id; Val : Union_Id) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Field8 := Val;
+ end Set_Field32;
+
+ procedure Set_Field33 (N : Node_Id; Val : Union_Id) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Field9 := Val;
+ end Set_Field33;
+
+ procedure Set_Field34 (N : Node_Id; Val : Union_Id) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Field10 := Val;
+ end Set_Field34;
+
+ procedure Set_Field35 (N : Node_Id; Val : Union_Id) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Field11 := Val;
+ end Set_Field35;
+
procedure Set_Node1 (N : Node_Id; Val : Node_Id) is
begin
pragma Assert (N <= Nodes.Last);
@@ -6750,6 +7278,464 @@ package body Atree is
(Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag254 := Val;
end Set_Flag254;
+ procedure Set_Flag255 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag255 := Val;
+ end Set_Flag255;
+
+ procedure Set_Flag256 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag256 := Val;
+ end Set_Flag256;
+
+ procedure Set_Flag257 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag257 := Val;
+ end Set_Flag257;
+
+ procedure Set_Flag258 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag258 := Val;
+ end Set_Flag258;
+
+ procedure Set_Flag259 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag259 := Val;
+ end Set_Flag259;
+
+ procedure Set_Flag260 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag260 := Val;
+ end Set_Flag260;
+
+ procedure Set_Flag261 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag261 := Val;
+ end Set_Flag261;
+
+ procedure Set_Flag262 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag262 := Val;
+ end Set_Flag262;
+
+ procedure Set_Flag263 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag263 := Val;
+ end Set_Flag263;
+
+ procedure Set_Flag264 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag264 := Val;
+ end Set_Flag264;
+
+ procedure Set_Flag265 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag265 := Val;
+ end Set_Flag265;
+
+ procedure Set_Flag266 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag266 := Val;
+ end Set_Flag266;
+
+ procedure Set_Flag267 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag267 := Val;
+ end Set_Flag267;
+
+ procedure Set_Flag268 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag268 := Val;
+ end Set_Flag268;
+
+ procedure Set_Flag269 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag269 := Val;
+ end Set_Flag269;
+
+ procedure Set_Flag270 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag270 := Val;
+ end Set_Flag270;
+
+ procedure Set_Flag271 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag271 := Val;
+ end Set_Flag271;
+
+ procedure Set_Flag272 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag272 := Val;
+ end Set_Flag272;
+
+ procedure Set_Flag273 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag273 := Val;
+ end Set_Flag273;
+
+ procedure Set_Flag274 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag274 := Val;
+ end Set_Flag274;
+
+ procedure Set_Flag275 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag275 := Val;
+ end Set_Flag275;
+
+ procedure Set_Flag276 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag276 := Val;
+ end Set_Flag276;
+
+ procedure Set_Flag277 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag277 := Val;
+ end Set_Flag277;
+
+ procedure Set_Flag278 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag278 := Val;
+ end Set_Flag278;
+
+ procedure Set_Flag279 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag279 := Val;
+ end Set_Flag279;
+
+ procedure Set_Flag280 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag280 := Val;
+ end Set_Flag280;
+
+ procedure Set_Flag281 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag281 := Val;
+ end Set_Flag281;
+
+ procedure Set_Flag282 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag282 := Val;
+ end Set_Flag282;
+
+ procedure Set_Flag283 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag283 := Val;
+ end Set_Flag283;
+
+ procedure Set_Flag284 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag284 := Val;
+ end Set_Flag284;
+
+ procedure Set_Flag285 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag285 := Val;
+ end Set_Flag285;
+
+ procedure Set_Flag286 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Word5_Ptr
+ (Union_Id_Ptr'
+ (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag286 := Val;
+ end Set_Flag286;
+
+ procedure Set_Flag287 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).In_List := Val;
+ end Set_Flag287;
+
+ procedure Set_Flag288 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Has_Aspects := Val;
+ end Set_Flag288;
+
+ procedure Set_Flag289 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Rewrite_Ins := Val;
+ end Set_Flag289;
+
+ procedure Set_Flag290 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Analyzed := Val;
+ end Set_Flag290;
+
+ procedure Set_Flag291 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Comes_From_Source := Val;
+ end Set_Flag291;
+
+ procedure Set_Flag292 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Error_Posted := Val;
+ end Set_Flag292;
+
+ procedure Set_Flag293 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Flag4 := Val;
+ end Set_Flag293;
+
+ procedure Set_Flag294 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Flag5 := Val;
+ end Set_Flag294;
+
+ procedure Set_Flag295 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Flag6 := Val;
+ end Set_Flag295;
+
+ procedure Set_Flag296 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Flag7 := Val;
+ end Set_Flag296;
+
+ procedure Set_Flag297 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Flag8 := Val;
+ end Set_Flag297;
+
+ procedure Set_Flag298 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Flag9 := Val;
+ end Set_Flag298;
+
+ procedure Set_Flag299 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Flag10 := Val;
+ end Set_Flag299;
+
+ procedure Set_Flag300 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Flag11 := Val;
+ end Set_Flag300;
+
+ procedure Set_Flag301 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Flag12 := Val;
+ end Set_Flag301;
+
+ procedure Set_Flag302 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Flag13 := Val;
+ end Set_Flag302;
+
+ procedure Set_Flag303 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Flag14 := Val;
+ end Set_Flag303;
+
+ procedure Set_Flag304 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Flag15 := Val;
+ end Set_Flag304;
+
+ procedure Set_Flag305 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Flag16 := Val;
+ end Set_Flag305;
+
+ procedure Set_Flag306 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Flag17 := Val;
+ end Set_Flag306;
+
+ procedure Set_Flag307 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Flag18 := Val;
+ end Set_Flag307;
+
+ procedure Set_Flag308 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Pflag1 := Val;
+ end Set_Flag308;
+
+ procedure Set_Flag309 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Pflag2 := Val;
+ end Set_Flag309;
+
+ procedure Set_Flag310 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Byte4_Ptr
+ (Node_Kind_Ptr'
+ (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag310 := Val;
+ end Set_Flag310;
+
+ procedure Set_Flag311 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Byte4_Ptr
+ (Node_Kind_Ptr'
+ (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag311 := Val;
+ end Set_Flag311;
+
+ procedure Set_Flag312 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Byte4_Ptr
+ (Node_Kind_Ptr'
+ (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag312 := Val;
+ end Set_Flag312;
+
+ procedure Set_Flag313 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Byte4_Ptr
+ (Node_Kind_Ptr'
+ (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag313 := Val;
+ end Set_Flag313;
+
+ procedure Set_Flag314 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Byte4_Ptr
+ (Node_Kind_Ptr'
+ (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag314 := Val;
+ end Set_Flag314;
+
+ procedure Set_Flag315 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Byte4_Ptr
+ (Node_Kind_Ptr'
+ (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag315 := Val;
+ end Set_Flag315;
+
+ procedure Set_Flag316 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Byte4_Ptr
+ (Node_Kind_Ptr'
+ (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag316 := Val;
+ end Set_Flag316;
+
+ procedure Set_Flag317 (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (Nkind (N) in N_Entity);
+ To_Flag_Byte4_Ptr
+ (Node_Kind_Ptr'
+ (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag317 := Val;
+ end Set_Flag317;
+
procedure Set_Node1_With_Parent (N : Node_Id; Val : Node_Id) is
begin
pragma Assert (N <= Nodes.Last);
diff --git a/gcc/ada/atree.ads b/gcc/ada/atree.ads
index d503dc2a660..2b616bd2796 100644
--- a/gcc/ada/atree.ads
+++ b/gcc/ada/atree.ads
@@ -196,9 +196,9 @@ package Atree is
-- entity, it is of type Entity_Kind which is defined
-- in package Einfo.
- -- Flag19 235 additional flags
+ -- Flag19 299 additional flags
-- ...
- -- Flag254
+ -- Flag317
-- Convention Entity convention (Convention_Id value)
@@ -208,9 +208,9 @@ package Atree is
-- Elist6 Synonym for Field6 typed as Elist_Id (Empty = No_Elist)
-- Uint6 Synonym for Field6 typed as Uint (Empty = Uint_0)
- -- Similar definitions for Field7 to Field28 (and Node7-Node28,
- -- Elist7-Elist28, Uint7-Uint28, Ureal7-Ureal28). Note that not all these
- -- functions are defined, only the ones that are actually used.
+ -- Similar definitions for Field7 to Field35 (and also Node7-Node35,
+ -- Elist7-Elist35, Uint7-Uint35, Ureal7-Ureal35). Note that not all
+ -- these functions are defined, only the ones that are actually used.
function Last_Node_Id return Node_Id;
pragma Inline (Last_Node_Id);
@@ -334,22 +334,22 @@ package Atree is
-- Field1-5 fields are set to Empty
- -- Field6-29 fields in extended nodes are set to Empty
+ -- Field6-35 fields in extended nodes are set to Empty
-- Parent is set to Empty
-- All Boolean flag fields are set to False
- -- Note: the value Empty is used in Field1-Field17 to indicate a null node.
- -- The usage varies. The common uses are to indicate absence of an
- -- optional clause or a completely unused Field1-17 field.
+ -- Note: the value Empty is used in Field1-Field35 to indicate a null node.
+ -- The usage varies. The common uses are to indicate absence of an optional
+ -- clause or a completely unused Field1-35 field.
-------------------------------------
-- Use of Synonyms for Node Fields --
-------------------------------------
-- A subpackage Atree.Unchecked_Access provides routines for reading and
- -- writing the fields defined above (Field1-27, Node1-27, Flag4-254 etc).
+ -- writing the fields defined above (Field1-35, Node1-35, Flag4-317 etc).
-- These unchecked access routines can be used for untyped traversals.
-- In addition they are used in the implementations of the Sinfo and
-- Einfo packages. These packages both provide logical synonyms for
@@ -481,10 +481,9 @@ package Atree is
-- valid. This routine is used in conjunction with the tree rewrite
-- routines (see descriptions of Replace/Rewrite).
--
- -- Note that the resulting node has the same parent as the source
- -- node, and is thus still attached to the tree. It is valid for
- -- Source to be Empty, in which case Relocate_Node simply returns
- -- Empty as the result.
+ -- Note that the resulting node has the same parent as the source node, and
+ -- is thus still attached to the tree. It is valid for Source to be Empty,
+ -- in which case Relocate_Node simply returns Empty as the result.
function Copy_Separate_Tree (Source : Node_Id) return Node_Id;
-- Given a node that is the root of a subtree, Copy_Separate_Tree copies
@@ -508,7 +507,9 @@ package Atree is
-- entities point correctly to their original parents. The effect is thus
-- to leave the tree completely unchanged in structure, except that the
-- entity ID values of the two entities are interchanged. Neither of the
- -- two entities may be list members.
+ -- two entities may be list members. Note that entities appear on two
+ -- semantic chains: Homonym and Next_Entity: the corresponding links must
+ -- be adjusted by the caller, according to context.
function Extend_Node (Node : Node_Id) return Entity_Id;
-- This function returns a copy of its input node with an extension added.
@@ -1061,6 +1062,24 @@ package Atree is
function Field29 (N : Node_Id) return Union_Id;
pragma Inline (Field29);
+ function Field30 (N : Node_Id) return Union_Id;
+ pragma Inline (Field30);
+
+ function Field31 (N : Node_Id) return Union_Id;
+ pragma Inline (Field31);
+
+ function Field32 (N : Node_Id) return Union_Id;
+ pragma Inline (Field32);
+
+ function Field33 (N : Node_Id) return Union_Id;
+ pragma Inline (Field33);
+
+ function Field34 (N : Node_Id) return Union_Id;
+ pragma Inline (Field34);
+
+ function Field35 (N : Node_Id) return Union_Id;
+ pragma Inline (Field35);
+
function Node1 (N : Node_Id) return Node_Id;
pragma Inline (Node1);
@@ -2041,6 +2060,195 @@ package Atree is
function Flag254 (N : Node_Id) return Boolean;
pragma Inline (Flag254);
+ function Flag255 (N : Node_Id) return Boolean;
+ pragma Inline (Flag255);
+
+ function Flag256 (N : Node_Id) return Boolean;
+ pragma Inline (Flag256);
+
+ function Flag257 (N : Node_Id) return Boolean;
+ pragma Inline (Flag257);
+
+ function Flag258 (N : Node_Id) return Boolean;
+ pragma Inline (Flag258);
+
+ function Flag259 (N : Node_Id) return Boolean;
+ pragma Inline (Flag259);
+
+ function Flag260 (N : Node_Id) return Boolean;
+ pragma Inline (Flag260);
+
+ function Flag261 (N : Node_Id) return Boolean;
+ pragma Inline (Flag261);
+
+ function Flag262 (N : Node_Id) return Boolean;
+ pragma Inline (Flag262);
+
+ function Flag263 (N : Node_Id) return Boolean;
+ pragma Inline (Flag263);
+
+ function Flag264 (N : Node_Id) return Boolean;
+ pragma Inline (Flag264);
+
+ function Flag265 (N : Node_Id) return Boolean;
+ pragma Inline (Flag265);
+
+ function Flag266 (N : Node_Id) return Boolean;
+ pragma Inline (Flag266);
+
+ function Flag267 (N : Node_Id) return Boolean;
+ pragma Inline (Flag267);
+
+ function Flag268 (N : Node_Id) return Boolean;
+ pragma Inline (Flag268);
+
+ function Flag269 (N : Node_Id) return Boolean;
+ pragma Inline (Flag269);
+
+ function Flag270 (N : Node_Id) return Boolean;
+ pragma Inline (Flag270);
+
+ function Flag271 (N : Node_Id) return Boolean;
+ pragma Inline (Flag271);
+
+ function Flag272 (N : Node_Id) return Boolean;
+ pragma Inline (Flag272);
+
+ function Flag273 (N : Node_Id) return Boolean;
+ pragma Inline (Flag273);
+
+ function Flag274 (N : Node_Id) return Boolean;
+ pragma Inline (Flag274);
+
+ function Flag275 (N : Node_Id) return Boolean;
+ pragma Inline (Flag275);
+
+ function Flag276 (N : Node_Id) return Boolean;
+ pragma Inline (Flag276);
+
+ function Flag277 (N : Node_Id) return Boolean;
+ pragma Inline (Flag277);
+
+ function Flag278 (N : Node_Id) return Boolean;
+ pragma Inline (Flag278);
+
+ function Flag279 (N : Node_Id) return Boolean;
+ pragma Inline (Flag279);
+
+ function Flag280 (N : Node_Id) return Boolean;
+ pragma Inline (Flag280);
+
+ function Flag281 (N : Node_Id) return Boolean;
+ pragma Inline (Flag281);
+
+ function Flag282 (N : Node_Id) return Boolean;
+ pragma Inline (Flag282);
+
+ function Flag283 (N : Node_Id) return Boolean;
+ pragma Inline (Flag283);
+
+ function Flag284 (N : Node_Id) return Boolean;
+ pragma Inline (Flag284);
+
+ function Flag285 (N : Node_Id) return Boolean;
+ pragma Inline (Flag285);
+
+ function Flag286 (N : Node_Id) return Boolean;
+ pragma Inline (Flag286);
+
+ function Flag287 (N : Node_Id) return Boolean;
+ pragma Inline (Flag287);
+
+ function Flag288 (N : Node_Id) return Boolean;
+ pragma Inline (Flag288);
+
+ function Flag289 (N : Node_Id) return Boolean;
+ pragma Inline (Flag289);
+
+ function Flag290 (N : Node_Id) return Boolean;
+ pragma Inline (Flag290);
+
+ function Flag291 (N : Node_Id) return Boolean;
+ pragma Inline (Flag291);
+
+ function Flag292 (N : Node_Id) return Boolean;
+ pragma Inline (Flag292);
+
+ function Flag293 (N : Node_Id) return Boolean;
+ pragma Inline (Flag293);
+
+ function Flag294 (N : Node_Id) return Boolean;
+ pragma Inline (Flag294);
+
+ function Flag295 (N : Node_Id) return Boolean;
+ pragma Inline (Flag295);
+
+ function Flag296 (N : Node_Id) return Boolean;
+ pragma Inline (Flag296);
+
+ function Flag297 (N : Node_Id) return Boolean;
+ pragma Inline (Flag297);
+
+ function Flag298 (N : Node_Id) return Boolean;
+ pragma Inline (Flag298);
+
+ function Flag299 (N : Node_Id) return Boolean;
+ pragma Inline (Flag299);
+
+ function Flag300 (N : Node_Id) return Boolean;
+ pragma Inline (Flag300);
+
+ function Flag301 (N : Node_Id) return Boolean;
+ pragma Inline (Flag301);
+
+ function Flag302 (N : Node_Id) return Boolean;
+ pragma Inline (Flag302);
+
+ function Flag303 (N : Node_Id) return Boolean;
+ pragma Inline (Flag303);
+
+ function Flag304 (N : Node_Id) return Boolean;
+ pragma Inline (Flag304);
+
+ function Flag305 (N : Node_Id) return Boolean;
+ pragma Inline (Flag305);
+
+ function Flag306 (N : Node_Id) return Boolean;
+ pragma Inline (Flag306);
+
+ function Flag307 (N : Node_Id) return Boolean;
+ pragma Inline (Flag307);
+
+ function Flag308 (N : Node_Id) return Boolean;
+ pragma Inline (Flag308);
+
+ function Flag309 (N : Node_Id) return Boolean;
+ pragma Inline (Flag309);
+
+ function Flag310 (N : Node_Id) return Boolean;
+ pragma Inline (Flag310);
+
+ function Flag311 (N : Node_Id) return Boolean;
+ pragma Inline (Flag311);
+
+ function Flag312 (N : Node_Id) return Boolean;
+ pragma Inline (Flag312);
+
+ function Flag313 (N : Node_Id) return Boolean;
+ pragma Inline (Flag313);
+
+ function Flag314 (N : Node_Id) return Boolean;
+ pragma Inline (Flag314);
+
+ function Flag315 (N : Node_Id) return Boolean;
+ pragma Inline (Flag315);
+
+ function Flag316 (N : Node_Id) return Boolean;
+ pragma Inline (Flag316);
+
+ function Flag317 (N : Node_Id) return Boolean;
+ pragma Inline (Flag317);
+
-- Procedures to set value of indicated field
procedure Set_Nkind (N : Node_Id; Val : Node_Kind);
@@ -2133,6 +2341,24 @@ package Atree is
procedure Set_Field29 (N : Node_Id; Val : Union_Id);
pragma Inline (Set_Field29);
+ procedure Set_Field30 (N : Node_Id; Val : Union_Id);
+ pragma Inline (Set_Field30);
+
+ procedure Set_Field31 (N : Node_Id; Val : Union_Id);
+ pragma Inline (Set_Field31);
+
+ procedure Set_Field32 (N : Node_Id; Val : Union_Id);
+ pragma Inline (Set_Field32);
+
+ procedure Set_Field33 (N : Node_Id; Val : Union_Id);
+ pragma Inline (Set_Field33);
+
+ procedure Set_Field34 (N : Node_Id; Val : Union_Id);
+ pragma Inline (Set_Field34);
+
+ procedure Set_Field35 (N : Node_Id; Val : Union_Id);
+ pragma Inline (Set_Field35);
+
procedure Set_Node1 (N : Node_Id; Val : Node_Id);
pragma Inline (Set_Node1);
@@ -3108,6 +3334,195 @@ package Atree is
procedure Set_Flag254 (N : Node_Id; Val : Boolean);
pragma Inline (Set_Flag254);
+ procedure Set_Flag255 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag255);
+
+ procedure Set_Flag256 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag256);
+
+ procedure Set_Flag257 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag257);
+
+ procedure Set_Flag258 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag258);
+
+ procedure Set_Flag259 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag259);
+
+ procedure Set_Flag260 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag260);
+
+ procedure Set_Flag261 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag261);
+
+ procedure Set_Flag262 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag262);
+
+ procedure Set_Flag263 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag263);
+
+ procedure Set_Flag264 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag264);
+
+ procedure Set_Flag265 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag265);
+
+ procedure Set_Flag266 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag266);
+
+ procedure Set_Flag267 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag267);
+
+ procedure Set_Flag268 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag268);
+
+ procedure Set_Flag269 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag269);
+
+ procedure Set_Flag270 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag270);
+
+ procedure Set_Flag271 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag271);
+
+ procedure Set_Flag272 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag272);
+
+ procedure Set_Flag273 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag273);
+
+ procedure Set_Flag274 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag274);
+
+ procedure Set_Flag275 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag275);
+
+ procedure Set_Flag276 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag276);
+
+ procedure Set_Flag277 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag277);
+
+ procedure Set_Flag278 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag278);
+
+ procedure Set_Flag279 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag279);
+
+ procedure Set_Flag280 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag280);
+
+ procedure Set_Flag281 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag281);
+
+ procedure Set_Flag282 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag282);
+
+ procedure Set_Flag283 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag283);
+
+ procedure Set_Flag284 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag284);
+
+ procedure Set_Flag285 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag285);
+
+ procedure Set_Flag286 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag286);
+
+ procedure Set_Flag287 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag287);
+
+ procedure Set_Flag288 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag288);
+
+ procedure Set_Flag289 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag289);
+
+ procedure Set_Flag290 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag290);
+
+ procedure Set_Flag291 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag291);
+
+ procedure Set_Flag292 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag292);
+
+ procedure Set_Flag293 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag293);
+
+ procedure Set_Flag294 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag294);
+
+ procedure Set_Flag295 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag295);
+
+ procedure Set_Flag296 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag296);
+
+ procedure Set_Flag297 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag297);
+
+ procedure Set_Flag298 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag298);
+
+ procedure Set_Flag299 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag299);
+
+ procedure Set_Flag300 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag300);
+
+ procedure Set_Flag301 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag301);
+
+ procedure Set_Flag302 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag302);
+
+ procedure Set_Flag303 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag303);
+
+ procedure Set_Flag304 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag304);
+
+ procedure Set_Flag305 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag305);
+
+ procedure Set_Flag306 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag306);
+
+ procedure Set_Flag307 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag307);
+
+ procedure Set_Flag308 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag308);
+
+ procedure Set_Flag309 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag309);
+
+ procedure Set_Flag310 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag310);
+
+ procedure Set_Flag311 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag311);
+
+ procedure Set_Flag312 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag312);
+
+ procedure Set_Flag313 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag313);
+
+ procedure Set_Flag314 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag314);
+
+ procedure Set_Flag315 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag315);
+
+ procedure Set_Flag316 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag316);
+
+ procedure Set_Flag317 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag317);
+
-- The following versions of Set_Noden also set the parent pointer of
-- the referenced node if it is not Empty.
@@ -3224,32 +3639,32 @@ package Atree is
Flag18 : Boolean;
-- The eighteen flags for a normal node
- -- The above fields are used as follows in components 2-5 of
+ -- The above fields are used as follows in components 2-6 of
-- an extended node entry.
- -- In_List used as Flag19, Flag40, Flag129, Flag216
- -- Has_Aspects used as Flag20, Flag41, Flag130, Flag217
- -- Rewrite_Ins used as Flag21, Flag42, Flag131, Flag218
- -- Analyzed used as Flag22, Flag43, Flag132, Flag219
- -- Comes_From_Source used as Flag23, Flag44, Flag133, Flag220
- -- Error_Posted used as Flag24, Flag45, Flag134, Flag221
- -- Flag4 used as Flag25, Flag46, Flag135, Flag222
- -- Flag5 used as Flag26, Flag47, Flag136, Flag223
- -- Flag6 used as Flag27, Flag48, Flag137, Flag224
- -- Flag7 used as Flag28, Flag49, Flag138, Flag225
- -- Flag8 used as Flag29, Flag50, Flag139, Flag226
- -- Flag9 used as Flag30, Flag51, Flag140, Flag227
- -- Flag10 used as Flag31, Flag52, Flag141, Flag228
- -- Flag11 used as Flag32, Flag53, Flag142, Flag229
- -- Flag12 used as Flag33, Flag54, Flag143, Flag230
- -- Flag13 used as Flag34, Flag55, Flag144, Flag231
- -- Flag14 used as Flag35, Flag56, Flag145, Flag232
- -- Flag15 used as Flag36, Flag57, Flag146, Flag233
- -- Flag16 used as Flag37, Flag58, Flag147, Flag234
- -- Flag17 used as Flag38, Flag59, Flag148, Flag235
- -- Flag18 used as Flag39, Flag60, Flag149, Flag236
- -- Pflag1 used as Flag61, Flag62, Flag150, Flag237
- -- Pflag2 used as Flag63, Flag64, Flag151, Flag238
+ -- In_List used as Flag19,Flag40,Flag129,Flag216,Flag287
+ -- Has_Aspects used as Flag20,Flag41,Flag130,Flag217,Flag288
+ -- Rewrite_Ins used as Flag21,Flag42,Flag131,Flag218,Flag289
+ -- Analyzed used as Flag22,Flag43,Flag132,Flag219,Flag290
+ -- Comes_From_Source used as Flag23,Flag44,Flag133,Flag220,Flag291
+ -- Error_Posted used as Flag24,Flag45,Flag134,Flag221,Flag292
+ -- Flag4 used as Flag25,Flag46,Flag135,Flag222,Flag293
+ -- Flag5 used as Flag26,Flag47,Flag136,Flag223,Flag294
+ -- Flag6 used as Flag27,Flag48,Flag137,Flag224,Flag295
+ -- Flag7 used as Flag28,Flag49,Flag138,Flag225,Flag296
+ -- Flag8 used as Flag29,Flag50,Flag139,Flag226,Flag297
+ -- Flag9 used as Flag30,Flag51,Flag140,Flag227,Flag298
+ -- Flag10 used as Flag31,Flag52,Flag141,Flag228,Flag299
+ -- Flag11 used as Flag32,Flag53,Flag142,Flag229,Flag300
+ -- Flag12 used as Flag33,Flag54,Flag143,Flag230,Flag301
+ -- Flag13 used as Flag34,Flag55,Flag144,Flag231,Flag302
+ -- Flag14 used as Flag35,Flag56,Flag145,Flag232,Flag303
+ -- Flag15 used as Flag36,Flag57,Flag146,Flag233,Flag304
+ -- Flag16 used as Flag37,Flag58,Flag147,Flag234,Flag305
+ -- Flag17 used as Flag38,Flag59,Flag148,Flag235,Flag306
+ -- Flag18 used as Flag39,Flag60,Flag149,Flag236,Flag307
+ -- Pflag1 used as Flag61,Flag62,Flag150,Flag237,Flag308
+ -- Pflag2 used as Flag63,Flag64,Flag151,Flag238,Flag309
Nkind : Node_Kind;
-- For a non-extended node, or the initial section of an extended
@@ -3260,6 +3675,7 @@ package Atree is
-- Third entry: holds 8 additional flags (Flag65-Flag72)
-- Fourth entry: holds 8 additional flags (Flag239-246)
-- Fifth entry: holds 8 additional flags (Flag247-254)
+ -- Sixth entry: holds 8 additional flags (Flag310-317)
-- Now finally (on an 32-bit boundary!) comes the variant part
@@ -3325,6 +3741,13 @@ package Atree is
-- Field6-11 Holds Field24-Field29
-- Field12 Holds Flag184-Flag215
+ -- In the sixth component, the extension format as described
+ -- above is used to hold additional general fields and flags
+ -- as follows:
+
+ -- Field6-11 Holds Field30-Field35
+ -- Field12 Holds Flag255-Flag286
+
end case;
end record;
@@ -3378,10 +3801,10 @@ package Atree is
Field5 => Empty_List_Or_Node);
-- Default value used to initialize node extensions (i.e. the second
- -- and third and fourth components of an extended node). Note we are
- -- cheating a bit here when it comes to Node12, which really holds
- -- flags an (for the third component), the convention. But it works
- -- because Empty, False, Convention_Ada, all happen to be all zero bits.
+ -- through sixth components of an extended node). Note we are cheating
+ -- a bit here when it comes to Node12, which really holds flags and (for
+ -- the third component), the convention. But it works because Empty,
+ -- False, Convention_Ada, all happen to be all zero bits.
Default_Node_Extension : constant Node_Record := (
Is_Extension => True,
diff --git a/gcc/ada/checks.adb b/gcc/ada/checks.adb
index 38b6ea4d7e2..a0ca4c61a43 100644
--- a/gcc/ada/checks.adb
+++ b/gcc/ada/checks.adb
@@ -575,6 +575,8 @@ package body Checks is
--------------------------------
procedure Apply_Address_Clause_Check (E : Entity_Id; N : Node_Id) is
+ pragma Assert (Nkind (N) = N_Freeze_Entity);
+
AC : constant Node_Id := Address_Clause (E);
Loc : constant Source_Ptr := Sloc (AC);
Typ : constant Entity_Id := Etype (E);
@@ -734,7 +736,11 @@ package body Checks is
Remove_Side_Effects (Expr);
end if;
- Insert_After_And_Analyze (N,
+ if No (Actions (N)) then
+ Set_Actions (N, New_List);
+ end if;
+
+ Prepend_To (Actions (N),
Make_Raise_Program_Error (Loc,
Condition =>
Make_Op_Ne (Loc,
@@ -745,11 +751,11 @@ package body Checks is
(RTE (RE_Integer_Address), Expr),
Right_Opnd =>
Make_Attribute_Reference (Loc,
- Prefix => New_Occurrence_Of (E, Loc),
+ Prefix => New_Occurrence_Of (E, Loc),
Attribute_Name => Name_Alignment)),
Right_Opnd => Make_Integer_Literal (Loc, Uint_0)),
- Reason => PE_Misaligned_Address_Value),
- Suppress => All_Checks);
+ Reason => PE_Misaligned_Address_Value));
+ Analyze (First (Actions (N)), Suppress => All_Checks);
return;
end if;
@@ -5516,6 +5522,23 @@ package body Checks is
or else Index_Checks_Suppressed (Etype (A))
then
return;
+
+ -- The indexed component we are dealing with contains 'Loop_Entry in its
+ -- prefix. This case arises when analysis has determined that constructs
+ -- such as
+
+ -- Prefix'Loop_Entry (Expr)
+ -- Prefix'Loop_Entry (Expr1, Expr2, ... ExprN)
+
+ -- require rewriting for error detection purposes. A side effect of this
+ -- action is the generation of index checks that mention 'Loop_Entry.
+ -- Delay the generation of the check until 'Loop_Entry has been properly
+ -- expanded. This is done in Expand_Loop_Entry_Attributes.
+
+ elsif Nkind (Prefix (N)) = N_Attribute_Reference
+ and then Attribute_Name (Prefix (N)) = Name_Loop_Entry
+ then
+ return;
end if;
-- Generate a raise of constraint error with the appropriate reason and
@@ -6216,6 +6239,8 @@ package body Checks is
declare
DRC : constant Boolean := Do_Range_Check (Exp);
+ PV : Node_Id;
+ CE : Node_Id;
begin
Set_Do_Range_Check (Exp, False);
@@ -6228,22 +6253,43 @@ package body Checks is
Force_Evaluation (Exp, Name_Req => True);
end if;
- -- Insert the validity check. Note that we do this with validity
- -- checks turned off, to avoid recursion, we do not want validity
- -- checks on the validity checking code itself!
+ -- Build the prefix for the 'Valid call
+
+ PV := Duplicate_Subexpr_No_Checks (Exp, Name_Req => True);
- Insert_Action
- (Expr,
+ -- A rather specialized kludge. If PV is an analyzed expression
+ -- which is an indexed component of a packed array that has not
+ -- been properly expanded, turn off its Analyzed flag to make sure
+ -- it gets properly reexpanded.
+
+ -- The reason this arises is that Duplicate_Subexpr_No_Checks did
+ -- an analyze with the old parent pointer. This may point e.g. to
+ -- a subprogram call, which deactivates this expansion.
+
+ if Analyzed (PV)
+ and then Nkind (PV) = N_Indexed_Component
+ and then Present (Packed_Array_Type (Etype (Prefix (PV))))
+ then
+ Set_Analyzed (PV, False);
+ end if;
+
+ -- Build the raise CE node to check for validity
+
+ CE :=
Make_Raise_Constraint_Error (Loc,
Condition =>
Make_Op_Not (Loc,
Right_Opnd =>
Make_Attribute_Reference (Loc,
- Prefix =>
- Duplicate_Subexpr_No_Checks (Exp, Name_Req => True),
+ Prefix => PV,
Attribute_Name => Name_Valid)),
- Reason => CE_Invalid_Data),
- Suppress => Validity_Check);
+ Reason => CE_Invalid_Data);
+
+ -- Insert the validity check. Note that we do this with validity
+ -- checks turned off, to avoid recursion, we do not want validity
+ -- checks on the validity checking code itself!
+
+ Insert_Action (Expr, CE, Suppress => Validity_Check);
-- If the expression is a reference to an element of a bit-packed
-- array, then it is rewritten as a renaming declaration. If the
diff --git a/gcc/ada/checks.ads b/gcc/ada/checks.ads
index 2221f0ea292..fb7370628ab 100644
--- a/gcc/ada/checks.ads
+++ b/gcc/ada/checks.ads
@@ -131,8 +131,11 @@ package Checks is
-- are enabled, then this procedure generates a check that the specified
-- address has an alignment consistent with the alignment of the object,
-- raising PE if this is not the case. The resulting check (if one is
- -- generated) is inserted before node N. check is also made for the case of
- -- a clear overlay situation that the size of the overlaying object is not
+ -- generated) is prepended to the Actions list of N_Freeze_Entity node N.
+ -- Note that the check references E'Alignment, so it cannot be emitted
+ -- before N (its freeze node), otherwise this would cause an illegal
+ -- access before elaboration error in GIGI. For the case of a clear overlay
+ -- situation, we also check that the size of the overlaying object is not
-- larger than the overlaid object.
procedure Apply_Arithmetic_Overflow_Check (N : Node_Id);
diff --git a/gcc/ada/einfo.adb b/gcc/ada/einfo.adb
index 34f61b9f25e..ef4f191ffd1 100644
--- a/gcc/ada/einfo.adb
+++ b/gcc/ada/einfo.adb
@@ -76,6 +76,7 @@ package body Einfo is
-- Associated_Node_For_Itype Node8
-- Dependent_Instances Elist8
-- Hiding_Loop_Variable Node8
+ -- Integrity_Level Uint8
-- Mechanism Uint8 (but returns Mechanism_Type)
-- Normalized_First_Bit Uint8
-- Postcondition_Proc Node8
@@ -84,6 +85,7 @@ package body Einfo is
-- Class_Wide_Type Node9
-- Current_Value Node9
+ -- Refined_State Node9
-- Renaming_Map Uint9
-- Direct_Primitive_Operations Elist10
@@ -237,10 +239,23 @@ package body Einfo is
-- Wrapped_Entity Node27
-- Extra_Formals Node28
+ -- Initialization_Statements Node28
-- Underlying_Record_View Node28
-- Subprograms_For_Type Node29
+ -- (unused) Node30
+
+ -- (unused) Node31
+
+ -- (unused) Node32
+
+ -- (unused) Node33
+
+ -- (unused) Node34
+
+ -- (unused) Node35
+
---------------------------------------------
-- Usage of Flags in Defining Entity Nodes --
---------------------------------------------
@@ -250,7 +265,7 @@ package body Einfo is
-- sense for them to be set true for certain subsets of entity kinds. See
-- the spec of Einfo for further details.
- -- Note: Flag1-Flag3 are absent from this list, for historical reasons
+ -- Note: Flag1-Flag3 are not used, for historical reasons
-- Is_Frozen Flag4
-- Has_Discriminants Flag5
@@ -375,7 +390,7 @@ package body Einfo is
-- No_Return Flag113
-- Delay_Cleanups Flag114
-- Never_Set_In_Source Flag115
- -- Is_Visible_Child_Unit Flag116
+ -- Is_Visible_Lib_Unit Flag116
-- Is_Unchecked_Union Flag117
-- Is_For_Access_Subtype Flag118
-- Has_Convention_Pragma Flag119
@@ -530,10 +545,86 @@ package body Einfo is
-- (unused) Flag201
+ -- (unused) Flag255
+ -- (unused) Flag256
+ -- (unused) Flag257
+ -- (unused) Flag258
+ -- (unused) Flag259
+ -- (unused) Flag260
+
+ -- (unused) Flag261
+ -- (unused) Flag262
+ -- (unused) Flag263
+ -- (unused) Flag264
+ -- (unused) Flag265
+ -- (unused) Flag266
+ -- (unused) Flag267
+ -- (unused) Flag268
+ -- (unused) Flag269
+ -- (unused) Flag270
+
+ -- (unused) Flag271
+ -- (unused) Flag272
+ -- (unused) Flag273
+ -- (unused) Flag274
+ -- (unused) Flag275
+ -- (unused) Flag276
+ -- (unused) Flag277
+ -- (unused) Flag278
+ -- (unused) Flag279
+ -- (unused) Flag280
+
+ -- (unused) Flag281
+ -- (unused) Flag282
+ -- (unused) Flag283
+ -- (unused) Flag284
+ -- (unused) Flag285
+ -- (unused) Flag286
+ -- (unused) Flag287
+ -- (unused) Flag288
+ -- (unused) Flag289
+ -- (unused) Flag290
+
+ -- (unused) Flag291
+ -- (unused) Flag292
+ -- (unused) Flag293
+ -- (unused) Flag294
+ -- (unused) Flag295
+ -- (unused) Flag296
+ -- (unused) Flag297
+ -- (unused) Flag298
+ -- (unused) Flag299
+ -- (unused) Flag300
+
+ -- (unused) Flag301
+ -- (unused) Flag302
+ -- (unused) Flag303
+ -- (unused) Flag304
+ -- (unused) Flag305
+ -- (unused) Flag306
+ -- (unused) Flag307
+ -- (unused) Flag308
+ -- (unused) Flag309
+ -- (unused) Flag310
+
+ -- (unused) Flag311
+ -- (unused) Flag312
+ -- (unused) Flag313
+ -- (unused) Flag314
+ -- (unused) Flag315
+ -- (unused) Flag316
+ -- (unused) Flag317
+
-----------------------
-- Local subprograms --
-----------------------
+ function Has_Property
+ (State : Entity_Id;
+ Prop_Nam : Name_Id) return Boolean;
+ -- Determine whether abstract state State has a particular property denoted
+ -- by the name Prop_Nam.
+
function Rep_Clause (Id : E; Rep_Name : Name_Id) return N;
-- Returns the attribute definition clause for Id whose name is Rep_Name.
-- Returns Empty if no matching attribute definition clause found for Id.
@@ -548,6 +639,41 @@ package body Einfo is
return F'Val (UI_To_Int (Uint10 (Base_Type (Id))));
end Float_Rep;
+ ------------------
+ -- Has_Property --
+ ------------------
+
+ function Has_Property
+ (State : Entity_Id;
+ Prop_Nam : Name_Id) return Boolean
+ is
+ Par : constant Node_Id := Parent (State);
+ Prop : Node_Id;
+
+ begin
+ pragma Assert (Ekind (State) = E_Abstract_State);
+
+ -- States with properties appear as extension aggregates in the tree
+
+ if Nkind (Par) = N_Extension_Aggregate then
+ if Prop_Nam = Name_Integrity then
+ return Present (Component_Associations (Par));
+
+ else
+ Prop := First (Expressions (Par));
+ while Present (Prop) loop
+ if Chars (Prop) = Prop_Nam then
+ return True;
+ end if;
+
+ Next (Prop);
+ end loop;
+ end if;
+ end if;
+
+ return False;
+ end Has_Property;
+
----------------
-- Rep_Clause --
----------------
@@ -574,6 +700,12 @@ package body Einfo is
-- Attribute Access Functions --
--------------------------------
+ function Abstract_States (Id : E) return L is
+ begin
+ pragma Assert (Ekind (Id) = E_Package);
+ return Elist25 (Id);
+ end Abstract_States;
+
function Accept_Address (Id : E) return L is
begin
return Elist21 (Id);
@@ -1655,6 +1787,18 @@ package body Einfo is
return Flag8 (Id);
end In_Use;
+ function Initialization_Statements (Id : E) return N is
+ begin
+ pragma Assert (Ekind_In (Id, E_Constant, E_Variable));
+ return Node28 (Id);
+ end Initialization_Statements;
+
+ function Integrity_Level (Id : E) return U is
+ begin
+ pragma Assert (Ekind (Id) = E_Abstract_State);
+ return Uint8 (Id);
+ end Integrity_Level;
+
function Inner_Instances (Id : E) return L is
begin
return Elist23 (Id);
@@ -2175,17 +2319,16 @@ package body Einfo is
return Flag127 (Id);
end Is_Valued_Procedure;
- function Is_Visible_Child_Unit (Id : E) return B is
- begin
- pragma Assert (Is_Child_Unit (Id));
- return Flag116 (Id);
- end Is_Visible_Child_Unit;
-
function Is_Visible_Formal (Id : E) return B is
begin
return Flag206 (Id);
end Is_Visible_Formal;
+ function Is_Visible_Lib_Unit (Id : E) return B is
+ begin
+ return Flag116 (Id);
+ end Is_Visible_Lib_Unit;
+
function Is_VMS_Exception (Id : E) return B is
begin
return Flag133 (Id);
@@ -2528,6 +2671,12 @@ package body Einfo is
return Flag227 (Id);
end Referenced_As_Out_Parameter;
+ function Refined_State (Id : E) return E is
+ begin
+ pragma Assert (Ekind (Id) = E_Abstract_State);
+ return Node9 (Id);
+ end Refined_State;
+
function Register_Exception_Call (Id : E) return N is
begin
pragma Assert (Ekind (Id) = E_Exception);
@@ -3078,6 +3227,12 @@ package body Einfo is
-- it is possible to add assertions that specifically include the E_Void
-- possibility, but in some cases, we just omit the assertions.
+ procedure Set_Abstract_States (Id : E; V : L) is
+ begin
+ pragma Assert (Ekind (Id) = E_Package);
+ Set_Elist25 (Id, V);
+ end Set_Abstract_States;
+
procedure Set_Accept_Address (Id : E; V : L) is
begin
Set_Elist21 (Id, V);
@@ -4188,6 +4343,22 @@ package body Einfo is
Set_Flag8 (Id, V);
end Set_In_Use;
+ procedure Set_Initialization_Statements (Id : E; V : N) is
+ begin
+ -- Tolerate an E_Void entity since this can be called while resolving
+ -- an aggregate used as the initialization expression for an object
+ -- declaration, and this occurs before the Ekind for the object is set.
+
+ pragma Assert (Ekind_In (Id, E_Void, E_Constant, E_Variable));
+ Set_Node28 (Id, V);
+ end Set_Initialization_Statements;
+
+ procedure Set_Integrity_Level (Id : E; V : Uint) is
+ begin
+ pragma Assert (Ekind (Id) = E_Abstract_State);
+ Set_Uint8 (Id, V);
+ end Set_Integrity_Level;
+
procedure Set_Inner_Instances (Id : E; V : L) is
begin
Set_Elist23 (Id, V);
@@ -4736,17 +4907,16 @@ package body Einfo is
Set_Flag127 (Id, V);
end Set_Is_Valued_Procedure;
- procedure Set_Is_Visible_Child_Unit (Id : E; V : B := True) is
- begin
- pragma Assert (Is_Child_Unit (Id));
- Set_Flag116 (Id, V);
- end Set_Is_Visible_Child_Unit;
-
procedure Set_Is_Visible_Formal (Id : E; V : B := True) is
begin
Set_Flag206 (Id, V);
end Set_Is_Visible_Formal;
+ procedure Set_Is_Visible_Lib_Unit (Id : E; V : B := True) is
+ begin
+ Set_Flag116 (Id, V);
+ end Set_Is_Visible_Lib_Unit;
+
procedure Set_Is_VMS_Exception (Id : E; V : B := True) is
begin
pragma Assert (Ekind (Id) = E_Exception);
@@ -5099,6 +5269,12 @@ package body Einfo is
Set_Flag227 (Id, V);
end Set_Referenced_As_Out_Parameter;
+ procedure Set_Refined_State (Id : E; V : E) is
+ begin
+ pragma Assert (Ekind (Id) = E_Abstract_State);
+ Set_Node9 (Id, V);
+ end Set_Refined_State;
+
procedure Set_Register_Exception_Call (Id : E; V : N) is
begin
pragma Assert (Ekind (Id) = E_Exception);
@@ -5910,14 +6086,12 @@ package body Einfo is
begin
pragma Assert
(Is_Record_Type (Id)
- or else Is_Incomplete_Or_Private_Type (Id)
- or else Has_Discriminants (Id));
+ or else Is_Incomplete_Or_Private_Type (Id)
+ or else Has_Discriminants (Id));
Comp_Id := First_Entity (Id);
while Present (Comp_Id) loop
- exit when Ekind (Comp_Id) = E_Component
- or else
- Ekind (Comp_Id) = E_Discriminant;
+ exit when Ekind_In (Comp_Id, E_Component, E_Discriminant);
Comp_Id := Next_Entity (Comp_Id);
end loop;
@@ -6355,6 +6529,37 @@ package body Einfo is
and then Chars (Id) = Name_uFinalizer;
end Is_Finalizer;
+ --------------------
+ -- Is_Input_State --
+ --------------------
+
+ function Is_Input_State (Id : E) return B is
+ begin
+ return
+ Ekind (Id) = E_Abstract_State and then Has_Property (Id, Name_Input);
+ end Is_Input_State;
+
+ -------------------
+ -- Is_Null_State --
+ -------------------
+
+ function Is_Null_State (Id : E) return B is
+ begin
+ return
+ Ekind (Id) = E_Abstract_State
+ and then Nkind (Parent (Id)) = N_Null;
+ end Is_Null_State;
+
+ ---------------------
+ -- Is_Output_State --
+ ---------------------
+
+ function Is_Output_State (Id : E) return B is
+ begin
+ return
+ Ekind (Id) = E_Abstract_State and then Has_Property (Id, Name_Output);
+ end Is_Output_State;
+
-----------------------------------
-- Is_Package_Or_Generic_Package --
-----------------------------------
@@ -6367,33 +6572,6 @@ package body Einfo is
Ekind (Id) = E_Generic_Package;
end Is_Package_Or_Generic_Package;
- ------------------------
- -- Predicate_Function --
- ------------------------
-
- function Predicate_Function (Id : E) return E is
- S : Entity_Id;
-
- begin
- pragma Assert (Is_Type (Id));
-
- if No (Subprograms_For_Type (Id)) then
- return Empty;
-
- else
- S := Subprograms_For_Type (Id);
- while Present (S) loop
- if Has_Predicates (S) then
- return S;
- else
- S := Subprograms_For_Type (S);
- end if;
- end loop;
-
- return Empty;
- end if;
- end Predicate_Function;
-
---------------
-- Is_Prival --
---------------
@@ -6525,6 +6703,17 @@ package body Einfo is
and then Is_Task_Type (Corresponding_Concurrent_Type (Id));
end Is_Task_Record_Type;
+ -----------------------
+ -- Is_Volatile_State --
+ -----------------------
+
+ function Is_Volatile_State (Id : E) return B is
+ begin
+ return
+ Ekind (Id) = E_Abstract_State
+ and then Has_Property (Id, Name_Volatile);
+ end Is_Volatile_State;
+
------------------------
-- Is_Wrapper_Package --
------------------------
@@ -6908,6 +7097,33 @@ package body Einfo is
return Ekind (Id);
end Parameter_Mode;
+ ------------------------
+ -- Predicate_Function --
+ ------------------------
+
+ function Predicate_Function (Id : E) return E is
+ S : Entity_Id;
+
+ begin
+ pragma Assert (Is_Type (Id));
+
+ if No (Subprograms_For_Type (Id)) then
+ return Empty;
+
+ else
+ S := Subprograms_For_Type (Id);
+ while Present (S) loop
+ if Has_Predicates (S) then
+ return S;
+ else
+ S := Subprograms_For_Type (S);
+ end if;
+ end loop;
+
+ return Empty;
+ end if;
+ end Predicate_Function;
+
-------------------------
-- Present_In_Rep_Item --
-------------------------
@@ -7604,8 +7820,8 @@ package body Einfo is
W ("Is_Unsigned_Type", Flag144 (Id));
W ("Is_VMS_Exception", Flag133 (Id));
W ("Is_Valued_Procedure", Flag127 (Id));
- W ("Is_Visible_Child_Unit", Flag116 (Id));
W ("Is_Visible_Formal", Flag206 (Id));
+ W ("Is_Visible_Lib_Unit", Flag116 (Id));
W ("Is_Volatile", Flag16 (Id));
W ("Itype_Printed", Flag202 (Id));
W ("Kill_Elaboration_Checks", Flag32 (Id));
@@ -7826,6 +8042,9 @@ package body Einfo is
when E_Variable =>
Write_Str ("Hiding_Loop_Variable");
+ when E_Abstract_State =>
+ Write_Str ("Integrity_Level");
+
when Formal_Kind |
E_Function |
E_Subprogram_Body =>
@@ -7859,6 +8078,9 @@ package body Einfo is
when Object_Kind =>
Write_Str ("Current_Value");
+ when E_Abstract_State =>
+ Write_Str ("Refined_State");
+
when E_Function |
E_Generic_Function |
E_Generic_Package |
@@ -8585,6 +8807,9 @@ package body Einfo is
procedure Write_Field25_Name (Id : Entity_Id) is
begin
case Ekind (Id) is
+ when E_Package =>
+ Write_Str ("Abstract_States");
+
when E_Variable =>
Write_Str ("Debug_Renaming_Link");
@@ -8706,6 +8931,9 @@ package body Einfo is
E_Subprogram_Type =>
Write_Str ("Extra_Formals");
+ when E_Constant | E_Variable =>
+ Write_Str ("Initialization_Statements");
+
when E_Record_Type =>
Write_Str ("Underlying_Record_View");
diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads
index 1b412e51d88..2f8e96dd18a 100644
--- a/gcc/ada/einfo.ads
+++ b/gcc/ada/einfo.ads
@@ -327,6 +327,10 @@ package Einfo is
-- type, and if assertions are enabled, an attempt to set the attribute on a
-- subtype will raise an assert error.
+-- Abstract_States (Elist25)
+-- Defined for E_Package entities. Contains a list of all the abstract
+-- states declared by the related package.
+
-- Accept_Address (Elist21)
-- Defined in entries. If an accept has a statement sequence, then an
-- address variable is created, which is used to hold the address of the
@@ -846,8 +850,9 @@ package Einfo is
-- full details of the use of discriminals.
-- Discriminal_Link (Node10)
--- Defined in discriminals (which have an Ekind of E_In_Parameter,
--- or E_Constant), points back to corresponding discriminant.
+-- Defined in E_In_Parameter or E_Constant entities. For discriminals,
+-- points back to corresponding discriminant. For other entities, must
+-- remain Empty.
-- Discriminant_Checking_Func (Node20)
-- Defined in components. Points to the defining identifier of the
@@ -1906,18 +1911,6 @@ package Einfo is
-- that we still have a concrete type. For entities other than types,
-- returns the entity unchanged.
--- Interface_Alias (Node25)
--- Defined in subprograms that cover a primitive operation of an abstract
--- interface type. Can be set only if the Is_Hidden flag is also set,
--- since such entities are always hidden. Points to its associated
--- interface subprogram. It is used to register the subprogram in
--- secondary dispatch table of the interface (Ada 2005: AI-251).
-
--- Interfaces (Elist25)
--- Defined in record types and subtypes. List of abstract interfaces
--- implemented by a tagged type that are not already implemented by the
--- ancestors (Ada 2005: AI-251).
-
-- In_Package_Body (Flag48)
-- Defined in package entities. Set on the entity that denotes the
-- package (the defining occurrence of the package declaration) while
@@ -1931,11 +1924,29 @@ package Einfo is
-- the end of the package declaration. For objects it indicates that the
-- declaration of the object occurs in the private part of a package.
+-- Initialization_Statements (Node28)
+-- Defined in constants and variables. For a composite object initialized
+-- initialized with an aggregate that has been converted to a sequence
+-- of assignments, points to a block statement containing the
+-- assignments.
+
-- Inner_Instances (Elist23)
-- Defined in generic units. Contains element list of units that are
-- instantiated within the given generic. Used to diagnose circular
-- instantiations.
+-- Integrity_Level (Uint8)
+-- Defined for E_Abstract_State entities. Contains the numerical value of
+-- the integrity level state property. A value of Uint_0 designates a non
+-- existent integrity.
+
+-- Interface_Alias (Node25)
+-- Defined in subprograms that cover a primitive operation of an abstract
+-- interface type. Can be set only if the Is_Hidden flag is also set,
+-- since such entities are always hidden. Points to its associated
+-- interface subprogram. It is used to register the subprogram in
+-- secondary dispatch table of the interface (Ada 2005: AI-251).
+
-- Interface_Name (Node21)
-- Defined in constants, variables, exceptions, functions, procedures,
-- packages, components (JGNAT only), discriminants (JGNAT only), and
@@ -1960,6 +1971,11 @@ package Einfo is
-- External_Name of the imported Java field (which is generally needed,
-- because Java names are case sensitive).
+-- Interfaces (Elist25)
+-- Defined in record types and subtypes. List of abstract interfaces
+-- implemented by a tagged type that are not already implemented by the
+-- ancestors (Ada 2005: AI-251).
+
-- Invariant_Procedure (synthesized)
-- Defined in types and subtypes. Set for private types if one or more
-- Invariant, or Invariant'Class, or inherited Invariant'Class aspects
@@ -2168,7 +2184,7 @@ package Einfo is
-- Is_Discriminal (synthesized)
-- Applies to all entities, true for renamings of discriminants. Such
--- entities appear as constants or in parameters.
+-- entities appear as constants or IN parameters.
-- Is_Dispatch_Table_Entity (Flag234)
-- Applies to all entities. Set to indicate to the backend that this
@@ -2322,6 +2338,10 @@ package Einfo is
-- inherited by their instances. It is also set on the body entities
-- of inlined subprograms. See also Has_Pragma_Inline.
+-- Is_Input_State (synthesized)
+-- Applies to all entities, true for abstract states that are subject to
+-- property Input.
+
-- Is_Instantiated (Flag126)
-- Defined in generic packages and generic subprograms. Set if the unit
-- is instantiated from somewhere in the extended main source unit. This
@@ -2516,6 +2536,10 @@ package Einfo is
-- but there is no need to call such procedures within a compilation
-- unit, and this flag is used to suppress such calls.
+-- Is_Null_State (synthesized)
+-- Applies to all entities, true for an abstract state declared with
+-- keyword null.
+
-- Is_Numeric_Type (synthesized)
-- Applies to all entities, true for all numeric types and subtypes
-- (integer, fixed, float).
@@ -2543,6 +2567,10 @@ package Einfo is
-- Applies to all entities, true for ordinary fixed point types and
-- subtypes.
+-- Is_Output_State (synthesized)
+-- Applies to all entities, true for abstract states that are subject to
+-- property Output.
+
-- Is_Package_Or_Generic_Package (synthesized)
-- Applies to all entities. True for packages and generic packages.
-- False for all other entities.
@@ -2856,18 +2884,18 @@ package Einfo is
-- Defined in procedure entities. Set if an Import_Valued_Procedure
-- or Export_Valued_Procedure pragma applies to the procedure entity.
--- Is_Visible_Child_Unit (Flag116)
--- Defined in compilation units that are child units. Once compiled,
--- child units remain chained to the entities in the parent unit, and
--- a separate flag must be used to indicate whether the names are
--- visible by selected notation, or not.
-
-- Is_Visible_Formal (Flag206)
-- Defined in all entities. Set True for instances of the formals of a
-- formal package. Indicates that the entity must be made visible in the
-- body of the instance, to reproduce the visibility of the generic.
-- This simplifies visibility settings in instance bodies.
+-- Is_Visible_Lib_Unit (Flag116)
+-- Defined in all (root or child) library unit entities. Once compiled,
+-- library units remain chained to the entities in the parent scope, and
+-- a separate flag must be used to indicate whether the names are visible
+-- by selected notation, or not.
+
-- Is_VMS_Exception (Flag133)
-- Defined in all entities. Set only for exception entities where the
-- exception was specified in an Import_Exception or Export_Exception
@@ -2888,6 +2916,10 @@ package Einfo is
-- optimizations on volatile objects should test Treat_As_Volatile
-- rather than testing this flag.
+-- Is_Volatile_State (synthesized)
+-- Applies to all entities, true for abstract states that are subject to
+-- property Volatile.
+
-- Is_Wrapper_Package (synthesized)
-- Defined in package entities. Indicates that the package has been
-- created as a wrapper for a subprogram instantiation.
@@ -3434,6 +3466,10 @@ package Einfo is
-- we have a separate warning for variables that are only assigned and
-- never read, and out parameters are a special case.
+-- Refined_State (Node9)
+-- Defined in E_Abstract_State entities. Contains the entity of the
+-- abstract state completion which is usually foung in package bodies.
+
-- Register_Exception_Call (Node20)
-- Defined in exception entities. When an exception is declared,
-- a call is expanded to Register_Exception. This field points to
@@ -4393,11 +4429,16 @@ package Einfo is
-- A task body. This entity serves almost no function, since all
-- semantic analysis uses the protected entity (E_Task_Type).
- E_Subprogram_Body
+ E_Subprogram_Body,
-- A subprogram body. Used when a subprogram has a separate declaration
-- to represent the entity for the body. This entity serves almost no
-- function, since all semantic analysis uses the subprogram entity
-- for the declaration (E_Function or E_Procedure).
+
+ E_Abstract_State
+ -- A state abstraction. Used to designate entities introduced by aspect
+ -- or pragma Abstract_State. The entity carries the various properties
+ -- of the state.
);
for Entity_Kind'Size use 8;
@@ -4965,6 +5006,14 @@ package Einfo is
-- Applicable attributes by entity kind --
------------------------------------------
+ -- E_Abstract_State
+ -- Integrity_Level (Uint8)
+ -- Refined_State (Node9)
+ -- Is_Input_State (synth)
+ -- Is_Null_State (synth)
+ -- Is_Output_State (synth)
+ -- Is_Volatile_State (synth)
+
-- E_Access_Protected_Subprogram_Type
-- Equivalent_Type (Node18)
-- Directly_Designated_Type (Node20)
@@ -5091,7 +5140,7 @@ package Einfo is
-- E_Constant
-- E_Loop_Parameter
-- Current_Value (Node9) (always Empty)
- -- Discriminal_Link (Node10) (discriminals only)
+ -- Discriminal_Link (Node10)
-- Full_View (Node11)
-- Esize (Uint12)
-- Extra_Accessibility (Node13) (constants only)
@@ -5103,6 +5152,7 @@ package Einfo is
-- Prival_Link (Node20) (privals only)
-- Interface_Name (Node21) (constants only)
-- Related_Type (Node27) (constants only)
+ -- Initialization_Statements (Node28)
-- Has_Alignment_Clause (Flag46)
-- Has_Atomic_Components (Flag86)
-- Has_Biased_Representation (Flag139)
@@ -5310,7 +5360,7 @@ package Einfo is
-- Is_Private_Primitive (Flag245) (non-generic case only)
-- Is_Pure (Flag44)
-- Is_Thunk (Flag225)
- -- Is_Visible_Child_Unit (Flag116)
+ -- Is_Visible_Lib_Unit (Flag116)
-- Needs_No_Actuals (Flag22)
-- Requires_Overriding (Flag213) (non-generic case only)
-- Return_Present (Flag54)
@@ -5472,8 +5522,9 @@ package Einfo is
-- Inner_Instances (Elist23) (generic case only)
-- Limited_View (Node23) (non-generic/instance)
-- Finalizer (Node24) (non-generic case only)
- -- Current_Use_Clause (Node27)
+ -- Abstract_States (Elist25)
-- Package_Instantiation (Node26)
+ -- Current_Use_Clause (Node27)
-- Delay_Subprogram_Descriptors (Flag50)
-- Body_Needed_For_SAL (Flag40)
-- Discard_Names (Flag88)
@@ -5490,7 +5541,7 @@ package Einfo is
-- In_Use (Flag8)
-- Is_Instantiated (Flag126)
-- Is_Private_Descendant (Flag53)
- -- Is_Visible_Child_Unit (Flag116)
+ -- Is_Visible_Lib_Unit (Flag116)
-- Renamed_In_Spec (Flag231) (non-generic case only)
-- Static_Elaboration_Desired (Flag77) (non-generic case only)
-- Is_Wrapper_Package (synth) (non-generic case only)
@@ -5580,7 +5631,7 @@ package Einfo is
-- Is_Pure (Flag44)
-- Is_Thunk (Flag225)
-- Is_Valued_Procedure (Flag127)
- -- Is_Visible_Child_Unit (Flag116)
+ -- Is_Visible_Lib_Unit (Flag116)
-- Needs_No_Actuals (Flag22)
-- No_Return (Flag113)
-- Requires_Overriding (Flag213) (non-generic case only)
@@ -5772,6 +5823,7 @@ package Einfo is
-- Debug_Renaming_Link (Node25)
-- Last_Assignment (Node26)
-- Related_Type (Node27)
+ -- Initialization_Statements (Node28)
-- Has_Alignment_Clause (Flag46)
-- Has_Atomic_Components (Flag86)
-- Has_Biased_Representation (Flag139)
@@ -6031,6 +6083,7 @@ package Einfo is
-- section contains the functions used to obtain attribute values which
-- correspond to values in fields or flags in the entity itself.
+ function Abstract_States (Id : E) return L;
function Accept_Address (Id : E) return L;
function Access_Disp_Table (Id : E) return L;
function Actual_Subtype (Id : E) return E;
@@ -6216,6 +6269,8 @@ package Einfo is
function In_Package_Body (Id : E) return B;
function In_Private_Part (Id : E) return B;
function In_Use (Id : E) return B;
+ function Initialization_Statements (Id : E) return N;
+ function Integrity_Level (Id : E) return U;
function Inner_Instances (Id : E) return L;
function Interface_Alias (Id : E) return E;
function Interface_Name (Id : E) return N;
@@ -6310,8 +6365,8 @@ package Einfo is
function Is_Unsigned_Type (Id : E) return B;
function Is_VMS_Exception (Id : E) return B;
function Is_Valued_Procedure (Id : E) return B;
- function Is_Visible_Child_Unit (Id : E) return B;
function Is_Visible_Formal (Id : E) return B;
+ function Is_Visible_Lib_Unit (Id : E) return B;
function Is_Volatile (Id : E) return B;
function Itype_Printed (Id : E) return B;
function Kill_Elaboration_Checks (Id : E) return B;
@@ -6370,6 +6425,7 @@ package Einfo is
function Referenced (Id : E) return B;
function Referenced_As_LHS (Id : E) return B;
function Referenced_As_Out_Parameter (Id : E) return B;
+ function Refined_State (Id : E) return E;
function Register_Exception_Call (Id : E) return N;
function Related_Array_Object (Id : E) return E;
function Related_Expression (Id : E) return N;
@@ -6514,6 +6570,9 @@ package Einfo is
function Is_Discriminal (Id : E) return B;
function Is_Dynamic_Scope (Id : E) return B;
function Is_Finalizer (Id : E) return B;
+ function Is_Input_State (Id : E) return B;
+ function Is_Null_State (Id : E) return B;
+ function Is_Output_State (Id : E) return B;
function Is_Package_Or_Generic_Package (Id : E) return B;
function Is_Prival (Id : E) return B;
function Is_Protected_Component (Id : E) return B;
@@ -6524,6 +6583,7 @@ package Einfo is
function Is_Synchronized_Interface (Id : E) return B;
function Is_Task_Interface (Id : E) return B;
function Is_Task_Record_Type (Id : E) return B;
+ function Is_Volatile_State (Id : E) return B;
function Is_Wrapper_Package (Id : E) return B;
function Last_Formal (Id : E) return E;
function Machine_Emax_Value (Id : E) return U;
@@ -6624,6 +6684,7 @@ package Einfo is
-- Attribute Set Procedures --
------------------------------
+ procedure Set_Abstract_States (Id : E; V : L);
procedure Set_Accept_Address (Id : E; V : L);
procedure Set_Access_Disp_Table (Id : E; V : L);
procedure Set_Actual_Subtype (Id : E; V : E);
@@ -6808,6 +6869,8 @@ package Einfo is
procedure Set_In_Package_Body (Id : E; V : B := True);
procedure Set_In_Private_Part (Id : E; V : B := True);
procedure Set_In_Use (Id : E; V : B := True);
+ procedure Set_Initialization_Statements (Id : E; V : N);
+ procedure Set_Integrity_Level (Id : E; V : U);
procedure Set_Inner_Instances (Id : E; V : L);
procedure Set_Interface_Alias (Id : E; V : E);
procedure Set_Interface_Name (Id : E; V : N);
@@ -6908,8 +6971,8 @@ package Einfo is
procedure Set_Is_Unsigned_Type (Id : E; V : B := True);
procedure Set_Is_VMS_Exception (Id : E; V : B := True);
procedure Set_Is_Valued_Procedure (Id : E; V : B := True);
- procedure Set_Is_Visible_Child_Unit (Id : E; V : B := True);
procedure Set_Is_Visible_Formal (Id : E; V : B := True);
+ procedure Set_Is_Visible_Lib_Unit (Id : E; V : B := True);
procedure Set_Is_Volatile (Id : E; V : B := True);
procedure Set_Itype_Printed (Id : E; V : B := True);
procedure Set_Kill_Elaboration_Checks (Id : E; V : B := True);
@@ -6968,6 +7031,7 @@ package Einfo is
procedure Set_Referenced (Id : E; V : B := True);
procedure Set_Referenced_As_LHS (Id : E; V : B := True);
procedure Set_Referenced_As_Out_Parameter (Id : E; V : B := True);
+ procedure Set_Refined_State (Id : E; V : E);
procedure Set_Register_Exception_Call (Id : E; V : N);
procedure Set_Related_Array_Object (Id : E; V : E);
procedure Set_Related_Expression (Id : E; V : N);
@@ -7306,6 +7370,7 @@ package Einfo is
-- subprograms meeting the requirements documented in the section on
-- XEINFO may be referenced in this section.
+ pragma Inline (Abstract_States);
pragma Inline (Accept_Address);
pragma Inline (Access_Disp_Table);
pragma Inline (Actual_Subtype);
@@ -7488,6 +7553,7 @@ package Einfo is
pragma Inline (In_Package_Body);
pragma Inline (In_Private_Part);
pragma Inline (In_Use);
+ pragma Inline (Integrity_Level);
pragma Inline (Inner_Instances);
pragma Inline (Interface_Alias);
pragma Inline (Interface_Name);
@@ -7629,8 +7695,8 @@ package Einfo is
pragma Inline (Is_Unsigned_Type);
pragma Inline (Is_VMS_Exception);
pragma Inline (Is_Valued_Procedure);
- pragma Inline (Is_Visible_Child_Unit);
pragma Inline (Is_Visible_Formal);
+ pragma Inline (Is_Visible_Lib_Unit);
pragma Inline (Itype_Printed);
pragma Inline (Kill_Elaboration_Checks);
pragma Inline (Kill_Range_Checks);
@@ -7691,6 +7757,7 @@ package Einfo is
pragma Inline (Referenced);
pragma Inline (Referenced_As_LHS);
pragma Inline (Referenced_As_Out_Parameter);
+ pragma Inline (Refined_State);
pragma Inline (Register_Exception_Call);
pragma Inline (Related_Array_Object);
pragma Inline (Related_Expression);
@@ -7755,6 +7822,7 @@ package Einfo is
pragma Inline (Init_Esize);
pragma Inline (Init_RM_Size);
+ pragma Inline (Set_Abstract_States);
pragma Inline (Set_Accept_Address);
pragma Inline (Set_Access_Disp_Table);
pragma Inline (Set_Actual_Subtype);
@@ -7936,6 +8004,7 @@ package Einfo is
pragma Inline (Set_In_Private_Part);
pragma Inline (Set_In_Use);
pragma Inline (Set_Inner_Instances);
+ pragma Inline (Set_Integrity_Level);
pragma Inline (Set_Interface_Alias);
pragma Inline (Set_Interface_Name);
pragma Inline (Set_Interfaces);
@@ -8035,8 +8104,8 @@ package Einfo is
pragma Inline (Set_Is_Unsigned_Type);
pragma Inline (Set_Is_VMS_Exception);
pragma Inline (Set_Is_Valued_Procedure);
- pragma Inline (Set_Is_Visible_Child_Unit);
pragma Inline (Set_Is_Visible_Formal);
+ pragma Inline (Set_Is_Visible_Lib_Unit);
pragma Inline (Set_Is_Volatile);
pragma Inline (Set_Itype_Printed);
pragma Inline (Set_Kill_Elaboration_Checks);
@@ -8095,6 +8164,7 @@ package Einfo is
pragma Inline (Set_Referenced);
pragma Inline (Set_Referenced_As_LHS);
pragma Inline (Set_Referenced_As_Out_Parameter);
+ pragma Inline (Set_Refined_State);
pragma Inline (Set_Register_Exception_Call);
pragma Inline (Set_Related_Array_Object);
pragma Inline (Set_Related_Expression);
diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb
index 10a4a560984..3b9d06febac 100644
--- a/gcc/ada/exp_aggr.adb
+++ b/gcc/ada/exp_aggr.adb
@@ -102,6 +102,15 @@ package body Exp_Aggr is
-- statement of variant part will usually be small and probably in near
-- sorted order.
+ procedure Collect_Initialization_Statements
+ (Obj : Entity_Id;
+ N : Node_Id;
+ Node_After : Node_Id);
+ -- If Obj is not frozen, collect actions inserted after N until, but not
+ -- including, Node_After, for initialization of Obj, and move them to an
+ -- expression with actions, which becomes the Initialization_Statements for
+ -- Obj.
+
------------------------------------------------------
-- Local subprograms for Record Aggregate Expansion --
------------------------------------------------------
@@ -2943,6 +2952,43 @@ package body Exp_Aggr is
return L;
end Build_Record_Aggr_Code;
+ ---------------------------------------
+ -- Collect_Initialization_Statements --
+ ---------------------------------------
+
+ procedure Collect_Initialization_Statements
+ (Obj : Entity_Id;
+ N : Node_Id;
+ Node_After : Node_Id)
+ is
+ Loc : constant Source_Ptr := Sloc (N);
+ Init_Actions : constant List_Id := New_List;
+ Init_Node : Node_Id;
+ EA : Node_Id;
+
+ begin
+ -- Nothing to do if Obj is already frozen, as in this case we known we
+ -- won't need to move the initialization statements about later on.
+
+ if Is_Frozen (Obj) then
+ return;
+ end if;
+
+ Init_Node := N;
+ while Next (Init_Node) /= Node_After loop
+ Append_To (Init_Actions, Remove_Next (Init_Node));
+ end loop;
+
+ if not Is_Empty_List (Init_Actions) then
+ EA :=
+ Make_Expression_With_Actions (Loc,
+ Actions => Init_Actions,
+ Expression => Make_Null_Statement (Loc));
+ Insert_Action_After (Init_Node, EA);
+ Set_Initialization_Statements (Obj, EA);
+ end if;
+ end Collect_Initialization_Statements;
+
-------------------------------
-- Convert_Aggr_In_Allocator --
-------------------------------
@@ -3118,7 +3164,12 @@ package body Exp_Aggr is
Is_Controlled (Typ) or else Has_Controlled_Component (Typ));
end if;
- Insert_Actions_After (N, Late_Expansion (Aggr, Typ, Occ));
+ declare
+ Node_After : constant Node_Id := Next (N);
+ begin
+ Insert_Actions_After (N, Late_Expansion (Aggr, Typ, Occ));
+ Collect_Initialization_Statements (Obj, N, Node_After);
+ end;
Set_No_Initialization (N);
Initialize_Discriminants (N, Typ);
end Convert_Aggr_In_Object_Decl;
@@ -4936,23 +4987,23 @@ package body Exp_Aggr is
Build_Activation_Chain_Entity (N);
end if;
+ -- Perform in-place expansion of aggregate in an object declaration.
+ -- Note: actions generated for the aggregate will be captured in an
+ -- expression-with-actions statement so that they can be transferred
+ -- to freeze actions later if there is an address clause for the
+ -- object. (Note: we don't use a block statement because this would
+ -- cause generated freeze nodes to be elaborated in the wrong scope).
+
-- Should document these individual tests ???
if not Has_Default_Init_Comps (N)
- and then Comes_From_Source (Parent (N))
- and then Nkind (Parent (N)) = N_Object_Declaration
+ and then Comes_From_Source (Parent_Node)
+ and then Parent_Kind = N_Object_Declaration
and then not
- Must_Slide (Etype (Defining_Identifier (Parent (N))), Typ)
- and then N = Expression (Parent (N))
+ Must_Slide (Etype (Defining_Identifier (Parent_Node)), Typ)
+ and then N = Expression (Parent_Node)
and then not Is_Bit_Packed_Array (Typ)
and then not Has_Controlled_Component (Typ)
-
- -- If the aggregate is the expression in an object declaration, it
- -- cannot be expanded in place. Lookahead in the current declarative
- -- part to find an address clause for the object being declared. If
- -- one is present, we cannot build in place. Unclear comment???
-
- and then not Has_Following_Address_Clause (Parent (N))
then
Tmp := Defining_Identifier (Parent (N));
Set_No_Initialization (Parent (N));
@@ -5071,7 +5122,17 @@ package body Exp_Aggr is
end;
if Comes_From_Source (Tmp) then
- Insert_Actions_After (Parent (N), Aggr_Code);
+ declare
+ Node_After : constant Node_Id := Next (Parent_Node);
+
+ begin
+ Insert_Actions_After (Parent_Node, Aggr_Code);
+
+ if Parent_Kind = N_Object_Declaration then
+ Collect_Initialization_Statements
+ (Obj => Tmp, N => Parent_Node, Node_After => Node_After);
+ end if;
+ end;
else
Insert_Actions (N, Aggr_Code);
diff --git a/gcc/ada/exp_attr.adb b/gcc/ada/exp_attr.adb
index 2fa944b7d6f..1147724c91e 100644
--- a/gcc/ada/exp_attr.adb
+++ b/gcc/ada/exp_attr.adb
@@ -5404,7 +5404,6 @@ package body Exp_Attr is
Ftp : Entity_Id;
begin
-
case Float_Rep (Btyp) is
-- For vax fpt types, call appropriate routine in special
diff --git a/gcc/ada/exp_ch11.adb b/gcc/ada/exp_ch11.adb
index 07b631de6eb..64a53e36cda 100644
--- a/gcc/ada/exp_ch11.adb
+++ b/gcc/ada/exp_ch11.adb
@@ -1832,7 +1832,7 @@ package body Exp_Ch11 is
Rewrite (N,
Make_Attribute_Reference (Loc,
- Prefix => Identifier (N),
+ Prefix => Identifier (N),
Attribute_Name => Name_Code_Address));
Analyze_And_Resolve (N, RTE (RE_Code_Loc));
diff --git a/gcc/ada/exp_ch3.adb b/gcc/ada/exp_ch3.adb
index 096d14e7503..15d5de0bd20 100644
--- a/gcc/ada/exp_ch3.adb
+++ b/gcc/ada/exp_ch3.adb
@@ -5332,16 +5332,34 @@ package body Exp_Ch3 is
-- identifier found in the sources. We also have to exchange
-- entities containing their defining identifiers to ensure
-- the correct replacement of the object declaration by this
- -- object renaming declaration ---because these identifiers
+ -- object renaming declaration because these identifiers
-- were previously added by Enter_Name to the current scope.
-- We must preserve the homonym chain of the source entity
-- as well. We must also preserve the kind of the entity,
- -- which may be a constant.
+ -- which may be a constant. Preserve entity chain because
+ -- itypes may have been generated already, and the full
+ -- chain must be preserved for final freezing. Finally,
+ -- preserve Comes_From_Source setting, so that debugging
+ -- and cross-referencing information is properly kept.
- Set_Chars (Defining_Identifier (N), Chars (Def_Id));
- Set_Homonym (Defining_Identifier (N), Homonym (Def_Id));
- Set_Ekind (Defining_Identifier (N), Ekind (Def_Id));
- Exchange_Entities (Defining_Identifier (N), Def_Id);
+ declare
+ New_Id : constant Entity_Id := Defining_Identifier (N);
+ Next_Temp : constant Entity_Id := Next_Entity (New_Id);
+ S_Flag : constant Boolean :=
+ Comes_From_Source (Def_Id);
+
+ begin
+ Set_Next_Entity (New_Id, Next_Entity (Def_Id));
+ Set_Next_Entity (Def_Id, Next_Temp);
+
+ Set_Chars (Defining_Identifier (N), Chars (Def_Id));
+ Set_Homonym (Defining_Identifier (N), Homonym (Def_Id));
+ Set_Ekind (Defining_Identifier (N), Ekind (Def_Id));
+
+ Set_Comes_From_Source (Def_Id, False);
+ Exchange_Entities (Defining_Identifier (N), Def_Id);
+ Set_Comes_From_Source (Def_Id, S_Flag);
+ end;
end;
end if;
@@ -8256,7 +8274,10 @@ package body Exp_Ch3 is
-- Input attributes, since each type will have its own version of
-- Input constructed by the expander. The test for Comes_From_Source
-- is needed to distinguish inherited operations from renamings
- -- (which also have Alias set).
+ -- (which also have Alias set). We exclude internal entities with
+ -- Interface_Alias to avoid generating duplicated wrappers since
+ -- the primitive which covers the interface is also available in
+ -- the list of primitive operations.
-- The function may be abstract, or require_Overriding may be set
-- for it, because tests for null extensions may already have reset
@@ -8266,6 +8287,7 @@ package body Exp_Ch3 is
if Comes_From_Source (Subp)
or else No (Alias (Subp))
+ or else Present (Interface_Alias (Subp))
or else Ekind (Subp) /= E_Function
or else not Has_Controlling_Result (Subp)
or else Is_Access_Type (Etype (Subp))
@@ -8382,11 +8404,15 @@ package body Exp_Ch3 is
Append_To (Body_List, Func_Body);
- -- Replace the inherited function with the wrapper function
- -- in the primitive operations list.
+ -- Replace the inherited function with the wrapper function in the
+ -- primitive operations list. We add the minimum decoration needed
+ -- to override interface primitives.
+
+ Set_Ekind (Defining_Unit_Name (Func_Spec), E_Function);
Override_Dispatching_Operation
- (Tag_Typ, Subp, New_Op => Defining_Unit_Name (Func_Spec));
+ (Tag_Typ, Subp, New_Op => Defining_Unit_Name (Func_Spec),
+ Is_Wrapper => True);
end if;
<<Next_Prim>>
diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb
index 446a310345b..70e2fcdf4c9 100644
--- a/gcc/ada/exp_ch4.adb
+++ b/gcc/ada/exp_ch4.adb
@@ -3233,6 +3233,7 @@ package body Exp_Ch4 is
Prefix =>
Duplicate_Subexpr (Opnd, Name_Req => True),
Attribute_Name => Name_First);
+ Set_Parent (Opnd_Low_Bound (NN), Opnd);
-- Capture last operand bounds if result could be null
@@ -3243,6 +3244,7 @@ package body Exp_Ch4 is
Prefix =>
Duplicate_Subexpr (Opnd, Name_Req => True),
Attribute_Name => Name_First));
+ Set_Parent (Last_Opnd_Low_Bound, Opnd);
Last_Opnd_High_Bound :=
Convert_To (Ityp,
@@ -3250,6 +3252,7 @@ package body Exp_Ch4 is
Prefix =>
Duplicate_Subexpr (Opnd, Name_Req => True),
Attribute_Name => Name_Last));
+ Set_Parent (Last_Opnd_High_Bound, Opnd);
end if;
-- Capture length of operand in entity
@@ -10693,6 +10696,9 @@ package body Exp_Ch4 is
then
return Suitable_Element (Next_Entity (C));
+ -- Below test for C /= Original_Record_Component (C) is dubious
+ -- if Typ is a constrained record subtype???
+
elsif Is_Tagged_Type (Typ)
and then C /= Original_Record_Component (C)
then
diff --git a/gcc/ada/exp_ch5.adb b/gcc/ada/exp_ch5.adb
index 74acb3493a0..66aeb681dac 100644
--- a/gcc/ada/exp_ch5.adb
+++ b/gcc/ada/exp_ch5.adb
@@ -1828,11 +1828,29 @@ package body Exp_Ch5 is
Object_Definition => New_Reference_To (Typ, Loc),
Expression => Relocate_Node (Prefix (LE))));
+ -- Perform minor decoration as this information will be needed for
+ -- the creation of index checks (if applicable).
+
+ Set_Ekind (Temp, E_Constant);
+ Set_Etype (Temp, Typ);
+
-- Replace the original attribute with a reference to the constant
Rewrite (LE, New_Reference_To (Temp, Loc));
Set_Etype (LE, Typ);
+ -- Analysis converts attribute references of the following form
+
+ -- Prefix'Loop_Entry (Expr)
+ -- Prefix'Loop_Entry (Expr1, Expr2, ... ExprN)
+
+ -- into indexed components for error detection purposes. Generate
+ -- index checks now that 'Loop_Entry has been properly expanded.
+
+ if Nkind (Parent (LE)) = N_Indexed_Component then
+ Generate_Index_Checks (Parent (LE));
+ end if;
+
Next_Elmt (LE_Elmt);
end loop;
diff --git a/gcc/ada/exp_disp.adb b/gcc/ada/exp_disp.adb
index c0872ade55f..5b8ae1720ae 100644
--- a/gcc/ada/exp_disp.adb
+++ b/gcc/ada/exp_disp.adb
@@ -8107,7 +8107,7 @@ package body Exp_Disp is
procedure Handle_Inherited_Private_Subprograms (Typ : Entity_Id);
-- Called if Typ is declared in a nested package or a public child
-- package to handle inherited primitives that were inherited by Typ
- -- in the visible part, but whose declaration was deferred because
+ -- in the visible part, but whose declaration was deferred because
-- the parent operation was private and not visible at that point.
procedure Set_Fixed_Prim (Pos : Nat);
diff --git a/gcc/ada/exp_intr.adb b/gcc/ada/exp_intr.adb
index b2c24c83101..f86cbe5e248 100644
--- a/gcc/ada/exp_intr.adb
+++ b/gcc/ada/exp_intr.adb
@@ -287,7 +287,8 @@ package body Exp_Intr is
Set_Controlling_Argument (Cnstr_Call,
New_Occurrence_Of (Defining_Identifier (Iface_Tag), Loc));
else
- Set_Controlling_Argument (Cnstr_Call, Relocate_Node (Tag_Arg));
+ Set_Controlling_Argument (Cnstr_Call,
+ Relocate_Node (Tag_Arg));
end if;
-- Rewrite and analyze the call to the instance as a class-wide
diff --git a/gcc/ada/exp_prag.adb b/gcc/ada/exp_prag.adb
index 537fa01eafd..68a340d7c47 100644
--- a/gcc/ada/exp_prag.adb
+++ b/gcc/ada/exp_prag.adb
@@ -530,16 +530,16 @@ package body Exp_Prag is
-- Expand_Pragma_Import_Or_Interface --
---------------------------------------
- -- When applied to a variable, the default initialization must not be
- -- done. As it is already done when the pragma is found, we just get rid
- -- of the call the initialization procedure which followed the object
- -- declaration. The call is inserted after the declaration, but validity
- -- checks may also have been inserted and the initialization call does
- -- not necessarily appear immediately after the object declaration.
+ -- When applied to a variable, the default initialization must not be done.
+ -- As it is already done when the pragma is found, we just get rid of the
+ -- call the initialization procedure which followed the object declaration.
+ -- The call is inserted after the declaration, but validity checks may
+ -- also have been inserted and the initialization call does not necessarily
+ -- appear immediately after the object declaration.
- -- We can't use the freezing mechanism for this purpose, since we
- -- have to elaborate the initialization expression when it is first
- -- seen (i.e. this elaboration cannot be deferred to the freeze point).
+ -- We can't use the freezing mechanism for this purpose, since we have to
+ -- elaborate the initialization expression when it is first seen (i.e. this
+ -- elaboration cannot be deferred to the freeze point).
procedure Expand_Pragma_Import_Or_Interface (N : Node_Id) is
Def_Id : Entity_Id;
@@ -549,18 +549,15 @@ package body Exp_Prag is
Def_Id := Entity (Arg2 (N));
if Ekind (Def_Id) = E_Variable then
- -- Find generated initialization call for object, if any
+ -- Find and remove generated initialization call for object, if any
- Init_Call := Find_Init_Call (Def_Id, Rep_Clause => N);
- if Present (Init_Call) then
- Remove (Init_Call);
- end if;
+ Init_Call := Remove_Init_Call (Def_Id, Rep_Clause => N);
- -- Any default initialization expression should be removed
- -- (e.g., null defaults for access objects, zero initialization
- -- of packed bit arrays). Imported objects aren't allowed to
- -- have explicit initialization, so the expression must have
- -- been generated by the compiler.
+ -- Any default initialization expression should be removed (e.g.,
+ -- null defaults for access objects, zero initialization of packed
+ -- bit arrays). Imported objects aren't allowed to have explicit
+ -- initialization, so the expression must have been generated by
+ -- the compiler.
if No (Init_Call) and then Present (Expression (Parent (Def_Id))) then
Set_Expression (Parent (Def_Id), Empty);
diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb
index 29d8182ff83..c38ed030fb0 100644
--- a/gcc/ada/exp_util.adb
+++ b/gcc/ada/exp_util.adb
@@ -366,10 +366,11 @@ package body Exp_Util is
Fnode := Freeze_Node (T);
if No (Actions (Fnode)) then
- Set_Actions (Fnode, New_List);
+ Set_Actions (Fnode, New_List (N));
+ else
+ Append (N, Actions (Fnode));
end if;
- Append (N, Actions (Fnode));
end Append_Freeze_Action;
---------------------------
@@ -377,18 +378,20 @@ package body Exp_Util is
---------------------------
procedure Append_Freeze_Actions (T : Entity_Id; L : List_Id) is
- Fnode : constant Node_Id := Freeze_Node (T);
+ Fnode : Node_Id;
begin
if No (L) then
return;
+ end if;
+ Ensure_Freeze_Node (T);
+ Fnode := Freeze_Node (T);
+
+ if No (Actions (Fnode)) then
+ Set_Actions (Fnode, L);
else
- if No (Actions (Fnode)) then
- Set_Actions (Fnode, L);
- else
- Append_List (L, Actions (Fnode));
- end if;
+ Append_List (L, Actions (Fnode));
end if;
end Append_Freeze_Actions;
@@ -441,9 +444,7 @@ package body Exp_Util is
-- Handle private types
- if Is_Private_Type (Utyp)
- and then Present (Full_View (Utyp))
- then
+ if Is_Private_Type (Utyp) and then Present (Full_View (Utyp)) then
Utyp := Full_View (Utyp);
end if;
@@ -747,9 +748,7 @@ package body Exp_Util is
-- Primitive Finalize_Address is never generated in CodePeer mode
-- since it contains an Unchecked_Conversion.
- if Needs_Finalization (Desig_Typ)
- and then not CodePeer_Mode
- then
+ if Needs_Finalization (Desig_Typ) and then not CodePeer_Mode then
Fin_Addr_Id := Find_Finalize_Address (Desig_Typ);
pragma Assert (Present (Fin_Addr_Id));
@@ -1585,9 +1584,7 @@ package body Exp_Util is
-- It is only array and record types that cause trouble
- if not Is_Record_Type (UT)
- and then not Is_Array_Type (UT)
- then
+ if not Is_Record_Type (UT) and then not Is_Array_Type (UT) then
return False;
-- If we know that we have a small (64 bits or less) record or small
@@ -1595,8 +1592,7 @@ package body Exp_Util is
-- handle these cases correctly.
elsif Esize (Comp) <= 64
- and then (Is_Record_Type (UT)
- or else Is_Bit_Packed_Array (UT))
+ and then (Is_Record_Type (UT) or else Is_Bit_Packed_Array (UT))
then
return False;
@@ -1737,7 +1733,6 @@ package body Exp_Util is
Name_Req : Boolean := False) return Node_Id
is
New_Exp : Node_Id;
-
begin
Remove_Side_Effects (Exp, Name_Req);
New_Exp := New_Copy_Tree (Exp);
@@ -1772,9 +1767,7 @@ package body Exp_Util is
-- An itype reference must only be created if this is a local itype, so
-- that gigi can elaborate it on the proper objstack.
- if Is_Itype (Typ)
- and then Scope (Typ) = Current_Scope
- then
+ if Is_Itype (Typ) and then Scope (Typ) = Current_Scope then
IR := Make_Itype_Reference (Sloc (N));
Set_Itype (IR, Typ);
Insert_Action (N, IR);
@@ -1982,8 +1975,7 @@ package body Exp_Util is
-- standard string types and more generally arrays of characters.
if not Expander_Active
- and then (No (Etype (Exp))
- or else not Is_String_Type (Etype (Exp)))
+ and then (No (Etype (Exp)) or else not Is_String_Type (Etype (Exp)))
then
return;
end if;
@@ -2160,94 +2152,6 @@ package body Exp_Util is
end if;
end Expand_Subtype_From_Expr;
- --------------------
- -- Find_Init_Call --
- --------------------
-
- function Find_Init_Call
- (Var : Entity_Id;
- Rep_Clause : Node_Id) return Node_Id
- is
- Par : constant Node_Id := Parent (Var);
- Typ : constant Entity_Id := Etype (Var);
-
- Init_Proc : Entity_Id;
- -- Initialization procedure for Typ
-
- function Find_Init_Call_In_List (From : Node_Id) return Node_Id;
- -- Look for init call for Var starting at From and scanning the
- -- enclosing list until Rep_Clause or the end of the list is reached.
-
- ----------------------------
- -- Find_Init_Call_In_List --
- ----------------------------
-
- function Find_Init_Call_In_List (From : Node_Id) return Node_Id is
- Init_Call : Node_Id;
- begin
- Init_Call := From;
-
- while Present (Init_Call) and then Init_Call /= Rep_Clause loop
- if Nkind (Init_Call) = N_Procedure_Call_Statement
- and then Is_Entity_Name (Name (Init_Call))
- and then Entity (Name (Init_Call)) = Init_Proc
- then
- return Init_Call;
- end if;
-
- Next (Init_Call);
- end loop;
-
- return Empty;
- end Find_Init_Call_In_List;
-
- Init_Call : Node_Id;
-
- -- Start of processing for Find_Init_Call
-
- begin
- if not Has_Non_Null_Base_Init_Proc (Typ) then
-
- -- No init proc for the type, so obviously no call to be found
-
- return Empty;
- end if;
-
- Init_Proc := Base_Init_Proc (Typ);
-
- -- First scan the list containing the declaration of Var
-
- Init_Call := Find_Init_Call_In_List (From => Next (Par));
-
- -- If not found, also look on Var's freeze actions list, if any, since
- -- the init call may have been moved there (case of an address clause
- -- applying to Var).
-
- if No (Init_Call) and then Present (Freeze_Node (Var)) then
- Init_Call :=
- Find_Init_Call_In_List (First (Actions (Freeze_Node (Var))));
- end if;
-
- -- If the initialization call has actuals that use the secondary stack,
- -- the call may have been wrapped into a temporary block, in which case
- -- the block itself has to be removed.
-
- if No (Init_Call) and then Nkind (Next (Par)) = N_Block_Statement then
- declare
- Blk : constant Node_Id := Next (Par);
- begin
- if Present
- (Find_Init_Call_In_List
- (First (Statements (Handled_Statement_Sequence (Blk)))))
- then
- Init_Call := Blk;
- end if;
- end;
- end if;
-
- return Init_Call;
- end Find_Init_Call;
-
------------------------
-- Find_Interface_ADT --
------------------------
@@ -2264,9 +2168,7 @@ package body Exp_Util is
-- Handle private types
- if Has_Private_Declaration (Typ)
- and then Present (Full_View (Typ))
- then
+ if Has_Private_Declaration (Typ) and then Present (Full_View (Typ)) then
Typ := Full_View (Typ);
end if;
@@ -2394,9 +2296,7 @@ package body Exp_Util is
-- Handle private types
- if Has_Private_Declaration (Typ)
- and then Present (Full_View (Typ))
- then
+ if Has_Private_Declaration (Typ) and then Present (Full_View (Typ)) then
Typ := Full_View (Typ);
end if;
@@ -2459,7 +2359,7 @@ package body Exp_Util is
exit when Chars (Op) = Name
and then
(Name /= Name_Op_Eq
- or else Etype (First_Formal (Op)) = Etype (Last_Formal (Op)));
+ or else Etype (First_Formal (Op)) = Etype (Last_Formal (Op)));
Next_Elmt (Prim);
@@ -2531,10 +2431,7 @@ package body Exp_Util is
begin
S := Scop;
while Present (S) loop
- if (Ekind (S) = E_Entry
- or else Ekind (S) = E_Entry_Family
- or else Ekind (S) = E_Function
- or else Ekind (S) = E_Procedure)
+ if Ekind_In (S, E_Entry, E_Entry_Family, E_Function, E_Procedure)
and then Present (Protection_Object (S))
then
return Protection_Object (S);
@@ -2719,9 +2616,8 @@ package body Exp_Util is
-- Deal with AND THEN and AND cases
- if Nkind (Cond) = N_And_Then
- or else Nkind (Cond) = N_Op_And
- then
+ if Nkind_In (Cond, N_And_Then, N_Op_And) then
+
-- Don't ever try to invert a condition that is of the form of an
-- AND or AND THEN (since we are not doing sufficiently general
-- processing to allow this).
@@ -2800,9 +2696,7 @@ package body Exp_Util is
-- reference had said var = True.
else
- if Is_Entity_Name (Cond)
- and then Ent = Entity (Cond)
- then
+ if Is_Entity_Name (Cond) and then Ent = Entity (Cond) then
Val := New_Occurrence_Of (Standard_True, Sloc (Cond));
if Sens = False then
@@ -3032,9 +2926,7 @@ package body Exp_Util is
T : constant Entity_Id := Etype (E);
begin
- if Has_Per_Object_Constraint (E)
- and then Has_Discriminants (T)
- then
+ if Has_Per_Object_Constraint (E) and then Has_Discriminants (T) then
Disc := First_Discriminant (T);
while Present (Disc) loop
if Is_Access_Type (Etype (Disc)) then
@@ -3223,7 +3115,7 @@ package body Exp_Util is
and then not Is_Frozen (Current_Scope)
then
if No (Scope_Stack.Table
- (Scope_Stack.Last).Pending_Freeze_Actions)
+ (Scope_Stack.Last).Pending_Freeze_Actions)
then
Scope_Stack.Table (Scope_Stack.Last).Pending_Freeze_Actions :=
Ins_Actions;
@@ -3391,13 +3283,13 @@ package body Exp_Util is
return;
-- Case of appearing within an Expressions_With_Actions node. We
- -- prepend the actions to the list of actions already there, if
+ -- append the actions to the list of actions already there, if
-- the node has not been analyzed yet. Otherwise find insertion
-- location further up the tree.
when N_Expression_With_Actions =>
if not Analyzed (P) then
- Prepend_List (Ins_Actions, Actions (P));
+ Append_List (Ins_Actions, Actions (P));
return;
end if;
@@ -3522,9 +3414,7 @@ package body Exp_Util is
-- actions should be inserted outside the complete record
-- declaration.
- elsif Nkind (Parent (P)) = N_Variant
- or else Nkind (Parent (P)) = N_Record_Definition
- then
+ elsif Nkind_In (Parent (P), N_Variant, N_Record_Definition) then
null;
-- Do not insert freeze nodes within the loop generated for
@@ -3869,9 +3759,7 @@ package body Exp_Util is
Ins_Actions : List_Id)
is
begin
- if Scope_Is_Transient
- and then Assoc_Node = Node_To_Be_Wrapped
- then
+ if Scope_Is_Transient and then Assoc_Node = Node_To_Be_Wrapped then
Store_After_Actions_In_Scope (Ins_Actions);
else
Insert_List_After_And_Analyze (Assoc_Node, Ins_Actions);
@@ -3931,9 +3819,7 @@ package body Exp_Util is
begin
S := Current_Scope;
- while Present (S)
- and then S /= Standard_Standard
- loop
+ while Present (S) and then S /= Standard_Standard loop
if Is_Init_Proc (S) then
return True;
else
@@ -4224,7 +4110,7 @@ package body Exp_Util is
Next (Param);
end loop;
- return Access_OK and then Alloc_OK;
+ return Access_OK and Alloc_OK;
end;
end if;
@@ -4320,9 +4206,7 @@ package body Exp_Util is
elsif Nkind (Stmt) = N_Object_Renaming_Declaration then
Ren_Obj := Find_Renamed_Object (Stmt);
- if Present (Ren_Obj)
- and then Ren_Obj = Trans_Id
- then
+ if Present (Ren_Obj) and then Ren_Obj = Trans_Id then
return True;
end if;
end if;
@@ -4524,8 +4408,7 @@ package body Exp_Util is
function Is_Library_Level_Tagged_Type (Typ : Entity_Id) return Boolean is
begin
- return Is_Tagged_Type (Typ)
- and then Is_Library_Level_Entity (Typ);
+ return Is_Tagged_Type (Typ) and then Is_Library_Level_Entity (Typ);
end Is_Library_Level_Tagged_Type;
--------------------------
@@ -4785,7 +4668,7 @@ package body Exp_Util is
if Known_Alignment (Ptyp)
and then (Unknown_Alignment (Styp)
- or else Alignment (Styp) > Alignment (Ptyp))
+ or else Alignment (Styp) > Alignment (Ptyp))
then
return True;
end if;
@@ -4861,10 +4744,7 @@ package body Exp_Util is
return Is_Ref_To_Bit_Packed_Array (Renamed_Object (Entity (N)));
end if;
- if Nkind (N) = N_Indexed_Component
- or else
- Nkind (N) = N_Selected_Component
- then
+ if Nkind_In (N, N_Indexed_Component, N_Selected_Component) then
if Is_Bit_Packed_Array (Etype (Prefix (N))) then
Result := True;
else
@@ -4906,10 +4786,7 @@ package body Exp_Util is
then
return True;
- elsif Nkind (N) = N_Indexed_Component
- or else
- Nkind (N) = N_Selected_Component
- then
+ elsif Nkind_In (N, N_Indexed_Component, N_Selected_Component) then
return Is_Ref_To_Bit_Packed_Slice (Prefix (N));
else
@@ -5056,9 +4933,9 @@ package body Exp_Util is
elsif Nkind_In (N, N_Indexed_Component, N_Selected_Component) then
if (Is_Entity_Name (Prefix (N))
- and then Has_Volatile_Components (Entity (Prefix (N))))
+ and then Has_Volatile_Components (Entity (Prefix (N))))
or else (Present (Etype (Prefix (N)))
- and then Has_Volatile_Components (Etype (Prefix (N))))
+ and then Has_Volatile_Components (Etype (Prefix (N))))
then
return True;
else
@@ -5080,9 +4957,9 @@ package body Exp_Util is
and then (Nkind (N) = N_Slice
or else
(Nkind (N) = N_Identifier
- and then Present (Renamed_Object (Entity (N)))
- and then Nkind (Renamed_Object (Entity (N)))
- = N_Slice));
+ and then Present (Renamed_Object (Entity (N)))
+ and then Nkind (Renamed_Object (Entity (N))) =
+ N_Slice));
end Is_VM_By_Copy_Actual;
--------------------
@@ -5116,7 +4993,7 @@ package body Exp_Util is
and then
(In_Instance
or else (Present (Entity (C))
- and then Has_Warnings_Off (Entity (C))))
+ and then Has_Warnings_Off (Entity (C))))
then
W := False;
end if;
@@ -5222,15 +5099,12 @@ package body Exp_Util is
function Known_Non_Negative (Opnd : Node_Id) return Boolean is
begin
- if Is_OK_Static_Expression (Opnd)
- and then Expr_Value (Opnd) >= 0
- then
+ if Is_OK_Static_Expression (Opnd) and then Expr_Value (Opnd) >= 0 then
return True;
else
declare
Lo : constant Node_Id := Type_Low_Bound (Etype (Opnd));
-
begin
return
Is_OK_Static_Expression (Lo) and then Expr_Value (Lo) >= 0;
@@ -5836,9 +5710,7 @@ package body Exp_Util is
elsif Esize (Typ) /= 0 and then Esize (Typ) <= 256 then
return False;
- elsif Is_Array_Type (Typ)
- and then Present (Packed_Array_Type (Typ))
- then
+ elsif Is_Array_Type (Typ) and then Present (Packed_Array_Type (Typ)) then
return May_Generate_Large_Temp (Packed_Array_Type (Typ));
-- We could do more here to find other small types ???
@@ -5927,8 +5799,8 @@ package body Exp_Util is
or else Has_Some_Controlled_Component (T)
or else
(Is_Concurrent_Type (T)
- and then Present (Corresponding_Record_Type (T))
- and then Needs_Finalization (Corresponding_Record_Type (T)));
+ and then Present (Corresponding_Record_Type (T))
+ and then Needs_Finalization (Corresponding_Record_Type (T)));
end if;
end Needs_Finalization;
@@ -5970,7 +5842,7 @@ package body Exp_Util is
or else Is_Access_Type (Typ)
or else
(Is_Bit_Packed_Array (Typ)
- and then Is_Modular_Integer_Type (Packed_Array_Type (Typ)))
+ and then Is_Modular_Integer_Type (Packed_Array_Type (Typ)))
then
return False;
@@ -6288,6 +6160,106 @@ package body Exp_Util is
end case;
end Process_Statements_For_Controlled_Objects;
+ ----------------------
+ -- Remove_Init_Call --
+ ----------------------
+
+ function Remove_Init_Call
+ (Var : Entity_Id;
+ Rep_Clause : Node_Id) return Node_Id
+ is
+ Par : constant Node_Id := Parent (Var);
+ Typ : constant Entity_Id := Etype (Var);
+
+ Init_Proc : Entity_Id;
+ -- Initialization procedure for Typ
+
+ function Find_Init_Call_In_List (From : Node_Id) return Node_Id;
+ -- Look for init call for Var starting at From and scanning the
+ -- enclosing list until Rep_Clause or the end of the list is reached.
+
+ ----------------------------
+ -- Find_Init_Call_In_List --
+ ----------------------------
+
+ function Find_Init_Call_In_List (From : Node_Id) return Node_Id is
+ Init_Call : Node_Id;
+
+ begin
+ Init_Call := From;
+ while Present (Init_Call) and then Init_Call /= Rep_Clause loop
+ if Nkind (Init_Call) = N_Procedure_Call_Statement
+ and then Is_Entity_Name (Name (Init_Call))
+ and then Entity (Name (Init_Call)) = Init_Proc
+ then
+ return Init_Call;
+ end if;
+
+ Next (Init_Call);
+ end loop;
+
+ return Empty;
+ end Find_Init_Call_In_List;
+
+ Init_Call : Node_Id;
+
+ -- Start of processing for Find_Init_Call
+
+ begin
+ if Present (Initialization_Statements (Var)) then
+ Init_Call := Initialization_Statements (Var);
+ Set_Initialization_Statements (Var, Empty);
+
+ elsif not Has_Non_Null_Base_Init_Proc (Typ) then
+
+ -- No init proc for the type, so obviously no call to be found
+
+ return Empty;
+
+ else
+ -- We might be able to handle other cases below by just properly
+ -- setting Initialization_Statements at the point where the init proc
+ -- call is generated???
+
+ Init_Proc := Base_Init_Proc (Typ);
+
+ -- First scan the list containing the declaration of Var
+
+ Init_Call := Find_Init_Call_In_List (From => Next (Par));
+
+ -- If not found, also look on Var's freeze actions list, if any,
+ -- since the init call may have been moved there (case of an address
+ -- clause applying to Var).
+
+ if No (Init_Call) and then Present (Freeze_Node (Var)) then
+ Init_Call :=
+ Find_Init_Call_In_List (First (Actions (Freeze_Node (Var))));
+ end if;
+
+ -- If the initialization call has actuals that use the secondary
+ -- stack, the call may have been wrapped into a temporary block, in
+ -- which case the block itself has to be removed.
+
+ if No (Init_Call) and then Nkind (Next (Par)) = N_Block_Statement then
+ declare
+ Blk : constant Node_Id := Next (Par);
+ begin
+ if Present
+ (Find_Init_Call_In_List
+ (First (Statements (Handled_Statement_Sequence (Blk)))))
+ then
+ Init_Call := Blk;
+ end if;
+ end;
+ end if;
+ end if;
+
+ if Present (Init_Call) then
+ Remove (Init_Call);
+ end if;
+ return Init_Call;
+ end Remove_Init_Call;
+
-------------------------
-- Remove_Side_Effects --
-------------------------
@@ -6504,7 +6476,32 @@ package body Exp_Util is
and then Is_Renaming_Of_Object (Entity (Original_Node (N)))
and then Ekind (Entity (Original_Node (N))) /= E_Constant
then
- return False;
+ declare
+ RO : constant Node_Id :=
+ Renamed_Object (Entity (Original_Node (N)));
+
+ begin
+ -- If the renamed object is an indexed component, or an
+ -- explicit dereference, then the designated object could
+ -- be modified by an assignment.
+
+ if Nkind_In (RO, N_Indexed_Component,
+ N_Explicit_Dereference)
+ then
+ return False;
+
+ -- A selected component must have a safe prefix
+
+ elsif Nkind (RO) = N_Selected_Component then
+ return Safe_Prefixed_Reference (RO);
+
+ -- In all other cases, designated object cannot be changed so
+ -- we are side effect free.
+
+ else
+ return True;
+ end if;
+ end;
-- Remove_Side_Effects generates an object renaming declaration to
-- capture the expression of a class-wide expression. In VM targets
@@ -6693,12 +6690,10 @@ package body Exp_Util is
elsif Is_Entity_Name (N) then
return Ekind (Entity (N)) = E_In_Parameter;
- elsif Nkind (N) = N_Indexed_Component
- or else Nkind (N) = N_Selected_Component
- then
+ elsif Nkind_In (N, N_Indexed_Component, N_Selected_Component) then
return Within_In_Parameter (Prefix (N));
- else
+ else
return False;
end if;
end Within_In_Parameter;
@@ -6728,7 +6723,10 @@ package body Exp_Util is
return;
end if;
- -- All this must not have any checks
+ -- The remaining procesaing is done with all checks suppressed
+
+ -- Note: from now on, don't use return statements, instead do a goto
+ -- Leave, to ensure that we properly restore Scope_Suppress.Suppress.
Scope_Suppress.Suppress := (others => True);
@@ -6739,9 +6737,9 @@ package body Exp_Util is
if Is_Elementary_Type (Exp_Type)
and then (Variable_Ref
- or else Nkind (Exp) = N_Function_Call
- or else Nkind (Exp) = N_Attribute_Reference
- or else Nkind (Exp) = N_Allocator
+ or else Nkind_In (Exp, N_Function_Call,
+ N_Attribute_Reference,
+ N_Allocator)
or else Nkind (Exp) in N_Op
or else (not Name_Req and then Is_Volatile_Reference (Exp)))
then
@@ -6794,8 +6792,7 @@ package body Exp_Util is
and then Nkind (Expression (Exp)) = N_Explicit_Dereference
then
Remove_Side_Effects (Expression (Exp), Name_Req, Variable_Ref);
- Scope_Suppress := Svg_Suppress;
- return;
+ goto Leave;
-- If this is a type conversion, leave the type conversion and remove
-- the side effects in the expression. This is important in several
@@ -6805,8 +6802,7 @@ package body Exp_Util is
elsif Nkind (Exp) = N_Type_Conversion then
Remove_Side_Effects (Expression (Exp), Name_Req, Variable_Ref);
- Scope_Suppress := Svg_Suppress;
- return;
+ goto Leave;
-- If this is an unchecked conversion that Gigi can't handle, make
-- a copy or a use a renaming to capture the value.
@@ -6902,8 +6898,7 @@ package body Exp_Util is
-- by the expression it renames, which would defeat the purpose of
-- removing the side-effect.
- if (Nkind (Exp) = N_Selected_Component
- or else Nkind (Exp) = N_Indexed_Component)
+ if Nkind_In (Exp, N_Selected_Component, N_Indexed_Component)
and then Has_Non_Standard_Rep (Etype (Prefix (Exp)))
then
null;
@@ -6917,10 +6912,8 @@ package body Exp_Util is
-- An expression which is in Alfa mode is considered side effect free
-- if the resulting value is captured by a variable or a constant.
- if Alfa_Mode
- and then Nkind (Parent (Exp)) = N_Object_Declaration
- then
- return;
+ if Alfa_Mode and then Nkind (Parent (Exp)) = N_Object_Declaration then
+ goto Leave;
end if;
-- Special processing for function calls that return a limited type.
@@ -6950,7 +6943,7 @@ package body Exp_Util is
Insert_Action (Exp, Decl);
Set_Etype (Obj, Exp_Type);
Rewrite (Exp, New_Occurrence_Of (Obj, Loc));
- return;
+ goto Leave;
end;
end if;
@@ -7049,6 +7042,8 @@ package body Exp_Util is
Rewrite (Exp, Res);
Analyze_And_Resolve (Exp, Exp_Type);
+
+ <<Leave>>
Scope_Suppress := Svg_Suppress;
end Remove_Side_Effects;
@@ -7061,7 +7056,7 @@ package body Exp_Util is
begin
return Is_Scalar_Type (UT)
or else (Is_Bit_Packed_Array (UT)
- and then Is_Scalar_Type (Packed_Array_Type (UT)));
+ and then Is_Scalar_Type (Packed_Array_Type (UT)));
end Represented_As_Scalar;
------------------------------
@@ -7182,7 +7177,7 @@ package body Exp_Util is
elsif not Is_Imported (Obj_Id)
and then Needs_Finalization (Obj_Typ)
and then not (Ekind (Obj_Id) = E_Constant
- and then not Has_Completion (Obj_Id))
+ and then not Has_Completion (Obj_Id))
and then not Is_Tag_To_Class_Wide_Conversion (Obj_Id)
then
return True;
@@ -7223,7 +7218,7 @@ package body Exp_Util is
elsif Is_Access_Type (Obj_Typ)
and then Present (Status_Flag_Or_Transient_Decl (Obj_Id))
and then Nkind (Status_Flag_Or_Transient_Decl (Obj_Id)) =
- N_Defining_Identifier
+ N_Defining_Identifier
and then Present (Expr)
and then Nkind (Expr) = N_Null
then
@@ -7301,7 +7296,7 @@ package body Exp_Util is
(Available_View (Designated_Type (Typ))))
or else
(Is_Type (Typ)
- and then Needs_Finalization (Typ)))
+ and then Needs_Finalization (Typ)))
and then Requires_Cleanup_Actions
(Actions (Decl), Lib_Level, Nested_Constructs)
then
@@ -7320,17 +7315,15 @@ package body Exp_Util is
end if;
if Ekind (Pack_Id) /= E_Generic_Package
- and then Requires_Cleanup_Actions
- (Specification (Decl), Lib_Level)
+ and then
+ Requires_Cleanup_Actions (Specification (Decl), Lib_Level)
then
return True;
end if;
-- Nested package bodies
- elsif Nested_Constructs
- and then Nkind (Decl) = N_Package_Body
- then
+ elsif Nested_Constructs and then Nkind (Decl) = N_Package_Body then
Pack_Id := Corresponding_Spec (Decl);
if Ekind (Pack_Id) /= E_Generic_Package
@@ -7373,8 +7366,8 @@ package body Exp_Util is
if (Nkind (Pexp) = N_Assignment_Statement
and then Expression (Pexp) = Exp)
- or else Nkind (Pexp) = N_Object_Declaration
- or else Nkind (Pexp) = N_Object_Renaming_Declaration
+ or else Nkind_In (Pexp, N_Object_Declaration,
+ N_Object_Renaming_Declaration)
then
return True;
@@ -7385,7 +7378,7 @@ package body Exp_Util is
-- introduce a temporary in this case.
elsif Nkind (Pexp) = N_Selected_Component
- and then Prefix (Pexp) = Exp
+ and then Prefix (Pexp) = Exp
then
if No (Etype (Pexp)) then
return True;
@@ -7473,7 +7466,7 @@ package body Exp_Util is
elsif Size_Known_At_Compile_Time (Otyp)
and then
(not Stack_Checking_Enabled
- or else not May_Generate_Large_Temp (Otyp))
+ or else not May_Generate_Large_Temp (Otyp))
and then not (Is_Record_Type (Otyp) and then not Is_Constrained (Otyp))
then
return True;
diff --git a/gcc/ada/exp_util.ads b/gcc/ada/exp_util.ads
index f89a0ac1642..339fd4396a1 100644
--- a/gcc/ada/exp_util.ads
+++ b/gcc/ada/exp_util.ads
@@ -75,6 +75,9 @@ package Exp_Util is
-- expansion of the N_If_Expression node rewrites the node so that the
-- actions can be positioned normally.
+ -- For actions coming from expansion of the expression in an expression
+ -- with actions node, the action is appended to the list of actions.
+
-- Basically what we do is to climb up to the tree looking for the
-- proper insertion point, as described by one of the above cases,
-- and then insert the appropriate action or actions.
@@ -379,14 +382,6 @@ package Exp_Util is
-- declarations and/or allocations when the type is indefinite (including
-- class-wide).
- function Find_Init_Call
- (Var : Entity_Id;
- Rep_Clause : Node_Id) return Node_Id;
- -- Look for init_proc call for variable Var, either among declarations
- -- between that of Var and a subsequent Rep_Clause applying to Var, or
- -- in the list of freeze actions associated with Var, and if found, return
- -- that call node.
-
function Find_Interface_ADT
(T : Entity_Id;
Iface : Entity_Id) return Elmt_Id;
@@ -723,6 +718,14 @@ package Exp_Util is
-- statements looking for declarations of controlled objects. If at least
-- one such object is found, wrap the statement list in a block.
+ function Remove_Init_Call
+ (Var : Entity_Id;
+ Rep_Clause : Node_Id) return Node_Id;
+ -- Look for init_proc call or aggregate initialization statements for
+ -- variable Var, either among declarations between that of Var and a
+ -- subsequent Rep_Clause applying to Var, or in the list of freeze actions
+ -- associated with Var, and if found, remove and return that call node.
+
procedure Remove_Side_Effects
(Exp : Node_Id;
Name_Req : Boolean := False;
diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb
index 5df4c727194..234cdd2cb42 100644
--- a/gcc/ada/freeze.adb
+++ b/gcc/ada/freeze.adb
@@ -87,7 +87,8 @@ package body Freeze is
procedure Check_Address_Clause (E : Entity_Id);
-- Apply legality checks to address clauses for object declarations,
- -- at the point the object is frozen.
+ -- at the point the object is frozen. Also ensure any initialization is
+ -- performed only after the object has been frozen.
procedure Check_Component_Storage_Order
(Encl_Type : Entity_Id;
@@ -549,10 +550,11 @@ package body Freeze is
--------------------------
procedure Check_Address_Clause (E : Entity_Id) is
- Addr : constant Node_Id := Address_Clause (E);
+ Addr : constant Node_Id := Address_Clause (E);
Expr : Node_Id;
- Decl : constant Node_Id := Declaration_Node (E);
- Typ : constant Entity_Id := Etype (E);
+ Decl : constant Node_Id := Declaration_Node (E);
+ Loc : constant Source_Ptr := Sloc (Decl);
+ Typ : constant Entity_Id := Etype (E);
begin
if Present (Addr) then
@@ -562,12 +564,9 @@ package body Freeze is
Check_Constant_Address_Clause (Expr, E);
-- Has_Delayed_Freeze was set on E when the address clause was
- -- analyzed. Reset the flag now unless freeze actions were
- -- attached to it in the mean time.
-
- if No (Freeze_Node (E)) then
- Set_Has_Delayed_Freeze (E, False);
- end if;
+ -- analyzed, and must remain set because we want the address
+ -- clause to be elaborated only after any entity it references
+ -- has been elaborated.
end if;
-- If Rep_Clauses are to be ignored, remove address clause from
@@ -604,6 +603,24 @@ package body Freeze is
then
Warn_Overlay (Expr, Typ, Name (Addr));
end if;
+
+ if Present (Expression (Decl)) then
+
+ -- Capture initialization value at point of declaration
+
+ Remove_Side_Effects (Expression (Decl));
+
+ -- Move initialization to freeze actions (once the object has
+ -- been frozen, and the address clause alignment check has been
+ -- performed.
+
+ Append_Freeze_Action (E,
+ Make_Assignment_Statement (Loc,
+ Name => New_Occurrence_Of (E, Loc),
+ Expression => Expression (Decl)));
+
+ Set_No_Initialization (Decl);
+ end if;
end if;
end Check_Address_Clause;
@@ -1097,13 +1114,23 @@ package body Freeze is
Attribute_Scalar_Storage_Order);
if Is_Record_Type (Comp_Type) or else Is_Array_Type (Comp_Type) then
- if No (ADC) then
+ if Present (Comp) and then Chars (Comp) = Name_uParent then
+ if Reverse_Storage_Order (Encl_Type)
+ /=
+ Reverse_Storage_Order (Comp_Type)
+ then
+ Error_Msg_N
+ ("record extension must have same scalar storage order as "
+ & "parent", Err_Node);
+ end if;
+
+ elsif No (ADC) then
Error_Msg_N ("nested composite must have explicit scalar "
& "storage order", Err_Node);
elsif (Reverse_Storage_Order (Encl_Type)
/=
- Reverse_Storage_Order (Etype (Comp_Type)))
+ Reverse_Storage_Order (Comp_Type))
and then not Comp_Byte_Aligned
then
Error_Msg_N
@@ -3315,6 +3342,30 @@ package body Freeze is
then
Layout_Object (E);
end if;
+
+ -- If initialization statements were captured in an expression
+ -- with actions with null expression, and the object does not
+ -- have delayed freezing, move them back now directly within the
+ -- enclosing statement sequence.
+
+ if Ekind_In (E, E_Constant, E_Variable)
+ and then not Has_Delayed_Freeze (E)
+ then
+ declare
+ Init_Stmts : constant Node_Id :=
+ Initialization_Statements (E);
+ begin
+ if Present (Init_Stmts)
+ and then Nkind (Init_Stmts) = N_Expression_With_Actions
+ and then Nkind (Expression (Init_Stmts)) = N_Null_Statement
+ then
+ Insert_List_Before (Init_Stmts, Actions (Init_Stmts));
+ Remove (Init_Stmts);
+ Set_Initialization_Statements (E, Empty);
+ end if;
+ end;
+ end if;
+
end if;
-- Case of a type or subtype being frozen
diff --git a/gcc/ada/freeze.ads b/gcc/ada/freeze.ads
index 5ecce680736..5f08f590364 100644
--- a/gcc/ada/freeze.ads
+++ b/gcc/ada/freeze.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/g-encstr.adb b/gcc/ada/g-encstr.adb
index 451fc47c404..80ca6d04d18 100644
--- a/gcc/ada/g-encstr.adb
+++ b/gcc/ada/g-encstr.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2007-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2007-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/g-md5.adb b/gcc/ada/g-md5.adb
index cfeeb8a67aa..28d20c99dc4 100644
--- a/gcc/ada/g-md5.adb
+++ b/gcc/ada/g-md5.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2009-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2009-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/g-md5.ads b/gcc/ada/g-md5.ads
index e547eb28b89..81fd6b0d90e 100644
--- a/gcc/ada/g-md5.ads
+++ b/gcc/ada/g-md5.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2009-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2009-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/g-sothco-dummy.adb b/gcc/ada/g-sothco-dummy.adb
index 8831c2d942c..4dd2b3f760a 100644
--- a/gcc/ada/g-sothco-dummy.adb
+++ b/gcc/ada/g-sothco-dummy.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2008-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2008-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/g-tastus.ads b/gcc/ada/g-tastus.ads
index 70528b676ba..ffb9fe0fe38 100644
--- a/gcc/ada/g-tastus.ads
+++ b/gcc/ada/g-tastus.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2009-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2009-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/g-trasym.ads b/gcc/ada/g-trasym.ads
index 7b4e0035c7c..62bb632c815 100644
--- a/gcc/ada/g-trasym.ads
+++ b/gcc/ada/g-trasym.ads
@@ -67,13 +67,14 @@
-- In order to retrieve symbolic information, functions in this package will
-- read on disk all the debug information of the executable file (found via
--- Argument (0), and looked in the PATH if needed), and load them in memory,
--- causing a significant cpu and memory overhead.
-
--- On all platforms except VMS, this package is not intended to be used
--- within a shared library, symbolic tracebacks are only supported for the
--- main executable and not for shared libraries. You should consider using
--- gdb to obtain symbolic traceback in such cases.
+-- Argument (0), and looked in the PATH if needed) or shared libraries using
+-- OS facilities, and load them in memory, causing a significant cpu and
+-- memory overhead.
+
+-- Symbolic traceback from shared libraries is only supported for VMS, Windows
+-- and GNU/Linux. On other targets symbolic tracebacks are only supported for
+-- the main executable. You should consider using gdb to obtain symbolic
+-- traceback in such cases.
-- On VMS, there is no restriction on using this facility with shared
-- libraries. However, the OS should be at least v7.3-1 and OS patch
diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in
index 0e0cd6d266f..cad64a36033 100644
--- a/gcc/ada/gcc-interface/Make-lang.in
+++ b/gcc/ada/gcc-interface/Make-lang.in
@@ -49,9 +49,12 @@ COMMON_ADAFLAGS= -gnatpg -gnata
WARN_ADAFLAGS= -W -Wall
BOOT_ADAFLAGS= $(COMMON_ADAFLAGS)
+# For native builds, the base compiler might be old and we need to arrange for
+# style warnings not to be flagged as errors during stage1. Cross compilers
+# need to be built by a recent/matching native so we might as well leave the
+# checks fully active.
+
ifeq ($(CROSS),)
-# If not in cross context we are probably doing a bootstrap
-# so disable warnings during stage1
ADAFLAGS= $(COMMON_ADAFLAGS) -gnatwns
else
ADAFLAGS= $(COMMON_ADAFLAGS)
@@ -4374,11 +4377,12 @@ ada/validsw.o : ada/ada.ads ada/a-unccon.ads ada/a-uncdea.ads \
ada/warnsw.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/debug.ads ada/err_vars.ads \
ada/hostparm.ads ada/namet.ads ada/opt.ads ada/output.ads \
- ada/system.ads ada/s-exctab.ads ada/s-memory.ads ada/s-os_lib.ads \
- ada/s-parame.ads ada/s-stalib.ads ada/s-string.ads ada/s-traent.ads \
- ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
- ada/tree_io.ads ada/types.ads ada/uintp.ads ada/unchconv.ads \
- ada/unchdeal.ads ada/warnsw.ads ada/warnsw.adb
+ ada/rident.ads ada/system.ads ada/s-exctab.ads ada/s-memory.ads \
+ ada/s-os_lib.ads ada/s-parame.ads ada/s-rident.ads ada/s-stalib.ads \
+ ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
+ ada/table.ads ada/table.adb ada/targparm.ads ada/tree_io.ads \
+ ada/types.ads ada/uintp.ads ada/unchconv.ads ada/unchdeal.ads \
+ ada/warnsw.ads ada/warnsw.adb
ada/widechar.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/hostparm.ads ada/interfac.ads ada/opt.ads \
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index 24c9966feb8..a9548bffb60 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -770,7 +770,7 @@ ifeq ($(strip $(filter-out %86 wrs vxworksae vxworksmils,$(targ))),)
endif
# Sparc VxWorks
-ifeq ($(strip $(filter-out sparc% wrs vx%,$(targ))),)
+ifeq ($(strip $(filter-out sparc% leon% wrs vx%,$(targ))),)
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<a-intnam-vxworks.ads \
a-numaux.ads<a-numaux-vxworks.ads \
@@ -797,7 +797,7 @@ ifeq ($(strip $(filter-out sparc% wrs vx%,$(targ))),)
mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
indepsw.adb<indepsw-gnu.adb
- ifeq ($(arch),sparc)
+ ifeq ($(strip $(filter-out sparc erc32 leon leon3, $(arch))),)
# 32-bits
LIBGNAT_TARGET_PAIRS += \
s-vxwork.ads<s-vxwork-sparc.ads \
@@ -1535,6 +1535,7 @@ ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(targ)))
$(ATOMICS_BUILTINS_TARGET_PAIRS)
EXTRA_LIBGNAT_SRCS+=tb-ivms.c
+ override GNATRTL_ALTIVEC_OBJS=
TOOLS_TARGET_PAIRS= \
mlib-tgt-specific.adb<mlib-tgt-specific-vms-ia64.adb \
@@ -2308,7 +2309,7 @@ endif
# LIBGNAT_SRCS is the list of all C files (including headers) of the runtime
# library. LIBGNAT_OBJS is the list of object files for libgnat.
# thread.c is special as put into GNATRTL_TASKING_OBJS by Makefile.rtl
-LIBGNAT_OBJS = adadecode.o adaint.o argv.o arit64.o aux-io.o \
+LIBGNAT_OBJS = adadecode.o adaint.o argv.o aux-io.o \
cal.o cio.o cstreams.o ctrl_c.o \
env.o errno.o exit.o expect.o final.o \
init.o initialize.o locales.o mkdir.o \
@@ -2357,7 +2358,9 @@ ADA_EXCLUDE_SRCS =\
s-vxwexc.adb s-vxwexc.ads s-vxwext.adb s-vxwext.ads \
s-win32.ads s-winext.ads \
g-regist.adb g-regist.ads g-sse.ads g-ssvety.ads \
- i-vxwoio.adb i-vxwoio.ads i-vxwork.ads
+ i-vxwoio.adb i-vxwoio.ads i-vxwork.ads \
+ g-allein.ads g-alleve.ads g-altcon.ads g-alveop.adb g-alvety.ads \
+ g-alleve.adb g-altcon.adb g-altive.ads g-alveop.ads g-alvevi.ads
# ADA_EXCLUDE_SRCS without the sources used by the target
ADA_EXCLUDE_FILES=$(filter-out \
diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c
index 094d7e0ec21..3284f84db6f 100644
--- a/gcc/ada/gcc-interface/decl.c
+++ b/gcc/ada/gcc-interface/decl.c
@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
- * Copyright (C) 1992-2012, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2013, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -1887,8 +1887,10 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
}
/* If the type we are dealing with has got a smaller alignment than the
- natural one, we need to wrap it up in a record type and under-align
- the latter. We reuse the padding machinery for this purpose. */
+ natural one, we need to wrap it up in a record type and misalign the
+ latter; we reuse the padding machinery for this purpose. Note that,
+ even if the record type is marked as packed because of misalignment,
+ we don't pack the field so as to give it the size of the type. */
else if (align > 0)
{
tree gnu_field_type, gnu_field;
@@ -1918,7 +1920,8 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
a bitfield. */
gnu_field
= create_field_decl (get_identifier ("F"), gnu_field_type,
- gnu_type, NULL_TREE, bitsize_zero_node, 1, 0);
+ gnu_type, TYPE_SIZE (gnu_field_type),
+ bitsize_zero_node, 0, 0);
finish_record_type (gnu_type, gnu_field, 2, debug_info_p);
compute_record_mode (gnu_type);
@@ -4965,7 +4968,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
}
}
- /* If this is a record type or subtype, call elaborate_expression_1 on
+ /* If this is a record type or subtype, call elaborate_expression_2 on
any field position. Do this for both global and local types.
Skip any fields that we haven't made trees for to avoid problems with
class wide types. */
@@ -5941,18 +5944,6 @@ elaborate_entity (Entity_Id gnat_entity)
break;
}
- case E_Record_Type:
- {
- Node_Id full_definition = Declaration_Node (gnat_entity);
- Node_Id record_definition = Type_Definition (full_definition);
-
- /* If this is a record extension, go a level further to find the
- record definition. */
- if (Nkind (record_definition) == N_Derived_Type_Definition)
- record_definition = Record_Extension_Part (record_definition);
- }
- break;
-
case E_Record_Subtype:
case E_Private_Subtype:
case E_Limited_Private_Subtype:
@@ -6498,10 +6489,11 @@ gnat_to_gnu_field (Entity_Id gnat_field, tree gnu_record_type, int packed,
}
/* If this field needs strict alignment, check that the record is
- sufficiently aligned and that position and size are consistent
- with the alignment. But don't do it if we are just annotating
- types and the field's type is tagged, since tagged types aren't
- fully laid out in this mode. */
+ sufficiently aligned and that position and size are consistent with
+ the alignment. But don't do it if we are just annotating types and
+ the field's type is tagged, since tagged types aren't fully laid out
+ in this mode. Also, note that atomic implies volatile so the inner
+ test sequences ordering is significant here. */
if (needs_strict_alignment
&& !(type_annotate_only && Is_Tagged_Type (gnat_field_type)))
{
@@ -6517,6 +6509,12 @@ gnat_to_gnu_field (Entity_Id gnat_field, tree gnu_record_type, int packed,
Last_Bit (Component_Clause (gnat_field)), gnat_field,
TYPE_SIZE (gnu_field_type));
+ else if (is_volatile)
+ post_error_ne_tree
+ ("volatile field& must be natural size of type{ (^)}",
+ Last_Bit (Component_Clause (gnat_field)), gnat_field,
+ TYPE_SIZE (gnu_field_type));
+
else if (Is_Aliased (gnat_field))
post_error_ne_tree
("size of aliased field& must be ^ bits",
@@ -6529,6 +6527,9 @@ gnat_to_gnu_field (Entity_Id gnat_field, tree gnu_record_type, int packed,
Last_Bit (Component_Clause (gnat_field)), gnat_field,
TYPE_SIZE (gnu_field_type));
+ else
+ gcc_unreachable ();
+
gnu_size = NULL_TREE;
}
@@ -6536,7 +6537,13 @@ gnat_to_gnu_field (Entity_Id gnat_field, tree gnu_record_type, int packed,
(TRUNC_MOD_EXPR, gnu_pos,
bitsize_int (TYPE_ALIGN (gnu_field_type)))))
{
- if (is_volatile)
+ if (Is_Atomic (gnat_field) || Is_Atomic (gnat_field_type))
+ post_error_ne_num
+ ("position of atomic field& must be multiple of ^ bits",
+ First_Bit (Component_Clause (gnat_field)), gnat_field,
+ TYPE_ALIGN (gnu_field_type));
+
+ else if (is_volatile)
post_error_ne_num
("position of volatile field& must be multiple of ^ bits",
First_Bit (Component_Clause (gnat_field)), gnat_field,
@@ -7286,15 +7293,22 @@ annotate_value (tree gnu_size)
case COMPONENT_REF:
/* The only case we handle here is a simple discriminant reference. */
- if (TREE_CODE (TREE_OPERAND (gnu_size, 0)) == PLACEHOLDER_EXPR
- && TREE_CODE (TREE_OPERAND (gnu_size, 1)) == FIELD_DECL
- && DECL_DISCRIMINANT_NUMBER (TREE_OPERAND (gnu_size, 1)))
- return Create_Node (Discrim_Val,
- annotate_value (DECL_DISCRIMINANT_NUMBER
- (TREE_OPERAND (gnu_size, 1))),
- No_Uint, No_Uint);
- else
- return No_Uint;
+ if (DECL_DISCRIMINANT_NUMBER (TREE_OPERAND (gnu_size, 1)))
+ {
+ tree n = DECL_DISCRIMINANT_NUMBER (TREE_OPERAND (gnu_size, 1));
+
+ /* Climb up the chain of successive extensions, if any. */
+ while (TREE_CODE (TREE_OPERAND (gnu_size, 0)) == COMPONENT_REF
+ && DECL_NAME (TREE_OPERAND (TREE_OPERAND (gnu_size, 0), 1))
+ == parent_name_id)
+ gnu_size = TREE_OPERAND (gnu_size, 0);
+
+ if (TREE_CODE (TREE_OPERAND (gnu_size, 0)) == PLACEHOLDER_EXPR)
+ return
+ Create_Node (Discrim_Val, annotate_value (n), No_Uint, No_Uint);
+ }
+
+ return No_Uint;
CASE_CONVERT: case NON_LVALUE_EXPR:
return annotate_value (TREE_OPERAND (gnu_size, 0));
diff --git a/gcc/ada/gcc-interface/lang.opt b/gcc/ada/gcc-interface/lang.opt
index a6722d9367b..debeff660e0 100644
--- a/gcc/ada/gcc-interface/lang.opt
+++ b/gcc/ada/gcc-interface/lang.opt
@@ -1,5 +1,6 @@
; Options for the Ada front end.
-; Copyright (C) 2003, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
+; Copyright (C) 2003, 2007, 2008, 2010, 2011, 2012
+; Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c
index 4d21d2c77ae..6ef6ee89e90 100644
--- a/gcc/ada/gcc-interface/trans.c
+++ b/gcc/ada/gcc-interface/trans.c
@@ -302,15 +302,9 @@ gigi (Node_Id gnat_root, int max_gnat_node, int number_name ATTRIBUTE_UNUSED,
type_annotate_only = (gigi_operating_mode == 1);
-#if 0
- if (Generate_SCO_Instance_Table)
- flag_debug_instances = 1;
-#else
- /* Temporary compatibility shim: FSF head back-end does not support instance
- based debug info discriminators, so disable the generation of the SCO
- instance table. ??? */
+ /* ??? Disable the generation of the SCO instance table until after the
+ back-end supports instance based debug info discriminators. */
Generate_SCO_Instance_Table = False;
-#endif
for (i = 0; i < number_file; i++)
{
diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi
index 0a89386af57..257ee1f170a 100644
--- a/gcc/ada/gnat_rm.texi
+++ b/gcc/ada/gnat_rm.texi
@@ -6852,6 +6852,9 @@ This means that if a @code{Scalar_Storage_Order} attribute definition
clause is not confirming, then the type's @code{Bit_Order} shall be
specified explicitly and set to the same value.
+For a record extension, the derived type shall have the same scalar storage
+order as the parent type.
+
If a component of @var{S} has itself a record or array type, then it shall also
have a @code{Scalar_Storage_Order} attribute definition clause. In addition,
if the component does not start on a byte boundary, then the scalar storage
@@ -11543,6 +11546,30 @@ The default alignment for the type @code{V} is 4, as a result of the
Integer field in the record, but it is permissible, as shown, to
override the default alignment of the record with a smaller value.
+@cindex Alignment, subtypes
+Note that according to the Ada standard, an alignment clause applies only
+to the first named subtype. If additional subtypes are declared, then the
+compiler is allowed to choose any alignment it likes, and there is no way
+to control this choice. Consider:
+
+@smallexample @c ada
+ type R is range 1 .. 10_000;
+ for R'Alignment use 1;
+ subtype RS is R range 1 .. 1000;
+@end smallexample
+
+@noindent
+The alignment clause specifies an alignment of 1 for the first named subtype
+@code{R} but this does not necessarily apply to @code{RS}. When writing
+portable Ada code, you should avoid writing code that explicitly or
+implicitly relies on the alignment of such subtypes.
+
+For the GNAT compiler, if an explicit alignment clause is given, this
+value is also used for any subsequent subtypes. So for GNAT, in the
+above example, you can count on the alignment of @code{RS} being 1. But this
+assumption is non-portable, and other compilers may choose different
+alignments for the subtype @code{RS}.
+
@node Size Clauses
@section Size Clauses
@cindex Size Clause
diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi
index d96a724df6d..87cd97d7fa6 100644
--- a/gcc/ada/gnat_ugn.texi
+++ b/gcc/ada/gnat_ugn.texi
@@ -214,6 +214,7 @@ AdaCore@*
* Compatibility and Porting Guide::
@ifset unw
* Microsoft Windows Topics::
+* Mac OS Topics::
@end ifset
* GNU Free Documentation License::
* Index::
@@ -666,6 +667,10 @@ Microsoft Windows Topics
* Debugging a DLL::
* Setting Stack Size from gnatlink::
* Setting Heap Size from gnatlink::
+
+Mac OS Topics
+
+* Codesigning the Debugger::
@end ifset
* Index::
@@ -919,6 +924,10 @@ to assist in porting code from those environments.
@item
@ref{Microsoft Windows Topics}, presents information relevant to the
Microsoft Windows platform.
+
+@item
+@ref{Mac OS Topics}, presents information relevant to Apple's OS X
+platform.
@end ifset
@end itemize
@@ -5205,6 +5214,9 @@ individually controlled. The warnings that are not turned on by this
switch are
@option{-gnatwd} (implicit dereferencing),
@option{-gnatwh} (hiding),
+@ifclear vms
+@option{-gnatw.d} (tag warnings with -gnatw switch)
+@end ifclear
@option{-gnatw.h} (holes (gaps) in record layouts)
@option{-gnatw.i} (overlapping actuals),
@option{-gnatw.k} (redefinition of names in standard),
@@ -5353,6 +5365,24 @@ this warning option.
This switch suppresses warnings for implicit dereferences in
indexed components, slices, and selected components.
+@ifclear vms
+@item -gnatw.d
+@emph{Activate tagging of warning messages.}
+@cindex @option{-gnatw.d} (@command{gcc})
+If this switch is set, then warning messages are tagged, either with
+the string ``@option{-gnatw?}'' showing which switch controls the warning,
+or with ``[enabled by default]'' if the warning is not under control of a
+specific @option{-gnatw?} switch. This mode is off by default, and is not
+affected by the use of @code{-gnatwa}.
+
+@item -gnatw.D
+@emph{Deactivate tagging of warning messages.}
+@cindex @option{-gnatw.d} (@command{gcc})
+If this switch is set, then warning messages return to the default
+mode in which warnings are not tagged as described above for
+@code{-gnatw.d}.
+@end ifclear
+
@item -gnatwe
@emph{Treat warnings and style checks as errors.}
@cindex @option{-gnatwe} (@command{gcc})
@@ -18363,10 +18393,12 @@ relative to the object directory of the project file.
@item --separates
@cindex @option{--separates} (@command{gnattest})
-Bodies of all test routines are generated as separates. This option is
-temporarily provided for compatibility to support the old way of generating test
-skeletons. Its usage is not recommended because at some point the option will be
-abandoned together with this way of generating test packages.
+Bodies of all test routines are generated as separates. Note that this mode is
+kept for compatibility reasons only and it is not advised to use it due to
+possible problems with hash in names of test skeletons when using an
+inconsistent casing. Separate test skeletons can be incorporated to monolith
+test package with improved hash being used by using @option{--transition}
+switch.
@item --transition
@@ -30186,6 +30218,81 @@ because the coma is a separator for this option.
@end itemize
+@node Mac OS Topics
+@appendix Mac OS Topics
+@cindex OS X
+
+@noindent
+This chapter describes topics that are specific to Apple's OS X
+platform.
+
+@menu
+* Codesigning the Debugger::
+@end menu
+
+@node Codesigning the Debugger
+@section Codesigning the Debugger
+
+@noindent
+The Darwin Kernel requires the debugger to have special permissions
+before it is allowed to control other processes. These permissions
+are granted by codesigning the GDB executable. Without these
+permissions, the debugger will report error messages such as:
+
+@smallexample
+Starting program: /x/y/foo
+Unable to find Mach task port for process-id 28885: (os/kern) failure (0x5).
+ (please check gdb is codesigned - see taskgated(8))
+@end smallexample
+
+Codesigning requires a certificate. The following procedure explains
+how to create one:
+
+@itemize @bullet
+@item Start the Keychain Access application (in
+/Applications/Utilities/Keychain Access.app)
+
+@item Select the Keychain Access -> Certificate Assistant ->
+Create a Certificate... menu
+
+@item Then:
+
+@itemize @bullet
+@item Choose a name for the new certificate (this procedure will use
+"gdb-cert" as an example)
+
+@item Set "Identity Type" to "Self Signed Root"
+
+@item Set "Certificate Type" to "Code Signing"
+
+@item Activate the "Let me override defaults" option
+
+@end itemize
+
+@item Click several times on "Continue" until the "Specify a Location
+For The Certificate" screen appears, then set "Keychain" to "System"
+
+@item Click on "Continue" until the certificate is created
+
+@item Finally, in the view, double-click on the new certificate,
+and set "When using this certificate" to "Always Trust"
+
+@item Exit the Keychain Access application and restart the computer
+(this is unfortunately required)
+
+@end itemize
+
+Once a certificate has been created, the debugger can be codesigned
+as follow. In a Terminal, run the following command...
+
+@smallexample
+codesign -f -s "gdb-cert" <gnat_install_prefix>/bin/gdb
+@end smallexample
+
+... where "gdb-cert" should be replaced by the actual certificate
+name chosen above, and <gnat_install_prefix> should be replaced by
+the location where you installed GNAT.
+
@end ifset
@c **********************************
diff --git a/gcc/ada/gnatcmd.adb b/gcc/ada/gnatcmd.adb
index 1919f9a0035..2fa479cc980 100644
--- a/gcc/ada/gnatcmd.adb
+++ b/gcc/ada/gnatcmd.adb
@@ -1999,7 +1999,19 @@ begin
In_Arrays => Element.Decl.Arrays,
Shared => Project_Tree.Shared);
Name_Len := 0;
- Add_Str_To_Name_Buffer (Main.all);
+
+ -- If the single main has been specified as an absolute
+ -- path, use only the simple file name. If the absolute
+ -- path is incorrect, an error will be reported by the
+ -- underlying tool and it does not make a difference
+ -- what switches are used.
+
+ if Is_Absolute_Path (Main.all) then
+ Add_Str_To_Name_Buffer (File_Name (Main.all));
+ else
+ Add_Str_To_Name_Buffer (Main.all);
+ end if;
+
The_Switches := Prj.Util.Value_Of
(Index => Name_Find,
Src_Index => 0,
diff --git a/gcc/ada/gnatvsn.ads b/gcc/ada/gnatvsn.ads
index 66c9d1c50c1..418be05b750 100644
--- a/gcc/ada/gnatvsn.ads
+++ b/gcc/ada/gnatvsn.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -92,7 +92,7 @@ package Gnatvsn is
Verbose_Library_Version : constant String := "GNAT Lib v" & Library_Version;
-- Version string stored in e.g. ALI files
- Current_Year : constant String := "2012";
+ Current_Year : constant String := "2013";
-- Used in printing copyright messages
end Gnatvsn;
diff --git a/gcc/ada/i-cexten.ads b/gcc/ada/i-cexten.ads
index 95fb4559cef..6be6f23ebe2 100644
--- a/gcc/ada/i-cexten.ads
+++ b/gcc/ada/i-cexten.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/i-cpoint.adb b/gcc/ada/i-cpoint.adb
index 6506448c2aa..b26391a21a6 100644
--- a/gcc/ada/i-cpoint.adb
+++ b/gcc/ada/i-cpoint.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/i-cpoint.ads b/gcc/ada/i-cpoint.ads
index e6a8ae4eff3..b3943b5fb98 100644
--- a/gcc/ada/i-cpoint.ads
+++ b/gcc/ada/i-cpoint.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1993-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1993-2011, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
diff --git a/gcc/ada/i-cstrin.adb b/gcc/ada/i-cstrin.adb
index 81489464640..a2705065b17 100644
--- a/gcc/ada/i-cstrin.adb
+++ b/gcc/ada/i-cstrin.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/i-cstrin.ads b/gcc/ada/i-cstrin.ads
index 99f2afe7f63..bebf6c02d26 100644
--- a/gcc/ada/i-cstrin.ads
+++ b/gcc/ada/i-cstrin.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1993-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1993-2011, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
diff --git a/gcc/ada/layout.adb b/gcc/ada/layout.adb
index 3ac620ca4ca..55fe37812ce 100644
--- a/gcc/ada/layout.adb
+++ b/gcc/ada/layout.adb
@@ -2873,22 +2873,63 @@ package body Layout is
-- Alignment is not known, see if we can set it, taking into account
-- the setting of the Optimize_Alignment mode.
- -- If Optimize_Alignment is set to Space, then packed records always
- -- have an alignment of 1. But don't do anything for atomic records
- -- since we may need higher alignment for indivisible access.
+ -- If Optimize_Alignment is set to Space, then we try to give packed
+ -- records an aligmment of 1, unless there is some reason we can't.
if Optimize_Alignment_Space (E)
and then Is_Record_Type (E)
and then Is_Packed (E)
- and then not Is_Atomic (E)
then
+ -- No effect for record with atomic components
+
+ if Is_Atomic (E) then
+ Error_Msg_N ("Optimize_Alignment has no effect for &??", E);
+ Error_Msg_N ("\pragma ignored for atomic record??", E);
+ return;
+ end if;
+
+ -- No effect if independent components
+
+ if Has_Independent_Components (E) then
+ Error_Msg_N ("Optimize_Alignment has no effect for &??", E);
+ Error_Msg_N
+ ("\pragma ignored for record with independent components??", E);
+ return;
+ end if;
+
+ -- No effect if any component is atomic or is a by reference type
+
+ declare
+ Ent : Entity_Id;
+ begin
+ Ent := First_Component_Or_Discriminant (E);
+ while Present (Ent) loop
+ if Is_By_Reference_Type (Etype (Ent))
+ or else Is_Atomic (Etype (Ent))
+ or else Is_Atomic (Ent)
+ then
+ Error_Msg_N ("Optimize_Alignment has no effect for &??", E);
+ Error_Msg_N
+ ("\pragma is ignored if atomic components present??", E);
+ return;
+ else
+ Next_Component_Or_Discriminant (Ent);
+ end if;
+ end loop;
+ end;
+
+ -- Optimize_Alignment has no effect on variable length record
+
if not Size_Known_At_Compile_Time (E) then
Error_Msg_N ("Optimize_Alignment has no effect for &??", E);
Error_Msg_N ("\pragma is ignored for variable length record??", E);
- else
- Align := 1;
+ return;
end if;
+ -- All tests passed, we can set alignment to 1
+
+ Align := 1;
+
-- Not a record, or not packed
else
diff --git a/gcc/ada/lib-xref.ads b/gcc/ada/lib-xref.ads
index faf715aabff..00d72c12a05 100644
--- a/gcc/ada/lib-xref.ads
+++ b/gcc/ada/lib-xref.ads
@@ -531,7 +531,12 @@ package Lib.Xref is
E_Protected_Object => ' ',
E_Protected_Body => ' ',
E_Task_Body => ' ',
- E_Subprogram_Body => ' ');
+ E_Subprogram_Body => ' ',
+
+ -- ??? The following letter is added for completion, proper design and
+ -- implementation of abstract state cross-referencing to follow.
+
+ E_Abstract_State => ' ');
-- The following table is for information purposes. It shows the use of
-- each character appearing as an entity type.
diff --git a/gcc/ada/makeutl.ads b/gcc/ada/makeutl.ads
index 7848ed093cb..37e9f610775 100644
--- a/gcc/ada/makeutl.ads
+++ b/gcc/ada/makeutl.ads
@@ -44,6 +44,18 @@ package Makeutl is
type Fail_Proc is access procedure (S : String);
-- Pointer to procedure which outputs a failure message
+ Root_Environment : Prj.Tree.Environment;
+ -- The environment coming from environment variables and command line
+ -- switches. When we do not have an aggregate project, this is used for
+ -- parsing the project tree. When we have an aggregate project, this is
+ -- used to parse the aggregate project; the latter then generates another
+ -- environment (with additional external values and project path) to parse
+ -- the aggregated projects.
+
+ Default_Config_Name : constant String := "default.cgpr";
+ -- Name of the configuration file used by gprbuild and generated by
+ -- gprconfig by default.
+
On_Windows : constant Boolean := Directory_Separator = '\';
-- True when on Windows
@@ -67,6 +79,18 @@ package Makeutl is
Create_Map_File_Switch : constant String := "--create-map-file";
-- Switch to create a map file when an executable is linked
+ Load_Standard_Base : Boolean := True;
+ -- False when gprbuild is called with --db-
+
+ package Db_Switch_Args is new Table.Table
+ (Table_Component_Type => Name_Id,
+ Table_Index_Type => Integer,
+ Table_Low_Bound => 1,
+ Table_Initial => 200,
+ Table_Increment => 100,
+ Table_Name => "Makegpr.Db_Switch_Args");
+ -- Table of all the arguments of --db switches of gprbuild
+
package Directories is new Table.Table
(Table_Component_Type => Path_Name_Type,
Table_Index_Type => Integer,
diff --git a/gcc/ada/mlib-tgt-specific-darwin.adb b/gcc/ada/mlib-tgt-specific-darwin.adb
index 13beb04a8bf..bc54dbfb918 100644
--- a/gcc/ada/mlib-tgt-specific-darwin.adb
+++ b/gcc/ada/mlib-tgt-specific-darwin.adb
@@ -7,7 +7,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2001-2008, Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/mlib-tgt-specific-vms-alpha.adb b/gcc/ada/mlib-tgt-specific-vms-alpha.adb
index c8e248b13eb..082cbbebcd4 100644
--- a/gcc/ada/mlib-tgt-specific-vms-alpha.adb
+++ b/gcc/ada/mlib-tgt-specific-vms-alpha.adb
@@ -7,7 +7,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2003-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2003-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/mlib-tgt-specific-vms-ia64.adb b/gcc/ada/mlib-tgt-specific-vms-ia64.adb
index 6c6c7ae37ce..c2958586097 100644
--- a/gcc/ada/mlib-tgt-specific-vms-ia64.adb
+++ b/gcc/ada/mlib-tgt-specific-vms-ia64.adb
@@ -7,7 +7,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2004-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2004-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/mlib-tgt-vms_common.adb b/gcc/ada/mlib-tgt-vms_common.adb
index 9855afb84ac..53db3a887d4 100644
--- a/gcc/ada/mlib-tgt-vms_common.adb
+++ b/gcc/ada/mlib-tgt-vms_common.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2003-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2003-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/mlib-tgt-vms_common.ads b/gcc/ada/mlib-tgt-vms_common.ads
index cdba6134ee9..7a4fbb88278 100644
--- a/gcc/ada/mlib-tgt-vms_common.ads
+++ b/gcc/ada/mlib-tgt-vms_common.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2007-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2007-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/namet-sp.adb b/gcc/ada/namet-sp.adb
index 30f85f52c02..34dcfc13743 100644
--- a/gcc/ada/namet-sp.adb
+++ b/gcc/ada/namet-sp.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2008-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 2008-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/namet-sp.ads b/gcc/ada/namet-sp.ads
index 15d41a07b05..87e082468e4 100644
--- a/gcc/ada/namet-sp.ads
+++ b/gcc/ada/namet-sp.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2012 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/opt.ads b/gcc/ada/opt.ads
index 2b68d796993..2bd5956434f 100644
--- a/gcc/ada/opt.ads
+++ b/gcc/ada/opt.ads
@@ -537,16 +537,16 @@ package Opt is
-- Determines the handling of exceptions. See Exp_Ch11 for details
--
(Front_End_Setjmp_Longjmp_Exceptions,
- -- Exceptions use setjmp/longjmp generated explicitly by the
- -- front end (this includes gigi or other equivalent parts of
- -- the code generator). AT END handlers are converted into
- -- exception handlers by the front end in this mode.
+ -- Exceptions use setjmp/longjmp generated explicitly by the front end
+ -- (this includes gigi or other equivalent parts of the code generator).
+ -- AT END handlers are converted into exception handlers by the front
+ -- end in this mode.
Back_End_Exceptions);
-- Exceptions are handled by the back end. The front end simply
- -- generates the handlers as they appear in the source, and AT
- -- END handlers are left untouched (they are not converted into
- -- exception handlers when operating in this mode.
+ -- generates the handlers as they appear in the source, and AT END
+ -- handlers are left untouched (they are not converted into exception
+ -- handlers when operating in this mode.
pragma Convention (C, Exception_Mechanism_Type);
Exception_Mechanism : Exception_Mechanism_Type :=
diff --git a/gcc/ada/par-ch13.adb b/gcc/ada/par-ch13.adb
index d3ed8515c38..4d63d0e64a4 100644
--- a/gcc/ada/par-ch13.adb
+++ b/gcc/ada/par-ch13.adb
@@ -105,6 +105,13 @@ package body Ch13 is
if Token = Tok_Arrow then
Result := True;
+ -- The identifier may be the name of a boolean aspect with a
+ -- defaulted True value. Further checks when analyzing aspect
+ -- specification.
+
+ elsif Token = Tok_Comma then
+ Result := True;
+
elsif Token = Tok_Apostrophe then
Scan; -- past apostrophe
diff --git a/gcc/ada/par-ch6.adb b/gcc/ada/par-ch6.adb
index 6ad3467a5d2..74736ceb4ae 100644
--- a/gcc/ada/par-ch6.adb
+++ b/gcc/ada/par-ch6.adb
@@ -592,15 +592,26 @@ package body Ch6 is
elsif Aspect_Specifications_Present then
goto Subprogram_Declaration;
- -- Here we have a missing IS or missing semicolon, we always guess
- -- a missing semicolon, since we are pretty good at fixing up a
- -- semicolon which should really be an IS
+ -- Here we have a missing IS or missing semicolon
else
- Error_Msg_AP -- CODEFIX
- ("|missing "";""");
- SIS_Missing_Semicolon_Message := Get_Msg_Id;
- goto Subprogram_Declaration;
+ -- If the next token is a left paren at the start of a line, then
+ -- this is almost certainly the start of the expression for an
+ -- expression function, so in this case guess a missing IS.
+
+ if Token = Tok_Left_Paren and then Token_Is_At_Start_Of_Line then
+ Error_Msg_AP -- CODEFIX
+ ("missing IS");
+
+ -- In all other cases, we guess a missing semicolon, since we are
+ -- good at fixing up a semicolon which should really be an IS.
+
+ else
+ Error_Msg_AP -- CODEFIX
+ ("|missing "";""");
+ SIS_Missing_Semicolon_Message := Get_Msg_Id;
+ goto Subprogram_Declaration;
+ end if;
end if;
end if;
diff --git a/gcc/ada/par-ch9.adb b/gcc/ada/par-ch9.adb
index 82907746fa2..2de05880b59 100644
--- a/gcc/ada/par-ch9.adb
+++ b/gcc/ada/par-ch9.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/par-prag.adb b/gcc/ada/par-prag.adb
index 579dd374a13..313567b6bd8 100644
--- a/gcc/ada/par-prag.adb
+++ b/gcc/ada/par-prag.adb
@@ -1092,6 +1092,7 @@ begin
-- entirely in Sem_Prag, and no further checking is done by Par.
when Pragma_Abort_Defer |
+ Pragma_Abstract_State |
Pragma_Assertion_Policy |
Pragma_Assume |
Pragma_Assume_No_Invalid_Values |
@@ -1155,6 +1156,7 @@ begin
Pragma_Fast_Math |
Pragma_Finalize_Storage_Only |
Pragma_Float_Representation |
+ Pragma_Global |
Pragma_Ident |
Pragma_Implementation_Defined |
Pragma_Implemented |
diff --git a/gcc/ada/par-tchk.adb b/gcc/ada/par-tchk.adb
index 6efb1e96697..eefd7b4302e 100644
--- a/gcc/ada/par-tchk.adb
+++ b/gcc/ada/par-tchk.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -452,10 +452,10 @@ package body Tchk is
Scan;
return;
- -- An interesting little kludge here. If the previous token is a
- -- semicolon, then there is no way that we can legitimately need another
- -- semicolon. This could only arise in an error situation where an error
- -- has already been signalled. By simply ignoring the request for a
+ -- An interesting little kludge. If the previous token is a semicolon,
+ -- then there is no way that we can legitimately need another semicolon.
+ -- This could only arise in an error situation where an error has
+ -- already been signalled. By simply ignoring the request for a
-- semicolon in this case, we avoid some spurious missing semicolon
-- messages.
@@ -474,9 +474,7 @@ package body Tchk is
-- Deal with pragma. If pragma is not at start of line, it is considered
-- misplaced otherwise we treat it as a normal missing semicolon case.
- elsif Token = Tok_Pragma
- and then not Token_Is_At_Start_Of_Line
- then
+ elsif Token = Tok_Pragma and then not Token_Is_At_Start_Of_Line then
P_Pragmas_Misplaced;
if Token = Tok_Semicolon then
diff --git a/gcc/ada/par-util.adb b/gcc/ada/par-util.adb
index fa592a7ea50..e18801f024f 100644
--- a/gcc/ada/par-util.adb
+++ b/gcc/ada/par-util.adb
@@ -635,6 +635,15 @@ package body Util is
procedure No_Constraint is
begin
+ -- If next token is at start of line, don't object, it seems relatively
+ -- unlikely that a constraint would be on its own starting a line.
+
+ if Token_Is_At_Start_Of_Line then
+ return;
+ end if;
+
+ -- Otherwise if we have a token that could start a constraint, object
+
if Token in Token_Class_Consk then
Error_Msg_SC ("constraint not allowed here");
Discard_Junk_Node (P_Constraint_Opt);
diff --git a/gcc/ada/prepcomp.ads b/gcc/ada/prepcomp.ads
index 2f16fa79d0b..00ddf13d2d7 100644
--- a/gcc/ada/prepcomp.ads
+++ b/gcc/ada/prepcomp.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2002-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2002-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/prj-attr.adb b/gcc/ada/prj-attr.adb
index f2af8379100..05fec4861e4 100644
--- a/gcc/ada/prj-attr.adb
+++ b/gcc/ada/prj-attr.adb
@@ -361,6 +361,12 @@ package body Prj.Attr is
"SVproject_subdir#" &
"SVactive#" &
+ -- package Remote
+
+ "Premote#" &
+ "LVbuild_slaves#" &
+ "SVroot_dir#" &
+
-- package Stack
"Pstack#" &
diff --git a/gcc/ada/prj-conf.adb b/gcc/ada/prj-conf.adb
index b0ea7410013..766ce8e09c7 100644
--- a/gcc/ada/prj-conf.adb
+++ b/gcc/ada/prj-conf.adb
@@ -48,9 +48,6 @@ package body Prj.Conf is
Auto_Cgpr : constant String := "auto.cgpr";
- Default_Name : constant String := "default.cgpr";
- -- Default configuration file that will be used if found
-
Config_Project_Env_Var : constant String := "GPR_CONFIG";
-- Name of the environment variable that provides the name of the
-- configuration file to use.
@@ -569,7 +566,7 @@ package body Prj.Conf is
end if;
if Target = "" then
- OK := not Autoconf_Specified or else Tgt_Name = No_Name;
+ OK := Autoconf_Specified or else Tgt_Name = No_Name;
else
OK := Tgt_Name /= No_Name
and then Target = Get_Name_String (Tgt_Name);
@@ -624,6 +621,10 @@ package body Prj.Conf is
-- Set to True if at least one attribute Ide'Compiler_Command is
-- specified for one language of the system.
+ Conf_File_Name : String_Access := new String'(Config_File_Name);
+ -- The configuration project file name. May be modified if there are
+ -- switches --config= in the Builder package of the main project.
+
function Default_File_Name return String;
-- Return the name of the default config file that should be tested
@@ -631,283 +632,178 @@ package body Prj.Conf is
-- Generate a new config file through gprconfig. In case of error, this
-- raises the Invalid_Config exception with an appropriate message
+ procedure Check_Builder_Switches;
+ -- Check for switches --config and --RTS in package Builder
+
function Get_Config_Switches return Argument_List_Access;
-- Return the --config switches to use for gprconfig
+ function Get_Db_Switches return Argument_List_Access;
+ -- Return the --db switches to use for gprconfig
+
function Might_Have_Sources (Project : Project_Id) return Boolean;
-- True if the specified project might have sources (ie the user has not
-- explicitly specified it. We haven't checked the file system, nor do
-- we need to at this stage.
- -----------------------
- -- Default_File_Name --
- -----------------------
-
- function Default_File_Name return String is
- Ada_RTS : constant String := Runtime_Name_For (Name_Ada);
- Tmp : String_Access;
-
- begin
- if Target_Name /= "" then
- if Ada_RTS /= "" then
- return Target_Name & '-' & Ada_RTS
- & Config_Project_File_Extension;
- else
- return Target_Name & Config_Project_File_Extension;
- end if;
-
- elsif Ada_RTS /= "" then
- return Ada_RTS & Config_Project_File_Extension;
-
- else
- Tmp := Getenv (Config_Project_Env_Var);
-
- declare
- T : constant String := Tmp.all;
-
- begin
- Free (Tmp);
-
- if T'Length = 0 then
- return Default_Name;
- else
- return T;
- end if;
- end;
- end if;
- end Default_File_Name;
-
- ------------------------
- -- Might_Have_Sources --
- ------------------------
-
- function Might_Have_Sources (Project : Project_Id) return Boolean is
- Variable : Variable_Value;
-
- begin
- Variable :=
- Value_Of
- (Name_Source_Dirs,
- Project.Decl.Attributes,
- Shared);
-
- if Variable = Nil_Variable_Value
- or else Variable.Default
- or else Variable.Values /= Nil_String
- then
- Variable :=
- Value_Of
- (Name_Source_Files,
- Project.Decl.Attributes,
- Shared);
- return Variable = Nil_Variable_Value
- or else Variable.Default
- or else Variable.Values /= Nil_String;
-
- else
- return False;
- end if;
- end Might_Have_Sources;
-
- -------------------------
- -- Get_Config_Switches --
- -------------------------
+ ----------------------------
+ -- Check_Builder_Switches --
+ ----------------------------
- function Get_Config_Switches return Argument_List_Access is
+ procedure Check_Builder_Switches is
+ Get_RTS_Switches : constant Boolean :=
+ RTS_Languages.Get_First = No_Name;
+ -- If no switch --RTS have been specified on the command line, look
+ -- for --RTS switches in the Builder switches.
- package Language_Htable is new GNAT.HTable.Simple_HTable
- (Header_Num => Prj.Header_Num,
- Element => Name_Id,
- No_Element => No_Name,
- Key => Name_Id,
- Hash => Prj.Hash,
- Equal => "=");
- -- Hash table to keep the languages used in the project tree
+ Builder : constant Package_Id :=
+ Value_Of (Name_Builder, Project.Decl.Packages, Shared);
- IDE : constant Package_Id :=
- Value_Of (Name_Ide, Project.Decl.Packages, Shared);
+ Switch_Array_Id : Array_Element_Id;
+ -- The Switches to be checked
- procedure Add_Config_Switches_For_Project
- (Project : Project_Id;
- Tree : Project_Tree_Ref;
- With_State : in out Integer);
- -- Add all --config switches for this project. This is also called
- -- for aggregate projects.
+ procedure Check_Switches;
+ -- Check the switches in Switch_Array_Id
- -------------------------------------
- -- Add_Config_Switches_For_Project --
- -------------------------------------
+ --------------------
+ -- Check_Switches --
+ --------------------
- procedure Add_Config_Switches_For_Project
- (Project : Project_Id;
- Tree : Project_Tree_Ref;
- With_State : in out Integer)
- is
- pragma Unreferenced (With_State);
-
- Shared : constant Shared_Project_Tree_Data_Access := Tree.Shared;
-
- Variable : Variable_Value;
- Check_Default : Boolean;
- Lang : Name_Id;
- List : String_List_Id;
- Elem : String_Element;
+ procedure Check_Switches is
+ Switch_Array : Array_Element;
+ Switch_List : String_List_Id := Nil_String;
+ Switch : String_Element;
+ Lang : Name_Id;
+ Lang_Last : Positive;
begin
- if Might_Have_Sources (Project) then
- Variable :=
- Value_Of (Name_Languages, Project.Decl.Attributes, Shared);
+ while Switch_Array_Id /= No_Array_Element loop
+ Switch_Array :=
+ Shared.Array_Elements.Table (Switch_Array_Id);
- if Variable = Nil_Variable_Value or else Variable.Default then
-
- -- Languages is not declared. If it is not an extending
- -- project, or if it extends a project with no Languages,
- -- check for Default_Language.
+ Switch_List := Switch_Array.Value.Values;
+ List_Loop : while Switch_List /= Nil_String loop
+ Switch := Shared.String_Elements.Table (Switch_List);
- Check_Default := Project.Extends = No_Project;
+ if Switch.Value /= No_Name then
+ Get_Name_String (Switch.Value);
- if not Check_Default then
- Variable :=
- Value_Of
- (Name_Languages,
- Project.Extends.Decl.Attributes,
- Shared);
- Check_Default :=
- Variable /= Nil_Variable_Value
- and then Variable.Values = Nil_String;
- end if;
-
- if Check_Default then
- Variable :=
- Value_Of
- (Name_Default_Language,
- Project.Decl.Attributes,
- Shared);
-
- if Variable /= Nil_Variable_Value
- and then not Variable.Default
+ if Conf_File_Name'Length = 0
+ and then Name_Len > 9
+ and then Name_Buffer (1 .. 9) = "--config="
then
- Get_Name_String (Variable.Value);
- To_Lower (Name_Buffer (1 .. Name_Len));
- Lang := Name_Find;
- Language_Htable.Set (Lang, Lang);
+ Conf_File_Name :=
+ new String'(Name_Buffer (10 .. Name_Len));
- -- If no default language is declared, default to Ada
+ elsif Get_RTS_Switches
+ and then Name_Len >= 7
+ and then Name_Buffer (1 .. 5) = "--RTS"
+ then
+ if Name_Buffer (6) = '=' then
+ if not Runtime_Name_Set_For (Name_Ada) then
+ Set_Runtime_For
+ (Name_Ada,
+ Name_Buffer (7 .. Name_Len));
+ Locate_Runtime (Name_Ada, Project_Tree);
+ end if;
- else
- Language_Htable.Set (Name_Ada, Name_Ada);
+ elsif Name_Len > 7
+ and then Name_Buffer (6) = ':'
+ and then Name_Buffer (7) /= '='
+ then
+ Lang_Last := 7;
+ while Lang_Last < Name_Len
+ and then Name_Buffer (Lang_Last + 1) /= '='
+ loop
+ Lang_Last := Lang_Last + 1;
+ end loop;
+
+ if Name_Buffer (Lang_Last + 1) = '=' then
+ declare
+ RTS : constant String :=
+ Name_Buffer (Lang_Last + 2 .. Name_Len);
+ begin
+ Name_Buffer (1 .. Lang_Last - 6) :=
+ Name_Buffer (7 .. Lang_Last);
+ Name_Len := Lang_Last - 6;
+ To_Lower (Name_Buffer (1 .. Name_Len));
+ Lang := Name_Find;
+
+ if not Runtime_Name_Set_For (Lang) then
+ Set_Runtime_For (Lang, RTS);
+ Locate_Runtime (Lang, Project_Tree);
+ end if;
+ end;
+ end if;
+ end if;
end if;
end if;
- elsif Variable.Values /= Nil_String then
-
- -- Attribute Languages is declared with a non empty list:
- -- put all the languages in Language_HTable.
+ Switch_List := Switch.Next;
+ end loop List_Loop;
- List := Variable.Values;
- while List /= Nil_String loop
- Elem := Shared.String_Elements.Table (List);
-
- Get_Name_String (Elem.Value);
- To_Lower (Name_Buffer (1 .. Name_Len));
- Lang := Name_Find;
- Language_Htable.Set (Lang, Lang);
+ Switch_Array_Id := Switch_Array.Next;
+ end loop;
+ end Check_Switches;
- List := Elem.Next;
- end loop;
- end if;
- end if;
- end Add_Config_Switches_For_Project;
+ -- Start of processing for Check_Builder_Switches
- procedure For_Every_Imported_Project is new For_Every_Project_Imported
- (State => Integer, Action => Add_Config_Switches_For_Project);
- -- Document this procedure ???
+ begin
+ if Builder /= No_Package then
+ Switch_Array_Id :=
+ Value_Of
+ (Name => Name_Switches,
+ In_Arrays => Shared.Packages.Table (Builder).Decl.Arrays,
+ Shared => Shared);
+ Check_Switches;
- -- Local variables
+ Switch_Array_Id :=
+ Value_Of
+ (Name => Name_Default_Switches,
+ In_Arrays => Shared.Packages.Table (Builder).Decl.Arrays,
+ Shared => Shared);
+ Check_Switches;
+ end if;
+ end Check_Builder_Switches;
- Name : Name_Id;
- Count : Natural;
- Result : Argument_List_Access;
- Variable : Variable_Value;
- Dummy : Integer := 0;
+ -----------------------
+ -- Default_File_Name --
+ -----------------------
- -- Start of processing for Get_Config_Switches
+ function Default_File_Name return String is
+ Ada_RTS : constant String := Runtime_Name_For (Name_Ada);
+ Tmp : String_Access;
begin
- For_Every_Imported_Project
- (By => Project,
- Tree => Project_Tree,
- With_State => Dummy,
- Include_Aggregated => True);
-
- Name := Language_Htable.Get_First;
- Count := 0;
- while Name /= No_Name loop
- Count := Count + 1;
- Name := Language_Htable.Get_Next;
- end loop;
-
- Result := new String_List (1 .. Count);
-
- Count := 1;
- Name := Language_Htable.Get_First;
- while Name /= No_Name loop
+ if Target_Name /= "" then
+ if Ada_RTS /= "" then
+ return
+ Target_Name & '-' & Ada_RTS & Config_Project_File_Extension;
+ else
+ return
+ Target_Name & Config_Project_File_Extension;
+ end if;
- -- Check if IDE'Compiler_Command is declared for the language.
- -- If it is, use its value to invoke gprconfig.
+ elsif Ada_RTS /= "" then
+ return Ada_RTS & Config_Project_File_Extension;
- Variable :=
- Value_Of
- (Name,
- Attribute_Or_Array_Name => Name_Compiler_Command,
- In_Package => IDE,
- Shared => Shared,
- Force_Lower_Case_Index => True);
+ else
+ Tmp := Getenv (Config_Project_Env_Var);
declare
- Config_Command : constant String :=
- "--config=" & Get_Name_String (Name);
-
- Runtime_Name : constant String :=
- Runtime_Name_For (Name);
+ T : constant String := Tmp.all;
begin
- if Variable = Nil_Variable_Value
- or else Length_Of_Name (Variable.Value) = 0
- then
- Result (Count) :=
- new String'(Config_Command & ",," & Runtime_Name);
+ Free (Tmp);
+ if T'Length = 0 then
+ return Default_Config_Name;
else
- At_Least_One_Compiler_Command := True;
-
- declare
- Compiler_Command : constant String :=
- Get_Name_String (Variable.Value);
-
- begin
- if Is_Absolute_Path (Compiler_Command) then
- Result (Count) :=
- new String'
- (Config_Command & ",," & Runtime_Name & "," &
- Containing_Directory (Compiler_Command) & "," &
- Simple_Name (Compiler_Command));
- else
- Result (Count) :=
- new String'
- (Config_Command & ",," & Runtime_Name & ",," &
- Compiler_Command);
- end if;
- end;
+ return T;
end if;
end;
-
- Count := Count + 1;
- Name := Language_Htable.Get_Next;
- end loop;
-
- return Result;
- end Get_Config_Switches;
+ end if;
+ end Default_File_Name;
-----------------
-- Do_Autoconf --
@@ -969,6 +865,7 @@ package body Prj.Conf is
declare
Obj_Dir : constant String := Name_Buffer (1 .. Name_Len);
Config_Switches : Argument_List_Access;
+ Db_Switches : Argument_List_Access;
Args : Argument_List (1 .. 5);
Arg_Last : Positive;
Obj_Dir_Exists : Boolean := True;
@@ -1015,122 +912,15 @@ package body Prj.Conf is
end case;
end if;
- -- If no switch --RTS have been specified on the command line,
- -- look for --RTS switches in the Builder switches.
-
- if RTS_Languages.Get_First = No_Name then
- declare
- Builder : constant Package_Id :=
- Value_Of
- (Name_Builder, Project.Decl.Packages, Shared);
- Switch_Array_Id : Array_Element_Id;
-
- procedure Check_RTS_Switches;
- -- Take into account eventual switches --RTS in
- -- Switch_Array_Id.
-
- ------------------------
- -- Check_RTS_SWitches --
- ------------------------
-
- procedure Check_RTS_Switches is
- Switch_Array : Array_Element;
- Switch_List : String_List_Id := Nil_String;
- Switch : String_Element;
- Lang : Name_Id;
- Lang_Last : Positive;
-
- begin
- while Switch_Array_Id /= No_Array_Element loop
- Switch_Array :=
- Shared.Array_Elements.Table (Switch_Array_Id);
-
- Switch_List := Switch_Array.Value.Values;
- while Switch_List /= Nil_String loop
- Switch :=
- Shared.String_Elements.Table (Switch_List);
-
- if Switch.Value /= No_Name then
- Get_Name_String (Switch.Value);
-
- if Name_Len >= 7 and then
- Name_Buffer (1 .. 5) = "--RTS"
- then
- if Name_Buffer (6) = '=' then
- if not Runtime_Name_Set_For (Name_Ada) then
- Set_Runtime_For
- (Name_Ada,
- Name_Buffer (7 .. Name_Len));
- end if;
-
- elsif Name_Len > 7 and then
- Name_Buffer (6) = ':' and then
- Name_Buffer (7) /= '='
- then
- Lang_Last := 7;
- while Lang_Last < Name_Len and then
- Name_Buffer (Lang_Last + 1) /= '='
- loop
- Lang_Last := Lang_Last + 1;
- end loop;
-
- if Name_Buffer (Lang_Last + 1) = '=' then
- declare
- RTS : constant String :=
- Name_Buffer (Lang_Last + 2 ..
- Name_Len);
- begin
- Name_Buffer (1 .. Lang_Last - 6) :=
- Name_Buffer (7 .. Lang_Last);
- Name_Len := Lang_Last - 6;
- To_Lower
- (Name_Buffer (1 .. Name_Len));
- Lang := Name_Find;
-
- if not
- Runtime_Name_Set_For (Lang)
- then
- Set_Runtime_For (Lang, RTS);
- end if;
- end;
- end if;
- end if;
- end if;
- end if;
-
- Switch_List := Switch.Next;
- end loop;
-
- Switch_Array_Id := Switch_Array.Next;
- end loop;
- end Check_RTS_Switches;
-
- begin
- if Builder /= No_Package then
- Switch_Array_Id :=
- Value_Of
- (Name => Name_Switches,
- In_Arrays =>
- Shared.Packages.Table (Builder).Decl.Arrays,
- Shared => Shared);
- Check_RTS_Switches;
-
- Switch_Array_Id :=
- Value_Of
- (Name => Name_Default_Switches,
- In_Arrays =>
- Shared.Packages.Table (Builder).Decl.Arrays,
- Shared => Shared);
- Check_RTS_Switches;
- end if;
- end;
- end if;
-
-- Get the config switches. This should be done only now, as some
-- runtimes may have been found if the Builder switches.
Config_Switches := Get_Config_Switches;
+ -- Get eventual --db switches
+
+ Db_Switches := Get_Db_Switches;
+
-- Invoke gprconfig
Args (1) := new String'("--batch");
@@ -1138,7 +928,7 @@ package body Prj.Conf is
-- If no config file was specified, set the auto.cgpr one
- if Config_File_Name = "" then
+ if Conf_File_Name'Length = 0 then
if Obj_Dir_Exists then
Args (3) := new String'(Obj_Dir & Auto_Cgpr);
@@ -1176,20 +966,54 @@ package body Prj.Conf is
end;
end if;
else
- Args (3) := new String'(Config_File_Name);
+ Args (3) := Conf_File_Name;
end if;
if Normalized_Hostname = "" then
Arg_Last := 3;
else
if Target_Name = "" then
- if At_Least_One_Compiler_Command then
- Args (4) := new String'("--target=all");
- else
- Args (4) :=
- new String'("--target=" & Normalized_Hostname);
- end if;
+ -- Check if attribute Target is specified in the main
+ -- project, or in a project it extends. If it is, use this
+ -- target to invoke gprconfig.
+
+ declare
+ Variable : Variable_Value;
+ Proj : Project_Id;
+ Tgt_Name : Name_Id := No_Name;
+
+ begin
+ Proj := Project;
+ Project_Loop :
+ while Proj /= No_Project loop
+ Variable :=
+ Value_Of (Name_Target, Proj.Decl.Attributes, Shared);
+
+ if Variable /= Nil_Variable_Value
+ and then not Variable.Default
+ and then Variable.Value /= No_Name
+ then
+ Tgt_Name := Variable.Value;
+ exit Project_Loop;
+ end if;
+
+ Proj := Proj.Extends;
+ end loop Project_Loop;
+
+ if Tgt_Name /= No_Name then
+ Args (4) :=
+ new String'("--target=" &
+ Get_Name_String (Tgt_Name));
+
+ elsif At_Least_One_Compiler_Command then
+ Args (4) := new String'("--target=all");
+
+ else
+ Args (4) :=
+ new String'("--target=" & Normalized_Hostname);
+ end if;
+ end;
else
Args (4) := new String'("--target=" & Target_Name);
@@ -1216,13 +1040,18 @@ package body Prj.Conf is
Write_Str (Config_Switches (J).all);
end loop;
+ for J in Db_Switches'Range loop
+ Write_Char (' ');
+ Write_Str (Db_Switches (J).all);
+ end loop;
+
Write_Eol;
elsif not Quiet_Output then
-- Display no message if we are creating auto.cgpr, unless in
-- verbose mode
- if Config_File_Name /= ""
+ if Config_File_Name'Length > 0
or else Verbose_Mode
then
Write_Str ("creating ");
@@ -1232,7 +1061,7 @@ package body Prj.Conf is
end if;
Spawn (Gprconfig_Path.all, Args (1 .. Arg_Last) &
- Config_Switches.all,
+ Config_Switches.all & Db_Switches.all,
Success);
Free (Config_Switches);
@@ -1250,6 +1079,266 @@ package body Prj.Conf is
end;
end Do_Autoconf;
+ ---------------------
+ -- Get_Db_Switches --
+ ---------------------
+
+ function Get_Db_Switches return Argument_List_Access is
+ Result : Argument_List_Access;
+ Nmb_Arg : Natural;
+ begin
+ Nmb_Arg :=
+ (2 * Db_Switch_Args.Last) + Boolean'Pos (not Load_Standard_Base);
+ Result := new Argument_List (1 .. Nmb_Arg);
+
+ if Nmb_Arg /= 0 then
+ for J in 1 .. Db_Switch_Args.Last loop
+ Result (2 * J - 1) :=
+ new String'("--db");
+ Result (2 * J) :=
+ new String'(Get_Name_String (Db_Switch_Args.Table (J)));
+ end loop;
+
+ if not Load_Standard_Base then
+ Result (Result'Last) := new String'("--db-");
+ end if;
+ end if;
+
+ return Result;
+ end Get_Db_Switches;
+
+ -------------------------
+ -- Get_Config_Switches --
+ -------------------------
+
+ function Get_Config_Switches return Argument_List_Access is
+
+ package Language_Htable is new GNAT.HTable.Simple_HTable
+ (Header_Num => Prj.Header_Num,
+ Element => Name_Id,
+ No_Element => No_Name,
+ Key => Name_Id,
+ Hash => Prj.Hash,
+ Equal => "=");
+ -- Hash table to keep the languages used in the project tree
+
+ IDE : constant Package_Id :=
+ Value_Of (Name_Ide, Project.Decl.Packages, Shared);
+
+ procedure Add_Config_Switches_For_Project
+ (Project : Project_Id;
+ Tree : Project_Tree_Ref;
+ With_State : in out Integer);
+ -- Add all --config switches for this project. This is also called
+ -- for aggregate projects.
+
+ -------------------------------------
+ -- Add_Config_Switches_For_Project --
+ -------------------------------------
+
+ procedure Add_Config_Switches_For_Project
+ (Project : Project_Id;
+ Tree : Project_Tree_Ref;
+ With_State : in out Integer)
+ is
+ pragma Unreferenced (With_State);
+
+ Shared : constant Shared_Project_Tree_Data_Access := Tree.Shared;
+
+ Variable : Variable_Value;
+ Check_Default : Boolean;
+ Lang : Name_Id;
+ List : String_List_Id;
+ Elem : String_Element;
+
+ begin
+ if Might_Have_Sources (Project) then
+ Variable :=
+ Value_Of (Name_Languages, Project.Decl.Attributes, Shared);
+
+ if Variable = Nil_Variable_Value or else Variable.Default then
+
+ -- Languages is not declared. If it is not an extending
+ -- project, or if it extends a project with no Languages,
+ -- check for Default_Language.
+
+ Check_Default := Project.Extends = No_Project;
+
+ if not Check_Default then
+ Variable :=
+ Value_Of
+ (Name_Languages,
+ Project.Extends.Decl.Attributes,
+ Shared);
+ Check_Default :=
+ Variable /= Nil_Variable_Value
+ and then Variable.Values = Nil_String;
+ end if;
+
+ if Check_Default then
+ Variable :=
+ Value_Of
+ (Name_Default_Language,
+ Project.Decl.Attributes,
+ Shared);
+
+ if Variable /= Nil_Variable_Value
+ and then not Variable.Default
+ then
+ Get_Name_String (Variable.Value);
+ To_Lower (Name_Buffer (1 .. Name_Len));
+ Lang := Name_Find;
+ Language_Htable.Set (Lang, Lang);
+
+ -- If no default language is declared, default to Ada
+
+ else
+ Language_Htable.Set (Name_Ada, Name_Ada);
+ end if;
+ end if;
+
+ elsif Variable.Values /= Nil_String then
+
+ -- Attribute Languages is declared with a non empty list:
+ -- put all the languages in Language_HTable.
+
+ List := Variable.Values;
+ while List /= Nil_String loop
+ Elem := Shared.String_Elements.Table (List);
+
+ Get_Name_String (Elem.Value);
+ To_Lower (Name_Buffer (1 .. Name_Len));
+ Lang := Name_Find;
+ Language_Htable.Set (Lang, Lang);
+
+ List := Elem.Next;
+ end loop;
+ end if;
+ end if;
+ end Add_Config_Switches_For_Project;
+
+ procedure For_Every_Imported_Project is new For_Every_Project_Imported
+ (State => Integer, Action => Add_Config_Switches_For_Project);
+ -- Document this procedure ???
+
+ -- Local variables
+
+ Name : Name_Id;
+ Count : Natural;
+ Result : Argument_List_Access;
+ Variable : Variable_Value;
+ Dummy : Integer := 0;
+
+ -- Start of processing for Get_Config_Switches
+
+ begin
+ For_Every_Imported_Project
+ (By => Project,
+ Tree => Project_Tree,
+ With_State => Dummy,
+ Include_Aggregated => True);
+
+ Name := Language_Htable.Get_First;
+ Count := 0;
+ while Name /= No_Name loop
+ Count := Count + 1;
+ Name := Language_Htable.Get_Next;
+ end loop;
+
+ Result := new String_List (1 .. Count);
+
+ Count := 1;
+ Name := Language_Htable.Get_First;
+ while Name /= No_Name loop
+
+ -- Check if IDE'Compiler_Command is declared for the language.
+ -- If it is, use its value to invoke gprconfig.
+
+ Variable :=
+ Value_Of
+ (Name,
+ Attribute_Or_Array_Name => Name_Compiler_Command,
+ In_Package => IDE,
+ Shared => Shared,
+ Force_Lower_Case_Index => True);
+
+ declare
+ Config_Command : constant String :=
+ "--config=" & Get_Name_String (Name);
+
+ Runtime_Name : constant String :=
+ Runtime_Name_For (Name);
+
+ begin
+ if Variable = Nil_Variable_Value
+ or else Length_Of_Name (Variable.Value) = 0
+ then
+ Result (Count) :=
+ new String'(Config_Command & ",," & Runtime_Name);
+
+ else
+ At_Least_One_Compiler_Command := True;
+
+ declare
+ Compiler_Command : constant String :=
+ Get_Name_String (Variable.Value);
+
+ begin
+ if Is_Absolute_Path (Compiler_Command) then
+ Result (Count) :=
+ new String'
+ (Config_Command & ",," & Runtime_Name & "," &
+ Containing_Directory (Compiler_Command) & "," &
+ Simple_Name (Compiler_Command));
+ else
+ Result (Count) :=
+ new String'
+ (Config_Command & ",," & Runtime_Name & ",," &
+ Compiler_Command);
+ end if;
+ end;
+ end if;
+ end;
+
+ Count := Count + 1;
+ Name := Language_Htable.Get_Next;
+ end loop;
+
+ return Result;
+ end Get_Config_Switches;
+
+ ------------------------
+ -- Might_Have_Sources --
+ ------------------------
+
+ function Might_Have_Sources (Project : Project_Id) return Boolean is
+ Variable : Variable_Value;
+
+ begin
+ Variable :=
+ Value_Of
+ (Name_Source_Dirs,
+ Project.Decl.Attributes,
+ Shared);
+
+ if Variable = Nil_Variable_Value
+ or else Variable.Default
+ or else Variable.Values /= Nil_String
+ then
+ Variable :=
+ Value_Of
+ (Name_Source_Files,
+ Project.Decl.Attributes,
+ Shared);
+ return Variable = Nil_Variable_Value
+ or else Variable.Default
+ or else Variable.Values /= Nil_String;
+
+ else
+ return False;
+ end if;
+ end Might_Have_Sources;
+
Success : Boolean;
Config_Project_Node : Project_Node_Id := Empty_Node;
@@ -1259,19 +1348,21 @@ package body Prj.Conf is
Free (Config_File_Path);
Config := No_Project;
- if Config_File_Name /= "" then
- Config_File_Path := Locate_Config_File (Config_File_Name);
+ Check_Builder_Switches;
+
+ if Conf_File_Name'Length > 0 then
+ Config_File_Path := Locate_Config_File (Conf_File_Name.all);
else
Config_File_Path := Locate_Config_File (Default_File_Name);
end if;
if Config_File_Path = null then
- if (not Allow_Automatic_Generation)
- and then Config_File_Name /= ""
+ if not Allow_Automatic_Generation
+ and then Conf_File_Name'Length > 0
then
Raise_Invalid_Config
("could not locate main configuration project "
- & Config_File_Name);
+ & Conf_File_Name.all);
end if;
end if;
@@ -1295,10 +1386,11 @@ package body Prj.Conf is
end if;
-- If the config file is not auto-generated, warn if there is any --RTS
- -- switch on the command line.
+ -- switch, but not when the config file is generated in memory.
elsif RTS_Languages.Get_First /= No_Name
and then Opt.Warning_Mode /= Opt.Suppress
+ and then On_Load_Config = null
then
Write_Line
("warning: --RTS is taken into account only in auto-configuration");
@@ -1380,6 +1472,56 @@ package body Prj.Conf is
end if;
end Locate_Config_File;
+ --------------------
+ -- Locate_Runtime --
+ --------------------
+
+ procedure Locate_Runtime
+ (Language : Name_Id;
+ Project_Tree : Prj.Project_Tree_Ref)
+ is
+ function Is_Base_Name (Path : String) return Boolean;
+ -- Returns True if Path has no directory separator
+
+ ------------------
+ -- Is_Base_Name --
+ ------------------
+
+ function Is_Base_Name (Path : String) return Boolean is
+ begin
+ for I in Path'Range loop
+ if Path (I) = Directory_Separator or else Path (I) = '/' then
+ return False;
+ end if;
+ end loop;
+ return True;
+ end Is_Base_Name;
+
+ -- Local declarations
+
+ function Find_Rts_In_Path is new Prj.Env.Find_Name_In_Path
+ (Check_Filename => Is_Directory);
+
+ RTS_Name : constant String := Runtime_Name_For (Language);
+
+ Full_Path : String_Access;
+
+ -- Start of processing for Locate_Runtime
+
+ begin
+ if not Is_Base_Name (RTS_Name) then
+ Full_Path :=
+ Find_Rts_In_Path (Root_Environment.Project_Path, RTS_Name);
+
+ if Full_Path = null then
+ Fail_Program (Project_Tree, "cannot find RTS " & RTS_Name);
+ end if;
+
+ Set_Runtime_For (Language, Normalize_Pathname (Full_Path.all));
+ Free (Full_Path);
+ end if;
+ end Locate_Runtime;
+
------------------------------------
-- Parse_Project_And_Apply_Config --
------------------------------------
diff --git a/gcc/ada/prj-conf.ads b/gcc/ada/prj-conf.ads
index bc672cf868c..f283c6ed2b3 100644
--- a/gcc/ada/prj-conf.ads
+++ b/gcc/ada/prj-conf.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2006-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 2006-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -189,4 +189,12 @@ package Prj.Conf is
function Runtime_Name_Set_For (Language : Name_Id) return Boolean;
-- Returns True only if Set_Runtime_For has been called for the Language
+ procedure Locate_Runtime
+ (Language : Name_Id;
+ Project_Tree : Prj.Project_Tree_Ref);
+ -- If RTS_Name is a base name (a name without path separator), then
+ -- do nothing. Otherwise, convert it to an absolute path (possibly by
+ -- searching it in the project path) and call Set_Runtime_For with the
+ -- absolute path. Fail the program if the path does not exist.
+
end Prj.Conf;
diff --git a/gcc/ada/prj-nmsc.adb b/gcc/ada/prj-nmsc.adb
index 77d1cfd1cde..b956292a6e6 100644
--- a/gcc/ada/prj-nmsc.adb
+++ b/gcc/ada/prj-nmsc.adb
@@ -6727,9 +6727,9 @@ package body Prj.Nmsc is
procedure Free (Data : in out Project_Processing_Data) is
begin
- Source_Names_Htable.Reset (Data.Source_Names);
- Unit_Exceptions_Htable.Reset (Data.Unit_Exceptions);
- Excluded_Sources_Htable.Reset (Data.Excluded);
+ Source_Names_Htable.Reset (Data.Source_Names);
+ Unit_Exceptions_Htable.Reset (Data.Unit_Exceptions);
+ Excluded_Sources_Htable.Reset (Data.Excluded);
end Free;
-------------------------------
@@ -6996,9 +6996,9 @@ package body Prj.Nmsc is
if Name_Loc.Source.Naming_Exception = Inherited then
declare
- Proj : Project_Id := Name_Loc.Source.Project.Extends;
- Iter : Source_Iterator;
- Src : Source_Id;
+ Proj : Project_Id := Name_Loc.Source.Project.Extends;
+ Iter : Source_Iterator;
+ Src : Source_Id;
begin
while Proj /= No_Project loop
Iter := For_Each_Source (Data.Tree, Proj);
@@ -7149,10 +7149,10 @@ package body Prj.Nmsc is
(Path : Path_Information;
Rank : Natural) return Boolean
is
- Dir : Dir_Type;
- Name : String (1 .. 250);
- Last : Natural;
- Found : Path_Information;
+ Dir : Dir_Type;
+ Name : String (1 .. 250);
+ Last : Natural;
+ Found : Path_Information;
Success : Boolean := False;
begin
@@ -7198,10 +7198,10 @@ package body Prj.Nmsc is
Rank : Natural) return Boolean
is
Path_Str : constant String := Get_Name_String (Path.Display_Name);
- Dir : Dir_Type;
- Name : String (1 .. 250);
- Last : Natural;
- Success : Boolean := False;
+ Dir : Dir_Type;
+ Name : String (1 .. 250);
+ Last : Natural;
+ Success : Boolean := False;
begin
Debug_Output ("looking for subdirs of ", Name_Id (Path.Display_Name));
@@ -8321,9 +8321,7 @@ package body Prj.Nmsc is
procedure Check_Not_Defined (Name : Name_Id) is
Var : constant Prj.Variable_Value :=
Prj.Util.Value_Of
- (Name,
- Project.Decl.Attributes,
- Data.Tree.Shared);
+ (Name, Project.Decl.Attributes, Data.Tree.Shared);
begin
if not Var.Default then
Error_Msg_Name_1 := Name;
diff --git a/gcc/ada/prj.adb b/gcc/ada/prj.adb
index 150d524d30f..de2254cb222 100644
--- a/gcc/ada/prj.adb
+++ b/gcc/ada/prj.adb
@@ -461,6 +461,11 @@ package body Prj is
if Iter.Current = No_Source then
Iter.Language := Iter.Language.Next;
Language_Changed (Iter);
+
+ elsif not Iter.Locally_Removed
+ and then Iter.Current.Locally_Removed
+ then
+ Next (Iter);
end if;
end if;
end Language_Changed;
@@ -473,7 +478,8 @@ package body Prj is
(In_Tree : Project_Tree_Ref;
Project : Project_Id := No_Project;
Language : Name_Id := No_Name;
- Encapsulated_Libs : Boolean := True) return Source_Iterator
+ Encapsulated_Libs : Boolean := True;
+ Locally_Removed : Boolean := True) return Source_Iterator
is
Iter : Source_Iterator;
begin
@@ -484,7 +490,8 @@ package body Prj is
Language_Name => Language,
Language => No_Language_Index,
Current => No_Source,
- Encapsulated_Libs => Encapsulated_Libs);
+ Encapsulated_Libs => Encapsulated_Libs,
+ Locally_Removed => Locally_Removed);
if Project /= null then
while Iter.Project /= null
@@ -521,7 +528,14 @@ package body Prj is
procedure Next (Iter : in out Source_Iterator) is
begin
- Iter.Current := Iter.Current.Next_In_Lang;
+ loop
+ Iter.Current := Iter.Current.Next_In_Lang;
+
+ exit when Iter.Locally_Removed
+ or else Iter.Current = No_Source
+ or else not Iter.Current.Locally_Removed;
+ end loop;
+
if Iter.Current = No_Source then
Iter.Language := Iter.Language.Next;
Language_Changed (Iter);
@@ -563,7 +577,7 @@ package body Prj is
new Ada.Containers.Ordered_Sets (Element_Type => Name_Id);
Seen_Name : Name_Id_Set.Set;
- -- This set is needed to ensure that we do not haandle the same
+ -- This set is needed to ensure that we do not handle the same
-- project twice in the context of aggregate libraries.
procedure Recursive_Check
diff --git a/gcc/ada/prj.ads b/gcc/ada/prj.ads
index f3ca31bdbf9..449b038e475 100644
--- a/gcc/ada/prj.ads
+++ b/gcc/ada/prj.ads
@@ -1466,10 +1466,12 @@ package Prj is
(In_Tree : Project_Tree_Ref;
Project : Project_Id := No_Project;
Language : Name_Id := No_Name;
- Encapsulated_Libs : Boolean := True) return Source_Iterator;
+ Encapsulated_Libs : Boolean := True;
+ Locally_Removed : Boolean := True) return Source_Iterator;
-- Returns an iterator for all the sources of a project tree, or a specific
-- project, or a specific language. Include sources from aggregated libs if
- -- Aggregated_Libs is True.
+ -- Aggregated_Libs is True. If Locally_Removed is set to False the
+ -- Locally_Removed files won't be reported.
function Element (Iter : Source_Iterator) return Source_Id;
-- Return the current source (or No_Source if there are no more sources)
@@ -1923,6 +1925,8 @@ private
Encapsulated_Libs : Boolean;
-- True if we want to include the sources from encapsulated libs
+
+ Locally_Removed : Boolean;
end record;
procedure Add_To_Buffer
diff --git a/gcc/ada/projects.texi b/gcc/ada/projects.texi
index 79ac6620ad7..6bf1e0c7c20 100644
--- a/gcc/ada/projects.texi
+++ b/gcc/ada/projects.texi
@@ -227,6 +227,7 @@ should contain the following code:
* Avoid Duplication With Variables::
* Naming Schemes::
* Installation::
+* Distributed support::
@end menu
@c ---------------------------------------------
@@ -1078,6 +1079,53 @@ installed. Default is @b{share/gpr}.
@end table
@c ---------------------------------------------
+@node Distributed support
+@subsection Distributed support
+@c ---------------------------------------------
+
+@noindent
+For large projects the compilation time can become a limitation in
+the development cycle. To cope with that, GPRbuild supports
+distributed compilation.
+
+The following attributes can be defined in package @code{Remote}:
+
+@table @asis
+
+@item @b{Build_Slaves}
+@cindex @code{Build_Slaves}
+
+A list of string referencing the remote build slaves to use for the
+compilation phase. The format is:
+@code{[protocol://]name.domain[:port]}.
+
+Where @code{protocol} is one of:
+
+@table @asis
+
+@item rsync
+@cindex @code{rsync}
+
+The sources are copied using the external @code{rsync} tool.
+
+@item file
+
+The sources are accessed via a shared directory or mount point.
+
+@end table
+
+The default port used to communicate with @command{gprslave} is
+@code{8484}.
+
+@item @b{Root_Dir}:
+@cindex @code{Root_Dir}
+
+Root directory of the project's sources. The default value is the
+project's directory.
+
+@end table
+
+@c ---------------------------------------------
@node Organizing Projects into Subsystems
@section Organizing Projects into Subsystems
@c ---------------------------------------------
@@ -2514,11 +2562,17 @@ project files specified with @code{Project_Files}.
Each aggregate project has its own (that is if agg1.gpr includes
agg2.gpr, they can potentially both have a different project path).
-This project path is defined as the concatenation, in that order, of
-the current directory, followed by the command line -aP switches,
-then the directories from the Project_Path attribute, then the
-directories from the GPR_PROJECT_PATH and ADA_PROJECT_PATH env.
-variables, and finally the predefined directories.
+
+This project path is defined as the concatenation, in that order, of:
+
+@itemize @bullet
+@item the current directory;
+@item followed by the command line -aP switches;
+@item then the directories from the GPR_PROJECT_PATH and ADA_PROJECT_PATH environment
+variables;
+@item then the directories from the Project_Path attribute;
+@item and finally the predefined directories.
+@end itemize
In the example above, agg2.gpr's project path is not influenced by
the attribute agg1'Project_Path, nor is agg1 influenced by
diff --git a/gcc/ada/rtsfind.adb b/gcc/ada/rtsfind.adb
index 3b3e768adaa..ac662f8ddbe 100644
--- a/gcc/ada/rtsfind.adb
+++ b/gcc/ada/rtsfind.adb
@@ -1466,7 +1466,7 @@ package body Rtsfind is
end if;
Load_RTU (To_Load, Use_Setting => In_Use (Cunit_Entity (U)));
- Set_Is_Visible_Child_Unit (RT_Unit_Table (To_Load).Entity);
+ Set_Is_Visible_Lib_Unit (RT_Unit_Table (To_Load).Entity);
-- Prevent creation of an implicit 'with' from (for example)
-- Ada.Wide_Text_IO.Integer_IO to Ada.Text_IO.Integer_IO,
diff --git a/gcc/ada/s-arit64.ads b/gcc/ada/s-arit64.ads
index 8ecbfede1b7..4eb115305ba 100644
--- a/gcc/ada/s-arit64.ads
+++ b/gcc/ada/s-arit64.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -33,6 +33,9 @@
-- signed integer values in cases where either overflow checking is
-- required, or intermediate results are longer than 64 bits.
+pragma Restrictions (No_Elaboration_Code);
+-- Allow direct call from gigi generated code
+
with Interfaces;
package System.Arith_64 is
@@ -49,8 +52,10 @@ package System.Arith_64 is
-- bits, otherwise returns the 64-bit signed integer difference.
function Multiply_With_Ovflo_Check (X, Y : Int64) return Int64;
+ pragma Export (C, Multiply_With_Ovflo_Check, "__gnat_mulv64");
-- Raises Constraint_Error if product of operands overflows 64
-- bits, otherwise returns the 64-bit signed integer product.
+ -- GIGI may also call this routine directly.
procedure Scaled_Divide
(X, Y, Z : Int64;
diff --git a/gcc/ada/s-asthan-vms-ia64.adb b/gcc/ada/s-asthan-vms-ia64.adb
index e5cdfaeee67..bd88b3a03fc 100644
--- a/gcc/ada/s-asthan-vms-ia64.adb
+++ b/gcc/ada/s-asthan-vms-ia64.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1996-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1996-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-auxdec-vms-ia64.adb b/gcc/ada/s-auxdec-vms-ia64.adb
index 86bec06f2a9..a744917449a 100644
--- a/gcc/ada/s-auxdec-vms-ia64.adb
+++ b/gcc/ada/s-auxdec-vms-ia64.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-auxdec-vms_64.ads b/gcc/ada/s-auxdec-vms_64.ads
index ea0720dfdb4..8707f46f4c6 100644
--- a/gcc/ada/s-auxdec-vms_64.ads
+++ b/gcc/ada/s-auxdec-vms_64.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1996-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1996-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-auxdec.ads b/gcc/ada/s-auxdec.ads
index 53937aa9889..a34d6089327 100644
--- a/gcc/ada/s-auxdec.ads
+++ b/gcc/ada/s-auxdec.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1996-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1996-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-chepoo.ads b/gcc/ada/s-chepoo.ads
index 7f614ec67d0..a4a717f80b0 100644
--- a/gcc/ada/s-chepoo.ads
+++ b/gcc/ada/s-chepoo.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -31,13 +31,14 @@
with System.Storage_Elements;
with System.Storage_Pools;
+
package System.Checked_Pools is
type Checked_Pool is abstract
new System.Storage_Pools.Root_Storage_Pool with private;
-- Equivalent of storage pools with the addition that Dereference is
-- called on each implicit or explicit dereference of a pointer which
- -- has such a storage pool
+ -- has such a storage pool.
procedure Dereference
(Pool : in out Checked_Pool;
diff --git a/gcc/ada/s-except.adb b/gcc/ada/s-except.adb
index 9e0b27cdd6d..b30c92541c7 100644
--- a/gcc/ada/s-except.adb
+++ b/gcc/ada/s-except.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2006-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 2006-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-fore.ads b/gcc/ada/s-fore.ads
index b25024ada69..e3fee489697 100644
--- a/gcc/ada/s-fore.ads
+++ b/gcc/ada/s-fore.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2009 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2012 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-imenne.ads b/gcc/ada/s-imenne.ads
index 7d0c1141dfa..bf2ba29b15b 100644
--- a/gcc/ada/s-imenne.ads
+++ b/gcc/ada/s-imenne.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2000-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2000-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-intman-vxworks.ads b/gcc/ada/s-intman-vxworks.ads
index 564c1391fea..6c63d7546ba 100644
--- a/gcc/ada/s-intman-vxworks.ads
+++ b/gcc/ada/s-intman-vxworks.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-memory-vms_64.adb b/gcc/ada/s-memory-vms_64.adb
index d725e31a83a..f371e977e0a 100644
--- a/gcc/ada/s-memory-vms_64.adb
+++ b/gcc/ada/s-memory-vms_64.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2001-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-memory-vms_64.ads b/gcc/ada/s-memory-vms_64.ads
index c07a9dcfc4b..8a900be8508 100644
--- a/gcc/ada/s-memory-vms_64.ads
+++ b/gcc/ada/s-memory-vms_64.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2001-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-osinte-dummy.ads b/gcc/ada/s-osinte-dummy.ads
index 3970ba32d27..65f1f002850 100644
--- a/gcc/ada/s-osinte-dummy.ads
+++ b/gcc/ada/s-osinte-dummy.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- --
-- Copyright (C) 1991-1994, Florida State University --
--- Copyright (C) 1995-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1995-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-osinte-hpux-dce.ads b/gcc/ada/s-osinte-hpux-dce.ads
index e6ee0ed5e8f..28fb5ba8569 100644
--- a/gcc/ada/s-osinte-hpux-dce.ads
+++ b/gcc/ada/s-osinte-hpux-dce.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- --
-- Copyright (C) 1991-1994, Florida State University --
--- Copyright (C) 1995-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 1995-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-osinte-kfreebsd-gnu.ads b/gcc/ada/s-osinte-kfreebsd-gnu.ads
index 23a28e2d545..406cf0bab27 100644
--- a/gcc/ada/s-osinte-kfreebsd-gnu.ads
+++ b/gcc/ada/s-osinte-kfreebsd-gnu.ads
@@ -6,8 +6,8 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1991-1994, Florida State University --
--- Copyright (C) 1995-2005,2008 Free Software Foundation, Inc. --
+-- Copyright (C) 1991-1994, Florida State University --
+-- Copyright (C) 1995-2005,2008,2012 Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-osinte-mingw.ads b/gcc/ada/s-osinte-mingw.ads
index 69bb5184cf3..fed40191d16 100644
--- a/gcc/ada/s-osinte-mingw.ads
+++ b/gcc/ada/s-osinte-mingw.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- --
-- Copyright (C) 1991-1994, Florida State University --
--- Copyright (C) 1995-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1995-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-osinte-vxworks.adb b/gcc/ada/s-osinte-vxworks.adb
index f06362220e1..81aa7a9d9ed 100644
--- a/gcc/ada/s-osinte-vxworks.adb
+++ b/gcc/ada/s-osinte-vxworks.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1997-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1997-2011, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-poosiz.ads b/gcc/ada/s-poosiz.ads
index e04414c16ea..0e83dd61937 100644
--- a/gcc/ada/s-poosiz.ads
+++ b/gcc/ada/s-poosiz.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-rpc.ads b/gcc/ada/s-rpc.ads
index 93ad69bfc5e..faa09ed5a6c 100644
--- a/gcc/ada/s-rpc.ads
+++ b/gcc/ada/s-rpc.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
diff --git a/gcc/ada/s-stalib.ads b/gcc/ada/s-stalib.ads
index 4f1b90a6ed6..f9a28e08017 100644
--- a/gcc/ada/s-stalib.ads
+++ b/gcc/ada/s-stalib.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-string.adb b/gcc/ada/s-string.adb
index e1799eb4545..a4ffd91b5cd 100644
--- a/gcc/ada/s-string.adb
+++ b/gcc/ada/s-string.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1995-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 1995-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-string.ads b/gcc/ada/s-string.ads
index 79ec1127298..87b7e8aebef 100644
--- a/gcc/ada/s-string.ads
+++ b/gcc/ada/s-string.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1995-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 1995-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-stusta.ads b/gcc/ada/s-stusta.ads
index 6b52ee07757..88a8e7971c5 100644
--- a/gcc/ada/s-stusta.ads
+++ b/gcc/ada/s-stusta.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2009-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2009-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-tasdeb-vms.adb b/gcc/ada/s-tasdeb-vms.adb
index d0cb60f9687..acd7fcce862 100644
--- a/gcc/ada/s-tasdeb-vms.adb
+++ b/gcc/ada/s-tasdeb-vms.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2008-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2008-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-taspri-hpux-dce.ads b/gcc/ada/s-taspri-hpux-dce.ads
index 6cde3474699..8010c2a5b2b 100644
--- a/gcc/ada/s-taspri-hpux-dce.ads
+++ b/gcc/ada/s-taspri-hpux-dce.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1991-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 1991-2012, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-tassta.adb b/gcc/ada/s-tassta.adb
index cf63a304546..75f4e2c4e44 100644
--- a/gcc/ada/s-tassta.adb
+++ b/gcc/ada/s-tassta.adb
@@ -806,8 +806,9 @@ package body System.Tasking.Stages is
procedure Finalize_Global_Tasks is
Self_ID : constant Task_Id := STPO.Self;
- Ignore : Boolean;
- pragma Unreferenced (Ignore);
+ Ignore_1 : Boolean;
+ Ignore_2 : Boolean;
+ pragma Unreferenced (Ignore_1, Ignore_2);
function State
(Int : System.Interrupt_Management.Interrupt_ID) return Character;
@@ -877,7 +878,7 @@ package body System.Tasking.Stages is
Timed_Sleep
(Self_ID, 0.01, System.OS_Primitives.Relative,
- Self_ID.Common.State, Ignore, Ignore);
+ Self_ID.Common.State, Ignore_1, Ignore_2);
end loop;
end if;
@@ -886,7 +887,7 @@ package body System.Tasking.Stages is
Timed_Sleep
(Self_ID, 0.01, System.OS_Primitives.Relative,
- Self_ID.Common.State, Ignore, Ignore);
+ Self_ID.Common.State, Ignore_1, Ignore_2);
Unlock (Self_ID);
diff --git a/gcc/ada/s-tpobop.adb b/gcc/ada/s-tpobop.adb
index 0ed75a8c392..aaf18208e59 100644
--- a/gcc/ada/s-tpobop.adb
+++ b/gcc/ada/s-tpobop.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1998-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 1998-2012, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -379,7 +379,7 @@ package body System.Tasking.Protected_Objects.Operations is
end if;
STPO.Write_Lock (Entry_Call.Self);
- pragma Assert (Entry_Call.State >= Was_Abortable);
+ pragma Assert (Entry_Call.State /= Not_Yet_Abortable);
Initialization.Wakeup_Entry_Caller (Self_ID, Entry_Call, Cancelled);
STPO.Unlock (Entry_Call.Self);
diff --git a/gcc/ada/s-tpopsp-rtems.adb b/gcc/ada/s-tpopsp-rtems.adb
index a0aec9ef745..805d6d98b08 100644
--- a/gcc/ada/s-tpopsp-rtems.adb
+++ b/gcc/ada/s-tpopsp-rtems.adb
@@ -10,7 +10,7 @@
-- $Revision: 1.2 $
-- --
-- Copyright (C) 1991-2003, Florida State University --
--- Copyright (C) 2008-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 2008-2012, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-tposen.ads b/gcc/ada/s-tposen.ads
index 58c6d6d62a5..4bba48b81e3 100644
--- a/gcc/ada/s-tposen.ads
+++ b/gcc/ada/s-tposen.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-traceb-hpux.adb b/gcc/ada/s-traceb-hpux.adb
index 9429b390543..734f0f4b6f3 100644
--- a/gcc/ada/s-traceb-hpux.adb
+++ b/gcc/ada/s-traceb-hpux.adb
@@ -7,7 +7,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2009-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2009-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-utf_32.ads b/gcc/ada/s-utf_32.ads
index 4f61a014788..4e6a67fb91f 100644
--- a/gcc/ada/s-utf_32.ads
+++ b/gcc/ada/s-utf_32.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2005-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 2005-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-wchcon.adb b/gcc/ada/s-wchcon.adb
index 45585d9f744..ac37a92f682 100644
--- a/gcc/ada/s-wchcon.adb
+++ b/gcc/ada/s-wchcon.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2005-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 2005-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/s-win32.ads b/gcc/ada/s-win32.ads
index ec07b820d45..4c92ea5ede7 100644
--- a/gcc/ada/s-win32.ads
+++ b/gcc/ada/s-win32.ads
@@ -154,6 +154,8 @@ package System.Win32 is
FILE_ATTRIBUTE_VALID_FLAGS : constant := 16#00007fb7#;
FILE_ATTRIBUTE_VALID_SET_FLAGS : constant := 16#000031a7#;
+ GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS : constant := 16#00000004#;
+
type OVERLAPPED is record
Internal : DWORD;
InternalHigh : DWORD;
@@ -318,4 +320,20 @@ package System.Win32 is
pragma Import
(Stdcall, QueryPerformanceCounter, "QueryPerformanceCounter");
+ ------------
+ -- Module --
+ ------------
+
+ function GetModuleHandleEx
+ (dwFlags : DWORD;
+ lpModuleName : Address;
+ phModule : access HANDLE) return BOOL;
+ pragma Import (Stdcall, GetModuleHandleEx, "GetModuleHandleExA");
+
+ function GetModuleFileName
+ (hModule : HANDLE;
+ lpFilename : Address;
+ nSize : DWORD) return DWORD;
+ pragma Import (Stdcall, GetModuleFileName, "GetModuleFileNameA");
+
end System.Win32;
diff --git a/gcc/ada/sem_aggr.adb b/gcc/ada/sem_aggr.adb
index 7458324a9d6..5e3278a6f87 100644
--- a/gcc/ada/sem_aggr.adb
+++ b/gcc/ada/sem_aggr.adb
@@ -3560,7 +3560,7 @@ package body Sem_Aggr is
end if;
-- AI05-0115: if the ancestor part is a subtype mark, the ancestor
- -- must npt have unknown discriminants.
+ -- must not have unknown discriminants.
if Is_Derived_Type (Typ)
and then Has_Unknown_Discriminants (Root_Type (Typ))
@@ -3886,7 +3886,24 @@ package body Sem_Aggr is
Next_Elmt (Parent_Elmt);
end loop;
+ -- Typ is not a derived tagged type
+
else
+ -- A type derived from an untagged private type whose full view
+ -- has discriminants is constructed as a record type but there
+ -- are no legal aggregates for it.
+
+ if Is_Derived_Type (Typ)
+ and then Has_Private_Ancestor (Typ)
+ and then Nkind (N) /= N_Extension_Aggregate
+ then
+ Error_Msg_Node_2 := Base_Type (Etype (Typ));
+ Error_Msg_NE
+ ("no aggregate available for type& derived from "
+ & "private type&", N, Typ);
+ return;
+ end if;
+
Record_Def := Type_Definition (Parent (Base_Type (Typ)));
if Null_Present (Record_Def) then
diff --git a/gcc/ada/sem_aggr.ads b/gcc/ada/sem_aggr.ads
index 597ffe47574..a0c1620cd38 100644
--- a/gcc/ada/sem_aggr.ads
+++ b/gcc/ada/sem_aggr.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/sem_ch10.adb b/gcc/ada/sem_ch10.adb
index b55d064f7bb..2e04d60c50f 100644
--- a/gcc/ada/sem_ch10.adb
+++ b/gcc/ada/sem_ch10.adb
@@ -481,8 +481,15 @@ package body Sem_Ch10 is
-- In this case, the second with clause is redundant since
-- the pragma applies only to the first "with Pack;".
+ -- Note that we only consider with_clauses that comes from
+ -- source. In the case of renamings used as prefixes of names
+ -- in with_clauses, we generate a with_clause for the prefix,
+ -- which we do not treat as implicit because it is needed for
+ -- visibility analysis, but is also not redundant.
+
elsif Nkind (Cont_Item) = N_With_Clause
and then not Implicit_With (Cont_Item)
+ and then Comes_From_Source (Cont_Item)
and then not Limited_Present (Cont_Item)
and then Cont_Item /= Clause
and then Entity (Name (Cont_Item)) = Nam_Ent
@@ -2040,9 +2047,15 @@ package body Sem_Ch10 is
end if;
Unit_Name := Entity (Name (Item));
- while Is_Child_Unit (Unit_Name) loop
- Set_Is_Visible_Child_Unit (Unit_Name);
+ loop
+ Set_Is_Visible_Lib_Unit (Unit_Name);
+ exit when Scope (Unit_Name) = Standard_Standard;
Unit_Name := Scope (Unit_Name);
+
+ if No (Unit_Name) then
+ Check_Error_Detected;
+ return;
+ end if;
end loop;
if not Is_Immediately_Visible (Unit_Name) then
@@ -2083,8 +2096,9 @@ package body Sem_Ch10 is
and then not Error_Posted (Item)
then
Unit_Name := Entity (Name (Item));
- while Is_Child_Unit (Unit_Name) loop
- Set_Is_Visible_Child_Unit (Unit_Name, False);
+ loop
+ Set_Is_Visible_Lib_Unit (Unit_Name, False);
+ exit when Scope (Unit_Name) = Standard_Standard;
Unit_Name := Scope (Unit_Name);
end loop;
@@ -2131,7 +2145,7 @@ package body Sem_Ch10 is
E := First_Entity (Current_Scope);
while Present (E) loop
if not Is_Child_Unit (E)
- or else Is_Visible_Child_Unit (E)
+ or else Is_Visible_Lib_Unit (E)
then
Set_Is_Immediately_Visible (E);
end if;
@@ -2296,11 +2310,9 @@ package body Sem_Ch10 is
C : Entity_Id;
begin
C := Current_Scope;
- while Present (C)
- and then Is_Child_Unit (C)
- loop
+ while Present (C) and then C /= Standard_Standard loop
Set_Is_Immediately_Visible (C);
- Set_Is_Visible_Child_Unit (C);
+ Set_Is_Visible_Lib_Unit (C);
C := Scope (C);
end loop;
end;
@@ -4210,7 +4222,7 @@ package body Sem_Ch10 is
end In_Context;
begin
- Set_Is_Visible_Child_Unit (Id, In_Context);
+ Set_Is_Visible_Lib_Unit (Id, In_Context);
end;
end if;
end if;
@@ -4788,7 +4800,7 @@ package body Sem_Ch10 is
if Analyzed (P_Unit)
and then
(Is_Immediately_Visible (P)
- or else (Is_Child_Package and then Is_Visible_Child_Unit (P)))
+ or else (Is_Child_Package and then Is_Visible_Lib_Unit (P)))
then
-- The presence of both the limited and the analyzed nonlimited view
@@ -4852,10 +4864,10 @@ package body Sem_Ch10 is
Set_Ekind (P, E_Package);
Set_Etype (P, Standard_Void_Type);
Set_Scope (P, Standard_Standard);
+ Set_Is_Visible_Lib_Unit (P);
if Is_Child_Package then
Set_Is_Child_Unit (P);
- Set_Is_Visible_Child_Unit (P);
Set_Scope (P, Defining_Entity (Unit (Parent_Spec (P_Unit))));
end if;
@@ -5101,7 +5113,7 @@ package body Sem_Ch10 is
Error_Msg_N
("instantiation depends on itself", Name (With_Clause));
- elsif not Is_Visible_Child_Unit (Uname) then
+ elsif not Is_Visible_Lib_Unit (Uname) then
-- Abandon processing in case of previous errors
@@ -5110,7 +5122,7 @@ package body Sem_Ch10 is
return;
end if;
- Set_Is_Visible_Child_Unit (Uname);
+ Set_Is_Visible_Lib_Unit (Uname);
-- If the child unit appears in the context of its parent, it is
-- immediately visible.
@@ -5125,7 +5137,7 @@ package body Sem_Ch10 is
-- Set flag as well on the visible entity that denotes the
-- instance, which renames the current one.
- Set_Is_Visible_Child_Unit
+ Set_Is_Visible_Lib_Unit
(Related_Instance
(Defining_Entity (Unit (Library_Unit (With_Clause)))));
end if;
@@ -5141,9 +5153,9 @@ package body Sem_Ch10 is
end if;
elsif not Is_Immediately_Visible (Uname) then
- if not Private_Present (With_Clause)
- or else Private_With_OK
- then
+ Set_Is_Visible_Lib_Unit (Uname);
+
+ if not Private_Present (With_Clause) or else Private_With_OK then
Set_Is_Immediately_Visible (Uname);
end if;
@@ -5167,11 +5179,11 @@ package body Sem_Ch10 is
-- not apply the check to the Standard package itself.
if Is_Child_Unit (Uname)
- and then Is_Visible_Child_Unit (Uname)
+ and then Is_Visible_Lib_Unit (Uname)
and then Ada_Version >= Ada_2005
then
declare
- Decl1 : constant Node_Id := Unit_Declaration_Node (P);
+ Decl1 : constant Node_Id := Unit_Declaration_Node (P);
Decl2 : Node_Id;
P2 : Entity_Id;
U2 : Entity_Id;
@@ -5184,9 +5196,7 @@ package body Sem_Ch10 is
P2 := Scope (U2);
Decl2 := Unit_Declaration_Node (P2);
- if Is_Child_Unit (U2)
- and then Is_Visible_Child_Unit (U2)
- then
+ if Is_Child_Unit (U2) and then Is_Visible_Lib_Unit (U2) then
if Is_Generic_Instance (P)
and then Nkind (Decl1) = N_Package_Declaration
and then Generic_Parent (Specification (Decl1)) = P2
@@ -6220,8 +6230,6 @@ package body Sem_Ch10 is
---------------------------------
procedure Remove_Unit_From_Visibility (Unit_Name : Entity_Id) is
- P : constant Entity_Id := Scope (Unit_Name);
-
begin
if Debug_Flag_I then
Write_Str ("remove unit ");
@@ -6230,10 +6238,7 @@ package body Sem_Ch10 is
Write_Eol;
end if;
- if P /= Standard_Standard then
- Set_Is_Visible_Child_Unit (Unit_Name, False);
- end if;
-
+ Set_Is_Visible_Lib_Unit (Unit_Name, False);
Set_Is_Potentially_Use_Visible (Unit_Name, False);
Set_Is_Immediately_Visible (Unit_Name, False);
diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb
index ee883327054..040d6241ca3 100644
--- a/gcc/ada/sem_ch12.adb
+++ b/gcc/ada/sem_ch12.adb
@@ -5719,7 +5719,7 @@ package body Sem_Ch12 is
and then Is_Child_Unit (E)
then
if Is_Child_Unit (E)
- and then not Is_Visible_Child_Unit (E)
+ and then not Is_Visible_Lib_Unit (E)
then
Error_Msg_NE
("generic child unit& is not visible", Gen_Id, E);
diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb
index 37e521cb099..f2bcfa84adb 100644
--- a/gcc/ada/sem_ch13.adb
+++ b/gcc/ada/sem_ch13.adb
@@ -1318,14 +1318,16 @@ package body Sem_Ch13 is
P_Name := A_Name;
elsif A_Name = Name_Link_Name then
- L_Assoc := Make_Pragma_Argument_Association (Loc,
- Chars => A_Name,
- Expression => Relocate_Node (Expression (A)));
+ L_Assoc :=
+ Make_Pragma_Argument_Association (Loc,
+ Chars => A_Name,
+ Expression => Relocate_Node (Expression (A)));
elsif A_Name = Name_External_Name then
- E_Assoc := Make_Pragma_Argument_Association (Loc,
- Chars => A_Name,
- Expression => Relocate_Node (Expression (A)));
+ E_Assoc :=
+ Make_Pragma_Argument_Association (Loc,
+ Chars => A_Name,
+ Expression => Relocate_Node (Expression (A)));
end if;
Next (A);
@@ -1434,13 +1436,36 @@ package body Sem_Ch13 is
-- Case 2d : Aspects that correspond to a pragma with one
-- argument.
- when Aspect_Relative_Deadline =>
+ when Aspect_Abstract_State =>
Aitem :=
Make_Pragma (Loc,
- Pragma_Argument_Associations =>
- New_List (
- Make_Pragma_Argument_Association (Loc,
- Expression => Relocate_Node (Expr))),
+ Pragma_Identifier =>
+ Make_Identifier (Sloc (Id), Name_Abstract_State),
+ Pragma_Argument_Associations => New_List (
+ Make_Pragma_Argument_Association (Loc,
+ Expression => Relocate_Node (Expr))));
+
+ Delay_Required := False;
+
+ -- Aspect Global must be delayed because it can mention names
+ -- and benefit from the forward visibility rules applicable to
+ -- aspects of subprograms.
+
+ when Aspect_Global =>
+ Aitem :=
+ Make_Pragma (Loc,
+ Pragma_Identifier =>
+ Make_Identifier (Sloc (Id), Name_Global),
+ Pragma_Argument_Associations => New_List (
+ Make_Pragma_Argument_Association (Loc,
+ Expression => Relocate_Node (Expr))));
+
+ when Aspect_Relative_Deadline =>
+ Aitem :=
+ Make_Pragma (Loc,
+ Pragma_Argument_Associations => New_List (
+ Make_Pragma_Argument_Association (Loc,
+ Expression => Relocate_Node (Expr))),
Pragma_Identifier =>
Make_Identifier (Sloc (Id), Name_Relative_Deadline));
@@ -1938,6 +1963,20 @@ package body Sem_Ch13 is
Prepend (Aitem, Declarations (N));
+ -- Aspect Abstract_State produces implicit declarations for
+ -- all state abstraction entities it defines. To emulate
+ -- this behavior, insert the pragma at the start of the
+ -- visible declarations of the related package.
+
+ elsif Nam = Name_Abstract_State
+ and then Nkind (N) = N_Package_Declaration
+ then
+ if No (Visible_Declarations (Specification (N))) then
+ Set_Visible_Declarations (Specification (N), New_List);
+ end if;
+
+ Prepend (Aitem, Visible_Declarations (Specification (N)));
+
else
if No (Pragmas_After (Aux)) then
Set_Pragmas_After (Aux, New_List);
@@ -2880,7 +2919,9 @@ package body Sem_Ch13 is
-- Legality checks on the address clause for initialized
-- objects is deferred until the freeze point, because
-- a subsequent pragma might indicate that the object
- -- is imported and thus not initialized.
+ -- is imported and thus not initialized. Also, the address
+ -- clause might involve entities that have yet to be
+ -- elaborated.
Set_Has_Delayed_Freeze (U_Ent);
@@ -2891,11 +2932,26 @@ package body Sem_Ch13 is
-- before its definition.
declare
- Init_Call : constant Node_Id := Find_Init_Call (U_Ent, N);
+ Init_Call : constant Node_Id :=
+ Remove_Init_Call (U_Ent, N);
+
begin
if Present (Init_Call) then
- Remove (Init_Call);
- Append_Freeze_Action (U_Ent, Init_Call);
+
+ -- If the init call is an expression with actions with
+ -- null expression, just extract the actions.
+
+ if Nkind (Init_Call) = N_Expression_With_Actions
+ and then
+ Nkind (Expression (Init_Call)) = N_Null_Statement
+ then
+ Append_Freeze_Actions (U_Ent, Actions (Init_Call));
+
+ -- General case: move Init_Call to freeze actions
+
+ else
+ Append_Freeze_Action (U_Ent, Init_Call);
+ end if;
end if;
end;
@@ -2904,9 +2960,8 @@ package body Sem_Ch13 is
("& cannot be exported if an address clause is given",
Nam);
Error_Msg_N
- ("\define and export a variable " &
- "that holds its address instead",
- Nam);
+ ("\define and export a variable "
+ & "that holds its address instead", Nam);
end if;
-- Entity has delayed freeze, so we will generate an
@@ -4661,10 +4716,38 @@ package body Sem_Ch13 is
Ocomp : Entity_Id;
Posit : Uint;
Rectype : Entity_Id;
+ Recdef : Node_Id;
+
+ function Is_Inherited (Comp : Entity_Id) return Boolean;
+ -- True if Comp is an inherited component in a record extension
+
+ ------------------
+ -- Is_Inherited --
+ ------------------
+
+ function Is_Inherited (Comp : Entity_Id) return Boolean is
+ Comp_Base : Entity_Id;
+
+ begin
+ if Ekind (Rectype) = E_Record_Subtype then
+ Comp_Base := Original_Record_Component (Comp);
+ else
+ Comp_Base := Comp;
+ end if;
+
+ return Comp_Base /= Original_Record_Component (Comp_Base);
+ end Is_Inherited;
+
+ -- Local variables
+
+ Is_Record_Extension : Boolean;
+ -- True if Rectype is a record extension
CR_Pragma : Node_Id := Empty;
-- Points to N_Pragma node if Complete_Representation pragma present
+ -- Start of processing for Analyze_Record_Representation_Clause
+
begin
if Ignore_Rep_Clauses then
return;
@@ -4673,9 +4756,7 @@ package body Sem_Ch13 is
Find_Type (Ident);
Rectype := Entity (Ident);
- if Rectype = Any_Type
- or else Rep_Item_Too_Early (Rectype, N)
- then
+ if Rectype = Any_Type or else Rep_Item_Too_Early (Rectype, N) then
return;
else
Rectype := Underlying_Type (Rectype);
@@ -4704,6 +4785,14 @@ package body Sem_Ch13 is
return;
end if;
+ -- We know we have a first subtype, now possibly go the the anonymous
+ -- base type to determine whether Rectype is a record extension.
+
+ Recdef := Type_Definition (Declaration_Node (Base_Type (Rectype)));
+ Is_Record_Extension :=
+ Nkind (Recdef) = N_Derived_Type_Definition
+ and then Present (Record_Extension_Part (Recdef));
+
if Present (Mod_Clause (N)) then
declare
Loc : constant Source_Ptr := Sloc (N);
@@ -4879,6 +4968,11 @@ package body Sem_Ch13 is
("cannot reference discriminant of unchecked union",
Component_Name (CC));
+ elsif Is_Record_Extension and then Is_Inherited (Comp) then
+ Error_Msg_NE
+ ("component clause not allowed for inherited "
+ & "component&", CC, Comp);
+
elsif Present (Component_Clause (Comp)) then
-- Diagnose duplicate rep clause, or check consistency
@@ -4906,10 +5000,11 @@ package body Sem_Ch13 is
Error_Msg_N
("component clause inconsistent "
& "with representation of ancestor", CC);
+
elsif Warn_On_Redundant_Constructs then
Error_Msg_N
- ("?r?redundant component clause "
- & "for inherited component!", CC);
+ ("?r?redundant confirming component clause "
+ & "for component!", CC);
end if;
end;
end if;
@@ -5091,8 +5186,9 @@ package body Sem_Ch13 is
return Empty;
end if;
- SId := Make_Defining_Identifier (Loc,
- Chars => New_External_Name (Chars (Typ), "Invariant"));
+ SId :=
+ Make_Defining_Identifier (Loc,
+ Chars => New_External_Name (Chars (Typ), "Invariant"));
Set_Has_Invariants (SId);
Set_Has_Invariants (Typ);
Set_Ekind (SId, E_Procedure);
@@ -6818,32 +6914,32 @@ package body Sem_Ch13 is
Library_Unit_Aspects =>
T := Standard_Boolean;
+ -- Aspects corresponding to attribute definition clauses
+
+ when Aspect_Address =>
+ T := RTE (RE_Address);
+
when Aspect_Attach_Handler =>
T := RTE (RE_Interrupt_ID);
+ when Aspect_Bit_Order | Aspect_Scalar_Storage_Order =>
+ T := RTE (RE_Bit_Order);
+
when Aspect_Convention =>
return;
- -- Default_Value is resolved with the type entity in question
-
- when Aspect_Default_Value =>
- T := Entity (ASN);
+ when Aspect_CPU =>
+ T := RTE (RE_CPU_Range);
-- Default_Component_Value is resolved with the component type
when Aspect_Default_Component_Value =>
T := Component_Type (Entity (ASN));
- -- Aspects corresponding to attribute definition clauses
-
- when Aspect_Address =>
- T := RTE (RE_Address);
-
- when Aspect_Bit_Order | Aspect_Scalar_Storage_Order =>
- T := RTE (RE_Bit_Order);
+ -- Default_Value is resolved with the type entity in question
- when Aspect_CPU =>
- T := RTE (RE_CPU_Range);
+ when Aspect_Default_Value =>
+ T := Entity (ASN);
when Aspect_Dispatching_Domain =>
T := RTE (RE_Dispatching_Domain);
@@ -6854,6 +6950,14 @@ package body Sem_Ch13 is
when Aspect_External_Name =>
T := Standard_String;
+ -- Global is a delayed aspect because it may reference names that
+ -- have not been declared yet. There is no action to be taken with
+ -- respect to the aspect itself as the reference checking is done on
+ -- the corresponding pragma.
+
+ when Aspect_Global =>
+ return;
+
when Aspect_Link_Name =>
T := Standard_String;
@@ -6921,9 +7025,10 @@ package body Sem_Ch13 is
Aspect_Type_Invariant =>
T := Standard_Boolean;
- -- Here is the list of aspects that don't require delay analysis.
+ -- Here is the list of aspects that don't require delay analysis
- when Aspect_Contract_Case |
+ when Aspect_Abstract_State |
+ Aspect_Contract_Case |
Aspect_Contract_Cases |
Aspect_Dimension |
Aspect_Dimension_System |
@@ -7216,28 +7321,10 @@ package body Sem_Ch13 is
when N_Type_Conversion |
N_Qualified_Expression |
- N_Allocator =>
- Check_Expr_Constants (Expression (Nod));
-
- when N_Unchecked_Type_Conversion =>
+ N_Allocator |
+ N_Unchecked_Type_Conversion =>
Check_Expr_Constants (Expression (Nod));
- -- If this is a rewritten unchecked conversion, subtypes in
- -- this node are those created within the instance. To avoid
- -- order of elaboration issues, replace them with their base
- -- types. Note that address clauses can cause order of
- -- elaboration problems because they are elaborated by the
- -- back-end at the point of definition, and may mention
- -- entities declared in between (as long as everything is
- -- static). It is user-friendly to allow unchecked conversions
- -- in this context.
-
- if Nkind (Original_Node (Nod)) = N_Function_Call then
- Set_Etype (Expression (Nod),
- Base_Type (Etype (Expression (Nod))));
- Set_Etype (Nod, Base_Type (Etype (Nod)));
- end if;
-
when N_Function_Call =>
if not Is_Pure (Entity (Name (Nod))) then
Error_Msg_NE
@@ -7362,7 +7449,7 @@ package body Sem_Ch13 is
begin
if Present (CC1) and then Present (CC2) then
- -- Exclude odd case where we have two tag fields in the same
+ -- Exclude odd case where we have two tag components in the same
-- record, both at location zero. This seems a bit strange, but
-- it seems to happen in some circumstances, perhaps on an error.
@@ -7403,7 +7490,7 @@ package body Sem_Ch13 is
procedure Find_Component is
procedure Search_Component (R : Entity_Id);
- -- Search components of R for a match. If found, Comp is set.
+ -- Search components of R for a match. If found, Comp is set
----------------------
-- Search_Component --
@@ -7442,8 +7529,8 @@ package body Sem_Ch13 is
Search_Component (Rectype);
- -- If not found, maybe component of base type that is absent from
- -- statically constrained first subtype.
+ -- If not found, maybe component of base type discriminant that is
+ -- absent from statically constrained first subtype.
if No (Comp) then
Search_Component (Base_Type (Rectype));
@@ -7571,7 +7658,7 @@ package body Sem_Ch13 is
("bit number out of range of specified size",
Last_Bit (CC));
- -- Check for overlap with tag field
+ -- Check for overlap with tag component
else
if Is_Tagged_Type (Rectype)
@@ -8732,10 +8819,11 @@ package body Sem_Ch13 is
Designated_Type (Etype (F)), Loc))));
if Nam = TSS_Stream_Input then
- Spec := Make_Function_Specification (Loc,
- Defining_Unit_Name => Subp_Id,
- Parameter_Specifications => Formals,
- Result_Definition => T_Ref);
+ Spec :=
+ Make_Function_Specification (Loc,
+ Defining_Unit_Name => Subp_Id,
+ Parameter_Specifications => Formals,
+ Result_Definition => T_Ref);
else
-- V : [out] T
diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb
index 5764223cd06..ccbd5117d93 100644
--- a/gcc/ada/sem_ch3.adb
+++ b/gcc/ada/sem_ch3.adb
@@ -1142,7 +1142,7 @@ package body Sem_Ch3 is
else
Error_Msg_NE
("illegal use of incomplete type&",
- Result_Definition (T_Def), Typ);
+ Result_Definition (T_Def), Typ);
end if;
elsif Ekind (Current_Scope) = E_Package
@@ -1406,8 +1406,7 @@ package body Sem_Ch3 is
Offset : Entity_Id;
begin
- pragma Assert (Is_Tagged_Type (Iface)
- and then Is_Interface (Iface));
+ pragma Assert (Is_Tagged_Type (Iface) and then Is_Interface (Iface));
-- This is a reasonable place to propagate predicates
@@ -1455,9 +1454,7 @@ package body Sem_Ch3 is
-- For this purpose we add a supplementary component just after the
-- field that contains the tag associated with each secondary DT.
- if Typ /= Etype (Typ)
- and then Has_Discriminants (Etype (Typ))
- then
+ if Typ /= Etype (Typ) and then Has_Discriminants (Etype (Typ)) then
Def :=
Make_Component_Definition (Loc,
Subtype_Indication =>
@@ -1789,18 +1786,14 @@ package body Sem_Ch3 is
-- so is the current type
elsif Is_Limited_Record (R)
- and then
- (not Is_Interface (R)
- or else not Is_Limited_Interface (R))
+ and then (not Is_Interface (R) or else not Is_Limited_Interface (R))
then
return True;
-- Else the type may have a limited interface progenitor, but a
-- limited record parent.
- elsif R /= P
- and then Is_Limited_Record (P)
- then
+ elsif R /= P and then Is_Limited_Record (P) then
return True;
else
@@ -1969,9 +1962,7 @@ package body Sem_Ch3 is
-- Ada 2005 (AI-231): Propagate the null-excluding attribute and carry
-- out some static checks.
- if Ada_Version >= Ada_2005
- and then Can_Never_Be_Null (T)
- then
+ if Ada_Version >= Ada_2005 and then Can_Never_Be_Null (T) then
Null_Exclusion_Static_Checks (N);
end if;
@@ -2239,8 +2230,8 @@ package body Sem_Ch3 is
Is_Remote : constant Boolean :=
(Is_Remote_Types (Current_Scope)
or else Is_Remote_Call_Interface (Current_Scope))
- and then not (In_Private_Part (Current_Scope)
- or else In_Package_Body (Current_Scope));
+ and then not (In_Private_Part (Current_Scope)
+ or else In_Package_Body (Current_Scope));
procedure Check_Ops_From_Incomplete_Type;
-- If there is a tagged incomplete partial view of the type, traverse
@@ -2646,8 +2637,8 @@ package body Sem_Ch3 is
if VM_Target = No_VM
and then (Is_Task_Interface (T)
- or else Is_Protected_Interface (T)
- or else Is_Synchronized_Interface (T))
+ or else Is_Protected_Interface (T)
+ or else Is_Synchronized_Interface (T))
and then not RTE_Available (RE_Select_Specific_Data)
then
Error_Msg_CRT ("synchronized interfaces", T);
@@ -2721,8 +2712,7 @@ package body Sem_Ch3 is
Get_First_Interp (E, Index, It);
while Present (It.Typ) loop
- if (Is_Integer_Type (It.Typ)
- or else Is_Real_Type (It.Typ))
+ if (Is_Integer_Type (It.Typ) or else Is_Real_Type (It.Typ))
and then (Scope (Base_Type (It.Typ))) = Standard_Standard
then
if T = Any_Type then
@@ -2963,9 +2953,9 @@ package body Sem_Ch3 is
if Nkind (Object_Definition (N)) = N_Access_Definition
and then Present
- (Access_To_Subprogram_Definition (Object_Definition (N)))
+ (Access_To_Subprogram_Definition (Object_Definition (N)))
and then Protected_Present
- (Access_To_Subprogram_Definition (Object_Definition (N)))
+ (Access_To_Subprogram_Definition (Object_Definition (N)))
then
T := Replace_Anonymous_Access_To_Protected_Subprogram (N);
end if;
@@ -3012,9 +3002,8 @@ package body Sem_Ch3 is
-- A deferred constant can appear in a package body if its completion
-- is by means of an interface pragma.
- if Constant_Present (N)
- and then No (E)
- then
+ if Constant_Present (N) and then No (E) then
+
-- A deferred constant may appear in the declarative part of the
-- following constructs:
@@ -3084,9 +3073,7 @@ package body Sem_Ch3 is
-- AI05-0303: the AI is in fact a binding interpretation, and thus
-- applies to the '95 version of the language as well.
- if Has_Interrupt_Handler (T)
- and then Ada_Version < Ada_95
- then
+ if Has_Interrupt_Handler (T) and then Ada_Version < Ada_95 then
Error_Msg_N
("interrupt object can only be declared at library level", Id);
end if;
@@ -3171,7 +3158,9 @@ package body Sem_Ch3 is
Set_Has_Completion (Id);
end if;
- -- Set type and resolve (type may be overridden later on)
+ -- Set type and resolve (type may be overridden later on). Note:
+ -- Ekind (Id) must still be E_Void at this point so that incorrect
+ -- early usage within E is properly diagnosed.
Set_Etype (Id, T);
Resolve (E, T);
@@ -6428,8 +6417,9 @@ package body Sem_Ch3 is
and then (In_Open_Scopes (Scope (Parent_Type)))
then
Full_Der :=
- Make_Defining_Identifier
- (Sloc (Derived_Type), Chars (Derived_Type));
+ Make_Defining_Identifier (Sloc (Derived_Type),
+ Chars => Chars (Derived_Type));
+
Set_Is_Itype (Full_Der);
Set_Has_Private_Declaration (Full_Der);
Set_Has_Private_Declaration (Derived_Type);
@@ -6445,7 +6435,12 @@ package body Sem_Ch3 is
else
Build_Derived_Record_Type
(N, Full_View (Parent_Type), Derived_Type,
- Derive_Subps => False);
+ Derive_Subps => False);
+
+ -- Except in the context of the full view of the parent, there
+ -- are no non-extension aggregates for the derived type.
+
+ Set_Has_Private_Ancestor (Derived_Type);
end if;
-- In any case, the primitive operations are inherited from the
@@ -10360,7 +10355,7 @@ package body Sem_Ch3 is
Set_Cloned_Subtype (Full, Full_Base);
end if;
- -- It is unsafe to share to bounds of a scalar type, because the Itype
+ -- It is unsafe to share the bounds of a scalar type, because the Itype
-- is elaborated on demand, and if a bound is non-static then different
-- orders of elaboration in different units will lead to different
-- external symbols.
diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb
index 14e7f93da7c..541a75ced0e 100644
--- a/gcc/ada/sem_ch4.adb
+++ b/gcc/ada/sem_ch4.adb
@@ -1765,7 +1765,7 @@ package body Sem_Ch4 is
(Is_Immediately_Visible (Scope (DT))
or else
(Is_Child_Unit (Scope (DT))
- and then Is_Visible_Child_Unit (Scope (DT))))
+ and then Is_Visible_Lib_Unit (Scope (DT))))
then
Set_Etype (N, Available_View (DT));
@@ -1902,8 +1902,14 @@ package body Sem_Ch4 is
exit when No (A);
end loop;
- Analyze_Expression (Expression (N));
- Set_Etype (N, Etype (Expression (N)));
+ -- This test needs a comment ???
+
+ if Nkind (Expression (N)) = N_Null_Statement then
+ Set_Etype (N, Standard_Void_Type);
+ else
+ Analyze_Expression (Expression (N));
+ Set_Etype (N, Etype (Expression (N)));
+ end if;
end Analyze_Expression_With_Actions;
---------------------------
@@ -6320,13 +6326,12 @@ package body Sem_Ch4 is
(Is_Immediately_Visible (Scope (Typ))
or else
(Is_Child_Unit (Scope (Typ))
- and then Is_Visible_Child_Unit (Scope (Typ))))
+ and then Is_Visible_Lib_Unit (Scope (Typ))))
then
return Available_View (Typ);
else
return Typ;
end if;
-
end Process_Implicit_Dereference_Prefix;
--------------------------------
diff --git a/gcc/ada/sem_ch7.adb b/gcc/ada/sem_ch7.adb
index b81f57554aa..dd1e1d4120e 100644
--- a/gcc/ada/sem_ch7.adb
+++ b/gcc/ada/sem_ch7.adb
@@ -2253,7 +2253,7 @@ package body Sem_Ch7 is
if Is_Child_Unit (Id) then
Set_Is_Potentially_Use_Visible
- (Id, Is_Visible_Child_Unit (Id));
+ (Id, Is_Visible_Lib_Unit (Id));
else
Set_Is_Potentially_Use_Visible (Id);
end if;
diff --git a/gcc/ada/sem_ch8.adb b/gcc/ada/sem_ch8.adb
index 4437a16aa6e..a3be9db025e 100644
--- a/gcc/ada/sem_ch8.adb
+++ b/gcc/ada/sem_ch8.adb
@@ -5143,14 +5143,13 @@ package body Sem_Ch8 is
end if;
if Is_New_Candidate then
- if Is_Child_Unit (Id) then
- exit when Is_Visible_Child_Unit (Id)
- or else Is_Immediately_Visible (Id);
-
+ if Is_Child_Unit (Id) or else P_Name = Standard_Standard then
+ exit when Is_Visible_Lib_Unit (Id);
else
- exit when not Is_Hidden (Id)
- or else Is_Immediately_Visible (Id);
+ exit when not Is_Hidden (Id);
end if;
+
+ exit when Is_Immediately_Visible (Id);
end if;
Id := Homonym (Id);
@@ -5329,33 +5328,34 @@ package body Sem_Ch8 is
-- declares the desired entity. This error can use a
-- specialized message.
- if In_Open_Scopes (P_Name)
- and then Present (Homonym (P_Name))
- and then Is_Compilation_Unit (Homonym (P_Name))
- and then
- (Is_Immediately_Visible (Homonym (P_Name))
- or else Is_Visible_Child_Unit (Homonym (P_Name)))
- then
+ if In_Open_Scopes (P_Name) then
declare
H : constant Entity_Id := Homonym (P_Name);
begin
- Id := First_Entity (H);
- while Present (Id) loop
- if Chars (Id) = Chars (Selector) then
- Error_Msg_Qual_Level := 99;
- Error_Msg_Name_1 := Chars (Selector);
- Error_Msg_NE
- ("% not declared in&", N, P_Name);
- Error_Msg_NE
- ("\use fully qualified name starting with"
- & " Standard to make& visible", N, H);
- Error_Msg_Qual_Level := 0;
- goto Done;
- end if;
+ if Present (H)
+ and then Is_Compilation_Unit (H)
+ and then
+ (Is_Immediately_Visible (H)
+ or else Is_Visible_Lib_Unit (H))
+ then
+ Id := First_Entity (H);
+ while Present (Id) loop
+ if Chars (Id) = Chars (Selector) then
+ Error_Msg_Qual_Level := 99;
+ Error_Msg_Name_1 := Chars (Selector);
+ Error_Msg_NE
+ ("% not declared in&", N, P_Name);
+ Error_Msg_NE
+ ("\use fully qualified name starting with "
+ & "Standard to make& visible", N, H);
+ Error_Msg_Qual_Level := 0;
+ goto Done;
+ end if;
- Next_Entity (Id);
- end loop;
+ Next_Entity (Id);
+ end loop;
+ end if;
-- If not found, standard error message
@@ -7685,7 +7685,7 @@ package body Sem_Ch8 is
if Is_Child_Unit (E) then
if not From_With_Type (E) then
Set_Is_Immediately_Visible (E,
- Is_Visible_Child_Unit (E) or else In_Open_Scopes (E));
+ Is_Visible_Lib_Unit (E) or else In_Open_Scopes (E));
else
pragma Assert
@@ -7718,7 +7718,7 @@ package body Sem_Ch8 is
while Present (E) loop
if Is_Child_Unit (E) then
Set_Is_Immediately_Visible (E,
- Is_Visible_Child_Unit (E) or else In_Open_Scopes (E));
+ Is_Visible_Lib_Unit (E) or else In_Open_Scopes (E));
end if;
Next_Entity (E);
@@ -8030,7 +8030,7 @@ package body Sem_Ch8 is
if not Is_Hidden (Id)
and then ((not Is_Child_Unit (Id))
- or else Is_Visible_Child_Unit (Id))
+ or else Is_Visible_Lib_Unit (Id))
then
Set_Is_Potentially_Use_Visible (Id);
@@ -8049,9 +8049,7 @@ package body Sem_Ch8 is
-- appear after all visible declarations in the parent entity list.
while Present (Id) loop
- if Is_Child_Unit (Id)
- and then Is_Visible_Child_Unit (Id)
- then
+ if Is_Child_Unit (Id) and then Is_Visible_Lib_Unit (Id) then
Set_Is_Potentially_Use_Visible (Id);
end if;
@@ -8531,4 +8529,20 @@ package body Sem_Ch8 is
end loop;
end ws;
+ --------
+ -- we --
+ --------
+
+ procedure we (S : Entity_Id) is
+ E : Entity_Id;
+ begin
+ E := First_Entity (S);
+ while Present (E) loop
+ Write_Int (Int (E));
+ Write_Str (" === ");
+ Write_Name (Chars (E));
+ Write_Eol;
+ Next_Entity (E);
+ end loop;
+ end we;
end Sem_Ch8;
diff --git a/gcc/ada/sem_ch8.ads b/gcc/ada/sem_ch8.ads
index 922b282cdfa..195c03bd3a9 100644
--- a/gcc/ada/sem_ch8.ads
+++ b/gcc/ada/sem_ch8.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -169,4 +169,7 @@ package Sem_Ch8 is
procedure ws;
-- Debugging routine for use in gdb: dump all entities on scope stack
+ procedure we (S : Entity_Id);
+ -- Debugging routine for use in gdb: dump all entities in given scope
+
end Sem_Ch8;
diff --git a/gcc/ada/sem_disp.adb b/gcc/ada/sem_disp.adb
index 2e4186f2652..4ce0a158662 100644
--- a/gcc/ada/sem_disp.adb
+++ b/gcc/ada/sem_disp.adb
@@ -2213,7 +2213,8 @@ package body Sem_Disp is
procedure Override_Dispatching_Operation
(Tagged_Type : Entity_Id;
Prev_Op : Entity_Id;
- New_Op : Entity_Id)
+ New_Op : Entity_Id;
+ Is_Wrapper : Boolean := False)
is
Elmt : Elmt_Id;
Prim : Node_Id;
@@ -2278,7 +2279,8 @@ package body Sem_Disp is
-- operations that it implements (for operations inherited from the
-- parent itself, this check is made when building the derived type).
- -- Note: This code is only executed in case of late overriding
+ -- Note: This code is executed with internally generated wrappers of
+ -- functions with controlling result and late overridings.
Elmt := First_Elmt (Primitive_Operations (Tagged_Type));
while Present (Elmt) loop
@@ -2293,18 +2295,25 @@ package body Sem_Disp is
elsif Is_Subprogram (Prim)
and then Present (Interface_Alias (Prim))
and then Alias (Prim) = Prev_Op
- and then Present (Etype (New_Op))
then
Set_Alias (Prim, New_Op);
- Check_Subtype_Conformant (New_Op, Prim);
- Set_Is_Abstract_Subprogram (Prim,
- Is_Abstract_Subprogram (New_Op));
- -- Ensure that this entity will be expanded to fill the
- -- corresponding entry in its dispatch table.
+ -- No further decoration needed yet for internally generated
+ -- wrappers of controlling functions since (at this stage)
+ -- they are not yet decorated.
+
+ if not Is_Wrapper then
+ Check_Subtype_Conformant (New_Op, Prim);
+
+ Set_Is_Abstract_Subprogram (Prim,
+ Is_Abstract_Subprogram (New_Op));
- if not Is_Abstract_Subprogram (Prim) then
- Set_Has_Delayed_Freeze (Prim);
+ -- Ensure that this entity will be expanded to fill the
+ -- corresponding entry in its dispatch table.
+
+ if not Is_Abstract_Subprogram (Prim) then
+ Set_Has_Delayed_Freeze (Prim);
+ end if;
end if;
end if;
diff --git a/gcc/ada/sem_disp.ads b/gcc/ada/sem_disp.ads
index c27346dd428..ff1ebc4d7ee 100644
--- a/gcc/ada/sem_disp.ads
+++ b/gcc/ada/sem_disp.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -121,10 +121,12 @@ package Sem_Disp is
procedure Override_Dispatching_Operation
(Tagged_Type : Entity_Id;
Prev_Op : Entity_Id;
- New_Op : Entity_Id);
+ New_Op : Entity_Id;
+ Is_Wrapper : Boolean := False);
-- Replace an implicit dispatching operation with an explicit one.
-- Prev_Op is an inherited primitive operation which is overridden
- -- by the explicit declaration of New_Op.
+ -- by the explicit declaration of New_Op. Is_Wrapper is True when
+ -- New_Op is an internally generated wrapper of a controlling function.
procedure Propagate_Tag (Control : Node_Id; Actual : Node_Id);
-- If a function call is tag-indeterminate, its controlling argument is
diff --git a/gcc/ada/sem_elab.adb b/gcc/ada/sem_elab.adb
index 125caefbc96..06c994a1b43 100644
--- a/gcc/ada/sem_elab.adb
+++ b/gcc/ada/sem_elab.adb
@@ -2541,8 +2541,14 @@ package body Sem_Elab is
Scop : Entity_Id)
is
Elab_Unit : Entity_Id;
+
+ -- Check whether this is a call to an Initialize subprogram for a
+ -- controlled type. Note that Call can also be a 'Access attribute
+ -- reference, which now generates an elaboration check.
+
Init_Call : constant Boolean :=
- Chars (Subp) = Name_Initialize
+ Nkind (Call) = N_Procedure_Call_Statement
+ and then Chars (Subp) = Name_Initialize
and then Comes_From_Source (Subp)
and then Present (Parameter_Associations (Call))
and then Is_Controlled (Etype (First_Actual (Call)));
@@ -2551,7 +2557,7 @@ package body Sem_Elab is
-- visible, and we can set the elaboration flag.
if Is_Immediately_Visible (Scop)
- or else (Is_Child_Unit (Scop) and then Is_Visible_Child_Unit (Scop))
+ or else (Is_Child_Unit (Scop) and then Is_Visible_Lib_Unit (Scop))
then
Activate_Elaborate_All_Desirable (Call, Scop);
Set_Suppress_Elaboration_Warnings (Scop, True);
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index 0610128fd7b..2595b753ea6 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -789,6 +789,8 @@ package body Sem_Prag is
procedure S14_Pragma;
-- Called for all pragmas defined for formal verification to check that
-- the S14_Extensions flag is set.
+ -- This name needs fixing ??? There is no such thing as an
+ -- "S14_Extensions" flag ???
function Is_Before_First_Decl
(Pragma_Node : Node_Id;
@@ -6640,6 +6642,282 @@ package body Sem_Prag is
Pragma_Misplaced;
end if;
+ --------------------
+ -- Abstract_State --
+ --------------------
+
+ -- ??? no formal grammar available yet
+
+ when Pragma_Abstract_State => Abstract_State : declare
+ Pack_Id : Entity_Id;
+
+ -- Flags used to verify the consistency of states
+
+ Non_Null_Seen : Boolean := False;
+ Null_Seen : Boolean := False;
+
+ procedure Analyze_Abstract_State (State : Node_Id);
+ -- Verify the legality of a single state declaration. Create and
+ -- decorate a state abstraction entity and introduce it into the
+ -- visibility chain.
+
+ ----------------------------
+ -- Analyze_Abstract_State --
+ ----------------------------
+
+ procedure Analyze_Abstract_State (State : Node_Id) is
+ procedure Check_Duplicate_Property
+ (Prop : Node_Id;
+ Status : in out Boolean);
+ -- Flag Status denotes whether a particular property has been
+ -- seen while processing a state. This routine verifies that
+ -- Prop is not a duplicate property and sets the flag Status.
+
+ ------------------------------
+ -- Check_Duplicate_Property --
+ ------------------------------
+
+ procedure Check_Duplicate_Property
+ (Prop : Node_Id;
+ Status : in out Boolean)
+ is
+ begin
+ if Status then
+ Error_Msg_N ("duplicate state property", Prop);
+ end if;
+
+ Status := True;
+ end Check_Duplicate_Property;
+
+ -- Local variables
+
+ Errors : constant Nat := Serious_Errors_Detected;
+ Loc : constant Source_Ptr := Sloc (State);
+ Assoc : Node_Id;
+ Id : Entity_Id;
+ Is_Null : Boolean := False;
+ Level : Uint := Uint_0;
+ Name : Name_Id;
+ Prop : Node_Id;
+
+ -- Flags used to verify the consistency of properties
+
+ Input_Seen : Boolean := False;
+ Integrity_Seen : Boolean := False;
+ Output_Seen : Boolean := False;
+ Volatile_Seen : Boolean := False;
+
+ -- Start of processing for Analyze_Abstract_State
+
+ begin
+ -- A package with a null abstract state is not allowed to
+ -- declare additional states.
+
+ if Null_Seen then
+ Error_Msg_Name_1 := Chars (Pack_Id);
+ Error_Msg_N ("package % has null abstract state", State);
+
+ -- Null states appear as internally generated entities
+
+ elsif Nkind (State) = N_Null then
+ Name := New_Internal_Name ('S');
+ Is_Null := True;
+ Null_Seen := True;
+
+ -- Catch a case where a null state appears in a list of
+ -- non-null states.
+
+ if Non_Null_Seen then
+ Error_Msg_Name_1 := Chars (Pack_Id);
+ Error_Msg_N
+ ("package % has non-null abstract state", State);
+ end if;
+
+ -- Simple state declaration
+
+ elsif Nkind (State) = N_Identifier then
+ Name := Chars (State);
+ Non_Null_Seen := True;
+
+ -- State declaration with various properties. This construct
+ -- appears as an extension aggregate in the tree.
+
+ elsif Nkind (State) = N_Extension_Aggregate then
+ if Nkind (Ancestor_Part (State)) = N_Identifier then
+ Name := Chars (Ancestor_Part (State));
+ Non_Null_Seen := True;
+ else
+ Error_Msg_N
+ ("state name must be an identifier",
+ Ancestor_Part (State));
+ end if;
+
+ -- Process properties Input, Output and Volatile. Ensure
+ -- that none of them appear more than once.
+
+ Prop := First (Expressions (State));
+ while Present (Prop) loop
+ if Nkind (Prop) = N_Identifier then
+ if Chars (Prop) = Name_Input then
+ Check_Duplicate_Property (Prop, Input_Seen);
+ elsif Chars (Prop) = Name_Output then
+ Check_Duplicate_Property (Prop, Output_Seen);
+ elsif Chars (Prop) = Name_Volatile then
+ Check_Duplicate_Property (Prop, Volatile_Seen);
+ else
+ Error_Msg_N ("invalid state property", Prop);
+ end if;
+ else
+ Error_Msg_N ("invalid state property", Prop);
+ end if;
+
+ Next (Prop);
+ end loop;
+
+ -- Volatile requires exactly one Input or Output
+
+ if Volatile_Seen
+ and then
+ ((Input_Seen and then Output_Seen) -- both
+ or else
+ (not Input_Seen and then not Output_Seen)) -- none
+ then
+ Error_Msg_N
+ ("property Volatile requires exactly one Input or " &
+ "Output", State);
+ end if;
+
+ -- Either Input or Output require Volatile
+
+ if (Input_Seen or Output_Seen)
+ and then not Volatile_Seen
+ then
+ Error_Msg_N
+ ("properties Input and Output require Volatile", State);
+ end if;
+
+ -- State property Integrity appears as a component
+ -- association.
+
+ Assoc := First (Component_Associations (State));
+ while Present (Assoc) loop
+ Prop := First (Choices (Assoc));
+ while Present (Prop) loop
+ if Nkind (Prop) = N_Identifier
+ and then Chars (Prop) = Name_Integrity
+ then
+ Check_Duplicate_Property (Prop, Integrity_Seen);
+ else
+ Error_Msg_N ("invalid state property", Prop);
+ end if;
+
+ Next (Prop);
+ end loop;
+
+ if Nkind (Expression (Assoc)) = N_Integer_Literal then
+ Level := Intval (Expression (Assoc));
+ else
+ Error_Msg_N
+ ("integrity level must be an integer literal",
+ Expression (Assoc));
+ end if;
+
+ Next (Assoc);
+ end loop;
+
+ -- Any other attempt to declare a state is erroneous
+
+ else
+ Error_Msg_N ("malformed abstract state declaration", State);
+ end if;
+
+ -- Do not generate a state abstraction entity if it was not
+ -- properly declared.
+
+ if Serious_Errors_Detected > Errors then
+ return;
+ end if;
+
+ -- The generated state abstraction reuses the same characters
+ -- from the original state declaration. Decorate the entity.
+
+ Id := Make_Defining_Identifier (Loc, New_External_Name (Name));
+ Set_Comes_From_Source (Id, not Is_Null);
+ Set_Parent (Id, State);
+ Set_Ekind (Id, E_Abstract_State);
+ Set_Etype (Id, Standard_Void_Type);
+ Set_Integrity_Level (Id, Level);
+ Set_Refined_State (Id, Empty);
+
+ -- Every non-null state must be nameable and resolvable the
+ -- same way a constant is.
+
+ if not Is_Null then
+ Push_Scope (Pack_Id);
+ Enter_Name (Id);
+ Pop_Scope;
+ end if;
+
+ -- Associate the state with its related package
+
+ if No (Abstract_States (Pack_Id)) then
+ Set_Abstract_States (Pack_Id, New_Elmt_List);
+ end if;
+
+ Append_Elmt (Id, Abstract_States (Pack_Id));
+ end Analyze_Abstract_State;
+
+ -- Local variables
+
+ Par : Node_Id;
+ State : Node_Id;
+
+ -- Start of processing for Abstract_State
+
+ begin
+ GNAT_Pragma;
+ S14_Pragma;
+ Check_Arg_Count (1);
+
+ -- Ensure the proper placement of the pragma. Abstract states must
+ -- be associated with a package declaration.
+
+ if From_Aspect_Specification (N) then
+ Par := Parent (Corresponding_Aspect (N));
+ else
+ Par := Parent (Parent (N));
+ end if;
+
+ if Nkind (Par) = N_Compilation_Unit then
+ Par := Unit (Par);
+ end if;
+
+ if Nkind (Par) /= N_Package_Declaration then
+ Pragma_Misplaced;
+ return;
+ end if;
+
+ Pack_Id := Defining_Unit_Name (Specification (Par));
+ State := Expression (Arg1);
+
+ -- Multiple abstract states appear as an aggregate
+
+ if Nkind (State) = N_Aggregate then
+ State := First (Expressions (State));
+ while Present (State) loop
+ Analyze_Abstract_State (State);
+
+ Next (State);
+ end loop;
+
+ -- Various forms of a single abstract state. Note that these may
+ -- include malformed state declarations.
+
+ else
+ Analyze_Abstract_State (State);
+ end if;
+ end Abstract_State;
+
------------
-- Ada_83 --
------------
@@ -9672,6 +9950,362 @@ package body Sem_Prag is
end if;
end Float_Representation;
+ ------------
+ -- Global --
+ ------------
+
+ -- ??? no formal grammar pragma available yet
+
+ when Pragma_Global => Global : declare
+ Subp_Id : Entity_Id;
+
+ Seen : Elist_Id := No_Elist;
+ -- A list containing the entities of all the items processed so
+ -- far. It plays a role in detecting distinct entities.
+
+ -- Flags used to verify the consistency of modes
+
+ Contract_Seen : Boolean := False;
+ In_Out_Seen : Boolean := False;
+ Input_Seen : Boolean := False;
+ Output_Seen : Boolean := False;
+
+ procedure Analyze_Global_List
+ (List : Node_Id;
+ Global_Mode : Name_Id := Name_Input);
+ -- Verify the legality of a single global list declaration.
+ -- Global_Mode denotes the current mode in effect.
+
+ -------------------------
+ -- Analyze_Global_List --
+ -------------------------
+
+ procedure Analyze_Global_List
+ (List : Node_Id;
+ Global_Mode : Name_Id := Name_Input)
+ is
+ procedure Analyze_Global_Item
+ (Item : Node_Id;
+ Global_Mode : Name_Id);
+ -- Verify the legality of a single global item declaration.
+ -- Global_Mode denotes the current mode in effect.
+
+ procedure Check_Duplicate_Mode
+ (Mode : Node_Id;
+ Status : in out Boolean);
+ -- Flag Status denotes whether a particular mode has been seen
+ -- while processing a global list. This routine verifies that
+ -- Mode is not a duplicate mode and sets the flag Status.
+
+ procedure Check_Mode_Restriction_In_Function (Mode : Node_Id);
+ -- Mode denotes either In_Out or Output. Depending on the kind
+ -- of the related subprogram, emit an error if those two modes
+ -- apply to a function.
+
+ -------------------------
+ -- Analyze_Global_Item --
+ -------------------------
+
+ procedure Analyze_Global_Item
+ (Item : Node_Id;
+ Global_Mode : Name_Id)
+ is
+ function Is_Duplicate_Item (Id : Entity_Id) return Boolean;
+ -- Determine whether Id has already been processed
+
+ -----------------------
+ -- Is_Duplicate_Item --
+ -----------------------
+
+ function Is_Duplicate_Item (Id : Entity_Id) return Boolean is
+ Item_Elmt : Elmt_Id;
+
+ begin
+ if Present (Seen) then
+ Item_Elmt := First_Elmt (Seen);
+ while Present (Item_Elmt) loop
+ if Node (Item_Elmt) = Id then
+ return True;
+ end if;
+
+ Next_Elmt (Item_Elmt);
+ end loop;
+ end if;
+
+ return False;
+ end Is_Duplicate_Item;
+
+ -- Local declarations
+
+ Id : Entity_Id;
+
+ -- Start of processing for Analyze_Global_Item
+
+ begin
+ -- Detect one of the following cases
+
+ -- with Global => (null, Name)
+ -- with Global => (Name_1, null, Name_2)
+ -- with Global => (Name, null)
+
+ if Nkind (Item) = N_Null then
+ Error_Msg_N
+ ("cannot mix null and non-null global items", Item);
+ return;
+ end if;
+
+ -- Ensure that the formal parameters are visible when
+ -- processing an item. This falls out of the general rule
+ -- of aspects pertaining to subprogram declarations.
+
+ Push_Scope (Subp_Id);
+ Install_Formals (Subp_Id);
+ Analyze (Item);
+ Pop_Scope;
+
+ if Is_Entity_Name (Item) then
+ Id := Entity (Item);
+
+ -- A global item cannot reference a formal parameter. Do
+ -- this check first to provide a better error diagnostic.
+
+ if Is_Formal (Id) then
+ Error_Msg_N
+ ("global item cannot reference formal parameter",
+ Item);
+ return;
+
+ -- The only legal references are those to abstract states
+ -- and variables.
+
+ elsif not Ekind_In (Entity (Item), E_Abstract_State,
+ E_Variable)
+ then
+ Error_Msg_N
+ ("global item must denote variable or state", Item);
+ return;
+ end if;
+
+ -- Some form of illegal construct masquerading as a name
+
+ else
+ Error_Msg_N
+ ("global item must denote variable or state", Item);
+ return;
+ end if;
+
+ -- The same entity might be referenced through various way.
+ -- Check the entity of the item rather than the item itself.
+
+ if Is_Duplicate_Item (Id) then
+ Error_Msg_N ("duplicate global item", Item);
+
+ -- Add the entity of the current item to the list of
+ -- processed items.
+
+ else
+ if No (Seen) then
+ Seen := New_Elmt_List;
+ end if;
+
+ Append_Elmt (Id, Seen);
+ end if;
+
+ if Ekind (Id) = E_Abstract_State
+ and then Is_Volatile_State (Id)
+ then
+ -- A global item of mode In_Out or Output cannot denote a
+ -- volatile Input state.
+
+ if Is_Input_State (Id)
+ and then (Global_Mode = Name_In_Out
+ or else
+ Global_Mode = Name_Output)
+ then
+ Error_Msg_N
+ ("global item of mode In_Out or Output cannot " &
+ "reference Volatile Input state", Item);
+
+ -- A global item of mode In_Out or Input cannot reference
+ -- a volatile Output state.
+
+ elsif Is_Output_State (Id)
+ and then (Global_Mode = Name_In_Out
+ or else
+ Global_Mode = Name_Input)
+ then
+ Error_Msg_N
+ ("global item of mode In_Out or Input cannot "
+ & "reference Volatile Output state", Item);
+ end if;
+ end if;
+ end Analyze_Global_Item;
+
+ --------------------------
+ -- Check_Duplicate_Mode --
+ --------------------------
+
+ procedure Check_Duplicate_Mode
+ (Mode : Node_Id;
+ Status : in out Boolean)
+ is
+ begin
+ if Status then
+ Error_Msg_N ("duplicate global mode", Mode);
+ end if;
+
+ Status := True;
+ end Check_Duplicate_Mode;
+
+ ----------------------------------------
+ -- Check_Mode_Restriction_In_Function --
+ ----------------------------------------
+
+ procedure Check_Mode_Restriction_In_Function (Mode : Node_Id) is
+ begin
+ if Ekind (Subp_Id) = E_Function then
+ Error_Msg_Name_1 := Chars (Mode);
+ Error_Msg_N
+ ("global mode % not applicable to functions", Mode);
+ end if;
+ end Check_Mode_Restriction_In_Function;
+
+ -- Local variables
+
+ Assoc : Node_Id;
+ Item : Node_Id;
+ Mode : Node_Id;
+
+ -- Start of processing for Analyze_Global_List
+
+ begin
+ -- Single global item declaration
+
+ if Nkind_In (List, N_Identifier, N_Selected_Component) then
+ Analyze_Global_Item (List, Global_Mode);
+
+ -- Simple global list or moded global list declaration
+
+ elsif Nkind (List) = N_Aggregate then
+
+ -- The declaration of a simple global list appear as a
+ -- collection of expressions.
+
+ if Present (Expressions (List)) then
+ if Present (Component_Associations (List)) then
+ Error_Msg_N
+ ("cannot mix moded and non-moded global lists",
+ List);
+ end if;
+
+ Item := First (Expressions (List));
+ while Present (Item) loop
+ Analyze_Global_Item (Item, Global_Mode);
+
+ Next (Item);
+ end loop;
+
+ -- The declaration of a moded global list appears as a
+ -- collection of component associations where individual
+ -- choices denote modes.
+
+ elsif Present (Component_Associations (List)) then
+ if Present (Expressions (List)) then
+ Error_Msg_N
+ ("cannot mix moded and non-moded global lists",
+ List);
+ end if;
+
+ Assoc := First (Component_Associations (List));
+ while Present (Assoc) loop
+ Mode := First (Choices (Assoc));
+
+ if Nkind (Mode) = N_Identifier then
+ if Chars (Mode) = Name_Contract_In then
+ Check_Duplicate_Mode (Mode, Contract_Seen);
+
+ elsif Chars (Mode) = Name_In_Out then
+ Check_Duplicate_Mode (Mode, In_Out_Seen);
+ Check_Mode_Restriction_In_Function (Mode);
+
+ elsif Chars (Mode) = Name_Input then
+ Check_Duplicate_Mode (Mode, Input_Seen);
+
+ elsif Chars (Mode) = Name_Output then
+ Check_Duplicate_Mode (Mode, Output_Seen);
+ Check_Mode_Restriction_In_Function (Mode);
+
+ else
+ Error_Msg_N ("invalid mode selector", Mode);
+ end if;
+
+ else
+ Error_Msg_N ("invalid mode selector", Mode);
+ end if;
+
+ -- Items in a moded list appear as a collection of
+ -- expressions. Reuse the existing machinery to
+ -- analyze them.
+
+ Analyze_Global_List
+ (List => Expression (Assoc),
+ Global_Mode => Chars (Mode));
+
+ Next (Assoc);
+ end loop;
+
+ -- Something went horribly wrong, we have a malformed tree
+
+ else
+ raise Program_Error;
+ end if;
+
+ -- Any other attempt to declare a global item is erroneous
+
+ else
+ Error_Msg_N ("malformed global list declaration", List);
+ end if;
+ end Analyze_Global_List;
+
+ -- Local variables
+
+ List : Node_Id;
+ Subp : Node_Id;
+
+ -- Start of processing for Global
+
+ begin
+ GNAT_Pragma;
+ S14_Pragma;
+ Check_Arg_Count (1);
+
+ -- Ensure the proper placement of the pragma. Global must be
+ -- associated with a subprogram declaration.
+
+ Subp := Parent (Corresponding_Aspect (N));
+
+ if Nkind (Subp) /= N_Subprogram_Declaration then
+ Pragma_Misplaced;
+ return;
+ end if;
+
+ Subp_Id := Defining_Unit_Name (Specification (Subp));
+ List := Expression (Arg1);
+
+ -- There is nothing to be done for a null global list
+
+ if Nkind (List) = N_Null then
+ null;
+
+ -- Analyze the various forms of global lists and items. Note that
+ -- some of these may be malformed in which case the analysis emits
+ -- error messages.
+
+ else
+ Analyze_Global_List (List);
+ end if;
+ end Global;
+
-----------
-- Ident --
-----------
@@ -15748,6 +16382,7 @@ package body Sem_Prag is
Sig_Flags : constant array (Pragma_Id) of Int :=
(Pragma_AST_Entry => -1,
Pragma_Abort_Defer => -1,
+ Pragma_Abstract_State => -1,
Pragma_Ada_83 => -1,
Pragma_Ada_95 => -1,
Pragma_Ada_05 => -1,
@@ -15818,6 +16453,7 @@ package body Sem_Prag is
Pragma_Fast_Math => -1,
Pragma_Finalize_Storage_Only => 0,
Pragma_Float_Representation => 0,
+ Pragma_Global => -1,
Pragma_Ident => -1,
Pragma_Implementation_Defined => -1,
Pragma_Implemented => -1,
diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb
index 5559f178419..a2bc095a2d4 100644
--- a/gcc/ada/sem_res.adb
+++ b/gcc/ada/sem_res.adb
@@ -9474,8 +9474,8 @@ package body Sem_Res is
and then abs (Realval (Rop)) < Delta_Value (Standard_Duration)
then
Error_Msg_N
- ("??universal real operand can only " &
- "be interpreted as Duration!", Rop);
+ ("??universal real operand can only "
+ & "be interpreted as Duration!", Rop);
Error_Msg_N
("\??precision will be lost in the conversion!", Rop);
end if;
@@ -9556,11 +9556,6 @@ package body Sem_Res is
and then not Is_Generic_Type (Root_Type (Target_Typ))
and then Target_Typ /= Universal_Fixed
and then Operand_Typ /= Universal_Fixed
-
- -- Also skip type conversion checks in formal verification mode, as
- -- the formal verification backend deals directly with these checks.
-
- and then not Alfa_Mode
then
Apply_Type_Conversion_Checks (N);
end if;
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index 648362c658f..907efe4c1e6 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -2814,87 +2814,188 @@ package body Sem_Util is
Obj1 : Node_Id := A1;
Obj2 : Node_Id := A2;
- procedure Check_Renaming (Obj : in out Node_Id);
- -- If an object is a renaming, examine renamed object. If it is a
- -- dereference of a variable, or an indexed expression with non-constant
- -- indexes, no overlap check can be reported.
+ function Has_Prefix (N : Node_Id) return Boolean;
+ -- Return True if N has attribute Prefix
- --------------------
- -- Check_Renaming --
- --------------------
+ function Is_Renaming (N : Node_Id) return Boolean;
+ -- Return true if N names a renaming entity
+
+ function Is_Valid_Renaming (N : Node_Id) return Boolean;
+ -- For renamings, return False if the prefix of any dereference within
+ -- the renamed object_name is a variable, or any expression within the
+ -- renamed object_name contains references to variables or calls on
+ -- nonstatic functions; otherwise return True (RM 6.4.1(6.10/3))
- procedure Check_Renaming (Obj : in out Node_Id) is
+ ----------------
+ -- Has_Prefix --
+ ----------------
+
+ function Has_Prefix (N : Node_Id) return Boolean is
begin
- if Is_Entity_Name (Obj)
- and then Present (Renamed_Entity (Entity (Obj)))
- then
- Obj := Renamed_Entity (Entity (Obj));
- if Nkind (Obj) = N_Explicit_Dereference
- and then Is_Variable (Prefix (Obj))
+ return
+ Nkind_In (N,
+ N_Attribute_Reference,
+ N_Expanded_Name,
+ N_Explicit_Dereference,
+ N_Indexed_Component,
+ N_Reference,
+ N_Selected_Component,
+ N_Slice);
+ end Has_Prefix;
+
+ -----------------
+ -- Is_Renaming --
+ -----------------
+
+ function Is_Renaming (N : Node_Id) return Boolean is
+ begin
+ return Is_Entity_Name (N)
+ and then Present (Renamed_Entity (Entity (N)));
+ end Is_Renaming;
+
+ -----------------------
+ -- Is_Valid_Renaming --
+ -----------------------
+
+ function Is_Valid_Renaming (N : Node_Id) return Boolean is
+
+ function Check_Renaming (N : Node_Id) return Boolean;
+ -- Recursive function used to traverse all the prefixes of N
+
+ function Check_Renaming (N : Node_Id) return Boolean is
+ begin
+ if Is_Renaming (N)
+ and then not Check_Renaming (Renamed_Entity (Entity (N)))
then
- Obj := Empty;
+ return False;
+ end if;
- elsif Nkind (Obj) = N_Indexed_Component then
+ if Nkind (N) = N_Indexed_Component then
declare
Indx : Node_Id;
begin
- Indx := First (Expressions (Obj));
+ Indx := First (Expressions (N));
while Present (Indx) loop
if not Is_OK_Static_Expression (Indx) then
- Obj := Empty;
- exit;
+ return False;
end if;
Next_Index (Indx);
end loop;
end;
end if;
- end if;
- end Check_Renaming;
+
+ if Has_Prefix (N) then
+ declare
+ P : constant Node_Id := Prefix (N);
+
+ begin
+ if Nkind (N) = N_Explicit_Dereference
+ and then Is_Variable (P)
+ then
+ return False;
+
+ elsif Is_Entity_Name (P)
+ and then Ekind (Entity (P)) = E_Function
+ then
+ return False;
+
+ elsif Nkind (P) = N_Function_Call then
+ return False;
+ end if;
+
+ -- Recursion to continue traversing the prefix of the
+ -- renaming expression
+
+ return Check_Renaming (P);
+ end;
+ end if;
+
+ return True;
+ end Check_Renaming;
+
+ -- Start of processing for Is_Valid_Renaming
+
+ begin
+ return Check_Renaming (N);
+ end Is_Valid_Renaming;
-- Start of processing for Denotes_Same_Object
begin
- Check_Renaming (Obj1);
- Check_Renaming (Obj2);
+ -- Both names statically denote the same stand-alone object or parameter
+ -- (RM 6.4.1(6.5/3))
- if No (Obj1)
- or else No (Obj2)
+ if Is_Entity_Name (Obj1)
+ and then Is_Entity_Name (Obj2)
+ and then Entity (Obj1) = Entity (Obj2)
then
- return False;
+ return True;
end if;
- -- If we have entity names, then must be same entity
+ -- For renamings, the prefix of any dereference within the renamed
+ -- object_name is not a variable, and any expression within the
+ -- renamed object_name contains no references to variables nor
+ -- calls on nonstatic functions (RM 6.4.1(6.10/3)).
- if Is_Entity_Name (Obj1) then
- if Is_Entity_Name (Obj2) then
- return Entity (Obj1) = Entity (Obj2);
+ if Is_Renaming (Obj1) then
+ if Is_Valid_Renaming (Obj1) then
+ Obj1 := Renamed_Entity (Entity (Obj1));
else
return False;
end if;
+ end if;
- -- No match if not same node kind
+ if Is_Renaming (Obj2) then
+ if Is_Valid_Renaming (Obj2) then
+ Obj2 := Renamed_Entity (Entity (Obj2));
+ else
+ return False;
+ end if;
+ end if;
+
+ -- No match if not same node kind (such cases are handled by
+ -- Denotes_Same_Prefix)
- elsif Nkind (Obj1) /= Nkind (Obj2) then
+ if Nkind (Obj1) /= Nkind (Obj2) then
return False;
- -- For selected components, must have same prefix and selector
+ -- After handling valid renamings, one of the two names statically
+ -- denoted a renaming declaration whose renamed object_name is known
+ -- to denote the same object as the other (RM 6.4.1(6.10/3))
+
+ elsif Is_Entity_Name (Obj1) then
+ if Is_Entity_Name (Obj2) then
+ return Entity (Obj1) = Entity (Obj2);
+ else
+ return False;
+ end if;
+
+ -- Both names are selected_components, their prefixes are known to
+ -- denote the same object, and their selector_names denote the same
+ -- component (RM 6.4.1(6.6/3)
elsif Nkind (Obj1) = N_Selected_Component then
return Denotes_Same_Object (Prefix (Obj1), Prefix (Obj2))
and then
Entity (Selector_Name (Obj1)) = Entity (Selector_Name (Obj2));
- -- For explicit dereferences, prefixes must be same
+ -- Both names are dereferences and the dereferenced names are known to
+ -- denote the same object (RM 6.4.1(6.7/3))
elsif Nkind (Obj1) = N_Explicit_Dereference then
return Denotes_Same_Object (Prefix (Obj1), Prefix (Obj2));
- -- For indexed components, prefixes and all subscripts must be the same
+ -- Both names are indexed_components, their prefixes are known to denote
+ -- the same object, and each of the pairs of corresponding index values
+ -- are either both static expressions with the same static value or both
+ -- names that are known to denote the same object (RM 6.4.1(6.8/3))
elsif Nkind (Obj1) = N_Indexed_Component then
- if Denotes_Same_Object (Prefix (Obj1), Prefix (Obj2)) then
+ if not Denotes_Same_Object (Prefix (Obj1), Prefix (Obj2)) then
+ return False;
+ else
declare
Indx1 : Node_Id;
Indx2 : Node_Id;
@@ -2924,11 +3025,11 @@ package body Sem_Util is
return True;
end;
- else
- return False;
end if;
- -- For slices, prefixes must match and bounds must match
+ -- Both names are slices, their prefixes are known to denote the same
+ -- object, and the two slices have statically matching index constraints
+ -- (RM 6.4.1(6.9/3))
elsif Nkind (Obj1) = N_Slice
and then Denotes_Same_Object (Prefix (Obj1), Prefix (Obj2))
@@ -2947,10 +3048,11 @@ package body Sem_Util is
and then Denotes_Same_Object (Hi1, Hi2);
end;
- -- Literals will appear as indexes. Isn't this where we should check
- -- Known_At_Compile_Time at least if we are generating warnings ???
+ -- In the recursion, literals appear as indexes.
- elsif Nkind (Obj1) = N_Integer_Literal then
+ elsif Nkind (Obj1) = N_Integer_Literal
+ and then Nkind (Obj2) = N_Integer_Literal
+ then
return Intval (Obj1) = Intval (Obj2);
else
@@ -3014,7 +3116,7 @@ package body Sem_Util is
end loop;
-- If both have the same depth and they do not denote the same
- -- object, they are disjoint and not warning is needed.
+ -- object, they are disjoint and no warning is needed.
if Depth1 = Depth2 then
return False;
diff --git a/gcc/ada/sem_util.ads b/gcc/ada/sem_util.ads
index b4ce100cb98..7c8d80357fd 100644
--- a/gcc/ada/sem_util.ads
+++ b/gcc/ada/sem_util.ads
@@ -360,6 +360,9 @@ package Sem_Util is
-- and constraint checks on entry families constrained by discriminants.
function Denotes_Same_Object (A1, A2 : Node_Id) return Boolean;
+ -- Detect suspicious overlapping between actuals in a call, when both are
+ -- writable (RM 2012 6.4.1(6.4/3))
+
function Denotes_Same_Prefix (A1, A2 : Node_Id) return Boolean;
-- Functions to detect suspicious overlapping between actuals in a call,
-- when one of them is writable. The predicates are those proposed in
diff --git a/gcc/ada/sem_warn.adb b/gcc/ada/sem_warn.adb
index e24e72901dd..be4532e609a 100644
--- a/gcc/ada/sem_warn.adb
+++ b/gcc/ada/sem_warn.adb
@@ -3281,7 +3281,7 @@ package body Sem_Warn is
begin
return
(Warn_On_Modified_Unread and then Is_Only_Out_Parameter (E))
- or else Warn_On_All_Unread_Out_Parameters;
+ or else Warn_On_All_Unread_Out_Parameters;
end Warn_On_Modified_As_Out_Parameter;
---------------------------------
@@ -3292,41 +3292,75 @@ package body Sem_Warn is
Act1, Act2 : Node_Id;
Form1, Form2 : Entity_Id;
+ function Is_Covered_Formal (Formal : Node_Id) return Boolean;
+ -- Return True if Formal is covered by the rule
+
+ function Refer_Same_Object (Act1, Act2 : Node_Id) return Boolean;
+ -- Two names are known to refer to the same object if the two names
+ -- are known to denote the same object; or one of the names is a
+ -- selected_component, indexed_component, or slice and its prefix is
+ -- known to refer to the same object as the other name; or one of the
+ -- two names statically denotes a renaming declaration whose renamed
+ -- object_name is known to refer to the same object as the other name
+ -- (RM 6.4.1(6.11/3))
+
+ -----------------------
+ -- Refer_Same_Object --
+ -----------------------
+
+ function Refer_Same_Object (Act1, Act2 : Node_Id) return Boolean is
+ begin
+ return Denotes_Same_Object (Act1, Act2)
+ or else Denotes_Same_Prefix (Act1, Act2);
+ end Refer_Same_Object;
+
+ -----------------------
+ -- Is_Covered_Formal --
+ -----------------------
+
+ function Is_Covered_Formal (Formal : Node_Id) return Boolean is
+ begin
+ return
+ Ekind_In (Formal, E_Out_Parameter, E_In_Out_Parameter)
+ and then (Is_Elementary_Type (Etype (Formal))
+ or else Is_Record_Type (Etype (Formal))
+ or else Is_Array_Type (Etype (Formal)));
+ end Is_Covered_Formal;
+
begin
- if not Warn_On_Overlap then
+ if Ada_Version < Ada_2012 and then not Warn_On_Overlap then
return;
end if;
-- Exclude calls rewritten as enumeration literals
- if Nkind (N) not in N_Subprogram_Call then
+ if Nkind (N) not in N_Subprogram_Call
+ and then Nkind (N) /= N_Entry_Call_Statement
+ then
return;
end if;
- -- Exclude calls to library subprograms. Container operations specify
- -- safe behavior when source and target coincide.
+ -- If a call C has two or more parameters of mode in out or out that are
+ -- of an elementary type, then the call is legal only if for each name
+ -- N that is passed as a parameter of mode in out or out to the call C,
+ -- there is no other name among the other parameters of mode in out or
+ -- out to C that is known to denote the same object (RM 6.4.1(6.15/3))
- if Is_Predefined_File_Name
- (Unit_File_Name (Get_Source_Unit (Sloc (Subp))))
- then
- return;
- end if;
+ -- If appropriate warning switch is set, we also report warnings on
+ -- overlapping parameters that are record types or array types.
Form1 := First_Formal (Subp);
Act1 := First_Actual (N);
while Present (Form1) and then Present (Act1) loop
- if Ekind (Form1) /= E_In_Parameter then
+ if Is_Covered_Formal (Form1) then
Form2 := First_Formal (Subp);
Act2 := First_Actual (N);
while Present (Form2) and then Present (Act2) loop
if Form1 /= Form2
- and then Ekind (Form2) /= E_Out_Parameter
- and then
- (Denotes_Same_Object (Act1, Act2)
- or else
- Denotes_Same_Prefix (Act1, Act2))
+ and then Is_Covered_Formal (Form2)
+ and then Refer_Same_Object (Act1, Act2)
then
- -- Exclude generic types and guard against previous errors
+ -- Guard against previous errors
if Error_Posted (N)
or else No (Etype (Act1))
@@ -3334,27 +3368,40 @@ package body Sem_Warn is
then
null;
- elsif Is_Generic_Type (Etype (Act1))
- or else
- Is_Generic_Type (Etype (Act2))
- then
- null;
-
- -- If the actual is a function call in prefix notation,
- -- there is no real overlap.
+ -- If the actual is a function call in prefix notation,
+ -- there is no real overlap.
elsif Nkind (Act2) = N_Function_Call then
null;
- -- If type is not by-copy we can assume that the aliasing is
- -- intended.
+ -- If type is not by-copy, assume that aliasing is intended
elsif
- Is_By_Reference_Type (Underlying_Type (Etype (Form1)))
+ Present (Underlying_Type (Etype (Form1)))
+ and then
+ (Is_By_Reference_Type (Underlying_Type (Etype (Form1)))
+ or else
+ Convention (Underlying_Type (Etype (Form1))) =
+ Convention_Ada_Pass_By_Reference)
then
null;
+ -- Under Ada 2012 we only report warnings on overlapping
+ -- arrays and record types if switch is set.
+
+ elsif Ada_Version >= Ada_2012
+ and then not Is_Elementary_Type (Etype (Form1))
+ and then not Warn_On_Overlap
+ then
+ null;
+
+ -- Here we may need to issue message
+
else
+ Error_Msg_Warn :=
+ Ada_Version < Ada_2012
+ or else not Is_Elementary_Type (Etype (Form1));
+
declare
Act : Node_Id;
Form : Entity_Id;
@@ -3399,7 +3446,7 @@ package body Sem_Warn is
& "actual for&?I?", Act1, Form);
else
- -- For greater clarity, give name of formal.
+ -- For greater clarity, give name of formal
Error_Msg_Node_2 := Form;
Error_Msg_FE
@@ -3410,8 +3457,8 @@ package body Sem_Warn is
else
Error_Msg_Node_2 := Form;
Error_Msg_FE
- ("writable actual for & overlaps with"
- & " actual for&?I?", Act1, Form1);
+ ("writable actual for & overlaps with "
+ & "actual for&?I?", Act1, Form1);
end if;
end;
end if;
diff --git a/gcc/ada/sem_warn.ads b/gcc/ada/sem_warn.ads
index cd075f8b890..0a8839512bb 100644
--- a/gcc/ada/sem_warn.ads
+++ b/gcc/ada/sem_warn.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1999-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1999-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads
index e44a7ef80cd..20ad9244a01 100644
--- a/gcc/ada/sinfo.ads
+++ b/gcc/ada/sinfo.ads
@@ -1546,7 +1546,8 @@ package Sinfo is
-- proc). This is needed for controlled aggregates. When the Object
-- declaration has an expression, this flag means that this expression
-- should not be taken into account (needed for in place initialization
- -- with aggregates).
+ -- with aggregates, and for object with an address clause, which are
+ -- initialized with an assignment at freeze time).
-- No_Minimize_Eliminate (Flag17-Sem)
-- This flag is present in membership operator nodes (N_In/N_Not_In).
@@ -7019,11 +7020,10 @@ package Sinfo is
-- a subexpression, whose value is the value of the Expression after
-- executing all the actions.
- -- Note: if the actions contain declarations, then these declarations
- -- may be referenced within the expression. It is thus appropriate for
- -- the back-end to create a scope that encompasses the construct (any
- -- declarations within the actions will definitely not be referenced
- -- once elaboration of the construct is completed).
+ -- If the actions contain declarations, then these declarations may
+ -- be referenced within the expression. However note that there is
+ -- no proper scope associated with the expression-with-action, so the
+ -- back-end will elaborate them in the context of the enclosing scope.
-- Sprint syntax: do
-- action;
@@ -7040,6 +7040,12 @@ package Sinfo is
-- Note: the actions list is always non-null, since we would
-- never have created this node if there weren't some actions.
+ -- Note: Expression may be a Null_Statement, in which case the
+ -- N_Expression_With_Actions has type Standard_Void_Type. However some
+ -- backends do not support such expression-with-actions occurring
+ -- outside of a proper (non-void) expression, so this should just be
+ -- used as an intermediate representation within the front-end.
+
--------------------
-- Free Statement --
--------------------
@@ -7175,7 +7181,7 @@ package Sinfo is
-- the exception to be raised (i.e. it is equivalent to a raise
-- statement that raises the corresponding exception). This use
-- is distinguished by the fact that the Etype in this case is
- -- Standard_Void_Type, In the subexpression case, the Etype is the
+ -- Standard_Void_Type; in the subexpression case, the Etype is the
-- same as the type of the subexpression which it replaces.
-- If Condition is empty, then the raise is unconditional. If the
@@ -7632,6 +7638,12 @@ package Sinfo is
N_Function_Call,
N_Procedure_Call_Statement,
+ -- N_Subexpr, N_Has_Etype, N_Raise_xxx_Error
+
+ N_Raise_Constraint_Error,
+ N_Raise_Program_Error,
+ N_Raise_Storage_Error,
+
-- N_Subexpr, N_Has_Etype
N_Explicit_Dereference,
@@ -7642,15 +7654,6 @@ package Sinfo is
N_Null,
N_Qualified_Expression,
N_Quantified_Expression,
-
- -- N_Raise_xxx_Error, N_Subexpr, N_Has_Etype
-
- N_Raise_Constraint_Error,
- N_Raise_Program_Error,
- N_Raise_Storage_Error,
-
- -- N_Subexpr, N_Has_Etype
-
N_Aggregate,
N_Allocator,
N_Case_Expression,
diff --git a/gcc/ada/snames.ads-tmpl b/gcc/ada/snames.ads-tmpl
index 2cb296dd1be..4fbf0690c39 100644
--- a/gcc/ada/snames.ads-tmpl
+++ b/gcc/ada/snames.ads-tmpl
@@ -446,6 +446,7 @@ package Snames is
-- Remaining pragma names
Name_Abort_Defer : constant Name_Id := N + $; -- GNAT
+ Name_Abstract_State : constant Name_Id := N + $; -- GNAT
Name_All_Calls_Remote : constant Name_Id := N + $;
-- Note: AST_Entry is not in this list because its name matches the name of
@@ -493,6 +494,7 @@ package Snames is
Name_Export_Valued_Procedure : constant Name_Id := N + $; -- GNAT
Name_External : constant Name_Id := N + $; -- GNAT
Name_Finalize_Storage_Only : constant Name_Id := N + $; -- GNAT
+ Name_Global : constant Name_Id := N + $; -- GNAT
Name_Ident : constant Name_Id := N + $; -- VMS
Name_Implementation_Defined : constant Name_Id := N + $; -- GNAT
Name_Implemented : constant Name_Id := N + $; -- Ada 12
@@ -672,6 +674,7 @@ package Snames is
Name_Code : constant Name_Id := N + $;
Name_Component : constant Name_Id := N + $;
Name_Component_Size_4 : constant Name_Id := N + $;
+ Name_Contract_In : constant Name_Id := N + $;
Name_Copy : constant Name_Id := N + $;
Name_D_Float : constant Name_Id := N + $;
Name_Decreases : constant Name_Id := N + $;
@@ -694,8 +697,10 @@ package Snames is
Name_GPL : constant Name_Id := N + $;
Name_IEEE_Float : constant Name_Id := N + $;
Name_Ignore : constant Name_Id := N + $;
+ Name_In_Out : constant Name_Id := N + $;
Name_Increases : constant Name_Id := N + $;
Name_Info : constant Name_Id := N + $;
+ Name_Integrity : constant Name_Id := N + $;
Name_Internal : constant Name_Id := N + $;
Name_Link_Name : constant Name_Id := N + $;
Name_Lowercase : constant Name_Id := N + $;
@@ -1191,6 +1196,7 @@ package Snames is
Name_Archive_Suffix : constant Name_Id := N + $;
Name_Binder : constant Name_Id := N + $;
Name_Body_Suffix : constant Name_Id := N + $;
+ Name_Build_Slaves : constant Name_Id := N + $;
Name_Builder : constant Name_Id := N + $;
Name_Clean : constant Name_Id := N + $;
Name_Compiler : constant Name_Id := N + $;
@@ -1306,8 +1312,10 @@ package Snames is
Name_Project_Files : constant Name_Id := N + $;
Name_Project_Path : constant Name_Id := N + $;
Name_Project_Subdir : constant Name_Id := N + $;
+ Name_Remote : constant Name_Id := N + $;
Name_Response_File_Format : constant Name_Id := N + $;
Name_Response_File_Switches : constant Name_Id := N + $;
+ Name_Root_Dir : constant Name_Id := N + $;
Name_Roots : constant Name_Id := N + $; -- GB
Name_Required_Switches : constant Name_Id := N + $;
Name_Run_Path_Option : constant Name_Id := N + $;
@@ -1731,6 +1739,7 @@ package Snames is
-- Remaining (non-configuration) pragmas
Pragma_Abort_Defer,
+ Pragma_Abstract_State,
Pragma_All_Calls_Remote,
Pragma_Assert,
Pragma_Assert_And_Cut,
@@ -1765,6 +1774,7 @@ package Snames is
Pragma_Export_Valued_Procedure,
Pragma_External,
Pragma_Finalize_Storage_Only,
+ Pragma_Global,
Pragma_Ident,
Pragma_Implementation_Defined,
Pragma_Implemented,
diff --git a/gcc/ada/switch-c.ads b/gcc/ada/switch-c.ads
index 2586d60493a..b068a614561 100644
--- a/gcc/ada/switch-c.ads
+++ b/gcc/ada/switch-c.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2001-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 2001-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/system-darwin-ppc64.ads b/gcc/ada/system-darwin-ppc64.ads
index feaff2ed3ea..573f3fc39c0 100644
--- a/gcc/ada/system-darwin-ppc64.ads
+++ b/gcc/ada/system-darwin-ppc64.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (Darwin/PPC64 Version) --
-- --
--- Copyright (C) 2011, Free Software Foundation, Inc. --
+-- Copyright (C) 2011-2012, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
diff --git a/gcc/ada/table.adb b/gcc/ada/table.adb
index 3bf4eb69c87..e6367af45a2 100644
--- a/gcc/ada/table.adb
+++ b/gcc/ada/table.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -172,6 +172,7 @@ package body Table is
procedure Reallocate is
New_Size : Memory.size_t;
+ New_Length : Long_Long_Integer;
begin
if Max < Last_Val then
@@ -186,11 +187,14 @@ package body Table is
-- the increment value or 10, which ever is larger (the reason
-- for the use of 10 here is to ensure that the table does really
-- increase in size (which would not be the case for a table of
- -- length 10 increased by 3% for instance).
+ -- length 10 increased by 3% for instance). Do the intermediate
+ -- calculation in Long_Long_Integer to avoid overflow.
while Max < Last_Val loop
- Length := Int'Max (Length * (100 + Table_Increment) / 100,
- Length + 10);
+ New_Length :=
+ Long_Long_Integer (Length) *
+ (100 + Long_Long_Integer (Table_Increment)) / 100;
+ Length := Int'Max (Int (New_Length), Length + 10);
Max := Min + Length - 1;
end loop;
diff --git a/gcc/ada/tracebak.c b/gcc/ada/tracebak.c
index 2c8335de68b..123df59881d 100644
--- a/gcc/ada/tracebak.c
+++ b/gcc/ada/tracebak.c
@@ -35,6 +35,7 @@
PowerPC/AiX
PowerPC/Darwin
PowerPC/VxWorks
+ PowerPC/LynxOS-178
SPARC/Solaris
i386/GNU/Linux
i386/Solaris
@@ -287,9 +288,10 @@ __gnat_backtrace (void **array,
#error Unhandled darwin architecture.
#endif
-/*------------------------ PPC AIX/Older Darwin -------------------------*/
+/*---------------------- PPC AIX/PPC Lynx 178/Older Darwin ------------------*/
#elif ((defined (_POWER) && defined (_AIX)) || \
-(defined (__ppc__) && defined (__APPLE__)))
+ (defined (__powerpc__) && defined (__Lynx__) && !defined(__ELF__)) || \
+ (defined (__ppc__) && defined (__APPLE__)))
#define USE_GENERIC_UNWINDER
@@ -307,9 +309,26 @@ struct layout
should to feature a null backchain, AIX might expose a null return
address instead. */
+/* Then LynxOS-178 features yet another variation, with return_address
+ == &<entrypoint>, with two possible entry points (one for the main
+ process and one for threads). Beware that &bla returns the address
+ of a descriptor when "bla" is a function. Getting the code address
+ requires an extra dereference. */
+
+#if defined (__Lynx__)
+extern void __start(); /* process entry point. */
+extern void __runnit(); /* thread entry point. */
+#define EXTRA_STOP_CONDITION(CURRENT) \
+ ((CURRENT)->return_address == *(void**)&__start \
+ || (CURRENT)->return_address == *(void**)&__runnit)
+#else
+#define EXTRA_STOP_CONDITION(CURRENT) (0)
+#endif
+
#define STOP_FRAME(CURRENT, TOP_STACK) \
(((void *) (CURRENT) < (TOP_STACK)) \
- || (CURRENT)->return_address == NULL)
+ || (CURRENT)->return_address == NULL \
+ || EXTRA_STOP_CONDITION(CURRENT))
/* The PPC ABI has an interesting specificity: the return address saved by a
function is located in it's caller's frame, and the save operation only
diff --git a/gcc/ada/types.ads b/gcc/ada/types.ads
index d983c2915a4..a63e10c97e8 100644
--- a/gcc/ada/types.ads
+++ b/gcc/ada/types.ads
@@ -257,13 +257,13 @@ package Types is
-- possible values for each of the above types is disjoint so that this
-- distinction is possible.
- type Union_Id is new Int;
- -- The type in the tree for a union of possible ID values
-
-- Note: it is also helpful for debugging purposes to make these ranges
-- distinct. If a bug leads to misidentification of a value, then it will
-- typically result in an out of range value and a Constraint_Error.
+ type Union_Id is new Int;
+ -- The type in the tree for a union of possible ID values
+
List_Low_Bound : constant := -100_000_000;
-- The List_Id values are subscripts into an array of list headers which
-- has List_Low_Bound as its lower bound. This value is chosen so that all
diff --git a/gcc/ada/uname.adb b/gcc/ada/uname.adb
index eb514b75c23..5f2026f2231 100644
--- a/gcc/ada/uname.adb
+++ b/gcc/ada/uname.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
diff --git a/gcc/ada/usage.adb b/gcc/ada/usage.adb
index 769afdeba1a..f4cceb46d23 100644
--- a/gcc/ada/usage.adb
+++ b/gcc/ada/usage.adb
@@ -202,6 +202,11 @@ begin
Write_Switch_Char ("ef");
Write_Line ("Full source path in brief error messages");
+ -- Line for -gnateF switch
+
+ Write_Switch_Char ("eF");
+ Write_Line ("Check overflow on predefined Float types");
+
-- Line for -gnateG switch
Write_Switch_Char ("eG");
@@ -331,11 +336,6 @@ begin
Write_Switch_Char ("n[?]");
Write_Line ("Enable pragma Inline (both within and across units, ?=1/2)");
- -- Line for -gnatN switch
-
- Write_Switch_Char ("N");
- Write_Line ("Full (frontend) inlining of subprograms");
-
-- Line for -gnato switch
Write_Switch_Char ("o");
@@ -474,6 +474,16 @@ begin
Write_Line (" .C* turn off warnings for unrepped components");
Write_Line (" d turn on warnings for implicit dereference");
Write_Line (" D* turn off warnings for implicit dereference");
+
+ -- Switches -gnatw.d/w.D not available on VMS
+
+ if not OpenVMS_On_Target then
+ Write_Line
+ (" .d turn on tagging of warnings with -gnatw switch");
+ Write_Line
+ (" .D* turn off tagging of warnings with -gnatw switch");
+ end if;
+
Write_Line (" e treat all warnings (but not info) as errors");
Write_Line (" .e turn on every optional info/warning " &
"(no exceptions)");
@@ -502,7 +512,7 @@ begin
Write_Line (" L* turn off warnings for missing " &
"elaboration pragma");
Write_Line (" .l turn on info messages for inherited aspects");
- Write_Line (" .L* turn off info messages for inherited aspects");
+ Write_Line (" .L* turn off info messages for inherited aspects");
Write_Line (" m+ turn on warnings for variable assigned " &
"but not read");
Write_Line (" M* turn off warnings for variable assigned " &
diff --git a/gcc/ada/validsw.ads b/gcc/ada/validsw.ads
index afc4fa55ae3..db9ceb214b8 100644
--- a/gcc/ada/validsw.ads
+++ b/gcc/ada/validsw.ads
@@ -78,7 +78,7 @@ package Validsw is
Validity_Check_In_Params : Boolean := False;
-- Controls the validity checking of IN parameters. If this switch is
- -- set to True using -gnatVm or an 'i' in the argument of a pragma
+ -- set to True using -gnatVi or an 'i' in the argument of a pragma
-- Validity_Checks, then the initial value of all IN parameters
-- will be checked at the point of call of a procedure or function.
diff --git a/gcc/ada/warnsw.adb b/gcc/ada/warnsw.adb
index a8d31e45231..337f4699bd3 100644
--- a/gcc/ada/warnsw.adb
+++ b/gcc/ada/warnsw.adb
@@ -22,9 +22,10 @@
-- Extensive contributions were provided by Ada Core Technologies Inc. --
-- --
------------------------------------------------------------------------------
+
with Err_Vars; use Err_Vars;
with Opt; use Opt;
-
+with Targparm; use Targparm;
package body Warnsw is
----------------------------
@@ -53,10 +54,18 @@ package body Warnsw is
Warn_On_Unrepped_Components := False;
when 'd' =>
- Warning_Doc_Switch := True;
+ if OpenVMS_On_Target then
+ return False;
+ end if;
+
+ Warning_Doc_Switch := True;
when 'D' =>
- Warning_Doc_Switch := False;
+ if OpenVMS_On_Target then
+ return False;
+ end if;
+
+ Warning_Doc_Switch := False;
when 'e' =>
Address_Clause_Overlay_Warnings := True;
@@ -68,6 +77,11 @@ package body Warnsw is
Implementation_Unit_Warnings := True;
Ineffective_Inline_Warnings := True;
List_Inherited_Aspects := True;
+
+ if not OpenVMS_On_Target then
+ Warning_Doc_Switch := True;
+ end if;
+
Warn_On_Ada_2005_Compatibility := True;
Warn_On_Ada_2012_Compatibility := True;
Warn_On_All_Unread_Out_Parameters := True;
@@ -217,6 +231,7 @@ package body Warnsw is
Implementation_Unit_Warnings := False;
Ineffective_Inline_Warnings := True;
List_Inherited_Aspects := False;
+ Warning_Doc_Switch := False;
Warn_On_Ada_2005_Compatibility := True;
Warn_On_Ada_2012_Compatibility := True;
Warn_On_All_Unread_Out_Parameters := False;
@@ -296,6 +311,7 @@ package body Warnsw is
Implementation_Unit_Warnings := False;
Ineffective_Inline_Warnings := False;
List_Inherited_Aspects := False;
+ Warning_Doc_Switch := False;
Warn_On_Ada_2005_Compatibility := False;
Warn_On_Ada_2012_Compatibility := False;
Warn_On_All_Unread_Out_Parameters := False;
diff --git a/gcc/ada/xref_lib.adb b/gcc/ada/xref_lib.adb
index 4110368dac6..56a28efed00 100644
--- a/gcc/ada/xref_lib.adb
+++ b/gcc/ada/xref_lib.adb
@@ -925,10 +925,11 @@ package body Xref_Lib is
end;
end if;
- if Ali (Ptr) = '<'
- or else Ali (Ptr) = '('
- or else Ali (Ptr) = '{'
- then
+ while Ptr <= Ali'Last
+ and then (Ali (Ptr) = '<'
+ or else Ali (Ptr) = '('
+ or else Ali (Ptr) = '{')
+ loop
-- Here we have a type derivation information. The format is
-- <3|12I45> which means that the current entity is derived from the
-- type defined in unit number 3, line 12 column 45. The pipe and
@@ -1065,7 +1066,7 @@ package body Xref_Lib is
end loop;
Ptr := Ptr + 1;
end if;
- end if;
+ end loop;
-- To find the body, we will have to parse the file too
diff --git a/gcc/addresses.h b/gcc/addresses.h
index 235b43862ae..9d0565b2eab 100644
--- a/gcc/addresses.h
+++ b/gcc/addresses.h
@@ -1,5 +1,5 @@
/* Inline functions to test validity of reg classes for addressing modes.
- Copyright (C) 2006, 2007, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/alloc-pool.c b/gcc/alloc-pool.c
index 68d66ee1b93..ab8edb03829 100644
--- a/gcc/alloc-pool.c
+++ b/gcc/alloc-pool.c
@@ -1,6 +1,6 @@
/* Functions to support a pool of allocatable objects.
Copyright (C) 1987, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
- 2007, 2008, 2010 Free Software Foundation, Inc.
+ 2007, 2008, 2010, 2012 Free Software Foundation, Inc.
Contributed by Daniel Berlin <dan@cgsoftware.com>
This file is part of GCC.
diff --git a/gcc/attribs.c b/gcc/attribs.c
index 8cdd61b32e8..209e9bcb120 100644
--- a/gcc/attribs.c
+++ b/gcc/attribs.c
@@ -1,6 +1,6 @@
/* Functions dealing with attribute handling, used by most front ends.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
+ 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/auto-inc-dec.c b/gcc/auto-inc-dec.c
index 810e9f2955f..def9c9adeaa 100644
--- a/gcc/auto-inc-dec.c
+++ b/gcc/auto-inc-dec.c
@@ -1,5 +1,6 @@
/* Discovery of auto-inc and auto-dec instructions.
- Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index aaa18e008e3..ca8a9b4d174 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -1,6 +1,7 @@
/* Define control flow data structures for the CFG.
Copyright (C) 1987, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/bb-reorder.h b/gcc/bb-reorder.h
index 13acdb0f31e..7f99a39b52e 100644
--- a/gcc/bb-reorder.h
+++ b/gcc/bb-reorder.h
@@ -1,5 +1,5 @@
/* Basic block reordering routines for the GNU compiler.
- Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
+ Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/builtin-attrs.def b/gcc/builtin-attrs.def
index 364e7217b15..3837886afc4 100644
--- a/gcc/builtin-attrs.def
+++ b/gcc/builtin-attrs.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2002, 2004, 2005, 2007, 2010
+/* Copyright (C) 2001, 2002, 2004, 2005, 2007, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Joseph Myers <jsm28@cam.ac.uk>.
diff --git a/gcc/builtin-types.def b/gcc/builtin-types.def
index 8cbc51566d7..3ce07d8e66a 100644
--- a/gcc/builtin-types.def
+++ b/gcc/builtin-types.def
@@ -1,5 +1,5 @@
-/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011
- Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c/c-errors.c b/gcc/c/c-errors.c
index bee534c44fe..4f64bece5b9 100644
--- a/gcc/c/c-errors.c
+++ b/gcc/c/c-errors.c
@@ -1,5 +1,6 @@
/* Various diagnostic subroutines for the GNU C language.
- Copyright (C) 2000, 2001, 2003, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2003, 2007, 2008, 2012
+ Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/c/c-lang.h b/gcc/c/c-lang.h
index 822361378a7..19d710705f1 100644
--- a/gcc/c/c-lang.h
+++ b/gcc/c/c-lang.h
@@ -1,5 +1,5 @@
/* Definitions for C language specific types.
- Copyright (C) 2009, 2010
+ Copyright (C) 2009, 2010, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c/c-objc-common.c b/gcc/c/c-objc-common.c
index 065192dcc4a..35917336d64 100644
--- a/gcc/c/c-objc-common.c
+++ b/gcc/c/c-objc-common.c
@@ -1,6 +1,6 @@
/* Some code common to C and ObjC front ends.
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007,
- 2009, 2010 Free Software Foundation, Inc.
+ 2009, 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/c/c-objc-common.h b/gcc/c/c-objc-common.h
index cffecaa7276..f431967845a 100644
--- a/gcc/c/c-objc-common.h
+++ b/gcc/c/c-objc-common.h
@@ -1,5 +1,5 @@
/* Language hooks common to C and ObjC front ends.
- Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010
+ Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010, 2012
Free Software Foundation, Inc.
Contributed by Ziemowit Laski <zlaski@apple.com>
diff --git a/gcc/c/gccspec.c b/gcc/c/gccspec.c
index e1613594fc4..36d89a04b52 100644
--- a/gcc/c/gccspec.c
+++ b/gcc/c/gccspec.c
@@ -1,5 +1,6 @@
/* Specific flags and argument handling of the C front-end.
- Copyright (C) 1999, 2001, 2003, 2007, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2001, 2003, 2007, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/caller-save.c b/gcc/caller-save.c
index 77d299f36cc..26d91d05e5c 100644
--- a/gcc/caller-save.c
+++ b/gcc/caller-save.c
@@ -1,6 +1,6 @@
/* Save and restore call-clobbered registers which are live across a call.
Copyright (C) 1989, 1992, 1994, 1995, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfghooks.c b/gcc/cfghooks.c
index b729ae00504..ad8410a05fa 100644
--- a/gcc/cfghooks.c
+++ b/gcc/cfghooks.c
@@ -1,5 +1,5 @@
/* Hooks for cfg representation specific functions.
- Copyright (C) 2003, 2004, 2005, 2007, 2008, 2010
+ Copyright (C) 2003, 2004, 2005, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Sebastian Pop <s.pop@laposte.net>
diff --git a/gcc/cfghooks.h b/gcc/cfghooks.h
index b2cc3449507..5a2adcfafce 100644
--- a/gcc/cfghooks.h
+++ b/gcc/cfghooks.h
@@ -1,5 +1,5 @@
/* Hooks for cfg representation specific functions.
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2011, 2012
Free Software Foundation, Inc.
Contributed by Sebastian Pop <s.pop@laposte.net>
diff --git a/gcc/cfgloop.c b/gcc/cfgloop.c
index d793e3af0b6..98b13efd167 100644
--- a/gcc/cfgloop.c
+++ b/gcc/cfgloop.c
@@ -1,5 +1,5 @@
/* Natural loop discovery code for GNU compiler.
- Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2010
+ Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h
index 1ecb691f03e..a729f726263 100644
--- a/gcc/cfgloop.h
+++ b/gcc/cfgloop.h
@@ -1,6 +1,7 @@
/* Natural loop functions
Copyright (C) 1987, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfgloopanal.c b/gcc/cfgloopanal.c
index 7fdbd4ae7d4..6741e6d96cc 100644
--- a/gcc/cfgloopanal.c
+++ b/gcc/cfgloopanal.c
@@ -1,6 +1,6 @@
/* Natural loop analysis code for GNU compiler.
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c
index 64f6f643738..2528ec50d39 100644
--- a/gcc/cfgloopmanip.c
+++ b/gcc/cfgloopmanip.c
@@ -1,5 +1,5 @@
/* Loop manipulation code for GNU compiler.
- Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/collect2-aix.h b/gcc/collect2-aix.h
index 203f42cbd3d..3af17c2daa9 100644
--- a/gcc/collect2-aix.h
+++ b/gcc/collect2-aix.h
@@ -1,5 +1,5 @@
/* AIX cross support for collect2.
- Copyright (C) 2009 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/collect2.h b/gcc/collect2.h
index 7dedd6579b4..fb685814bce 100644
--- a/gcc/collect2.h
+++ b/gcc/collect2.h
@@ -1,5 +1,5 @@
/* Header file for collect/tlink routines.
- Copyright (C) 1998, 2003, 2004, 2005, 2007, 2010, 2011
+ Copyright (C) 1998, 2003, 2004, 2005, 2007, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/compare-elim.c b/gcc/compare-elim.c
index cc1502d8162..e91e292ace6 100644
--- a/gcc/compare-elim.c
+++ b/gcc/compare-elim.c
@@ -1,5 +1,5 @@
/* Post-reload compare elimination.
- Copyright (C) 2010, 2011
+ Copyright (C) 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config.build b/gcc/config.build
index 26809b61225..91cc5f16416 100644
--- a/gcc/config.build
+++ b/gcc/config.build
@@ -1,6 +1,6 @@
# GCC build-specific configuration file.
# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2007, 2008, 2009, 2010,
-# 2011
+# 2011, 2012
# Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 03b13613c6e..6bba8cc8a6d 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -3041,6 +3041,16 @@ aarch64_const_double_zero_rtx_p (rtx x)
return REAL_VALUES_EQUAL (r, dconst0);
}
+/* Return the fixed registers used for condition codes. */
+
+static bool
+aarch64_fixed_condition_code_regs (unsigned int *p1, unsigned int *p2)
+{
+ *p1 = CC_REGNUM;
+ *p2 = INVALID_REGNUM;
+ return true;
+}
+
enum machine_mode
aarch64_select_cc_mode (RTX_CODE code, rtx x, rtx y)
{
@@ -7551,6 +7561,9 @@ aarch64_vectorize_vec_perm_const_ok (enum machine_mode vmode,
#define TARGET_VECTORIZE_VEC_PERM_CONST_OK \
aarch64_vectorize_vec_perm_const_ok
+
+#define TARGET_FIXED_CONDITION_CODE_REGS aarch64_fixed_condition_code_regs
+
struct gcc_target targetm = TARGET_INITIALIZER;
#include "gt-aarch64.h"
diff --git a/gcc/config/alpha/alpha-protos.h b/gcc/config/alpha/alpha-protos.h
index 42b34d3a39c..01dfc5b4ad0 100644
--- a/gcc/config/alpha/alpha-protos.h
+++ b/gcc/config/alpha/alpha-protos.h
@@ -1,6 +1,6 @@
/* Prototypes for alpha.c functions used in the md file & elsewhere.
- Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010,
+ 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/alpha/constraints.md b/gcc/config/alpha/constraints.md
index 62c7f9ae0c5..c3c849790ef 100644
--- a/gcc/config/alpha/constraints.md
+++ b/gcc/config/alpha/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for DEC Alpha.
-;; Copyright (C) 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2011 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/alpha/elf.h b/gcc/config/alpha/elf.h
index a7d04f276cc..96cbaa711ed 100644
--- a/gcc/config/alpha/elf.h
+++ b/gcc/config/alpha/elf.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for DEC Alpha w/ELF.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2007, 2008,
- 2009, 2010, 2012 Free Software Foundation, Inc.
+ 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@tamu.edu).
This file is part of GCC.
diff --git a/gcc/config/alpha/ev6.md b/gcc/config/alpha/ev6.md
index a16535a6450..15d99f55622 100644
--- a/gcc/config/alpha/ev6.md
+++ b/gcc/config/alpha/ev6.md
@@ -1,5 +1,5 @@
;; Scheduling description for Alpha EV6.
-;; Copyright (C) 2002, 2004, 2005, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2005, 2007, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/alpha/predicates.md b/gcc/config/alpha/predicates.md
index 0a1885bd5f9..1aef065907c 100644
--- a/gcc/config/alpha/predicates.md
+++ b/gcc/config/alpha/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for DEC Alpha.
-;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010
+;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/alpha/sync.md b/gcc/config/alpha/sync.md
index cdde7256506..73b1fc36ca8 100644
--- a/gcc/config/alpha/sync.md
+++ b/gcc/config/alpha/sync.md
@@ -1,5 +1,6 @@
;; GCC machine description for Alpha synchronization instructions.
-;; Copyright (C) 2005, 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2008, 2009, 2011, 2012
+;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/arm/README-interworking b/gcc/config/arm/README-interworking
index cfa7f66e294..38258c09d64 100644
--- a/gcc/config/arm/README-interworking
+++ b/gcc/config/arm/README-interworking
@@ -742,7 +742,7 @@ used.
interworking as the --support-old-code switch has taken care if this.
-Copyright (C) 1998, 2002, 2003, 2004 Free Software Foundation, Inc.
+Copyright (C) 1998, 2002, 2003, 2004, 2012 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/config/arm/aout.h b/gcc/config/arm/aout.h
index 0be3de3f006..3caf927104e 100644
--- a/gcc/config/arm/aout.h
+++ b/gcc/config/arm/aout.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for ARM with a.out
- Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2004, 2007, 2008, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2004, 2007, 2008, 2010,
+ 2012 Free Software Foundation, Inc.
Contributed by Richard Earnshaw (rearnsha@armltd.co.uk).
This file is part of GCC.
diff --git a/gcc/config/arm/arm-c.c b/gcc/config/arm/arm-c.c
index cfe97c7ec0d..3e7afc3736f 100644
--- a/gcc/config/arm/arm-c.c
+++ b/gcc/config/arm/arm-c.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007, 2010, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2007, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def
index ac6612bb91a..e74353432b9 100644
--- a/gcc/config/arm/arm-cores.def
+++ b/gcc/config/arm/arm-cores.def
@@ -1,5 +1,5 @@
/* ARM CPU Cores
- Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2012
+ Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Written by CodeSourcery, LLC
diff --git a/gcc/config/arm/arm-fixed.md b/gcc/config/arm/arm-fixed.md
index 920c262b425..a141bd0a454 100644
--- a/gcc/config/arm/arm-fixed.md
+++ b/gcc/config/arm/arm-fixed.md
@@ -1,4 +1,4 @@
-;; Copyright 2011 Free Software Foundation, Inc.
+;; Copyright 2011, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/arm/arm-fpus.def b/gcc/config/arm/arm-fpus.def
index 377e5e14552..c554367b90e 100644
--- a/gcc/config/arm/arm-fpus.def
+++ b/gcc/config/arm/arm-fpus.def
@@ -1,6 +1,6 @@
/* ARM FPU variants.
Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/arm/arm-generic.md b/gcc/config/arm/arm-generic.md
index 65fce7d2343..bcf67d23379 100644
--- a/gcc/config/arm/arm-generic.md
+++ b/gcc/config/arm/arm-generic.md
@@ -1,5 +1,5 @@
;; Generic ARM Pipeline Description
-;; Copyright (C) 2003, 2007, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007, 2010, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/arm/arm-ldmstm.ml b/gcc/config/arm/arm-ldmstm.ml
index 1d98ef038ef..b9ac4f1d080 100644
--- a/gcc/config/arm/arm-ldmstm.ml
+++ b/gcc/config/arm/arm-ldmstm.ml
@@ -1,5 +1,5 @@
(* Auto-generate ARM ldm/stm patterns
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is part of GCC.
@@ -314,7 +314,7 @@ let _ =
"/* ARM ldm/stm instruction patterns. This file was automatically generated";
" using arm-ldmstm.ml. Please do not edit manually.";
"";
-" Copyright (C) 2010 Free Software Foundation, Inc.";
+" Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.";
" Contributed by CodeSourcery.";
"";
" This file is part of GCC.";
diff --git a/gcc/config/arm/arm-modes.def b/gcc/config/arm/arm-modes.def
index 7f19ebe3073..06b0917ae81 100644
--- a/gcc/config/arm/arm-modes.def
+++ b/gcc/config/arm/arm-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for ARM.
- Copyright (C) 2002, 2004, 2007, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2007, 2010, 2011 Free Software Foundation, Inc.
Contributed by Pieter `Tiggr' Schoenmakers (rcpieter@win.tue.nl)
and Martin Simmons (@harleqn.co.uk).
More major hacks by Richard Earnshaw (rearnsha@arm.com)
diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h
index 4c61e35ea28..994ba0e2877 100644
--- a/gcc/config/arm/arm-protos.h
+++ b/gcc/config/arm/arm-protos.h
@@ -1,6 +1,6 @@
/* Prototypes for exported functions defined in arm.c and pe.c
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010, 2012 Free Software Foundation, Inc.
+ 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Richard Earnshaw (rearnsha@arm.com)
Minor hacks by Nick Clifton (nickc@cygnus.com)
diff --git a/gcc/config/arm/arm-tables.opt b/gcc/config/arm/arm-tables.opt
index 1616d9da27e..9b6965ed123 100644
--- a/gcc/config/arm/arm-tables.opt
+++ b/gcc/config/arm/arm-tables.opt
@@ -2,7 +2,7 @@
; Generated automatically by genopt.sh from arm-cores.def, arm-arches.def
; and arm-fpus.def.
-; Copyright (C) 2011 Free Software Foundation, Inc.
+; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/arm/arm.opt b/gcc/config/arm/arm.opt
index 61d2d2fe4ee..9b34e285757 100644
--- a/gcc/config/arm/arm.opt
+++ b/gcc/config/arm/arm.opt
@@ -1,6 +1,7 @@
; Options for the ARM port of the compiler.
-; Copyright (C) 2005, 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2008, 2009, 2011, 2012
+; Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/arm/arm1020e.md b/gcc/config/arm/arm1020e.md
index 9a41d305736..ba510840324 100644
--- a/gcc/config/arm/arm1020e.md
+++ b/gcc/config/arm/arm1020e.md
@@ -1,5 +1,5 @@
;; ARM 1020E & ARM 1022E Pipeline Description
-;; Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2008, 2012 Free Software Foundation, Inc.
;; Contributed by Richard Earnshaw (richard.earnshaw@arm.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/arm1026ejs.md b/gcc/config/arm/arm1026ejs.md
index 52f6241d7dd..dca401c602f 100644
--- a/gcc/config/arm/arm1026ejs.md
+++ b/gcc/config/arm/arm1026ejs.md
@@ -1,5 +1,5 @@
;; ARM 1026EJ-S Pipeline Description
-;; Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007, 2011, 2012 Free Software Foundation, Inc.
;; Written by CodeSourcery, LLC.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/arm1136jfs.md b/gcc/config/arm/arm1136jfs.md
index 9e885586072..6ada7fac8ea 100644
--- a/gcc/config/arm/arm1136jfs.md
+++ b/gcc/config/arm/arm1136jfs.md
@@ -1,5 +1,5 @@
;; ARM 1136J[F]-S Pipeline Description
-;; Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007, 2012 Free Software Foundation, Inc.
;; Written by CodeSourcery, LLC.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/arm926ejs.md b/gcc/config/arm/arm926ejs.md
index 4c94e3337ab..0c86bf7e327 100644
--- a/gcc/config/arm/arm926ejs.md
+++ b/gcc/config/arm/arm926ejs.md
@@ -1,5 +1,5 @@
;; ARM 926EJ-S Pipeline Description
-;; Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007, 2012 Free Software Foundation, Inc.
;; Written by CodeSourcery, LLC.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h
index 67e17a1b08f..f7f154d5a9c 100644
--- a/gcc/config/arm/bpabi.h
+++ b/gcc/config/arm/bpabi.h
@@ -1,5 +1,5 @@
/* Configuration file for ARM BPABI targets.
- Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010
+ Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC
diff --git a/gcc/config/arm/constraints.md b/gcc/config/arm/constraints.md
index 1b4167e15e2..d07bc9ce01c 100644
--- a/gcc/config/arm/constraints.md
+++ b/gcc/config/arm/constraints.md
@@ -1,5 +1,6 @@
;; Constraint definitions for ARM and Thumb
-;; Copyright (C) 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2008, 2010, 2011, 2012
+;; Free Software Foundation, Inc.
;; Contributed by ARM Ltd.
;; This file is part of GCC.
diff --git a/gcc/config/arm/cortex-a15.md b/gcc/config/arm/cortex-a15.md
index 33e53df2b55..1528576fc71 100644
--- a/gcc/config/arm/cortex-a15.md
+++ b/gcc/config/arm/cortex-a15.md
@@ -1,5 +1,5 @@
;; ARM Cortex-A15 pipeline description
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
;;
;; Written by Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
diff --git a/gcc/config/arm/cortex-a5.md b/gcc/config/arm/cortex-a5.md
index 2b5abe524a6..b491f886327 100644
--- a/gcc/config/arm/cortex-a5.md
+++ b/gcc/config/arm/cortex-a5.md
@@ -1,5 +1,5 @@
;; ARM Cortex-A5 pipeline description
-;; Copyright (C) 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
;; Contributed by CodeSourcery.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/cortex-a8.md b/gcc/config/arm/cortex-a8.md
index 73c61b15d0b..7835b523557 100644
--- a/gcc/config/arm/cortex-a8.md
+++ b/gcc/config/arm/cortex-a8.md
@@ -1,5 +1,5 @@
;; ARM Cortex-A8 scheduling description.
-;; Copyright (C) 2007, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2010, 2012 Free Software Foundation, Inc.
;; Contributed by CodeSourcery.
;; This file is part of GCC.
diff --git a/gcc/config/arm/cortex-a9.md b/gcc/config/arm/cortex-a9.md
index f1bd7cfa91a..96b5ec33255 100644
--- a/gcc/config/arm/cortex-a9.md
+++ b/gcc/config/arm/cortex-a9.md
@@ -1,5 +1,5 @@
;; ARM Cortex-A9 pipeline description
-;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
;; Originally written by CodeSourcery for VFP.
;;
;; Rewritten by Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
diff --git a/gcc/config/arm/cortex-m4-fpu.md b/gcc/config/arm/cortex-m4-fpu.md
index 6fd5faf74ee..b06697dd25f 100644
--- a/gcc/config/arm/cortex-m4-fpu.md
+++ b/gcc/config/arm/cortex-m4-fpu.md
@@ -1,5 +1,5 @@
;; ARM Cortex-M4 FPU pipeline description
-;; Copyright (C) 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
;; Contributed by CodeSourcery.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/cortex-m4.md b/gcc/config/arm/cortex-m4.md
index 063fe5fabdd..e11e6b643fd 100644
--- a/gcc/config/arm/cortex-m4.md
+++ b/gcc/config/arm/cortex-m4.md
@@ -1,5 +1,5 @@
;; ARM Cortex-M4 pipeline description
-;; Copyright (C) 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
;; Contributed by CodeSourcery.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/cortex-r4.md b/gcc/config/arm/cortex-r4.md
index a870dc06f51..bd1385f616c 100644
--- a/gcc/config/arm/cortex-r4.md
+++ b/gcc/config/arm/cortex-r4.md
@@ -1,5 +1,5 @@
;; ARM Cortex-R4 scheduling description.
-;; Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2008, 2012 Free Software Foundation, Inc.
;; Contributed by CodeSourcery.
;; This file is part of GCC.
diff --git a/gcc/config/arm/driver-arm.c b/gcc/config/arm/driver-arm.c
index 3a17e104aca..03e8c90da61 100644
--- a/gcc/config/arm/driver-arm.c
+++ b/gcc/config/arm/driver-arm.c
@@ -1,5 +1,5 @@
/* Subroutines for the gcc driver.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/arm/fa526.md b/gcc/config/arm/fa526.md
index 81085225753..8ebc8d9d2de 100644
--- a/gcc/config/arm/fa526.md
+++ b/gcc/config/arm/fa526.md
@@ -1,5 +1,5 @@
;; Faraday FA526 Pipeline Description
-;; Copyright (C) 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2010, 2012 Free Software Foundation, Inc.
;; Written by I-Jui Sung, based on ARM926EJ-S Pipeline Description.
;; This file is part of GCC.
diff --git a/gcc/config/arm/fa606te.md b/gcc/config/arm/fa606te.md
index d995b1d9663..ef56f46b1fe 100644
--- a/gcc/config/arm/fa606te.md
+++ b/gcc/config/arm/fa606te.md
@@ -1,5 +1,5 @@
;; Faraday FA606TE Pipeline Description
-;; Copyright (C) 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2010, 2012 Free Software Foundation, Inc.
;; Written by Mingfeng Wu, based on ARM926EJ-S Pipeline Description.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/fa626te.md b/gcc/config/arm/fa626te.md
index 6b01b06aaaf..49bded62392 100644
--- a/gcc/config/arm/fa626te.md
+++ b/gcc/config/arm/fa626te.md
@@ -1,5 +1,5 @@
;; Faraday FA626TE Pipeline Description
-;; Copyright (C) 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2010, 2012 Free Software Foundation, Inc.
;; Written by I-Jui Sung, based on ARM926EJ-S Pipeline Description.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/fa726te.md b/gcc/config/arm/fa726te.md
index 7c898ab3b17..1c1cd221ba0 100644
--- a/gcc/config/arm/fa726te.md
+++ b/gcc/config/arm/fa726te.md
@@ -1,5 +1,5 @@
;; Faraday FA726TE Pipeline Description
-;; Copyright (C) 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2010, 2012 Free Software Foundation, Inc.
;; Written by I-Jui Sung, based on ARM926EJ-S Pipeline Description.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/fmp626.md b/gcc/config/arm/fmp626.md
index f63b6bf54a2..2fe417f13e1 100644
--- a/gcc/config/arm/fmp626.md
+++ b/gcc/config/arm/fmp626.md
@@ -1,5 +1,5 @@
;; Faraday FA626TE Pipeline Description
-;; Copyright (C) 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2010, 2012 Free Software Foundation, Inc.
;; Written by Mingfeng Wu, based on ARM926EJ-S Pipeline Description.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/genopt.sh b/gcc/config/arm/genopt.sh
index 6b31896d8f5..102965c1c20 100755
--- a/gcc/config/arm/genopt.sh
+++ b/gcc/config/arm/genopt.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Generate arm-tables.opt from the lists in *.def.
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -23,7 +23,7 @@ cat <<EOF
; Generated automatically by genopt.sh from arm-cores.def, arm-arches.def
; and arm-fpus.def.
-; Copyright (C) 2011 Free Software Foundation, Inc.
+; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/arm/iterators.md b/gcc/config/arm/iterators.md
index 3a20f5fea83..0b46800cb94 100644
--- a/gcc/config/arm/iterators.md
+++ b/gcc/config/arm/iterators.md
@@ -1,5 +1,5 @@
;; Code and mode itertator and attribute definitions for the ARM backend
-;; Copyright (C) 2010, 2012 Free Software Foundation, Inc.
+;; Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
;; Contributed by ARM Ltd.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/iwmmxt.md b/gcc/config/arm/iwmmxt.md
index 81117914ff5..381e0f75077 100644
--- a/gcc/config/arm/iwmmxt.md
+++ b/gcc/config/arm/iwmmxt.md
@@ -1,5 +1,5 @@
;; Patterns for the Intel Wireless MMX technology architecture.
-;; Copyright (C) 2003, 2004, 2005, 2007, 2008, 2010, 2012
+;; Copyright (C) 2003, 2004, 2005, 2007, 2008, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;; Contributed by Red Hat.
diff --git a/gcc/config/arm/ldmstm.md b/gcc/config/arm/ldmstm.md
index 0835f1637a8..f26e5ae533b 100644
--- a/gcc/config/arm/ldmstm.md
+++ b/gcc/config/arm/ldmstm.md
@@ -1,7 +1,7 @@
/* ARM ldm/stm instruction patterns. This file was automatically generated
using arm-ldmstm.ml. Please do not edit manually.
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is part of GCC.
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
index 46d3bc675fb..3ca348f05fe 100644
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
@@ -1,5 +1,5 @@
/* Configuration file for ARM GNU/Linux EABI targets.
- Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2011
+ Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by CodeSourcery, LLC
diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
index 63b0606327d..ddf4a6ea903 100644
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -1,6 +1,6 @@
/* Definitions for ARM running Linux-based GNU systems using ELF
Copyright (C) 1993, 1994, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Philip Blundell <philb@gnu.org>
diff --git a/gcc/config/arm/neon-docgen.ml b/gcc/config/arm/neon-docgen.ml
index 228de165603..ec0db4a0932 100644
--- a/gcc/config/arm/neon-docgen.ml
+++ b/gcc/config/arm/neon-docgen.ml
@@ -1,6 +1,6 @@
(* ARM NEON documentation generator.
- Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2012 Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is part of GCC.
diff --git a/gcc/config/arm/neon-gen.ml b/gcc/config/arm/neon-gen.ml
index 52ecb16ad8b..78d2f279f6d 100644
--- a/gcc/config/arm/neon-gen.ml
+++ b/gcc/config/arm/neon-gen.ml
@@ -1,5 +1,5 @@
(* Auto-generate ARM Neon intrinsics header file.
- Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2009, 2012 Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is part of GCC.
diff --git a/gcc/config/arm/neon-testgen.ml b/gcc/config/arm/neon-testgen.ml
index f6c8d9a5183..034d41b7185 100644
--- a/gcc/config/arm/neon-testgen.ml
+++ b/gcc/config/arm/neon-testgen.ml
@@ -1,5 +1,6 @@
(* Auto-generate ARM Neon intrinsics tests.
- Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is part of GCC.
diff --git a/gcc/config/arm/neon.md b/gcc/config/arm/neon.md
index c3f14bb8edf..32095d37993 100644
--- a/gcc/config/arm/neon.md
+++ b/gcc/config/arm/neon.md
@@ -1,5 +1,5 @@
;; ARM NEON coprocessor Machine Description
-;; Copyright (C) 2006, 2007, 2008, 2009, 2010, 2012
+;; Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;; Written by CodeSourcery.
;;
diff --git a/gcc/config/arm/neon.ml b/gcc/config/arm/neon.ml
index 5a5819fbc83..12ba1b2cd1e 100644
--- a/gcc/config/arm/neon.ml
+++ b/gcc/config/arm/neon.ml
@@ -1,7 +1,8 @@
(* Common code for ARM NEON header file, documentation and test case
generators.
- Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2008, 2009, 2010, 2012
+ Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is part of GCC.
diff --git a/gcc/config/arm/predicates.md b/gcc/config/arm/predicates.md
index 8f49450780a..c4508ffd629 100644
--- a/gcc/config/arm/predicates.md
+++ b/gcc/config/arm/predicates.md
@@ -1,5 +1,6 @@
;; Predicate definitions for ARM and Thumb
-;; Copyright (C) 2004, 2007, 2008, 2010, 2012 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2007, 2008, 2010, 2011, 2012
+;; Free Software Foundation, Inc.
;; Contributed by ARM Ltd.
;; This file is part of GCC.
diff --git a/gcc/config/arm/sync.md b/gcc/config/arm/sync.md
index 86135bb64c4..9b70ce4d44c 100644
--- a/gcc/config/arm/sync.md
+++ b/gcc/config/arm/sync.md
@@ -1,5 +1,5 @@
;; Machine description for ARM processor synchronization primitives.
-;; Copyright (C) 2010, 2012 Free Software Foundation, Inc.
+;; Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
;; Written by Marcus Shawcroft (marcus.shawcroft@arm.com)
;; 64bit Atomics by Dave Gilbert (david.gilbert@linaro.org)
;;
diff --git a/gcc/config/arm/thumb2.md b/gcc/config/arm/thumb2.md
index d4dd1b9364c..6aa76f64379 100644
--- a/gcc/config/arm/thumb2.md
+++ b/gcc/config/arm/thumb2.md
@@ -1,5 +1,5 @@
;; ARM Thumb-2 Machine Description
-;; Copyright (C) 2007, 2008, 2010, 2012 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
;; Written by CodeSourcery, LLC.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/uclinux-eabi.h b/gcc/config/arm/uclinux-eabi.h
index c106c980203..f205025e8a8 100644
--- a/gcc/config/arm/uclinux-eabi.h
+++ b/gcc/config/arm/uclinux-eabi.h
@@ -1,5 +1,5 @@
/* Definitions for ARM EABI ucLinux
- Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2008, 2011 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/config/arm/vec-common.md b/gcc/config/arm/vec-common.md
index b43e9523a6b..81f3ad1c78e 100644
--- a/gcc/config/arm/vec-common.md
+++ b/gcc/config/arm/vec-common.md
@@ -1,5 +1,5 @@
;; Machine Description for shared bits common to IWMMXT and Neon.
-;; Copyright (C) 2006, 2007, 2010, 2012 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2010, 2011, 2012 Free Software Foundation, Inc.
;; Written by CodeSourcery.
;;
;; This file is part of GCC.
diff --git a/gcc/config/arm/vfp.md b/gcc/config/arm/vfp.md
index 3f2975ff546..1aed4cbf2ad 100644
--- a/gcc/config/arm/vfp.md
+++ b/gcc/config/arm/vfp.md
@@ -1,5 +1,5 @@
;; ARM VFP instruction patterns
-;; Copyright (C) 2003, 2005, 2006, 2007, 2008, 2010
+;; Copyright (C) 2003, 2005, 2006, 2007, 2008, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;; Written by CodeSourcery.
;;
diff --git a/gcc/config/arm/vxworks.h b/gcc/config/arm/vxworks.h
index 391c166336b..d511a84e6e0 100644
--- a/gcc/config/arm/vxworks.h
+++ b/gcc/config/arm/vxworks.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GCC,
for ARM with targeting the VXWorks run time environment.
- Copyright (C) 1999, 2000, 2003, 2004, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 1999, 2000, 2003, 2004, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by: Mike Stump <mrs@wrs.com>
diff --git a/gcc/config/avr/avr-c.c b/gcc/config/avr/avr-c.c
index 6e7f8c7119f..28867a1259d 100644
--- a/gcc/config/avr/avr-c.c
+++ b/gcc/config/avr/avr-c.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009, 2010
+/* Copyright (C) 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Anatoly Sokolov (aesok@post.ru)
diff --git a/gcc/config/avr/avr-devices.c b/gcc/config/avr/avr-devices.c
index 3ee1eff49ca..1c54219ce54 100644
--- a/gcc/config/avr/avr-devices.c
+++ b/gcc/config/avr/avr-devices.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009, 2010, 2011
+/* Copyright (C) 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Anatoly Sokolov (aesok@post.ru)
diff --git a/gcc/config/avr/avr-dimode.md b/gcc/config/avr/avr-dimode.md
index 31527dbf041..c3d5c0f984e 100644
--- a/gcc/config/avr/avr-dimode.md
+++ b/gcc/config/avr/avr-dimode.md
@@ -1,6 +1,6 @@
;; Machine description for GNU compiler,
;; for Atmel AVR micro controllers.
-;; Copyright (C) 1998 - 2011
+;; Copyright (C) 1998 - 2012
;; Free Software Foundation, Inc.
;; Contributed by Georg Lay (avr@gjlay.de)
;;
diff --git a/gcc/config/avr/avr-log.c b/gcc/config/avr/avr-log.c
index edb1cbda1ec..2ef4976a080 100644
--- a/gcc/config/avr/avr-log.c
+++ b/gcc/config/avr/avr-log.c
@@ -1,5 +1,5 @@
/* Subroutines for log output for Atmel AVR back end.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011, 2012 Free Software Foundation, Inc.
Contributed by Georg-Johann Lay (avr@gjlay.de)
This file is part of GCC.
diff --git a/gcc/config/avr/avr-mcus.def b/gcc/config/avr/avr-mcus.def
index 7d2882903f2..01d61f7117c 100644
--- a/gcc/config/avr/avr-mcus.def
+++ b/gcc/config/avr/avr-mcus.def
@@ -1,5 +1,5 @@
/* AVR MCUs.
- Copyright (C) 2009, 2010, 2011
+ Copyright (C) 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/avr/avr-protos.h b/gcc/config/avr/avr-protos.h
index 46b96c2dd84..d32f8ffc114 100644
--- a/gcc/config/avr/avr-protos.h
+++ b/gcc/config/avr/avr-protos.h
@@ -1,7 +1,7 @@
/* Prototypes for exported functions defined in avr.c
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010,
- 2011
+ 2011, 2012
Free Software Foundation, Inc.
Contributed by Denis Chertykov (chertykov@gmail.com)
diff --git a/gcc/config/avr/avr-tables.opt b/gcc/config/avr/avr-tables.opt
index 32fc17914fe..ffa93ca185e 100644
--- a/gcc/config/avr/avr-tables.opt
+++ b/gcc/config/avr/avr-tables.opt
@@ -1,7 +1,7 @@
; -*- buffer-read-only: t -*-
; Generated automatically by genopt.sh from avr-mcus.def.
-; Copyright (C) 2011 Free Software Foundation, Inc.
+; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index cc0290475cd..db534e1b85f 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -1,6 +1,6 @@
/* Subroutines for insn-output.c for ATMEL AVR micro controllers
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Denis Chertykov (chertykov@gmail.com)
This file is part of GCC.
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index 4925e0e1df0..cadf5b97cd1 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -1,7 +1,7 @@
/* Definitions of target machine for GNU compiler,
for ATMEL AVR at90s8515, ATmega103/103L, ATmega603/603L microcontrollers.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
- 2008, 2009, 2010, 2011
+ 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Denis Chertykov (chertykov@gmail.com)
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md
index 8b071f02af1..314da6ff930 100644
--- a/gcc/config/avr/avr.md
+++ b/gcc/config/avr/avr.md
@@ -1,7 +1,7 @@
;; Machine description for GNU compiler,
;; for ATMEL AVR micro controllers.
;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008,
-;; 2009, 2010, 2011 Free Software Foundation, Inc.
+;; 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
;; Contributed by Denis Chertykov (chertykov@gmail.com)
;; This file is part of GCC.
diff --git a/gcc/config/avr/avr.opt b/gcc/config/avr/avr.opt
index 35fca20c3a3..194b3edbd84 100644
--- a/gcc/config/avr/avr.opt
+++ b/gcc/config/avr/avr.opt
@@ -1,6 +1,7 @@
; Options for the ATMEL AVR port of the compiler.
-; Copyright (C) 2005, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2008, 2010, 2011, 2012
+; Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/avr/constraints.md b/gcc/config/avr/constraints.md
index 5a1c9f1aef1..7890d395c57 100644
--- a/gcc/config/avr/constraints.md
+++ b/gcc/config/avr/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for ATMEL AVR micro controllers.
-;; Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2011, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/avr/driver-avr.c b/gcc/config/avr/driver-avr.c
index 26c21412c3f..b7f7ea4006a 100644
--- a/gcc/config/avr/driver-avr.c
+++ b/gcc/config/avr/driver-avr.c
@@ -1,5 +1,5 @@
/* Subroutines for the gcc driver.
- Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Anatoly Sokolov <aesok@post.ru>
This file is part of GCC.
diff --git a/gcc/config/avr/elf.h b/gcc/config/avr/elf.h
index 82a0969d3b0..39f684eb0c0 100644
--- a/gcc/config/avr/elf.h
+++ b/gcc/config/avr/elf.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011
+/* Copyright (C) 2011, 2012
Free Software Foundation, Inc.
Contributed by Georg-Johann Lay (avr@gjlay.de)
diff --git a/gcc/config/avr/genmultilib.awk b/gcc/config/avr/genmultilib.awk
index 0aab49a407f..ab0e3523c64 100644
--- a/gcc/config/avr/genmultilib.awk
+++ b/gcc/config/avr/genmultilib.awk
@@ -1,4 +1,4 @@
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/avr/genopt.sh b/gcc/config/avr/genopt.sh
index 6f9b778fc51..f489f67095a 100755
--- a/gcc/config/avr/genopt.sh
+++ b/gcc/config/avr/genopt.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Generate avr-tables.opt from the list in avr-mcus.def.
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -22,7 +22,7 @@ cat <<EOF
; -*- buffer-read-only: t -*-
; Generated automatically by genopt.sh from avr-mcus.def.
-; Copyright (C) 2011 Free Software Foundation, Inc.
+; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/avr/predicates.md b/gcc/config/avr/predicates.md
index fc4ca03de6b..75124f964e9 100644
--- a/gcc/config/avr/predicates.md
+++ b/gcc/config/avr/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for ATMEL AVR micro controllers.
-;; Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2008, 2011, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/avr/rtems.h b/gcc/config/avr/rtems.h
index 4a9c1b4d67b..ad60ca7dc77 100644
--- a/gcc/config/avr/rtems.h
+++ b/gcc/config/avr/rtems.h
@@ -1,5 +1,5 @@
/* Definitions for rtems targeting a AVR using ELF.
- Copyright (C) 2004, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2007, 2012 Free Software Foundation, Inc.
Contributed by Ralf Corsepius (ralf.corsepius@rtems.org).
This file is part of GCC.
diff --git a/gcc/config/avr/t-avr b/gcc/config/avr/t-avr
index 10749d7d31b..c7fffd7abe8 100644
--- a/gcc/config/avr/t-avr
+++ b/gcc/config/avr/t-avr
@@ -1,5 +1,5 @@
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-# 2009, 2010, 2011 Free Software Foundation, Inc.
+# 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/avr/t-multilib b/gcc/config/avr/t-multilib
index 497f63b4ea8..283e92fb5bf 100644
--- a/gcc/config/avr/t-multilib
+++ b/gcc/config/avr/t-multilib
@@ -3,7 +3,7 @@
# Generated from : ./gcc/config/avr/avr-mcus.def
# Used by : tmake_file from Makefile and genmultilib
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index f2d8473946e..49077474af9 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -1,5 +1,5 @@
/* The Blackfin code generation auxiliary output file.
- Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Analog Devices.
diff --git a/gcc/config/bfin/bfin.h b/gcc/config/bfin/bfin.h
index 03759bffdea..14472fb0cc3 100644
--- a/gcc/config/bfin/bfin.h
+++ b/gcc/config/bfin/bfin.h
@@ -1,5 +1,5 @@
/* Definitions for the Blackfin port.
- Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Analog Devices.
diff --git a/gcc/config/bfin/bfin.md b/gcc/config/bfin/bfin.md
index 63ad1755020..a56a73fb8e6 100644
--- a/gcc/config/bfin/bfin.md
+++ b/gcc/config/bfin/bfin.md
@@ -1,5 +1,6 @@
;;- Machine description for Blackfin for GNU compiler
-;; Copyright 2005, 2006, 2007, 2008, 2011 Free Software Foundation, Inc.
+;; Copyright 2005, 2006, 2007, 2008, 2011, 2012
+;; Free Software Foundation, Inc.
;; Contributed by Analog Devices.
;; This file is part of GCC.
diff --git a/gcc/config/bfin/elf.h b/gcc/config/bfin/elf.h
index 14e209aa494..e6901816878 100644
--- a/gcc/config/bfin/elf.h
+++ b/gcc/config/bfin/elf.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2006, 2007, 2008, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/c6x/elf-common.h b/gcc/config/c6x/elf-common.h
index 50a3c3aeb3b..0276a2bc47b 100644
--- a/gcc/config/c6x/elf-common.h
+++ b/gcc/config/c6x/elf-common.h
@@ -1,5 +1,5 @@
/* ELF definitions for TI C6X
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2011 Free Software Foundation, Inc.
Contributed by Andrew Jenner <andrew@codesourcery.com>
Contributed by Bernd Schmidt <bernds@codesourcery.com>
diff --git a/gcc/config/c6x/elf.h b/gcc/config/c6x/elf.h
index d89ed430641..096be148dc0 100644
--- a/gcc/config/c6x/elf.h
+++ b/gcc/config/c6x/elf.h
@@ -1,5 +1,5 @@
/* ELF definitions for TI C6X
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2011 Free Software Foundation, Inc.
Contributed by Andrew Jenner <andrew@codesourcery.com>
Contributed by Bernd Schmidt <bernds@codesourcery.com>
diff --git a/gcc/config/cris/cris-protos.h b/gcc/config/cris/cris-protos.h
index 167f14c6e9c..67d7868d9d1 100644
--- a/gcc/config/cris/cris-protos.h
+++ b/gcc/config/cris/cris-protos.h
@@ -1,6 +1,6 @@
/* Definitions for GCC. Part of the machine description for CRIS.
Copyright (C) 1998, 1999, 2000, 2001, 2004, 2005, 2006, 2007, 2009, 2010,
- 2011
+ 2011, 2012
Free Software Foundation, Inc.
Contributed by Axis Communications.
diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c
index 322050880c9..a2153c84038 100644
--- a/gcc/config/cris/cris.c
+++ b/gcc/config/cris/cris.c
@@ -1,6 +1,6 @@
/* Definitions for GCC. Part of the machine description for CRIS.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
- 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Axis Communications. Written by Hans-Peter Nilsson.
This file is part of GCC.
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index 80fb8f3ad86..d73904565ee 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -1,6 +1,6 @@
/* Definitions for GCC. Part of the machine description for CRIS.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008,
- 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Axis Communications. Written by Hans-Peter Nilsson.
This file is part of GCC.
diff --git a/gcc/config/cris/cris.md b/gcc/config/cris/cris.md
index 4b9d4c3986d..6fde054b573 100644
--- a/gcc/config/cris/cris.md
+++ b/gcc/config/cris/cris.md
@@ -1,6 +1,6 @@
;; GCC machine description for CRIS cpu cores.
;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-;; 2008, 2009, 2010 Free Software Foundation, Inc.
+;; 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
;; Contributed by Axis Communications.
;; This file is part of GCC.
diff --git a/gcc/config/cris/cris.opt b/gcc/config/cris/cris.opt
index d4433a77399..b58f64ee010 100644
--- a/gcc/config/cris/cris.opt
+++ b/gcc/config/cris/cris.opt
@@ -1,6 +1,6 @@
; Options for the CRIS port of the compiler.
-; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/cris/linux.opt b/gcc/config/cris/linux.opt
index e93bb53a6fd..048523ae2e5 100644
--- a/gcc/config/cris/linux.opt
+++ b/gcc/config/cris/linux.opt
@@ -1,6 +1,6 @@
; GNU/Linux-specific options for the CRIS port of the compiler.
-; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/darwin-c.c b/gcc/config/darwin-c.c
index ec8aa9ccf09..2ead86b6f85 100644
--- a/gcc/config/darwin-c.c
+++ b/gcc/config/darwin-c.c
@@ -1,5 +1,5 @@
/* Darwin support needed only by C/C++ frontends.
- Copyright (C) 2001, 2003, 2004, 2005, 2007, 2008, 2010, 2011
+ Copyright (C) 2001, 2003, 2004, 2005, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Apple Computer Inc.
diff --git a/gcc/config/darwin-driver.c b/gcc/config/darwin-driver.c
index 48eaf191c54..c882abe8aff 100644
--- a/gcc/config/darwin-driver.c
+++ b/gcc/config/darwin-driver.c
@@ -1,5 +1,5 @@
/* Additional functions for the GCC driver on Darwin native.
- Copyright (C) 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
Contributed by Apple Computer Inc.
This file is part of GCC.
diff --git a/gcc/config/darwin-sections.def b/gcc/config/darwin-sections.def
index 3bcb1c059c1..6f06661f15e 100644
--- a/gcc/config/darwin-sections.def
+++ b/gcc/config/darwin-sections.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2006, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2006, 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index 3a996705abe..a6ab947b598 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -1,6 +1,6 @@
/* Target definitions for Darwin (Mac OS X) systems.
Copyright (C) 1989, 1990, 1991, 1992, 1993, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Apple Computer Inc.
diff --git a/gcc/config/darwin.opt b/gcc/config/darwin.opt
index 23419f9b0b1..9c91f291cdf 100644
--- a/gcc/config/darwin.opt
+++ b/gcc/config/darwin.opt
@@ -1,6 +1,6 @@
; Processor-independent options for Darwin.
-; Copyright (C) 2005, 2007, 2010 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2010, 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/elfos.h b/gcc/config/elfos.h
index 4c748835da3..d716f95516b 100644
--- a/gcc/config/elfos.h
+++ b/gcc/config/elfos.h
@@ -1,7 +1,7 @@
/* elfos.h -- operating system specific defines to be used when
targeting GCC for some generic ELF system
Copyright (C) 1991, 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004,
- 2007, 2009, 2010 Free Software Foundation, Inc.
+ 2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Based on svr4.h contributed by Ron Guilmette (rfg@netcom.com).
This file is part of GCC.
diff --git a/gcc/config/epiphany/epiphany-sched.md b/gcc/config/epiphany/epiphany-sched.md
index d256bfea2a4..de60dde1859 100644
--- a/gcc/config/epiphany/epiphany-sched.md
+++ b/gcc/config/epiphany/epiphany-sched.md
@@ -1,5 +1,6 @@
;; DFA scheduling description for EPIPHANY
-;; Copyright (C) 2004, 2006, 2007, 2009, 2012 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2006, 2007, 2009, 2011, 2012
+;; Free Software Foundation, Inc.
;; Contributed by Embecosm on behalf of Adapteva, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/fr30/fr30.c b/gcc/config/fr30/fr30.c
index edb8dc4669b..f64a1e40e5c 100644
--- a/gcc/config/fr30/fr30.c
+++ b/gcc/config/fr30/fr30.c
@@ -1,6 +1,6 @@
/* FR30 specific functions.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2007, 2008, 2009,
- 2010, 2011 Free Software Foundation, Inc.
+ 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Cygnus Solutions.
This file is part of GCC.
diff --git a/gcc/config/fr30/fr30.md b/gcc/config/fr30/fr30.md
index 63382710688..d2dbddff031 100644
--- a/gcc/config/fr30/fr30.md
+++ b/gcc/config/fr30/fr30.md
@@ -1,5 +1,5 @@
;; FR30 machine description.
-;; Copyright (C) 1998, 1999, 2000, 2002, 2004, 2005, 2007, 2010
+;; Copyright (C) 1998, 1999, 2000, 2002, 2004, 2005, 2007, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;; Contributed by Cygnus Solutions.
diff --git a/gcc/config/frv/constraints.md b/gcc/config/frv/constraints.md
index 792706b0333..f0ebfaa17ed 100644
--- a/gcc/config/frv/constraints.md
+++ b/gcc/config/frv/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for FRV.
-;; Copyright (C) 2001 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2011 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c
index 6c3f45d5528..09e7d7d1990 100644
--- a/gcc/config/frv/frv.c
+++ b/gcc/config/frv/frv.c
@@ -1,5 +1,5 @@
/* Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007,
- 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h
index b9fd3a90cf0..910df11ef86 100644
--- a/gcc/config/frv/frv.h
+++ b/gcc/config/frv/frv.h
@@ -1,6 +1,6 @@
/* Target macros for the FRV port of GCC.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009,
- 2010, 2011
+ 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Red Hat Inc.
diff --git a/gcc/config/frv/frv.md b/gcc/config/frv/frv.md
index cc4a491417f..a1fe2ea36dc 100644
--- a/gcc/config/frv/frv.md
+++ b/gcc/config/frv/frv.md
@@ -1,5 +1,5 @@
;; Frv Machine Description
-;; Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2007, 2008, 2010
+;; Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2007, 2008, 2010, 2011
;; Free Software Foundation, Inc.
;; Contributed by Red Hat, Inc.
diff --git a/gcc/config/frv/predicates.md b/gcc/config/frv/predicates.md
index e8bc35ab177..65e5930b68b 100644
--- a/gcc/config/frv/predicates.md
+++ b/gcc/config/frv/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Frv.
-;; Copyright (C) 2005, 2007, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2010, 2011 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
index 8c4bbc6bb62..d8a3bf32a7f 100644
--- a/gcc/config/gnu-user.h
+++ b/gcc/config/gnu-user.h
@@ -2,7 +2,7 @@
(glibc-based) userspace or other userspace with libc derived from
glibc (e.g. uClibc) or for which similar specs are appropriate.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2003, 2004, 2005, 2006,
- 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Eric Youngdale.
Modified for stabs-in-ELF by H.J. Lu (hjl@lucon.org).
diff --git a/gcc/config/h8300/genmova.sh b/gcc/config/h8300/genmova.sh
index dab1865f1a0..8ec2351cb19 100644
--- a/gcc/config/h8300/genmova.sh
+++ b/gcc/config/h8300/genmova.sh
@@ -2,7 +2,7 @@
# Generate mova.md, a file containing patterns that can be implemented
# using the h8sx mova instruction.
-# Copyright (C) 2004, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2009, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -22,7 +22,7 @@
echo ";; -*- buffer-read-only: t -*-"
echo ";; Generated automatically from genmova.sh"
-echo ";; Copyright (C) 2004, 2009 Free Software Foundation, Inc."
+echo ";; Copyright (C) 2004, 2009, 2012 Free Software Foundation, Inc."
echo ";;"
echo ";; This file is part of GCC."
echo ";;"
diff --git a/gcc/config/h8300/h8300-protos.h b/gcc/config/h8300/h8300-protos.h
index 428a86a316c..bfe6660b12f 100644
--- a/gcc/config/h8300/h8300-protos.h
+++ b/gcc/config/h8300/h8300-protos.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
Renesas H8/300 version
- Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011
+ Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Steve Chamberlain (sac@cygnus.com),
Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md
index 27a07021c27..01a31c2de98 100644
--- a/gcc/config/h8300/h8300.md
+++ b/gcc/config/h8300/h8300.md
@@ -1,6 +1,6 @@
;; GCC machine description for Renesas H8/300
;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-;; 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
+;; 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;; Contributed by Steve Chamberlain (sac@cygnus.com),
diff --git a/gcc/config/h8300/h8300.opt b/gcc/config/h8300/h8300.opt
index 16c6ef5e029..476d7ac43b0 100644
--- a/gcc/config/h8300/h8300.opt
+++ b/gcc/config/h8300/h8300.opt
@@ -1,6 +1,6 @@
; Options for the Renesas H8/300 port of the compiler
;
-; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/h8300/mova.md b/gcc/config/h8300/mova.md
index 73b6e36bb26..a847c12d5e4 100644
--- a/gcc/config/h8300/mova.md
+++ b/gcc/config/h8300/mova.md
@@ -1,6 +1,6 @@
;; -*- buffer-read-only: t -*-
;; Generated automatically from genmova.sh
-;; Copyright (C) 2004, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2009, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/h8300/predicates.md b/gcc/config/h8300/predicates.md
index 3bb5e1a5d53..46520120c63 100644
--- a/gcc/config/h8300/predicates.md
+++ b/gcc/config/h8300/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Renesas H8/300.
-;; Copyright (C) 2005, 2007, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2010, 2011 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/host-linux.c b/gcc/config/host-linux.c
index b5357587605..594002a55a1 100644
--- a/gcc/config/host-linux.c
+++ b/gcc/config/host-linux.c
@@ -1,5 +1,6 @@
/* Linux host-specific hook definitions.
- Copyright (C) 2004, 2005, 2007, 2008, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2005, 2007, 2008, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/host-solaris.c b/gcc/config/host-solaris.c
index 15f1d782e95..00783b1ab71 100644
--- a/gcc/config/host-solaris.c
+++ b/gcc/config/host-solaris.c
@@ -1,5 +1,5 @@
/* Solaris host-specific hook definitions.
- Copyright (C) 2004, 2007, 2008, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/athlon.md b/gcc/config/i386/athlon.md
index aabf37dfa4f..796960e3344 100644
--- a/gcc/config/i386/athlon.md
+++ b/gcc/config/i386/athlon.md
@@ -1,5 +1,5 @@
;; Copyright (C) 2002, 2003, 2004, 2005, 2006,
-;; 2007 Free Software Foundation, Inc.
+;; 2007, 2011, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/atom.md b/gcc/config/i386/atom.md
index 27e3d806d54..6f841bdaaec 100644
--- a/gcc/config/i386/atom.md
+++ b/gcc/config/i386/atom.md
@@ -1,5 +1,5 @@
;; Atom Scheduling
-;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/avx2intrin.h b/gcc/config/i386/avx2intrin.h
index cebd9a2fced..c63b2cb8b37 100644
--- a/gcc/config/i386/avx2intrin.h
+++ b/gcc/config/i386/avx2intrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011
+/* Copyright (C) 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/avxintrin.h b/gcc/config/i386/avxintrin.h
index 6d4213dc8bd..ba4cb385ce1 100644
--- a/gcc/config/i386/avxintrin.h
+++ b/gcc/config/i386/avxintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/biarch64.h b/gcc/config/i386/biarch64.h
index 0c3811e3f33..7cca05a4d58 100644
--- a/gcc/config/i386/biarch64.h
+++ b/gcc/config/i386/biarch64.h
@@ -1,7 +1,7 @@
/* Make configure files to produce biarch compiler defaulting to 64bit mode.
This file must be included very first, while the OS specific file later
to overwrite otherwise wrong defaults.
- Copyright (C) 2001, 2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2007, 2009, 2012 Free Software Foundation, Inc.
Contributed by Bo Thorsen <bo@suse.de>.
This file is part of GCC.
diff --git a/gcc/config/i386/constraints.md b/gcc/config/i386/constraints.md
index b73cf5c32db..e989a97db11 100644
--- a/gcc/config/i386/constraints.md
+++ b/gcc/config/i386/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for IA-32 and x86-64.
-;; Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2011, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/core2.md b/gcc/config/i386/core2.md
index 5abc77b62a1..47db7ebe3b5 100644
--- a/gcc/config/i386/core2.md
+++ b/gcc/config/i386/core2.md
@@ -1,5 +1,6 @@
;; Scheduling for Core 2 and derived processors.
-;; Copyright (C) 2004, 2005, 2007, 2008, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2005, 2007, 2008, 2010, 2012
+;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/cpuid.h b/gcc/config/i386/cpuid.h
index 1f76d3a5077..7711c9bd67b 100644
--- a/gcc/config/i386/cpuid.h
+++ b/gcc/config/i386/cpuid.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012
+ * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013
* Free Software Foundation, Inc.
*
* This file is free software; you can redistribute it and/or modify it
@@ -136,35 +136,50 @@
/* %ebx may be the PIC register. */
#if __GNUC__ >= 3
#define __cpuid(level, a, b, c, d) \
- __asm__ ("xchg{l}\t{%%}ebx, %1\n\t" \
+ __asm__ ("xchg{l}\t{%%}ebx, %k1\n\t" \
"cpuid\n\t" \
- "xchg{l}\t{%%}ebx, %1\n\t" \
- : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
+ "xchg{l}\t{%%}ebx, %k1\n\t" \
+ : "=a" (a), "=&r" (b), "=c" (c), "=d" (d) \
: "0" (level))
#define __cpuid_count(level, count, a, b, c, d) \
- __asm__ ("xchg{l}\t{%%}ebx, %1\n\t" \
+ __asm__ ("xchg{l}\t{%%}ebx, %k1\n\t" \
"cpuid\n\t" \
- "xchg{l}\t{%%}ebx, %1\n\t" \
- : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
+ "xchg{l}\t{%%}ebx, %k1\n\t" \
+ : "=a" (a), "=&r" (b), "=c" (c), "=d" (d) \
: "0" (level), "2" (count))
#else
/* Host GCCs older than 3.0 weren't supporting Intel asm syntax
nor alternatives in i386 code. */
#define __cpuid(level, a, b, c, d) \
- __asm__ ("xchgl\t%%ebx, %1\n\t" \
+ __asm__ ("xchgl\t%%ebx, %k1\n\t" \
"cpuid\n\t" \
- "xchgl\t%%ebx, %1\n\t" \
- : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
+ "xchgl\t%%ebx, %k1\n\t" \
+ : "=a" (a), "=&r" (b), "=c" (c), "=d" (d) \
: "0" (level))
#define __cpuid_count(level, count, a, b, c, d) \
- __asm__ ("xchgl\t%%ebx, %1\n\t" \
+ __asm__ ("xchgl\t%%ebx, %k1\n\t" \
"cpuid\n\t" \
- "xchgl\t%%ebx, %1\n\t" \
- : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
+ "xchgl\t%%ebx, %k1\n\t" \
+ : "=a" (a), "=&r" (b), "=c" (c), "=d" (d) \
: "0" (level), "2" (count))
#endif
+#elif defined(__x86_64__) && (defined(__code_model_medium__) || defined(__code_model_large__)) && defined(__PIC__)
+/* %rbx may be the PIC register. */
+#define __cpuid(level, a, b, c, d) \
+ __asm__ ("xchg{q}\t{%%}rbx, %q1\n\t" \
+ "cpuid\n\t" \
+ "xchg{q}\t{%%}rbx, %q1\n\t" \
+ : "=a" (a), "=&r" (b), "=c" (c), "=d" (d) \
+ : "0" (level))
+
+#define __cpuid_count(level, count, a, b, c, d) \
+ __asm__ ("xchg{q}\t{%%}rbx, %q1\n\t" \
+ "cpuid\n\t" \
+ "xchg{q}\t{%%}rbx, %q1\n\t" \
+ : "=a" (a), "=&r" (b), "=c" (c), "=d" (d) \
+ : "0" (level), "2" (count))
#else
#define __cpuid(level, a, b, c, d) \
__asm__ ("cpuid\n\t" \
diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h
index 55c800e15c1..de90bd96806 100644
--- a/gcc/config/i386/cygming.h
+++ b/gcc/config/i386/cygming.h
@@ -1,7 +1,7 @@
/* Operating system specific defines to be used when targeting GCC for
hosting on Windows32, using a Unix style C library and tools.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- 2004, 2005, 2007, 2008, 2009, 2010, 2011
+ 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/cygming.opt b/gcc/config/i386/cygming.opt
index bcee9d4dc91..448407c079e 100644
--- a/gcc/config/i386/cygming.opt
+++ b/gcc/config/i386/cygming.opt
@@ -1,6 +1,7 @@
; Cygwin- and MinGW-specific options.
-; Copyright (C) 2005, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2009, 2010, 2011, 2012
+; Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/i386/cygwin.h b/gcc/config/i386/cygwin.h
index 5cf7f9cf51d..4affe111813 100644
--- a/gcc/config/i386/cygwin.h
+++ b/gcc/config/i386/cygwin.h
@@ -1,7 +1,7 @@
/* Operating system specific defines to be used when targeting GCC for
hosting on Windows32, using a Unix style C library and tools.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/djgpp.h b/gcc/config/i386/djgpp.h
index b2efb343545..ace4418deab 100644
--- a/gcc/config/i386/djgpp.h
+++ b/gcc/config/i386/djgpp.h
@@ -1,6 +1,6 @@
/* Configuration for an i386 running MS-DOS with DJGPP.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2007,
- 2010, 2011 Free Software Foundation, Inc.
+ 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/emmintrin.h b/gcc/config/i386/emmintrin.h
index 07ac9f3d8ae..e04d12b3dff 100644
--- a/gcc/config/i386/emmintrin.h
+++ b/gcc/config/i386/emmintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+/* Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/gas.h b/gcc/config/i386/gas.h
index bb5877ff4bb..7270b2dac24 100644
--- a/gcc/config/i386/gas.h
+++ b/gcc/config/i386/gas.h
@@ -1,5 +1,5 @@
/* Definitions for Intel 386 using GAS.
- Copyright (C) 1988, 1993, 1994, 1996, 2002, 2004, 2007, 2008
+ Copyright (C) 1988, 1993, 1994, 1996, 2002, 2004, 2007, 2008, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/gnu-user.h b/gcc/config/i386/gnu-user.h
index 9020be9a3a9..f011a8166c0 100644
--- a/gcc/config/i386/gnu-user.h
+++ b/gcc/config/i386/gnu-user.h
@@ -1,6 +1,6 @@
/* Definitions for Intel 386 systems using GNU userspace.
Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Eric Youngdale.
Modified for stabs-in-ELF by H.J. Lu.
diff --git a/gcc/config/i386/gnu-user64.h b/gcc/config/i386/gnu-user64.h
index 29413326cf8..f9e4b8f55e0 100644
--- a/gcc/config/i386/gnu-user64.h
+++ b/gcc/config/i386/gnu-user64.h
@@ -1,6 +1,6 @@
/* Definitions for AMD x86-64 using GNU userspace.
- Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
- Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
Contributed by Jan Hubicka <jh@suse.cz>, based on linux.h.
This file is part of GCC.
diff --git a/gcc/config/i386/host-mingw32.c b/gcc/config/i386/host-mingw32.c
index 015696cbb18..5e2644925d8 100644
--- a/gcc/config/i386/host-mingw32.c
+++ b/gcc/config/i386/host-mingw32.c
@@ -1,5 +1,5 @@
/* mingw32 host-specific hook definitions.
- Copyright (C) 2004, 2007, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2007, 2009, 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/i386-c.c b/gcc/config/i386/i386-c.c
index 22e5e9b45e3..05a3476be33 100644
--- a/gcc/config/i386/i386-c.c
+++ b/gcc/config/i386/i386-c.c
@@ -1,5 +1,5 @@
/* Subroutines used for macro/preprocessor support on the ia-32.
- Copyright (C) 2008, 2009, 2010, 2011, 2012
+ Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013
Free Software Foundation, Inc.
This file is part of GCC.
@@ -243,6 +243,30 @@ ix86_target_macros_internal (HOST_WIDE_INT isa_flag,
break;
}
+ switch (ix86_cmodel)
+ {
+ case CM_SMALL:
+ case CM_SMALL_PIC:
+ def_or_undef (parse_in, "__code_model_small__");
+ break;
+ case CM_MEDIUM:
+ case CM_MEDIUM_PIC:
+ def_or_undef (parse_in, "__code_model_medium__");
+ break;
+ case CM_LARGE:
+ case CM_LARGE_PIC:
+ def_or_undef (parse_in, "__code_model_large__");
+ break;
+ case CM_32:
+ def_or_undef (parse_in, "__code_model_32__");
+ break;
+ case CM_KERNEL:
+ def_or_undef (parse_in, "__code_model_kernel__");
+ break;
+ default:
+ ;
+ }
+
if (isa_flag & OPTION_MASK_ISA_MMX)
def_or_undef (parse_in, "__MMX__");
if (isa_flag & OPTION_MASK_ISA_3DNOW)
diff --git a/gcc/config/i386/i386-opts.h b/gcc/config/i386/i386-opts.h
index eea85fd8a26..d9dfbefadf7 100644
--- a/gcc/config/i386/i386-opts.h
+++ b/gcc/config/i386/i386-opts.h
@@ -1,6 +1,6 @@
/* Definitions for option handling for IA-32.
Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index f7f5873829f..36d85765457 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -1,6 +1,6 @@
/* Subroutines used for code generation on IA-32.
- Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
Free Software Foundation, Inc.
This file is part of GCC.
@@ -13255,8 +13255,7 @@ ix86_legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED,
rtx val = force_operand (XEXP (x, 1), temp);
if (val != temp)
{
- if (GET_MODE (val) != Pmode)
- val = convert_to_mode (Pmode, val, 1);
+ val = convert_to_mode (Pmode, val, 1);
emit_move_insn (temp, val);
}
@@ -13270,8 +13269,7 @@ ix86_legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED,
rtx val = force_operand (XEXP (x, 0), temp);
if (val != temp)
{
- if (GET_MODE (val) != Pmode)
- val = convert_to_mode (Pmode, val, 1);
+ val = convert_to_mode (Pmode, val, 1);
emit_move_insn (temp, val);
}
@@ -15939,8 +15937,7 @@ ix86_expand_move (enum machine_mode mode, rtx operands[])
op1 = force_operand (op1, op0);
if (op1 == op0)
return;
- if (GET_MODE (op1) != mode)
- op1 = convert_to_mode (mode, op1, 1);
+ op1 = convert_to_mode (mode, op1, 1);
}
else if (TARGET_DLLIMPORT_DECL_ATTRIBUTES
&& SYMBOL_REF_DLLIMPORT_P (op1))
@@ -15968,8 +15965,7 @@ ix86_expand_move (enum machine_mode mode, rtx operands[])
op0, 1, OPTAB_DIRECT);
if (tmp == op0)
return;
- if (GET_MODE (tmp) != mode)
- op1 = convert_to_mode (mode, tmp, 1);
+ op1 = convert_to_mode (mode, tmp, 1);
}
}
@@ -16022,8 +16018,7 @@ ix86_expand_move (enum machine_mode mode, rtx operands[])
op1 = legitimize_pic_address (op1, reg);
if (op0 == op1)
return;
- if (GET_MODE (op1) != mode)
- op1 = convert_to_mode (mode, op1, 1);
+ op1 = convert_to_mode (mode, op1, 1);
}
}
}
@@ -21659,9 +21654,7 @@ ix86_adjust_counter (rtx countreg, HOST_WIDE_INT value)
rtx
ix86_zero_extend_to_Pmode (rtx exp)
{
- if (GET_MODE (exp) != Pmode)
- exp = convert_to_mode (Pmode, exp, 1);
- return force_reg (Pmode, exp);
+ return force_reg (Pmode, convert_to_mode (Pmode, exp, 1));
}
/* Divide COUNTREG by SCALE. */
@@ -23633,9 +23626,7 @@ ix86_expand_call (rtx retval, rtx fnaddr, rtx callarg1,
? !sibcall_insn_operand (XEXP (fnaddr, 0), word_mode)
: !call_insn_operand (XEXP (fnaddr, 0), word_mode))
{
- fnaddr = XEXP (fnaddr, 0);
- if (GET_MODE (fnaddr) != word_mode)
- fnaddr = convert_to_mode (word_mode, fnaddr, 1);
+ fnaddr = convert_to_mode (word_mode, XEXP (fnaddr, 0), 1);
fnaddr = gen_rtx_MEM (QImode, copy_to_mode_reg (word_mode, fnaddr));
}
@@ -31285,9 +31276,8 @@ ix86_expand_special_args_builtin (const struct builtin_description *d,
gcc_assert (target == 0);
if (memory)
{
- if (GET_MODE (op) != Pmode)
- op = convert_to_mode (Pmode, op, 1);
- target = gen_rtx_MEM (tmode, force_reg (Pmode, op));
+ op = force_reg (Pmode, convert_to_mode (Pmode, op, 1));
+ target = gen_rtx_MEM (tmode, op);
}
else
target = force_reg (tmode, op);
@@ -31331,9 +31321,8 @@ ix86_expand_special_args_builtin (const struct builtin_description *d,
if (i == memory)
{
/* This must be the memory operand. */
- if (GET_MODE (op) != Pmode)
- op = convert_to_mode (Pmode, op, 1);
- op = gen_rtx_MEM (mode, force_reg (Pmode, op));
+ op = force_reg (Pmode, convert_to_mode (Pmode, op, 1));
+ op = gen_rtx_MEM (mode, op);
gcc_assert (GET_MODE (op) == mode
|| GET_MODE (op) == VOIDmode);
}
@@ -31581,9 +31570,8 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
mode1 = insn_data[icode].operand[1].mode;
mode2 = insn_data[icode].operand[2].mode;
- if (GET_MODE (op0) != Pmode)
- op0 = convert_to_mode (Pmode, op0, 1);
- op0 = gen_rtx_MEM (mode1, force_reg (Pmode, op0));
+ op0 = force_reg (Pmode, convert_to_mode (Pmode, op0, 1));
+ op0 = gen_rtx_MEM (mode1, op0);
if (!insn_data[icode].operand[0].predicate (op0, mode0))
op0 = copy_to_mode_reg (mode0, op0);
@@ -31614,11 +31602,7 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
op0 = expand_normal (arg0);
icode = CODE_FOR_sse2_clflush;
if (!insn_data[icode].operand[0].predicate (op0, Pmode))
- {
- if (GET_MODE (op0) != Pmode)
- op0 = convert_to_mode (Pmode, op0, 1);
- op0 = force_reg (Pmode, op0);
- }
+ op0 = force_reg (Pmode, convert_to_mode (Pmode, op0, 1));
emit_insn (gen_sse2_clflush (op0));
return 0;
@@ -31631,11 +31615,7 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
op1 = expand_normal (arg1);
op2 = expand_normal (arg2);
if (!REG_P (op0))
- {
- if (GET_MODE (op0) != Pmode)
- op0 = convert_to_mode (Pmode, op0, 1);
- op0 = force_reg (Pmode, op0);
- }
+ op0 = force_reg (Pmode, convert_to_mode (Pmode, op0, 1));
if (!REG_P (op1))
op1 = copy_to_mode_reg (SImode, op1);
if (!REG_P (op2))
@@ -31872,11 +31852,7 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget ATTRIBUTE_UNUSED,
op0 = expand_normal (arg0);
icode = CODE_FOR_lwp_llwpcb;
if (!insn_data[icode].operand[0].predicate (op0, Pmode))
- {
- if (GET_MODE (op0) != Pmode)
- op0 = convert_to_mode (Pmode, op0, 1);
- op0 = force_reg (Pmode, op0);
- }
+ op0 = force_reg (Pmode, convert_to_mode (Pmode, op0, 1));
emit_insn (gen_lwp_llwpcb (op0));
return 0;
@@ -32022,9 +31998,7 @@ addcarryx:
/* Generate CF from input operand. */
op1 = expand_normal (arg0);
- if (GET_MODE (op1) != QImode)
- op1 = convert_to_mode (QImode, op1, 1);
- op1 = copy_to_mode_reg (QImode, op1);
+ op1 = copy_to_mode_reg (QImode, convert_to_mode (QImode, op1, 1));
emit_insn (gen_addqi3_cc (op0, op1, constm1_rtx));
/* Gen ADCX instruction to compute X+Y+CF. */
@@ -32174,9 +32148,7 @@ addcarryx:
/* Force memory operand only with base register here. But we
don't want to do it on memory operand for other builtin
functions. */
- if (GET_MODE (op1) != Pmode)
- op1 = convert_to_mode (Pmode, op1, 1);
- op1 = force_reg (Pmode, op1);
+ op1 = force_reg (Pmode, convert_to_mode (Pmode, op1, 1));
if (!insn_data[icode].operand[1].predicate (op0, mode0))
op0 = copy_to_mode_reg (mode0, op0);
diff --git a/gcc/config/i386/i386.opt b/gcc/config/i386/i386.opt
index 66e04bf77cd..6393f975d48 100644
--- a/gcc/config/i386/i386.opt
+++ b/gcc/config/i386/i386.opt
@@ -1,7 +1,7 @@
; Options for the IA-32 and AMD64 ports of the compiler.
; Copyright (C) 2005, 2006, 2007, 2008, 2009,
-; 2010, 2011 Free Software Foundation, Inc.
+; 2010, 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/i386/i386elf.h b/gcc/config/i386/i386elf.h
index 78920a9f479..df70cea3c2a 100644
--- a/gcc/config/i386/i386elf.h
+++ b/gcc/config/i386/i386elf.h
@@ -1,6 +1,6 @@
/* Target definitions for GCC for Intel 80386 using ELF
- Copyright (C) 1988, 1991, 1995, 2000, 2001, 2002, 2007, 2008, 2010, 2011
- Free Software Foundation, Inc.
+ Copyright (C) 1988, 1991, 1995, 2000, 2001, 2002, 2007, 2008, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
Derived from sysv4.h written by Ron Guilmette (rfg@netcom.com).
diff --git a/gcc/config/i386/ia32intrin.h b/gcc/config/i386/ia32intrin.h
index 42ebd17cdbb..c94d31475be 100644
--- a/gcc/config/i386/ia32intrin.h
+++ b/gcc/config/i386/ia32intrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/immintrin.h b/gcc/config/i386/immintrin.h
index a477f05df33..8edb36d4b58 100644
--- a/gcc/config/i386/immintrin.h
+++ b/gcc/config/i386/immintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/lzcntintrin.h b/gcc/config/i386/lzcntintrin.h
index 31a7163838e..ccdc6172abf 100644
--- a/gcc/config/i386/lzcntintrin.h
+++ b/gcc/config/i386/lzcntintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2009, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/mingw-w64.opt b/gcc/config/i386/mingw-w64.opt
index 4eebce64f6b..2a57518539d 100644
--- a/gcc/config/i386/mingw-w64.opt
+++ b/gcc/config/i386/mingw-w64.opt
@@ -1,6 +1,6 @@
; MinGW-w64-specific options.
-; Copyright (C) 2009 Free Software Foundation, Inc.
+; Copyright (C) 2009, 2011 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/i386/mingw.opt b/gcc/config/i386/mingw.opt
index f7ae1892ee7..2bbf2e88b1e 100644
--- a/gcc/config/i386/mingw.opt
+++ b/gcc/config/i386/mingw.opt
@@ -1,6 +1,6 @@
; MinGW-specific options.
-; Copyright (C) 2008 Free Software Foundation, Inc.
+; Copyright (C) 2008, 2011 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/i386/mingw32.h b/gcc/config/i386/mingw32.h
index 2e32e5331df..12bf4027cfc 100644
--- a/gcc/config/i386/mingw32.h
+++ b/gcc/config/i386/mingw32.h
@@ -1,7 +1,7 @@
/* Operating system specific defines to be used when targeting GCC for
hosting on Windows32, using GNU tools and the Windows32 API Library.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007, 2008,
- 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/mm3dnow.h b/gcc/config/i386/mm3dnow.h
index c2cc01c7f18..0e751a3dcf5 100644
--- a/gcc/config/i386/mm3dnow.h
+++ b/gcc/config/i386/mm3dnow.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2007, 2008, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2007, 2008, 2009, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md
index f06deb1fedf..45ae87436ba 100644
--- a/gcc/config/i386/mmx.md
+++ b/gcc/config/i386/mmx.md
@@ -1,5 +1,5 @@
;; GCC machine description for MMX and 3dNOW! instructions
-;; Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011
+;; Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/i386/openbsdelf.h b/gcc/config/i386/openbsdelf.h
index 6ea473dd4ee..a321e77a9b6 100644
--- a/gcc/config/i386/openbsdelf.h
+++ b/gcc/config/i386/openbsdelf.h
@@ -1,6 +1,6 @@
/* Configuration for an OpenBSD i386 target.
- Copyright (C) 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2009, 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/pentium.md b/gcc/config/i386/pentium.md
index 91a5dd03d6a..526a084167e 100644
--- a/gcc/config/i386/pentium.md
+++ b/gcc/config/i386/pentium.md
@@ -1,5 +1,5 @@
;; Pentium Scheduling
-;; Copyright (C) 2002, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2007, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/ppro.md b/gcc/config/i386/ppro.md
index a219ce963ea..25b33367906 100644
--- a/gcc/config/i386/ppro.md
+++ b/gcc/config/i386/ppro.md
@@ -1,5 +1,6 @@
;; Scheduling for the Intel P6 family of processors
-;; Copyright (C) 2004, 2005, 2007, 2008, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2005, 2007, 2008, 2010, 2012
+;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/i386/smmintrin.h b/gcc/config/i386/smmintrin.h
index 0095ff08c30..a98b1f36fd8 100644
--- a/gcc/config/i386/smmintrin.h
+++ b/gcc/config/i386/smmintrin.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
+/* Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/sync.md b/gcc/config/i386/sync.md
index d8555717f3d..8d22a5e5205 100644
--- a/gcc/config/i386/sync.md
+++ b/gcc/config/i386/sync.md
@@ -1,5 +1,5 @@
;; GCC machine description for i386 synchronization instructions.
-;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
+;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/i386/t-i386 b/gcc/config/i386/t-i386
index ea0115c2aa6..1ae88feb653 100644
--- a/gcc/config/i386/t-i386
+++ b/gcc/config/i386/t-i386
@@ -1,4 +1,4 @@
-# Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
index d5bedf7bb7c..215a56d3c87 100644
--- a/gcc/config/i386/t-linux64
+++ b/gcc/config/i386/t-linux64
@@ -1,4 +1,4 @@
-# Copyright (C) 2002, 2005, 2007, 2008, 2011
+# Copyright (C) 2002, 2005, 2007, 2008, 2011, 2012
# Free Software Foundation, Inc.
#
# This file is part of GCC.
diff --git a/gcc/config/i386/tbmintrin.h b/gcc/config/i386/tbmintrin.h
index 2f87a6471c4..4a54787b153 100644
--- a/gcc/config/i386/tbmintrin.h
+++ b/gcc/config/i386/tbmintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/winnt-cxx.c b/gcc/config/i386/winnt-cxx.c
index 0c47e3a8b58..a5a17c3cb87 100644
--- a/gcc/config/i386/winnt-cxx.c
+++ b/gcc/config/i386/winnt-cxx.c
@@ -1,6 +1,6 @@
/* Target support for C++ classes on Windows.
Contributed by Danny Smith (dannysmith@users.sourceforge.net)
- Copyright (C) 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2009, 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c
index 17ee1375107..99e78694638 100644
--- a/gcc/config/i386/winnt.c
+++ b/gcc/config/i386/winnt.c
@@ -1,7 +1,8 @@
/* Subroutines for insn-output.c for Windows NT.
Contributed by Douglas Rupp (drupp@cs.washington.edu)
Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/x86intrin.h b/gcc/config/i386/x86intrin.h
index 8b6df7a0fd7..d679db5aefd 100644
--- a/gcc/config/i386/x86intrin.h
+++ b/gcc/config/i386/x86intrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/i386/xmmintrin.h b/gcc/config/i386/xmmintrin.h
index b3a8c3e1cda..4036a7c5da0 100644
--- a/gcc/config/i386/xmmintrin.h
+++ b/gcc/config/i386/xmmintrin.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+/* Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h
index d9ae109aeba..0d95deaf212 100644
--- a/gcc/config/ia64/hpux.h
+++ b/gcc/config/ia64/hpux.h
@@ -1,6 +1,6 @@
/* Definitions of target machine GNU compiler. IA-64 version.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010,
- 2011 Free Software Foundation, Inc.
+ 2011, 2012 Free Software Foundation, Inc.
Contributed by Steve Ellcey <sje@cup.hp.com> and
Reva Cuthbertson <reva@cup.hp.com>
diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h
index 39d34d41594..e0bd07a3fa5 100644
--- a/gcc/config/ia64/ia64-protos.h
+++ b/gcc/config/ia64/ia64-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler for IA-64.
- Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2007, 2010, 2011
+ Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2007, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index 9be9b42146d..b85351ca1d2 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010, 2011
+ 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by James E. Wilson <wilson@cygnus.com> and
David Mosberger <davidm@hpl.hp.com>.
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 2f0a9295877..b625eb6b4de 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -1,6 +1,6 @@
/* Definitions of target machine GNU compiler. IA-64 version.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by James E. Wilson <wilson@cygnus.com> and
David Mosberger <davidm@hpl.hp.com>.
diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md
index f84f1ad6332..4b9ea22a32f 100644
--- a/gcc/config/ia64/ia64.md
+++ b/gcc/config/ia64/ia64.md
@@ -1,6 +1,6 @@
;; IA-64 Machine description template
;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-;; 2009, 2010 Free Software Foundation, Inc.
+;; 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
;; Contributed by James E. Wilson <wilson@cygnus.com> and
;; David Mosberger <davidm@hpl.hp.com>.
diff --git a/gcc/config/ia64/itanium2.md b/gcc/config/ia64/itanium2.md
index 33074f99f6d..8afd437b559 100644
--- a/gcc/config/ia64/itanium2.md
+++ b/gcc/config/ia64/itanium2.md
@@ -1,5 +1,6 @@
;; Itanium2 DFA descriptions for insn scheduling and bundling.
-;; Copyright (C) 2002, 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2005, 2007, 2008, 2011
+;; Free Software Foundation, Inc.
;; Contributed by Vladimir Makarov <vmakarov@redhat.com>.
;;
;; This file is part of GCC.
diff --git a/gcc/config/ia64/linux.h b/gcc/config/ia64/linux.h
index 0e3b9be459c..815ec05c18c 100644
--- a/gcc/config/ia64/linux.h
+++ b/gcc/config/ia64/linux.h
@@ -1,7 +1,7 @@
/* Definitions for ia64-linux target.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2006,
-2009, 2010, 2011 Free Software Foundation, Inc.
+2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/ia64/predicates.md b/gcc/config/ia64/predicates.md
index 6622b2001f4..6457961ccb5 100644
--- a/gcc/config/ia64/predicates.md
+++ b/gcc/config/ia64/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for IA-64.
-;; Copyright (C) 2004, 2005, 2007, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2005, 2007, 2010, 2011 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/ia64/sync.md b/gcc/config/ia64/sync.md
index 088ca0b7c26..3030efec9be 100644
--- a/gcc/config/ia64/sync.md
+++ b/gcc/config/ia64/sync.md
@@ -1,5 +1,5 @@
;; GCC machine description for IA-64 synchronization instructions.
-;; Copyright (C) 2005, 2007, 2008, 2009, 2010
+;; Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/ia64/t-ia64 b/gcc/config/ia64/t-ia64
index 4b9846b0b7e..30de20a7d70 100644
--- a/gcc/config/ia64/t-ia64
+++ b/gcc/config/ia64/t-ia64
@@ -1,5 +1,5 @@
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-# 2010, 2011
+# 2010, 2011, 2012
# Free Software Foundation, Inc.
#
# This file is part of GCC.
diff --git a/gcc/config/ia64/vect.md b/gcc/config/ia64/vect.md
index 4d85aa01815..fd531219848 100644
--- a/gcc/config/ia64/vect.md
+++ b/gcc/config/ia64/vect.md
@@ -1,5 +1,6 @@
;; IA-64 machine description for vector operations.
-;; Copyright (C) 2004, 2005, 2007, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2005, 2007, 2010, 2011, 2012
+;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/ia64/vms.h b/gcc/config/ia64/vms.h
index 3e81d769897..4d74012cec1 100644
--- a/gcc/config/ia64/vms.h
+++ b/gcc/config/ia64/vms.h
@@ -1,5 +1,5 @@
/* Definitions of target machine GNU compiler. IA64-VMS version.
- Copyright (C) 2003-2011 Free Software Foundation, Inc.
+ Copyright (C) 2003-2012 Free Software Foundation, Inc.
Contributed by Douglas B Rupp (rupp@gnat.com).
This file is part of GCC.
diff --git a/gcc/config/iq2000/iq2000.c b/gcc/config/iq2000/iq2000.c
index 6285edd31d3..b34bdceaf6f 100644
--- a/gcc/config/iq2000/iq2000.c
+++ b/gcc/config/iq2000/iq2000.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on Vitesse IQ2000 processors
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/iq2000/iq2000.h b/gcc/config/iq2000/iq2000.h
index 5d91c037d7e..0a1f88be225 100644
--- a/gcc/config/iq2000/iq2000.h
+++ b/gcc/config/iq2000/iq2000.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler.
Vitesse IQ2000 processors
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/iq2000/iq2000.md b/gcc/config/iq2000/iq2000.md
index 59a97d42b0a..7e938e3582d 100644
--- a/gcc/config/iq2000/iq2000.md
+++ b/gcc/config/iq2000/iq2000.md
@@ -1,5 +1,6 @@
;; iq2000.md Machine Description for Vitesse IQ2000 processors
-;; Copyright (C) 2003, 2004, 2005, 2007, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2005, 2007, 2010, 2011, 2012
+;; Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/linux.h b/gcc/config/linux.h
index fb459e68028..dabab608214 100644
--- a/gcc/config/linux.h
+++ b/gcc/config/linux.h
@@ -3,7 +3,7 @@
linked executables and shared libraries in some no-MMU cases, and
possibly with a choice of libc implementations.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2003, 2004, 2005, 2006,
- 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Eric Youngdale.
Modified for stabs-in-ELF by H.J. Lu (hjl@lucon.org).
diff --git a/gcc/config/lm32/lm32-protos.h b/gcc/config/lm32/lm32-protos.h
index aad36743279..a1a72c03462 100644
--- a/gcc/config/lm32/lm32-protos.h
+++ b/gcc/config/lm32/lm32-protos.h
@@ -1,7 +1,7 @@
/* Prototypes of target machine functions, Lattice Mico32 architecture.
Contributed by Jon Beniston <jon@beniston.com>
- Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/lm32/lm32.c b/gcc/config/lm32/lm32.c
index d9c9e19b0da..a9fef232efb 100644
--- a/gcc/config/lm32/lm32.c
+++ b/gcc/config/lm32/lm32.c
@@ -1,7 +1,7 @@
/* Subroutines used for code generation on the Lattice Mico32 architecture.
Contributed by Jon Beniston <jon@beniston.com>
- Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/lm32/lm32.md b/gcc/config/lm32/lm32.md
index 7539cb065c4..789dabd6bd9 100644
--- a/gcc/config/lm32/lm32.md
+++ b/gcc/config/lm32/lm32.md
@@ -1,7 +1,7 @@
;; Machine description of the Lattice Mico32 architecture for GNU C compiler.
;; Contributed by Jon Beniston <jon@beniston.com>
-;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/m32c/bitops.md b/gcc/config/m32c/bitops.md
index 060362de71e..51f16677996 100644
--- a/gcc/config/m32c/bitops.md
+++ b/gcc/config/m32c/bitops.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2005, 2007, 2008, 2010
+;; Copyright (C) 2005, 2007, 2008, 2010, 2012
;; Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
diff --git a/gcc/config/m32c/blkmov.md b/gcc/config/m32c/blkmov.md
index a5345ceef08..8efbd860467 100644
--- a/gcc/config/m32c/blkmov.md
+++ b/gcc/config/m32c/blkmov.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2006, 2007, 2010
+;; Copyright (C) 2006, 2007, 2010, 2011
;; Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
diff --git a/gcc/config/m32c/cond.md b/gcc/config/m32c/cond.md
index 5886a7da963..8a570b13b0b 100644
--- a/gcc/config/m32c/cond.md
+++ b/gcc/config/m32c/cond.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2005, 2007, 2008
+;; Copyright (C) 2005, 2007, 2008, 2012
;; Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
diff --git a/gcc/config/m32c/m32c-pragma.c b/gcc/config/m32c/m32c-pragma.c
index 517c60109db..9902b1b1845 100644
--- a/gcc/config/m32c/m32c-pragma.c
+++ b/gcc/config/m32c/m32c-pragma.c
@@ -1,5 +1,5 @@
/* M32C Pragma support
- Copyright (C) 2004, 2007, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2007, 2010, 2012 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/m32c/m32c-protos.h b/gcc/config/m32c/m32c-protos.h
index 1f70da1df22..a1b80d0a89c 100644
--- a/gcc/config/m32c/m32c-protos.h
+++ b/gcc/config/m32c/m32c-protos.h
@@ -1,5 +1,5 @@
/* Target Prototypes for R8C/M16C/M32C
- Copyright (C) 2005, 2007, 2008, 2010, 2011
+ Copyright (C) 2005, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Red Hat.
diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c
index 100c16fe391..4db199dabf9 100644
--- a/gcc/config/m32c/m32c.c
+++ b/gcc/config/m32c/m32c.c
@@ -1,5 +1,5 @@
/* Target Code for R8C/M16C/M32C
- Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Red Hat.
diff --git a/gcc/config/m32c/m32c.h b/gcc/config/m32c/m32c.h
index 1efbd36bbdd..d502b948882 100644
--- a/gcc/config/m32c/m32c.h
+++ b/gcc/config/m32c/m32c.h
@@ -1,5 +1,5 @@
/* Target Definitions for R8C/M16C/M32C
- Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Red Hat.
diff --git a/gcc/config/m32c/predicates.md b/gcc/config/m32c/predicates.md
index 9045cb5f1c8..98586d157b3 100644
--- a/gcc/config/m32c/predicates.md
+++ b/gcc/config/m32c/predicates.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2005, 2007, 2008, 2010
+;; Copyright (C) 2005, 2007, 2008, 2010, 2012
;; Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
diff --git a/gcc/config/m32c/prologue.md b/gcc/config/m32c/prologue.md
index f4e62db1d75..8f0cb22ca18 100644
--- a/gcc/config/m32c/prologue.md
+++ b/gcc/config/m32c/prologue.md
@@ -1,5 +1,5 @@
;; Machine Descriptions for R8C/M16C/M32C
-;; Copyright (C) 2005, 2007, 2008
+;; Copyright (C) 2005, 2007, 2008, 2011
;; Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
diff --git a/gcc/config/m32c/t-m32c b/gcc/config/m32c/t-m32c
index d5f1bf41b8e..8dbda1b21fe 100644
--- a/gcc/config/m32c/t-m32c
+++ b/gcc/config/m32c/t-m32c
@@ -1,5 +1,5 @@
# Target Makefile Fragment for R8C/M16C/M32C
-# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2011
+# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2011, 2012
# Free Software Foundation, Inc.
# Contributed by Red Hat.
#
diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c
index 18b6d8a8a3e..479f04a8694 100644
--- a/gcc/config/m32r/m32r.c
+++ b/gcc/config/m32r/m32r.c
@@ -1,6 +1,6 @@
/* Subroutines used for code generation on the Renesas M32R cpu.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2005, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h
index e871328af7b..ac616046f8e 100644
--- a/gcc/config/m32r/m32r.h
+++ b/gcc/config/m32r/m32r.h
@@ -1,6 +1,7 @@
/* Definitions of target machine for GNU compiler, Renesas M32R cpu.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m32r/m32r.md b/gcc/config/m32r/m32r.md
index cce8f1ccb74..227563b194a 100644
--- a/gcc/config/m32r/m32r.md
+++ b/gcc/config/m32r/m32r.md
@@ -1,6 +1,6 @@
;; Machine description of the Renesas M32R cpu for GNU C compiler
;; Copyright (C) 1996, 1997, 1998, 1999, 2001, 2003, 2004, 2005,
-; 2007, 2008, 2009 Free Software Foundation, Inc.
+; 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/m68k/cf.md b/gcc/config/m68k/cf.md
index 96519dc9e4d..f247cda6630 100644
--- a/gcc/config/m68k/cf.md
+++ b/gcc/config/m68k/cf.md
@@ -1,5 +1,5 @@
;; ColdFire V1, V2, V3 and V4/V4e DFA description.
-;; Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2008, 2009, 2012 Free Software Foundation, Inc.
;; Contributed by CodeSourcery Inc., www.codesourcery.com
;;
;; This file is part of GCC.
diff --git a/gcc/config/m68k/constraints.md b/gcc/config/m68k/constraints.md
index 0fb30078d66..174511f0b4e 100644
--- a/gcc/config/m68k/constraints.md
+++ b/gcc/config/m68k/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for m68k
-;; Copyright (C) 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2011 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/m68k/genopt.sh b/gcc/config/m68k/genopt.sh
index df006b4a23c..c32ccdb20f8 100755
--- a/gcc/config/m68k/genopt.sh
+++ b/gcc/config/m68k/genopt.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Generate m68k-tables.opt from the lists in *.def.
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -23,7 +23,7 @@ cat <<EOF
; Generated automatically by genopt.sh from m68k-devices.def,
; m68k-isas.def and m68k-microarchs.def.
-; Copyright (C) 2011 Free Software Foundation, Inc.
+; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/m68k/linux.h b/gcc/config/m68k/linux.h
index 8f5b5057bf9..15ece59d0c5 100644
--- a/gcc/config/m68k/linux.h
+++ b/gcc/config/m68k/linux.h
@@ -1,7 +1,7 @@
/* Definitions for Motorola 68k running Linux-based GNU systems with
ELF format.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2006,
- 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m68k/m68k-devices.def b/gcc/config/m68k/m68k-devices.def
index 41e11c88bd2..12c8ab7767f 100644
--- a/gcc/config/m68k/m68k-devices.def
+++ b/gcc/config/m68k/m68k-devices.def
@@ -1,5 +1,5 @@
/* m68k device names -*- C -*-
- Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2006, 2007, 2008, 2012 Free Software Foundation, Inc.
Written by CodeSourcery
This file is part of GCC.
diff --git a/gcc/config/m68k/m68k-protos.h b/gcc/config/m68k/m68k-protos.h
index a6b5dee1817..19a2d208b7e 100644
--- a/gcc/config/m68k/m68k-protos.h
+++ b/gcc/config/m68k/m68k-protos.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler. Sun 68000/68020 version.
- Copyright (C) 2000, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012
- Free Software Foundation, Inc.
+ Copyright (C) 2000, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/m68k/m68k-tables.opt b/gcc/config/m68k/m68k-tables.opt
index 6cac87535ac..ed48e79b68f 100644
--- a/gcc/config/m68k/m68k-tables.opt
+++ b/gcc/config/m68k/m68k-tables.opt
@@ -2,7 +2,7 @@
; Generated automatically by genopt.sh from m68k-devices.def,
; m68k-isas.def and m68k-microarchs.def.
-; Copyright (C) 2011 Free Software Foundation, Inc.
+; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index 5f67831a8f5..fb3ec50fdc5 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -1,6 +1,6 @@
;;- Machine description for GNU compiler, Motorola 68000 Version
;; Copyright (C) 1987, 1988, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001,
-;; 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012
+;; 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012
;; Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/m68k/m68k.opt b/gcc/config/m68k/m68k.opt
index 00bc2d541ef..b857bc1fda8 100644
--- a/gcc/config/m68k/m68k.opt
+++ b/gcc/config/m68k/m68k.opt
@@ -1,6 +1,6 @@
; Options for the Motorola 68000 port of the compiler.
-; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2011
+; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2011, 2012
; Free Software Foundation, Inc.
;
; This file is part of GCC.
diff --git a/gcc/config/m68k/t-linux b/gcc/config/m68k/t-linux
index 4e3d5598869..aa64dfc7c1d 100644
--- a/gcc/config/m68k/t-linux
+++ b/gcc/config/m68k/t-linux
@@ -1,4 +1,4 @@
-# Copyright (C) 2008, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h
index a64e4460fa1..acc31c9a9b4 100644
--- a/gcc/config/mcore/mcore.h
+++ b/gcc/config/mcore/mcore.h
@@ -1,7 +1,7 @@
/* Definitions of target machine for GNU compiler,
for Motorola M*CORE Processor.
Copyright (C) 1993, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007,
- 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mcore/mcore.md b/gcc/config/mcore/mcore.md
index c41b4892569..5b4c418249a 100644
--- a/gcc/config/mcore/mcore.md
+++ b/gcc/config/mcore/mcore.md
@@ -1,5 +1,5 @@
;; Machine description the Motorola MCore
-;; Copyright (C) 1993, 1999, 2000, 2004, 2005, 2007, 2009, 2010
+;; Copyright (C) 1993, 1999, 2000, 2004, 2005, 2007, 2009, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;; Contributed by Motorola.
diff --git a/gcc/config/mep/mep-pragma.c b/gcc/config/mep/mep-pragma.c
index 9f516209df6..2432dab463b 100644
--- a/gcc/config/mep/mep-pragma.c
+++ b/gcc/config/mep/mep-pragma.c
@@ -1,6 +1,7 @@
/* Definitions of Toshiba Media Processor
- Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007, 2009, 2010 Free
- Software Foundation, Inc. Contributed by Red Hat, Inc.
+ Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007, 2009, 2010, 2012
+ Free Software Foundation, Inc.
+ Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/mep/mep-protos.h b/gcc/config/mep/mep-protos.h
index f0f34968741..24cdce073b0 100644
--- a/gcc/config/mep/mep-protos.h
+++ b/gcc/config/mep/mep-protos.h
@@ -1,6 +1,6 @@
/* Prototypes for exported functions defined in mep.c
- Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 Free
- Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
Contributed by Red Hat Inc (dj@redhat.com)
This file is part of GCC.
diff --git a/gcc/config/mep/mep.c b/gcc/config/mep/mep.c
index a44e521594e..034aed9ea2b 100644
--- a/gcc/config/mep/mep.c
+++ b/gcc/config/mep/mep.c
@@ -1,6 +1,6 @@
/* Definitions for Toshiba Media Processor
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
- 2011
+ 2011, 2012
Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
diff --git a/gcc/config/mep/mep.h b/gcc/config/mep/mep.h
index 9a382e68185..1fdf6b83792 100644
--- a/gcc/config/mep/mep.h
+++ b/gcc/config/mep/mep.h
@@ -1,5 +1,5 @@
/* Definitions for Toshiba Media Processor
- Copyright (C) 2001, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2001, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
diff --git a/gcc/config/mep/mep.md b/gcc/config/mep/mep.md
index 35b6e1490bc..3ff5c10495e 100644
--- a/gcc/config/mep/mep.md
+++ b/gcc/config/mep/mep.md
@@ -1,6 +1,6 @@
;; Toshiba Media Processor Machine description template
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 Free
-;; Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2012
+;; Free Software Foundation, Inc.
;; Contributed by Red Hat Inc
;;
;; This file is part of GCC.
diff --git a/gcc/config/mep/mep.opt b/gcc/config/mep/mep.opt
index 0ea19e6efaa..a0c6a9d0e0c 100644
--- a/gcc/config/mep/mep.opt
+++ b/gcc/config/mep/mep.opt
@@ -1,5 +1,6 @@
; Target specific command line options for the MEP port of the compiler.
-; Copyright (C) 2005, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2009, 2010, 2011, 2012
+; Free Software Foundation, Inc.
; Contributed by Red Hat Inc.
;
; GCC is free software; you can redistribute it and/or modify it under
diff --git a/gcc/config/mep/t-mep b/gcc/config/mep/t-mep
index cbc19fc671e..b70191481ca 100644
--- a/gcc/config/mep/t-mep
+++ b/gcc/config/mep/t-mep
@@ -1,6 +1,6 @@
# -*- makefile -*-
# GCC makefile fragment for MeP
-# Copyright (C) 2001, 2002, 2003, 2005, 2007, 2009, 2010, 2011
+# Copyright (C) 2001, 2002, 2003, 2005, 2007, 2009, 2010, 2011, 2012
# Free Software Foundation, Inc.
# Contributed by Red Hat Inc
#
diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
index 8673e49fb0c..eea55831baf 100644
--- a/gcc/config/microblaze/microblaze-protos.h
+++ b/gcc/config/microblaze/microblaze-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for Xilinx MicroBlaze.
- Copyright 2009, 2010 Free Software Foundation, Inc.
+ Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
index d774e54ca33..b21d039f597 100644
--- a/gcc/config/microblaze/microblaze.c
+++ b/gcc/config/microblaze/microblaze.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on Xilinx MicroBlaze.
- Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Michael Eager <eager@eagercon.com>.
diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
index 53111e54aac..dc77d486b27 100644
--- a/gcc/config/microblaze/microblaze.h
+++ b/gcc/config/microblaze/microblaze.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler for Xilinx MicroBlaze.
- Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Michael Eager <eager@eagercon.com>.
diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
index 8480b43f2c0..63fd0fd999b 100644
--- a/gcc/config/microblaze/microblaze.md
+++ b/gcc/config/microblaze/microblaze.md
@@ -1,5 +1,5 @@
;; microblaze.md -- Machine description for Xilinx MicroBlaze processors.
-;; Copyright 2009, 2010, 2012 Free Software Foundation, Inc.
+;; Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
;; Contributed by Michael Eager <eager@eagercon.com>.
diff --git a/gcc/config/mips/10000.md b/gcc/config/mips/10000.md
index ae376b05a61..9a883173ee5 100644
--- a/gcc/config/mips/10000.md
+++ b/gcc/config/mips/10000.md
@@ -1,5 +1,5 @@
;; DFA-based pipeline description for the VR1x000.
-;; Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2006, 2008, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/20kc.md b/gcc/config/mips/20kc.md
index 5c0088ce467..f5fbb6fe51b 100644
--- a/gcc/config/mips/20kc.md
+++ b/gcc/config/mips/20kc.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/24k.md b/gcc/config/mips/24k.md
index 3860d1eef0d..dc53bc946f6 100644
--- a/gcc/config/mips/24k.md
+++ b/gcc/config/mips/24k.md
@@ -8,7 +8,7 @@
;; References:
;; "MIPS32 24K Processor Core Family Software User's Manual, Rev 3.04."
;;
-;; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/4130.md b/gcc/config/mips/4130.md
index fd1001fde68..298505986f5 100644
--- a/gcc/config/mips/4130.md
+++ b/gcc/config/mips/4130.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2005, 2007, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/4k.md b/gcc/config/mips/4k.md
index 3733047f5af..0a9d4aa6372 100644
--- a/gcc/config/mips/4k.md
+++ b/gcc/config/mips/4k.md
@@ -10,7 +10,7 @@
;; 4km - pipelined multiplier and block address translator (BAT)
;; 4kp - non-pipelined multiplier and block address translator (BAT)
;;
-;; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/5400.md b/gcc/config/mips/5400.md
index f85a311f2de..07bcab9f82e 100644
--- a/gcc/config/mips/5400.md
+++ b/gcc/config/mips/5400.md
@@ -1,4 +1,5 @@
-;; Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005, 2007, 2012
+;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/5500.md b/gcc/config/mips/5500.md
index b254a9bec67..266c7a08ad0 100644
--- a/gcc/config/mips/5500.md
+++ b/gcc/config/mips/5500.md
@@ -1,4 +1,5 @@
-;; Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005, 2007, 2012
+;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/5k.md b/gcc/config/mips/5k.md
index 7a0689b2e43..87f31da7c99 100644
--- a/gcc/config/mips/5k.md
+++ b/gcc/config/mips/5k.md
@@ -10,7 +10,7 @@
;; 5kf - Separate floating point pipe which can dual-issue with the
;; integer pipe.
;;
-;; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/7000.md b/gcc/config/mips/7000.md
index d7265f4fe80..d7f497382ee 100644
--- a/gcc/config/mips/7000.md
+++ b/gcc/config/mips/7000.md
@@ -1,5 +1,5 @@
;; DFA-based pipeline description for the RM7000.
-;; Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2005, 2007, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/74k.md b/gcc/config/mips/74k.md
index 721834c7d9e..c457a9f26c4 100644
--- a/gcc/config/mips/74k.md
+++ b/gcc/config/mips/74k.md
@@ -5,7 +5,7 @@
;; "MIPS32 74K Microarchitecure Specification Rev. 01.02 Jun 15, 2006"
;; "MIPS32 74Kf Processor Core Datasheet Jun 2, 2006"
;;
-;; Copyright (C) 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/9000.md b/gcc/config/mips/9000.md
index 09f55b4783c..35ac57e2755 100644
--- a/gcc/config/mips/9000.md
+++ b/gcc/config/mips/9000.md
@@ -1,5 +1,5 @@
;; DFA-based pipeline description for the RM9000.
-;; Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2005, 2007, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/constraints.md b/gcc/config/mips/constraints.md
index b543217c43a..0ff7880ea34 100644
--- a/gcc/config/mips/constraints.md
+++ b/gcc/config/mips/constraints.md
@@ -1,5 +1,6 @@
;; Constraint definitions for MIPS.
-;; Copyright (C) 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2008, 2010, 2011, 2012
+;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/generic.md b/gcc/config/mips/generic.md
index c197ecff34e..6f6b722604d 100644
--- a/gcc/config/mips/generic.md
+++ b/gcc/config/mips/generic.md
@@ -1,5 +1,5 @@
;; Generic DFA-based pipeline description for MIPS targets
-;; Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2005, 2007, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/genopt.sh b/gcc/config/mips/genopt.sh
index a72ed1c3432..e7f86b6dc0a 100755
--- a/gcc/config/mips/genopt.sh
+++ b/gcc/config/mips/genopt.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Generate mips-tables.opt from the list of CPUs in mips-cpus.def.
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -22,7 +22,7 @@ cat <<EOF
; -*- buffer-read-only: t -*-
; Generated automatically by genopt.sh from mips-cpus.def.
-; Copyright (C) 2011 Free Software Foundation, Inc.
+; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/mips/loongson.h b/gcc/config/mips/loongson.h
index fcaf55366f1..2bb6e45398a 100644
--- a/gcc/config/mips/loongson.h
+++ b/gcc/config/mips/loongson.h
@@ -1,6 +1,6 @@
/* Intrinsics for ST Microelectronics Loongson-2E/2F SIMD operations.
- Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc.
Contributed by CodeSourcery.
This file is part of GCC.
diff --git a/gcc/config/mips/loongson.md b/gcc/config/mips/loongson.md
index 4f9cc7396ca..b6c7f96be3d 100644
--- a/gcc/config/mips/loongson.md
+++ b/gcc/config/mips/loongson.md
@@ -1,6 +1,6 @@
;; Machine description for Loongson-specific patterns, such as
;; ST Microelectronics Loongson-2E/2F etc.
-;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
;; Contributed by CodeSourcery.
;;
;; This file is part of GCC.
diff --git a/gcc/config/mips/loongson2ef.md b/gcc/config/mips/loongson2ef.md
index ef9dd3899a8..c62c4c13bed 100644
--- a/gcc/config/mips/loongson2ef.md
+++ b/gcc/config/mips/loongson2ef.md
@@ -1,6 +1,6 @@
;; Pipeline model for ST Microelectronics Loongson-2E/2F cores.
-;; Copyright (C) 2008, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2008, 2010, 2012 Free Software Foundation, Inc.
;; Contributed by CodeSourcery.
;;
;; GCC is free software; you can redistribute it and/or modify
diff --git a/gcc/config/mips/loongson3a.md b/gcc/config/mips/loongson3a.md
index f1f87629e21..6b91c72bbf9 100644
--- a/gcc/config/mips/loongson3a.md
+++ b/gcc/config/mips/loongson3a.md
@@ -1,6 +1,6 @@
;; Pipeline model for Loongson-3A cores.
-;; Copyright (C) 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/mips-dspr2.md b/gcc/config/mips/mips-dspr2.md
index 0d025809907..af239098658 100644
--- a/gcc/config/mips/mips-dspr2.md
+++ b/gcc/config/mips/mips-dspr2.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2007, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2010, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/mips-modes.def b/gcc/config/mips/mips-modes.def
index ef035caefc2..780dece4a2c 100644
--- a/gcc/config/mips/mips-modes.def
+++ b/gcc/config/mips/mips-modes.def
@@ -1,5 +1,6 @@
/* MIPS extra machine modes.
- Copyright (C) 2003, 2004, 2007, 2008, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2007, 2008, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/mips/mips-ps-3d.md b/gcc/config/mips/mips-ps-3d.md
index 30ca7cd4a70..364286db795 100644
--- a/gcc/config/mips/mips-ps-3d.md
+++ b/gcc/config/mips/mips-ps-3d.md
@@ -1,5 +1,5 @@
;; MIPS Paired-Single Floating and MIPS-3D Instructions.
-;; Copyright (C) 2004, 2007, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2007, 2010, 2011, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/mips-tables.opt b/gcc/config/mips/mips-tables.opt
index 3f21bcb3910..81d70a449a4 100644
--- a/gcc/config/mips/mips-tables.opt
+++ b/gcc/config/mips/mips-tables.opt
@@ -1,7 +1,7 @@
; -*- buffer-read-only: t -*-
; Generated automatically by genopt.sh from mips-cpus.def.
-; Copyright (C) 2011 Free Software Foundation, Inc.
+; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/mips/mips.opt b/gcc/config/mips/mips.opt
index 2e91970d1c7..dec028d7e22 100644
--- a/gcc/config/mips/mips.opt
+++ b/gcc/config/mips/mips.opt
@@ -1,6 +1,7 @@
; Options for the MIPS port of the compiler
;
-; Copyright (C) 2005, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2008, 2010, 2011, 2012
+; Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/mips/octeon.md b/gcc/config/mips/octeon.md
index 2a57881f71d..011f6143947 100644
--- a/gcc/config/mips/octeon.md
+++ b/gcc/config/mips/octeon.md
@@ -1,5 +1,5 @@
;; Octeon pipeline description.
-;; Copyright (C) 2008
+;; Copyright (C) 2008, 2011, 2012
;; Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/mips/predicates.md b/gcc/config/mips/predicates.md
index 31c43a53ebb..61adcd28050 100644
--- a/gcc/config/mips/predicates.md
+++ b/gcc/config/mips/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for MIPS.
-;; Copyright (C) 2004, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2007, 2008, 2011, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/sb1.md b/gcc/config/mips/sb1.md
index f4c4f03b058..88c42f2f910 100644
--- a/gcc/config/mips/sb1.md
+++ b/gcc/config/mips/sb1.md
@@ -1,4 +1,5 @@
-;; Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2005, 2006, 2007, 2011, 2012
+;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/sr71k.md b/gcc/config/mips/sr71k.md
index 58013ca4425..824162c4143 100644
--- a/gcc/config/mips/sr71k.md
+++ b/gcc/config/mips/sr71k.md
@@ -1,4 +1,5 @@
-;; Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005, 2007, 2012
+;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mips/sync.md b/gcc/config/mips/sync.md
index 4c8dde92859..b163dca910e 100644
--- a/gcc/config/mips/sync.md
+++ b/gcc/config/mips/sync.md
@@ -1,6 +1,6 @@
;; Machine Description for MIPS based processor synchronization
;; instructions.
-;; Copyright (C) 2007, 2008, 2009, 2010
+;; Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
index 20136cdbe91..5628c8f8c7f 100644
--- a/gcc/config/mips/t-linux64
+++ b/gcc/config/mips/t-linux64
@@ -1,4 +1,5 @@
-# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006, 2011, 2012
+# Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/t-vxworks b/gcc/config/mips/t-vxworks
index 488473595d3..26f73e64b47 100644
--- a/gcc/config/mips/t-vxworks
+++ b/gcc/config/mips/t-vxworks
@@ -1,4 +1,4 @@
-# Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2007, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/mips/xlr.md b/gcc/config/mips/xlr.md
index 59f863323f2..7b6e55b7e31 100644
--- a/gcc/config/mips/xlr.md
+++ b/gcc/config/mips/xlr.md
@@ -1,5 +1,5 @@
;; DFA-based pipeline description for the XLR.
-;; Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
;;
;; xlr.md Machine Description for the RMI XLR Microprocessor
;; This file is part of GCC.
diff --git a/gcc/config/mmix/mmix-protos.h b/gcc/config/mmix/mmix-protos.h
index 62cdbae442a..08db6571cb3 100644
--- a/gcc/config/mmix/mmix-protos.h
+++ b/gcc/config/mmix/mmix-protos.h
@@ -1,5 +1,5 @@
/* Prototypes for exported functions defined in mmix.c
- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2007, 2010, 2011
+ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2007, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Hans-Peter Nilsson (hp@bitrange.com)
diff --git a/gcc/config/mmix/mmix.c b/gcc/config/mmix/mmix.c
index 11bdae4df30..a018d0204fd 100644
--- a/gcc/config/mmix/mmix.c
+++ b/gcc/config/mmix/mmix.c
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for MMIX.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010, 2011
+ 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Hans-Peter Nilsson (hp@bitrange.com)
diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h
index 07b7368e9a5..06e989052bd 100644
--- a/gcc/config/mmix/mmix.h
+++ b/gcc/config/mmix/mmix.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for MMIX.
- Copyright (C) 2000, 2001, 2002, 2004, 2005, 2007, 2008, 2009, 2010, 2011
- Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2002, 2004, 2005, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
Contributed by Hans-Peter Nilsson (hp@bitrange.com)
This file is part of GCC.
diff --git a/gcc/config/mmix/mmix.md b/gcc/config/mmix/mmix.md
index 587b8f1f492..129e182f5b2 100644
--- a/gcc/config/mmix/mmix.md
+++ b/gcc/config/mmix/mmix.md
@@ -1,5 +1,5 @@
;; GCC machine description for MMIX
-;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2010
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;; Contributed by Hans-Peter Nilsson (hp@bitrange.com)
diff --git a/gcc/config/mmix/predicates.md b/gcc/config/mmix/predicates.md
index bf92c86ff0b..5bc0b141650 100644
--- a/gcc/config/mmix/predicates.md
+++ b/gcc/config/mmix/predicates.md
@@ -1,5 +1,5 @@
;; Operand and operator predicates for the GCC MMIX port.
-;; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2012 Free Software Foundation, Inc.
;; This file is part of GCC.
;;
diff --git a/gcc/config/mn10300/constraints.md b/gcc/config/mn10300/constraints.md
index c8ee2d4e2d9..a414feeb5a5 100644
--- a/gcc/config/mn10300/constraints.md
+++ b/gcc/config/mn10300/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for the MN10300.
-;; Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2008, 2011 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/mn10300/mn10300-modes.def b/gcc/config/mn10300/mn10300-modes.def
index b37b9cc4fd3..32629b23abe 100644
--- a/gcc/config/mn10300/mn10300-modes.def
+++ b/gcc/config/mn10300/mn10300-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for MN10300.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2011, 2012 Free Software Foundation, Inc.
Contributed by Red Hat Inc.
This file is part of GCC.
diff --git a/gcc/config/mn10300/mn10300-protos.h b/gcc/config/mn10300/mn10300-protos.h
index b6760e8e407..668b0fa508f 100644
--- a/gcc/config/mn10300/mn10300-protos.h
+++ b/gcc/config/mn10300/mn10300-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. Matsushita MN10300 series
- Copyright (C) 2000, 2003, 2004, 2005, 2007, 2009, 2010, 2011
+ Copyright (C) 2000, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Jeff Law (law@cygnus.com).
diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c
index 7ec2459052f..0c2dd075a74 100644
--- a/gcc/config/mn10300/mn10300.c
+++ b/gcc/config/mn10300/mn10300.c
@@ -1,6 +1,7 @@
/* Subroutines for insn-output.c for Matsushita MN10300 series
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
Contributed by Jeff Law (law@cygnus.com).
This file is part of GCC.
diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h
index 4dea839873b..a8f814998de 100644
--- a/gcc/config/mn10300/mn10300.h
+++ b/gcc/config/mn10300/mn10300.h
@@ -1,7 +1,7 @@
/* Definitions of target machine for GNU compiler.
Matsushita MN10300 series
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Jeff Law (law@cygnus.com).
This file is part of GCC.
diff --git a/gcc/config/mn10300/mn10300.md b/gcc/config/mn10300/mn10300.md
index ee92b68a535..39de9b6cdbd 100644
--- a/gcc/config/mn10300/mn10300.md
+++ b/gcc/config/mn10300/mn10300.md
@@ -1,6 +1,6 @@
;; GCC machine description for Matsushita MN10300
;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
+;; 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;; Contributed by Jeff Law (law@cygnus.com).
diff --git a/gcc/config/mn10300/predicates.md b/gcc/config/mn10300/predicates.md
index 4c78c51e463..bbb32620aca 100644
--- a/gcc/config/mn10300/predicates.md
+++ b/gcc/config/mn10300/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Matsushita MN10300.
-;; Copyright (C) 2005, 2007, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2010, 2011 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/moxie/moxie.h b/gcc/config/moxie/moxie.h
index b01f568206e..066b6e63179 100644
--- a/gcc/config/moxie/moxie.h
+++ b/gcc/config/moxie/moxie.h
@@ -1,5 +1,5 @@
/* Target Definitions for moxie.
- Copyright (C) 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Anthony Green.
This file is part of GCC.
diff --git a/gcc/config/moxie/moxie.md b/gcc/config/moxie/moxie.md
index 5167223e255..6f3a3d18b3e 100644
--- a/gcc/config/moxie/moxie.md
+++ b/gcc/config/moxie/moxie.md
@@ -1,5 +1,5 @@
;; Machine description for Moxie
-;; Copyright (C) 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2009, 2011 Free Software Foundation, Inc.
;; Contributed by Anthony Green <green@moxielogic.com>
;; This file is part of GCC.
diff --git a/gcc/config/moxie/t-moxie b/gcc/config/moxie/t-moxie
index 9111fd603ab..16fc9b91114 100644
--- a/gcc/config/moxie/t-moxie
+++ b/gcc/config/moxie/t-moxie
@@ -1,5 +1,5 @@
# Target Makefile Fragment for moxie
-# Copyright (C) 2008 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2012 Free Software Foundation, Inc.
# Contributed by Anthony Green.
#
# This file is part of GCC.
diff --git a/gcc/config/openbsd.h b/gcc/config/openbsd.h
index 87c4ce24b3b..e39cc73312b 100644
--- a/gcc/config/openbsd.h
+++ b/gcc/config/openbsd.h
@@ -1,5 +1,5 @@
/* Base configuration file for all OpenBSD targets.
- Copyright (C) 1999, 2000, 2004, 2005, 2007, 2009, 2010, 2011
+ Copyright (C) 1999, 2000, 2004, 2005, 2007, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/constraints.md b/gcc/config/pa/constraints.md
index ce5a5f7306a..28ee195cb1c 100644
--- a/gcc/config/pa/constraints.md
+++ b/gcc/config/pa/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for pa
-;; Copyright (C) 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2011 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/pa/elf.h b/gcc/config/pa/elf.h
index dc436a3fe96..75dbe5b569e 100644
--- a/gcc/config/pa/elf.h
+++ b/gcc/config/pa/elf.h
@@ -1,5 +1,5 @@
/* Definitions for ELF assembler support.
- Copyright (C) 1999, 2003, 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2003, 2005, 2007, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa-hpux.opt b/gcc/config/pa/pa-hpux.opt
index b709b83bf40..ed10bdb233e 100644
--- a/gcc/config/pa/pa-hpux.opt
+++ b/gcc/config/pa/pa-hpux.opt
@@ -1,6 +1,6 @@
; Options for the HP PA-RISC port of the compiler.
-; Copyright (C) 2005, 2007, 2011 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/pa/pa-hpux10.h b/gcc/config/pa/pa-hpux10.h
index bfe09f24729..7e9f6fbd4ae 100644
--- a/gcc/config/pa/pa-hpux10.h
+++ b/gcc/config/pa/pa-hpux10.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for HP PA-RISC
Copyright (C) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004,
- 2007, 2008, 2010 Free Software Foundation, Inc.
+ 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
Contributed by Tim Moore (moore@defmacro.cs.utah.edu)
This file is part of GCC.
diff --git a/gcc/config/pa/pa-hpux11.h b/gcc/config/pa/pa-hpux11.h
index 81dfdf3d1dd..4566ec06451 100644
--- a/gcc/config/pa/pa-hpux11.h
+++ b/gcc/config/pa/pa-hpux11.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for HP PA-RISC
- Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2007, 2008, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2007, 2008, 2010,
+ 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa-hpux1131.h b/gcc/config/pa/pa-hpux1131.h
index bc4549bc0fd..563530fb94a 100644
--- a/gcc/config/pa/pa-hpux1131.h
+++ b/gcc/config/pa/pa-hpux1131.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for HP PA-RISC
- Copyright (C) 2004, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2007, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 8b93aa9e5ad..facd2a64f04 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -1,6 +1,6 @@
/* Subroutines for insn-output.c for HPPA.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.c
@@ -10358,14 +10358,10 @@ pa_legitimate_constant_p (enum machine_mode mode, rtx x)
return false;
/* TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC are not
- legitimate constants. */
+ legitimate constants. The other variants can't be handled by
+ the move patterns after reload starts. */
if (PA_SYMBOL_REF_TLS_P (x))
- {
- enum tls_model model = SYMBOL_REF_TLS_MODEL (x);
-
- if (model == TLS_MODEL_GLOBAL_DYNAMIC || model == TLS_MODEL_LOCAL_DYNAMIC)
- return false;
- }
+ return false;
if (TARGET_64BIT && GET_CODE (x) == CONST_DOUBLE)
return false;
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 29dbea01256..21b0fe40069 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for the HP Spectrum.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com) of Cygnus Support
and Tim Moore (moore@defmacro.cs.utah.edu) of the Center for
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index 5cef94bc00e..9c6a361c6b5 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -2094,12 +2094,6 @@
""
"
{
- /* A TLS symbol reference is not a valid move source operand.
- pa_emit_move_sequence can only handle them prior to reload.
- There is also no way to reload a TLS symbol reference, so
- we must reject them after reload starts. */
- if (PA_SYMBOL_REF_TLS_P (operands[1]) && !can_create_pseudo_p ())
- FAIL;
if (pa_emit_move_sequence (operands, SImode, 0))
DONE;
}")
diff --git a/gcc/config/pa/pa.opt b/gcc/config/pa/pa.opt
index 8cc4da3e165..22579880fee 100644
--- a/gcc/config/pa/pa.opt
+++ b/gcc/config/pa/pa.opt
@@ -1,6 +1,6 @@
; Options for the HP PA-RISC port of the compiler.
-; Copyright (C) 2005, 2007, 2011 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/pa/pa32-regs.h b/gcc/config/pa/pa32-regs.h
index a209773160a..524e41d1881 100644
--- a/gcc/config/pa/pa32-regs.h
+++ b/gcc/config/pa/pa32-regs.h
@@ -1,5 +1,5 @@
/* Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
- 2008, 2010 Free Software Foundation, Inc.
+ 2008, 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa64-hpux.h b/gcc/config/pa/pa64-hpux.h
index 66eeecb35dd..71a65e739c9 100644
--- a/gcc/config/pa/pa64-hpux.h
+++ b/gcc/config/pa/pa64-hpux.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for HPs running
HPUX using the 64bit runtime model.
- Copyright (C) 1999, 2000, 2001, 2002, 2004, 2005, 2007, 2008, 2010
+ Copyright (C) 1999, 2000, 2001, 2002, 2004, 2005, 2007, 2008, 2010, 2011
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa64-hpux.opt b/gcc/config/pa/pa64-hpux.opt
index 56ca35ea9c6..1ed5218a043 100644
--- a/gcc/config/pa/pa64-hpux.opt
+++ b/gcc/config/pa/pa64-hpux.opt
@@ -1,6 +1,6 @@
; Options for the HP PA-RISC port of the compiler.
-; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/pa/pa64-linux.h b/gcc/config/pa/pa64-linux.h
index 1d5fa93b5a9..67e1032191a 100644
--- a/gcc/config/pa/pa64-linux.h
+++ b/gcc/config/pa/pa64-linux.h
@@ -1,5 +1,5 @@
/* Definitions for PA_RISC with ELF format on 64-bit Linux
- Copyright (C) 1999, 2000, 2002, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2002, 2007, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/pa64-regs.h b/gcc/config/pa/pa64-regs.h
index b5f04309fbc..07d7d5045b6 100644
--- a/gcc/config/pa/pa64-regs.h
+++ b/gcc/config/pa/pa64-regs.h
@@ -1,5 +1,5 @@
/* Configuration for GCC-compiler for PA-RISC.
- Copyright (C) 1999, 2000, 2003, 2004, 2007, 2008, 2010
+ Copyright (C) 1999, 2000, 2003, 2004, 2007, 2008, 2010, 2011
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/pa/predicates.md b/gcc/config/pa/predicates.md
index 4a871194c29..ff25cf7f6e1 100644
--- a/gcc/config/pa/predicates.md
+++ b/gcc/config/pa/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for HP PA-RISC.
-;; Copyright (C) 2005, 2007, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2010, 2011, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/pdp11/pdp11-protos.h b/gcc/config/pdp11/pdp11-protos.h
index bb13309f34b..31aa35ac6a6 100644
--- a/gcc/config/pdp11/pdp11-protos.h
+++ b/gcc/config/pdp11/pdp11-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for the pdp-11
- Copyright (C) 2000, 2003, 2004, 2007, 2009, 2010
+ Copyright (C) 2000, 2003, 2004, 2007, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Michael K. Gschwind (mike@vlsivie.tuwien.ac.at).
diff --git a/gcc/config/pdp11/pdp11.c b/gcc/config/pdp11/pdp11.c
index 519960e9daf..d62b0b120e5 100644
--- a/gcc/config/pdp11/pdp11.c
+++ b/gcc/config/pdp11/pdp11.c
@@ -1,6 +1,6 @@
/* Subroutines for gcc2 for pdp11.
Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Michael K. Gschwind (mike@vlsivie.tuwien.ac.at).
This file is part of GCC.
diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h
index 76925b1683f..64f671b4c31 100644
--- a/gcc/config/pdp11/pdp11.h
+++ b/gcc/config/pdp11/pdp11.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for the pdp-11
Copyright (C) 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2004, 2005,
- 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
+ 2006, 2007, 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Michael K. Gschwind (mike@vlsivie.tuwien.ac.at).
This file is part of GCC.
diff --git a/gcc/config/pdp11/pdp11.md b/gcc/config/pdp11/pdp11.md
index 23a8665c974..70e19fa75fe 100644
--- a/gcc/config/pdp11/pdp11.md
+++ b/gcc/config/pdp11/pdp11.md
@@ -1,6 +1,6 @@
;;- Machine description for the pdp11 for GNU C compiler
;; Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2004, 2005
-;; 2007, 2008, 2010 Free Software Foundation, Inc.
+;; 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
;; Contributed by Michael K. Gschwind (mike@vlsivie.tuwien.ac.at).
;; This file is part of GCC.
diff --git a/gcc/config/picochip/picochip.c b/gcc/config/picochip/picochip.c
index 1a6c1ef6c15..c67e8e3bf51 100644
--- a/gcc/config/picochip/picochip.c
+++ b/gcc/config/picochip/picochip.c
@@ -1,5 +1,6 @@
/* Subroutines used for code generation on picoChip processors.
- Copyright (C) 2001, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
Contributed by Picochip Ltd. (http://www.picochip.com)
Maintained by Daniel Towner (daniel.towner@picochip.com) and
Hariharan Sandanagobalane (hariharan@picochip.com)
diff --git a/gcc/config/picochip/picochip.h b/gcc/config/picochip/picochip.h
index f13efc9c4a6..528457888ca 100644
--- a/gcc/config/picochip/picochip.h
+++ b/gcc/config/picochip/picochip.h
@@ -1,5 +1,6 @@
/* Definitions of target machine for GNU compiler for picoChip
- Copyright (C) 2001, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
Contributed by Picochip Ltd. (http://www.picochip.com)
Maintained by Daniel Towner (daniel.towner@picochip.com) and
diff --git a/gcc/config/picochip/picochip.md b/gcc/config/picochip/picochip.md
index 4e0556443bd..fe3b6595545 100644
--- a/gcc/config/picochip/picochip.md
+++ b/gcc/config/picochip/picochip.md
@@ -1,5 +1,5 @@
;; GCC machine description for picochip
-;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
;; Contributed by Picochip Ltd (http://www.picochip.com)
;; Maintained by Daniel Towner (dant@picochip.com) and Hariharan
;; Sandanagobalane (hariharan@picochip.com)
diff --git a/gcc/config/picochip/picochip.opt b/gcc/config/picochip/picochip.opt
index a4b25e52f50..b3aa998169c 100644
--- a/gcc/config/picochip/picochip.opt
+++ b/gcc/config/picochip/picochip.opt
@@ -1,6 +1,6 @@
; Options for the picoChip port of the compiler.
-; Copyright (C) 2008 Free Software Foundation, Inc.
+; Copyright (C) 2008, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/rl78/rl78.h b/gcc/config/rl78/rl78.h
index 22c7715ef39..39a8bec1fe8 100644
--- a/gcc/config/rl78/rl78.h
+++ b/gcc/config/rl78/rl78.h
@@ -1,5 +1,5 @@
/* GCC backend definitions for the Renesas RL78 processor.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011, 2012 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/rs6000/476.md b/gcc/config/rs6000/476.md
index ad0acc343f7..37d028ed246 100644
--- a/gcc/config/rs6000/476.md
+++ b/gcc/config/rs6000/476.md
@@ -1,5 +1,5 @@
;; Scheduling description for IBM PowerPC 476 processor.
-;; Copyright (C) 2009
+;; Copyright (C) 2009, 2012
;; Free Software Foundation, Inc.
;; Contributed by Peter Bergner (bergner@vnet.ibm.com).
;;
diff --git a/gcc/config/rs6000/8540.md b/gcc/config/rs6000/8540.md
index c767c0d8aa3..3e012b2a7cc 100644
--- a/gcc/config/rs6000/8540.md
+++ b/gcc/config/rs6000/8540.md
@@ -1,5 +1,5 @@
;; Pipeline description for Motorola PowerPC 8540 processor.
-;; Copyright (C) 2003, 2004, 2007, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2007, 2009, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/a2.md b/gcc/config/rs6000/a2.md
index 79fdf913de1..47e3df4f4d4 100644
--- a/gcc/config/rs6000/a2.md
+++ b/gcc/config/rs6000/a2.md
@@ -1,5 +1,5 @@
;; Scheduling description for PowerPC A2 processors.
-;; Copyright (C) 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2009, 2012 Free Software Foundation, Inc.
;; Contributed by Ben Elliston (bje@au.ibm.com)
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/aix53.h b/gcc/config/rs6000/aix53.h
index baafb51af29..3256190fdbf 100644
--- a/gcc/config/rs6000/aix53.h
+++ b/gcc/config/rs6000/aix53.h
@@ -128,6 +128,7 @@ do { \
#define LIB_SPEC "%{pg:-L%R/lib/profiled -L%R/usr/lib/profiled}\
%{p:-L%R/lib/profiled -L%R/usr/lib/profiled}\
%{!maix64:%{!shared:%{g*:-lg}}}\
+ %{fprofile-arcs|fprofile-generate*|coverage:-lpthreads}\
%{mpe:-L%R/usr/lpp/ppe.poe/lib -lmpi -lvtd}\
%{pthread:-lpthreads} -lc"
diff --git a/gcc/config/rs6000/aix61.h b/gcc/config/rs6000/aix61.h
index 063cb26e86d..41264217994 100644
--- a/gcc/config/rs6000/aix61.h
+++ b/gcc/config/rs6000/aix61.h
@@ -148,6 +148,7 @@ do { \
#define LIB_SPEC "%{pg:-L%R/lib/profiled -L%R/usr/lib/profiled}\
%{p:-L%R/lib/profiled -L%R/usr/lib/profiled}\
%{!maix64:%{!shared:%{g*:-lg}}}\
+ %{fprofile-arcs|fprofile-generate*|coverage:-lpthreads}\
%{mpe:-L%R/usr/lpp/ppe.poe/lib -lmpi -lvtd}\
%{pthread:-lpthreads} -lc"
diff --git a/gcc/config/rs6000/aix64.opt b/gcc/config/rs6000/aix64.opt
index 8acc05beaa5..3606706856a 100644
--- a/gcc/config/rs6000/aix64.opt
+++ b/gcc/config/rs6000/aix64.opt
@@ -1,6 +1,6 @@
; Options for the 64-bit flavor of AIX.
;
-; Copyright (C) 2005, 2007, 2010, 2011 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2010, 2011, 2012 Free Software Foundation, Inc.
; Contributed by Aldy Hernandez <aldy@quesejoda.com>.
;
; This file is part of GCC.
diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md
index 5384d0297dc..7f3374e8e9f 100644
--- a/gcc/config/rs6000/altivec.md
+++ b/gcc/config/rs6000/altivec.md
@@ -1,6 +1,6 @@
;; AltiVec patterns.
-;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
-;; Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+;; 2012 Free Software Foundation, Inc.
;; Contributed by Aldy Hernandez (aldy@quesejoda.com)
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/darwin.opt b/gcc/config/rs6000/darwin.opt
index 2abba3482f7..0e0146753f6 100644
--- a/gcc/config/rs6000/darwin.opt
+++ b/gcc/config/rs6000/darwin.opt
@@ -1,6 +1,6 @@
; Darwin options for PPC port.
;
-; Copyright (C) 2005, 2007, 2010 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2010, 2012 Free Software Foundation, Inc.
; Contributed by Aldy Hernandez <aldy@quesejoda.com>.
;
; This file is part of GCC.
diff --git a/gcc/config/rs6000/darwin7.h b/gcc/config/rs6000/darwin7.h
index 90603872a38..994c6f50a5f 100644
--- a/gcc/config/rs6000/darwin7.h
+++ b/gcc/config/rs6000/darwin7.h
@@ -1,5 +1,5 @@
/* Target definitions for Darwin 7.x (Mac OS X) systems.
- Copyright (C) 2004, 2005, 2007
+ Copyright (C) 2004, 2005, 2007, 2011
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/e500.h b/gcc/config/rs6000/e500.h
index 53a849a8646..d6e4f2a1128 100644
--- a/gcc/config/rs6000/e500.h
+++ b/gcc/config/rs6000/e500.h
@@ -1,6 +1,6 @@
/* Enable E500 support.
- Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010 Free Software
- Foundation, Inc.
+ Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it
diff --git a/gcc/config/rs6000/freebsd.h b/gcc/config/rs6000/freebsd.h
index ee447195f2d..96009c9f531 100644
--- a/gcc/config/rs6000/freebsd.h
+++ b/gcc/config/rs6000/freebsd.h
@@ -1,5 +1,5 @@
/* Definitions for PowerPC running FreeBSD using the ELF format
- Copyright (C) 2001, 2003, 2007, 2009, 2010, 2011
+ Copyright (C) 2001, 2003, 2007, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
diff --git a/gcc/config/rs6000/genopt.sh b/gcc/config/rs6000/genopt.sh
index be87ff50d66..dea5ca8198a 100755
--- a/gcc/config/rs6000/genopt.sh
+++ b/gcc/config/rs6000/genopt.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# Generate rs6000-tables.opt from the list of CPUs in rs6000-cpus.def.
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -22,7 +22,7 @@ cat <<EOF
; -*- buffer-read-only: t -*-
; Generated automatically by genopt.sh from rs6000-cpus.def.
-; Copyright (C) 2011 Free Software Foundation, Inc.
+; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
index 02477df7199..ca8a1f336df 100644
--- a/gcc/config/rs6000/linux.h
+++ b/gcc/config/rs6000/linux.h
@@ -1,7 +1,7 @@
/* Definitions of target machine for GNU compiler,
for PowerPC machines running Linux.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- 2004, 2005, 2006, 2007, 2010, 2011 Free Software Foundation, Inc.
+ 2004, 2005, 2006, 2007, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Michael Meissner (meissner@cygnus.com).
This file is part of GCC.
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
index 4d2c36503fb..90b3fcf04a4 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -1,7 +1,7 @@
/* Definitions of target machine for GNU compiler,
for 64 bit PowerPC linux.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rs6000/paired.md b/gcc/config/rs6000/paired.md
index cfce1992b4e..ff6d3219c28 100644
--- a/gcc/config/rs6000/paired.md
+++ b/gcc/config/rs6000/paired.md
@@ -1,5 +1,5 @@
;; PowerPC paired single and double hummer description
-;; Copyright (C) 2007, 2009, 2010, 2011
+;; Copyright (C) 2007, 2009, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;; Contributed by David Edelsohn <edelsohn@gnu.org> and Revital Eres
;; <eres@il.ibm.com>
diff --git a/gcc/config/rs6000/power4.md b/gcc/config/rs6000/power4.md
index 1a51dacb123..6ea03f069da 100644
--- a/gcc/config/rs6000/power4.md
+++ b/gcc/config/rs6000/power4.md
@@ -1,5 +1,5 @@
;; Scheduling description for IBM Power4 and PowerPC 970 processors.
-;; Copyright (C) 2003, 2004, 2007, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2007, 2009, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/rs6000/power5.md b/gcc/config/rs6000/power5.md
index c667a545411..e5d39cfb467 100644
--- a/gcc/config/rs6000/power5.md
+++ b/gcc/config/rs6000/power5.md
@@ -1,5 +1,5 @@
;; Scheduling description for IBM POWER5 processor.
-;; Copyright (C) 2003, 2004, 2007, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2004, 2007, 2009, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/rs6000/power6.md b/gcc/config/rs6000/power6.md
index 39f19b80a88..6d4692c2754 100644
--- a/gcc/config/rs6000/power6.md
+++ b/gcc/config/rs6000/power6.md
@@ -1,5 +1,5 @@
;; Scheduling description for IBM POWER6 processor.
-;; Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2009, 2012 Free Software Foundation, Inc.
;; Contributed by Peter Steinmetz (steinmtz@us.ibm.com)
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/power7.md b/gcc/config/rs6000/power7.md
index cf7fd3770f9..2f39e987700 100644
--- a/gcc/config/rs6000/power7.md
+++ b/gcc/config/rs6000/power7.md
@@ -1,5 +1,5 @@
;; Scheduling description for IBM POWER7 processor.
-;; Copyright (C) 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2009, 2011, 2012 Free Software Foundation, Inc.
;;
;; Contributed by Pat Haugen (pthaugen@us.ibm.com).
diff --git a/gcc/config/rs6000/rs6000-modes.def b/gcc/config/rs6000/rs6000-modes.def
index f72f40dfdb4..375ee8093ce 100644
--- a/gcc/config/rs6000/rs6000-modes.def
+++ b/gcc/config/rs6000/rs6000-modes.def
@@ -1,5 +1,6 @@
/* Definitions of target machine for GNU compiler, for IBM RS/6000.
- Copyright (C) 2002, 2003, 2004, 2007, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2007, 2010, 2011
+ Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GCC.
diff --git a/gcc/config/rs6000/rs6000-tables.opt b/gcc/config/rs6000/rs6000-tables.opt
index 001988140d2..0b168d65705 100644
--- a/gcc/config/rs6000/rs6000-tables.opt
+++ b/gcc/config/rs6000/rs6000-tables.opt
@@ -1,7 +1,7 @@
; -*- buffer-read-only: t -*-
; Generated automatically by genopt.sh from rs6000-cpus.def.
-; Copyright (C) 2011 Free Software Foundation, Inc.
+; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/rs6000/rtems.h b/gcc/config/rs6000/rtems.h
index 60398df4849..b6729d23ae2 100644
--- a/gcc/config/rs6000/rtems.h
+++ b/gcc/config/rs6000/rtems.h
@@ -1,6 +1,6 @@
/* Definitions for rtems targeting a PowerPC using elf.
- Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2007
- Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2007,
+ 2011, 2012 Free Software Foundation, Inc.
Contributed by Joel Sherrill (joel@OARcorp.com).
This file is part of GCC.
diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt
index 60ca4fd8615..0e7d8a41061 100644
--- a/gcc/config/rs6000/sysv4.opt
+++ b/gcc/config/rs6000/sysv4.opt
@@ -1,6 +1,6 @@
; SYSV4 options for PPC port.
;
-; Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011
+; Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011, 2012
; Free Software Foundation, Inc.
; Contributed by Aldy Hernandez <aldy@quesejoda.com>.
;
diff --git a/gcc/config/rs6000/t-fprules b/gcc/config/rs6000/t-fprules
index 2674c0ebd93..dd9f7269854 100644
--- a/gcc/config/rs6000/t-fprules
+++ b/gcc/config/rs6000/t-fprules
@@ -1,4 +1,5 @@
-# Copyright (C) 2002, 2005, 2006, 2008, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2005, 2006, 2008, 2011, 2012
+# Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
index b44f4ea4999..2189f4f1dac 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -1,7 +1,7 @@
#rs6000/t-linux64
# Copyright (C) 2002, 2003, 2004, 2006, 2007,
-# 2009, 2011 Free Software Foundation, Inc.
+# 2009, 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-rtems b/gcc/config/rs6000/t-rtems
index 74465b74adb..3693043ddfe 100644
--- a/gcc/config/rs6000/t-rtems
+++ b/gcc/config/rs6000/t-rtems
@@ -1,6 +1,6 @@
# Multilibs for powerpc RTEMS targets.
#
-# Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2009, 2011 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/t-spe b/gcc/config/rs6000/t-spe
index 1bed1e32b0e..02b7cf6a314 100644
--- a/gcc/config/rs6000/t-spe
+++ b/gcc/config/rs6000/t-spe
@@ -1,6 +1,6 @@
# Multilibs for e500
#
-# Copyright (C) 2003, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/rs6000/titan.md b/gcc/config/rs6000/titan.md
index ea9ce6138ba..afddc331107 100644
--- a/gcc/config/rs6000/titan.md
+++ b/gcc/config/rs6000/titan.md
@@ -1,5 +1,5 @@
;; Pipeline description for the AppliedMicro Titan core.
-;; Copyright (C) 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
;; Contributed by Theobroma Systems Design und Consulting GmbH
;;
;; This file is part of GCC.
diff --git a/gcc/config/rs6000/vector.md b/gcc/config/rs6000/vector.md
index 87a52762a4d..8a5b7f7119b 100644
--- a/gcc/config/rs6000/vector.md
+++ b/gcc/config/rs6000/vector.md
@@ -3,7 +3,7 @@
;; expander, and the actual vector instructions will be in altivec.md and
;; vsx.md
-;; Copyright (C) 2009, 2010, 2011
+;; Copyright (C) 2009, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;; Contributed by Michael Meissner <meissner@linux.vnet.ibm.com>
diff --git a/gcc/config/rs6000/xcoff.h b/gcc/config/rs6000/xcoff.h
index 4c12e1f4671..177cbe7e084 100644
--- a/gcc/config/rs6000/xcoff.h
+++ b/gcc/config/rs6000/xcoff.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for some generic XCOFF file format
- Copyright (C) 2001, 2002, 2003, 2004, 2007, 2008
+ Copyright (C) 2001, 2002, 2003, 2004, 2007, 2008, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/rx/predicates.md b/gcc/config/rx/predicates.md
index aa0321e13b7..dd9c802165b 100644
--- a/gcc/config/rx/predicates.md
+++ b/gcc/config/rx/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Renesas RX.
-;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
;; Contributed by Red Hat.
;;
;; This file is part of GCC.
diff --git a/gcc/config/rx/rx-modes.def b/gcc/config/rx/rx-modes.def
index 31e3225c677..a2bea17b321 100644
--- a/gcc/config/rx/rx-modes.def
+++ b/gcc/config/rx/rx-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target specific machine modes for the RX.
- Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of GCC.
diff --git a/gcc/config/rx/t-rx b/gcc/config/rx/t-rx
index dbd82da0c5a..083e214ba88 100644
--- a/gcc/config/rx/t-rx
+++ b/gcc/config/rx/t-rx
@@ -1,5 +1,5 @@
# Makefile fragment for building GCC for the Renesas RX target.
-# Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
# Contributed by Red Hat.
#
# This file is part of GCC.
diff --git a/gcc/config/s390/2084.md b/gcc/config/s390/2084.md
index 2379f965e2c..a1d717b55e0 100644
--- a/gcc/config/s390/2084.md
+++ b/gcc/config/s390/2084.md
@@ -1,5 +1,5 @@
;; Scheduling description for z990 (cpu 2084).
-;; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2010
+;; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011
;; Free Software Foundation, Inc.
;; Contributed by Hartmut Penner (hpenner@de.ibm.com) and
;; Ulrich Weigand (uweigand@de.ibm.com).
diff --git a/gcc/config/s390/2097.md b/gcc/config/s390/2097.md
index 333e1b26ff4..ed5c9adf696 100644
--- a/gcc/config/s390/2097.md
+++ b/gcc/config/s390/2097.md
@@ -1,5 +1,5 @@
;; Scheduling description for z10 (cpu 2097).
-;; Copyright (C) 2008, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2008, 2010, 2012 Free Software Foundation, Inc.
;; Contributed by Wolfgang Gellerich (gellerich@de.ibm.com).
diff --git a/gcc/config/s390/constraints.md b/gcc/config/s390/constraints.md
index 9d416adb165..625f680c142 100644
--- a/gcc/config/s390/constraints.md
+++ b/gcc/config/s390/constraints.md
@@ -1,5 +1,5 @@
;; Constraints definitions belonging to the gcc backend for IBM S/390.
-;; Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2008, 2012 Free Software Foundation, Inc.
;; Written by Wolfgang Gellerich, using code and information found in
;; files s390.md, s390.h, and s390.c.
;;
diff --git a/gcc/config/s390/predicates.md b/gcc/config/s390/predicates.md
index d5e185d5ac7..f42c147f93d 100644
--- a/gcc/config/s390/predicates.md
+++ b/gcc/config/s390/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for S/390 and zSeries.
-;; Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2008, 2012 Free Software Foundation, Inc.
;; Contributed by Hartmut Penner (hpenner@de.ibm.com) and
;; Ulrich Weigand (uweigand@de.ibm.com).
;;
diff --git a/gcc/config/s390/s390-opts.h b/gcc/config/s390/s390-opts.h
index ecb4e75c3fe..af3b28722ad 100644
--- a/gcc/config/s390/s390-opts.h
+++ b/gcc/config/s390/s390-opts.h
@@ -1,6 +1,6 @@
/* Definitions for option handling for IBM S/390.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/s390/s390-protos.h b/gcc/config/s390/s390-protos.h
index a494ba22893..ee0b6064c73 100644
--- a/gcc/config/s390/s390-protos.h
+++ b/gcc/config/s390/s390-protos.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for IBM S/390.
- Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
- Free Software Foundation, Inc.
+ Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
Contributed by Hartmut Penner (hpenner@de.ibm.com)
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index 286046abdff..d273b2421e1 100644
--- a/gcc/config/s390/s390.h
+++ b/gcc/config/s390/s390.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for IBM S/390
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Hartmut Penner (hpenner@de.ibm.com) and
Ulrich Weigand (uweigand@de.ibm.com).
Andreas Krebbel (Andreas.Krebbel@de.ibm.com)
diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md
index 4666122ecef..b2ed5a3f688 100644
--- a/gcc/config/s390/s390.md
+++ b/gcc/config/s390/s390.md
@@ -1,6 +1,6 @@
;;- Machine description for GNU compiler -- S/390 / zSeries version.
;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-;; 2009, 2010 Free Software Foundation, Inc.
+;; 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
;; Contributed by Hartmut Penner (hpenner@de.ibm.com) and
;; Ulrich Weigand (uweigand@de.ibm.com) and
;; Andreas Krebbel (Andreas.Krebbel@de.ibm.com)
diff --git a/gcc/config/s390/s390.opt b/gcc/config/s390/s390.opt
index cddf0683432..9404227cc6c 100644
--- a/gcc/config/s390/s390.opt
+++ b/gcc/config/s390/s390.opt
@@ -1,6 +1,7 @@
; Options for the S/390 / zSeries port of the compiler.
-; Copyright (C) 2005, 2006, 2007, 2010, 2011 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2006, 2007, 2010, 2011, 2012
+; Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/score/constraints.md b/gcc/config/score/constraints.md
index d642e1278cb..650cd068c3c 100644
--- a/gcc/config/score/constraints.md
+++ b/gcc/config/score/constraints.md
@@ -1,5 +1,6 @@
;; Constraint definitions for S+CORE
-;; Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011
+;; Free Software Foundation, Inc.
;; Contributed by Sunnorth.
;; This file is part of GCC.
diff --git a/gcc/config/score/score-generic.md b/gcc/config/score/score-generic.md
index 4ddc05b1bcb..9dbc3fa1025 100644
--- a/gcc/config/score/score-generic.md
+++ b/gcc/config/score/score-generic.md
@@ -1,6 +1,6 @@
;; Machine description for Sunplus S+CORE
;; Sunplus S+CORE Pipeline Description
-;; Copyright (C) 2005, 2007, 2010
+;; Copyright (C) 2005, 2007, 2010, 2011
;; Free Software Foundation, Inc.
;; Contributed by Sunnorth.
diff --git a/gcc/config/score/score-modes.def b/gcc/config/score/score-modes.def
index 01031881a1e..c1de89f3622 100644
--- a/gcc/config/score/score-modes.def
+++ b/gcc/config/score/score-modes.def
@@ -1,5 +1,5 @@
/* score-modes.def for Sunplus S+CORE processor
- Copyright (C) 2005, 2007, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/score/score-protos.h b/gcc/config/score/score-protos.h
index 04b67def33d..4aac940fe0e 100644
--- a/gcc/config/score/score-protos.h
+++ b/gcc/config/score/score-protos.h
@@ -1,5 +1,5 @@
/* score-protos.h for Sunplus S+CORE processor
- Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/score/score.c b/gcc/config/score/score.c
index 33efe6f0029..eb57fc053f5 100644
--- a/gcc/config/score/score.c
+++ b/gcc/config/score/score.c
@@ -1,5 +1,5 @@
/* Output routines for Sunplus S+CORE processor
- Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Sunnorth.
diff --git a/gcc/config/score/score.md b/gcc/config/score/score.md
index 9ae046ed5c9..b0ac47dbd36 100644
--- a/gcc/config/score/score.md
+++ b/gcc/config/score/score.md
@@ -1,5 +1,5 @@
;; Machine description for Sunplus S+CORE
-;; Copyright (C) 2005, 2007, 2010
+;; Copyright (C) 2005, 2007, 2010, 2011
;; Free Software Foundation, Inc.
;; Contributed by Sunnorth.
diff --git a/gcc/config/sh/newlib.h b/gcc/config/sh/newlib.h
index 3b3ec1651f1..b43feca21d3 100644
--- a/gcc/config/sh/newlib.h
+++ b/gcc/config/sh/newlib.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for gcc for Super-H using sh-superh-elf.
- Copyright (C) 2001, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2007, 2012 Free Software Foundation, Inc.
This file is part of GNU CC.
diff --git a/gcc/config/sh/predicates.md b/gcc/config/sh/predicates.md
index 83508e895ae..f19fe924445 100644
--- a/gcc/config/sh/predicates.md
+++ b/gcc/config/sh/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for Renesas / SuperH SH.
-;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2012
+;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/sh/sh-c.c b/gcc/config/sh/sh-c.c
index 94c5f99d270..9c8968469ec 100644
--- a/gcc/config/sh/sh-c.c
+++ b/gcc/config/sh/sh-c.c
@@ -1,6 +1,6 @@
/* Pragma handling for GCC for Renesas / SuperH SH.
Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+ 2003, 2004, 2005, 2006, 2007, 2012 Free Software Foundation, Inc.
Contributed by Joern Rennecke <joern.rennecke@st.com>.
This file is part of GCC.
diff --git a/gcc/config/sh/sh.opt b/gcc/config/sh/sh.opt
index df9df6d3e12..ee24bc9dfb6 100644
--- a/gcc/config/sh/sh.opt
+++ b/gcc/config/sh/sh.opt
@@ -1,6 +1,6 @@
; Options for the SH port of the compiler.
-; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
+; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
; Free Software Foundation, Inc.
;
; This file is part of GCC.
diff --git a/gcc/config/sparc/constraints.md b/gcc/config/sparc/constraints.md
index 525e3ac77b4..ca145f970a4 100644
--- a/gcc/config/sparc/constraints.md
+++ b/gcc/config/sparc/constraints.md
@@ -1,5 +1,5 @@
;; Constraint definitions for SPARC.
-;; Copyright (C) 2008, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
index ac6c537ed41..0a8e15e76ab 100644
--- a/gcc/config/sparc/linux.h
+++ b/gcc/config/sparc/linux.h
@@ -1,6 +1,6 @@
/* Definitions for SPARC running Linux-based GNU systems with ELF.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Eddie C. Dost (ecd@skynet.be)
This file is part of GCC.
diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
index f932e98a342..8b0f611aca9 100644
--- a/gcc/config/sparc/linux64.h
+++ b/gcc/config/sparc/linux64.h
@@ -1,6 +1,6 @@
/* Definitions for 64-bit SPARC running Linux-based GNU systems with ELF.
Copyright 1996, 1997, 1998, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by David S. Miller (davem@caip.rutgers.edu)
This file is part of GCC.
diff --git a/gcc/config/sparc/long-double-switch.opt b/gcc/config/sparc/long-double-switch.opt
index 8ad32bd6fe1..0fff49e993c 100644
--- a/gcc/config/sparc/long-double-switch.opt
+++ b/gcc/config/sparc/long-double-switch.opt
@@ -1,6 +1,6 @@
; Options for the SPARC port of the compiler
;
-; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/sparc/niagara.md b/gcc/config/sparc/niagara.md
index e471b84168a..bd4412d7c22 100644
--- a/gcc/config/sparc/niagara.md
+++ b/gcc/config/sparc/niagara.md
@@ -1,5 +1,5 @@
;; Scheduling description for Niagara.
-;; Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2011, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/niagara2.md b/gcc/config/sparc/niagara2.md
index 856fc018fc9..033b9833a8e 100644
--- a/gcc/config/sparc/niagara2.md
+++ b/gcc/config/sparc/niagara2.md
@@ -1,5 +1,5 @@
;; Scheduling description for Niagara-2 and Niagara-3.
-;; Copyright (C) 2007, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2011, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/predicates.md b/gcc/config/sparc/predicates.md
index b64e10919dd..5bd84a7900e 100644
--- a/gcc/config/sparc/predicates.md
+++ b/gcc/config/sparc/predicates.md
@@ -1,5 +1,6 @@
;; Predicate definitions for SPARC.
-;; Copyright (C) 2005, 2007, 2008, 2010, 2012 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2008, 2010, 2011, 2012
+;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/sol2.h b/gcc/config/sparc/sol2.h
index 25ff3473650..9d6db4bde28 100644
--- a/gcc/config/sparc/sol2.h
+++ b/gcc/config/sparc/sol2.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GCC, for SPARC running Solaris 2
Copyright 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005,
- 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
+ 2006, 2007, 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Ron Guilmette (rfg@netcom.com).
Additional changes by David V. Henkel-Wallace (gumby@cygnus.com).
diff --git a/gcc/config/sparc/sparc-modes.def b/gcc/config/sparc/sparc-modes.def
index a5849c984b1..0e0ef396161 100644
--- a/gcc/config/sparc/sparc-modes.def
+++ b/gcc/config/sparc/sparc-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GCC, for Sun SPARC.
- Copyright (C) 2002, 2004, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004, 2007, 2011 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com).
64 bit SPARC V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
at Cygnus Support.
diff --git a/gcc/config/sparc/sparc-protos.h b/gcc/config/sparc/sparc-protos.h
index d5b2b1f4e81..535bcaf9fe4 100644
--- a/gcc/config/sparc/sparc-protos.h
+++ b/gcc/config/sparc/sparc-protos.h
@@ -1,6 +1,6 @@
/* Prototypes of target machine for SPARC.
- Copyright (C) 1999, 2000, 2003, 2004, 2005, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com).
64-bit SPARC-V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
at Cygnus Support.
diff --git a/gcc/config/sparc/sparc.opt b/gcc/config/sparc/sparc.opt
index 241cb07b749..67c27916050 100644
--- a/gcc/config/sparc/sparc.opt
+++ b/gcc/config/sparc/sparc.opt
@@ -1,6 +1,6 @@
; Options for the SPARC port of the compiler
;
-; Copyright (C) 2005, 2007, 2010, 2011 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2010, 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/sparc/sync.md b/gcc/config/sparc/sync.md
index 0295e6ee24a..9a4e2fa5cb3 100644
--- a/gcc/config/sparc/sync.md
+++ b/gcc/config/sparc/sync.md
@@ -1,5 +1,5 @@
;; GCC machine description for SPARC synchronization instructions.
-;; Copyright (C) 2005, 2007, 2009, 2010, 2011
+;; Copyright (C) 2005, 2007, 2009, 2010, 2011, 2012
;; Free Software Foundation, Inc.
;;
;; This file is part of GCC.
diff --git a/gcc/config/sparc/t-linux64 b/gcc/config/sparc/t-linux64
index a56d807cef9..5c5569e36fa 100644
--- a/gcc/config/sparc/t-linux64
+++ b/gcc/config/sparc/t-linux64
@@ -1,5 +1,5 @@
# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004,
-# 2006, 2010, 2011 Free Software Foundation, Inc.
+# 2006, 2010, 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/sparc/t-sparc b/gcc/config/sparc/t-sparc
index 432eb3e0e53..a172a4ca191 100644
--- a/gcc/config/sparc/t-sparc
+++ b/gcc/config/sparc/t-sparc
@@ -1,6 +1,6 @@
# General rules that all sparc/ targets must have.
#
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011, 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/sparc/ultra1_2.md b/gcc/config/sparc/ultra1_2.md
index 0ab32e5c5d2..cb620b2ce0f 100644
--- a/gcc/config/sparc/ultra1_2.md
+++ b/gcc/config/sparc/ultra1_2.md
@@ -1,5 +1,5 @@
;; Scheduling description for UltraSPARC-I/II.
-;; Copyright (C) 2002, 2004, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2007, 2011, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/sparc/ultra3.md b/gcc/config/sparc/ultra3.md
index f85734b948b..6db4020e9c8 100644
--- a/gcc/config/sparc/ultra3.md
+++ b/gcc/config/sparc/ultra3.md
@@ -1,5 +1,5 @@
;; Scheduling description for UltraSPARC-III.
-;; Copyright (C) 2002, 2004, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2007, 2011, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/spu/predicates.md b/gcc/config/spu/predicates.md
index 2d2e77b5e44..5c5bce50573 100644
--- a/gcc/config/spu/predicates.md
+++ b/gcc/config/spu/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for CELL SPU
-;; Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2011 Free Software Foundation, Inc.
;;
;; This file is free software; you can redistribute it and/or modify it under
;; the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu-builtins.def b/gcc/config/spu/spu-builtins.def
index 6095e9cbc3c..e1a68921f99 100644
--- a/gcc/config/spu/spu-builtins.def
+++ b/gcc/config/spu/spu-builtins.def
@@ -1,5 +1,6 @@
/* Definitions of builtin functions for the Synergistic Processing Unit (SPU). */
-/* Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2006, 2007, 2008, 2009, 2010, 2012
+ Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu-builtins.md b/gcc/config/spu/spu-builtins.md
index 6f7baadb295..85f94b72ed4 100644
--- a/gcc/config/spu/spu-builtins.md
+++ b/gcc/config/spu/spu-builtins.md
@@ -1,4 +1,4 @@
-;; Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2012 Free Software Foundation, Inc.
;; This file is free software; you can redistribute it and/or modify it under
;; the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu-c.c b/gcc/config/spu/spu-c.c
index 6fa8d17e467..3128e52fb71 100644
--- a/gcc/config/spu/spu-c.c
+++ b/gcc/config/spu/spu-c.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2006, 2007, 2008, 2009, 2010, 2012
+ Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/spu.c b/gcc/config/spu/spu.c
index 15e7c2e2bba..68121a21995 100644
--- a/gcc/config/spu/spu.c
+++ b/gcc/config/spu/spu.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
+/* Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
diff --git a/gcc/config/spu/spu.h b/gcc/config/spu/spu.h
index 031b80e1602..55ee283afae 100644
--- a/gcc/config/spu/spu.h
+++ b/gcc/config/spu/spu.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
+/* Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it under
diff --git a/gcc/config/spu/spu.md b/gcc/config/spu/spu.md
index b3fc8af3262..0cc4e66a45a 100644
--- a/gcc/config/spu/spu.md
+++ b/gcc/config/spu/spu.md
@@ -1,4 +1,5 @@
-;; Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
+;; Free Software Foundation, Inc.
;; This file is free software; you can redistribute it and/or modify it under
;; the terms of the GNU General Public License as published by the Free
diff --git a/gcc/config/spu/t-spu-elf b/gcc/config/spu/t-spu-elf
index 83a16191d18..6180cfd29d0 100644
--- a/gcc/config/spu/t-spu-elf
+++ b/gcc/config/spu/t-spu-elf
@@ -1,4 +1,4 @@
-# Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
+# Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
# Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it under
diff --git a/gcc/config/stormy16/predicates.md b/gcc/config/stormy16/predicates.md
index 7270c7fe7a7..af61c19a248 100644
--- a/gcc/config/stormy16/predicates.md
+++ b/gcc/config/stormy16/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for XSTORMY16.
-;; Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2008, 2011 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c
index 782217c9bb8..88329ebe4c3 100644
--- a/gcc/config/stormy16/stormy16.c
+++ b/gcc/config/stormy16/stormy16.c
@@ -1,6 +1,6 @@
/* Xstormy16 target functions.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/stormy16/stormy16.h b/gcc/config/stormy16/stormy16.h
index 88bd4530f0c..a22c3a3c1e1 100644
--- a/gcc/config/stormy16/stormy16.h
+++ b/gcc/config/stormy16/stormy16.h
@@ -1,6 +1,6 @@
/* Xstormy16 cpu description.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007,
- 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of GCC.
diff --git a/gcc/config/stormy16/stormy16.md b/gcc/config/stormy16/stormy16.md
index 3eb74b72e0f..0ce9ab021b8 100644
--- a/gcc/config/stormy16/stormy16.md
+++ b/gcc/config/stormy16/stormy16.md
@@ -1,6 +1,6 @@
;; XSTORMY16 Machine description template
;; Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2007, 2008,
-;; 2010 Free Software Foundation, Inc.
+;; 2010, 2011 Free Software Foundation, Inc.
;; Contributed by Red Hat, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/t-darwin b/gcc/config/t-darwin
index 0e8346b6a89..cad189a841d 100644
--- a/gcc/config/t-darwin
+++ b/gcc/config/t-darwin
@@ -1,5 +1,5 @@
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
-# Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+# 2012 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/config/tilepro/gen-mul-tables.cc b/gcc/config/tilepro/gen-mul-tables.cc
index 5f4551b356f..b356871c483 100644
--- a/gcc/config/tilepro/gen-mul-tables.cc
+++ b/gcc/config/tilepro/gen-mul-tables.cc
@@ -1,6 +1,5 @@
/* Multiply table generator for tile.
- Copyright (C) 2011, 2012
- Free Software Foundation, Inc.
+ Copyright (C) 2011, 2012 Free Software Foundation, Inc.
Contributed by Walter Lee (walt@tilera.com)
This file is part of GCC.
@@ -1231,8 +1230,7 @@ main ()
#else
printf ("/* Constant multiply table for TILE-Gx.\n");
#endif
- printf (" Copyright (C) 2011, 2012\n");
- printf (" Free Software Foundation, Inc.\n");
+ printf (" Copyright (C) 2011, 2012 Free Software Foundation, Inc.\n");
printf (" Contributed by Walter Lee (walt@tilera.com)\n");
printf ("\n");
printf (" This file is part of GCC.\n");
diff --git a/gcc/config/v850/predicates.md b/gcc/config/v850/predicates.md
index 404b89e25da..7f32b413ca5 100644
--- a/gcc/config/v850/predicates.md
+++ b/gcc/config/v850/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for NEC V850.
-;; Copyright (C) 2005, 2007, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2007, 2010, 2011, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/v850/v850-modes.def b/gcc/config/v850/v850-modes.def
index 42220ba0b9a..c164cb3946f 100644
--- a/gcc/config/v850/v850-modes.def
+++ b/gcc/config/v850/v850-modes.def
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. NEC V850 series
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2012 Free Software Foundation, Inc.
Contributed by NEC EL
This file is part of GCC.
diff --git a/gcc/config/v850/v850.md b/gcc/config/v850/v850.md
index c7735523598..05a6988015e 100644
--- a/gcc/config/v850/v850.md
+++ b/gcc/config/v850/v850.md
@@ -1,6 +1,6 @@
;; GCC machine description for NEC V850
-;; Copyright (C) 1996, 1997, 1998, 1999, 2002, 2004, 2005, 2007, 2008, 2010, 2012
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 1998, 1999, 2002, 2004, 2005, 2007, 2008, 2010,
+;; 2011, 2012 Free Software Foundation, Inc.
;; Contributed by Jeff Law (law@cygnus.com).
;; This file is part of GCC.
diff --git a/gcc/config/vax/constraints.md b/gcc/config/vax/constraints.md
index 6c0256b4553..47544a4491b 100644
--- a/gcc/config/vax/constraints.md
+++ b/gcc/config/vax/constraints.md
@@ -1,5 +1,5 @@
;; Constraints for the DEC VAX port.
-;; Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/vax/elf.h b/gcc/config/vax/elf.h
index 7796f348d59..eae22ca8027 100644
--- a/gcc/config/vax/elf.h
+++ b/gcc/config/vax/elf.h
@@ -1,5 +1,5 @@
/* Target definitions for GNU compiler for VAX using ELF
- Copyright (C) 2002, 2004, 2005, 2007, 2008, 2009, 2010
+ Copyright (C) 2002, 2004, 2005, 2007, 2008, 2009, 2010, 2012
Free Software Foundation, Inc.
Contributed by Matt Thomas <matt@3am-software.com>
diff --git a/gcc/config/vax/predicates.md b/gcc/config/vax/predicates.md
index b15c281386f..d3607b90a9c 100644
--- a/gcc/config/vax/predicates.md
+++ b/gcc/config/vax/predicates.md
@@ -1,5 +1,5 @@
;; Predicate definitions for DEC VAX.
-;; Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
diff --git a/gcc/config/vax/vax-protos.h b/gcc/config/vax/vax-protos.h
index 5363877a36d..f2f5e70854e 100644
--- a/gcc/config/vax/vax-protos.h
+++ b/gcc/config/vax/vax-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. VAX version.
- Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007, 2009, 2010
+ Copyright (C) 2000, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vax/vax.c b/gcc/config/vax/vax.c
index e13ad8e7048..b90fce99433 100644
--- a/gcc/config/vax/vax.c
+++ b/gcc/config/vax/vax.c
@@ -1,6 +1,6 @@
/* Subroutines for insn-output.c for VAX.
Copyright (C) 1987, 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002,
- 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vax/vax.md b/gcc/config/vax/vax.md
index 342c0e19dcc..6540b173da9 100644
--- a/gcc/config/vax/vax.md
+++ b/gcc/config/vax/vax.md
@@ -1,6 +1,6 @@
;; Machine description for GNU compiler, VAX Version
;; Copyright (C) 1987, 1988, 1991, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-;; 2002, 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+;; 2002, 2004, 2005, 2007, 2009, 2011, 2012 Free Software Foundation, Inc.
;; This file is part of GCC.
diff --git a/gcc/config/vax/vax.opt b/gcc/config/vax/vax.opt
index 83527adfbea..511b353b7e4 100644
--- a/gcc/config/vax/vax.opt
+++ b/gcc/config/vax/vax.opt
@@ -1,6 +1,6 @@
; Options for the VAX port of the compiler.
-; Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc.
+; Copyright (C) 2005, 2007, 2009, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/vms/make-crtlmap.awk b/gcc/config/vms/make-crtlmap.awk
index 63be6e708ab..1fb6dda88a4 100644
--- a/gcc/config/vms/make-crtlmap.awk
+++ b/gcc/config/vms/make-crtlmap.awk
@@ -1,5 +1,5 @@
# Generate the VMS crtl map
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011, 2012 Free Software Foundation, Inc.
BEGIN {
is_first = 1;
diff --git a/gcc/config/vms/t-vms b/gcc/config/vms/t-vms
index f2161b7861b..f298333163b 100644
--- a/gcc/config/vms/t-vms
+++ b/gcc/config/vms/t-vms
@@ -1,4 +1,4 @@
-# Copyright (C) 2009, 2010, 2011
+# Copyright (C) 2009, 2010, 2011, 2012
# Free Software Foundation, Inc.
#
# This file is part of GCC.
diff --git a/gcc/config/vms/t-vmsnative b/gcc/config/vms/t-vmsnative
index 27d3ca07ef4..c5ad9af01bf 100644
--- a/gcc/config/vms/t-vmsnative
+++ b/gcc/config/vms/t-vmsnative
@@ -1,4 +1,4 @@
-# Copyright (C) 2010
+# Copyright (C) 2010, 2011, 2012
# Free Software Foundation, Inc.
#
# This file is part of GCC.
diff --git a/gcc/config/vms/vms-c.c b/gcc/config/vms/vms-c.c
index 733932336a9..1768c1e3d2e 100644
--- a/gcc/config/vms/vms-c.c
+++ b/gcc/config/vms/vms-c.c
@@ -1,5 +1,5 @@
/* VMS specific, C compiler specific functions.
- Copyright (C) 2011
+ Copyright (C) 2011, 2012
Free Software Foundation, Inc.
Contributed by Tristan Gingold (gingold@adacore.com).
diff --git a/gcc/config/vms/vms-ld.c b/gcc/config/vms/vms-ld.c
index cc57d8a24be..d46bfbc3a65 100644
--- a/gcc/config/vms/vms-ld.c
+++ b/gcc/config/vms/vms-ld.c
@@ -1,5 +1,5 @@
/* VMS linker wrapper.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011, 2012 Free Software Foundation, Inc.
Contributed by AdaCore
This file is part of GCC.
diff --git a/gcc/config/vms/vms-protos.h b/gcc/config/vms/vms-protos.h
index dcff82474f7..338ac9deb79 100644
--- a/gcc/config/vms/vms-protos.h
+++ b/gcc/config/vms/vms-protos.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GCC for VMS.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vms/vms.c b/gcc/config/vms/vms.c
index 65bf42acc5f..0dd39a574d4 100644
--- a/gcc/config/vms/vms.c
+++ b/gcc/config/vms/vms.c
@@ -1,5 +1,5 @@
/* Definitions of target machine GNU compiler. 32bit VMS version.
- Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Douglas B Rupp (rupp@gnat.com).
This file is part of GCC.
diff --git a/gcc/config/vms/vms.h b/gcc/config/vms/vms.h
index 8eb5606b09e..e9eea2c3e8a 100644
--- a/gcc/config/vms/vms.h
+++ b/gcc/config/vms/vms.h
@@ -1,5 +1,5 @@
/* Definitions of target machine GNU compiler. VMS common version.
- Copyright (C) 2003-2009,2011 Free Software Foundation, Inc.
+ Copyright (C) 2003-2009,2011-2012 Free Software Foundation, Inc.
Contributed by Douglas B Rupp (rupp@gnat.com).
This file is part of GCC.
diff --git a/gcc/config/vms/vms.opt b/gcc/config/vms/vms.opt
index 4afe6345d7a..2ff6356a962 100644
--- a/gcc/config/vms/vms.opt
+++ b/gcc/config/vms/vms.opt
@@ -1,4 +1,4 @@
-; Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+; Copyright (C) 2009, 2011, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/config/vms/xm-vms.h b/gcc/config/vms/xm-vms.h
index 631724e92ee..1b92737e4ec 100644
--- a/gcc/config/vms/xm-vms.h
+++ b/gcc/config/vms/xm-vms.h
@@ -1,6 +1,6 @@
/* Configuration for GCC for hosting on VMS
using a Unix style C library.
- Copyright (C) 1996, 1997, 2001, 2004, 2007, 2009, 2011
+ Copyright (C) 1996, 1997, 2001, 2004, 2007, 2009, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vxworks-dummy.h b/gcc/config/vxworks-dummy.h
index e2ea7fa4d64..d7a413a3f9a 100644
--- a/gcc/config/vxworks-dummy.h
+++ b/gcc/config/vxworks-dummy.h
@@ -1,5 +1,5 @@
/* Dummy definitions of VxWorks-related macros
- Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/config/vxworks.h b/gcc/config/vxworks.h
index 000de3604f6..885497c2a9c 100644
--- a/gcc/config/vxworks.h
+++ b/gcc/config/vxworks.h
@@ -1,5 +1,5 @@
/* Common VxWorks target definitions for GNU compiler.
- Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2010
+ Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2010, 2012
Free Software Foundation, Inc.
Contributed by Wind River Systems.
Rewritten by CodeSourcery, LLC.
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
index 38dc7d5b933..a1f13ec410e 100644
--- a/gcc/config/xtensa/xtensa.c
+++ b/gcc/config/xtensa/xtensa.c
@@ -1,6 +1,6 @@
/* Subroutines for insn-output.c for Tensilica's Xtensa architecture.
- Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
- Free Software Foundation, Inc.
+ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h
index 50e221a130f..5897c5373f7 100644
--- a/gcc/config/xtensa/xtensa.h
+++ b/gcc/config/xtensa/xtensa.h
@@ -1,6 +1,6 @@
/* Definitions of Tensilica's Xtensa target machine for GNU compiler.
- Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
- Free Software Foundation, Inc.
+ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
This file is part of GCC.
diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md
index b87f08988ea..5cd2a6e4ed9 100644
--- a/gcc/config/xtensa/xtensa.md
+++ b/gcc/config/xtensa/xtensa.md
@@ -1,6 +1,6 @@
;; GCC machine description for Tensilica's Xtensa architecture.
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-;; Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+;; 2012 Free Software Foundation, Inc.
;; Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
;; This file is part of GCC.
diff --git a/gcc/coverage.h b/gcc/coverage.h
index 1f3662b7455..68d17cc63fc 100644
--- a/gcc/coverage.h
+++ b/gcc/coverage.h
@@ -1,5 +1,5 @@
/* coverage.h - Defines data exported from coverage.c
- Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2007, 2008
+ Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2007, 2008, 2011
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index f2148f72667..1aecad0bbd8 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3079 +1,51 @@
-2013-01-02 Jason Merrill <jason@redhat.com>
-
- PR c++/54325
- * call.c (build_new_method_call_1): Don't use build_value_init for
- user-provided default constructors.
-
- * decl.c (check_default_argument): Use LOOKUP_IMPLICIT.
-
- PR c++/55032
- PR c++/55245
- * tree.c (build_cplus_array_type): Copy layout information
- to main variant if necessary.
-
-2012-12-28 Kai Tietz <ktietz@redhat.com>
-
- * rtti.c (LONGPTR_T): New helper-macro.
- (get_pseudo_ti_init): Initialize offset_type by LONGPTR_T
- type instead of 'long' type.
- (create_tinfo_types): Use for offset/flags field LONGPTR_T
- type instead of 'long' type.
-
-2012-12-19 Jason Merrill <jason@redhat.com>
-
- PR c++/55724
- * pt.c (type_unification_real): Re-combine post-deduction loops.
-
-2012-12-14 Jason Merrill <jason@redhat.com>
-
- PR c++/55685
- * pt.c (tsubst_copy_and_build): Don't use SIZEOF_EXPR_TYPE_P in
- templates.
-
- PR c++/42315
- * decl.c (maybe_deduce_size_from_array_init): Don't change the
- variable type.
-
-2012-12-13 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/55652
- * typeck2.c (merge_exception_specifiers): Don't call operand_equal_p
- if noex is NULL.
-
-2012-12-11 Jason Merrill <jason@redhat.com>
-
- PR c++/54883
- * decl2.c (min_vis_r): Handle anon visibility for enums.
-
-2012-12-11 Marc Glisse <marc.glisse@inria.fr>
+2013-01-04 Jason Merrill <jason@redhat.com>
- PR c++/53094
- * tree.c (cp_tree_equal): Handle VECTOR_CST.
- * semantics.c (cxx_eval_bare_aggregate): Protect a dereference.
- Handle VECTOR_CST.
+ PR c++/55877
+ * decl.c (reset_type_linkage, bt_reset_linkage): New.
+ (grokdeclarator): Use reset_type_linkage.
+ * name-lookup.c (binding_table_foreach): Handle null table.
+ * tree.c (decl_anon_ns_mem_p): Check TYPE_MAIN_DECL, not TYPE_NAME.
-2012-12-11 Jakub Jelinek <jakub@redhat.com>
+2013-01-04 Paolo Carlini <paolo.carlini@oracle.com>
- PR c++/55643
- * expr.c (mark_exp_read): Handle FLOAT_EXPR similarly to NOP_EXPR.
+ PR c++/54526 (again)
+ * parser.c (cp_parser_template_id): Revert core of previous change
+ (keep adjusted inform message).
-2012-12-11 Jason Merrill <jason@redhat.com>
-
- PR c++/54416
- * pt.c (maybe_process_partial_specialization): Don't accept
- definition of a specialization without the appropriate header.
-
- * pt.c (maybe_process_partial_specialization): Handle aliases first.
-
-2012-12-11 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/55619
- * semantics.c (finish_asm_stmt): Don't call decay_conversion
- on input operands that can be only in memory.
-
-2012-12-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * Make-lang.in (cp/typeck.o): Add dependency on $(PARAMS_H).
- (cp/name-lookup.o): Likewise.
-
-2012-12-10 Steven Bosscher <steven@gcc.gnu.org>
-
- * decl2.c (cp_write_global_declarations): Return after writing a PCH.
-
-2012-12-07 Jason Merrill <jason@redhat.com>
-
- PR c++/55127
- * search.c (accessible_in_template_p): New.
- * cp-tree.h: Declare it.
- * pt.c (instantiation_dependent_scope_ref_p): New.
- (value_dependent_expression_p): Use it.
- (instantiation_dependent_r): Likewise.
- * semantics.c (finish_decltype_type): Handle SCOPE_REF.
+2013-01-03 Jason Merrill <jason@redhat.com>
PR c++/55419
- * tree.c (build_target_expr): Don't set TREE_CONSTANT.
-
-2012-12-07 Aldy Hernandez <aldyh@redhat.com>
-
- PR c++/55513
- * semantics.c (cxx_eval_builtin_function_call): Set non_constant_p
- after folding.
-
-2012-12-07 Paolo Carlini <paolo.carlini@oracle.com>
-
- * tree.c (build_aggr_init_expr): Remove tsubst_flags_t parameter.
- (build_cplus_new): Adjust.
- * cp-tree.h: Adjust declaration.
- * init.c (build_value_init): Adjust.
-
-2012-12-07 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/54401
- * parser.c (cp_parser_alias_declaration): Commit to tentative
- parse when see the '=' token. Get out if the type-id is invalid.
- Update function comment.
- (cp_parser_member_declaration): Don't try to parse a using
- declaration if we know that we expected an alias declaration; that
- is, if we see the '=' token after the identifier.
-
-2012-12-06 Jason Merrill <jason@redhat.com>
-
- PR c++/54325
- * tree.c (build_aggr_init_expr): Don't check for abstract class.
- (build_cplus_new): Check here instead.
-
- PR c++/55058
- * pt.c (tsubst): Keep the quals when looking through a typedef.
-
- PR c++/55249
- * tree.c (build_vec_init_elt): Use the type of the initializer.
-
- PR c++/54744
- * pt.c (resolve_typename_type): Check TYPENAME_IS_RESOLVING_P on scope.
- * init.c (expand_member_init): Check for being in a template first.
- * parser.c (cp_parser_mem_initializer_list): Only check class types
- for equivalence to the current class.
-
- PR c++/54913
- * semantics.c (finish_qualified_id_expr): convert_from_reference
- after building a SCOPE_REF.
-
-2012-12-06 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/54207
- * except.c (build_noexcept_spec): Avoid direct comparison
- with boolean_true_node or boolean_false_node, instead use
- operand_equal_p and/or INTEGER_CST check.
- * pt.c (tsubst_exception_specification): Likewise.
- * typeck2.c (merge_exception_specifiers): Likewise.
-
-2012-12-06 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/55573
- * semantics.c (adjust_temp_type): Handle VECTOR_CST.
-
-2012-12-06 Jason Merrill <jason@redhat.com>
-
- PR c++/54947
- * parser.c (cp_parser_initializer_list): Don't require an
- expression in [] to be constant until we know it's a C99
- designator.
-
- PR c++/55015
- PR c++/53821
- * semantics.c (maybe_add_lambda_conv_op): Revert earlier change.
- * decl.c (start_preparsed_function): Make local class methods comdat
- in templates, too.
-
- PR c++/54653
- * parser.c (cp_parser_class_head): A partial specialization scope
- counts as a template.
- * pt.c (tsubst_template_parms): Handle template template parm parms.
- (tsubst_decl) [TEMPLATE_DECL]: Handle getting a template template
- argument back.
-
- PR c++/55564
- * pt.c (unify) [ARRAY_TYPE]: Unify the element type before the bounds.
-
-2012-12-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54170
- * cvt.c (cp_convert_to_pointer): Don't discard side-effects from
- expressions of nullptr_t.
- * typeck.c (build_ptrmemfunc): Likewise.
-
-2012-12-01 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/55542
- * pt.c (make_ith_pack_parameter_name): Return NULL if
- name is NULL.
- (tsubst_decl): Call make_ith_pack_parameter_name even if
- DECL_NAME is NULL.
-
-2012-11-29 Jason Merrill <jason@redhat.com>
-
- PR c++/53137
- * pt.c (tsubst_expr) [DECL_EXPR]: Set LAMBDA_EXPR_THIS_CAPTURE here.
- (tsubst_copy_and_build) [LAMBDA_EXPR]: And clear it here.
- (instantiate_class_template_1): Not here.
-
-2012-11-29 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/53094
- * cvt.c (ocp_convert): Call convert_to_vector.
-
-2012-11-29 Kai Tietz <ktietz@redhat.com>
-
- PR target/53912
- * class.c (dump_class_hierarchy_r): Cast from pointer via uintptr_t.
- (dump_vtable): Likewise.
-
-2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- PR c++/52654
- * parser.c (cp_parser_string_literal): Add overflow_type arg.
- (cp_parser_userdef_numeric_literal): Warn on numeric overflow.
-
-2012-11-28 Andrew Pinski <apinski@cavium.com>
-
- PR bootstrap/54279
- * Make-lang.in (g++$(exeext)): Rename to
- (xg++$(exeext)): This.
- (g++-cross$(exeext)): Use xg++$(exeext) instead of g++$(exeext).
- (c++.start.encap): Likewise.
- (c++.install-common): Likewise.
-
-2012-11-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/55446
- * init.c (build_vec_init): Do not early return error_mark_mode
- when integer_all_onesp (maxindex).
-
-2012-11-23 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/54046
- * cp-objcp-common.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Redefine.
- * cp-objcp-common.c (cxx_block_may_fallthru): New function.
- * cp-tree.h (cxx_block_may_fallthru): New prototype.
-
-2012-11-23 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- PR c++/55418
- * method.c (implicitly_declare_fn): Properly initialize trivial_p.
-
-2012-11-22 Jason Merrill <jason@redhat.com>
-
- PR c++/55137
- * semantics.c (verify_constant): Track overflow separately.
- (reduced_constant_expression_p): Don't check it here.
- (cxx_eval_constant_expression): Check it on CSTs.
- (cxx_eval_outermost_constant_expr): Treat overflows as non-constant
- at this point, but still return the folded version.
- (potential_constant_expression_1): Don't check overflow.
-
- * call.c (extend_ref_init_temps_1): Recompute TREE_CONSTANT for
- the ADDR_EXPR.
-
-2012-11-20 Diego Novillo <dnovillo@google.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * name-lookup.c: Replace all vec<T, A>() initializers
- with vNULL.
- * semantics.c: Likewise.
-
-2012-11-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/55368
- * parser.c (cp_parser_member_declaration): Emit an error in case
- of stray comma at end of member declaration.
-
-2012-11-19 Jason Merrill <jason@redhat.com>
-
- * class.c (one_inheriting_sig): Don't inherit base copy ctors.
-
- PR c++/55262
- * method.c (implicitly_declare_fn): Set DECL_PARM_INDEX on
- the parms of an inheriting ctor.
-
- PR c++/55261
- * class.c (add_implicitly_declared_members): Use
- lookup_fnfields_slot to get the base constructors.
-
-2012-11-19 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/54630
- * class.c (fixed_type_or_null_ref_ht): New variable.
- (fixed_type_or_null): Use it instead of local static ht.
-
-2012-11-17 Diego Novillo <dnovillo@google.com>
-
- Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
-
- * Make-lang.in: Remove dependencies on vecir.h and vecprim.h everywhere.
- * call.c: Use new vec API in vec.h.
- * class.c: Likewise.
- * cp-gimplify.c: Likewise.
- * cp-tree.h: Likewise.
- * cvt.c: Likewise.
- * decl.c: Likewise.
- * decl2.c: Likewise.
- * error.c: Likewise.
- * except.c: Likewise.
- * init.c: Likewise.
- * mangle.c: Likewise.
- * method.c: Likewise.
- * name-lookup.c: Likewise.
- * name-lookup.h: Likewise.
- * parser.c: Likewise.
- * parser.h: Likewise.
- * pt.c: Likewise.
- * repo.c: Likewise.
- * rtti.c: Likewise.
- * search.c: Likewise.
- * semantics.c: Likewise.
- * tree.c: Likewise.
- * typeck.c: Likewise.
- * typeck2.c: Likewise.
-
-2012-11-17 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * semantics.c (finish_id_expression): Tidy diagnostic message.
-
-2012-11-16 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/54875
- * pt.c (lookup_template_class_1): Look at the type of the
- potential member enum of class template to determine if we are
- actually substituting into a member enum of class template.
-
-2012-11-16 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/55337
- * tree.c (cp_tree_equal) <case ALIGNOF_EXPR>: Use SIZEOF_EXPR_TYPE_P
- only on SIZEOF_EXPR.
-
-2012-11-14 Jason Merrill <jason@redhat.com>
-
- PR c++/54903
- * decl2.c (mark_used): Don't complain about auto in templates.
-
- PR c++/37276
- * decl.c (decls_match): Remove #ifdef around earlier fix.
-
-2012-11-13 Jason Merrill <jason@redhat.com>
-
- * class.c (finish_struct_1): Check virtual functions
- for missing ABI tags.
-
- PR c++/55275
- * pt.c (maybe_process_partial_specialization): Update
- DECL_SOURCE_LOCATION for new specializations.
-
-2012-11-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/55323
- * init.c (emit_mem_initializers): Skip arguments == error_mark_node.
-
-2012-11-14 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/11750
- * call.c (build_new_method_call_1): Check that the instance type
- and the function context are the same before setting the flag
- LOOKUP_NONVIRTUAL.
-
-2012-11-13 Sriraman Tallam <tmsriram@google.com>
-
- * class.c (mark_versions_used): Remove.
- (resolve_address_of_overloaded_function): Call target hook
- for versioned functions. Refactor to call
- get_function_versions_dispatcher.
- * decl.c (duplicate_decls): Add comments.
- * cp/call.c (get_function_version_dispatcher): Expose function.
- (mark_versions_used): Expose function.
- * cp/cp-tree.h (mark_versions_used): New declaration.
- (get_function_version_dispatcher): Ditto.
-
-2012-11-13 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/54466
- * pt.c (lookup_template_class_1): TYPE_STUB_DECL should be
- accessed on the main variant of the type.
-
-2012-11-12 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- * parser.c (cp_parser_objc_class_ivars):
- Index declspecs.locations by ds_typedef rather than ds_thread.
-
-2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- PR c++/54413
- * decl.c (grokfndecl): Adjust calls to interpret_x_suffix.
-
-2012-11-09 Jason Merrill <jason@redhat.com>
-
- PR c++/54859
- * pt.c (check_instantiated_arg): Don't complain about dependent args.
-
- * tree.c (cxx_attribute_table): Add abi_tag attribute.
- (check_abi_tag_redeclaration, handle_abi_tag_attribute): New.
- * class.c (find_abi_tags_r, check_abi_tags): New.
- (check_bases, check_field_decl): Call check_abi_tags.
- * decl.c (redeclaration_error_message): Call
- check_abi_tag_redeclaration.
- * mangle.c (tree_string_cmp, write_abi_tags): New.
- (write_unqualified_name): Call write_abi_tags.
-
-2012-11-07 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/55226
- Revert:
- 2012-10-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54922
- * semantics.c (cx_check_missing_mem_inits): Handle anonymous union
- members.
-
-2012-11-07 Florian Weimer <fweimer@redhat.com>
-
- * init.c (build_new_1): Do not check for arithmetic overflow if
- inner array size is 1.
-
-2012-11-05 Sriraman Tallam <tmsriram@google.com>
-
- * class.c (add_method): Change assembler names of function versions.
- (mark_versions_used): New static function.
- (resolve_address_of_overloaded_function): Create dispatcher decl and
- return address of dispatcher instead.
- * decl.c (decls_match): Make decls unmatched for versioned
- functions.
- (duplicate_decls): Remove ambiguity for versioned functions.
- Delete versioned function data for merged decls.
- * decl2.c (check_classfn): Check attributes of versioned functions
- for match.
- * call.c (get_function_version_dispatcher): New function.
- (mark_versions_used): New static function.
- (build_over_call): Make calls to multiversioned functions
- to call the dispatcher.
- (joust): For calls to multi-versioned functions, make the most
- specialized function version win.
-
-2012-10-31 Lawrence Crowl <crowl@google.com>
-
- * decl2.c (var_finalized_p): Rename varpool_node to
- varpool_node_for_decl.
- (maybe_emit_vtables): Likewise.
-
-2012-10-31 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54583
- * tree.c (build_cplus_array_type): Set TREE_NO_WARNING on the
- TYPE_SIZE of VLAs.
-
-2012-10-31 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/54955
- * parser.c (cp_nth_tokens_can_be_std_attribute_p): Recognize the
- 'Alignas' keyword as the beginning of a c++11 attribute specifier.
- Update the comment of the function.
- (cp_next_tokens_can_be_gnu_attribute_p): Update the comment of the
- function.
-
-2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/54930
- * typeck.c (maybe_warn_about_returning_address_of_local): Use
- OPT_Wreturn_local_addr.
-
-2012-10-26 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/55081
- * typeck2.c (store_init_value): Call fold_non_dependent_expr
- and maybe_constant_init even for C++98.
-
-2012-10-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54984
- * init.c (build_new): Don't turn a null *init into a pointer to
- empty vector orig_init.
-
-2012-10-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53761
- * class.c (finish_struct_1): Reject aggregates decorated with
- __transparent_union__ which cannot be made transparent because
- the type of the first field has a different ABI from the class
- overall.
-
-2012-10-25 Jason Merrill <jason@redhat.com>
-
- Core 1402
- * call.c (joust): An implicitly deleted move function is
- worse than any non-deleted function.
- * method.c (process_subob_fn): No special rules for move.
- (synthesized_method_walk, implicitly_declare_fn): Likewise.
- Warn about virtual base with non-trivial move assignment.
- * cp-tree.h (struct lang_decl_fn): Remove suppress_implicit_decl.
- (FNDECL_SUPPRESS_IMPLICIT_DECL): Remove.
-
- * semantics.c (finish_omp_threadprivate): Call complete_type.
-
- * class.c (one_inherited_ctor): Warn about variadic inherited ctor.
-
-2012-10-25 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/54427
- * typeck.c (build_x_conditional_expr): Handle VEC_COND_EXPR.
- * call.c (build_conditional_expr_1): Likewise.
-
-2012-10-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/34892
- * parser.c (cp_parser_template_parameter): When
- cp_parser_parameter_declaration parsed a default argument don't
- see if *is_parameter_pack needs setting.
-
-2012-10-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54922
- * semantics.c (cx_check_missing_mem_inits): Handle anonymous union
- members.
-
-2012-10-23 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/54844
- * pt.c (tsubst_copy, tsubst_copy_and_build) <case SIZEOF_EXPR>: Use
- tsubst instead of tsubst_copy* on types.
-
- PR c++/54988
- * decl2.c (cplus_decl_attributes): Don't return early
- if attributes is NULL.
-
-2012-10-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54501
- * decl.c (reshape_init_array_1): Avoid infinite loops.
-
-2012-10-15 Alexandre Oliva <aoliva@redhat.com>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/17805
- * call.c (build_new_op_1): Filter out operator functions that don't
- satisfy enum-conversion match requirements.
-
-2012-10-15 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50080 (again)
- * parser.c (cp_parser_optional_template_keyword): When -pedantic
- and C++98 mode restore pre-Core/468 behavior.
-
-2012-10-15 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50080
- * parser.c (cp_parser_optional_template_keyword): Implement
- Core/468, allow outside template.
-
-2012-10-14 Jason Merrill <jason@redhat.com>
- Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Implement C++11 inheriting constructors.
- * cp-tree.h (cpp0x_warn_str): Add CPP0X_INHERITING_CTORS.
- (DECL_INHERITED_CTOR_BASE, SET_DECL_INHERITED_CTOR_BASE): New.
- (special_function_kind): Add sfk_inheriting_constructor.
- * class.c (add_method): An inheriting ctor is hidden by a
- user-declared one.
- (one_inheriting_sig, one_inherited_ctor): New.
- (add_implicitly_declared_members): Handle inheriting ctors.
- * error.c (maybe_warn_cpp0x): Handle CPP0X_INHERITING_CTORS.
- * init.c (emit_mem_initializers): Don't set LOOKUP_DEFAULTED
- for an inheriting constructor.
- * method.c (type_has_trivial_fn): Handle sfk_inheriting_constructor.
- (type_set_nontrivial_flag): Likewise.
- (add_one_base_init): Split out from...
- (do_build_copy_constructor): ...here. Handle inheriting constructors.
- (locate_fn_flags): Handle a list of arg types.
- (synthesized_method_walk): Handle inheriting constructors.
- (maybe_explain_implicit_delete): Likewise.
- (deduce_inheriting_ctor): New.
- (implicitly_declare_fn): Handle inheriting constructors.
- * name-lookup.c (push_class_level_binding_1): An inheriting constructor
- does not declare the base's name.
- (do_class_using_decl): Allow inheriting constructors.
- * pt.c (template_parms_to_args): Split from current_template_args.
- (add_inherited_template_parms): New.
- (tsubst_decl): Handle inheriting constructors.
- * tree.c (special_function_p): Handle inheriting constructors.
-
-2012-10-12 Jakub Jelinek <jakub@redhat.com>
-
- PR c/54381
- * semantics.c (finish_call_expr): Pass array of 3 sizeof_arg
- trees and locs (corresponding to first 3 arguments) to
- sizeof_pointer_memaccess_warning.
-
-2012-10-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/24449
- * decl.c (grokfndecl): When checking for ::main declarations
- use PROCESSING_REAL_TEMPLATE_DECL_P().
-
-2012-10-12 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/53055
- * call.c (build_new_op_1): Pass RO_ARROW_STAR to cp_build_indirect_ref.
- * typeck.c (cp_build_indirect_ref): Handle RO_ARROW_STAR.
-
-2012-10-11 Jason Merrill <jason@redhat.com>
-
- * cp-tree.h (DECL_THUNKS): NULL_TREE for non-virtual functions.
- (SET_DECL_THUNKS): New.
- * decl.c (duplicate_decls): Adjust.
- * method.c (make_thunk): Adjust.
-
- * decl.c (grokdeclarator): Set DECL_GNU_TLS_P for static data
- members, too.
-
-2012-10-09 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/53540 - using fails to be equivalent to typedef
- * cp-tree.h (TYPE_TEMPLATE_INFO): For an alias that is not an
- instance of alias template, don't look for its TEMPLATE_INFO in
- its declaration.
- (alias_template_specialization_p): Take const_tree.
- * pt.c (alias_template_specialization_p): Take a const_tree.
- Don't call primary_template_instantiation_p.
- (primary_template_instantiation_p): Call
- alias_template_specialization_p.
-
-2012-10-10 Dodji Seketeli <dodji@redhat.com>
-
- * parser (cp_parser_statement): Parse c++11 attributes
- tentatively.
- (cp_parser_std_attribute_spec_seq): Do not warn too early about
- using c++11 attributes in non c++11 mode.
-
-2012-10-10 Dehao Chen <dehao@google.com>
-
- * cp-gimplify.c (cp_genericize_r): Set location for TRY expr.
-
-2012-10-09 Lawrence Crowl <crowl@google.com>
-
- * Make-lang.in (class.o): Add dependence on hash-table.h.
- (tree.o): Likewise.
- (semantics.o): Likewise.
- * class.c (fixed_type_or_null): Change to new type-safe hash table.
- * tree.c (verify_stmt_tree): Likewise.
- (verify_stmt_tree_r): Likewise.
- * semantics.c (struct nrv_data): Likewise.
-
-2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54194
- * typeck.c (build_x_binary_op): Update warn_about_parentheses call.
- * parser.c (cp_parser_binary_expression): Use SET_EXPR_LOCATION
- on current.lhs.
-
-2012-10-09 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/54427
- * typeck.c (cp_build_binary_op): Handle mixed scalar-vector
- operations.
- [LSHIFT_EXPR, RSHIFT_EXPR]: Likewise.
-
-2012-10-08 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/54858
- * tree.c (cp_tree_equal): Handle FIELD_DECL.
-
-2012-10-08 Jason Merrill <jason@redhat.com>
-
- Allow dynamic initialization of thread_locals.
- * decl.c: Define tls_aggregates.
- (expand_static_init): Remove sorry. Add to tls_aggregates.
- * cp-tree.h: Declare tls_aggregates.
- * call.c (set_up_extended_ref_temp): Add to tls_aggregates.
- * decl2.c (var_needs_tls_wrapper): New.
- (var_defined_without_dynamic_init): New.
- (get_tls_init_fn, get_tls_wrapper_fn): New.
- (generate_tls_wrapper, handle_tls_init): New.
- (cp_write_global_declarations): Call handle_tls_init and
- enerate_tls_wrapper.
- * mangle.c (write_guarded_var_name): Split out from..
- (mangle_guard_variable): ...here.
- (mangle_tls_init_fn, mangle_tls_wrapper_fn): Use it.
- (decl_tls_wrapper_p): New.
- * semantics.c (finish_id_expression): Replace use of thread_local
- variable with a call to its wrapper.
+ PR c++/55753
+ * pt.c (tsubst_copy_and_build) [TARGET_EXPR]: Don't touch
+ TREE_CONSTANT.
- * decl.c (get_thread_atexit_node): New.
- (register_dtor_fn): Use it for TLS.
+ PR c++/55842
+ * semantics.c (trait_expr_value): Call maybe_instantiate_noexcept.
- Partial implementation of C++11 thread_local.
- * decl.c (cp_finish_decl): Remove errors about non-trivial
- initialization and destruction of TLS variables.
- (register_dtor_fn): Add sorry about TLS variables.
- (expand_static_init): Add sorry about non-local TLS variables,
- or error with __thread.
- Don't emit thread-safety guards for local TLS variables.
- (grokdeclarator): thread_local in a function implies static.
- * decl.h: Adjust prototype.
- * decl2.c (get_guard): Copy DECL_TLS_MODEL.
- * parser.c (cp_parser_set_storage_class, cp_parser_set_decl_spec_type)
- (set_and_check_decl_spec_loc): Take the token rather than the location.
- Distinguish between __thread and thread_local.
- (cp_parser_set_storage_class): Don't complain about thread_local before
- extern/static.
- (token_is__thread): New.
- * call.c (make_temporary_var_for_ref_to_temp): Handle TLS.
- * cp-tree.h (DECL_GNU_TLS_P): New.
- (cp_decl_specifier_seq): Add gnu_thread_keyword_p.
+ PR c++/55856
+ * semantics.c (build_data_member_initialization): Handle DECL_EXPR.
-2012-10-08 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/53528 C++11 attribute support
- * cp-tree.h (enum cpp0x_warn_str::CPP0X_ATTRIBUTES): New member.
- (enum cp_decl_spec::ds_std_attribute): New enumerator.
- (struct cp_decl_specifier_seq::std_attributes): New field.
- (cxx_alignas_expr, warn_misplaced_attr_for_class_type): Declare
- new functions.
- (check_tag_decl): Take an extra parameter for explicit
- instantiations.
- * decl.c (warn_misplaced_attr_for_class_type): Extract from ...
- (check_tag_decl): ... here. Add check for c++11 attributes being
- applied to an explicit instantiation. Take an extra parameter for
- explicit instantiations.
- (grokdeclarator): Make sure a c++11 attribute after an array
- declarator appertains to the array, an attribute after a function
- declarator appertains to the function type, an attribute after a
- declarator-id appertains to the entity being declared, and an
- attribute after a pointer declarator appertain to the pointer.
- * decl2.c (is_late_template_attribute): Use get_attribute_name.
- * error.c (maybe_warn_cpp0x): Support
- CPP0X_GENERALIZED_ATTRIBUTES.
- * parser.c (cp_next_tokens_can_be_attribute_p)
- (cp_next_tokens_can_be_gnu_attribute_p)
- (cp_next_tokens_can_be_std_attribute_p)
- (cp_nth_tokens_can_be_attribute_p)
- (cp_nth_tokens_can_be_gnu_attribute_p)
- (cp_nth_tokens_can_be_std_attribute_p)
- (cp_parser_gnu_attribute_list, cp_parser_std_attribute)
- (cp_parser_std_attribute_spec, cp_parser_std_attribute_spec_seq)
- (cp_parser_attributes_opt, cp_parser_std_attribute_list): New
- static functions.
- (cp_parser_gnu_attributes_opt): Replace cp_parser_attributes_opt.
- (cp_parser_gnu_attribute_list): Replace cp_parser_attribute_list.
- (cp_parser_postfix_expression): Disallow "[[" tokens here.
- (cp_parser_label_for_labeled_statement): Use take an extra
- parameter for attributes.
- (cp_parser_block_declaration): Use
- cp_nth_tokens_can_be_std_attribute_p here.
- (cp_parser_decl_specifier_seq): Likewise. Store C++11 attributes
- that appears in in decl specifiers in cp_decl_specifier_seq::std_attributes.
- declaration. Emit proper warning about misplaced c++11 attributes
- for class type.
- (cp_parser_explicit_instantiation): Adjust call to check_tag_decl.
- (cp_parser_init_declarator): Parsing attributes here is no more a
- GNU extension in c++-11.
- (cp_parser_type_specifier_seq): Use
- cp_next_tokens_can_be_attribute_p.
- (cp_parser_direct_declarator): Likewise. Hang c++11 attributes
- following the declarator to its syntactic construct. It'll later
- be applied to the proper appertaining entity by grokdeclarator.
- (cp_parser_ptr_operator): Likewise.
- (make_declarator): Initialize cp_declarator::std_attribute.
- (make_pointer_declarator, make_reference_declarator)
- (make_ptrmem_declarator, cp_parser_make_indirect_declarator): Take
- attributes that appertain to the pointer/reference in argument.
- (cp_parser_ptr_operator): Take an out parameter for c++11
- attributes. Update comments.
- (cp_parser_new_declarator_opt)
- (cp_parser_conversion_declarator_opt): Adjust.
- (cp_parser_declarator): Likewise. Handle C++11 attributes.
- Rename attributes to gnu_attribute for better legibility.
- (cp_parser_simple_declaration): Update comment.
- (cp_parser_class_specifier_1): Parse GNU attributes specifically
- (cp_parser_enum_specifier): Accept only gnu attributes after the
- specifier.
- (cp_parser_member_declaration): Don't clear attributes -- intended
- for the entity being declared -- too early because check_tag_decl
- needs them.
- (cp_parser_statement): Update comment. Parse optional c++11
- attributes at the beginning of the relevant kind of statements and
- ignore them, for now, unless when calling
- cp_parser_label_for_labeled_statement.
- (cp_parser_label_for_labeled_statement): Take c++11 attributes
- in parameter.
- * semantics.c (potential_constant_expression_1): Likewise.
- * typeck.c (fundamental_alignment_p, cxx_alignas_expr): New public
- functions.
-
-2012-10-07 Paolo Carlini <paolo.carlini@oracle.com>
-
- * pt.c (fold_non_dependent_expr_sfinae): Remove static specifier.
- (tsubst_copy_and_build): Use get_target_expr_sfinae.
- * call.c (build_conditional_expr_1, convert_like_real): Likewise.
- * cvt.c (build_up_reference): Likewise.
- (ocp_convert): Use abstract_virtuals_error_sfinae.
- (build_up_reference): Propagate complain to cp_build_addr_expr.
- * decl.c (compute_array_index_type): Use fold_non_dependent_expr_sfinae.
- * cp-tree.h: Update declarations.
-
- * cvt.c (build_expr_type_conversion): Tidy.
-
- * tree.c (stabilize_aggr_init): Change to static.
-
-2012-10-07 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51422
- * semantics.c (is_normal_capture_proxy): Return true for
- error_mark_node as DECL_VALUE_EXPR.
-
-2012-10-05 Jakub Jelinek <jakub@redhat.com>
-
- * cp-tree.h (SIZEOF_EXPR_TYPE_P): Define.
- * tree.c (cp_tree_equal): Handle SIZEOF_EXPR with
- SIZEOF_EXPR_TYPE_P.
- * mangle.c (write_expression): Likewise.
- * cxx-pretty-print.c (pp_cxx_unary_expression): Likewise.
- * error.c (dump_expr): Likewise.
- * parser.c (cp_parser_unary_expression): For sizeof call
- cxx_sizeof_or_alignof_{type,expr} just for diagnostics and
- return SIZEOF_EXPR with the operand.
- * pt.c (tsubst_copy, tsubst_copy_and_build): For SIZEOF_EXPR,
- call cxx_sizeof_or_alignof_{type,expr} for diagnostics, but
- return SIZEOF_EXPR with tsubsted operand.
- (value_dependent_expression_p): Handle SIZEOF_EXPR with
- SIZEOF_EXPR_TYPE_P.
- (instantiation_dependent_r): Likewise.
- * call.c (null_ptr_cst_p): Call maybe_constant_value for C++98.
- * semantics.c (finish_call_expr): Call
- sizeof_pointer_memaccess_warning if needed.
- (cxx_eval_constant_expression): Handle SIZEOF_EXPR.
- (potential_constant_expression_1): Remove early exit for
- C++98. Handle PROPERTY_REF.
- * decl.c (duplicate_decls): When redeclaring a builtin function,
- keep the merged decl builtin also if newdecl is a gnu_inline
- inline definition.
- (fold_sizeof_expr_r): New function.
- (compute_array_index_type): Fold SIZEOF_EXPRs in itype.
- * cp-gimplify.c (cp_genericize_r): Fold SIZEOF_EXPR.
- * typeck.c (cp_build_binary_op): For warn_for_sign_compare
- try harder using maybe_constant_value to get INTEGER_CSTs.
-
- * decl.c (stabilize_vla_size): Call pointer_set_destroy
- at the end.
-
-2012-10-04 Arnaud Charlet <charlet@adacore.com>
-
- * decl2.c (cp_write_global_declarations): Fix handling of
- -fdump-ada-spec*.
-
-2012-10-03 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/54777
- * semantics.c (cxx_eval_constant_expression) <case COMPOUND_EXPR>: If
- not ignoring the second operand, pass the original second operand
- and not one with stripped nops to cxx_eval_constant_expression.
-
-2012-10-01 Jason Merrill <jason@redhat.com>
-
- * decl.c (check_initializer): Set DECL_NONTRIVIALLY_INITIALIZED_P
- for a constructor call.
- (decl_jump_unsafe): So don't bother checking
- type_has_nontrivial_default_init.
- * call.c (set_up_extended_ref_temp): Set
- DECL_NONTRIVIALLY_INITIALIZED_P.
-
- * cp-tree.h (TYPE_FUNCTION_OR_TEMPLATE_DECL_CHECK): New.
- (DECL_FRIEND_P, DECL_ANTICIPATED): Use it.
- (TYPE_FUNCTION_OR_TEMPLATE_DECL_P): New.
- * name-lookup.c (hidden_name_p): Use it.
-
- * cp-tree.h (DECL_PRETTY_FUNCTION_P): Just look at the name.
- * decl.c (cp_make_fname_decl): Adjust.
-
-2012-09-30 Sharad Singhai <singhai@google.com>
-
- * decl2.c (cp_write_global_declarations): Use a different method
- to determine if the dump has ben initialized.
-
-2012-09-29 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54738
- * decl2.c (build_offset_ref_call_from_tree): Add tsubst_flags_t
- parameter.
- * pt.c (tsubst_copy_and_build): Adjust.
- * parser.c (cp_parser_postfix_expression): Likewise.
- * cp-tree.h: Adjust declaration.
-
-2012-09-28 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/54372 - unused attribute inactive on dependant entities
- * decl2.c (is_late_template_attribute): "unused" attribute is to
- be applied at compile time.
-
-2012-09-25 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/29028 - Missed unused warning on using declaration
- * decl.c (poplevel<warn_unused*>): Do not forget that some local
- bindings are represented by a TREE_LIST.
-
-2012-09-25 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/53551 - -Wunused-local-typedefs misses uses
- * decl.c (make_typename_type): Record the use of typedefs.
-
-2012-09-27 Jakub Jelinek <jakub@redhat.com>
-
- * init.c (build_new_1): Don't test TREE_CONSTANT
- of INTEGER_CST.
-
-2012-09-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54526
- * parser.c (cp_parser_template_id): In C++11 mode simply accept
- X<::A>.
-
-2012-09-25 Zhenqiang Chen <zhenqiang.chen@linaro.org>
-
- PR c++/50970
- * typeck.c (cp_build_binary_op): Check side effects before generating
- pfn and delta related expressions.
-
-2012-09-24 Lawrence Crowl <crowl@google.com>
-
- * init.c (build_new_1): Change to new double_int API.
- * decl.c (build_enumerator): Likewise.
- * typeck2.c (process_init_constructor_array): Likewise.
- * mangle.c (write_array_type): Likewise.
-
-2012-09-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50828
- * error.c (dump_function_decl): Strip TFF_TEMPLATE_NAME from flags
- at the outset.
-
-2012-09-24 Jason Merrill <jason@redhat.com>
-
- * decl.c (get_atexit_node): Remove dead code.
-
- * Make-lang.in (cp/parser.o): Depend on decl.h.
-
-2012-09-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52432
- * pt.c (tsubst_copy_and_build): If tf_error is not set in the complain
- argument don't call unqualified_name_lookup_error.
-
-2012-09-19 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/54581
- * semantics.c (finish_decltype_type): Make vectors not opaque.
-
-2012-09-17 Jason Merrill <jason@redhat.com>
-
- PR c++/54575
- * pt.c (instantiate_alias_template): New.
- (tsubst): Use it.
- (push_access_scope): Allow TYPE_DECL.
-
-2012-09-14 Jason Merrill <jason@redhat.com>
-
- PR c++/53661
- * typeck2.c (check_narrowing): Avoid false positives on conversion
- from enumeral type.
-
-2012-09-14 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/54427
- * typeck.c (cp_build_binary_op) [LSHIFT_EXPR, RSHIFT_EXPR, EQ_EXPR,
- NE_EXPR, LE_EXPR, GE_EXPR, LT_EXPR, GT_EXPR]: Handle VECTOR_TYPE.
-
-2012-09-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- * decl.c (make_typename_type): Only error out if tf_error is set
- in complain.
-
-2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
- Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c++/53210
- * init.c (perform_member_init): Use OPT_Winit_self instead of
- OPT_Wuninitialized.
-
-2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
-
- * typeck.c (build_indirect_ref, build_function_call,
- build_function_call_vec, build_binary_op, build_unary_op,
- build_compound_expr, build_c_cast, build_modify_expr): Remove
- uses of ATTRIBUTE_UNUSED on the parameters.
- * class.c (set_linkage_according_to_type, resort_type_method_vec,
- dfs_find_final_overrider_post, empty_base_at_nonzero_offset_p):
- Likewise.
- * decl.c (local_variable_p_walkfn): Likewise.
- * except.c (wrap_cleanups_r, check_noexcept_r): Likewise.
- * error.c (find_typenames_r): Likewise.
- * tree.c (verify_stmt_tree_r, bot_replace,
- handle_java_interface_attribute, handle_com_interface_attribute,
- handle_init_priority_attribute, c_register_addr_space): Likewise.
- * cp-gimplify.c (cxx_omp_clause_default_ctor): Likewise.
- * cp-lang.c (objcp_tsubst_copy_and_build): Likewise.
- * pt.c (unify_success, unify_invalid, instantiation_dependent_r):
- Likewise.
- * semantics.c (dfs_calculate_bases_pre): Likewise.
- * decl2.c (fix_temporary_vars_context_r, clear_decl_external):
- Likewise.
- * parser.c (cp_lexer_token_at, cp_parser_omp_clause_mergeable,
- cp_parser_omp_clause_nowait, cp_parser_omp_clause_ordered,
- cp_parser_omp_clause_untied): Likewise.
- * mangle.c (write_unnamed_type_name,
- discriminator_for_string_literal): Likewise.
- * search.c (dfs_accessible_post, dfs_debug_mark): Likewise.
- * lex.c (handle_pragma_vtable, handle_pragma_unit,
- handle_pragma_interface, handle_pragma_implementation,
- handle_pragma_java_exceptions): Likewise.
-
-2012-09-13 Jason Merrill <jason@redhat.com>
-
- PR c++/53839
- * semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
- address, make sure the value is constant.
-
- PR c++/54511
- * pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
-
- PR c++/53836
- * pt.c (value_dependent_expression_p): A TREE_LIST initializer must
- be dependent.
-
-2012-09-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54541
- PR c++/54542
- * call.c (build_cxx_call): Add tsubst_flags_t parameter, use
- require_complete_type_sfinae.
- (build_op_delete_call, build_over_call): Adjust.
- * typeck.c (build_x_compound_expr_from_vec): Add tsubst_flags_t
- parameter.
- (cp_build_function_call_vec): Adjust.
- * init.c (build_new_1): Likewise.
- * rtti.c (throw_bad_cast, throw_bad_typeid, build_dynamic_cast_1):
- Likewise.
- * optimize.c (build_delete_destructor_body): Likewise.
- * cp-tree.h: Adjust declarations.
-
- * call.c (convert_arg_to_ellipsis): Use require_complete_type_sfinae.
-
-2012-09-10 Jason Merrill <jason@redhat.com>
-
- PR c++/54538
- PR c++/53783
- * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Go back to using RECUR
- for LAMBDA_EXPR_EXTRA_SCOPE except for function scope.
-
- PR c++/54506
- * decl.c (move_signature_fn_p): Split out from move_fn_p.
- * method.c (process_subob_fn): Use it.
+ PR c++/53650
+ * call.c (type_has_extended_temps): New.
* cp-tree.h: Declare it.
+ * decl.c (check_initializer): Use build_aggr_init for arrays
+ if it is false.
+ * init.c (build_vec_init): Avoid mixed signed/unsigned arithmetic.
-2012-09-07 Jason Merrill <jason@redhat.com>
-
- * semantics.c (sort_constexpr_mem_initializers): Tweak.
-
-2012-09-09 Mark Kettenis <kettenis@openbsd.org>
-
- * decl.c (reshape_init_class): Avoid dereferencing a
- past-the-end pointer.
-
-2012-09-07 Paolo Carlini <paolo.carlini@oracle.com>
-
- * pt.c (num_template_headers_for_class): Rework per the code
- inline in cp_parser_check_declarator_template_parameters.
- * parser.c (cp_parser_check_declarator_template_parameters):
- Use num_template_headers_for_class.
-
-2012-09-06 Jason Merrill <jason@redhat.com>
-
- PR c++/54341
- PR c++/54253
- * semantics.c (sort_constexpr_mem_initializers): New.
- (build_constexpr_constructor_member_initializers): Use it.
- (cx_check_missing_mem_inits): Skip artificial fields.
- * init.c (expand_aggr_init_1): Don't zero out a class
- with no data.
-
-2012-09-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54191
- * search.c (lookup_base): Add tsubst_flags_t parameter.
- (adjust_result_of_qualified_name_lookup, check_final_overrider):
- Adjust.
- * name-lookup.c (do_class_using_decl): Adjust.
- * typeck2.c (binfo_or_else, build_scoped_ref, build_m_component_ref):
- Likewise.
- * cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
- build_up_reference): Likewise.
- * rtti.c (build_dynamic_cast_1): Likewise.
- * tree.c (maybe_dummy_object): Likewise.
- * call.c (build_conditional_expr_1, build_over_call): Likewise.
- * cp-tree.h (UNIQUELY_DERIVED_FROM_P, PUBLICLY_UNIQUELY_DERIVED_P):
- Remove.
- (enum base_access_flags, ba_quiet): Remove.
- (uniquely_derived_from_p, publicly_uniquely_derived_p): Declare.
- * except.c (can_convert_eh): Adjust.
- * decl.c (grokdeclarator): Likewise.
- * typeck.c (comp_except_types, build_class_member_access_expr,
- finish_class_member_access_expr, get_member_function_from_ptrfunc,
- build_static_cast_1, get_delta_difference_1): Likewise.
- * class.c (build_base_path, convert_to_base, build_vtbl_ref_1,
- warn_about_ambiguous_bases): Likewise.
- (uniquely_derived_from_p, publicly_uniquely_derived_p): Define.
-
-2012-09-04 Jason Merrill <jason@redhat.com>
-
- PR c++/54441
- * decl.c (reshape_init_class): Handle invalid initializer for
- 0-length array member.
-
- * error.c (dump_type_suffix): Correct handling of 0-length arrays.
-
- PR c++/54420
- * cp-tree.h (LAMBDANAME_P): Remove.
- (LAMBDA_TYPE_P): Check CLASSTYPE_LAMBDA_EXPR instead.
- * cp-lang.c (cxx_dwarf_name): Likewise.
- * error.c (dump_aggr_type): Likewise.
- * semantics.c (begin_lambda_type): Set CLASSTYPE_LAMBDA_EXPR sooner.
-
- PR c++/54198
- * decl.c (check_default_argument): Set cp_unevaluated_operand
- around call to perform_implicit_conversion_flags.
-
- PR c++/54437
- PR c++/51213
- * pt.c (fn_type_unification): Call coerce_template_parms before
- entering substitution context.
-
-2012-08-31 Paolo Carlini <paolo.carlini@oracle.com>
- Jason Merrill <jason@redhat.com>
-
- PR c++/18747
- * pt.c (check_template_variable): New.
- (num_template_headers_for_class): Split out...
- * decl.c (grokdeclarator): ...from here.
- (start_decl): Remove redundant diagnostic.
- * cp-tree.h: Declare them
- * parser.c (cp_parser_single_declaration): Call check_template_variable.
-
-2012-08-31 Ollie Wild <aaw@google.com>
-
- PR c++/54197
- * call.c (extend_ref_init_temps_1): Handle COMPOUND_EXPR trees.
-
-2012-08-30 Jason Merrill <jason@redhat.com>
-
- PR c++/50545
- PR c++/51222
- * pt.c (instantiation_dependent_r): New.
- (instantiation_dependent_expression_p): New.
- (value_dependent_expression_p): Use it. SCOPE_REF is always dependent.
- * semantics.c (finish_decltype_type): Use it.
- * cp-tree.h: Declare it.
-
- * semantics.c (finish_qualified_id_expr): Handle building up a
- non-dependent SCOPE_REF here.
- (finish_id_expression): Not here.
- * error.c (dump_decl) [SCOPE_REF]: Only pass TFF_UNQUALIFIED_NAME.
-
- * friend.c (make_friend_class): Handle template template parameters.
- * parser.c (cp_parser_template_declaration_after_export): Likewise.
- * pt.c (tsubst_friend_class): Likewise.
- (instantiate_class_template_1): Likewise
- * decl.c (check_elaborated_type_specifier): Likewise.
- (lookup_and_check_tag): Likewise.
-
- * pt.c (get_class_bindings): Call coerce_template_parms. Add
- main_tmpl parameter.
- (more_specialized_class): Add main_tmpl parameter.
- (most_specialized_class): Adjust calls.
-
- * decl.c (cp_finish_decl): Check for invalid multiple initializers
- even if the initializer is dependent.
-
- * pt.c (instantiate_template_1): Keep processing_template_decl set
- if there are dependent args.
-
-2012-08-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51421
- * decl2.c (mark_used): Consistently return false after errors
- about uses before deduction of auto.
- * semantics.c (finish_id_expression): Check mark_used return
- value and return error_mark_node in case of failure.
-
-2012-08-24 Jason Merrill <jason@redhat.com>
-
- PR c++/51213 (again)
- * pt.c (deduction_tsubst_fntype): Remove.
- (fn_type_unification): Check deduction depth and call
- instantiate_template here. Handle default argument access checks.
- (determine_specialization): Suppress access control.
- (tsubst_decl): Check for excessive deduction depth.
- (recheck_decl_substitution): Make sure access control is on.
- (type_unification_real): Don't mess with access deferring here.
- (get_bindings): Adjust for fn_type_unification return type.
- * call.c (enum rejection_reason_code): Drop rr_template_instantiation.
- (template_instantiation_rejection): Remove.
- (struct rejection_reason): Change targs to num_targs.
- (template_unification_rejection, print_z_candidate): Adjust.
- (add_template_candidate_real): Adjust for fn_type_unification change.
- * class.c (resolve_address_of_overloaded_function): Likewise.
- * cp-tree.h: Adjust declaration.
-
- * pt.c (tsubst_default_argument): Indicate where the default
- argument is being instantiated for.
- (tsubst_expr): Restore previous location.
- (tsubst_copy_and_build): Set and restore location.
- * call.c (build_new_method_call_1): Remember location of call.
- * semantics.c (finish_call_expr): Here too.
- * parser.c (cp_parser_omp_for_loop): Remember the location of the
- increment expression.
-
- * pt.c (resolve_overloaded_unification): Use coerce_template_parms
- instead of get_bindings.
- (resolve_nondeduced_context): Likewise.
-
- * pt.c (register_specialization): Correct argument to
- check_specialization_namespace.
- (determine_specialization): Don't consider members of
- unspecialized types.
-
-2012-08-23 Jason Merrill <jason@redhat.com>
-
- * decl.c (compute_array_index_type): Use type_dependent_expression_p.
-
-2012-08-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/20420
- * name-lookup.c (supplement_binding_1): Handle specially enums
- only in class templates.
- (validate_nonmember_using_decl): Enforce 7.3.3/10 about duplicate
- using declarations at function scope.
-
-2012-08-21 Richard Guenther <rguenther@suse.de>
-
- * cp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor.
- (ATTR_IS_DEPENDENT): Likewise.
- (ARGUMENT_PACK_INCOMPLETE_P): Use TREE_ADDRESSABLE instead of
- TREE_LANG_FLAG_0 on TREE_VECs.
-
-2012-08-20 Florian Weimer <fweimer@redhat.com>
-
- PR c++/19351
- * call.c (build_operator_new_call): Add size_check argument and
- evaluate it.
- * cp-tree.h (build_operator_new_call): Adjust declaration.
- * init.c (build_new_1): Compute array size check and apply it.
-
-2012-08-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/10416
- * decl.c (poplevel): Check TYPE_HAS_NONTRIVIAL_DESTRUCTOR for
- Wunused_variable too.
-
-2012-08-20 Diego Novillo <dnovillo@google.com>
-
- * decl.c (poplevel): Start TV_NAME_LOOKUP conditionally.
-
-2012-08-20 Richard Guenther <rguenther@suse.de>
-
- * name-lookup.c (store_binding_p): New predicate, split out from ...
- (store_binding): ... here. Always store binding and require
- target vector with enough space.
- (store_bindings): Collect to store bindings and reserve space
- for them, then store them.
- (store_class_bindings): Likewise.
-
-2012-08-19 Mikael Morin <mikael@gcc.gnu.org>
-
- * Make-lang.in: Fix typo.
-
-2012-08-17 Jakub Jelinek <jakub@redhat.com>
-
- * cp-tree.def (SIZEOF_EXPR): Move to c-common.def.
-
-2012-08-14 Diego Novillo <dnovillo@google.com>
-
- Merge from cxx-conversion branch. Re-write VEC in C++.
-
- * call.c (add_function_candidate): Remove const qualifier
- from call to VEC_index.
-
-2012-08-10 Richard Guenther <rguenther@suse.de>
-
- * error.c (dump_expr): Handle anonymous SSA names.
-
-2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
-
- * error.c (print_instantiation_context): Pretty-print a newline before
- diagnostic_flush_buffer.
- * cxx-pretty-print.c (pp_cxx_function_definition): Use
- pp_newline_and_flush instead of separate pp_newline and pp_flush.
-
-2012-08-06 Dodji Seketeli <dodji@redhat.com>
-
- Avoid crashing on erroneous static_assert usage
- * semantics.c (finish_static_assert): Don't crash on erroneous
- message or condition.
-
-2012-08-06 Marc Glisse <marc.glisse@inria.fr>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54165
- * typeck.c (build_static_cast_1): Move the conversion to void case
- before the perform_direct_initialization_if_possible call.
-
-2012-08-03 Marc Glisse <marc.glisse@inria.fr>
-
- * pt.c (tsubst_copy_and_build): Handle VECTOR_TYPE like scalars.
- * cp-tree.h (scalarish_type_p): Declare.
- * tree.c (scalarish_type_p): Make non-static.
-
-2012-08-02 Jason Merrill <jason@redhat.com>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51213 (again)
- * pt.c (type_unification_real): Call push_deferring_access_checks /
- pop_deferring_access_checks around the substitution of default
- template args.
- (instantiate_template_1): When the specialization returned by
- retrieve_specialization has FNDECL_HAS_ACCESS_ERRORS set and we
- are in a SFINAE context, simply return error_mark_node.
- * cp-tree.h (FNDECL_RECHECK_ACCESS_P): Rename FNDECL_HAS_ACCESS_ERRORS.
-
-2012-07-31 Paolo Carlini <paolo.carlini@oracle.com>
-
- * pt.c (check_default_tmpl_args): Change is_primary and is_partial
- parameters to bool type, adjust.
- (push_template_decl_real): Tidy.
- * parser.c (cp_parser_init_declarator): Adjust.
- * decl.c (redeclaration_error_message): Likewise.
- * cp-tree.h (check_default_tmpl_args): Update prototype.
-
-2012-07-31 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53624
- * pt.c (check_default_tmpl_args): Don't check local types.
-
-2012-07-25 Sandra Loosemore <sandra@codesourcery.com>
- Paul Brook <paul@codesourcery.com>
-
- PR target/53633
- * decl.c (finish_function): Check targetm.warn_func_return.
-
-2012-07-25 Jason Merrill <jason@redhat.com>
-
- PR c++/54086
- * decl.c (grokdeclarator): Allow const and constexpr together.
-
- PR c++/54020
- * semantics.c (potential_constant_expression_1) [COND_EXPR]: Call
- maybe_constant_value.
-
- * cp-tree.h (tsubst_flags): Remove tf_no_access_control.
- * call.c (standard_conversion): Don't set it.
- * class.c (resolve_address_of_overloaded_function): Don't check it.
- * decl.c (check_default_argument): Call
- perform_implicit_conversion_flags.
-
- * pt.c (print_candidates_1): Use inform instead of error.
-
-2012-07-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- * pt.c (convert_template_argument, tsubst): Simplify fourth argument
- to make_typename_type (complain & tf_error -> complain).
-
-2012-07-24 Steven Bosscher <steven@gcc.gnu.org>
-
- * class.c (n_vtables, n_vtable_entries, n_vtable_searches,
- n_vtable_elems, n_convert_harshness, n_compute_conversion_costs,
- n_inner_fields_searched): Always define.
- (build_primary_vtable): Convert #ifdef GATHER_STATISTICS to if-code.
- (print_class_statistics): Convert #ifdef GATHER_STATISTICS to if-code.
- * tree.c (depth_reached): Always define global.
- (cxx_print_statistics): Convert #ifdef GATHER_STATISTICS to if-code.
- * pt.c (depth_reached): Always define.
- (push_tinst_level): Convert #ifdef GATHER_STATISTICS to if-code.
- * search.c (n_fields_searched, n_calls_lookup_field,
- n_calls_lookup_field_1, n_calls_lookup_fnfields,
- n_calls_lookup_fnfields_1, n_calls_get_base_type,
- n_outer_fields_searched, n_contexts_saved): Always define.
- (lookup_field_1): Convert #ifdef GATHER_STATISTICS to if-code.
- (lookup_member): Likewise.
- (lookup_fnfields_idx_nolazy): Likewise.
- (print_search_statistics): Likewise.
- (reinit_search_statistics): Unconditionally re-set counters.
- * lex.c (retrofit_lang_decl): Convert #ifdef GATHER_STATISTICS
- to if-code.
- (cxx_dup_lang_specific_decl): Likewise.
- (copy_lang_type): Likewise.
- (cxx_make_type): Likewise.
-
-2012-07-20 Jason Merrill <jason@redhat.com>
-
- PR c++/54038
- * tree.c (build_cplus_array_type): Use build_cplus_array_type to build
- canonical array type rather than mess with its TYPE_*_VARIANT.
-
-2012-07-19 Jason Merrill <jason@redhat.com>
-
- PR c++/54026
- * typeck.c (cp_apply_type_quals_to_decl): Check COMPLETE_TYPE_P.
-
- PR c++/54021
- * call.c (build_cxx_call): Set optimize when folding
- __builtin_constant_p in a constexpr function.
-
-2012-07-18 Jason Merrill <jason@redhat.com>
-
- * pt.c (instantiate_decl): Don't recheck substitutions.
-
-2012-07-18 Paolo Carlini <paolo.carlini@oracle.com>
- Jason Merrill <jason@redhat.com>
-
- DR 1170
- PR c++/51213
- * semantics.c (perform_access_checks): Add complain parm, return bool.
- (perform_deferred_access_checks): Likewise.
- (perform_or_defer_access_check): Likewise.
- (speculative_access_check): Remove.
- * call.c (enforce_access): Add complain parm, return bool.
- * decl.c, friend.c, class.c, init.c, parser.c: Adjust callers.
- * search.c: Adjust callers.
- * cp-tree.h (TINFO_RECHECK_ACCESS_P): New macro.
- (FNDECL_RECHECK_ACCESS_P): New macro.
- * method.c (synthesized_method_walk): Stop deferring access checks.
- * pt.c (recheck_decl_substitution): New.
- (instantiate_template_1): Set and check FNDECL_RECHECK_ACCESS_P.
-
-2012-07-18 Jason Merrill <jason@redhat.com>
-
- * method.c (process_subob_fn): Make sure no_implicit_p is non-null
- before trying to store through it.
-
-2012-07-17 Jason Merrill <jason@redhat.com>
-
- PR c++/53995
- * decl.c (finish_enum_value_list): Only call
- insert_late_enum_def_into_classtype_sorted_fields in class scope.
-
- PR c++/53989
- * tree.c (build_cplus_array_type): Also add TYPE_CANONICAL
- to the list of variants.
-
- * decl.c (xref_basetypes): Complain about incomplete template base.
- * class.c (finish_struct): Adjust variants in templates, too.
-
- PR c++/53549
- * parser.c (cp_parser_class_head): Call xref_basetypes here.
- (cp_parser_class_specifier_1): Not here.
- * pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms
- as well as DECL_DEPENDENT_P.
-
-2012-07-16 Jason Merrill <jason@redhat.com>
-
- * cp-tree.h (struct deferred_access_check): Add location.
- * semantics.c (perform_access_checks): Use it.
- (perform_or_defer_access_check): Store it.
-
-2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
-
- * dump.c (dump_stmt): Moved here from c-dump.c.
- * optimize.c: Include dumpfile.h instead of tree-dump.h.
- * class.c: Likewise.
- * decl2.c: Likewise.
- * Make-lang.in: Fix dependencies.
-
-2012-07-13 Jason Merrill <jason@redhat.com>
-
- PR c++/53953
- * method.c (synthesized_method_walk): Initialize no_implicit_p sooner.
-
-2012-07-12 Jason Merrill <jason@redhat.com>
-
- * pt.c (instantiate_decl): Check typedefs access here.
- (instantiate_template_1): Not here.
-
- * pt.c (deduction_tsubst_fntype): Just suppress access checking.
- (instantiate_template_1): Set DECL_TI_TEMPLATE before access checking.
- (push_deduction_access_scope, pop_deduction_access_scope): Remove.
-
-2012-07-11 Jason Merrill <jason@redhat.com>
-
- DR 1402
- * method.c (synthesized_method_walk): Replace uses of msg with diag.
- Correct handling of virtual bases with move operations.
- (process_subob_fn, walk_field_subobs): Replace uses of msg with diag.
-
-2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
-
- * method.c: Do not include tree-pass.h.
-
-2012-07-10 Jason Merrill <jason@redhat.com>
-
- DR 1402
- PR c++/53733
- * cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New.
- (struct lang_decl_fn): Add suppress_implicit_decl field.
- * method.c (implicitly_declare_fn): Check it.
- (process_subob_fn): Add no_implicit_p parm.
- (walk_field_subobs, synthesized_method_walk): Likewise.
- (maybe_explain_implicit_delete): Adjust.
- (explain_implicit_non_constexpr): Adjust.
-
- * method.c (synthesized_method_walk): Avoid changing
- EH spec based on cleanups in other places, too.
-
-2012-07-09 Sterling Augustine <saugustine@google.com>
-
- * error.c (lang_decl_name): Use TFF_UNQUALIFIED_NAME flag.
-
-2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
-
- * decl.c (cp_finish_decl): Add FIXME at add_local_decl call site.
-
-2012-07-06 Jason Merrill <jason@redhat.com>
-
- PR c++/53862
- * pt.c (tsubst_arg_types): Add "end" parameter.
- (check_undeduced_parms): Use it.
-
- * cp-tree.h (DECL_DECLARES_TYPE_P): Check DECL_TYPE_TEMPLATE_P.
-
- PR c++/53858
- * name-lookup.c (ambiguous_decl): Use DECL_TYPE_TEMPLATE_P.
-
-2012-07-05 Jason Merrill <jason@redhat.com>
-
- PR c++/53039
- * pt.c (arg_from_parm_pack_p): Go back to using same_type_p or
- cp_tree_equal.
-
- * cp-tree.h (TEMPLATE_PARM_NUM_SIBLINGS): Remove.
- (struct template_parm_index_s): Remove num_siblings.
- * pt.c (fixup_template_parms, fixup_template_parm_index): Remove.
- (fixup_template_type_parm_type): Remove.
- (build_template_parm_index): Remove num_siblings parm.
- (process_template_parm): Likewise.
- * parser.c (cp_parser_template_parameter_list): Adjust.
- * tree.c (cp_tree_equal): Don't compare num_siblings.
- * typeck.c (comp_template_parms_position): Likewise.
-
- PR c++/50852
- PR c++/53039
- * tree.c (strip_typedefs_expr): New.
- * cp-tree.h: Declare it.
- * pt.c (convert_template_argument, unify): Use it.
- * parser.c (cp_parser_template_declaration_after_export): Don't call
- fixup_template_parms.
-
-2012-07-04 Jason Merrill <jason@redhat.com>
-
- PR c++/53848
- PR c++/53524
- * decl.c (build_enumerator): Don't use build_lang_decl_loc.
-
-2012-07-03 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/53812
- * semantics.c (finish_goto_stmt): Surround computed goto argument
- with CLEANUP_POINT_EXPR if needed.
-
-2012-07-02 Jason Merrill <jason@redhat.com>
-
- PR c++/53619
- * pt.c (in_template_function): New.
- * cp-tree.h: Declare it.
- * class.c (build_base_path, resolves_to_fixed_type_p): Use it.
-
- PR c++/53783
- * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Use tsubst
- for LAMBDA_EXPR_EXTRA_SCOPE.
-
- PR c++/53788
- * pt.c (build_non_dependent_expr): Don't wrap a dummy object.
-
- PR c++/53816
- * class.c (resolves_to_fixed_type_p): Check uses_template_parms
- (current_function_decl) instead of processing_template_decl.
-
- PR c++/53821
- * semantics.c (maybe_add_lambda_conv_op): Don't set
- DECL_INTERFACE_KNOWN.
-
- PR c++/53524
- * call.c (build_conditional_expr_1): Don't warn about comparison of
- two enumerators before their enumeration is complete.
- (build_new_op_1): Call decay_conversion before warn_logical_operator.
- * decl.c (build_enumerator): Set DECL_CONTEXT of an enumerator to
- its enumeration.
- * decl2.c (mark_used): Call used_types_insert for enums.
- * semantics.c (finish_id_expression): Don't decay CONST_DECL.
- (finish_member_declaration): Don't change DECL_CONTEXT of enumerators.
- * class.c (check_field_decls): Don't change DECL_CONTEXT of enums.
- * typeck.c (convert_for_assignment): Don't decay CONST_DECL.
- (build_class_member_access_expr): Look through unscoped enums.
- * search.c (context_for_name_lookup): Look through unscoped enums.
- * pt.c (tsubst_copy_and_build): Don't decay CONST_DECL.
- (tsubst_copy): Use DECL_CONTEXT to find the enumeration.
- * tree.c (decl_linkage): Likewise.
- * cvt.c (ocp_convert): Check decayed expr for enum range warning.
-
-2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
-
- * Make-lang.in: Remove tree-mudflap.o from CXX_AND_OBJCXX_OBJS.
-
-2012-06-27 Jason Merrill <jason@redhat.com>
-
- * parser.c (cp_parser_check_for_invalid_template_id): tag_type parm.
- (cp_parser_simple_type_specifier, cp_parser_class_head): Adjust.
- (cp_parser_elaborated_type_specifier): Adjust.
- * decl.c (duplicate_decls): Return error_mark_node on template
- mismatch.
-
- PR c++/53563
- * parser.c (cp_parser_template_id): Add tag_type parm.
- (cp_parser_template_name): Likewise.
- (cp_parser_id_expression, cp_parser_unqualified_id): Adjust.
- (cp_parser_pseudo_destructor_name, cp_parser_type_name): Adjust.
- (cp_parser_simple_type_specifier, cp_parser_class_name): Adjust.
- (cp_parser_elaborated_type_specifier, cp_parser_class_head): Adjust.
-
-2012-06-27 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR C++/51033
- * semantics.c (constexpr_call): Fix typo in comment.
- (cxx_eval_vec_perm_expr): New.
- (cxx_eval_constant_expression): Fold VEC_PERM_EXPRs.
-
-2012-06-26 Richard Guenther <rguenther@suse.de>
-
- PR c++/53752
- * mangle.c (write_array_type): Truncate the number-of-elements
- result.
-
-2012-06-25 Jason Merrill <jason@redhat.com>
-
- PR c++/53498
- PR c++/53305
- * pt.c (tsubst_decl) [PARM_DECL]: Don't recurse into DECL_CHAIN
- if cp_unevaluated_operand is set.
- (tsubst_copy) [PARM_DECL]: Don't copy before tsubsting.
-
- PR c++/52988
- * typeck.c (decay_conversion): Don't discard side-effects from
- expressions of nullptr_t.
-
-2012-06-25 Florian Weimer <fweimer@redhat.com>
-
- * init.c (build_new_1): Warn about (T[N]) for variable N, and
- reject T[M][N].
-
- * parser.c (cp_parser_direct_new_declarator): Accept non-constant
- expressions. Handled now in build_new_1.
-
-2012-06-25 Jason Merrill <jason@redhat.com>
-
- PR c++/53202
- * semantics.c (build_data_member_initialization): Always keep
- initializer for empty base.
- (cxx_eval_bare_aggregate): Discard it here.
-
- PR c++/53565
- * pt.c (tsubst_omp_for_iterator): Simplify DECL_EXPR handling.
- (tsubst_expr) [OMP_FOR]: Here, too.
-
-2012-06-25 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/53594
- * class.c (check_bases_and_members): Avoid -Wuninitialized
- diagnostics for non-static const members or references if they
- use NSDMI.
-
-2012-06-16 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- * parser.c (cp_parser_direct_declarator): Move virt-specifier
- parsing after late-specified return type parsing.
-
-2012-06-14 Jason Merrill <jason@redhat.com>
-
- PR c++/53651
- * name-lookup.c (constructor_name_p): Don't try to look at the
- name of a DECLTYPE_TYPE.
-
-2012-06-18 Lawrence Crowl <crowl@google.com>
-
- * decl2.c (cp_write_global_declarations): Rename use of TV_PHASE_CGRAPH
- to TV_PHASE_OPT_GEN.
-
-2012-06-18 Steven Bosscher <steven@gcc.gnu.org>
-
- * decl.c (finish_function): Remove code conditional on VMS_TARGET.
-
-2012-06-15 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/51033
- * semantics.c (literal_type_p): Handle VECTOR_TYPE.
- (potential_constant_expression_1): Handle VEC_PERM_EXPR.
- * parser.c (cp_parser_postfix_expression): Handle RID_BUILTIN_SHUFFLE.
-
-2012-06-09 Jason Merrill <jason@redhat.com>
-
- * pt.c (tsubst_expr) [TAG_DEFN]: Instantiate local class.
- * class.c (finish_struct): Don't add a TAG_DEFN for a lambda.
- * decl2.c (finish_static_data_member_decl): Avoid redundant error.
-
- PR c++/53599
- * name-lookup.c (pushtag_1): Add a DECL_EXPR for a local class.
- * semantics.c (finish_cond): Build a COMPOUND_EXPR.
- * pt.c (tsubst_expr) [COMPOUND_EXPR]: Handle.
- [DECL_EXPR]: Don't call cp_finish_decl for an implicit typedef.
- Don't return the decl.
-
-2012-06-11 Richard Guenther <rguenther@suse.de>
-
- PR c++/53605
- * mangle.c (write_array_type): Use double-ints for array domain
- arithmetic.
-
-2012-06-07 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/51214
- * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields):
- Declare.
- * class.c (insert_into_classtype_sorted_fields): New.
- (add_enum_fields_to_record_type): New.
- (count_fields): Adjust the comment.
- (add_fields_to_record_type): Likewise.
- (finish_struct_1): Move the code that inserts the fields for the
- sorted case, into insert_into_classtype_sorted_fields, and call
- it.
- (insert_late_enum_def_into_classtype_sorted_fields): Define.
- * decl.c (finish_enum_value_list): Call
- insert_late_enum_def_into_classtype_sorted_fields if a late enum
- definition is encountered.
-
-2012-06-06 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53567
- * typeck.c (cp_perform_integral_promotions): New, like
- perform_integral_promotions but also takes a tsubst_flags_t parameter.
- (pointer_diff): Add tsubst_flags_t parameter.
- (decay_conversion, cp_default_conversion, cp_build_array_ref,
- cp_build_binary_op, cp_build_unary_op, build_static_cast_1,
- build_reinterpret_cast_1, cp_build_modify_expr,
- convert_for_assignment): Adjust.
- * optimize.c (build_delete_destructor_body): Adjust.
- * init.c (expand_virtual_init, expand_default_init, build_new_1,
- build_new, build_vec_delete_1, build_vec_init, build_delete): Adjust.
- (construct_virtual_base): Adjust LOOKUP_COMPLAIN -> 0.
- * class.c (build_base_path): Adjust.
- * decl.c (compute_array_index_type, finish_destructor_body): Likewise.
- * method.c (synthesized_method_walk): Adjust flag and complain.
- * rtti.c (ifnonnull): Add tsubst_flags_t parameter.
- (build_typeid, build_dynamic_cast_1): Adjust.
- * except.c (initialize_handler_parm): Likewise.
- * typeck2.c (process_init_constructor_record): Likewise.
- * pt.c (tsubst_friend_class): Don't change flags.
- * semantics.c (finish_goto_stmt, handle_omp_for_class_iterator,
- finish_static_assert): Likewise.
- * parser.c (cp_parser_lookup_name): Just pass 0 as flags to
- lookup_name_real.
- * call.c (build_op_delete_call): Add tsubst_flags_t parameter.
- (convert_like_real, convert_arg_to_ellipsis, convert_for_arg_passing):
- Adjust.
- (standard_conversion): Adjust LOOKUP_COMPLAIN -> 0.
- (implicit_conversion): Mask out tf_error with a FIXME.
- (build_user_type_conversion_1, build_new_op_1, build_over_call): Use
- complain & tf_error instead of flags & LOOKUP_COMPLAIN.
- * cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
- build_up_reference, convert_to_reference, cp_convert,
- cp_convert_and_check, ocp_convert, convert_force): Add tsubst_flags_t
- parameter.
- (convert_to_reference, ocp_convert): Use complain & tf_error instead
- of flags & LOOKUP_COMPLAIN.
- (convert_force): Adjust LOOKUP_COMPLAIN -> 0.
- * name-lookup.c (identifier_type_value_1, lookup_qualified_name,
- lookup_name_real, lookup_function_nonclass, lookup_name,
- lookup_name_prefer_type): Adjust LOOKUP_COMPLAIN -> 0.
- * cp-tree.h: Adjust prototypes; remove LOOKUP_COMPLAIN.
-
-2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
-
- * decl.c: Do not include output.h.
- (start_decl): Remove code for flag_conserve_space.
-
-2012-06-06 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/52841
- * parser.c (cp_parser_alias_declaration): Return earlier
- if an error occured.
-
-2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53524
- * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
- to control enumeral mismatch in conditional expression too.
-
-2012-06-04 Sterling Augustine <saugustine@google.com>
-
- * cp-tree.h: Declare decl_as_dwarf_string, lang_decl_dwarf_name.
- * cp-lang.c (cxx_dwarf_name): Call them.
-
-2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
-
- * semantics.c: Do not include output.h.
- * decl2.c: Likewise.
- * friend.c: Likewise.
- * typeck.c: Likewise.
- * typeck2.c: Likewise.
- * Make-lang.in: Fix dependencies.
-
-2012-06-01 Jason Merrill <jason@redhat.com>
-
- PR c++/52973
- * parser.c (cp_parser_class_head): Apply attributes here.
- * semantics.c (begin_class_definition): Not here.
- * cp-tree.h: Adjust.
-
- PR c++/52725
- * parser.c (cp_parser_binary_expression): Bail early if we're parsing
- tentatively and the LHS has a parse error.
-
- PR c++/53137
- * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
- (instantiate_decl): Don't push_to_top_level for local class methods.
- (instantiate_class_template_1): Or for local classes.
-
- PR c++/53484
- * pt.c (do_auto_deduction): Don't try to deduce from a
- type-dependent initializer.
-
-2012-06-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/26155
- * name-lookup.c (push_namespace): When error recovery is
- impossible just error out in duplicate_decls.
-
-2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
-
- * call.c: Do not include output.h.
- * class.c: Likewise.
- * except.c: Likewise.
- * friend.c: Likewise.
- * init.c: Likewise.
- * lex.c: Likewise.
- * method.c: Likewise.
- * parser.c: Likewise.
- * pt.c: Likewise.
- * rtti.c: Likewise.
- * search.c: Likewise.
-
-2012-05-30 Jason Merrill <jason@redhat.com>
-
- PR c++/53356
- * tree.c (stabilize_init): Handle stabilizing a TARGET_EXPR
- representing a bitwise copy of a glvalue.
-
- * tree.c (stabilize_expr): Tweak logic.
-
- PR c++/53356
- * tree.c (stabilize_init): Side effects make the init unstable.
-
-2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53503
- * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
-
-2012-05-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53491
- * tree.c (stabilize_expr): Handle exp of void type.
-
-2012-05-26 Jason Merrill <jason@redhat.com>
-
- PR c++/53220
- * call.c (convert_like_real) [ck_list]: Take array address directly.
- * typeck.c (decay_conversion): Reject decay of an array compound
- literal.
-
-2012-05-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/32054
- * parser.c (cp_parser_member_declaration): A storage class is not
- allowed in a declaration of an anonymous aggregate in a class scope.
-
-2012-05-24 Uros Bizjak <ubizjak@gmail.com>
-
- PR obj-c++/53441
- * decl.c (grokdeclarator): Check that current_class_type is non-NULL
- before calling constructor_name_p.
-
-2012-05-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/32080
- * parser.c (cp_parser_ctor_initializer_opt_and_function_body,
- cp_parser_function_body): Add a bool parameter, true when parsing
- a function-try-block.
- (cp_parser_function_try_block): Pass true to the above.
- (cp_parser_function_definition_after_declarator,
- cp_parser_function_transaction): Adjust.
-
-2012-05-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/29185
- * decl2.c (delete_sanity): Extend 'deleting array' warning to
- any array type.
-
-2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51184
- * decl.c (grokdeclarator): Diagnose functions returning abstract
- class types as TYPENAME.
- * cp-tree.h (ABSTRACT_CLASS_TYPE_P): Add.
- * except.c (is_admissible_throw_operand_or_catch_parameter): Use it.
- * pt.c (tsubst): Likewise.
- * semantics.c (trait_expr_value): Likewise.
-
-2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/40821
- * parser.c (cp_parser_attributes_opt): Enforce error checking of
- unbalanced parentheses in the presence of tentative parsing.
-
-2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/39681
- * parser.c (cp_parser_new_type_id): Early return error_mark_node
- if the cp_parser_type_specifier_seq call has type_specifier_seq.type
- error_mark_node; tidy.
- (cp_parser_new_expression): Always initialize nelts to NULL_TREE to
- avoid uninitialized warnings.
- (cp_parser_init_declarator, cp_parser_late_parse_one_default_arg):
- Call cp_parser_skip_to_end_of_statement if cp_parser_initializer
- returns error_mark_node.
-
-2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53371
- * except.c (is_admissible_throw_operand): Rename to
- is_admissible_throw_operand_or_catch_parameter and handle
- catch parameter too.
- (expand_start_catch_block): Use it.
- (build_throw): Adjust.
-
-2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/44516
- * typeck.c (build_x_array_ref, build_x_conditional_expr,
- build_x_compound_expr, build_x_modify_expr): Add location_t parameter.
- (finish_class_member_access_expr, build_x_indirect_ref,
- build_x_binary_op, build_x_compound_expr_from_list,
- build_x_compound_expr_from_vec): Adjust callers.
- * tree.c (build_min_nt_loc): New.
- (build_min_nt): Remove.
- * typeck2.c (build_x_arrow): Adjust callers.
- * pt.c (tsubst_qualified_id, tsubst_omp_for_iterator,
- tsubst_copy_and_build): Likewise.
- * semantics.c (finish_mem_initializers, handle_omp_for_class_iterator,
- finish_omp_atomic): Likewise.
- * decl2.c (grok_array_decl, build_anon_union_vars): Adjust.
- * parser.c (cp_parser_question_colon_clause,
- cp_parser_assignment_expression, cp_parser_expression,
- cp_parser_template_id, cp_parser_omp_for_loop): Likewise.
- * cp-tree.h: Update.
-
-2012-05-16 Dodji Seketeli <dodji@redhat.com>
-
- PR preprocessor/7263
- * cp-tree.h (enum cp_decl_spec): Add new enumerators to cover all
- the possible declarator specifiers so far.
- (struct cp_decl_specifier_seq::locations): Declare new member.
- (cp_decl_specifier_seq::{specs, type_location}): Remove.
- (decl_spec_seq_has_spec_p): Declare new function.
- * parser.c (cp_parser_check_decl_spec): Remove.
- (set_and_check_decl_spec_loc): Define new static function.
- (decl_spec_seq_has_spec_p): Define new public function.
- (cp_parser_decl_specifier_seq, cp_parser_function_specifier_opt)
- (cp_parser_type_specifier, cp_parser_simple_type_specifier)
- (cp_parser_set_storage_class, cp_parser_set_decl_spec_type)
- (cp_parser_alias_declaration): Set the locations for each
- declspec, using set_and_check_decl_spec_loc.
- (cp_parser_explicit_instantiation, cp_parser_init_declarator)
- (cp_parser_member_declaration, cp_parser_init_declarator): Use the
- new declspec location for specifiers. Use the new
- decl_spec_seq_has_spec_p.
- (cp_parser_type_specifier_seq): Use the new
- set_and_check_decl_spec_loc. Stop using
- cp_parser_check_decl_spec. Use the new decl_spec_seq_has_spec_p.
- (, cp_parser_init_declarator): Use the new
- set_and_check_decl_spec_loc.
- (cp_parser_single_declaration, cp_parser_friend_p)
- (cp_parser_objc_class_ivars, cp_parser_objc_struct_declaration):
- Use the new decl_spec_seq_has_spec_p.
- * decl.c (check_tag_decl): Use new decl_spec_seq_has_spec_p. Use
- the more precise ds_redefined_builtin_type_spec location for
- diagnostics about re-declaring C++ built-in types.
- (start_decl, grokvardecl, grokdeclarator): Use the new
- decl_spec_seq_has_spec_p.
-
-2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/11856
- * pt.c (tsubst_copy_and_build): Increase / decrease
- c_inhibit_evaluation_warnings around build_x_binary_op call.
-
-2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- * cp-tree.h (TYPE_PTRMEM_P): Rename to TYPE_PTRDATAMEM_P.
- (TYPE_PTR_TO_MEMBER_P): Rename to TYPE_PTRMEM_P.
- (TYPE_PTR_OR_PTRMEM_P): Add.
- * typeck.c (composite_pointer_type_r, composite_pointer_type,
- common_pointer_type, cp_build_indirect_ref, cp_build_binary_op,
- cp_truthvalue_conversion, convert_ptrmem, build_static_cast_1,
- build_reinterpret_cast_1, build_const_cast_1, comp_ptr_ttypes_real,
- casts_away_constness_r, casts_away_constness): Adjust.
- * init.c (build_zero_init_1): Adjust.
- * class.c (check_field_decls): Likewise.
- * decl.c (check_default_argument): Likewise.
- * rtti.c (target_incomplete_p): Likewise.
- * tree.c (zero_init_p): Likewise.
- * cxx-pretty-print.c (pp_cxx_ptr_operator,
- pp_cxx_abstract_declarator): Likewise.
- * typeck2.c (build_m_component_ref): Likewise.
- * pt.c (convert_nontype_argument, invalid_nontype_parm_type_p,
- dependent_type_p_r): Likewise.
- * call.c (null_member_pointer_value_p, standard_conversion,
- add_builtin_candidate, build_conditional_expr_1, compare_ics):
- Likewise.
- * cp-objcp-common.c (cp_var_mod_type_p): Likewise.
- * cvt.c (cp_convert_to_pointer, ocp_convert,
- perform_qualification_conversions): Likewise.
- * mangle.c (write_type): Likewise.
- * name-lookup.c (arg_assoc_type): Likewise.
-
-2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- * parser.c (struct cp_parser_expression_stack_entry): Add location_t
- field.
- (cp_parser_binary_expression): Rework to always update at the same
- time tree_type and loc.
- * call.c (print_z_candidate): Add location_t parameter.
- (print_z_candidates, convert_like_real, joust): Adjust.
-
-2012-05-11 Alexandre Oliva <aoliva@redhat.com>
-
- PR c++/53209
- * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
-
-2012-05-11 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53305
- * pt.c (tsubst_copy: case PARM_DECL): Return error_mark_node if
- tsubst_decl returns NULL_TREE.
- * cxx-pretty-print.c (pp_cxx_simple_type_specifier): Handle
- BOUND_TEMPLATE_TEMPLATE_PARM.
-
-2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53158
- * cvt.c (ocp_convert): Error out early for void -> bool conversions.
- * typeck.c (decay_conversion): Use error_at.
- * call.c (build_integral_nontype_arg_conv, convert_like_real,
- convert_arg_to_ellipsis, perform_implicit_conversion_flags,
- initialize_reference): Likewise.
- * cvt.c (warn_ref_binding): Add location_t parameter.
- (cp_convert_to_pointer, convert_to_reference, ocp_convert,
- convert_to_void, ): Use error_at and warning_at.
-
-2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53301
- * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
- instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
-
-2012-05-06 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53152
- * call.c (op_error, build_new_op_1, build_new_op): Add location_t
- parameter.
- (build_conditional_expr_1): Adjust.
- * typeck.c (build_x_indirect_ref, build_x_binary_op,
- build_x_unary_op): Add location_t parameter.
- (rationalize_conditional_expr, build_x_array_ref,
- build_x_compound_expr, cp_build_modify_expr, build_x_modify_expr):
- Adjust.
- * typeck2.c (build_x_arrow): Add location_t parameter.
- * semantics.c (finish_unary_op_expr): Likewise.
- (finish_increment_expr, handle_omp_for_class_iterator): Adjust.
- * decl2.c (grok_array_decl): Add location_t parameter.
- * parser.c (cp_parser_postfix_open_square_expression,
- cp_parser_postfix_dot_deref_expression, cp_parser_unary_expression,
- cp_parser_binary_expression, cp_parser_builtin_offsetof,
- do_range_for_auto_deduction, cp_convert_range_for,
- cp_parser_template_argument, cp_parser_omp_for_cond): Pass the
- location, adjust.
- * pt.c (tsubst_copy_and_build): Adjust.
- * tree.c (maybe_dummy_object): Likewise.
- * cp-tree.h: Update declarations.
-
-2012-05-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- * semantics.c (cxx_eval_constant_expression, case CONVERT_EXPR): Tidy.
-
-2012-05-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53166
- * pt.c (instantiate_class_template_1): Increase / decrease
- c_inhibit_evaluation_warnings around the tsubst_expr call
- for STATIC_ASSERT_CONDITION.
- (tsubst_expr, case STATIC_ASSERT): Likewise.
- * typeck.c (cp_build_binary_op, case EQ_EXPR/NE_EXPR): Check
- c_inhibit_evaluation_warnings in the OPT_Waddress warnings.
-
-2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53186
- * call.c (build_over_call): Handle final member functions
- and class types.
- (build_new_method_call_1): Do not handle here.
-
-2012-05-02 Richard Guenther <rguenther@suse.de>
-
- * decl.c (grokdeclarator): Properly check for sizes that
- cover more than half of the address-space.
-
-2012-04-30 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/51033
- * typeck.c (cp_build_array_ref): Handle VECTOR_TYPE.
- * decl2.c (grok_array_decl): Likewise.
-
- PR c++/51314
- * parser.c (cp_parser_sizeof_operand): Require parentheses for
- sizeof...
-
-2012-04-30 Dodji Seketeli <dodji@redhat.com>
-
- Fix location for static class members
- * decl.c (grokdeclarator): Use the location carried by the
- declarator for the DECL of the static class member.
-
- Fix va_arg type location
- * cp-tree.h (build_x_va_arg): Take an additional location
- parameter.
- * call.c (build_x_va_arg): Take a loc parameter for the location
- of the type of the va_arg expression.
- * parser.c (cp_parser_primary_expression): Pass the type of the
- type in the va_arg expression to build_x_va_arg.
- * pt.c (tsubst_copy): Adjust calls to build_x_va_arg.
-
- Make conversion warnings work on NULL with -ftrack-macro-expansion
- * call.c (conversion_null_warnings): Use the new
- expansion_point_location_if_in_system_header.
- * cvt.c (build_expr_type_conversion): Likewise.
- * typeck.c (cp_build_binary_op): Likewise.
-
-2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * typeck.c (convert_for_assignment): Replace
- Wmissing-format-attribute with Wsuggest-attribute=format.
- * call.c (convert_for_arg_passing): Likewise.
-
-2012-04-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53096
- * class.c (check_bases_and_members): Implement core/1333, do not
- disallow defaulted in the class body non-const ref special members.
-
-2012-04-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52363
- * call.c (tourney, perform_overload_resolution,
- build_operator_new_call, build_user_type_conversion_1,
- build_user_type_conversion, perform_overload_resolution,
- add_template_candidate, add_template_candidate_real,
- add_template_conv_candidate, add_builtin_candidates,
- add_builtin_candidate, build_builtin_candidate,
- add_conv_candidate, add_function_candidate, implicit_conversion,
- reference_binding, build_list_conv, conditional_conversion,
- add_candidates, can_convert_array, build_aggr_conv,
- build_array_conv, build_complex_conv, conditional_conversion):
- Add tsubst_flags_t parameter.
- (joust): Likewise, use it to handle SFINAE as if pedantic.
- (add_list_candidates, build_integral_nontype_arg_conv,
- perform_overload_resolution, build_new_function_call,
- build_operator_new_call, build_op_call_1,
- build_conditional_expr_1, build_new_op_1, convert_like_real,
- convert_arg_to_ellipsis, convert_default_arg,
- convert_for_arg_passing, build_over_call,
- build_new_method_call_1, can_convert_arg, can_convert_arg_bad,
- perform_implicit_conversion_flags,
- perform_direct_initialization_if_possible,
- initialize_reference): Adjust.
- * typeck.c (casts_away_constness, casts_away_constness_r):
- Add tsubst_flags_t parameter.
- (convert_arguments, check_for_casting_away_constness,
- build_static_cast_1, build_ptrmemfunc, convert_for_assignment):
- Adjust.
- * decl.c (reshape_init_r, check_default_argument): Likewise.
- * cp-gimplify.c (cxx_omp_clause_apply_fn): Likewise.
- * pt.c (convert_nontype_argument, check_non_deducible_conversion):
- Likewise.
- * init.c (build_new_1): Likewise.
- * cvt.c (convert_to_reference, ocp_convert, build_type_conversion,
- build_expr_type_conversion, ): Likewise.
- * search.c (check_final_overrider): Likewise.
- * cp-tree.h (build_user_type_conversion,
- build_operator_new_call, can_convert, can_convert_arg,
- can_convert_arg_bad, convert_default_arg,
- convert_arg_to_ellipsis, convert_for_arg_passing):
- Adjust declaration.
-
-2012-04-22 Jan Hubicka <jh@suse.cz>
-
- * decl2.c (maybe_make_one_only): Mark keyed COMDATs as USED so they
- gets finalized.
-
-2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/44774
- * typeck.c (composite_pointer_type): Likewise.
- (cxx_sizeof_or_alignof_type): Likewise.
- (cp_build_array_ref): Likewise.
- (cp_build_function_call_vec): Likewise.
- (cp_build_addr_expr_1): Likewise.
- (convert_member_func_to_ptr): Likewise.
- * decl.c (check_tag_decl): Likewise.
- (check_static_variable_definition): Likewise.
- (compute_array_index_type): Likewise.
- (create_array_type_for_decl): Likewise.
- (grokdeclarator): Likewise.
- (grok_op_properties): Likewise.
- * error.c (maybe_warn_cpp0x): Likewise.
- * pt.c (maybe_process_partial_specialization): Likewise.
- (convert_template_argument): Likewise.
- (do_decl_instantiation): Likewise.
- (do_type_instantiation): Likewise.
- * parser.c (cp_parser_primary_expression): Likewise.
- (cp_parser_postfix_expression): Likewise.
- (cp_parser_unary_expression): Likewise.
- (cp_parser_question_colon_clause): Likewise.
- (cp_parser_lambda_introducer): Likewise.
- (cp_parser_lambda_declarator_opt): Likewise.
- (cp_parser_compound_statement): Likewise.
- (cp_parser_jump_statement): Likewise.
- (cp_parser_declaration_seq_opt): Likewise.
- (cp_parser_enum_specifier): Likewise.
- (cp_parser_enumerator_list): Likewise.
- (cp_parser_initializer_list): Likewise.
- (cp_parser_member_declaration): Likewise.
- * call.c (build_conditional_expr_1): Likewise.
- * friend.c (make_friend_class): Likewise.
- * name-lookup.c (pushdecl_maybe_friend_1): Likewise.
-
-2012-04-21 Jan Hubicka <jh@suse.cz>
-
- * method.c (make_alias_for): Do not set TREE_SYMBOL_REFERENCED.
- * decl2.c (mark_needed): Likewise.
- (decl_needed_p): Do not test TREE_SYMBOL_REFERENCED.
-
- * decl2.c (cxx_callgraph_analyze_expr): Remove.
- * cp-objcp-common.h (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Remove.
- * cp-tree.h (cxx_callgraph_analyze_expr): Remove.
-
-2012-04-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 35441
- * typeck.c (cp_build_function_call_vec): Do not pretty-print
- expressions when caret is enabled.
-
-2012-04-20 Jan Hubicka <jh@suse.cz>
-
- PR target/53042
- * decl2.c (maybe_emit_vtables): Do not initialize same_comdat_group
- list when target has no support for it.
-
-2012-04-20 Michael Matz <matz@suse.de>
-
- * error.c (pedwarn_cxx98): Move va_end call after user
- of the va_list.
-
-2012-04-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52422
- * cp-tree.h (build_addr_func, decay_conversion,
- get_member_function_from_ptrfunc,
- build_m_component_ref, convert_member_func_to_ptr):
- Add tsubst_flags_t parameter.
- * typeck.c (cp_default_conversion): Add.
- (decay_conversion, default_conversion,
- get_member_function_from_ptrfunc, convert_member_func_to_ptr):
- Add tsubst_flags_t parameter and use it throughout.
- (cp_build_indirect_ref, cp_build_array_ref,
- cp_build_function_call_vec, convert_arguments, build_x_binary_op,
- cp_build_binary_op, cp_build_unary_op, build_reinterpret_cast_1,
- build_const_cast_1, expand_ptrmemfunc_cst,
- convert_for_initialization): Adjust.
- * init.c (build_vec_init): Adjust.
- * decl.c (grok_reference_init, get_atexit_node): Likewise.
- * rtti.c (build_dynamic_cast_1, tinfo_base_init): Likewise.
- * except.c (build_throw): Likewise.
- * typeck2.c (build_x_arrow): Likewise.
- (build_m_component_ref): Add tsubst_flags_t parameter and
- use it throughout.
- * pt.c (convert_nontype_argument): Adjust.
- * semantics.c (finish_asm_stmt, maybe_add_lambda_conv_op): Likewise.
- * decl2.c (build_offset_ref_call_from_tree): Likewise.
- * call.c (build_addr_func): Add tsubst_flags_t parameter and
- use it throughout.
- (build_call_a, build_conditional_expr_1, build_new_op_1,
- convert_like_real, convert_arg_to_ellipsis, build_over_call,
- build_special_member_call): Adjust.
- * cvt.c (cp_convert_to_pointer, force_rvalue,
- build_expr_type_conversion): Likewise.
-
-2012-04-17 Tom de Vries <tom@codesourcery.com>
-
- * cp-gimplify.c (begin_bc_block): Add location parameter and use as
- location argument to create_artificial_label.
- (finish_bc_block): Change return type to void. Remove body_seq
- parameter, and add block parameter. Append label to STMT_LIST and
- return in block.
- (gimplify_cp_loop, gimplify_for_stmt, gimplify_while_stmt)
- (gimplify_do_stmt, gimplify_switch_stmt): Remove function.
- (genericize_cp_loop, genericize_for_stmt, genericize_while_stmt)
- (genericize_do_stmt, genericize_switch_stmt, genericize_continue_stmt)
- (genericize_break_stmt, genericize_omp_for_stmt): New function.
- (cp_gimplify_omp_for): Remove bc_continue processing.
- (cp_gimplify_expr): Genericize VEC_INIT_EXPR.
- (cp_gimplify_expr): Mark FOR_STMT, WHILE_STMT, DO_STMT, SWITCH_STMT,
- CONTINUE_STMT, and BREAK_STMT as unreachable.
- (cp_genericize_r): Genericize FOR_STMT, WHILE_STMT, DO_STMT,
- SWITCH_STMT, CONTINUE_STMT, BREAK_STMT and OMP_FOR.
- (cp_genericize_tree): New function, factored out of ...
- (cp_genericize): ... this function.
-
-2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52599
- * semantics.c (build_constexpr_constructor_member_initializers):
- Check for function-try-block as function-body.
-
-2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53003
- * parser.c (cp_parser_member_declaration): Check that
- initializer_token_start is non null before dereferencing it.
-
-2012-04-16 Jason Merrill <jason@redhat.com>
-
- PR c++/38543
- * pt.c (determine_specialization): Instead of comparing the number
- of parms, check that tsubst gives the right answer.
-
- PR c++/52008
- * pt.c (process_partial_specialization): Complain about a partial
- specialization with fewer args than primary template parms.
-
- PR c++/50830
- * pt.c (convert_template_argument): Handle template template
- argument packs.
-
- PR c++/50303
- * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
- template parameters.
-
-2012-04-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/49152
- * call.c (op_error): Print types; when flag_diagnostics_show_caret
- is false print expressions too.
- (op_error_string): Add.
-
-2012-04-16 Jason Merrill <jason@redhat.com>
-
- PR c++/51148
- * friend.c (make_friend_class): Call check_for_bare_parameter_packs.
-
-2012-04-16 Jan Hubicka <jh@suse.cz>
-
- * decl2.c (collect_candidates_for_java_method_alias): Use FOR_EACH
- walkers to walk cgraph and varpool.
-
-2012-04-15 Jason Merrill <jason@redhat.com>
-
- PR c++/47220
- * pt.c (coerce_template_parameter_pack): Check for error_mark_node.
-
- PR c++/52292
- PR c++/52380
- * pt.c (coerce_template_parms): Even if we aren't converting we
- want to expand argument packs.
-
- PR c++/52706
- * mangle.c (write_type): nullptr_t is a builtin type.
-
-2012-04-14 Jan Hubicka <jh@suse.cz>
-
- * tree.c: Update field referenced for new cgraph/varpool layout.
- * decl2.c: Likewise.
-
-2012-04-13 Jason Merrill <jason@redhat.com>
-
- PR c++/52824
- * pt.c (any_pack_expanson_args_p): New.
- (coerce_template_parms): Use it.
-
- PR c++/52905
- * call.c (joust): Handle comparing list and non-list ctors.
-
- PR c++/52915
- * decl2.c (finish_anon_union): Use cp_finish_decl.
- * error.c (dump_function_name): Avoid showing anonymous "name".
-
-2012-04-11 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/52465
- * parser.c (cp_parser_class_name): Call strip_using_decl and
- return the target decl.
- * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
- to be stripped is NULL_TREE.
- (qualify_lookup): Call strip_using_decl and perform some checks on
- the target decl.
-
-2012-04-11 Jason Merrill <jason@redhat.com>
-
- PR debug/45088
- * decl.c (grokdeclarator): Strip the injected-class-name typedef
- if we are building a declaration or compound type.
-
- PR c++/52906
- * decl.c (check_tag_decl): Don't complain about attributes if we
- don't even have a type.
-
-2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * cvt.c (convert_to_void): Update comment.
-
-2012-04-05 Jason Merrill <jason@redhat.com>
-
- PR c++/52596
- * semantics.c (finish_non_static_data_member): In templates, pass
- the decl to build_qualified_name.
- * tree.c (lvalue_kind) [SCOPE_REF]: Handle FIELD_DECL.
-
-2012-04-04 Jason Merrill <jason@redhat.com>
-
- PR c++/52845
- * decl.c (finish_function): Update fntype after deducing return type.
-
-2012-04-03 Jason Merrill <jason@redhat.com>
-
- PR c++/52796
- * pt.c (tsubst_initializer_list): A pack expansion with no elements
- means value-initialization.
-
-2012-04-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50043
- * class.c (deduce_noexcept_on_destructor,
- deduce_noexcept_on_destructors): New.
- (check_bases_and_members): Call the latter.
- * decl.c (grokfndecl): Call the former.
- * method.c (implicitly_declare_fn): Not static.
- * cp-tree.h (deduce_noexcept_on_destructor, implicitly_declare_fn):
- Declare
-
-2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52718
- * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
- warn for a zero as null pointer constant default argument.
-
-2012-03-29 Jason Merrill <jason@redhat.com>
-
- PR c++/52685
- * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
-
-2012-03-29 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/52759
- * decl.c (start_decl): Don't call maybe_apply_pragma_weak
- if processing_template_decl.
-
-2012-03-29 Jason Merrill <jason@redhat.com>
-
- PR c++/52743
- * call.c (compare_ics): Handle ck_aggr like ck_list.
-
-2012-03-28 Jason Merrill <jason@redhat.com>
-
- PR c++/52746
- * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
- we didn't get an explicit scope.
- * pt.c (tsubst_baselink): Likewise.
-
-2012-03-28 Richard Guenther <rguenther@suse.de>
-
- * typeck2.c (process_init_constructor_array): Use the proper
- type for computing the array length.
-
-2012-03-27 Meador Inge <meadori@codesourcery.com>
-
- PR c++/52672
- * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
- stripped child trees that are not pointer types.
-
-2012-03-21 Jason Merrill <jason@redhat.com>
-
- Implement return type deduction for normal functions with -std=c++1y.
- * cp-tree.h (FNDECL_USED_AUTO): New macro.
- (LAMBDA_EXPR_DEDUCE_RETURN_TYPE_P): Remove.
- (dependent_lambda_return_type_node): Remove.
- (CPTI_DEPENDENT_LAMBDA_RETURN_TYPE): Remove.
- (struct language_function): Add x_auto_return_pattern field.
- (current_function_auto_return_pattern): New.
- (enum tsubst_flags): Add tf_partial.
- * decl.c (decls_match): Handle auto return comparison.
- (duplicate_decls): Adjust error message for auto return.
- (cxx_init_decl_processing): Remove dependent_lambda_return_type_node.
- (cp_finish_decl): Don't do auto deduction for functions.
- (grokdeclarator): Allow auto return without trailing return type in
- C++1y mode.
- (check_function_type): Defer checking of deduced return type.
- (start_preparsed_function): Set current_function_auto_return_pattern.
- (finish_function): Set deduced return type to void if not previously
- deduced.
- * decl2.c (change_return_type): Handle error_mark_node.
- (mark_used): Always instantiate functions with deduced return type.
- Complain about use if deduction isn't done.
- * parser.c (cp_parser_lambda_declarator_opt): Use 'auto' for
- initial return type.
- (cp_parser_lambda_body): Don't deduce return type in a template.
- (cp_parser_conversion_type_id): Allow auto in C++1y.
- * pt.c (instantiate_class_template_1): Don't mess with
- LAMBDA_EXPR_DEDUCE_RETURN_TYPE_P.
- (tsubst_copy_and_build): Likewise.
- (fn_type_unification, tsubst): Don't reduce the template parm level
- of 'auto' during deduction.
- (unify): Compare 'auto' specially.
- (get_bindings): Change test.
- (always_instantiate_p): Always instantiate functions with deduced
- return type.
- (do_auto_deduction): Handle error_mark_node and lambda context.
- Don't check for use in initializer.
- (contains_auto_r): Remove.
- * search.c (lookup_conversions_r): Handle auto conversion function.
- * semantics.c (lambda_return_type): Handle null return. Don't mess
- with dependent_lambda_return_type_node.
- (apply_deduced_return_type): Rename from apply_lambda_return_type.
- * typeck.c (merge_types): Handle auto.
- (check_return_expr): Do auto deduction.
- * typeck2.c (add_exception_specifier): Fix complain check.
-
-2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52487
- * class.c (check_field_decls): Call literal_type_p only
- on complete types.
-
-2012-03-22 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/52671
- * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
- on CLASS_TYPE_P types.
-
-2012-03-20 Jason Merrill <jason@redhat.com>
-
- * lex.c (init_reswords): Use >= for cxx_dialect test.
- * parser.c (cp_parser_exception_specification_opt): Likewise.
-
- * mangle.c (write_type): Handle 'auto'.
- * init.c (build_new): Don't do auto deduction where it might
- affect template mangling.
-
- PR c++/52510
- * decl.c (reshape_init_class): Handle repeated reshaping.
- * search.c (lookup_field_1): Add sanity check.
-
-2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/14710
- * cp-tree.h (xvalue_p, maybe_warn_about_useless_cast): Declare.
- * tree.c (xvalue_p): Define.
- * typeck.c (maybe_warn_about_useless_cast): Define.
- (build_reinterpret_cast, build_const_cast,
- build_static_cast, cp_build_c_cast): Use maybe_warn_about_useless_cast.
- * rtti.c (build_dynamic_cast): Likewise.
- * pt.c (tsubst_copy_and_build, case CAST_EXPR): Increment/decrement
- c_inhibit_evaluation_warnings before/after the build_* calls.
-
-2012-03-15 Jason Merrill <jason@redhat.com>
-
- PR c++/52582
- * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
-
-2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c++/44783
- * error.c (print_instantiation_partial_context): Use
- template_backtrace_limit.
-
-2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * Make-lang.in (doc/g++.1): Remove IRIX 6.5 reference.
-
-2012-03-14 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/52521
- * parser.c (lookup_literal_operator): Return fn only if
- processed all arguments from args vector and argtypes is
- void_list_node.
-
-2012-01-30 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51641
- * cp-tree.h (template_type_parameter_p): Declare new function.
- (parameter_of_template_p): Remove.
- * pt.c (template_type_parameter_p): Define new function.
- (parameter_of_template_p): Remove.
- * name-lookup.c (binding_to_template_parms_of_scope_p): Don't rely
- on parameter_of_template_p anymore. Compare the level of the
- template parameter to the depth of the template.
-
-2011-12-15 Dodji Seketeli <dodji@redhat.com>
-
- * call.c (standard_conversion, build_integral_nontype_arg_conv)
- (build_new_op_1, convert_like_real, is_subseq)
- (maybe_handle_implicit_object, maybe_handle_ref_bind, compare_ics)
- (joust): Use next_conversion instead of accessing fields of struct
- conversion directly.
-
-2012-03-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52299
- * pt.c (tsubst_copy_and_build, case COND_EXPR): Avoid bogus
- division by zero warnings.
-
-2012-03-08 Paolo Carlini <paolo.carlini@oracle.com>
-
- * typeck.c (build_array_ref, cp_build_addr_expr_1, convert_ptrmem,
- build_ptrmemfunc): Consistently forward the tsubst_flags_t
- parameter.
- * call.c (resolve_args): Likewise.
-
-2012-03-07 Jason Merrill <jason@redhat.com>
-
- PR c++/52521
- * mangle.c (write_literal_operator_name): The length comes after the
- operator prefix.
-
-2012-03-05 Jakub Jelinek <jakub@redhat.com>
-
- * pt.c (local_specializations): Change from htab_t into
- struct pointer_map_t *.
- (retrieve_local_specializations, register_local_specialization,
- tsubst_pack_expansion, instantiate_decl): Adjust users.
- (eq_local_specializations, hash_local_specialization): Remove.
-
-2012-03-05 Jason Merrill <jason@redhat.com>
-
- PR c++/51930
- * decl2.c (determine_visibility): Correct calculation of class
- args depth.
- * decl.c (check_tag_decl): Adjust warning.
-
- * method.c (synthesized_method_walk): Cleanups don't affect the EH
- spec either.
-
-2012-03-03 Jason Merrill <jason@redhat.com>
-
- * init.c (perform_member_init): Cope with uninstantiated NSDMI.
-
- Core 1270
- * call.c (build_aggr_conv): Call reshape_init.
- (convert_like_real): Likewise.
- * typeck2.c (process_init_constructor): Clear TREE_CONSTANT if
- not all constant.
-
- * mangle.c (write_nested_name): Use decl_mangling_context.
- (write_prefix, write_template_prefix): Likewise.
-
- PR c++/36797
- * mangle.c (write_expression): Improve diagnostic for TRAIT_EXPR.
-
- * class.c (add_method): Always build an OVERLOAD for using-decls.
- * search.c (lookup_member): Handle getting an OVERLOAD for a
- single function.
-
-2012-03-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51989
- * typeck2.c (build_x_arrow): Take a tsubst_flags_t argument and
- propagate it.
- * cp-tree.h (build_x_arrow): Adjust prototype.
- * pt.c (tsubst_copy_and_build): Adjust call.
- * parser.c (cp_parser_postfix_dot_deref_expression): Likewise.
-
-2012-03-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- * name-lookup.c (binding_to_template_parms_of_scope_p): Clean up.
-
-2012-02-29 Jason Merrill <jason@redhat.com>
-
- PR c++/51930
- * decl.c (check_tag_decl): Move warning for misplaced attributes here.
- (shadow_tag): From here.
- * parser.c (cp_parser_explicit_instantiation): Don't warn here.
-
-2012-02-21 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/52312
- * typeck.c (check_literal_operator_args): Initialize *long_double_p
- and *long_long_unsigned_p even if processing_template_decl.
-
-2012-02-16 Jason Merrill <jason@redhat.com>
-
- PR c++/52248
- * decl.c (define_label): Use timevar_cond_start/stop.
-
-2012-02-16 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/52126
- * decl.c (xref_basetypes): call dependent_scope_p instead of
- dependent_type_p.
-
-2012-02-16 Jason Merrill <jason@redhat.com>
-
- PR c++/51415
- * error.c (dump_expr): Handle lambda closures specifically.
-
-2012-02-14 Jason Merrill <jason@redhat.com>
-
- * parser.c (cp_parser_explicit_instantiation): Give a warning
- for ignored attributes on explicit class instantiation.
-
-2012-02-14 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/52247
- * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
- lookup_label on label's name and set TREE_USED.
-
-2012-02-14 Jason Merrill <jason@redhat.com>
-
- PR c++/39055
- * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
-
-2012-02-14 Jakub Jelinek <jakub@redhat.com>
-
- PR c/52181
- * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
- newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
-
-2012-02-07 Jason Merrill <jason@redhat.com>
-
- PR c++/51675
- * semantics.c (cx_check_missing_mem_inits): Handle unions.
- Fix constexpr default constructor logic.
-
- PR c++/52035
- * pt.c (tsubst): Strip uninstantiated typedef.
-
-2012-02-06 Jason Merrill <jason@redhat.com>
-
- PR c++/52088
- * cvt.c (build_expr_type_conversion): Check for template conversion.
-
-2012-01-31 Jason Merrill <jason@redhat.com>
-
- PR c++/52043
- * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
- * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
- (tsubst_pack_expansion): Check it.
-
-2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51327
- * class.c (explain_non_literal_class): Correctly handle implicitly
- deleted constructors.
-
-2012-01-27 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/51852
- * pt.c (tsubst_pack_expansion): Delete and restore
- local_specialization whenever need_local_specialization, not just
- when saved_local_specializations is non-NULL.
-
-2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51370
- * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
- as TREE_OPERAND (t, 1).
-
-2012-01-24 Jason Merrill <jason@redhat.com>
-
- PR c++/51917
- * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
-
- PR c++/51973
- * tree.c (called_fns_equal): Check template args.
- (cp_tree_equal): Call it.
-
-2012-01-24 Aldy Hernandez <aldyh@redhat.com>
- Patrick Marlier <patrick.marlier@gmail.com>
-
- PR c++/51928
- * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
- thunk for set_one_vmethod_tm_attributes.
-
-2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51223
- * call.c (build_over_call): Check for error_mark_node as
- TREE_VALUE when default arguments are processed.
-
-2012-01-23 Jason Merrill <jason@redhat.com>
-
- PR c++/51930
- * decl2.c (determine_visibility): Check for visibility attribute
- on template specialization.
-
-2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51398
- * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
-
-2012-01-23 Jason Merrill <jason@redhat.com>
-
- PR c++/51925
- * class.c (add_method): Set OVL_USED for using-decls.
- * tree.c (ovl_scope): New.
- * cp-tree.h: Declare it.
- * parser.c (cp_parser_template_name): Use it.
- * semantics.c (baselink_for_fns): Likewise.
- * name-lookup.c (set_inherited_value_binding_p): Likewise.
-
-2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51402
- * pt.c (lookup_template_class_1): Check context returned by
- tsubst for error_mark_node.
-
-2012-01-19 Kai Tietz <ktietz@redhat.com>
-
- PR c++/51344
- * decl2.c (save_template_attributes): Use merge_attributes
- instead of chaining up via TREE_CHAIN.
-
-2012-01-19 Jason Merrill <jason@redhat.com>
-
- PR c++/51889
- * class.c (finish_struct): Call add_method here for function usings.
- * semantics.c (finish_member_declaration): Not here.
-
-2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51225
- * typeck2.c (store_init_value): Within a template guard
- cxx_constant_value with require_potential_constant_expression.
- * pt.c (convert_nontype_argument): Likewise.
-
-2012-01-16 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/51854
- * mangle.c (write_template_arg_literal): Handle complex.
-
-2012-01-16 Jason Merrill <jason@redhat.com>
-
- PR c++/51827
- * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
-
- PR c++/51868
- * typeck.c (build_static_cast_1): Handle bit-fields properly.
-
-2012-01-13 Ian Lance Taylor <iant@google.com>
-
- PR c++/50012
- * typeck.c (enum_cast_to_int): New static function.
- (cp_build_binary_op): When handling warn_sign_compare, don't test
- for TREE_NO_WARNING. Do call enum_cast_to_int.
- * call.c (avoid_sign_compare_warnings): Remove static function.
- (build_new_op_1): Don't call avoid_sign_compare_warnings.
-
-2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
-
- * decl2.c: Do not include tree-mudflap.h
- * semantics.c: Likewise.
-
-2012-01-13 Jason Merrill <jason@redhat.com>
-
- PR c++/20681
- * semantics.c (finish_break_stmt): Avoid adding an unreachable
- BREAK_STMT.
-
- PR c++/51813
- * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
- when reducing the visibility.
-
- PR c++/51620
- * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
-
-2012-01-12 Jason Merrill <jason@redhat.com>
-
- PR c++/51714
- * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
- value-dependent.
-
-2012-01-13 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51633
- * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
- Set the pointer to the last block of the constructor to the
- current statement.
- (build_constexpr_constructor_member_initializers): Get
- build_data_member_initialization a chance to deal with more
- statements before we choke.
-
-2012-01-12 Jason Merrill <jason@redhat.com>
-
- PR c++/48051
- * mangle.c (write_expression): Mangle BASELINK scope if
- BASELINK_QUALIFIED_P.
- * search.c (adjust_result_of_qualified_name_lookup): Set
- BASELINK_QUALIFIED_P.
- * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
- * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
- adjust_result_of_qualified_name_lookup for non-qualified names.
-
- PR c++/51403
- * pt.c (unify): Handle error_mark_node.
-
-2012-01-11 Jason Merrill <jason@redhat.com>
-
- PR c++/51565
- * call.c (standard_conversion): For ptrmemfuncs, compare the
- static_fn_types.
-
- PR c++/51818
- * mangle.c (find_substitution): A type is only a substitution
- match if we're looking for a type.
- (write_nested_name): Use decl_mangling_context.
-
- * decl.c (decls_match): Assert that the arguments are decls.
-
- PR c++/51613
- * pt.c (resolve_overloaded_unification): Compare types with
- same_type_p, not decls_match.
-
-2012-01-10 Jason Merrill <jason@redhat.com>
-
- PR c++/51614
- * class.c (build_base_path): Diagnose ambiguous base.
-
- PR c++/51433
- * semantics.c (cxx_eval_call_expression): Always retry previously
- non-constant expressions.
-
-2012-01-06 Jason Merrill <jason@redhat.com>
-
- DR 686
- PR c++/47450
- * parser.c (cp_parser_new_expression): Set
- type_definition_forbidden_message.
-
- PR c++/6057
- PR c++/48051
- PR c++/50855
- PR c++/51322
- * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
- THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
- PREDECREMENT_EXPR.
- (write_template_arg): Fix mangling of class-scope functions and
- argument packs.
- (mangle_decl): Update suggested -fabi-version argument.
- * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
- DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
- * tree.c (dependent_name): No longer static.
- * cp-tree.h: Declare it.
- * pt.c (unify): Defer handling of unconverted functions.
-
- * mangle.c (mangle_decl): Don't generate mangling aliases
- for maybe-in-charge [cd]tors.
-
- * error.c (dump_expr): Print type of CONSTRUCTOR.
-
-2012-01-05 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51541
- * parser.c (cp_parser_alias_declaration): Get out early upon
- errors in the identifier or the attributes.
-
-2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51064
- * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
- the tree returned by build_x_binary_op.
-
-2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51738
- * parser.c (cp_parser_postfix_open_square_expression): Handle
- postfix-expression [ braced-init-list ].
-
-2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/29273
- * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
- call decay_conversion on v.
-
-2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/15867
- * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
- declaration followed by specialization.
-
-2012-01-03 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/51669
- * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
- on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
-
-2012-01-02 Jason Merrill <jason@redhat.com>
-
- DR 1359
- PR c++/51675
- * method.c (walk_field_subobs): Don't check for uninitialized
- fields in a union.
- (synthesized_method_walk): Check here.
-
- DR 325
- PR c++/51666
- * parser.c (cp_parser_cache_defarg): Split out...
- (cp_parser_parameter_declaration): ...from here.
- (cp_parser_save_nsdmi): Use it.
- (cp_parser_cache_group): Remove CPP_COMMA support.
-
-2012-01-02 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51462
- * semantics.c (cx_check_missing_mem_inits): Don't assert in case
- of error.
-
-2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/20140
- * typeck2.c (digest_init_r): Use copy_init when initializing
- an array of chars.
-
-2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/16603
- * decl.c (build_enumerator): Don't call perform_integral_promotions
- on the value.
-
-2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
+2013-01-02 Jason Merrill <jason@redhat.com>
- PR c++/51379
- * typeck.c (build_reinterpret_cast_1): Implement resolution of
- DR 799.
+ PR c++/54325
+ * call.c (build_new_method_call_1): Don't use build_value_init for
+ user-provided default constructors.
-2012-01-01 Fabien Chêne <fabien@gcc.gnu.org>
+ * decl.c (check_default_argument): Use LOOKUP_IMPLICIT.
- * parser.c (cp_parser_using_declaration): Add a warning about
- deprecated access declarations when no errors were encountered
- while parsing the access declaration. Save the first token in
- order to emit the warning at the right place.
+ PR c++/55032
+ PR c++/55245
+ * tree.c (build_cplus_array_type): Copy layout information
+ to main variant if necessary.
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2013 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/cp/ChangeLog-2012 b/gcc/cp/ChangeLog-2012
new file mode 100644
index 00000000000..a57051ebf5f
--- /dev/null
+++ b/gcc/cp/ChangeLog-2012
@@ -0,0 +1,3067 @@
+2012-12-28 Kai Tietz <ktietz@redhat.com>
+
+ * rtti.c (LONGPTR_T): New helper-macro.
+ (get_pseudo_ti_init): Initialize offset_type by LONGPTR_T
+ type instead of 'long' type.
+ (create_tinfo_types): Use for offset/flags field LONGPTR_T
+ type instead of 'long' type.
+
+2012-12-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/55724
+ * pt.c (type_unification_real): Re-combine post-deduction loops.
+
+2012-12-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/55685
+ * pt.c (tsubst_copy_and_build): Don't use SIZEOF_EXPR_TYPE_P in
+ templates.
+
+ PR c++/42315
+ * decl.c (maybe_deduce_size_from_array_init): Don't change the
+ variable type.
+
+2012-12-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/55652
+ * typeck2.c (merge_exception_specifiers): Don't call operand_equal_p
+ if noex is NULL.
+
+2012-12-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/54883
+ * decl2.c (min_vis_r): Handle anon visibility for enums.
+
+2012-12-11 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/53094
+ * tree.c (cp_tree_equal): Handle VECTOR_CST.
+ * semantics.c (cxx_eval_bare_aggregate): Protect a dereference.
+ Handle VECTOR_CST.
+
+2012-12-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/55643
+ * expr.c (mark_exp_read): Handle FLOAT_EXPR similarly to NOP_EXPR.
+
+2012-12-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/54416
+ * pt.c (maybe_process_partial_specialization): Don't accept
+ definition of a specialization without the appropriate header.
+
+ * pt.c (maybe_process_partial_specialization): Handle aliases first.
+
+2012-12-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/55619
+ * semantics.c (finish_asm_stmt): Don't call decay_conversion
+ on input operands that can be only in memory.
+
+2012-12-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * Make-lang.in (cp/typeck.o): Add dependency on $(PARAMS_H).
+ (cp/name-lookup.o): Likewise.
+
+2012-12-10 Steven Bosscher <steven@gcc.gnu.org>
+
+ * decl2.c (cp_write_global_declarations): Return after writing a PCH.
+
+2012-12-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/55127
+ * search.c (accessible_in_template_p): New.
+ * cp-tree.h: Declare it.
+ * pt.c (instantiation_dependent_scope_ref_p): New.
+ (value_dependent_expression_p): Use it.
+ (instantiation_dependent_r): Likewise.
+ * semantics.c (finish_decltype_type): Handle SCOPE_REF.
+
+ PR c++/55419
+ * tree.c (build_target_expr): Don't set TREE_CONSTANT.
+
+2012-12-07 Aldy Hernandez <aldyh@redhat.com>
+
+ PR c++/55513
+ * semantics.c (cxx_eval_builtin_function_call): Set non_constant_p
+ after folding.
+
+2012-12-07 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * tree.c (build_aggr_init_expr): Remove tsubst_flags_t parameter.
+ (build_cplus_new): Adjust.
+ * cp-tree.h: Adjust declaration.
+ * init.c (build_value_init): Adjust.
+
+2012-12-07 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/54401
+ * parser.c (cp_parser_alias_declaration): Commit to tentative
+ parse when see the '=' token. Get out if the type-id is invalid.
+ Update function comment.
+ (cp_parser_member_declaration): Don't try to parse a using
+ declaration if we know that we expected an alias declaration; that
+ is, if we see the '=' token after the identifier.
+
+2012-12-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/54325
+ * tree.c (build_aggr_init_expr): Don't check for abstract class.
+ (build_cplus_new): Check here instead.
+
+ PR c++/55058
+ * pt.c (tsubst): Keep the quals when looking through a typedef.
+
+ PR c++/55249
+ * tree.c (build_vec_init_elt): Use the type of the initializer.
+
+ PR c++/54744
+ * pt.c (resolve_typename_type): Check TYPENAME_IS_RESOLVING_P on scope.
+ * init.c (expand_member_init): Check for being in a template first.
+ * parser.c (cp_parser_mem_initializer_list): Only check class types
+ for equivalence to the current class.
+
+ PR c++/54913
+ * semantics.c (finish_qualified_id_expr): convert_from_reference
+ after building a SCOPE_REF.
+
+2012-12-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/54207
+ * except.c (build_noexcept_spec): Avoid direct comparison
+ with boolean_true_node or boolean_false_node, instead use
+ operand_equal_p and/or INTEGER_CST check.
+ * pt.c (tsubst_exception_specification): Likewise.
+ * typeck2.c (merge_exception_specifiers): Likewise.
+
+2012-12-06 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/55573
+ * semantics.c (adjust_temp_type): Handle VECTOR_CST.
+
+2012-12-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/54947
+ * parser.c (cp_parser_initializer_list): Don't require an
+ expression in [] to be constant until we know it's a C99
+ designator.
+
+ PR c++/55015
+ PR c++/53821
+ * semantics.c (maybe_add_lambda_conv_op): Revert earlier change.
+ * decl.c (start_preparsed_function): Make local class methods comdat
+ in templates, too.
+
+ PR c++/54653
+ * parser.c (cp_parser_class_head): A partial specialization scope
+ counts as a template.
+ * pt.c (tsubst_template_parms): Handle template template parm parms.
+ (tsubst_decl) [TEMPLATE_DECL]: Handle getting a template template
+ argument back.
+
+ PR c++/55564
+ * pt.c (unify) [ARRAY_TYPE]: Unify the element type before the bounds.
+
+2012-12-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54170
+ * cvt.c (cp_convert_to_pointer): Don't discard side-effects from
+ expressions of nullptr_t.
+ * typeck.c (build_ptrmemfunc): Likewise.
+
+2012-12-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/55542
+ * pt.c (make_ith_pack_parameter_name): Return NULL if
+ name is NULL.
+ (tsubst_decl): Call make_ith_pack_parameter_name even if
+ DECL_NAME is NULL.
+
+2012-11-29 Jason Merrill <jason@redhat.com>
+
+ PR c++/53137
+ * pt.c (tsubst_expr) [DECL_EXPR]: Set LAMBDA_EXPR_THIS_CAPTURE here.
+ (tsubst_copy_and_build) [LAMBDA_EXPR]: And clear it here.
+ (instantiate_class_template_1): Not here.
+
+2012-11-29 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/53094
+ * cvt.c (ocp_convert): Call convert_to_vector.
+
+2012-11-29 Kai Tietz <ktietz@redhat.com>
+
+ PR target/53912
+ * class.c (dump_class_hierarchy_r): Cast from pointer via uintptr_t.
+ (dump_vtable): Likewise.
+
+2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ PR c++/52654
+ * parser.c (cp_parser_string_literal): Add overflow_type arg.
+ (cp_parser_userdef_numeric_literal): Warn on numeric overflow.
+
+2012-11-28 Andrew Pinski <apinski@cavium.com>
+
+ PR bootstrap/54279
+ * Make-lang.in (g++$(exeext)): Rename to
+ (xg++$(exeext)): This.
+ (g++-cross$(exeext)): Use xg++$(exeext) instead of g++$(exeext).
+ (c++.start.encap): Likewise.
+ (c++.install-common): Likewise.
+
+2012-11-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/55446
+ * init.c (build_vec_init): Do not early return error_mark_mode
+ when integer_all_onesp (maxindex).
+
+2012-11-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/54046
+ * cp-objcp-common.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Redefine.
+ * cp-objcp-common.c (cxx_block_may_fallthru): New function.
+ * cp-tree.h (cxx_block_may_fallthru): New prototype.
+
+2012-11-23 Markus Trippelsdorf <markus@trippelsdorf.de>
+
+ PR c++/55418
+ * method.c (implicitly_declare_fn): Properly initialize trivial_p.
+
+2012-11-22 Jason Merrill <jason@redhat.com>
+
+ PR c++/55137
+ * semantics.c (verify_constant): Track overflow separately.
+ (reduced_constant_expression_p): Don't check it here.
+ (cxx_eval_constant_expression): Check it on CSTs.
+ (cxx_eval_outermost_constant_expr): Treat overflows as non-constant
+ at this point, but still return the folded version.
+ (potential_constant_expression_1): Don't check overflow.
+
+ * call.c (extend_ref_init_temps_1): Recompute TREE_CONSTANT for
+ the ADDR_EXPR.
+
+2012-11-20 Diego Novillo <dnovillo@google.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * name-lookup.c: Replace all vec<T, A>() initializers
+ with vNULL.
+ * semantics.c: Likewise.
+
+2012-11-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/55368
+ * parser.c (cp_parser_member_declaration): Emit an error in case
+ of stray comma at end of member declaration.
+
+2012-11-19 Jason Merrill <jason@redhat.com>
+
+ * class.c (one_inheriting_sig): Don't inherit base copy ctors.
+
+ PR c++/55262
+ * method.c (implicitly_declare_fn): Set DECL_PARM_INDEX on
+ the parms of an inheriting ctor.
+
+ PR c++/55261
+ * class.c (add_implicitly_declared_members): Use
+ lookup_fnfields_slot to get the base constructors.
+
+2012-11-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/54630
+ * class.c (fixed_type_or_null_ref_ht): New variable.
+ (fixed_type_or_null): Use it instead of local static ht.
+
+2012-11-17 Diego Novillo <dnovillo@google.com>
+
+ Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
+
+ * Make-lang.in: Remove dependencies on vecir.h and vecprim.h everywhere.
+ * call.c: Use new vec API in vec.h.
+ * class.c: Likewise.
+ * cp-gimplify.c: Likewise.
+ * cp-tree.h: Likewise.
+ * cvt.c: Likewise.
+ * decl.c: Likewise.
+ * decl2.c: Likewise.
+ * error.c: Likewise.
+ * except.c: Likewise.
+ * init.c: Likewise.
+ * mangle.c: Likewise.
+ * method.c: Likewise.
+ * name-lookup.c: Likewise.
+ * name-lookup.h: Likewise.
+ * parser.c: Likewise.
+ * parser.h: Likewise.
+ * pt.c: Likewise.
+ * repo.c: Likewise.
+ * rtti.c: Likewise.
+ * search.c: Likewise.
+ * semantics.c: Likewise.
+ * tree.c: Likewise.
+ * typeck.c: Likewise.
+ * typeck2.c: Likewise.
+
+2012-11-17 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * semantics.c (finish_id_expression): Tidy diagnostic message.
+
+2012-11-16 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/54875
+ * pt.c (lookup_template_class_1): Look at the type of the
+ potential member enum of class template to determine if we are
+ actually substituting into a member enum of class template.
+
+2012-11-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/55337
+ * tree.c (cp_tree_equal) <case ALIGNOF_EXPR>: Use SIZEOF_EXPR_TYPE_P
+ only on SIZEOF_EXPR.
+
+2012-11-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/54903
+ * decl2.c (mark_used): Don't complain about auto in templates.
+
+ PR c++/37276
+ * decl.c (decls_match): Remove #ifdef around earlier fix.
+
+2012-11-13 Jason Merrill <jason@redhat.com>
+
+ * class.c (finish_struct_1): Check virtual functions
+ for missing ABI tags.
+
+ PR c++/55275
+ * pt.c (maybe_process_partial_specialization): Update
+ DECL_SOURCE_LOCATION for new specializations.
+
+2012-11-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/55323
+ * init.c (emit_mem_initializers): Skip arguments == error_mark_node.
+
+2012-11-14 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/11750
+ * call.c (build_new_method_call_1): Check that the instance type
+ and the function context are the same before setting the flag
+ LOOKUP_NONVIRTUAL.
+
+2012-11-13 Sriraman Tallam <tmsriram@google.com>
+
+ * class.c (mark_versions_used): Remove.
+ (resolve_address_of_overloaded_function): Call target hook
+ for versioned functions. Refactor to call
+ get_function_versions_dispatcher.
+ * decl.c (duplicate_decls): Add comments.
+ * cp/call.c (get_function_version_dispatcher): Expose function.
+ (mark_versions_used): Expose function.
+ * cp/cp-tree.h (mark_versions_used): New declaration.
+ (get_function_version_dispatcher): Ditto.
+
+2012-11-13 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/54466
+ * pt.c (lookup_template_class_1): TYPE_STUB_DECL should be
+ accessed on the main variant of the type.
+
+2012-11-12 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ * parser.c (cp_parser_objc_class_ivars):
+ Index declspecs.locations by ds_typedef rather than ds_thread.
+
+2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ PR c++/54413
+ * decl.c (grokfndecl): Adjust calls to interpret_x_suffix.
+
+2012-11-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/54859
+ * pt.c (check_instantiated_arg): Don't complain about dependent args.
+
+ * tree.c (cxx_attribute_table): Add abi_tag attribute.
+ (check_abi_tag_redeclaration, handle_abi_tag_attribute): New.
+ * class.c (find_abi_tags_r, check_abi_tags): New.
+ (check_bases, check_field_decl): Call check_abi_tags.
+ * decl.c (redeclaration_error_message): Call
+ check_abi_tag_redeclaration.
+ * mangle.c (tree_string_cmp, write_abi_tags): New.
+ (write_unqualified_name): Call write_abi_tags.
+
+2012-11-07 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/55226
+ Revert:
+ 2012-10-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54922
+ * semantics.c (cx_check_missing_mem_inits): Handle anonymous union
+ members.
+
+2012-11-07 Florian Weimer <fweimer@redhat.com>
+
+ * init.c (build_new_1): Do not check for arithmetic overflow if
+ inner array size is 1.
+
+2012-11-05 Sriraman Tallam <tmsriram@google.com>
+
+ * class.c (add_method): Change assembler names of function versions.
+ (mark_versions_used): New static function.
+ (resolve_address_of_overloaded_function): Create dispatcher decl and
+ return address of dispatcher instead.
+ * decl.c (decls_match): Make decls unmatched for versioned
+ functions.
+ (duplicate_decls): Remove ambiguity for versioned functions.
+ Delete versioned function data for merged decls.
+ * decl2.c (check_classfn): Check attributes of versioned functions
+ for match.
+ * call.c (get_function_version_dispatcher): New function.
+ (mark_versions_used): New static function.
+ (build_over_call): Make calls to multiversioned functions
+ to call the dispatcher.
+ (joust): For calls to multi-versioned functions, make the most
+ specialized function version win.
+
+2012-10-31 Lawrence Crowl <crowl@google.com>
+
+ * decl2.c (var_finalized_p): Rename varpool_node to
+ varpool_node_for_decl.
+ (maybe_emit_vtables): Likewise.
+
+2012-10-31 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54583
+ * tree.c (build_cplus_array_type): Set TREE_NO_WARNING on the
+ TYPE_SIZE of VLAs.
+
+2012-10-31 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/54955
+ * parser.c (cp_nth_tokens_can_be_std_attribute_p): Recognize the
+ 'Alignas' keyword as the beginning of a c++11 attribute specifier.
+ Update the comment of the function.
+ (cp_next_tokens_can_be_gnu_attribute_p): Update the comment of the
+ function.
+
+2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/54930
+ * typeck.c (maybe_warn_about_returning_address_of_local): Use
+ OPT_Wreturn_local_addr.
+
+2012-10-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/55081
+ * typeck2.c (store_init_value): Call fold_non_dependent_expr
+ and maybe_constant_init even for C++98.
+
+2012-10-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54984
+ * init.c (build_new): Don't turn a null *init into a pointer to
+ empty vector orig_init.
+
+2012-10-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53761
+ * class.c (finish_struct_1): Reject aggregates decorated with
+ __transparent_union__ which cannot be made transparent because
+ the type of the first field has a different ABI from the class
+ overall.
+
+2012-10-25 Jason Merrill <jason@redhat.com>
+
+ Core 1402
+ * call.c (joust): An implicitly deleted move function is
+ worse than any non-deleted function.
+ * method.c (process_subob_fn): No special rules for move.
+ (synthesized_method_walk, implicitly_declare_fn): Likewise.
+ Warn about virtual base with non-trivial move assignment.
+ * cp-tree.h (struct lang_decl_fn): Remove suppress_implicit_decl.
+ (FNDECL_SUPPRESS_IMPLICIT_DECL): Remove.
+
+ * semantics.c (finish_omp_threadprivate): Call complete_type.
+
+ * class.c (one_inherited_ctor): Warn about variadic inherited ctor.
+
+2012-10-25 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/54427
+ * typeck.c (build_x_conditional_expr): Handle VEC_COND_EXPR.
+ * call.c (build_conditional_expr_1): Likewise.
+
+2012-10-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/34892
+ * parser.c (cp_parser_template_parameter): When
+ cp_parser_parameter_declaration parsed a default argument don't
+ see if *is_parameter_pack needs setting.
+
+2012-10-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54922
+ * semantics.c (cx_check_missing_mem_inits): Handle anonymous union
+ members.
+
+2012-10-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/54844
+ * pt.c (tsubst_copy, tsubst_copy_and_build) <case SIZEOF_EXPR>: Use
+ tsubst instead of tsubst_copy* on types.
+
+ PR c++/54988
+ * decl2.c (cplus_decl_attributes): Don't return early
+ if attributes is NULL.
+
+2012-10-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54501
+ * decl.c (reshape_init_array_1): Avoid infinite loops.
+
+2012-10-15 Alexandre Oliva <aoliva@redhat.com>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/17805
+ * call.c (build_new_op_1): Filter out operator functions that don't
+ satisfy enum-conversion match requirements.
+
+2012-10-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50080 (again)
+ * parser.c (cp_parser_optional_template_keyword): When -pedantic
+ and C++98 mode restore pre-Core/468 behavior.
+
+2012-10-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50080
+ * parser.c (cp_parser_optional_template_keyword): Implement
+ Core/468, allow outside template.
+
+2012-10-14 Jason Merrill <jason@redhat.com>
+ Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement C++11 inheriting constructors.
+ * cp-tree.h (cpp0x_warn_str): Add CPP0X_INHERITING_CTORS.
+ (DECL_INHERITED_CTOR_BASE, SET_DECL_INHERITED_CTOR_BASE): New.
+ (special_function_kind): Add sfk_inheriting_constructor.
+ * class.c (add_method): An inheriting ctor is hidden by a
+ user-declared one.
+ (one_inheriting_sig, one_inherited_ctor): New.
+ (add_implicitly_declared_members): Handle inheriting ctors.
+ * error.c (maybe_warn_cpp0x): Handle CPP0X_INHERITING_CTORS.
+ * init.c (emit_mem_initializers): Don't set LOOKUP_DEFAULTED
+ for an inheriting constructor.
+ * method.c (type_has_trivial_fn): Handle sfk_inheriting_constructor.
+ (type_set_nontrivial_flag): Likewise.
+ (add_one_base_init): Split out from...
+ (do_build_copy_constructor): ...here. Handle inheriting constructors.
+ (locate_fn_flags): Handle a list of arg types.
+ (synthesized_method_walk): Handle inheriting constructors.
+ (maybe_explain_implicit_delete): Likewise.
+ (deduce_inheriting_ctor): New.
+ (implicitly_declare_fn): Handle inheriting constructors.
+ * name-lookup.c (push_class_level_binding_1): An inheriting constructor
+ does not declare the base's name.
+ (do_class_using_decl): Allow inheriting constructors.
+ * pt.c (template_parms_to_args): Split from current_template_args.
+ (add_inherited_template_parms): New.
+ (tsubst_decl): Handle inheriting constructors.
+ * tree.c (special_function_p): Handle inheriting constructors.
+
+2012-10-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/54381
+ * semantics.c (finish_call_expr): Pass array of 3 sizeof_arg
+ trees and locs (corresponding to first 3 arguments) to
+ sizeof_pointer_memaccess_warning.
+
+2012-10-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/24449
+ * decl.c (grokfndecl): When checking for ::main declarations
+ use PROCESSING_REAL_TEMPLATE_DECL_P().
+
+2012-10-12 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/53055
+ * call.c (build_new_op_1): Pass RO_ARROW_STAR to cp_build_indirect_ref.
+ * typeck.c (cp_build_indirect_ref): Handle RO_ARROW_STAR.
+
+2012-10-11 Jason Merrill <jason@redhat.com>
+
+ * cp-tree.h (DECL_THUNKS): NULL_TREE for non-virtual functions.
+ (SET_DECL_THUNKS): New.
+ * decl.c (duplicate_decls): Adjust.
+ * method.c (make_thunk): Adjust.
+
+ * decl.c (grokdeclarator): Set DECL_GNU_TLS_P for static data
+ members, too.
+
+2012-10-09 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/53540 - using fails to be equivalent to typedef
+ * cp-tree.h (TYPE_TEMPLATE_INFO): For an alias that is not an
+ instance of alias template, don't look for its TEMPLATE_INFO in
+ its declaration.
+ (alias_template_specialization_p): Take const_tree.
+ * pt.c (alias_template_specialization_p): Take a const_tree.
+ Don't call primary_template_instantiation_p.
+ (primary_template_instantiation_p): Call
+ alias_template_specialization_p.
+
+2012-10-10 Dodji Seketeli <dodji@redhat.com>
+
+ * parser (cp_parser_statement): Parse c++11 attributes
+ tentatively.
+ (cp_parser_std_attribute_spec_seq): Do not warn too early about
+ using c++11 attributes in non c++11 mode.
+
+2012-10-10 Dehao Chen <dehao@google.com>
+
+ * cp-gimplify.c (cp_genericize_r): Set location for TRY expr.
+
+2012-10-09 Lawrence Crowl <crowl@google.com>
+
+ * Make-lang.in (class.o): Add dependence on hash-table.h.
+ (tree.o): Likewise.
+ (semantics.o): Likewise.
+ * class.c (fixed_type_or_null): Change to new type-safe hash table.
+ * tree.c (verify_stmt_tree): Likewise.
+ (verify_stmt_tree_r): Likewise.
+ * semantics.c (struct nrv_data): Likewise.
+
+2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54194
+ * typeck.c (build_x_binary_op): Update warn_about_parentheses call.
+ * parser.c (cp_parser_binary_expression): Use SET_EXPR_LOCATION
+ on current.lhs.
+
+2012-10-09 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/54427
+ * typeck.c (cp_build_binary_op): Handle mixed scalar-vector
+ operations.
+ [LSHIFT_EXPR, RSHIFT_EXPR]: Likewise.
+
+2012-10-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/54858
+ * tree.c (cp_tree_equal): Handle FIELD_DECL.
+
+2012-10-08 Jason Merrill <jason@redhat.com>
+
+ Allow dynamic initialization of thread_locals.
+ * decl.c: Define tls_aggregates.
+ (expand_static_init): Remove sorry. Add to tls_aggregates.
+ * cp-tree.h: Declare tls_aggregates.
+ * call.c (set_up_extended_ref_temp): Add to tls_aggregates.
+ * decl2.c (var_needs_tls_wrapper): New.
+ (var_defined_without_dynamic_init): New.
+ (get_tls_init_fn, get_tls_wrapper_fn): New.
+ (generate_tls_wrapper, handle_tls_init): New.
+ (cp_write_global_declarations): Call handle_tls_init and
+ enerate_tls_wrapper.
+ * mangle.c (write_guarded_var_name): Split out from..
+ (mangle_guard_variable): ...here.
+ (mangle_tls_init_fn, mangle_tls_wrapper_fn): Use it.
+ (decl_tls_wrapper_p): New.
+ * semantics.c (finish_id_expression): Replace use of thread_local
+ variable with a call to its wrapper.
+
+ * decl.c (get_thread_atexit_node): New.
+ (register_dtor_fn): Use it for TLS.
+
+ Partial implementation of C++11 thread_local.
+ * decl.c (cp_finish_decl): Remove errors about non-trivial
+ initialization and destruction of TLS variables.
+ (register_dtor_fn): Add sorry about TLS variables.
+ (expand_static_init): Add sorry about non-local TLS variables,
+ or error with __thread.
+ Don't emit thread-safety guards for local TLS variables.
+ (grokdeclarator): thread_local in a function implies static.
+ * decl.h: Adjust prototype.
+ * decl2.c (get_guard): Copy DECL_TLS_MODEL.
+ * parser.c (cp_parser_set_storage_class, cp_parser_set_decl_spec_type)
+ (set_and_check_decl_spec_loc): Take the token rather than the location.
+ Distinguish between __thread and thread_local.
+ (cp_parser_set_storage_class): Don't complain about thread_local before
+ extern/static.
+ (token_is__thread): New.
+ * call.c (make_temporary_var_for_ref_to_temp): Handle TLS.
+ * cp-tree.h (DECL_GNU_TLS_P): New.
+ (cp_decl_specifier_seq): Add gnu_thread_keyword_p.
+
+2012-10-08 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/53528 C++11 attribute support
+ * cp-tree.h (enum cpp0x_warn_str::CPP0X_ATTRIBUTES): New member.
+ (enum cp_decl_spec::ds_std_attribute): New enumerator.
+ (struct cp_decl_specifier_seq::std_attributes): New field.
+ (cxx_alignas_expr, warn_misplaced_attr_for_class_type): Declare
+ new functions.
+ (check_tag_decl): Take an extra parameter for explicit
+ instantiations.
+ * decl.c (warn_misplaced_attr_for_class_type): Extract from ...
+ (check_tag_decl): ... here. Add check for c++11 attributes being
+ applied to an explicit instantiation. Take an extra parameter for
+ explicit instantiations.
+ (grokdeclarator): Make sure a c++11 attribute after an array
+ declarator appertains to the array, an attribute after a function
+ declarator appertains to the function type, an attribute after a
+ declarator-id appertains to the entity being declared, and an
+ attribute after a pointer declarator appertain to the pointer.
+ * decl2.c (is_late_template_attribute): Use get_attribute_name.
+ * error.c (maybe_warn_cpp0x): Support
+ CPP0X_GENERALIZED_ATTRIBUTES.
+ * parser.c (cp_next_tokens_can_be_attribute_p)
+ (cp_next_tokens_can_be_gnu_attribute_p)
+ (cp_next_tokens_can_be_std_attribute_p)
+ (cp_nth_tokens_can_be_attribute_p)
+ (cp_nth_tokens_can_be_gnu_attribute_p)
+ (cp_nth_tokens_can_be_std_attribute_p)
+ (cp_parser_gnu_attribute_list, cp_parser_std_attribute)
+ (cp_parser_std_attribute_spec, cp_parser_std_attribute_spec_seq)
+ (cp_parser_attributes_opt, cp_parser_std_attribute_list): New
+ static functions.
+ (cp_parser_gnu_attributes_opt): Replace cp_parser_attributes_opt.
+ (cp_parser_gnu_attribute_list): Replace cp_parser_attribute_list.
+ (cp_parser_postfix_expression): Disallow "[[" tokens here.
+ (cp_parser_label_for_labeled_statement): Use take an extra
+ parameter for attributes.
+ (cp_parser_block_declaration): Use
+ cp_nth_tokens_can_be_std_attribute_p here.
+ (cp_parser_decl_specifier_seq): Likewise. Store C++11 attributes
+ that appears in in decl specifiers in cp_decl_specifier_seq::std_attributes.
+ declaration. Emit proper warning about misplaced c++11 attributes
+ for class type.
+ (cp_parser_explicit_instantiation): Adjust call to check_tag_decl.
+ (cp_parser_init_declarator): Parsing attributes here is no more a
+ GNU extension in c++-11.
+ (cp_parser_type_specifier_seq): Use
+ cp_next_tokens_can_be_attribute_p.
+ (cp_parser_direct_declarator): Likewise. Hang c++11 attributes
+ following the declarator to its syntactic construct. It'll later
+ be applied to the proper appertaining entity by grokdeclarator.
+ (cp_parser_ptr_operator): Likewise.
+ (make_declarator): Initialize cp_declarator::std_attribute.
+ (make_pointer_declarator, make_reference_declarator)
+ (make_ptrmem_declarator, cp_parser_make_indirect_declarator): Take
+ attributes that appertain to the pointer/reference in argument.
+ (cp_parser_ptr_operator): Take an out parameter for c++11
+ attributes. Update comments.
+ (cp_parser_new_declarator_opt)
+ (cp_parser_conversion_declarator_opt): Adjust.
+ (cp_parser_declarator): Likewise. Handle C++11 attributes.
+ Rename attributes to gnu_attribute for better legibility.
+ (cp_parser_simple_declaration): Update comment.
+ (cp_parser_class_specifier_1): Parse GNU attributes specifically
+ (cp_parser_enum_specifier): Accept only gnu attributes after the
+ specifier.
+ (cp_parser_member_declaration): Don't clear attributes -- intended
+ for the entity being declared -- too early because check_tag_decl
+ needs them.
+ (cp_parser_statement): Update comment. Parse optional c++11
+ attributes at the beginning of the relevant kind of statements and
+ ignore them, for now, unless when calling
+ cp_parser_label_for_labeled_statement.
+ (cp_parser_label_for_labeled_statement): Take c++11 attributes
+ in parameter.
+ * semantics.c (potential_constant_expression_1): Likewise.
+ * typeck.c (fundamental_alignment_p, cxx_alignas_expr): New public
+ functions.
+
+2012-10-07 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * pt.c (fold_non_dependent_expr_sfinae): Remove static specifier.
+ (tsubst_copy_and_build): Use get_target_expr_sfinae.
+ * call.c (build_conditional_expr_1, convert_like_real): Likewise.
+ * cvt.c (build_up_reference): Likewise.
+ (ocp_convert): Use abstract_virtuals_error_sfinae.
+ (build_up_reference): Propagate complain to cp_build_addr_expr.
+ * decl.c (compute_array_index_type): Use fold_non_dependent_expr_sfinae.
+ * cp-tree.h: Update declarations.
+
+ * cvt.c (build_expr_type_conversion): Tidy.
+
+ * tree.c (stabilize_aggr_init): Change to static.
+
+2012-10-07 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51422
+ * semantics.c (is_normal_capture_proxy): Return true for
+ error_mark_node as DECL_VALUE_EXPR.
+
+2012-10-05 Jakub Jelinek <jakub@redhat.com>
+
+ * cp-tree.h (SIZEOF_EXPR_TYPE_P): Define.
+ * tree.c (cp_tree_equal): Handle SIZEOF_EXPR with
+ SIZEOF_EXPR_TYPE_P.
+ * mangle.c (write_expression): Likewise.
+ * cxx-pretty-print.c (pp_cxx_unary_expression): Likewise.
+ * error.c (dump_expr): Likewise.
+ * parser.c (cp_parser_unary_expression): For sizeof call
+ cxx_sizeof_or_alignof_{type,expr} just for diagnostics and
+ return SIZEOF_EXPR with the operand.
+ * pt.c (tsubst_copy, tsubst_copy_and_build): For SIZEOF_EXPR,
+ call cxx_sizeof_or_alignof_{type,expr} for diagnostics, but
+ return SIZEOF_EXPR with tsubsted operand.
+ (value_dependent_expression_p): Handle SIZEOF_EXPR with
+ SIZEOF_EXPR_TYPE_P.
+ (instantiation_dependent_r): Likewise.
+ * call.c (null_ptr_cst_p): Call maybe_constant_value for C++98.
+ * semantics.c (finish_call_expr): Call
+ sizeof_pointer_memaccess_warning if needed.
+ (cxx_eval_constant_expression): Handle SIZEOF_EXPR.
+ (potential_constant_expression_1): Remove early exit for
+ C++98. Handle PROPERTY_REF.
+ * decl.c (duplicate_decls): When redeclaring a builtin function,
+ keep the merged decl builtin also if newdecl is a gnu_inline
+ inline definition.
+ (fold_sizeof_expr_r): New function.
+ (compute_array_index_type): Fold SIZEOF_EXPRs in itype.
+ * cp-gimplify.c (cp_genericize_r): Fold SIZEOF_EXPR.
+ * typeck.c (cp_build_binary_op): For warn_for_sign_compare
+ try harder using maybe_constant_value to get INTEGER_CSTs.
+
+ * decl.c (stabilize_vla_size): Call pointer_set_destroy
+ at the end.
+
+2012-10-04 Arnaud Charlet <charlet@adacore.com>
+
+ * decl2.c (cp_write_global_declarations): Fix handling of
+ -fdump-ada-spec*.
+
+2012-10-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/54777
+ * semantics.c (cxx_eval_constant_expression) <case COMPOUND_EXPR>: If
+ not ignoring the second operand, pass the original second operand
+ and not one with stripped nops to cxx_eval_constant_expression.
+
+2012-10-01 Jason Merrill <jason@redhat.com>
+
+ * decl.c (check_initializer): Set DECL_NONTRIVIALLY_INITIALIZED_P
+ for a constructor call.
+ (decl_jump_unsafe): So don't bother checking
+ type_has_nontrivial_default_init.
+ * call.c (set_up_extended_ref_temp): Set
+ DECL_NONTRIVIALLY_INITIALIZED_P.
+
+ * cp-tree.h (TYPE_FUNCTION_OR_TEMPLATE_DECL_CHECK): New.
+ (DECL_FRIEND_P, DECL_ANTICIPATED): Use it.
+ (TYPE_FUNCTION_OR_TEMPLATE_DECL_P): New.
+ * name-lookup.c (hidden_name_p): Use it.
+
+ * cp-tree.h (DECL_PRETTY_FUNCTION_P): Just look at the name.
+ * decl.c (cp_make_fname_decl): Adjust.
+
+2012-09-30 Sharad Singhai <singhai@google.com>
+
+ * decl2.c (cp_write_global_declarations): Use a different method
+ to determine if the dump has ben initialized.
+
+2012-09-29 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54738
+ * decl2.c (build_offset_ref_call_from_tree): Add tsubst_flags_t
+ parameter.
+ * pt.c (tsubst_copy_and_build): Adjust.
+ * parser.c (cp_parser_postfix_expression): Likewise.
+ * cp-tree.h: Adjust declaration.
+
+2012-09-28 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/54372 - unused attribute inactive on dependant entities
+ * decl2.c (is_late_template_attribute): "unused" attribute is to
+ be applied at compile time.
+
+2012-09-25 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/29028 - Missed unused warning on using declaration
+ * decl.c (poplevel<warn_unused*>): Do not forget that some local
+ bindings are represented by a TREE_LIST.
+
+2012-09-25 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/53551 - -Wunused-local-typedefs misses uses
+ * decl.c (make_typename_type): Record the use of typedefs.
+
+2012-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ * init.c (build_new_1): Don't test TREE_CONSTANT
+ of INTEGER_CST.
+
+2012-09-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54526
+ * parser.c (cp_parser_template_id): In C++11 mode simply accept
+ X<::A>.
+
+2012-09-25 Zhenqiang Chen <zhenqiang.chen@linaro.org>
+
+ PR c++/50970
+ * typeck.c (cp_build_binary_op): Check side effects before generating
+ pfn and delta related expressions.
+
+2012-09-24 Lawrence Crowl <crowl@google.com>
+
+ * init.c (build_new_1): Change to new double_int API.
+ * decl.c (build_enumerator): Likewise.
+ * typeck2.c (process_init_constructor_array): Likewise.
+ * mangle.c (write_array_type): Likewise.
+
+2012-09-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50828
+ * error.c (dump_function_decl): Strip TFF_TEMPLATE_NAME from flags
+ at the outset.
+
+2012-09-24 Jason Merrill <jason@redhat.com>
+
+ * decl.c (get_atexit_node): Remove dead code.
+
+ * Make-lang.in (cp/parser.o): Depend on decl.h.
+
+2012-09-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52432
+ * pt.c (tsubst_copy_and_build): If tf_error is not set in the complain
+ argument don't call unqualified_name_lookup_error.
+
+2012-09-19 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/54581
+ * semantics.c (finish_decltype_type): Make vectors not opaque.
+
+2012-09-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/54575
+ * pt.c (instantiate_alias_template): New.
+ (tsubst): Use it.
+ (push_access_scope): Allow TYPE_DECL.
+
+2012-09-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/53661
+ * typeck2.c (check_narrowing): Avoid false positives on conversion
+ from enumeral type.
+
+2012-09-14 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/54427
+ * typeck.c (cp_build_binary_op) [LSHIFT_EXPR, RSHIFT_EXPR, EQ_EXPR,
+ NE_EXPR, LE_EXPR, GE_EXPR, LT_EXPR, GT_EXPR]: Handle VECTOR_TYPE.
+
+2012-09-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * decl.c (make_typename_type): Only error out if tf_error is set
+ in complain.
+
+2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
+ Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c++/53210
+ * init.c (perform_member_init): Use OPT_Winit_self instead of
+ OPT_Wuninitialized.
+
+2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * typeck.c (build_indirect_ref, build_function_call,
+ build_function_call_vec, build_binary_op, build_unary_op,
+ build_compound_expr, build_c_cast, build_modify_expr): Remove
+ uses of ATTRIBUTE_UNUSED on the parameters.
+ * class.c (set_linkage_according_to_type, resort_type_method_vec,
+ dfs_find_final_overrider_post, empty_base_at_nonzero_offset_p):
+ Likewise.
+ * decl.c (local_variable_p_walkfn): Likewise.
+ * except.c (wrap_cleanups_r, check_noexcept_r): Likewise.
+ * error.c (find_typenames_r): Likewise.
+ * tree.c (verify_stmt_tree_r, bot_replace,
+ handle_java_interface_attribute, handle_com_interface_attribute,
+ handle_init_priority_attribute, c_register_addr_space): Likewise.
+ * cp-gimplify.c (cxx_omp_clause_default_ctor): Likewise.
+ * cp-lang.c (objcp_tsubst_copy_and_build): Likewise.
+ * pt.c (unify_success, unify_invalid, instantiation_dependent_r):
+ Likewise.
+ * semantics.c (dfs_calculate_bases_pre): Likewise.
+ * decl2.c (fix_temporary_vars_context_r, clear_decl_external):
+ Likewise.
+ * parser.c (cp_lexer_token_at, cp_parser_omp_clause_mergeable,
+ cp_parser_omp_clause_nowait, cp_parser_omp_clause_ordered,
+ cp_parser_omp_clause_untied): Likewise.
+ * mangle.c (write_unnamed_type_name,
+ discriminator_for_string_literal): Likewise.
+ * search.c (dfs_accessible_post, dfs_debug_mark): Likewise.
+ * lex.c (handle_pragma_vtable, handle_pragma_unit,
+ handle_pragma_interface, handle_pragma_implementation,
+ handle_pragma_java_exceptions): Likewise.
+
+2012-09-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/53839
+ * semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
+ address, make sure the value is constant.
+
+ PR c++/54511
+ * pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.
+
+ PR c++/53836
+ * pt.c (value_dependent_expression_p): A TREE_LIST initializer must
+ be dependent.
+
+2012-09-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54541
+ PR c++/54542
+ * call.c (build_cxx_call): Add tsubst_flags_t parameter, use
+ require_complete_type_sfinae.
+ (build_op_delete_call, build_over_call): Adjust.
+ * typeck.c (build_x_compound_expr_from_vec): Add tsubst_flags_t
+ parameter.
+ (cp_build_function_call_vec): Adjust.
+ * init.c (build_new_1): Likewise.
+ * rtti.c (throw_bad_cast, throw_bad_typeid, build_dynamic_cast_1):
+ Likewise.
+ * optimize.c (build_delete_destructor_body): Likewise.
+ * cp-tree.h: Adjust declarations.
+
+ * call.c (convert_arg_to_ellipsis): Use require_complete_type_sfinae.
+
+2012-09-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/54538
+ PR c++/53783
+ * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Go back to using RECUR
+ for LAMBDA_EXPR_EXTRA_SCOPE except for function scope.
+
+ PR c++/54506
+ * decl.c (move_signature_fn_p): Split out from move_fn_p.
+ * method.c (process_subob_fn): Use it.
+ * cp-tree.h: Declare it.
+
+2012-09-07 Jason Merrill <jason@redhat.com>
+
+ * semantics.c (sort_constexpr_mem_initializers): Tweak.
+
+2012-09-09 Mark Kettenis <kettenis@openbsd.org>
+
+ * decl.c (reshape_init_class): Avoid dereferencing a
+ past-the-end pointer.
+
+2012-09-07 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * pt.c (num_template_headers_for_class): Rework per the code
+ inline in cp_parser_check_declarator_template_parameters.
+ * parser.c (cp_parser_check_declarator_template_parameters):
+ Use num_template_headers_for_class.
+
+2012-09-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/54341
+ PR c++/54253
+ * semantics.c (sort_constexpr_mem_initializers): New.
+ (build_constexpr_constructor_member_initializers): Use it.
+ (cx_check_missing_mem_inits): Skip artificial fields.
+ * init.c (expand_aggr_init_1): Don't zero out a class
+ with no data.
+
+2012-09-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54191
+ * search.c (lookup_base): Add tsubst_flags_t parameter.
+ (adjust_result_of_qualified_name_lookup, check_final_overrider):
+ Adjust.
+ * name-lookup.c (do_class_using_decl): Adjust.
+ * typeck2.c (binfo_or_else, build_scoped_ref, build_m_component_ref):
+ Likewise.
+ * cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
+ build_up_reference): Likewise.
+ * rtti.c (build_dynamic_cast_1): Likewise.
+ * tree.c (maybe_dummy_object): Likewise.
+ * call.c (build_conditional_expr_1, build_over_call): Likewise.
+ * cp-tree.h (UNIQUELY_DERIVED_FROM_P, PUBLICLY_UNIQUELY_DERIVED_P):
+ Remove.
+ (enum base_access_flags, ba_quiet): Remove.
+ (uniquely_derived_from_p, publicly_uniquely_derived_p): Declare.
+ * except.c (can_convert_eh): Adjust.
+ * decl.c (grokdeclarator): Likewise.
+ * typeck.c (comp_except_types, build_class_member_access_expr,
+ finish_class_member_access_expr, get_member_function_from_ptrfunc,
+ build_static_cast_1, get_delta_difference_1): Likewise.
+ * class.c (build_base_path, convert_to_base, build_vtbl_ref_1,
+ warn_about_ambiguous_bases): Likewise.
+ (uniquely_derived_from_p, publicly_uniquely_derived_p): Define.
+
+2012-09-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/54441
+ * decl.c (reshape_init_class): Handle invalid initializer for
+ 0-length array member.
+
+ * error.c (dump_type_suffix): Correct handling of 0-length arrays.
+
+ PR c++/54420
+ * cp-tree.h (LAMBDANAME_P): Remove.
+ (LAMBDA_TYPE_P): Check CLASSTYPE_LAMBDA_EXPR instead.
+ * cp-lang.c (cxx_dwarf_name): Likewise.
+ * error.c (dump_aggr_type): Likewise.
+ * semantics.c (begin_lambda_type): Set CLASSTYPE_LAMBDA_EXPR sooner.
+
+ PR c++/54198
+ * decl.c (check_default_argument): Set cp_unevaluated_operand
+ around call to perform_implicit_conversion_flags.
+
+ PR c++/54437
+ PR c++/51213
+ * pt.c (fn_type_unification): Call coerce_template_parms before
+ entering substitution context.
+
+2012-08-31 Paolo Carlini <paolo.carlini@oracle.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c++/18747
+ * pt.c (check_template_variable): New.
+ (num_template_headers_for_class): Split out...
+ * decl.c (grokdeclarator): ...from here.
+ (start_decl): Remove redundant diagnostic.
+ * cp-tree.h: Declare them
+ * parser.c (cp_parser_single_declaration): Call check_template_variable.
+
+2012-08-31 Ollie Wild <aaw@google.com>
+
+ PR c++/54197
+ * call.c (extend_ref_init_temps_1): Handle COMPOUND_EXPR trees.
+
+2012-08-30 Jason Merrill <jason@redhat.com>
+
+ PR c++/50545
+ PR c++/51222
+ * pt.c (instantiation_dependent_r): New.
+ (instantiation_dependent_expression_p): New.
+ (value_dependent_expression_p): Use it. SCOPE_REF is always dependent.
+ * semantics.c (finish_decltype_type): Use it.
+ * cp-tree.h: Declare it.
+
+ * semantics.c (finish_qualified_id_expr): Handle building up a
+ non-dependent SCOPE_REF here.
+ (finish_id_expression): Not here.
+ * error.c (dump_decl) [SCOPE_REF]: Only pass TFF_UNQUALIFIED_NAME.
+
+ * friend.c (make_friend_class): Handle template template parameters.
+ * parser.c (cp_parser_template_declaration_after_export): Likewise.
+ * pt.c (tsubst_friend_class): Likewise.
+ (instantiate_class_template_1): Likewise
+ * decl.c (check_elaborated_type_specifier): Likewise.
+ (lookup_and_check_tag): Likewise.
+
+ * pt.c (get_class_bindings): Call coerce_template_parms. Add
+ main_tmpl parameter.
+ (more_specialized_class): Add main_tmpl parameter.
+ (most_specialized_class): Adjust calls.
+
+ * decl.c (cp_finish_decl): Check for invalid multiple initializers
+ even if the initializer is dependent.
+
+ * pt.c (instantiate_template_1): Keep processing_template_decl set
+ if there are dependent args.
+
+2012-08-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51421
+ * decl2.c (mark_used): Consistently return false after errors
+ about uses before deduction of auto.
+ * semantics.c (finish_id_expression): Check mark_used return
+ value and return error_mark_node in case of failure.
+
+2012-08-24 Jason Merrill <jason@redhat.com>
+
+ PR c++/51213 (again)
+ * pt.c (deduction_tsubst_fntype): Remove.
+ (fn_type_unification): Check deduction depth and call
+ instantiate_template here. Handle default argument access checks.
+ (determine_specialization): Suppress access control.
+ (tsubst_decl): Check for excessive deduction depth.
+ (recheck_decl_substitution): Make sure access control is on.
+ (type_unification_real): Don't mess with access deferring here.
+ (get_bindings): Adjust for fn_type_unification return type.
+ * call.c (enum rejection_reason_code): Drop rr_template_instantiation.
+ (template_instantiation_rejection): Remove.
+ (struct rejection_reason): Change targs to num_targs.
+ (template_unification_rejection, print_z_candidate): Adjust.
+ (add_template_candidate_real): Adjust for fn_type_unification change.
+ * class.c (resolve_address_of_overloaded_function): Likewise.
+ * cp-tree.h: Adjust declaration.
+
+ * pt.c (tsubst_default_argument): Indicate where the default
+ argument is being instantiated for.
+ (tsubst_expr): Restore previous location.
+ (tsubst_copy_and_build): Set and restore location.
+ * call.c (build_new_method_call_1): Remember location of call.
+ * semantics.c (finish_call_expr): Here too.
+ * parser.c (cp_parser_omp_for_loop): Remember the location of the
+ increment expression.
+
+ * pt.c (resolve_overloaded_unification): Use coerce_template_parms
+ instead of get_bindings.
+ (resolve_nondeduced_context): Likewise.
+
+ * pt.c (register_specialization): Correct argument to
+ check_specialization_namespace.
+ (determine_specialization): Don't consider members of
+ unspecialized types.
+
+2012-08-23 Jason Merrill <jason@redhat.com>
+
+ * decl.c (compute_array_index_type): Use type_dependent_expression_p.
+
+2012-08-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/20420
+ * name-lookup.c (supplement_binding_1): Handle specially enums
+ only in class templates.
+ (validate_nonmember_using_decl): Enforce 7.3.3/10 about duplicate
+ using declarations at function scope.
+
+2012-08-21 Richard Guenther <rguenther@suse.de>
+
+ * cp-tree.h (TREE_INDIRECT_USING): Use TREE_LANG_FLAG_0 accessor.
+ (ATTR_IS_DEPENDENT): Likewise.
+ (ARGUMENT_PACK_INCOMPLETE_P): Use TREE_ADDRESSABLE instead of
+ TREE_LANG_FLAG_0 on TREE_VECs.
+
+2012-08-20 Florian Weimer <fweimer@redhat.com>
+
+ PR c++/19351
+ * call.c (build_operator_new_call): Add size_check argument and
+ evaluate it.
+ * cp-tree.h (build_operator_new_call): Adjust declaration.
+ * init.c (build_new_1): Compute array size check and apply it.
+
+2012-08-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/10416
+ * decl.c (poplevel): Check TYPE_HAS_NONTRIVIAL_DESTRUCTOR for
+ Wunused_variable too.
+
+2012-08-20 Diego Novillo <dnovillo@google.com>
+
+ * decl.c (poplevel): Start TV_NAME_LOOKUP conditionally.
+
+2012-08-20 Richard Guenther <rguenther@suse.de>
+
+ * name-lookup.c (store_binding_p): New predicate, split out from ...
+ (store_binding): ... here. Always store binding and require
+ target vector with enough space.
+ (store_bindings): Collect to store bindings and reserve space
+ for them, then store them.
+ (store_class_bindings): Likewise.
+
+2012-08-19 Mikael Morin <mikael@gcc.gnu.org>
+
+ * Make-lang.in: Fix typo.
+
+2012-08-17 Jakub Jelinek <jakub@redhat.com>
+
+ * cp-tree.def (SIZEOF_EXPR): Move to c-common.def.
+
+2012-08-14 Diego Novillo <dnovillo@google.com>
+
+ Merge from cxx-conversion branch. Re-write VEC in C++.
+
+ * call.c (add_function_candidate): Remove const qualifier
+ from call to VEC_index.
+
+2012-08-10 Richard Guenther <rguenther@suse.de>
+
+ * error.c (dump_expr): Handle anonymous SSA names.
+
+2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
+
+ * error.c (print_instantiation_context): Pretty-print a newline before
+ diagnostic_flush_buffer.
+ * cxx-pretty-print.c (pp_cxx_function_definition): Use
+ pp_newline_and_flush instead of separate pp_newline and pp_flush.
+
+2012-08-06 Dodji Seketeli <dodji@redhat.com>
+
+ Avoid crashing on erroneous static_assert usage
+ * semantics.c (finish_static_assert): Don't crash on erroneous
+ message or condition.
+
+2012-08-06 Marc Glisse <marc.glisse@inria.fr>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54165
+ * typeck.c (build_static_cast_1): Move the conversion to void case
+ before the perform_direct_initialization_if_possible call.
+
+2012-08-03 Marc Glisse <marc.glisse@inria.fr>
+
+ * pt.c (tsubst_copy_and_build): Handle VECTOR_TYPE like scalars.
+ * cp-tree.h (scalarish_type_p): Declare.
+ * tree.c (scalarish_type_p): Make non-static.
+
+2012-08-02 Jason Merrill <jason@redhat.com>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51213 (again)
+ * pt.c (type_unification_real): Call push_deferring_access_checks /
+ pop_deferring_access_checks around the substitution of default
+ template args.
+ (instantiate_template_1): When the specialization returned by
+ retrieve_specialization has FNDECL_HAS_ACCESS_ERRORS set and we
+ are in a SFINAE context, simply return error_mark_node.
+ * cp-tree.h (FNDECL_RECHECK_ACCESS_P): Rename FNDECL_HAS_ACCESS_ERRORS.
+
+2012-07-31 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * pt.c (check_default_tmpl_args): Change is_primary and is_partial
+ parameters to bool type, adjust.
+ (push_template_decl_real): Tidy.
+ * parser.c (cp_parser_init_declarator): Adjust.
+ * decl.c (redeclaration_error_message): Likewise.
+ * cp-tree.h (check_default_tmpl_args): Update prototype.
+
+2012-07-31 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53624
+ * pt.c (check_default_tmpl_args): Don't check local types.
+
+2012-07-25 Sandra Loosemore <sandra@codesourcery.com>
+ Paul Brook <paul@codesourcery.com>
+
+ PR target/53633
+ * decl.c (finish_function): Check targetm.warn_func_return.
+
+2012-07-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/54086
+ * decl.c (grokdeclarator): Allow const and constexpr together.
+
+ PR c++/54020
+ * semantics.c (potential_constant_expression_1) [COND_EXPR]: Call
+ maybe_constant_value.
+
+ * cp-tree.h (tsubst_flags): Remove tf_no_access_control.
+ * call.c (standard_conversion): Don't set it.
+ * class.c (resolve_address_of_overloaded_function): Don't check it.
+ * decl.c (check_default_argument): Call
+ perform_implicit_conversion_flags.
+
+ * pt.c (print_candidates_1): Use inform instead of error.
+
+2012-07-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * pt.c (convert_template_argument, tsubst): Simplify fourth argument
+ to make_typename_type (complain & tf_error -> complain).
+
+2012-07-24 Steven Bosscher <steven@gcc.gnu.org>
+
+ * class.c (n_vtables, n_vtable_entries, n_vtable_searches,
+ n_vtable_elems, n_convert_harshness, n_compute_conversion_costs,
+ n_inner_fields_searched): Always define.
+ (build_primary_vtable): Convert #ifdef GATHER_STATISTICS to if-code.
+ (print_class_statistics): Convert #ifdef GATHER_STATISTICS to if-code.
+ * tree.c (depth_reached): Always define global.
+ (cxx_print_statistics): Convert #ifdef GATHER_STATISTICS to if-code.
+ * pt.c (depth_reached): Always define.
+ (push_tinst_level): Convert #ifdef GATHER_STATISTICS to if-code.
+ * search.c (n_fields_searched, n_calls_lookup_field,
+ n_calls_lookup_field_1, n_calls_lookup_fnfields,
+ n_calls_lookup_fnfields_1, n_calls_get_base_type,
+ n_outer_fields_searched, n_contexts_saved): Always define.
+ (lookup_field_1): Convert #ifdef GATHER_STATISTICS to if-code.
+ (lookup_member): Likewise.
+ (lookup_fnfields_idx_nolazy): Likewise.
+ (print_search_statistics): Likewise.
+ (reinit_search_statistics): Unconditionally re-set counters.
+ * lex.c (retrofit_lang_decl): Convert #ifdef GATHER_STATISTICS
+ to if-code.
+ (cxx_dup_lang_specific_decl): Likewise.
+ (copy_lang_type): Likewise.
+ (cxx_make_type): Likewise.
+
+2012-07-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/54038
+ * tree.c (build_cplus_array_type): Use build_cplus_array_type to build
+ canonical array type rather than mess with its TYPE_*_VARIANT.
+
+2012-07-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/54026
+ * typeck.c (cp_apply_type_quals_to_decl): Check COMPLETE_TYPE_P.
+
+ PR c++/54021
+ * call.c (build_cxx_call): Set optimize when folding
+ __builtin_constant_p in a constexpr function.
+
+2012-07-18 Jason Merrill <jason@redhat.com>
+
+ * pt.c (instantiate_decl): Don't recheck substitutions.
+
+2012-07-18 Paolo Carlini <paolo.carlini@oracle.com>
+ Jason Merrill <jason@redhat.com>
+
+ DR 1170
+ PR c++/51213
+ * semantics.c (perform_access_checks): Add complain parm, return bool.
+ (perform_deferred_access_checks): Likewise.
+ (perform_or_defer_access_check): Likewise.
+ (speculative_access_check): Remove.
+ * call.c (enforce_access): Add complain parm, return bool.
+ * decl.c, friend.c, class.c, init.c, parser.c: Adjust callers.
+ * search.c: Adjust callers.
+ * cp-tree.h (TINFO_RECHECK_ACCESS_P): New macro.
+ (FNDECL_RECHECK_ACCESS_P): New macro.
+ * method.c (synthesized_method_walk): Stop deferring access checks.
+ * pt.c (recheck_decl_substitution): New.
+ (instantiate_template_1): Set and check FNDECL_RECHECK_ACCESS_P.
+
+2012-07-18 Jason Merrill <jason@redhat.com>
+
+ * method.c (process_subob_fn): Make sure no_implicit_p is non-null
+ before trying to store through it.
+
+2012-07-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/53995
+ * decl.c (finish_enum_value_list): Only call
+ insert_late_enum_def_into_classtype_sorted_fields in class scope.
+
+ PR c++/53989
+ * tree.c (build_cplus_array_type): Also add TYPE_CANONICAL
+ to the list of variants.
+
+ * decl.c (xref_basetypes): Complain about incomplete template base.
+ * class.c (finish_struct): Adjust variants in templates, too.
+
+ PR c++/53549
+ * parser.c (cp_parser_class_head): Call xref_basetypes here.
+ (cp_parser_class_specifier_1): Not here.
+ * pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms
+ as well as DECL_DEPENDENT_P.
+
+2012-07-16 Jason Merrill <jason@redhat.com>
+
+ * cp-tree.h (struct deferred_access_check): Add location.
+ * semantics.c (perform_access_checks): Use it.
+ (perform_or_defer_access_check): Store it.
+
+2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
+
+ * dump.c (dump_stmt): Moved here from c-dump.c.
+ * optimize.c: Include dumpfile.h instead of tree-dump.h.
+ * class.c: Likewise.
+ * decl2.c: Likewise.
+ * Make-lang.in: Fix dependencies.
+
+2012-07-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/53953
+ * method.c (synthesized_method_walk): Initialize no_implicit_p sooner.
+
+2012-07-12 Jason Merrill <jason@redhat.com>
+
+ * pt.c (instantiate_decl): Check typedefs access here.
+ (instantiate_template_1): Not here.
+
+ * pt.c (deduction_tsubst_fntype): Just suppress access checking.
+ (instantiate_template_1): Set DECL_TI_TEMPLATE before access checking.
+ (push_deduction_access_scope, pop_deduction_access_scope): Remove.
+
+2012-07-11 Jason Merrill <jason@redhat.com>
+
+ DR 1402
+ * method.c (synthesized_method_walk): Replace uses of msg with diag.
+ Correct handling of virtual bases with move operations.
+ (process_subob_fn, walk_field_subobs): Replace uses of msg with diag.
+
+2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
+
+ * method.c: Do not include tree-pass.h.
+
+2012-07-10 Jason Merrill <jason@redhat.com>
+
+ DR 1402
+ PR c++/53733
+ * cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New.
+ (struct lang_decl_fn): Add suppress_implicit_decl field.
+ * method.c (implicitly_declare_fn): Check it.
+ (process_subob_fn): Add no_implicit_p parm.
+ (walk_field_subobs, synthesized_method_walk): Likewise.
+ (maybe_explain_implicit_delete): Adjust.
+ (explain_implicit_non_constexpr): Adjust.
+
+ * method.c (synthesized_method_walk): Avoid changing
+ EH spec based on cleanups in other places, too.
+
+2012-07-09 Sterling Augustine <saugustine@google.com>
+
+ * error.c (lang_decl_name): Use TFF_UNQUALIFIED_NAME flag.
+
+2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
+
+ * decl.c (cp_finish_decl): Add FIXME at add_local_decl call site.
+
+2012-07-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/53862
+ * pt.c (tsubst_arg_types): Add "end" parameter.
+ (check_undeduced_parms): Use it.
+
+ * cp-tree.h (DECL_DECLARES_TYPE_P): Check DECL_TYPE_TEMPLATE_P.
+
+ PR c++/53858
+ * name-lookup.c (ambiguous_decl): Use DECL_TYPE_TEMPLATE_P.
+
+2012-07-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/53039
+ * pt.c (arg_from_parm_pack_p): Go back to using same_type_p or
+ cp_tree_equal.
+
+ * cp-tree.h (TEMPLATE_PARM_NUM_SIBLINGS): Remove.
+ (struct template_parm_index_s): Remove num_siblings.
+ * pt.c (fixup_template_parms, fixup_template_parm_index): Remove.
+ (fixup_template_type_parm_type): Remove.
+ (build_template_parm_index): Remove num_siblings parm.
+ (process_template_parm): Likewise.
+ * parser.c (cp_parser_template_parameter_list): Adjust.
+ * tree.c (cp_tree_equal): Don't compare num_siblings.
+ * typeck.c (comp_template_parms_position): Likewise.
+
+ PR c++/50852
+ PR c++/53039
+ * tree.c (strip_typedefs_expr): New.
+ * cp-tree.h: Declare it.
+ * pt.c (convert_template_argument, unify): Use it.
+ * parser.c (cp_parser_template_declaration_after_export): Don't call
+ fixup_template_parms.
+
+2012-07-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/53848
+ PR c++/53524
+ * decl.c (build_enumerator): Don't use build_lang_decl_loc.
+
+2012-07-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/53812
+ * semantics.c (finish_goto_stmt): Surround computed goto argument
+ with CLEANUP_POINT_EXPR if needed.
+
+2012-07-02 Jason Merrill <jason@redhat.com>
+
+ PR c++/53619
+ * pt.c (in_template_function): New.
+ * cp-tree.h: Declare it.
+ * class.c (build_base_path, resolves_to_fixed_type_p): Use it.
+
+ PR c++/53783
+ * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Use tsubst
+ for LAMBDA_EXPR_EXTRA_SCOPE.
+
+ PR c++/53788
+ * pt.c (build_non_dependent_expr): Don't wrap a dummy object.
+
+ PR c++/53816
+ * class.c (resolves_to_fixed_type_p): Check uses_template_parms
+ (current_function_decl) instead of processing_template_decl.
+
+ PR c++/53821
+ * semantics.c (maybe_add_lambda_conv_op): Don't set
+ DECL_INTERFACE_KNOWN.
+
+ PR c++/53524
+ * call.c (build_conditional_expr_1): Don't warn about comparison of
+ two enumerators before their enumeration is complete.
+ (build_new_op_1): Call decay_conversion before warn_logical_operator.
+ * decl.c (build_enumerator): Set DECL_CONTEXT of an enumerator to
+ its enumeration.
+ * decl2.c (mark_used): Call used_types_insert for enums.
+ * semantics.c (finish_id_expression): Don't decay CONST_DECL.
+ (finish_member_declaration): Don't change DECL_CONTEXT of enumerators.
+ * class.c (check_field_decls): Don't change DECL_CONTEXT of enums.
+ * typeck.c (convert_for_assignment): Don't decay CONST_DECL.
+ (build_class_member_access_expr): Look through unscoped enums.
+ * search.c (context_for_name_lookup): Look through unscoped enums.
+ * pt.c (tsubst_copy_and_build): Don't decay CONST_DECL.
+ (tsubst_copy): Use DECL_CONTEXT to find the enumeration.
+ * tree.c (decl_linkage): Likewise.
+ * cvt.c (ocp_convert): Check decayed expr for enum range warning.
+
+2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
+
+ * Make-lang.in: Remove tree-mudflap.o from CXX_AND_OBJCXX_OBJS.
+
+2012-06-27 Jason Merrill <jason@redhat.com>
+
+ * parser.c (cp_parser_check_for_invalid_template_id): tag_type parm.
+ (cp_parser_simple_type_specifier, cp_parser_class_head): Adjust.
+ (cp_parser_elaborated_type_specifier): Adjust.
+ * decl.c (duplicate_decls): Return error_mark_node on template
+ mismatch.
+
+ PR c++/53563
+ * parser.c (cp_parser_template_id): Add tag_type parm.
+ (cp_parser_template_name): Likewise.
+ (cp_parser_id_expression, cp_parser_unqualified_id): Adjust.
+ (cp_parser_pseudo_destructor_name, cp_parser_type_name): Adjust.
+ (cp_parser_simple_type_specifier, cp_parser_class_name): Adjust.
+ (cp_parser_elaborated_type_specifier, cp_parser_class_head): Adjust.
+
+2012-06-27 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR C++/51033
+ * semantics.c (constexpr_call): Fix typo in comment.
+ (cxx_eval_vec_perm_expr): New.
+ (cxx_eval_constant_expression): Fold VEC_PERM_EXPRs.
+
+2012-06-26 Richard Guenther <rguenther@suse.de>
+
+ PR c++/53752
+ * mangle.c (write_array_type): Truncate the number-of-elements
+ result.
+
+2012-06-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/53498
+ PR c++/53305
+ * pt.c (tsubst_decl) [PARM_DECL]: Don't recurse into DECL_CHAIN
+ if cp_unevaluated_operand is set.
+ (tsubst_copy) [PARM_DECL]: Don't copy before tsubsting.
+
+ PR c++/52988
+ * typeck.c (decay_conversion): Don't discard side-effects from
+ expressions of nullptr_t.
+
+2012-06-25 Florian Weimer <fweimer@redhat.com>
+
+ * init.c (build_new_1): Warn about (T[N]) for variable N, and
+ reject T[M][N].
+
+ * parser.c (cp_parser_direct_new_declarator): Accept non-constant
+ expressions. Handled now in build_new_1.
+
+2012-06-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/53202
+ * semantics.c (build_data_member_initialization): Always keep
+ initializer for empty base.
+ (cxx_eval_bare_aggregate): Discard it here.
+
+ PR c++/53565
+ * pt.c (tsubst_omp_for_iterator): Simplify DECL_EXPR handling.
+ (tsubst_expr) [OMP_FOR]: Here, too.
+
+2012-06-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/53594
+ * class.c (check_bases_and_members): Avoid -Wuninitialized
+ diagnostics for non-static const members or references if they
+ use NSDMI.
+
+2012-06-16 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ * parser.c (cp_parser_direct_declarator): Move virt-specifier
+ parsing after late-specified return type parsing.
+
+2012-06-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/53651
+ * name-lookup.c (constructor_name_p): Don't try to look at the
+ name of a DECLTYPE_TYPE.
+
+2012-06-18 Lawrence Crowl <crowl@google.com>
+
+ * decl2.c (cp_write_global_declarations): Rename use of TV_PHASE_CGRAPH
+ to TV_PHASE_OPT_GEN.
+
+2012-06-18 Steven Bosscher <steven@gcc.gnu.org>
+
+ * decl.c (finish_function): Remove code conditional on VMS_TARGET.
+
+2012-06-15 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/51033
+ * semantics.c (literal_type_p): Handle VECTOR_TYPE.
+ (potential_constant_expression_1): Handle VEC_PERM_EXPR.
+ * parser.c (cp_parser_postfix_expression): Handle RID_BUILTIN_SHUFFLE.
+
+2012-06-09 Jason Merrill <jason@redhat.com>
+
+ * pt.c (tsubst_expr) [TAG_DEFN]: Instantiate local class.
+ * class.c (finish_struct): Don't add a TAG_DEFN for a lambda.
+ * decl2.c (finish_static_data_member_decl): Avoid redundant error.
+
+ PR c++/53599
+ * name-lookup.c (pushtag_1): Add a DECL_EXPR for a local class.
+ * semantics.c (finish_cond): Build a COMPOUND_EXPR.
+ * pt.c (tsubst_expr) [COMPOUND_EXPR]: Handle.
+ [DECL_EXPR]: Don't call cp_finish_decl for an implicit typedef.
+ Don't return the decl.
+
+2012-06-11 Richard Guenther <rguenther@suse.de>
+
+ PR c++/53605
+ * mangle.c (write_array_type): Use double-ints for array domain
+ arithmetic.
+
+2012-06-07 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/51214
+ * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields):
+ Declare.
+ * class.c (insert_into_classtype_sorted_fields): New.
+ (add_enum_fields_to_record_type): New.
+ (count_fields): Adjust the comment.
+ (add_fields_to_record_type): Likewise.
+ (finish_struct_1): Move the code that inserts the fields for the
+ sorted case, into insert_into_classtype_sorted_fields, and call
+ it.
+ (insert_late_enum_def_into_classtype_sorted_fields): Define.
+ * decl.c (finish_enum_value_list): Call
+ insert_late_enum_def_into_classtype_sorted_fields if a late enum
+ definition is encountered.
+
+2012-06-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53567
+ * typeck.c (cp_perform_integral_promotions): New, like
+ perform_integral_promotions but also takes a tsubst_flags_t parameter.
+ (pointer_diff): Add tsubst_flags_t parameter.
+ (decay_conversion, cp_default_conversion, cp_build_array_ref,
+ cp_build_binary_op, cp_build_unary_op, build_static_cast_1,
+ build_reinterpret_cast_1, cp_build_modify_expr,
+ convert_for_assignment): Adjust.
+ * optimize.c (build_delete_destructor_body): Adjust.
+ * init.c (expand_virtual_init, expand_default_init, build_new_1,
+ build_new, build_vec_delete_1, build_vec_init, build_delete): Adjust.
+ (construct_virtual_base): Adjust LOOKUP_COMPLAIN -> 0.
+ * class.c (build_base_path): Adjust.
+ * decl.c (compute_array_index_type, finish_destructor_body): Likewise.
+ * method.c (synthesized_method_walk): Adjust flag and complain.
+ * rtti.c (ifnonnull): Add tsubst_flags_t parameter.
+ (build_typeid, build_dynamic_cast_1): Adjust.
+ * except.c (initialize_handler_parm): Likewise.
+ * typeck2.c (process_init_constructor_record): Likewise.
+ * pt.c (tsubst_friend_class): Don't change flags.
+ * semantics.c (finish_goto_stmt, handle_omp_for_class_iterator,
+ finish_static_assert): Likewise.
+ * parser.c (cp_parser_lookup_name): Just pass 0 as flags to
+ lookup_name_real.
+ * call.c (build_op_delete_call): Add tsubst_flags_t parameter.
+ (convert_like_real, convert_arg_to_ellipsis, convert_for_arg_passing):
+ Adjust.
+ (standard_conversion): Adjust LOOKUP_COMPLAIN -> 0.
+ (implicit_conversion): Mask out tf_error with a FIXME.
+ (build_user_type_conversion_1, build_new_op_1, build_over_call): Use
+ complain & tf_error instead of flags & LOOKUP_COMPLAIN.
+ * cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
+ build_up_reference, convert_to_reference, cp_convert,
+ cp_convert_and_check, ocp_convert, convert_force): Add tsubst_flags_t
+ parameter.
+ (convert_to_reference, ocp_convert): Use complain & tf_error instead
+ of flags & LOOKUP_COMPLAIN.
+ (convert_force): Adjust LOOKUP_COMPLAIN -> 0.
+ * name-lookup.c (identifier_type_value_1, lookup_qualified_name,
+ lookup_name_real, lookup_function_nonclass, lookup_name,
+ lookup_name_prefer_type): Adjust LOOKUP_COMPLAIN -> 0.
+ * cp-tree.h: Adjust prototypes; remove LOOKUP_COMPLAIN.
+
+2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
+
+ * decl.c: Do not include output.h.
+ (start_decl): Remove code for flag_conserve_space.
+
+2012-06-06 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/52841
+ * parser.c (cp_parser_alias_declaration): Return earlier
+ if an error occured.
+
+2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53524
+ * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
+ to control enumeral mismatch in conditional expression too.
+
+2012-06-04 Sterling Augustine <saugustine@google.com>
+
+ * cp-tree.h: Declare decl_as_dwarf_string, lang_decl_dwarf_name.
+ * cp-lang.c (cxx_dwarf_name): Call them.
+
+2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
+
+ * semantics.c: Do not include output.h.
+ * decl2.c: Likewise.
+ * friend.c: Likewise.
+ * typeck.c: Likewise.
+ * typeck2.c: Likewise.
+ * Make-lang.in: Fix dependencies.
+
+2012-06-01 Jason Merrill <jason@redhat.com>
+
+ PR c++/52973
+ * parser.c (cp_parser_class_head): Apply attributes here.
+ * semantics.c (begin_class_definition): Not here.
+ * cp-tree.h: Adjust.
+
+ PR c++/52725
+ * parser.c (cp_parser_binary_expression): Bail early if we're parsing
+ tentatively and the LHS has a parse error.
+
+ PR c++/53137
+ * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
+ (instantiate_decl): Don't push_to_top_level for local class methods.
+ (instantiate_class_template_1): Or for local classes.
+
+ PR c++/53484
+ * pt.c (do_auto_deduction): Don't try to deduce from a
+ type-dependent initializer.
+
+2012-06-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/26155
+ * name-lookup.c (push_namespace): When error recovery is
+ impossible just error out in duplicate_decls.
+
+2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
+
+ * call.c: Do not include output.h.
+ * class.c: Likewise.
+ * except.c: Likewise.
+ * friend.c: Likewise.
+ * init.c: Likewise.
+ * lex.c: Likewise.
+ * method.c: Likewise.
+ * parser.c: Likewise.
+ * pt.c: Likewise.
+ * rtti.c: Likewise.
+ * search.c: Likewise.
+
+2012-05-30 Jason Merrill <jason@redhat.com>
+
+ PR c++/53356
+ * tree.c (stabilize_init): Handle stabilizing a TARGET_EXPR
+ representing a bitwise copy of a glvalue.
+
+ * tree.c (stabilize_expr): Tweak logic.
+
+ PR c++/53356
+ * tree.c (stabilize_init): Side effects make the init unstable.
+
+2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53503
+ * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
+
+2012-05-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53491
+ * tree.c (stabilize_expr): Handle exp of void type.
+
+2012-05-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/53220
+ * call.c (convert_like_real) [ck_list]: Take array address directly.
+ * typeck.c (decay_conversion): Reject decay of an array compound
+ literal.
+
+2012-05-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/32054
+ * parser.c (cp_parser_member_declaration): A storage class is not
+ allowed in a declaration of an anonymous aggregate in a class scope.
+
+2012-05-24 Uros Bizjak <ubizjak@gmail.com>
+
+ PR obj-c++/53441
+ * decl.c (grokdeclarator): Check that current_class_type is non-NULL
+ before calling constructor_name_p.
+
+2012-05-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/32080
+ * parser.c (cp_parser_ctor_initializer_opt_and_function_body,
+ cp_parser_function_body): Add a bool parameter, true when parsing
+ a function-try-block.
+ (cp_parser_function_try_block): Pass true to the above.
+ (cp_parser_function_definition_after_declarator,
+ cp_parser_function_transaction): Adjust.
+
+2012-05-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/29185
+ * decl2.c (delete_sanity): Extend 'deleting array' warning to
+ any array type.
+
+2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51184
+ * decl.c (grokdeclarator): Diagnose functions returning abstract
+ class types as TYPENAME.
+ * cp-tree.h (ABSTRACT_CLASS_TYPE_P): Add.
+ * except.c (is_admissible_throw_operand_or_catch_parameter): Use it.
+ * pt.c (tsubst): Likewise.
+ * semantics.c (trait_expr_value): Likewise.
+
+2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/40821
+ * parser.c (cp_parser_attributes_opt): Enforce error checking of
+ unbalanced parentheses in the presence of tentative parsing.
+
+2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/39681
+ * parser.c (cp_parser_new_type_id): Early return error_mark_node
+ if the cp_parser_type_specifier_seq call has type_specifier_seq.type
+ error_mark_node; tidy.
+ (cp_parser_new_expression): Always initialize nelts to NULL_TREE to
+ avoid uninitialized warnings.
+ (cp_parser_init_declarator, cp_parser_late_parse_one_default_arg):
+ Call cp_parser_skip_to_end_of_statement if cp_parser_initializer
+ returns error_mark_node.
+
+2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53371
+ * except.c (is_admissible_throw_operand): Rename to
+ is_admissible_throw_operand_or_catch_parameter and handle
+ catch parameter too.
+ (expand_start_catch_block): Use it.
+ (build_throw): Adjust.
+
+2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/44516
+ * typeck.c (build_x_array_ref, build_x_conditional_expr,
+ build_x_compound_expr, build_x_modify_expr): Add location_t parameter.
+ (finish_class_member_access_expr, build_x_indirect_ref,
+ build_x_binary_op, build_x_compound_expr_from_list,
+ build_x_compound_expr_from_vec): Adjust callers.
+ * tree.c (build_min_nt_loc): New.
+ (build_min_nt): Remove.
+ * typeck2.c (build_x_arrow): Adjust callers.
+ * pt.c (tsubst_qualified_id, tsubst_omp_for_iterator,
+ tsubst_copy_and_build): Likewise.
+ * semantics.c (finish_mem_initializers, handle_omp_for_class_iterator,
+ finish_omp_atomic): Likewise.
+ * decl2.c (grok_array_decl, build_anon_union_vars): Adjust.
+ * parser.c (cp_parser_question_colon_clause,
+ cp_parser_assignment_expression, cp_parser_expression,
+ cp_parser_template_id, cp_parser_omp_for_loop): Likewise.
+ * cp-tree.h: Update.
+
+2012-05-16 Dodji Seketeli <dodji@redhat.com>
+
+ PR preprocessor/7263
+ * cp-tree.h (enum cp_decl_spec): Add new enumerators to cover all
+ the possible declarator specifiers so far.
+ (struct cp_decl_specifier_seq::locations): Declare new member.
+ (cp_decl_specifier_seq::{specs, type_location}): Remove.
+ (decl_spec_seq_has_spec_p): Declare new function.
+ * parser.c (cp_parser_check_decl_spec): Remove.
+ (set_and_check_decl_spec_loc): Define new static function.
+ (decl_spec_seq_has_spec_p): Define new public function.
+ (cp_parser_decl_specifier_seq, cp_parser_function_specifier_opt)
+ (cp_parser_type_specifier, cp_parser_simple_type_specifier)
+ (cp_parser_set_storage_class, cp_parser_set_decl_spec_type)
+ (cp_parser_alias_declaration): Set the locations for each
+ declspec, using set_and_check_decl_spec_loc.
+ (cp_parser_explicit_instantiation, cp_parser_init_declarator)
+ (cp_parser_member_declaration, cp_parser_init_declarator): Use the
+ new declspec location for specifiers. Use the new
+ decl_spec_seq_has_spec_p.
+ (cp_parser_type_specifier_seq): Use the new
+ set_and_check_decl_spec_loc. Stop using
+ cp_parser_check_decl_spec. Use the new decl_spec_seq_has_spec_p.
+ (, cp_parser_init_declarator): Use the new
+ set_and_check_decl_spec_loc.
+ (cp_parser_single_declaration, cp_parser_friend_p)
+ (cp_parser_objc_class_ivars, cp_parser_objc_struct_declaration):
+ Use the new decl_spec_seq_has_spec_p.
+ * decl.c (check_tag_decl): Use new decl_spec_seq_has_spec_p. Use
+ the more precise ds_redefined_builtin_type_spec location for
+ diagnostics about re-declaring C++ built-in types.
+ (start_decl, grokvardecl, grokdeclarator): Use the new
+ decl_spec_seq_has_spec_p.
+
+2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/11856
+ * pt.c (tsubst_copy_and_build): Increase / decrease
+ c_inhibit_evaluation_warnings around build_x_binary_op call.
+
+2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * cp-tree.h (TYPE_PTRMEM_P): Rename to TYPE_PTRDATAMEM_P.
+ (TYPE_PTR_TO_MEMBER_P): Rename to TYPE_PTRMEM_P.
+ (TYPE_PTR_OR_PTRMEM_P): Add.
+ * typeck.c (composite_pointer_type_r, composite_pointer_type,
+ common_pointer_type, cp_build_indirect_ref, cp_build_binary_op,
+ cp_truthvalue_conversion, convert_ptrmem, build_static_cast_1,
+ build_reinterpret_cast_1, build_const_cast_1, comp_ptr_ttypes_real,
+ casts_away_constness_r, casts_away_constness): Adjust.
+ * init.c (build_zero_init_1): Adjust.
+ * class.c (check_field_decls): Likewise.
+ * decl.c (check_default_argument): Likewise.
+ * rtti.c (target_incomplete_p): Likewise.
+ * tree.c (zero_init_p): Likewise.
+ * cxx-pretty-print.c (pp_cxx_ptr_operator,
+ pp_cxx_abstract_declarator): Likewise.
+ * typeck2.c (build_m_component_ref): Likewise.
+ * pt.c (convert_nontype_argument, invalid_nontype_parm_type_p,
+ dependent_type_p_r): Likewise.
+ * call.c (null_member_pointer_value_p, standard_conversion,
+ add_builtin_candidate, build_conditional_expr_1, compare_ics):
+ Likewise.
+ * cp-objcp-common.c (cp_var_mod_type_p): Likewise.
+ * cvt.c (cp_convert_to_pointer, ocp_convert,
+ perform_qualification_conversions): Likewise.
+ * mangle.c (write_type): Likewise.
+ * name-lookup.c (arg_assoc_type): Likewise.
+
+2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * parser.c (struct cp_parser_expression_stack_entry): Add location_t
+ field.
+ (cp_parser_binary_expression): Rework to always update at the same
+ time tree_type and loc.
+ * call.c (print_z_candidate): Add location_t parameter.
+ (print_z_candidates, convert_like_real, joust): Adjust.
+
+2012-05-11 Alexandre Oliva <aoliva@redhat.com>
+
+ PR c++/53209
+ * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
+
+2012-05-11 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53305
+ * pt.c (tsubst_copy: case PARM_DECL): Return error_mark_node if
+ tsubst_decl returns NULL_TREE.
+ * cxx-pretty-print.c (pp_cxx_simple_type_specifier): Handle
+ BOUND_TEMPLATE_TEMPLATE_PARM.
+
+2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53158
+ * cvt.c (ocp_convert): Error out early for void -> bool conversions.
+ * typeck.c (decay_conversion): Use error_at.
+ * call.c (build_integral_nontype_arg_conv, convert_like_real,
+ convert_arg_to_ellipsis, perform_implicit_conversion_flags,
+ initialize_reference): Likewise.
+ * cvt.c (warn_ref_binding): Add location_t parameter.
+ (cp_convert_to_pointer, convert_to_reference, ocp_convert,
+ convert_to_void, ): Use error_at and warning_at.
+
+2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53301
+ * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
+ instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
+
+2012-05-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53152
+ * call.c (op_error, build_new_op_1, build_new_op): Add location_t
+ parameter.
+ (build_conditional_expr_1): Adjust.
+ * typeck.c (build_x_indirect_ref, build_x_binary_op,
+ build_x_unary_op): Add location_t parameter.
+ (rationalize_conditional_expr, build_x_array_ref,
+ build_x_compound_expr, cp_build_modify_expr, build_x_modify_expr):
+ Adjust.
+ * typeck2.c (build_x_arrow): Add location_t parameter.
+ * semantics.c (finish_unary_op_expr): Likewise.
+ (finish_increment_expr, handle_omp_for_class_iterator): Adjust.
+ * decl2.c (grok_array_decl): Add location_t parameter.
+ * parser.c (cp_parser_postfix_open_square_expression,
+ cp_parser_postfix_dot_deref_expression, cp_parser_unary_expression,
+ cp_parser_binary_expression, cp_parser_builtin_offsetof,
+ do_range_for_auto_deduction, cp_convert_range_for,
+ cp_parser_template_argument, cp_parser_omp_for_cond): Pass the
+ location, adjust.
+ * pt.c (tsubst_copy_and_build): Adjust.
+ * tree.c (maybe_dummy_object): Likewise.
+ * cp-tree.h: Update declarations.
+
+2012-05-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * semantics.c (cxx_eval_constant_expression, case CONVERT_EXPR): Tidy.
+
+2012-05-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53166
+ * pt.c (instantiate_class_template_1): Increase / decrease
+ c_inhibit_evaluation_warnings around the tsubst_expr call
+ for STATIC_ASSERT_CONDITION.
+ (tsubst_expr, case STATIC_ASSERT): Likewise.
+ * typeck.c (cp_build_binary_op, case EQ_EXPR/NE_EXPR): Check
+ c_inhibit_evaluation_warnings in the OPT_Waddress warnings.
+
+2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53186
+ * call.c (build_over_call): Handle final member functions
+ and class types.
+ (build_new_method_call_1): Do not handle here.
+
+2012-05-02 Richard Guenther <rguenther@suse.de>
+
+ * decl.c (grokdeclarator): Properly check for sizes that
+ cover more than half of the address-space.
+
+2012-04-30 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/51033
+ * typeck.c (cp_build_array_ref): Handle VECTOR_TYPE.
+ * decl2.c (grok_array_decl): Likewise.
+
+ PR c++/51314
+ * parser.c (cp_parser_sizeof_operand): Require parentheses for
+ sizeof...
+
+2012-04-30 Dodji Seketeli <dodji@redhat.com>
+
+ Fix location for static class members
+ * decl.c (grokdeclarator): Use the location carried by the
+ declarator for the DECL of the static class member.
+
+ Fix va_arg type location
+ * cp-tree.h (build_x_va_arg): Take an additional location
+ parameter.
+ * call.c (build_x_va_arg): Take a loc parameter for the location
+ of the type of the va_arg expression.
+ * parser.c (cp_parser_primary_expression): Pass the type of the
+ type in the va_arg expression to build_x_va_arg.
+ * pt.c (tsubst_copy): Adjust calls to build_x_va_arg.
+
+ Make conversion warnings work on NULL with -ftrack-macro-expansion
+ * call.c (conversion_null_warnings): Use the new
+ expansion_point_location_if_in_system_header.
+ * cvt.c (build_expr_type_conversion): Likewise.
+ * typeck.c (cp_build_binary_op): Likewise.
+
+2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * typeck.c (convert_for_assignment): Replace
+ Wmissing-format-attribute with Wsuggest-attribute=format.
+ * call.c (convert_for_arg_passing): Likewise.
+
+2012-04-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53096
+ * class.c (check_bases_and_members): Implement core/1333, do not
+ disallow defaulted in the class body non-const ref special members.
+
+2012-04-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52363
+ * call.c (tourney, perform_overload_resolution,
+ build_operator_new_call, build_user_type_conversion_1,
+ build_user_type_conversion, perform_overload_resolution,
+ add_template_candidate, add_template_candidate_real,
+ add_template_conv_candidate, add_builtin_candidates,
+ add_builtin_candidate, build_builtin_candidate,
+ add_conv_candidate, add_function_candidate, implicit_conversion,
+ reference_binding, build_list_conv, conditional_conversion,
+ add_candidates, can_convert_array, build_aggr_conv,
+ build_array_conv, build_complex_conv, conditional_conversion):
+ Add tsubst_flags_t parameter.
+ (joust): Likewise, use it to handle SFINAE as if pedantic.
+ (add_list_candidates, build_integral_nontype_arg_conv,
+ perform_overload_resolution, build_new_function_call,
+ build_operator_new_call, build_op_call_1,
+ build_conditional_expr_1, build_new_op_1, convert_like_real,
+ convert_arg_to_ellipsis, convert_default_arg,
+ convert_for_arg_passing, build_over_call,
+ build_new_method_call_1, can_convert_arg, can_convert_arg_bad,
+ perform_implicit_conversion_flags,
+ perform_direct_initialization_if_possible,
+ initialize_reference): Adjust.
+ * typeck.c (casts_away_constness, casts_away_constness_r):
+ Add tsubst_flags_t parameter.
+ (convert_arguments, check_for_casting_away_constness,
+ build_static_cast_1, build_ptrmemfunc, convert_for_assignment):
+ Adjust.
+ * decl.c (reshape_init_r, check_default_argument): Likewise.
+ * cp-gimplify.c (cxx_omp_clause_apply_fn): Likewise.
+ * pt.c (convert_nontype_argument, check_non_deducible_conversion):
+ Likewise.
+ * init.c (build_new_1): Likewise.
+ * cvt.c (convert_to_reference, ocp_convert, build_type_conversion,
+ build_expr_type_conversion, ): Likewise.
+ * search.c (check_final_overrider): Likewise.
+ * cp-tree.h (build_user_type_conversion,
+ build_operator_new_call, can_convert, can_convert_arg,
+ can_convert_arg_bad, convert_default_arg,
+ convert_arg_to_ellipsis, convert_for_arg_passing):
+ Adjust declaration.
+
+2012-04-22 Jan Hubicka <jh@suse.cz>
+
+ * decl2.c (maybe_make_one_only): Mark keyed COMDATs as USED so they
+ gets finalized.
+
+2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/44774
+ * typeck.c (composite_pointer_type): Likewise.
+ (cxx_sizeof_or_alignof_type): Likewise.
+ (cp_build_array_ref): Likewise.
+ (cp_build_function_call_vec): Likewise.
+ (cp_build_addr_expr_1): Likewise.
+ (convert_member_func_to_ptr): Likewise.
+ * decl.c (check_tag_decl): Likewise.
+ (check_static_variable_definition): Likewise.
+ (compute_array_index_type): Likewise.
+ (create_array_type_for_decl): Likewise.
+ (grokdeclarator): Likewise.
+ (grok_op_properties): Likewise.
+ * error.c (maybe_warn_cpp0x): Likewise.
+ * pt.c (maybe_process_partial_specialization): Likewise.
+ (convert_template_argument): Likewise.
+ (do_decl_instantiation): Likewise.
+ (do_type_instantiation): Likewise.
+ * parser.c (cp_parser_primary_expression): Likewise.
+ (cp_parser_postfix_expression): Likewise.
+ (cp_parser_unary_expression): Likewise.
+ (cp_parser_question_colon_clause): Likewise.
+ (cp_parser_lambda_introducer): Likewise.
+ (cp_parser_lambda_declarator_opt): Likewise.
+ (cp_parser_compound_statement): Likewise.
+ (cp_parser_jump_statement): Likewise.
+ (cp_parser_declaration_seq_opt): Likewise.
+ (cp_parser_enum_specifier): Likewise.
+ (cp_parser_enumerator_list): Likewise.
+ (cp_parser_initializer_list): Likewise.
+ (cp_parser_member_declaration): Likewise.
+ * call.c (build_conditional_expr_1): Likewise.
+ * friend.c (make_friend_class): Likewise.
+ * name-lookup.c (pushdecl_maybe_friend_1): Likewise.
+
+2012-04-21 Jan Hubicka <jh@suse.cz>
+
+ * method.c (make_alias_for): Do not set TREE_SYMBOL_REFERENCED.
+ * decl2.c (mark_needed): Likewise.
+ (decl_needed_p): Do not test TREE_SYMBOL_REFERENCED.
+
+ * decl2.c (cxx_callgraph_analyze_expr): Remove.
+ * cp-objcp-common.h (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Remove.
+ * cp-tree.h (cxx_callgraph_analyze_expr): Remove.
+
+2012-04-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 35441
+ * typeck.c (cp_build_function_call_vec): Do not pretty-print
+ expressions when caret is enabled.
+
+2012-04-20 Jan Hubicka <jh@suse.cz>
+
+ PR target/53042
+ * decl2.c (maybe_emit_vtables): Do not initialize same_comdat_group
+ list when target has no support for it.
+
+2012-04-20 Michael Matz <matz@suse.de>
+
+ * error.c (pedwarn_cxx98): Move va_end call after user
+ of the va_list.
+
+2012-04-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52422
+ * cp-tree.h (build_addr_func, decay_conversion,
+ get_member_function_from_ptrfunc,
+ build_m_component_ref, convert_member_func_to_ptr):
+ Add tsubst_flags_t parameter.
+ * typeck.c (cp_default_conversion): Add.
+ (decay_conversion, default_conversion,
+ get_member_function_from_ptrfunc, convert_member_func_to_ptr):
+ Add tsubst_flags_t parameter and use it throughout.
+ (cp_build_indirect_ref, cp_build_array_ref,
+ cp_build_function_call_vec, convert_arguments, build_x_binary_op,
+ cp_build_binary_op, cp_build_unary_op, build_reinterpret_cast_1,
+ build_const_cast_1, expand_ptrmemfunc_cst,
+ convert_for_initialization): Adjust.
+ * init.c (build_vec_init): Adjust.
+ * decl.c (grok_reference_init, get_atexit_node): Likewise.
+ * rtti.c (build_dynamic_cast_1, tinfo_base_init): Likewise.
+ * except.c (build_throw): Likewise.
+ * typeck2.c (build_x_arrow): Likewise.
+ (build_m_component_ref): Add tsubst_flags_t parameter and
+ use it throughout.
+ * pt.c (convert_nontype_argument): Adjust.
+ * semantics.c (finish_asm_stmt, maybe_add_lambda_conv_op): Likewise.
+ * decl2.c (build_offset_ref_call_from_tree): Likewise.
+ * call.c (build_addr_func): Add tsubst_flags_t parameter and
+ use it throughout.
+ (build_call_a, build_conditional_expr_1, build_new_op_1,
+ convert_like_real, convert_arg_to_ellipsis, build_over_call,
+ build_special_member_call): Adjust.
+ * cvt.c (cp_convert_to_pointer, force_rvalue,
+ build_expr_type_conversion): Likewise.
+
+2012-04-17 Tom de Vries <tom@codesourcery.com>
+
+ * cp-gimplify.c (begin_bc_block): Add location parameter and use as
+ location argument to create_artificial_label.
+ (finish_bc_block): Change return type to void. Remove body_seq
+ parameter, and add block parameter. Append label to STMT_LIST and
+ return in block.
+ (gimplify_cp_loop, gimplify_for_stmt, gimplify_while_stmt)
+ (gimplify_do_stmt, gimplify_switch_stmt): Remove function.
+ (genericize_cp_loop, genericize_for_stmt, genericize_while_stmt)
+ (genericize_do_stmt, genericize_switch_stmt, genericize_continue_stmt)
+ (genericize_break_stmt, genericize_omp_for_stmt): New function.
+ (cp_gimplify_omp_for): Remove bc_continue processing.
+ (cp_gimplify_expr): Genericize VEC_INIT_EXPR.
+ (cp_gimplify_expr): Mark FOR_STMT, WHILE_STMT, DO_STMT, SWITCH_STMT,
+ CONTINUE_STMT, and BREAK_STMT as unreachable.
+ (cp_genericize_r): Genericize FOR_STMT, WHILE_STMT, DO_STMT,
+ SWITCH_STMT, CONTINUE_STMT, BREAK_STMT and OMP_FOR.
+ (cp_genericize_tree): New function, factored out of ...
+ (cp_genericize): ... this function.
+
+2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52599
+ * semantics.c (build_constexpr_constructor_member_initializers):
+ Check for function-try-block as function-body.
+
+2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53003
+ * parser.c (cp_parser_member_declaration): Check that
+ initializer_token_start is non null before dereferencing it.
+
+2012-04-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/38543
+ * pt.c (determine_specialization): Instead of comparing the number
+ of parms, check that tsubst gives the right answer.
+
+ PR c++/52008
+ * pt.c (process_partial_specialization): Complain about a partial
+ specialization with fewer args than primary template parms.
+
+ PR c++/50830
+ * pt.c (convert_template_argument): Handle template template
+ argument packs.
+
+ PR c++/50303
+ * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
+ template parameters.
+
+2012-04-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/49152
+ * call.c (op_error): Print types; when flag_diagnostics_show_caret
+ is false print expressions too.
+ (op_error_string): Add.
+
+2012-04-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/51148
+ * friend.c (make_friend_class): Call check_for_bare_parameter_packs.
+
+2012-04-16 Jan Hubicka <jh@suse.cz>
+
+ * decl2.c (collect_candidates_for_java_method_alias): Use FOR_EACH
+ walkers to walk cgraph and varpool.
+
+2012-04-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/47220
+ * pt.c (coerce_template_parameter_pack): Check for error_mark_node.
+
+ PR c++/52292
+ PR c++/52380
+ * pt.c (coerce_template_parms): Even if we aren't converting we
+ want to expand argument packs.
+
+ PR c++/52706
+ * mangle.c (write_type): nullptr_t is a builtin type.
+
+2012-04-14 Jan Hubicka <jh@suse.cz>
+
+ * tree.c: Update field referenced for new cgraph/varpool layout.
+ * decl2.c: Likewise.
+
+2012-04-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/52824
+ * pt.c (any_pack_expanson_args_p): New.
+ (coerce_template_parms): Use it.
+
+ PR c++/52905
+ * call.c (joust): Handle comparing list and non-list ctors.
+
+ PR c++/52915
+ * decl2.c (finish_anon_union): Use cp_finish_decl.
+ * error.c (dump_function_name): Avoid showing anonymous "name".
+
+2012-04-11 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/52465
+ * parser.c (cp_parser_class_name): Call strip_using_decl and
+ return the target decl.
+ * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
+ to be stripped is NULL_TREE.
+ (qualify_lookup): Call strip_using_decl and perform some checks on
+ the target decl.
+
+2012-04-11 Jason Merrill <jason@redhat.com>
+
+ PR debug/45088
+ * decl.c (grokdeclarator): Strip the injected-class-name typedef
+ if we are building a declaration or compound type.
+
+ PR c++/52906
+ * decl.c (check_tag_decl): Don't complain about attributes if we
+ don't even have a type.
+
+2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * cvt.c (convert_to_void): Update comment.
+
+2012-04-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/52596
+ * semantics.c (finish_non_static_data_member): In templates, pass
+ the decl to build_qualified_name.
+ * tree.c (lvalue_kind) [SCOPE_REF]: Handle FIELD_DECL.
+
+2012-04-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/52845
+ * decl.c (finish_function): Update fntype after deducing return type.
+
+2012-04-03 Jason Merrill <jason@redhat.com>
+
+ PR c++/52796
+ * pt.c (tsubst_initializer_list): A pack expansion with no elements
+ means value-initialization.
+
+2012-04-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50043
+ * class.c (deduce_noexcept_on_destructor,
+ deduce_noexcept_on_destructors): New.
+ (check_bases_and_members): Call the latter.
+ * decl.c (grokfndecl): Call the former.
+ * method.c (implicitly_declare_fn): Not static.
+ * cp-tree.h (deduce_noexcept_on_destructor, implicitly_declare_fn):
+ Declare
+
+2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52718
+ * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
+ warn for a zero as null pointer constant default argument.
+
+2012-03-29 Jason Merrill <jason@redhat.com>
+
+ PR c++/52685
+ * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
+
+2012-03-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/52759
+ * decl.c (start_decl): Don't call maybe_apply_pragma_weak
+ if processing_template_decl.
+
+2012-03-29 Jason Merrill <jason@redhat.com>
+
+ PR c++/52743
+ * call.c (compare_ics): Handle ck_aggr like ck_list.
+
+2012-03-28 Jason Merrill <jason@redhat.com>
+
+ PR c++/52746
+ * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
+ we didn't get an explicit scope.
+ * pt.c (tsubst_baselink): Likewise.
+
+2012-03-28 Richard Guenther <rguenther@suse.de>
+
+ * typeck2.c (process_init_constructor_array): Use the proper
+ type for computing the array length.
+
+2012-03-27 Meador Inge <meadori@codesourcery.com>
+
+ PR c++/52672
+ * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
+ stripped child trees that are not pointer types.
+
+2012-03-21 Jason Merrill <jason@redhat.com>
+
+ Implement return type deduction for normal functions with -std=c++1y.
+ * cp-tree.h (FNDECL_USED_AUTO): New macro.
+ (LAMBDA_EXPR_DEDUCE_RETURN_TYPE_P): Remove.
+ (dependent_lambda_return_type_node): Remove.
+ (CPTI_DEPENDENT_LAMBDA_RETURN_TYPE): Remove.
+ (struct language_function): Add x_auto_return_pattern field.
+ (current_function_auto_return_pattern): New.
+ (enum tsubst_flags): Add tf_partial.
+ * decl.c (decls_match): Handle auto return comparison.
+ (duplicate_decls): Adjust error message for auto return.
+ (cxx_init_decl_processing): Remove dependent_lambda_return_type_node.
+ (cp_finish_decl): Don't do auto deduction for functions.
+ (grokdeclarator): Allow auto return without trailing return type in
+ C++1y mode.
+ (check_function_type): Defer checking of deduced return type.
+ (start_preparsed_function): Set current_function_auto_return_pattern.
+ (finish_function): Set deduced return type to void if not previously
+ deduced.
+ * decl2.c (change_return_type): Handle error_mark_node.
+ (mark_used): Always instantiate functions with deduced return type.
+ Complain about use if deduction isn't done.
+ * parser.c (cp_parser_lambda_declarator_opt): Use 'auto' for
+ initial return type.
+ (cp_parser_lambda_body): Don't deduce return type in a template.
+ (cp_parser_conversion_type_id): Allow auto in C++1y.
+ * pt.c (instantiate_class_template_1): Don't mess with
+ LAMBDA_EXPR_DEDUCE_RETURN_TYPE_P.
+ (tsubst_copy_and_build): Likewise.
+ (fn_type_unification, tsubst): Don't reduce the template parm level
+ of 'auto' during deduction.
+ (unify): Compare 'auto' specially.
+ (get_bindings): Change test.
+ (always_instantiate_p): Always instantiate functions with deduced
+ return type.
+ (do_auto_deduction): Handle error_mark_node and lambda context.
+ Don't check for use in initializer.
+ (contains_auto_r): Remove.
+ * search.c (lookup_conversions_r): Handle auto conversion function.
+ * semantics.c (lambda_return_type): Handle null return. Don't mess
+ with dependent_lambda_return_type_node.
+ (apply_deduced_return_type): Rename from apply_lambda_return_type.
+ * typeck.c (merge_types): Handle auto.
+ (check_return_expr): Do auto deduction.
+ * typeck2.c (add_exception_specifier): Fix complain check.
+
+2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52487
+ * class.c (check_field_decls): Call literal_type_p only
+ on complete types.
+
+2012-03-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/52671
+ * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
+ on CLASS_TYPE_P types.
+
+2012-03-20 Jason Merrill <jason@redhat.com>
+
+ * lex.c (init_reswords): Use >= for cxx_dialect test.
+ * parser.c (cp_parser_exception_specification_opt): Likewise.
+
+ * mangle.c (write_type): Handle 'auto'.
+ * init.c (build_new): Don't do auto deduction where it might
+ affect template mangling.
+
+ PR c++/52510
+ * decl.c (reshape_init_class): Handle repeated reshaping.
+ * search.c (lookup_field_1): Add sanity check.
+
+2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/14710
+ * cp-tree.h (xvalue_p, maybe_warn_about_useless_cast): Declare.
+ * tree.c (xvalue_p): Define.
+ * typeck.c (maybe_warn_about_useless_cast): Define.
+ (build_reinterpret_cast, build_const_cast,
+ build_static_cast, cp_build_c_cast): Use maybe_warn_about_useless_cast.
+ * rtti.c (build_dynamic_cast): Likewise.
+ * pt.c (tsubst_copy_and_build, case CAST_EXPR): Increment/decrement
+ c_inhibit_evaluation_warnings before/after the build_* calls.
+
+2012-03-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/52582
+ * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
+
+2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c++/44783
+ * error.c (print_instantiation_partial_context): Use
+ template_backtrace_limit.
+
+2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Make-lang.in (doc/g++.1): Remove IRIX 6.5 reference.
+
+2012-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/52521
+ * parser.c (lookup_literal_operator): Return fn only if
+ processed all arguments from args vector and argtypes is
+ void_list_node.
+
+2012-01-30 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51641
+ * cp-tree.h (template_type_parameter_p): Declare new function.
+ (parameter_of_template_p): Remove.
+ * pt.c (template_type_parameter_p): Define new function.
+ (parameter_of_template_p): Remove.
+ * name-lookup.c (binding_to_template_parms_of_scope_p): Don't rely
+ on parameter_of_template_p anymore. Compare the level of the
+ template parameter to the depth of the template.
+
+2011-12-15 Dodji Seketeli <dodji@redhat.com>
+
+ * call.c (standard_conversion, build_integral_nontype_arg_conv)
+ (build_new_op_1, convert_like_real, is_subseq)
+ (maybe_handle_implicit_object, maybe_handle_ref_bind, compare_ics)
+ (joust): Use next_conversion instead of accessing fields of struct
+ conversion directly.
+
+2012-03-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52299
+ * pt.c (tsubst_copy_and_build, case COND_EXPR): Avoid bogus
+ division by zero warnings.
+
+2012-03-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * typeck.c (build_array_ref, cp_build_addr_expr_1, convert_ptrmem,
+ build_ptrmemfunc): Consistently forward the tsubst_flags_t
+ parameter.
+ * call.c (resolve_args): Likewise.
+
+2012-03-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/52521
+ * mangle.c (write_literal_operator_name): The length comes after the
+ operator prefix.
+
+2012-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ * pt.c (local_specializations): Change from htab_t into
+ struct pointer_map_t *.
+ (retrieve_local_specializations, register_local_specialization,
+ tsubst_pack_expansion, instantiate_decl): Adjust users.
+ (eq_local_specializations, hash_local_specialization): Remove.
+
+2012-03-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/51930
+ * decl2.c (determine_visibility): Correct calculation of class
+ args depth.
+ * decl.c (check_tag_decl): Adjust warning.
+
+ * method.c (synthesized_method_walk): Cleanups don't affect the EH
+ spec either.
+
+2012-03-03 Jason Merrill <jason@redhat.com>
+
+ * init.c (perform_member_init): Cope with uninstantiated NSDMI.
+
+ Core 1270
+ * call.c (build_aggr_conv): Call reshape_init.
+ (convert_like_real): Likewise.
+ * typeck2.c (process_init_constructor): Clear TREE_CONSTANT if
+ not all constant.
+
+ * mangle.c (write_nested_name): Use decl_mangling_context.
+ (write_prefix, write_template_prefix): Likewise.
+
+ PR c++/36797
+ * mangle.c (write_expression): Improve diagnostic for TRAIT_EXPR.
+
+ * class.c (add_method): Always build an OVERLOAD for using-decls.
+ * search.c (lookup_member): Handle getting an OVERLOAD for a
+ single function.
+
+2012-03-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51989
+ * typeck2.c (build_x_arrow): Take a tsubst_flags_t argument and
+ propagate it.
+ * cp-tree.h (build_x_arrow): Adjust prototype.
+ * pt.c (tsubst_copy_and_build): Adjust call.
+ * parser.c (cp_parser_postfix_dot_deref_expression): Likewise.
+
+2012-03-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * name-lookup.c (binding_to_template_parms_of_scope_p): Clean up.
+
+2012-02-29 Jason Merrill <jason@redhat.com>
+
+ PR c++/51930
+ * decl.c (check_tag_decl): Move warning for misplaced attributes here.
+ (shadow_tag): From here.
+ * parser.c (cp_parser_explicit_instantiation): Don't warn here.
+
+2012-02-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/52312
+ * typeck.c (check_literal_operator_args): Initialize *long_double_p
+ and *long_long_unsigned_p even if processing_template_decl.
+
+2012-02-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/52248
+ * decl.c (define_label): Use timevar_cond_start/stop.
+
+2012-02-16 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/52126
+ * decl.c (xref_basetypes): call dependent_scope_p instead of
+ dependent_type_p.
+
+2012-02-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/51415
+ * error.c (dump_expr): Handle lambda closures specifically.
+
+2012-02-14 Jason Merrill <jason@redhat.com>
+
+ * parser.c (cp_parser_explicit_instantiation): Give a warning
+ for ignored attributes on explicit class instantiation.
+
+2012-02-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/52247
+ * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
+ lookup_label on label's name and set TREE_USED.
+
+2012-02-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/39055
+ * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
+
+2012-02-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/52181
+ * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
+ newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
+
+2012-02-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/51675
+ * semantics.c (cx_check_missing_mem_inits): Handle unions.
+ Fix constexpr default constructor logic.
+
+ PR c++/52035
+ * pt.c (tsubst): Strip uninstantiated typedef.
+
+2012-02-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/52088
+ * cvt.c (build_expr_type_conversion): Check for template conversion.
+
+2012-01-31 Jason Merrill <jason@redhat.com>
+
+ PR c++/52043
+ * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
+ * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
+ (tsubst_pack_expansion): Check it.
+
+2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51327
+ * class.c (explain_non_literal_class): Correctly handle implicitly
+ deleted constructors.
+
+2012-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/51852
+ * pt.c (tsubst_pack_expansion): Delete and restore
+ local_specialization whenever need_local_specialization, not just
+ when saved_local_specializations is non-NULL.
+
+2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51370
+ * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
+ as TREE_OPERAND (t, 1).
+
+2012-01-24 Jason Merrill <jason@redhat.com>
+
+ PR c++/51917
+ * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
+
+ PR c++/51973
+ * tree.c (called_fns_equal): Check template args.
+ (cp_tree_equal): Call it.
+
+2012-01-24 Aldy Hernandez <aldyh@redhat.com>
+ Patrick Marlier <patrick.marlier@gmail.com>
+
+ PR c++/51928
+ * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
+ thunk for set_one_vmethod_tm_attributes.
+
+2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51223
+ * call.c (build_over_call): Check for error_mark_node as
+ TREE_VALUE when default arguments are processed.
+
+2012-01-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/51930
+ * decl2.c (determine_visibility): Check for visibility attribute
+ on template specialization.
+
+2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51398
+ * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
+
+2012-01-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/51925
+ * class.c (add_method): Set OVL_USED for using-decls.
+ * tree.c (ovl_scope): New.
+ * cp-tree.h: Declare it.
+ * parser.c (cp_parser_template_name): Use it.
+ * semantics.c (baselink_for_fns): Likewise.
+ * name-lookup.c (set_inherited_value_binding_p): Likewise.
+
+2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51402
+ * pt.c (lookup_template_class_1): Check context returned by
+ tsubst for error_mark_node.
+
+2012-01-19 Kai Tietz <ktietz@redhat.com>
+
+ PR c++/51344
+ * decl2.c (save_template_attributes): Use merge_attributes
+ instead of chaining up via TREE_CHAIN.
+
+2012-01-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/51889
+ * class.c (finish_struct): Call add_method here for function usings.
+ * semantics.c (finish_member_declaration): Not here.
+
+2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51225
+ * typeck2.c (store_init_value): Within a template guard
+ cxx_constant_value with require_potential_constant_expression.
+ * pt.c (convert_nontype_argument): Likewise.
+
+2012-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/51854
+ * mangle.c (write_template_arg_literal): Handle complex.
+
+2012-01-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/51827
+ * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
+
+ PR c++/51868
+ * typeck.c (build_static_cast_1): Handle bit-fields properly.
+
+2012-01-13 Ian Lance Taylor <iant@google.com>
+
+ PR c++/50012
+ * typeck.c (enum_cast_to_int): New static function.
+ (cp_build_binary_op): When handling warn_sign_compare, don't test
+ for TREE_NO_WARNING. Do call enum_cast_to_int.
+ * call.c (avoid_sign_compare_warnings): Remove static function.
+ (build_new_op_1): Don't call avoid_sign_compare_warnings.
+
+2012-01-13 Steven Bosscher <steven@gcc.gnu.org>
+
+ * decl2.c: Do not include tree-mudflap.h
+ * semantics.c: Likewise.
+
+2012-01-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/20681
+ * semantics.c (finish_break_stmt): Avoid adding an unreachable
+ BREAK_STMT.
+
+ PR c++/51813
+ * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
+ when reducing the visibility.
+
+ PR c++/51620
+ * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
+
+2012-01-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/51714
+ * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
+ value-dependent.
+
+2012-01-13 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51633
+ * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
+ Set the pointer to the last block of the constructor to the
+ current statement.
+ (build_constexpr_constructor_member_initializers): Get
+ build_data_member_initialization a chance to deal with more
+ statements before we choke.
+
+2012-01-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/48051
+ * mangle.c (write_expression): Mangle BASELINK scope if
+ BASELINK_QUALIFIED_P.
+ * search.c (adjust_result_of_qualified_name_lookup): Set
+ BASELINK_QUALIFIED_P.
+ * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
+ * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
+ adjust_result_of_qualified_name_lookup for non-qualified names.
+
+ PR c++/51403
+ * pt.c (unify): Handle error_mark_node.
+
+2012-01-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/51565
+ * call.c (standard_conversion): For ptrmemfuncs, compare the
+ static_fn_types.
+
+ PR c++/51818
+ * mangle.c (find_substitution): A type is only a substitution
+ match if we're looking for a type.
+ (write_nested_name): Use decl_mangling_context.
+
+ * decl.c (decls_match): Assert that the arguments are decls.
+
+ PR c++/51613
+ * pt.c (resolve_overloaded_unification): Compare types with
+ same_type_p, not decls_match.
+
+2012-01-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/51614
+ * class.c (build_base_path): Diagnose ambiguous base.
+
+ PR c++/51433
+ * semantics.c (cxx_eval_call_expression): Always retry previously
+ non-constant expressions.
+
+2012-01-06 Jason Merrill <jason@redhat.com>
+
+ DR 686
+ PR c++/47450
+ * parser.c (cp_parser_new_expression): Set
+ type_definition_forbidden_message.
+
+ PR c++/6057
+ PR c++/48051
+ PR c++/50855
+ PR c++/51322
+ * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
+ THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and
+ PREDECREMENT_EXPR.
+ (write_template_arg): Fix mangling of class-scope functions and
+ argument packs.
+ (mangle_decl): Update suggested -fabi-version argument.
+ * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
+ DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
+ * tree.c (dependent_name): No longer static.
+ * cp-tree.h: Declare it.
+ * pt.c (unify): Defer handling of unconverted functions.
+
+ * mangle.c (mangle_decl): Don't generate mangling aliases
+ for maybe-in-charge [cd]tors.
+
+ * error.c (dump_expr): Print type of CONSTRUCTOR.
+
+2012-01-05 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51541
+ * parser.c (cp_parser_alias_declaration): Get out early upon
+ errors in the identifier or the attributes.
+
+2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51064
+ * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
+ the tree returned by build_x_binary_op.
+
+2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51738
+ * parser.c (cp_parser_postfix_open_square_expression): Handle
+ postfix-expression [ braced-init-list ].
+
+2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/29273
+ * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
+ call decay_conversion on v.
+
+2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/15867
+ * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
+ declaration followed by specialization.
+
+2012-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/51669
+ * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
+ on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
+
+2012-01-02 Jason Merrill <jason@redhat.com>
+
+ DR 1359
+ PR c++/51675
+ * method.c (walk_field_subobs): Don't check for uninitialized
+ fields in a union.
+ (synthesized_method_walk): Check here.
+
+ DR 325
+ PR c++/51666
+ * parser.c (cp_parser_cache_defarg): Split out...
+ (cp_parser_parameter_declaration): ...from here.
+ (cp_parser_save_nsdmi): Use it.
+ (cp_parser_cache_group): Remove CPP_COMMA support.
+
+2012-01-02 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51462
+ * semantics.c (cx_check_missing_mem_inits): Don't assert in case
+ of error.
+
+2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/20140
+ * typeck2.c (digest_init_r): Use copy_init when initializing
+ an array of chars.
+
+2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/16603
+ * decl.c (build_enumerator): Don't call perform_integral_promotions
+ on the value.
+
+2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51379
+ * typeck.c (build_reinterpret_cast_1): Implement resolution of
+ DR 799.
+
+2012-01-01 Fabien Chêne <fabien@gcc.gnu.org>
+
+ * parser.c (cp_parser_using_declaration): Add a warning about
+ deprecated access declarations when no errors were encountered
+ while parsing the access declaration. Save the first token in
+ order to emit the warning at the right place.
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/cp/NEWS b/gcc/cp/NEWS
index ed316d5a89b..3a450b0259e 100644
--- a/gcc/cp/NEWS
+++ b/gcc/cp/NEWS
@@ -402,7 +402,7 @@
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-2005 Free Software Foundation, Inc.
+2005, 2011 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index bf5b53f5ab1..73b1fa8bf1a 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -9260,6 +9260,28 @@ extend_ref_init_temps (tree decl, tree init, vec<tree, va_gc> **cleanups)
return init;
}
+/* Returns true iff an initializer for TYPE could contain temporaries that
+ need to be extended because they are bound to references or
+ std::initializer_list. */
+
+bool
+type_has_extended_temps (tree type)
+{
+ type = strip_array_types (type);
+ if (TREE_CODE (type) == REFERENCE_TYPE)
+ return true;
+ if (CLASS_TYPE_P (type))
+ {
+ if (is_std_init_list (type))
+ return true;
+ for (tree f = next_initializable_field (TYPE_FIELDS (type));
+ f; f = next_initializable_field (DECL_CHAIN (f)))
+ if (type_has_extended_temps (TREE_TYPE (f)))
+ return true;
+ }
+ return false;
+}
+
/* Returns true iff TYPE is some variant of std::initializer_list. */
bool
diff --git a/gcc/cp/config-lang.in b/gcc/cp/config-lang.in
index 3ed3d8e880f..6585ddc9720 100644
--- a/gcc/cp/config-lang.in
+++ b/gcc/cp/config-lang.in
@@ -1,5 +1,5 @@
# Top level configure fragment for GNU C++.
-# Copyright (C) 1994, 1995, 1997, 1998, 2000, 2001, 2002, 2007, 2010
+# Copyright (C) 1994, 1995, 1997, 1998, 2000, 2001, 2002, 2007, 2010, 2011
# Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/cp/cp-lang.c b/gcc/cp/cp-lang.c
index c94f17009e1..7e0917d0387 100644
--- a/gcc/cp/cp-lang.c
+++ b/gcc/cp/cp-lang.c
@@ -1,5 +1,5 @@
/* Language-dependent hooks for C++.
- Copyright 2001, 2002, 2004, 2007, 2008, 2009, 2010
+ Copyright 2001, 2002, 2004, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Alexandre Oliva <aoliva@redhat.com>
diff --git a/gcc/cp/cp-objcp-common.h b/gcc/cp/cp-objcp-common.h
index a378f2e8f92..f0d2fa19126 100644
--- a/gcc/cp/cp-objcp-common.h
+++ b/gcc/cp/cp-objcp-common.h
@@ -1,5 +1,5 @@
/* Language hooks common to C++ and ObjC++ front ends.
- Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010
+ Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Ziemowit Laski <zlaski@apple.com>
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 3a8000fe8e0..645a5e2f85c 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -4998,6 +4998,7 @@ extern tree initialize_reference (tree, tree, int,
tsubst_flags_t);
extern tree extend_ref_init_temps (tree, tree, vec<tree, va_gc>**);
extern tree make_temporary_var_for_ref_to_temp (tree, tree);
+extern bool type_has_extended_temps (tree);
extern tree strip_top_quals (tree);
extern bool reference_related_p (tree, tree);
extern tree perform_implicit_conversion (tree, tree, tsubst_flags_t);
diff --git a/gcc/cp/cxx-pretty-print.h b/gcc/cp/cxx-pretty-print.h
index bb9fec1c1bd..33d6ae4dd77 100644
--- a/gcc/cp/cxx-pretty-print.h
+++ b/gcc/cp/cxx-pretty-print.h
@@ -1,5 +1,5 @@
/* Interface for the GNU C++ pretty-printer.
- Copyright (C) 2003, 2004, 2005, 2007, 2009, 2010
+ Copyright (C) 2003, 2004, 2005, 2007, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index f6f6b69a622..0d571c0f687 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -5671,7 +5671,9 @@ check_initializer (tree decl, tree init, int flags, vec<tree, va_gc> **cleanups)
if ((type_build_ctor_call (type) || CLASS_TYPE_P (type))
&& !(flags & LOOKUP_ALREADY_DIGESTED)
&& !(init && BRACE_ENCLOSED_INITIALIZER_P (init)
- && CP_AGGREGATE_TYPE_P (type)))
+ && CP_AGGREGATE_TYPE_P (type)
+ && (CLASS_TYPE_P (type)
+ || type_has_extended_temps (type))))
{
init_code = build_aggr_init_full_exprs (decl, init, flags);
@@ -8527,6 +8529,23 @@ check_var_type (tree identifier, tree type)
return type;
}
+/* Functions for adjusting the visibility of a tagged type and its nested
+ types when it gets a name for linkage purposes from a typedef. */
+
+static void bt_reset_linkage (binding_entry, void *);
+static void
+reset_type_linkage (tree type)
+{
+ set_linkage_according_to_type (type, TYPE_MAIN_DECL (type));
+ if (CLASS_TYPE_P (type))
+ binding_table_foreach (CLASSTYPE_NESTED_UTDS (type), bt_reset_linkage, NULL);
+}
+static void
+bt_reset_linkage (binding_entry b, void */*data*/)
+{
+ reset_type_linkage (b->type);
+}
+
/* Given declspecs and a declarator (abstract or otherwise), determine
the name and type of the object declared and construct a DECL node
for it.
@@ -10067,8 +10086,7 @@ grokdeclarator (const cp_declarator *declarator,
= TYPE_IDENTIFIER (type);
/* Adjust linkage now that we aren't anonymous anymore. */
- set_linkage_according_to_type (type, TYPE_MAIN_DECL (type));
- determine_visibility (TYPE_MAIN_DECL (type));
+ reset_type_linkage (type);
/* FIXME remangle member functions; member functions of a
type with external linkage have external linkage. */
diff --git a/gcc/cp/decl.h b/gcc/cp/decl.h
index 193df27c2f8..933d6425505 100644
--- a/gcc/cp/decl.h
+++ b/gcc/cp/decl.h
@@ -1,5 +1,5 @@
/* Variables and structures for declaration processing.
- Copyright (C) 1993, 2000, 2002, 2004, 2005, 2007, 2008
+ Copyright (C) 1993, 2000, 2002, 2004, 2005, 2007, 2008, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cp/dump.c b/gcc/cp/dump.c
index 1cab131a852..a1deb9e3e26 100644
--- a/gcc/cp/dump.c
+++ b/gcc/cp/dump.c
@@ -1,6 +1,6 @@
/* Tree-dumping functionality for intermediate representation.
- Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2010,
+ 2011, 2012 Free Software Foundation, Inc.
Written by Mark Mitchell <mark@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/cp/friend.c b/gcc/cp/friend.c
index d4548ff7ad6..038713d7267 100644
--- a/gcc/cp/friend.c
+++ b/gcc/cp/friend.c
@@ -1,6 +1,6 @@
/* Help friends in C++.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
+ 2007, 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 869b89245f9..406cec6af7a 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -3639,7 +3639,9 @@ build_vec_init (tree base, tree maxindex, tree init,
if (TREE_CODE (type) == ARRAY_TYPE)
m = cp_build_binary_op (input_location,
MULT_EXPR, m,
- array_type_nelts_total (type),
+ /* Avoid mixing signed and unsigned. */
+ convert (TREE_TYPE (m),
+ array_type_nelts_total (type)),
complain);
finish_cleanup_try_block (try_block);
diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c
index 7c21fe16301..84c724735ff 100644
--- a/gcc/cp/name-lookup.c
+++ b/gcc/cp/name-lookup.c
@@ -251,9 +251,13 @@ binding_table_find (binding_table table, tree name)
void
binding_table_foreach (binding_table table, bt_foreach_proc proc, void *data)
{
- const size_t chain_count = table->chain_count;
+ size_t chain_count;
size_t i;
+ if (!table)
+ return;
+
+ chain_count = table->chain_count;
for (i = 0; i < chain_count; ++i)
{
binding_entry entry = table->chain[i];
diff --git a/gcc/cp/name-lookup.h b/gcc/cp/name-lookup.h
index 518959711b2..033b4a57d56 100644
--- a/gcc/cp/name-lookup.h
+++ b/gcc/cp/name-lookup.h
@@ -1,5 +1,5 @@
/* Declarations for C++ name lookup routines.
- Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010
+ Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
diff --git a/gcc/cp/operators.def b/gcc/cp/operators.def
index 3dc74049952..098c3b7307b 100644
--- a/gcc/cp/operators.def
+++ b/gcc/cp/operators.def
@@ -5,7 +5,7 @@
non-overloadable operators (like the `?:' ternary operator).
Written by Mark Mitchell <mark@codesourcery.com>
- Copyright (C) 2000, 2001, 2002, 2003, 2005, 2007, 2008, 2009
+ Copyright (C) 2000, 2001, 2002, 2003, 2005, 2007, 2008, 2009, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c
index ec937524a53..4734b8f0305 100644
--- a/gcc/cp/optimize.c
+++ b/gcc/cp/optimize.c
@@ -1,6 +1,6 @@
/* Perform optimizations on tree structure.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2007, 2008, 2009,
- 2010 Free Software Foundation, Inc.
+ 2010, 2011, 2012 Free Software Foundation, Inc.
Written by Mark Michell (mark@codesourcery.com).
This file is part of GCC.
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index ec7fbc8ec57..4c8c4702851 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -1,6 +1,6 @@
/* C++ Parser.
Copyright (C) 2000, 2001, 2002, 2003, 2004,
- 2005, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ 2005, 2007-2013 Free Software Foundation, Inc.
Written by Mark Mitchell <mark@codesourcery.com>.
This file is part of GCC.
@@ -12940,11 +12940,9 @@ cp_parser_template_id (cp_parser *parser,
return error_mark_node;
}
/* Otherwise, emit an error about the invalid digraph, but continue
- parsing because we got our argument list. In C++11 do not emit
- any error, per 2.5/3. */
- if (cxx_dialect < cxx0x
- && permerror (next_token->location,
- "%<<::%> cannot begin a template-argument list"))
+ parsing because we got our argument list. */
+ if (permerror (next_token->location,
+ "%<<::%> cannot begin a template-argument list"))
{
static bool hint = false;
inform (next_token->location,
diff --git a/gcc/cp/parser.h b/gcc/cp/parser.h
index 63b3a441960..92b9f0672e6 100644
--- a/gcc/cp/parser.h
+++ b/gcc/cp/parser.h
@@ -1,5 +1,5 @@
/* Data structures and function exported by the C++ Parser.
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 33e74049850..3c690e029fa 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -14438,11 +14438,9 @@ tsubst_copy_and_build (tree t,
case TARGET_EXPR:
/* We can get here for a constant initializer of non-dependent type.
FIXME stop folding in cp_parser_initializer_clause. */
- gcc_assert (TREE_CONSTANT (t));
{
tree r = get_target_expr_sfinae (RECUR (TARGET_EXPR_INITIAL (t)),
complain);
- TREE_CONSTANT (r) = true;
RETURN (r);
}
diff --git a/gcc/cp/repo.c b/gcc/cp/repo.c
index 06e26937fbd..1243b0c7cc0 100644
--- a/gcc/cp/repo.c
+++ b/gcc/cp/repo.c
@@ -1,6 +1,6 @@
/* Code to maintain a C++ template repository.
Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Jason Merrill (jason@cygnus.com)
This file is part of GCC.
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index fc516935f4d..026243d3c98 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -5484,7 +5484,8 @@ trait_expr_value (cp_trait_kind kind, tree type1, tree type2)
return (trait_expr_value (CPTK_HAS_TRIVIAL_CONSTRUCTOR, type1, type2)
|| (CLASS_TYPE_P (type1)
&& (t = locate_ctor (type1))
- && TYPE_NOTHROW_P (TREE_TYPE (t))));
+ && (maybe_instantiate_noexcept (t),
+ TYPE_NOTHROW_P (TREE_TYPE (t)))));
case CPTK_HAS_TRIVIAL_CONSTRUCTOR:
type1 = strip_array_types (type1);
@@ -5878,15 +5879,19 @@ build_data_member_initialization (tree t, vec<constructor_elt, va_gc> **vec)
member = TREE_OPERAND (t, 0);
init = unshare_expr (TREE_OPERAND (t, 1));
}
- else
+ else if (TREE_CODE (t) == CALL_EXPR)
{
- gcc_assert (TREE_CODE (t) == CALL_EXPR);
member = CALL_EXPR_ARG (t, 0);
/* We don't use build_cplus_new here because it complains about
abstract bases. Leaving the call unwrapped means that it has the
wrong type, but cxx_eval_constant_expression doesn't care. */
init = unshare_expr (t);
}
+ else if (TREE_CODE (t) == DECL_EXPR)
+ /* Declaring a temporary, don't add it to the CONSTRUCTOR. */
+ return true;
+ else
+ gcc_unreachable ();
if (TREE_CODE (member) == INDIRECT_REF)
member = TREE_OPERAND (member, 0);
if (TREE_CODE (member) == NOP_EXPR)
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index 30d4df7f32f..4589ed9abe1 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -2405,7 +2405,7 @@ decl_anon_ns_mem_p (const_tree decl)
/* Classes and namespaces inside anonymous namespaces have
TREE_PUBLIC == 0, so we can shortcut the search. */
else if (TYPE_P (decl))
- return (TREE_PUBLIC (TYPE_NAME (decl)) == 0);
+ return (TREE_PUBLIC (TYPE_MAIN_DECL (decl)) == 0);
else if (TREE_CODE (decl) == NAMESPACE_DECL)
return (TREE_PUBLIC (decl) == 0);
else
diff --git a/gcc/cppbuiltin.h b/gcc/cppbuiltin.h
index 8e0e5883625..18e290a4895 100644
--- a/gcc/cppbuiltin.h
+++ b/gcc/cppbuiltin.h
@@ -1,5 +1,5 @@
/* Define builtin-in macros for all front ends that perform preprocessing
- Copyright (C) 2010
+ Copyright (C) 2010, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/data-streamer-in.c b/gcc/data-streamer-in.c
index bcd6c08a691..eca57cd61f6 100644
--- a/gcc/data-streamer-in.c
+++ b/gcc/data-streamer-in.c
@@ -1,7 +1,7 @@
/* Routines for restoring various data types from a file stream. This deals
with various data types like strings, integers, enums, etc.
- Copyright 2011 Free Software Foundation, Inc.
+ Copyright 2011, 2012 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/data-streamer-out.c b/gcc/data-streamer-out.c
index aae4d471fb6..a70b723d2f4 100644
--- a/gcc/data-streamer-out.c
+++ b/gcc/data-streamer-out.c
@@ -1,7 +1,7 @@
/* Routines for saving various data types to a file stream. This deals
with various data types like strings, integers, enums, etc.
- Copyright 2011 Free Software Foundation, Inc.
+ Copyright 2011, 2012 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/data-streamer.h b/gcc/data-streamer.h
index 2a592927253..60c5ea386b8 100644
--- a/gcc/data-streamer.h
+++ b/gcc/data-streamer.h
@@ -1,6 +1,6 @@
/* Generic streaming support for various data types.
- Copyright 2011 Free Software Foundation, Inc.
+ Copyright 2011, 2012 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/dbgcnt.c b/gcc/dbgcnt.c
index f29a9e738fe..caa83f0fc00 100644
--- a/gcc/dbgcnt.c
+++ b/gcc/dbgcnt.c
@@ -1,5 +1,6 @@
/* Debug counter for debugging support
- Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2008, 2009, 2010, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/dbgcnt.def b/gcc/dbgcnt.def
index 8f67cc3f3b8..ab6efb19483 100644
--- a/gcc/dbgcnt.def
+++ b/gcc/dbgcnt.def
@@ -1,5 +1,5 @@
/* This file contains the list of the debug counter for GCC.
- Copyright (C) 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2008, 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/dbxout.h b/gcc/dbxout.h
index 84c78362ff1..d1d5d037585 100644
--- a/gcc/dbxout.h
+++ b/gcc/dbxout.h
@@ -1,5 +1,5 @@
/* dbxout.h - Various declarations for functions found in dbxout.c
- Copyright (C) 1998, 1999, 2000, 2003, 2004, 2007
+ Copyright (C) 1998, 1999, 2000, 2003, 2004, 2007, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ddg.h b/gcc/ddg.h
index 8452a366253..56262d16b1a 100644
--- a/gcc/ddg.h
+++ b/gcc/ddg.h
@@ -1,5 +1,5 @@
/* DDG - Data Dependence Graph - interface.
- Copyright (C) 2004, 2005, 2006, 2007, 2008
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011
Free Software Foundation, Inc.
Contributed by Ayal Zaks and Mustafa Hagog <zaks,mustafa@il.ibm.com>
diff --git a/gcc/diagnostic.h b/gcc/diagnostic.h
index e1d2146b257..c644c22fbc6 100644
--- a/gcc/diagnostic.h
+++ b/gcc/diagnostic.h
@@ -1,6 +1,6 @@
/* Various declarations for language-independent diagnostics subroutines.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
- 2010, Free Software Foundation, Inc.
+ 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/doc/arm-neon-intrinsics.texi b/gcc/doc/arm-neon-intrinsics.texi
index 4b0289ad828..5e1115250b7 100644
--- a/gcc/doc/arm-neon-intrinsics.texi
+++ b/gcc/doc/arm-neon-intrinsics.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2006 Free Software Foundation, Inc.
+@c Copyright (C) 2006, 2012 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/contrib.texi b/gcc/doc/contrib.texi
index e4d656d4948..ff22f7fb68c 100644
--- a/gcc/doc/contrib.texi
+++ b/gcc/doc/contrib.texi
@@ -1,5 +1,5 @@
@c Copyright (C) 1988,1989,1992,1993,1994,1995,1996,1997,1998,1999,2000,
-@c 2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011
+@c 2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@@ -623,7 +623,8 @@ entire libstdc++ testsuite namespace-compatible.
@item
Mark Mitchell for his direction via the steering committee, mountains of
C++ work, load/store hoisting out of loops, alias analysis improvements,
-ISO C @code{restrict} support, and serving as release manager for GCC 3.x.
+ISO C @code{restrict} support, and serving as release manager from 2000
+to 2011.
@item
Alan Modra for various GNU/Linux bits and testing.
diff --git a/gcc/doc/cppinternals.texi b/gcc/doc/cppinternals.texi
index a22ef0d4204..95d8c100bd4 100644
--- a/gcc/doc/cppinternals.texi
+++ b/gcc/doc/cppinternals.texi
@@ -18,7 +18,7 @@
@ifinfo
This file documents the internals of the GNU C Preprocessor.
-Copyright 2000, 2001, 2002, 2004, 2005, 2006, 2007 Free Software
+Copyright 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2011 Free Software
Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
diff --git a/gcc/doc/cppopts.texi b/gcc/doc/cppopts.texi
index 37e0b7b57ff..a8d8a39ba7c 100644
--- a/gcc/doc/cppopts.texi
+++ b/gcc/doc/cppopts.texi
@@ -1,5 +1,5 @@
@c Copyright (c) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-@c 2010, 2012, Free Software Foundation, Inc.
+@c 2010, 2011, 2012, Free Software Foundation, Inc.
@c This is part of the CPP and GCC manuals.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/gcov.texi b/gcc/doc/gcov.texi
index 0b861f147bd..1952cfad1a2 100644
--- a/gcc/doc/gcov.texi
+++ b/gcc/doc/gcov.texi
@@ -1,5 +1,5 @@
@c Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-@c 2008, 2010 Free Software Foundation, Inc.
+@c 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/generic.texi b/gcc/doc/generic.texi
index f89d1fa89f6..f3c0958120f 100644
--- a/gcc/doc/generic.texi
+++ b/gcc/doc/generic.texi
@@ -1,4 +1,4 @@
-@c Copyright (c) 2004, 2005, 2007, 2008, 2010, 2012 Free Software Foundation, Inc.
+@c Copyright (c) 2004, 2005, 2007, 2008, 2010, 2011, 2012
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/gimple.texi b/gcc/doc/gimple.texi
index f4a65478d13..419f1ec7f57 100644
--- a/gcc/doc/gimple.texi
+++ b/gcc/doc/gimple.texi
@@ -1,4 +1,4 @@
-@c Copyright (c) 2008, 2009, 2010 Free Software Foundation, Inc.
+@c Copyright (c) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/gty.texi b/gcc/doc/gty.texi
index ea1a928c4ab..f8502c1f3a4 100644
--- a/gcc/doc/gty.texi
+++ b/gcc/doc/gty.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2002, 2003, 2004, 2007, 2008, 2009, 2010
+@c Copyright (C) 2002, 2003, 2004, 2007, 2008, 2009, 2010, 2011, 2012
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/libgcc.texi b/gcc/doc/libgcc.texi
index 9a22223bc90..633c8fffe55 100644
--- a/gcc/doc/libgcc.texi
+++ b/gcc/doc/libgcc.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010
+@c Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010, 2011, 2012
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/loop.texi b/gcc/doc/loop.texi
index 980c1f79042..71c78d90c68 100644
--- a/gcc/doc/loop.texi
+++ b/gcc/doc/loop.texi
@@ -1,4 +1,4 @@
-@c Copyright (c) 2006, 2007, 2008 Free Software Foundation, Inc.
+@c Copyright (c) 2006, 2007, 2008, 2011 Free Software Foundation, Inc.
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/lto.texi b/gcc/doc/lto.texi
index d035a5160c6..30c013a0ada 100644
--- a/gcc/doc/lto.texi
+++ b/gcc/doc/lto.texi
@@ -1,5 +1,4 @@
-@c Copyright (c) 2010 Free Software Foundation, Inc.
-@c Free Software Foundation, Inc.
+@c Copyright (c) 2010, 2011, 2012 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@c Contributed by Jan Hubicka <jh@suse.cz> and
diff --git a/gcc/doc/options.texi b/gcc/doc/options.texi
index f6a31f8d4c7..f6bbbdecf9b 100644
--- a/gcc/doc/options.texi
+++ b/gcc/doc/options.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+@c Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/plugins.texi b/gcc/doc/plugins.texi
index f072a5f1785..4cc43202335 100644
--- a/gcc/doc/plugins.texi
+++ b/gcc/doc/plugins.texi
@@ -1,4 +1,4 @@
-@c Copyright (c) 2009, 2010 Free Software Foundation, Inc.
+@c Copyright (c) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/rtl.texi b/gcc/doc/rtl.texi
index 07c480d6a7c..a71552af9da 100644
--- a/gcc/doc/rtl.texi
+++ b/gcc/doc/rtl.texi
@@ -1,5 +1,5 @@
@c Copyright (C) 1988, 1989, 1992, 1994, 1997, 1998, 1999, 2000, 2001, 2002,
-@c 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011
+@c 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/standards.texi b/gcc/doc/standards.texi
index 686442f91e3..04a12861516 100644
--- a/gcc/doc/standards.texi
+++ b/gcc/doc/standards.texi
@@ -1,4 +1,4 @@
-@c Copyright (C) 2000, 2001, 2002, 2004, 2006, 2007, 2008, 2010
+@c Copyright (C) 2000, 2001, 2002, 2004, 2006, 2007, 2008, 2010, 2011, 2012
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/doc/tree-ssa.texi b/gcc/doc/tree-ssa.texi
index bf8652026df..901d4e74f6a 100644
--- a/gcc/doc/tree-ssa.texi
+++ b/gcc/doc/tree-ssa.texi
@@ -1,4 +1,4 @@
-@c Copyright (c) 2004, 2005, 2007, 2008, 2010
+@c Copyright (c) 2004, 2005, 2007, 2008, 2010, 2011, 2012
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
diff --git a/gcc/dominance.c b/gcc/dominance.c
index 0f1e265ff1c..df1ecf11294 100644
--- a/gcc/dominance.c
+++ b/gcc/dominance.c
@@ -1,5 +1,5 @@
/* Calculate (post)dominators in slightly super-linear time.
- Copyright (C) 2000, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2000, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012
Free Software Foundation, Inc.
Contributed by Michael Matz (matz@ifh.de).
diff --git a/gcc/domwalk.c b/gcc/domwalk.c
index c81d58da32f..a51e63202bc 100644
--- a/gcc/domwalk.c
+++ b/gcc/domwalk.c
@@ -1,6 +1,6 @@
/* Generic dominator tree walker
- Copyright (C) 2003, 2004, 2005, 2007, 2008, 2010 Free Software Foundation,
- Inc.
+ Copyright (C) 2003, 2004, 2005, 2007, 2008, 2010, 2012
+ Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@redhat.com>
This file is part of GCC.
diff --git a/gcc/domwalk.h b/gcc/domwalk.h
index e0c11f65d72..b034a85fe41 100644
--- a/gcc/domwalk.h
+++ b/gcc/domwalk.h
@@ -1,5 +1,6 @@
/* Generic dominator tree walker
- Copyright (C) 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2005, 2007, 2008, 2012
+ Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@redhat.com>
This file is part of GCC.
diff --git a/gcc/dwarf2asm.c b/gcc/dwarf2asm.c
index ca3d7ffb694..e10e58580fd 100644
--- a/gcc/dwarf2asm.c
+++ b/gcc/dwarf2asm.c
@@ -1,6 +1,6 @@
/* Dwarf2 assembler output helper routines.
- Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
- Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/dwarf2out.h b/gcc/dwarf2out.h
index 874440f7e28..e997e493396 100644
--- a/gcc/dwarf2out.h
+++ b/gcc/dwarf2out.h
@@ -1,5 +1,5 @@
/* dwarf2out.h - Various declarations for functions found in dwarf2out.c
- Copyright (C) 1998, 1999, 2000, 2003, 2007, 2010, 2011
+ Copyright (C) 1998, 1999, 2000, 2003, 2007, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/emit-rtl.h b/gcc/emit-rtl.h
index cd0cbd0049b..5650fc99fe4 100644
--- a/gcc/emit-rtl.h
+++ b/gcc/emit-rtl.h
@@ -1,5 +1,6 @@
/* Exported functions from emit-rtl.c
- Copyright (C) 2004, 2007, 2008, 2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2007, 2008, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/et-forest.c b/gcc/et-forest.c
index fe72374fbf3..0bcf82efeaf 100644
--- a/gcc/et-forest.c
+++ b/gcc/et-forest.c
@@ -1,7 +1,7 @@
/* ET-trees data structure implementation.
Contributed by Pavel Nejedly
- Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2010 Free Software
- Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2010, 2012
+ Free Software Foundation, Inc.
This file is part of the libiberty library.
Libiberty is free software; you can redistribute it and/or
diff --git a/gcc/except.h b/gcc/except.h
index 473bbfceda8..879005fdb13 100644
--- a/gcc/except.h
+++ b/gcc/except.h
@@ -1,6 +1,6 @@
/* Exception Handling interface routines.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Mike Stump <mrs@cygnus.com>.
This file is part of GCC.
diff --git a/gcc/explow.c b/gcc/explow.c
index 61098324aae..8df01bb5380 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -1,6 +1,6 @@
/* Subroutines for manipulating rtx's in semantically interesting ways.
Copyright (C) 1987, 1991, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/file-find.c b/gcc/file-find.c
index fcc25612008..d4f90c8b017 100644
--- a/gcc/file-find.c
+++ b/gcc/file-find.c
@@ -1,6 +1,7 @@
/* Utility functions for finding files relative to GCC binaries.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/file-find.h b/gcc/file-find.h
index 4c0182a5eda..b188e12dde2 100644
--- a/gcc/file-find.h
+++ b/gcc/file-find.h
@@ -2,6 +2,7 @@
finding files relative to GCC binaries.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fixed-value.c b/gcc/fixed-value.c
index b74a60e29f2..91ce00a4176 100644
--- a/gcc/fixed-value.c
+++ b/gcc/fixed-value.c
@@ -1,5 +1,6 @@
/* Fixed-point arithmetic support.
- Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2008, 2009, 2010, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/flag-types.h b/gcc/flag-types.h
index f5693506f15..7af583a8b24 100644
--- a/gcc/flag-types.h
+++ b/gcc/flag-types.h
@@ -1,6 +1,6 @@
/* Compilation switch flag type definitions for GCC.
Copyright (C) 1987, 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/flags.h b/gcc/flags.h
index 010e8ff9337..370b6d02719 100644
--- a/gcc/flags.h
+++ b/gcc/flags.h
@@ -1,6 +1,6 @@
/* Compilation switch flag definitions for GCC.
Copyright (C) 1987, 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 0a8b90a5d09..7e619d6d1e5 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -1,7 +1,7 @@
/* Fold a constant sub-tree into a single node for C-compiler
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
- 2012 Free Software Foundation, Inc.
+ 2012, 2013 Free Software Foundation, Inc.
This file is part of GCC.
@@ -821,6 +821,13 @@ split_tree (tree in, enum tree_code code, tree *conp, tree *litp,
if (neg_var_p)
var = negate_expr (var);
}
+ else if (TREE_CODE (in) == BIT_NOT_EXPR
+ && code == PLUS_EXPR)
+ {
+ /* -X - 1 is folded to ~X, undo that here. */
+ *minus_litp = build_one_cst (TREE_TYPE (in));
+ var = negate_expr (TREE_OPERAND (in, 0));
+ }
else if (TREE_CONSTANT (in))
*conp = in;
else
@@ -13519,7 +13526,9 @@ fold_binary_loc (location_t loc,
"when simplifying comparison of "
"absolute value and zero"),
WARN_STRICT_OVERFLOW_CONDITIONAL);
- return omit_one_operand_loc (loc, type, integer_one_node, arg0);
+ return omit_one_operand_loc (loc, type,
+ constant_boolean_node (true, type),
+ arg0);
}
/* Convert ABS_EXPR<x> < 0 to false. */
@@ -13533,7 +13542,9 @@ fold_binary_loc (location_t loc,
"when simplifying comparison of "
"absolute value and zero"),
WARN_STRICT_OVERFLOW_CONDITIONAL);
- return omit_one_operand_loc (loc, type, integer_zero_node, arg0);
+ return omit_one_operand_loc (loc, type,
+ constant_boolean_node (false, type),
+ arg0);
}
/* If X is unsigned, convert X < (1 << Y) into X >> Y == 0
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 5045220f038..8c2cb3cc4b1 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,2797 +1,102 @@
-2012-12-28 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/55692
- * check.c (gfc_check_associated): Remove a "gcc_assert (0)".
-
-2012-12-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/55763
- * check.c (gfc_check_move_alloc): Handle unlimited polymorphic.
- * trans-intrinsic.c (conv_intrinsic_move_alloc): Ditto.
+2013-01-06 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/PR53876
+ PR fortran/PR54990
+ PR fortran/PR54992
+ * trans-array.c (build_array_ref): Check the TYPE_CANONICAL
+ to see if it is GFC_CLASS_TYPE_P.
+ * trans-expr.c (gfc_get_vptr_from_expr): The same.
+ (gfc_conv_class_to_class): If the types are not the same,
+ cast parmese->expr to the type of ctree.
+ * trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of
+ CLASS components must be set.
+
+2013-01-06 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/42769
+ PR fortran/45836
+ PR fortran/45900
+ * module.c (read_module): Don't reuse local symtree if the associated
+ symbol isn't exactly the one wanted. Don't reuse local symtree if it is
+ ambiguous.
+ * resolve.c (resolve_call): Use symtree's name instead of symbol's to
+ lookup the symtree.
+
+2013-01-05 Steven G. Kargl <kargl@gcc.gnu.org>
+ Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/55827
+ * class.c (gfc_fix_class_refs): Adapt ts initialization for the case
+ e->symtree == NULL.
+ * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it.
+
+2013-01-05 Tobias Burnus <burnus@net-b.de>
+
+ * class.c (finalize_component): Used passed offset expr.
+ (finalization_get_offset): New static function.
+ (finalizer_insert_packed_call, generate_finalization_wrapper): Use it
+ to handle noncontiguous arrays.
+
+2013-01-04 Tobias Burnus <burnus@net-b.de>
+
+ * trans.c (gfc_build_final_call): New function.
+ * trans.h (gfc_build_final_call, gfc_conv_scalar_to_descriptor):
+ New function prototypes.
+ * trans-expr.c (gfc_conv_scalar_to_descriptor): Renamed from
+ conv_scalar_to_descriptor, removed static attribute.
+ (gfc_conv_procedure_call): Honor renaming.
+
+2013-01-04 Tobias Burnus <burnus@net-b.de>
+
+ * intrinsic.c (add_functions): New internal intrinsic
+ function GFC_PREFIX ("stride").
+ * gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE.
+ * intrinsic.h (gfc_resolve_stride): New prototypes.
+ * iresolve.c (gfc_resolve_stride): New function.
+ * trans-intrinsic.c (conv_intrinsic_stride): New static
+ function.
+ (gfc_conv_intrinsic_function): Use it.
-2012-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+2013-01-04 Tobias Burnus <burnus@net-b.de>
- PR fortran/48976
- * gfortran.h (gfc_inquire struct): Add pointer for inquire stream.
- * io.c (io_tag): Add tag for inquire stream. (match_inquire_element):
- Add matcher for new tag. (gfc_resolve_inquire): Resolve new tag.
- * ioparm.def: Add new parameter for inquire stream.
- * trans-io.c (gfc_trans_inquire): Add tranlste code for inquire
- stream.
+ * class.c (gfc_find_intrinsic_vtab): Add _final
+ component.
+ * decl.c (gfc_match_null): Remove superfluous
+ variadic argument to gfc_match.
-2012-12-23 Tobias Burnus <burnus@net-b.de>
+2013-01-04 Paul Thomas <pault@gcc.gnu.org>
- PR fortran/54884
- * module.c (write_symbol1_recursion): Set attr.public_use.
- * interface.c (check_sym_interfaces, check_uop_interfaces,
- gfc_check_interfaces): Remove attr.public_use code.
- * resolve.c (resolve_function, resolve_variable,
- resolve_typebound_procedure): Ditto.
+ PR fortran/55172
+ * match.c (copy_ts_from_selector_to_associate): Remove call to
+ gfc_resolve_expr and replace it with explicit setting of the
+ array reference type.
+ * resolve.c (resolve_select_type): It is an error if the
+ selector is coindexed.
-2012-12-22 Tobias Burnus <burnus@net-b.de>
+2013-01-04 Tobias Burnus <burnus@net-b.de>
PR fortran/55763
- * module.c (mio_component): Don't skip _hash's initializer.
- * resolve.c (resolve_select_type): Add an assert.
- * trans-expr.c (gfc_conv_procedure_call): Handle
- INTENT(OUT) for UNLIMIT_POLY.
+ * decl.c (gfc_match_null): Parse and reject MOLD.
-2012-12-21 Richard Biener <rguenther@suse.de>
-
- PR bootstrap/54659
- * gfortran.h: Do not include gmp.h here.
-
-2012-12-21 Paul Thomas <pault@gcc.gnu.org>
+2013-01-04 Tobias Burnus <burnus@net-b.de>
+ PR fortran/55854
PR fortran/55763
- * match.c (select_type_set_tmp): Return is a derived type or
- class typespec has no derived type.
- * resolve.c (resolve_fl_var_and_proc): Exclude select type
- temporaries from 'pointer'.
- (resolve_symbol): Exclude select type temporaries from tests
- for assumed size and assumed rank.
-
-2012-12-20 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/36044
- * gfortran.h (gfc_isym_id): Add GFC_ISYM_BACKTRACE.
- * intrinsic.c (add_subroutines): Add "backtrace".
- * intrinsic.texi (BACKTRACE): Document BACKTRACE intrinsic.
-
-2012-12-20 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54818
- * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ensure that
- the string length is of type gfc_charlen_type_node.
-
-2012-12-19 Paul Thomas <pault@gcc.gnu.org>
-
- * array.c (resolve_array_list): Apply C4106.
- * check.c (gfc_check_same_type_as): Exclude polymorphic
- entities from check for extensible types. Improved error
- for disallowed argument types to name the offending type.
- * class.c : Update copyright date.
- (gfc_class_null_initializer): Add argument for initialization
- expression and deal with unlimited polymorphic typespecs.
- (get_unique_type_string): Give unlimited polymorphic
- entities a type string.
- (gfc_intrinsic_hash_value): New function.
- (gfc_build_class_symbol): Incorporate unlimited polymorphic
- entities.
- (gfc_find_derived_vtab): Deal with unlimited polymorphic
- entities.
- (gfc_find_intrinsic_vtab): New function.
- * decl.c (gfc_match_decl_type_spec): Match typespec for
- unlimited polymorphic type.
- (gfc_match_data_decl): Skip to 'ok' if unlimited polymorphic.
- expr.c (gfc_check_pointer_assign): Apply C717. If unlimited
- polymorphic lvalue, find rvalue vtable for all typespecs,
- except unlimited polymorphic expressions.
- (gfc_check_vardef_context): Handle unlimited polymorphic
- entities.
- * gfortran.h : Add unlimited polymorphic attribute. Add
- second arg to gfc_class_null_initializer primitive and
- primitive for gfc_find_intrinsic_vtab. Add UNLIMITED_POLY
- to detect unlimited polymorphic expressions.
- * interface.c (gfc_compare_types): If expr1 is unlimited
- polymorphic, always return 1. If expr2 is unlimited polymorphic
- enforce C717.
- (gfc_compare_interfaces): Skip past conditions that do not
- apply for unlimited polymorphic entities.
- (compare_parameter): Make sure that an unlimited polymorphic,
- allocatable or pointer, formal argument is matched by an
- unlimited polymorphic actual argument.
- (compare_actual_formal): Ensure that an intrinsic vtable exists
- to match an unlimited polymorphic formal argument.
- * match.c (gfc_match_allocate): Type kind parameter does not
- need to match an unlimited polymorphic allocate-object.
- (alloc_opt_list): An unlimited polymorphic allocate-object
- requires a typespec or a SOURCE tag.
- (select_intrinsic_set_tmp): New function.
- (select_type_set_tmp): Call new function. If it returns NULL,
- build a derived type or class temporary instead.
- (gfc_match_type_is): Remove restriction to derived types only.
- Bind(C) or sequence derived types not permitted.
- * misc (gfc_typename): Printed CLASS(*) for unlimited
- polymorphism.
- * module.c : Add AB_UNLIMITED_POLY to pass unlimited
- polymorphic attribute to and from modules.
- * resolve.c (resolve_common_vars): Unlimited polymorphic
- entities cannot appear in common blocks.
- (resolve_deallocate_expr): Deallocate unlimited polymorphic
- enities.
- (resolve_allocate_expr): Likewise for allocation. Make sure
- vtable exists.
- (gfc_type_is_extensible): Unlimited polymorphic entities are
- not extensible.
- (resolve_select_type): Handle unlimited polymorphic selectors.
- Ensure that length type parameters are assumed and that names
- for intrinsic types are generated.
- (resolve_fl_var_and_proc): Exclude select type temporaries
- from test of extensibility of type.
- (resolve_fl_variable): Likewise for test that assumed character
- length must be a dummy or a parameter.
- (resolve_fl_derived0): Return SUCCESS unconditionally for
- unlimited polymorphic entities. Also, allow unlimited
- polymorphic components.
- (resolve_fl_derived): Return SUCCESS unconditionally for
- unlimited polymorphic entities.
- (resolve_symbol): Return early with unlimited polymorphic
- entities.
- * simplifiy.c : Update copyright year.
- (gfc_simplify_extends_type_of): No simplification possible
- for unlimited polymorphic arguments.
- * symbol.c (gfc_use_derived): Nothing to do for unlimited
- polymorphic "derived type".
- (gfc_type_compatible): Return unity if ts1 is unlimited
- polymorphic.
- * trans-decl.c (create_function_arglist) Formal arguments
- without a character length should be treated in the same way
- as passed lengths.
- (gfc_trans_deferred_vars): Nullify the vptr of unlimited
- polymorphic pointers. Avoid unlimited polymorphic entities
- triggering gcc_unreachable.
- * trans-expr.c (gfc_conv_intrinsic_to_class): New function.
- (gfc_trans_class_init_assign): Make indirect reference of
- src.expr.
- (gfc_trans_class_assign): Expression NULL of unknown type
- should set NULL vptr on lhs. Treat C717 cases where lhs is
- a derived type and the rhs is unlimited polymorphic.
- (gfc_conv_procedure_call): Handle the conversion of a non-class
- actual argument to match an unlimited polymorphic formal
- argument. Suppress the passing of a character string length
- in this case. Make sure that calls to the character __copy
- function have two character string length arguments.
- (gfc_conv_initializer): Pass the initialization expression to
- gfc_class_null_initializer.
- (gfc_trans_subcomponent_assign): Ditto.
- (gfc_conv_structure): Move handling of _size component.
- trans-intrinsic.c: (gfc_conv_same_type_as): Handle conditions
- where unlimited polymorphic arguments have null vptr.
- * trans-stmt.c (trans_associate_var): Correctly treat array
- temporaries associated with unlimited polymorphic selectors.
- Recover the overwritten dtype for the descriptor. Use the _size
- field of the vptr for character string lengths.
- (gfc_trans_allocate): Cope with unlimited polymorphic allocate
- objects; especially with character source tags.
- (reset_vptr): New function.
- (gfc_trans_deallocate): Call it.
- * trans-types.c (gfc_get_derived_type): Detect unlimited
- polymorphic types and deal with cases where the derived type of
- components is null.
- * trans.c : Update copyright year.
- (trans_code): Call gfc_trans_class_assign for C717 cases where
- the lhs is not unlimited polymorphic.
-
-2012-12-19 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/55733
- * trans-decl.c (gfc_create_string_length): Avoid setting
- TREE_STATIC for automatic variables with -fno-automatic.
-
-2012-12-19 Tobias Burnus <burnus@net-b.de>
- Jakub Jelinek <jakub@redhat.com>
- Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/55636
- PR fortran/55733
- * gfortran.h (GFC_PREFIX): Define.
- * trans-decl.c (gfc_create_string_length): For VAR_DECLs that
- will be TREE_STATIC, use GFC_PREFIX to mangle the names. Handle
- -fno-automatic
- (gfc_trans_deferred_vars): Don't free variables SAVEd via
- -fno-automatic.
-
-2012-12-16 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/55197
- * module.c (gfc_use_module): Free rename list only for
- internally generated intrinsic modules.
-
-2012-12-16 Tobias Burnus <burnus@net-b.de>
-
- * trans-intrinsic.c (conv_intrinsic_move_alloc): Set dynamic
- type of the FROM variable to the declared type.
-
-2012-12-16 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/55638
- * resolve.c (resolve_formal_arglist): Allow VALUE without
- INTENT for ELEMENTAL procedures.
-
-2012-12-10 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/52909
- * trans-decl.c (get_proc_pointer_decl): Apply name mangling.
-
-2012-12-09 Tobias Burnus <burnus@net-b.de>
-
- * trans-array.c (structure_alloc_comps): Use NULL_TREE in the
- call to gfc_deallocate_scalar_with_status.
- * trans-decl.c (gfc_trans_deferred_vars): Pass symbol.
- * trans-stmt.c (gfc_trans_deallocate): Pass polymorphic variable.
-
-2012-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/55593
- * frontend-passes.c (doloop_code): Use resolved_sym
- instead of n.sym->formal for formal argument list
- to get the correct version for all generic subroutines.
-
-2012-12-05 Tobias Burnus <burnus@net-b.de>
-
- * resolve.c (generate_component_assignments): Fix memleak.
-
-2012-12-03 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/55548
- * intrinsic.texi (SYSTEM_CLOCK): Update documentation of SYSTEM_CLOCK.
-
-2012-12-03 Tobias Burnus <burnus@net-b.de>
- Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/37336
- * class.c (gfc_is_finalizable): New function.
- * gfortran.h (gfc_is_finalizable): Its prototype.
- * module.c (mio_component): Read initializer for vtype's _final.
- * resolve.c (resolve_fl_derived0): Call gfc_is_finalizable.
- * trans-expr.c (gfc_vtable_final_get): New function.
- (conv_parent_component_references): Fix comment.
- (gfc_conv_variable): Fix for scalar coarray components.
- * trans-intrinsic.c (conv_intrinsic_move_alloc): For BT_CLASS,
- pass the BT_CLASS type and not the declared type to
- gfc_deallocate_scalar_with_status.
- * trans.h (gfc_vtable_final_get): New prototype.
-
-2012-12-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/55475
- * scanner.c (gfc_next_char_literal): Fix setting locus
- to free_line_length for the error message.
- * error.c (show_locus): Fix potential out-of-bounds
- read.
-
-2012-12-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/37336
- * class.c (finalizer_insert_packed_call): New static function.
- (finalize_component, generate_finalization_wrapper):
- Fix coarray handling and packing.
-
-2012-12-02 Paul Thomas <pault@gcc.gnu.org>
-
- * resolve.c (resolve_allocate_deallocate,
- resolve_typebound_intrinsic_op): Recover revisions 193568 and
- 193778, which were accidentally reverted by the previous patch.
-
-2012-12-01 Alessandro Fanfarillo <alessandro.fanfarillo@gmail.com>
- Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/46897
- * gfortran.h : Add bit field 'defined_assign_comp' to
- symbol_attribute structure.
- Add primitive for gfc_add_full_array_ref.
- * expr.c (gfc_add_full_array_ref): New function.
- (gfc_lval_expr_from_sym): Call new function.
- * resolve.c (add_comp_ref): New function.
- (build_assignment): New function.
- (get_temp_from_expr): New function
- (add_code_to_chain): New function
- (generate_component_assignments): New function that calls all
- the above new functions.
- (resolve_code): Call generate_component_assignments.
- (check_defined_assignments): New function.
- (resolve_fl_derived0): Call check_defined_assignments.
- (gfc_resolve): Reset component_assignment_level in case it is
- left in a bad state by errors.
-
-
- * resolve.c (is_sym_host_assoc, resolve_procedure_interface,
- resolve_contained_fntype, resolve_procedure_expression,
- resolve_elemental_actual, resolve_global_procedure,
- is_scalar_expr_ptr, gfc_iso_c_func_interface, resolve_function,
- set_name_and_label, gfc_iso_c_sub_interface,
- resolve_specific_s0, resolve_operator, compare_bound_mpz_t,
- gfc_resolve_character_operator, resolve_typebound_function,
- gfc_resolve_expr, forall_index, remove_last_array_ref,
- conformable_arrays, resolve_allocate_expr,
- resolve_allocate_deallocate, resolve_select_type,
- resolve_transfer, resolve_where,
- gfc_resolve_where_code_in_forall, gfc_resolve_forall_body,
- gfc_count_forall_iterators, resolve_values,
- resolve_bind_c_comms, resolve_bind_c_derived_types,
- gfc_verify_binding_labels, apply_default_init,
- build_default_init_expr, apply_default_init_local,
- resolve_fl_var_and_proc, resolve_fl_procedure,
- gfc_resolve_finalizers, check_generic_tbp_ambiguity,
- resolve_typebound_intrinsic_op, resolve_typebound_procedure,
- resolve_typebound_procedures, ensure_not_abstract,
- resolve_fl_derived0, resolve_fl_parameter, resolve_symbol,
- resolve_equivalence_derived): Remove trailing white space.
- * gfortran.h : Remove trailing white space.
-
-2012-11-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52161
- * trans-stmt.c (gfc_trans_sync): Fix bound checking
- for -fcoarray=lib.
-
-2012-11-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52161
- * trans-stmt.c (gfc_trans_sync): Fix bound checking.
-
-2012-11-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/55476
- * expr.c (gfc_check_pointer_assign): Fix check
- pointer-might-outlive-target check for host_assoc.
-
-2012-11-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans-decl.c (gfc_finish_var_decl): Do not set DECL_RESTRICTED_P.
-
-2012-11-26 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54997
- * decl.c (match_procedure_decl): Don't set 'referenced' attribute
- for PROCEDURE declarations.
- * parse.c (gfc_fixup_sibling_symbols,parse_contained): Don't set
- 'referenced' attribute for all contained procedures.
- * trans-decl.c (gfc_get_symbol_decl): Allow for unreferenced procedures.
- (build_function_decl): Set TREE_USED for referenced procedures.
-
-2012-11-26 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54881
- * match.c (select_derived_set_tmp,select_class_set_tmp): Removed and
- unified into ...
- (select_type_set_tmp): ... this one. Set POINTER argument according to
- selector.
- * trans-intrinsic.c (gfc_conv_associated): Use 'gfc_class_data_get'
- instead of 'gfc_add_data_component'.
-
-2012-11-25 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/30146
- * frontend-passes.c (doloop_warn): New function.
- (doloop_list): New static variable.
- (doloop_size): New static variable.
- (doloop_level): New static variable.
- (gfc_run_passes): Call doloop_warn.
- (doloop_code): New function.
- (doloop_function): New function.
- (gfc_code_walker): Keep track of DO level.
-
-2012-11-24 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/55314
- * resolve.c (resolve_allocate_deallocate): Compare all
- subscripts when deciding if to reject a (de)allocate
- statement.
-
-2012-11-21 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/55352
- * trans-decl.c (generate_local_decl): Don't warn for explicitly imported
- but unused module variables which are in a namelist or common block.
-
-2012-11-20 Diego Novillo <dnovillo@google.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * trans-openmp.c: Replace all vec<T, A>() initializers
- with vNULL.
-
-2012-11-17 Diego Novillo <dnovillo@google.com>
-
- Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
-
- * frontend-passes.c: Use new vec API in vec.h.
- * trans-array.c: Likewise.
- * trans-common.c: Likewise.
- * trans-decl.c: Likewise.
- * trans-expr.c: Likewise.
- * trans-intrinsic.c: Likewise.
- * trans-openmp.c: Likewise.
- * trans-stmt.c: Likewise.
- * trans-types.c: Likewise.
- * trans.h: Likewise.
-
-2012-11-17 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/55341
- * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Convert last
- argument to memcpy to size_type_node type.
- * trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.
- * trasn-array.c (duplicate_allocatable): Likewise.
-
-2012-11-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/55297
- * resolve.c (resolve_typebound_intrinsic_op): Only add typebound
- operators to the operator list in the namespace of the derived type.
-
-
-2012-11-12 Jan Hubicka <jh@suse.cz>
-
- * f95-lang.c (ATTR_NOTHROW_LEAF_MALLOC_LIST): New macro.
- (gfc_define_builtin): Use set_call_expr_flags.
- (gfc_init_builtin_functions): Update.
-
-2012-11-12 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/55272
- * module.c (mio_array_spec): Correctly handle coarray
- scalars.
-
-2012-11-07 Tobias Schlüter <tobi@gcc.gnu.org>
-
- PR fortran/51727
- * module.c (sorted_pointer_info): New.
- (gfc_get_sorted_pointer_info): New.
- (free_sorted_pointer_info_tree): New.
- (compare_sorted_pointer_info): New.
- (find_symbols_to_write): New.
- (write_symbol1_recursion): New.
- (write_symbol1): Collect symbols that need writing, output in order.
- (write_generic): Traverse tree in order.
-
-2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/53063
- * options.c (set_Wall): Do not set warn_switch here.
-
-2012-11-06 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54917
- * target-memory.c (gfc_target_expr_size,gfc_target_interpret_expr):
- Handle BT_CLASS.
- * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Add support for
- polymorphic arguments.
-
-2012-11-04 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/55199
- * primary.c (gfc_match_varspec): Clear typespec if it cannot be
- determined at this point.
-
-2012-10-31 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/53718
- * trans.h (GFC_DECL_PUSH_TOPLEVEL): Removed.
- * trans-decl.c (gfc_get_symbol_decl,gfc_generate_function_code): Remove
- GFC_DECL_PUSH_TOPLEVEL.
- (build_function_decl): Do not push __copy procedure to toplevel.
-
-2012-10-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/55134
- * trans-array.c (gfc_conv_array_parameter): Regard AS_DEFERRED as
- array with descriptor.
-
-2012-10-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54958
- * gfortran.h (gfc_resolve_iterator_expr,
- gfc_check_vardef_context): Update prototype.
- * expr.c (gfc_check_vardef_context): Add own_scope
- argument and honour it.
- * resolve.c (gfc_resolve_iterator_expr): Add own_scope
- argument and honour it.
- (resolve_deallocate_expr, resolve_allocate_expr,
- resolve_data_variables, resolve_transfer
- resolve_lock_unlock, resolve_code): Update calls.
- * array.c (resolve_array_list): Ditto.
- * check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto.
- * interface.c (compare_actual_formal): Ditto.
- * intrinsic.c (check_arglist): Ditto.
- * io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire): Ditto.
-
-2012-10-27 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * trans.c (gfc_allocate_allocatable): Revert accidental
- commit.
-
-2012-10-24 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/55037
- * trans-expr.c (gfc_conv_procedure_call): Move a piece of code and
- remove an assert.
-
-2012-10-21 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54725
- * Make-lang.in (CFLAGS-cpp.o): Use TARGET_SYSTEM_ROOT_DEFINE.
- * cpp.o (gfc_cpp_init_options): Use it for
- setting gfc_cpp_option.sysroot.
-
-2012-10-21 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/54465
- * lang.opt (Wextra): Add.
- * invoke.texi: Document that -Wc-binding-type, -Wconversion
- and -Wline-truncation are implied by -Wall. Document that
- -Wcompare-reals is implied by -Wextra. Document -Wextra.
- * options.c (set_Wextra): New function.
- (gfc_handle_option): Handle -Wextra.
-
-2012-10-19 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54224
- * trans-expr.c (conv_function_val): Set TREE_USED.
-
-2012-10-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54884
- * resolve.c (specification_expr): Change to bool.
- (resolve_formal_arglist, resolve_symbol): Set
- specification_expr to true before resolving the array spec.
- (resolve_variable, resolve_charlen, resolve_fl_variable):
- Properly reset specification_expr.
- (resolve_function): Set public_use when used in
- a specification expr.
-
-2012-10-16 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50981
- PR fortran/54618
- * trans.h (gfc_conv_derived_to_class, gfc_conv_class_to_class):
- Update prototype.
- * trans-stmt.c (trans_associate_var,gfc_trans_allocate): Update
- calls to those functions.
- * trans-expr.c (gfc_conv_derived_to_class, gfc_conv_class_to_class,
- gfc_conv_expr_present): Handle absent polymorphic arguments.
- (class_scalar_coarray_to_class): New function.
- (gfc_conv_procedure_call): Update calls.
-
-2012-10-12 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/40453
- * interface.c (check_dummy_characteristics): Recursively check dummy
- procedures.
-
-2012-10-11 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54784
- * trans-stmt.c (gfc_trans_allocate): Correctly determine the reference
- to the _data component for polymorphic allocation with SOURCE.
-
-2012-10-06 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54832
- * resolve.c (resolve_fl_derived0): Correctly copy the 'class_ok'
- attribute for proc-ptr components with RESULT variable.
-
-2012-10-06 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/45521
- * interface.c (generic_correspondence): Implement additional
- distinguishability criteria of F08.
- (compare_actual_formal): Reject data object as actual argument for
- procedure formal argument.
-
-2012-10-04 Tobias Burnus <burnus@net-b.de>
-
- * expr.c (scalarize_intrinsic_call): Plug memory leak.
- * frontend-passes.c (gcc_assert): Extend assert.
- * interface.c (gfc_compare_derived_types): Fix comparison.
- (gfc_check_operator_interface): Move up to make this error
- message reachable.
- (get_sym_storage_size): Remove always-true checks.
- * io.c (format_lex): Add comment.
- (gfc_free_wait): Free memory.
- * match.c (gfc_match_select_type): Ditto.
- * matchexpr.c (match_level_3): Ditto.
- * primary.c (match_string_constant): Ditto.
- (match_actual_arg): Check return value.
- * resolve.c (gfc_resolve_substring_charlen,
- resolve_typebound_generic_call, resolve_typebound_function,
- resolve_typebound_subroutine): Free memory.
- * trans-types.c (gfc_get_derived_type): Remove always-true check.
-
-2012-10-02 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54778
- * interface.c (matching_typebound_op): Check for 'class_ok' attribute.
-
-2012-09-30 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54667
- * intrinsic.texi (C_F_POINTER): Fix description.
- * resolve.c (gfc_iso_c_sub_interface): Add a check for FPTR argument
- of C_F_POINTER. Modify two error messages. Cleanup.
-
-2012-09-24 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54618
- PR fortran/54690
- * trans-expr.c (gfc_conv_procedure_call): Fix INTENT(OUT)
- handling for allocatable BT_CLASS.
-
-2012-09-24 Lawrence Crowl <crowl@google.com>
-
- * trans-expr.c (gfc_conv_cst_int_power): Change to new double_int API.
- * target-memory.c (gfc_interpret_logical): Likewise.
-
-2012-09-23 Tobias Burnus <burnus@net-b.de>
-
- * parse.c (parse_derived): Don't set attr.alloc_comp
- for pointer components with allocatable subcomps.
-
- PR fortran/54599
- * resolve.c (resolve_fl_namelist): Remove superfluous
- NULL check.
- * simplify.c (simplify_min_max): Remove unreachable code.
- * trans-array.c (gfc_trans_create_temp_array): Change
- a condition into an assert.
-
- PR fortran/54618
- * trans-expr.c (gfc_trans_class_init_assign): Guard
- re-setting of the _data by gfc_conv_expr_present.
- (gfc_conv_procedure_call): Fix INTENT(OUT) handling
- for allocatable BT_CLASS.
-
-2012-09-22 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/54599
- * dependency.c (gfc_dep_compare_expr): Clarify logic,
- remove dead code.
-
-2012-09-20 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54599
- * cpp.c (print_line): Properly handle extern C.
-
-2012-09-20 Martin Jambor <mjambor@suse.cz>
-
- * trans-decl.c (gfc_get_extern_function_decl): Push NULL cfun. Do not
- set and restore current_function_decl.
- (gfc_init_coarray_decl): Do not set and restore current_function_decl.
-
-2012-09-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54608
- * simplify.c (gfc_simplify_scan, gfc_simplify_verify):
- Fix handling of BACK=variable.
-
-2012-09-17 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54285
- * expr.c (gfc_check_pointer_assign): Correctly handle procedure pointers
- as function results.
- * primary.c (gfc_match_varspec): Allow to call a PPC with proc-ptr
- result.
-
-2012-09-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54603
- * trans-expr.c (gfc_trans_subcomponent_assign): Handle
- proc-pointer components.
-
-2012-09-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54599
- * error.c (error_print): Move increment out of the assert.
- * interface.c (gfc_compare_derived_types): Add assert.
- (get_expr_storage_size): Remove always-true logical condition.
- * resolve.c (resolve_allocate_expr): Fix looping logic.
- * target-memory.c (gfc_target_expr_size): Add assert.
-
-2012-09-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54594
- * resolve.c (get_checked_tb_operator_target): Add a reference to the
- relevant quote from the F08 standard.
-
-2012-09-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54594
- * interface.c (compare_type_rank): Handle CLASS arrays.
-
-2012-09-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54387
- * expr.c (gfc_check_pointer_assign): Check for result of embracing
- function.
-
-2012-09-16 Tobias Burnus <burnus@net-b.de>
-
- * trans-decl.c (gfc_generate_function_code): Fix
- gfc_option.coarray check.
- * trans-stmt.c (compute_inner_temp_size): Fix handling
- of gfc_option.rtcheck.
-
-2012-09-16 Mikael Morin <mikael@gcc.gnu.org>
-
- * symbol.c (gfc_undo_symbols): Correctly undo namelists.
-
-2012-09-15 Tobias Burnus <burnus@net-b.de>
-
- * trans-io.c (gfc_trans_transfer): Add an assert.
-
-2012-09-15 Tobias Burnus <burnus@net-b.de>
-
- * arith.c (arith_power): Call gfc_free_expr in case of error.
- * array.c (gfc_match_array_constructor): Initialize variable.
- (gfc_resolve_character_array_constructor): Remove superfluous check.
- (gfc_array_dimen_size): Add assert.
- * check.c (numeric_check): Fix implicit typing.
- * class.c (gfc_build_class_symbol): Add assert.
- (finalize_component): Free memory.
- * dump-parse-tree.c (show_namespace): Add assert.
- * trans-io.c (transfer_namelist_element, transfer_expr): Avoid
- memory leakage.
- (gfc_trans_transfer): Add assert.
- * trans.c (gfc_trans_runtime_check): Call va_end
-
-2012-09-15 Tobias Burnus <burnus@net-b.de>
-
- * match.c (lock_unlock_statement, sync_statement): Fix potential
- double freeing.
- (sync_statement): Remove unreachable code.
- * simplify.c (gfc_simplify_bessel_n2): Avoid double freeing.
- (gfc_simplify_repeat): Remove bogus code.
- * target-memory.h (gfc_target_encode_expr): Update prototype.
- * target-memory.c (gfc_target_encode_expr, encode_array,
- encode_derived): Return unsigned HOST_WIDE_INT.
- (gfc_target_interpret_expr): Add assert.
- (gfc_merge_initializers): Fix "== 0" check for mpz_t.
- * symbol.c (gfc_get_typebound_proc): Add assert.
- (gfc_merge_initializers): Remove unreachable check.
-
-2012-09-13 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54556
- * resolve.c (resolve_formal_arglist): Allow VALUE arguments
- with implicit_pure.
- (gfc_impure_variable): Don't check gfc_pure such that the
- function also works for gfc_implicit_pure procedures.
-
-2012-09-12 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54225
- PR fortran/53306
- * array.c (match_subscript, gfc_match_array_ref): Fix
- diagnostic of coarray's '*'.
-
-2012-09-07 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/54208
- * simplify.c (simplify_bound_dim): Resolve array spec before
- proceeding with simplification.
-
-2012-09-06 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54463
- * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Fix matmul
- call to BLAS if the default-kind has been promoted.
-
-2012-09-05 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54462
- * symbol.c (gfc_undo_symbols): Avoid NULL pointer dereference.
-
-2012-09-04 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54435
- PR fortran/54443
- * match.c (gfc_match_select_type): Make sure to only access CLASS_DATA
- for BT_CLASS.
-
-2012-09-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54467
- * class.c (gfc_find_derived_vtab): Fix disabling of _final
- by continuing to generate normal type-bound procedures.
-
-2012-09-03 Tobias Burnus <burnus@net-b.de>
-
- * class.c (gfc_find_derived_vtab): Disable ABI-breaking
- generation of the "_final" subroutine for now.
-
-2012-09-03 Tobias Burnus <burnus@net-b.de>
-
- * class.c (finalize_component): Fixes to the comment.
-
-2012-09-03 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
- Tobias Burnus <burnus@net-b.de>
-
- PR fortran/37336
- * gfortran.h (symbol_attribute): Add artificial.
- * module.c (mio_symbol_attribute): Handle attr.artificial
- * class.c (gfc_build_class_symbol): Defer creation of the vtab
- if the DT has finalizers, mark generated symbols as
- attr.artificial.
- (has_finalizer_component, finalize_component,
- finalization_scalarizer, generate_finalization_wrapper):
- New static functions.
- (gfc_find_derived_vtab): Add _final component and call
- generate_finalization_wrapper.
- * dump-parse-tree.c (show_f2k_derived): Use resolved
- proc_tree->n.sym rather than unresolved proc_sym.
- (show_attr): Handle attr.artificial.
- * resolve.c (gfc_resolve_finalizers): Ensure that the vtab exists.
- (resolve_fl_derived): Resolve finalizers before
- generating the vtab.
- (resolve_symbol): Also allow assumed-rank arrays with CONTIGUOUS;
- skip artificial symbols.
- (resolve_fl_derived0): Skip artificial symbols.
-
-2012-09-02 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54426
- * symbol.c (find_common_symtree): New function.
- (gfc_undo_symbols): Use it; free common_head if needed.
-
-2012-08-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54389
- * trans-decl.c (gfc_get_extern_function_decl,
- build_function_decl): Don't mark impure elemental
- functions as DECL_PURE_P and honour implicit_pure.
-
-2012-08-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54382
- * error.c (show_locus): Avoid out of bound access.
-
-2012-08-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54384
- * decl.c (match_data_constant): Add missing gfc_free_expr.
- (top_val_list): Remove always-true condition.
- * data.c (get_array_index, create_character_initializer):
- Free temporary expressions.
- (gfc_assign_data_value): Free expression when aborting.
-
-2012-08-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54384
- * symbol.c (gfc_copy_formal_args): Set also sym->formal_ns.
-
-2012-08-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54384
- * resolve.c (gfc_resolve_character_operator): Free temporary
- variables.
- * trans-expr.c (gfc_conv_statement_function): Ditto.
-
-2012-08-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54384
- * dependency.c (check_section_vs_section): Use gfc_free_expr
- instead of free.
- * trans-intrinsic.c (conv_generic_with_optional_char_arg): Use
- gfc_free_symbol instead of free.
-
-2012-08-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54384
- * trans-expr.c (gfc_trans_arrayfunc_assign): Free se.ss
- and loop.
-
-2012-08-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/41093
- * gfortran.h (gfc_common_head): Add "int refs".
- * match.c (gfc_match_common): Increment refs.
- * resolve.c (resolve_symbol): Only increment formal_ns->refs
- if formal_ns is not sym->ns.
- * symbol.c (gfc_free_symbol): Only free formal_ns if
- if formal_ns is not sym->ns. Free common_block if refs is one.
- (gfc_release_symbol): Release formal_ns only if the
- symbol is not ENTRY of a module.
- * decl.c (get_proc_name): Don't increment gfc_current_ns->refs.
- * parse.c (parse_interface): Incement proc_unit->refs++ for
- proc-pointer result variables.
- * module.c (mio_symbol): Don't increase sym->refs for its
- use in sym->formal_ns->proc_name.
-
-2012-08-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54370
- * trans-stmt.c (gfc_trans_do_while): Don't change the logical
- kind for negation of the condition.
-
-2012-08-27 Tobias Burnus <burnus@net-b.de>
-
- * options.c (set_Wall): Don't set for -Wcompare-reals.
- * invoke.texi (-Wall, -Wcompare-reals): -Wall no longer
- implies -Wcompare-reals.
-
-2012-08-24 Simon Baldwin <simonb@google.com>
-
- * lang.opt (-cpp=): Mark flag NoDWARFRecord.
-
-2012-08-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54350
- * trans-array.c (free_ss_info): Free data.array.subscript.
- (gfc_free_ss): No longer free data.array.subscript.
- (walk_coarray): New function, moved from trans-intrinsic.c
- (gfc_conv_expr_descriptor): Walk array descriptor instead
- of taking passed "ss".
- (get_array_ctor_all_strlen, gfc_add_loop_ss_code,
- gfc_conv_array_parameter): Update call and cleanup ss handling.
- * trans-array.h (gfc_conv_expr_descriptor,
- gfc_conv_array_parameter): Update prototype.
- * trans-expr.c (gfc_conv_derived_to_class,
- conv_isocbinding_procedure, gfc_conv_procedure_call,
- gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign,
- gfc_trans_pointer_assignment, gfc_trans_arrayfunc_assign): Update
- call to gfc_conv_expr_descriptor and gfc_conv_array_parameter, and
- clean up.
- * trans-intrinsic.c (walk_coarray): Moved to trans-array.c
- (trans_this_image, trans_image_index, gfc_conv_intrinsic_rank
- gfc_conv_intrinsic_bound, gfc_conv_intrinsic_cobound,
- gfc_conv_intrinsic_len, gfc_conv_intrinsic_size,
- gfc_conv_intrinsic_sizeof, gfc_conv_intrinsic_storage_size,
- gfc_conv_intrinsic_transfer, gfc_conv_allocated,
- gfc_conv_associated, gfc_conv_intrinsic_loc,
- conv_intrinsic_move_alloc): Update calls.
- * trans-io.c (gfc_convert_array_to_string, set_internal_unit,
- gfc_trans_transfer): Ditto.
- * trans-stmt.c (gfc_conv_elemental_dependencies,
- gfc_trans_sync, trans_associate_var,
- gfc_trans_pointer_assign_need_temp): Ditto.
-
-2012-08-23 Jakub Jelinek <jakub@redhat.com>
-
- * trans-decl.c (trans_function_start, generate_coarray_init,
- create_main_function, gfc_generate_constructors): Call
- allocate_struct_function instead of init_function_start.
-
-2012-08-22 Tobias Burnus <burnus@net-b.de>
-
- * trans-expr.c (gfc_copy_class_to_class,
- gfc_trans_arrayfunc_assign): Free loop and ss data.
- * trans-intrinsic.c (gfc_trans_arrayfunc_assign): Free ss data.
-
-2012-08-21 Tobias Burnus <burnus@net-b.de>
-
- * parse.c (parse_contained): Include EXEC_END_PROCEDURE
- in ns->code to make sure the gfc_code is freed.
-
-2012-08-20 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54301
- * expr.c (gfc_check_pointer_assign): Warn when a pointer,
- which is a function result, might outlive its target.
-
-2012-08-20 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54301
- * expr.c (gfc_check_pointer_assign): Warn when the pointer
- might outlive its target.
- * gfortran.h (struct gfc_option_t): Add warn_target_lifetime.
- * options.c (gfc_init_options, set_wall, gfc_handle_option):
- handle it.
- * invoke.texi (-Wtarget-lifetime): Document it.
- (-Wall): Implied it.
- * lang.opt (-Wtarget-lifetime): New flag.
-
-2012-08-19 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/54298
- * gfortran.h (struct gfc_option_t): Add warn_compare_reals.
- * lang.opt: Add Wcompare-reals.
- * invoke.texi: Document -Wcompare-reals.
- * resolve.c (resolve_operator): If -Wcompare-reals is in effect,
- warn about equality/inequality comparisions for REAL and COMPLEX.
- * options.c (gfc_init_options): Set warn_compare_reals.
- (set_Wall): Include warn_compare_reals in Wall.
- (gfc_handle_option): Handle Wcompare_reals.
-
-2012-08-17 Jakub Jelinek <jakub@redhat.com>
-
- * array.c (gfc_match_array_ref): Fix up memset arguments.
-
-2012-08-16 Diego Novillo <dnovillo@google.com>
-
- Revert
-
- PR bootstrap/54281
- * gfortran.h: Do not include gmp.h.
-
-2012-08-16 Diego Novillo <dnovillo@google.com>
-
- PR bootstrap/54281
- * gfortran.h: Do not include gmp.h.
-
-2012-08-15 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54243
- PR fortran/54244
- * resolve.c (check_typebound_baseobject): Check for class_ok attribute.
- (resolve_procedure_interface,resolve_fl_derived0): Copy class_ok
- attribute.
-
-2012-08-14 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/47586
- * trans-expr.c (expr_is_variable): Handle regular, procedure pointer,
- and typebound functions returning a data pointer.
-
-2012-08-14 Mikael Morin <mikael@gcc.gnu.org>
-
- * decl.c (match_ppc_decl): Copy the procedure interface's symbol
- as procedure interface's result.
-
-2012-08-14 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-expr.c (gfc_trans_scalar_assign): Rename argument,
- extend comment.
-
-2012-08-14 Mikael Morin <mikael@gcc.gnu.org>
-
- * gfortran.h (gfc_get_proc_ptr_comp): New prototype.
- (gfc_is_proc_ptr_comp): Update prototype.
- * expr.c (gfc_get_proc_ptr_comp): New function based on the old
- gfc_is_proc_ptr_comp.
- (gfc_is_proc_ptr_comp): Call gfc_get_proc_ptr_comp.
- (gfc_specification_expr, gfc_check_pointer_assign): Use
- gfc_get_proc_ptr_comp.
- * trans-array.c (gfc_walk_function_expr): Likewise.
- * resolve.c (resolve_structure_cons, update_ppc_arglist,
- resolve_ppc_call, resolve_expr_ppc): Likewise.
- (resolve_function): Update call to gfc_is_proc_ptr_comp.
- * dump-parse-tree.c (show_expr): Likewise.
- * interface.c (compare_actual_formal): Likewise.
- * match.c (gfc_match_pointer_assignment): Likewise.
- * primary.c (gfc_match_varspec): Likewise.
- * trans-io.c (gfc_trans_transfer): Likewise.
- * trans-expr.c (gfc_conv_variable, conv_function_val,
- conv_isocbinding_procedure, gfc_conv_procedure_call,
- gfc_trans_pointer_assignment): Likewise.
- (gfc_conv_procedure_call, gfc_trans_array_func_assign):
- Use gfc_get_proc_ptr_comp.
-
-2012-08-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/40881
- * error.c (gfc_notify_std): Reset cur_error_buffer->flag flag
- when the error/warning has been printed.
- * gfortran.h (gfc_sl_type): Add ST_LABEL_DO_TARGET.
- * match.c (gfc_match_do): Use ST_LABEL_DO_TARGET.
- * parse.c (check_statement_label): Use ST_LABEL_DO_TARGET.
- (parse_executable): Add obsolescence check for DATA.
- * resolve.c (resolve_branch): Handle ST_LABEL_DO_TARGET.
- * symbol.c (gfc_define_st_label, gfc_reference_st_label):
- Add obsolescence diagnostics.
- * trans-stmt.c (gfc_trans_label_assign): Handle ST_LABEL_DO_TARGET.
-
-2012-08-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54234
- * check.c (gfc_check_cmplx): Add -Wconversion warning
- when converting higher-precision REAL to default-precision
- CMPLX without kind= parameter.
-
-2012-08-12 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54221
- * trans-decl.c (gfc_finish_var_decl, build_function_decl):
- Fix setting private module vars/procs as TREE_PUBLIC(...) = 0.
-
-2012-08-09 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54199
- * intrinsic.c (gfc_warn_intrinsic_shadow): Better warning
- for internal procedures.
-
-2012-08-06 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/35831
- * interface.c (check_result_characteristics): New function, which checks
- the characteristics of function results.
- (gfc_compare_interfaces,gfc_check_typebound_override): Call it.
-
-2012-08-02 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/54033
- * scanner.c (add_path_to_list): New argument warn. Don't
- warn if it is true.
- (gfc_add_include_path): Warn if directory is missing.
- (gfc_add_intrinsic_modules_path): Do not warn if directory
- is missing.
- * optinons.c (gfc_handle_option): Do not add directory
- for intrinsic modules to normal include path.
-
-2012-08-03 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/54166
- * trans-array.c (set_loop_bounds): Access specinfo using spec_dim.
-
-2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/48820
- * trans-array.c (gfc_conv_ss_startstride): Set the intrinsic
- result's lower and upper bounds according to the rank.
- (set_loop_bounds): Set the loop upper bound in the intrinsic case.
-
-2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (set_loop_bounds): Allow non-array-section to be
- chosen using the stride and lower bound criteria.
-
-2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (set_loop_bounds): Remove useless dimension check.
- Don't update loopspec if it would loose the wanted stride criterion.
-
-2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.h (gfc_conv_descriptor_rank): New prototype.
- * trans-array.c (gfc_conv_descriptor_rank): New function moved and
- renamed ...
- * trans-intrinsic.c (get_rank_from_desc): ... from this one.
- (gfc_conv_intrinsic_rank, gfc_conv_intrinsic_bound,
- gfc_conv_associated): Also rename function calls.
-
-2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
-
- * iresolve.c (resolve_bound, gfc_resolve_shape):
- Don't set the shape for assumed rank arrays.
- * simplify.c (gfc_simplify_shape): Don't try to simplify if the
- argument is assumed rank.
-
-2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
-
- * array.c (gfc_copy_array_ref): Don't copy the offset field.
- * expr.c (find_array_section): Ignore the offset field.
- * trans-expr.c (gfc_find_interface_mapping_to_ref): Don't apply
- any interface mapping to the offset field.
- * gfortran.h (struct gfc_array_ref): Remove the offset field.
-
-2012-08-02 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54147
- * resolve.c (check_proc_interface): New routine for PROCEDURE interface
- checks.
- (resolve_procedure_interface,resolve_typebound_procedure,
- resolve_fl_derived0): Call it.
-
-2012-08-01 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/54033
- * scanner.c (add_path_to_list): Emit warning if an error occurs
- for an include path, if it is not present or if it is not a
- directory. Do not add the path in these cases.
-
-2012-07-31 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/42418
- * decl.c (match_procedure_interface): Move some checks to
- 'resolve_procedure_interface'. Set flavor if appropriate.
- * expr.c (gfc_check_pointer_assign): Cleanup of 'gfc_is_intrinsic'.
- * intrinsic.c (gfc_is_intrinsic): Additional checks for attributes which
- identify a procedure as being non-intrinsic.
- * resolve.c (resolve_procedure_interface): Checks moved here from
- 'match_procedure_interface'. Minor cleanup.
- (resolve_formal_arglist,resolve_symbol): Cleanup of
- 'resolve_procedure_interface'
- (resolve_actual_arglist,is_external_proc): Cleanup of
- 'gfc_is_intrinsic'.
-
-2012-07-31 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54134
- * dependency.c (gfc_dep_compare_expr): Check if arguments are NULL.
-
-2012-07-31 Tobias Burnus <burnus@net-b.de>
-
- * interface.c (gfc_procedure_use): Return gfc_try instead of void.
- * gfortran.h (gfc_procedure_use): Update prototype.
- * resolve.c (gfc_iso_c_func_interface): Allow noninteroperable
- procedures for c_funloc for TS29113.
- * (gfc_iso_c_sub_interface): Ditto for c_f_procpointer. Add
- diagnostic for c_ptr vs. c_funptr for c_f_(proc)pointer.
-
-2012-07-30 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/51081
- * gfortran.h (gfc_resolve_intrinsic): Add prototype.
- * expr.c (gfc_check_pointer_assign): Set INTRINSIC attribute if needed.
- Check for invalid intrinsics.
- * primary.c (gfc_match_rvalue): Check for intrinsics came too early.
- Set procedure flavor if appropriate.
- * resolve.c (resolve_intrinsic): Renamed to gfc_resolve_intrinsic.
- (resolve_procedure_interface,resolve_procedure_expression,
- resolve_function,resolve_fl_derived0,resolve_symbol): Ditto.
-
-2012-07-26 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/44354
- * trans-array.c (gfc_trans_array_constructor_value):
- Evaluate the iteration bounds before the inner variable shadows
- the outer.
-
-2012-07-26 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/44354
- * array.c (sought_symbol): New variable.
- (expr_is_sought_symbol_ref, find_symbol_in_expr): New functions.
- (resolve_array_list): Check for references to the induction
- variable in the iteration bounds and issue a diagnostic if some
- are found.
-
-2012-07-26 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
- Tobias Burnus <burnus@net-b.de>
-
- * module.c (mio_array_spec): Don't read as->lower for
- assumed-rank arrays.
-
-2012-07-25 Tobias Burnus <burnus@net-b.de>
-
- * trans-types.c (gfc_real16_is_float128): Fix spelling
- in a comment.
- * trans.h (struct gfc_array_info): Ditto.
- * gfortran.h (gfc_expr): Ditto.
- * simplify.c (gfc_count): Ditto.
- * trans-expr.c (gfc_copy_class_to_class,
- conv_parent_component_references,
- gfc_trans_pointer_assignment): Ditto.
- * expr.c (check_pointer_assign): Fix diagnostic spelling.
- * interface.c (compare_parameter): Ditto.
- * parse.c (use_modules, parse_associate): Ditto.
- * decl.c (match_char_length): Fix spelling of the
- an function argument.
-
-2012-07-21 Tobias Burnus <burnus@net-b.de>
-
- * iso-c-binding.def (C_PTRDIFF_T): New TS29113 parameter.
- * intrinsic.texi (ISO_C_BINDING): Document it.
-
-2012-07-21 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48820
- * trans-intrinsic.c (gfc_conv_intrinsic_bound): Support
- lbound/ubound with dim= for assumed-rank arrays.
- * array.c (gfc_set_array_spec): Reject coarrays with
- assumed shape.
- * decl.c (merge_array_spec): Ditto. Return gfc_try.
- (match_attr_spec, match_attr_spec): Update call.
-
-2012-07-21 Tobias Burnus <burnus@net-b.de>
-
- * resolve.c (resolve_formal_arglist): Put variable
- declaration before the first assignment.
-
-2012-07-21 Tobias Burnus <burnus@net-b.de>
-
- * trans-expr.c (gfc_conv_derived_to_class): Fix argument passed
- to class_array_data_assign.
-
-2012-07-20 Tobias Burnus <burnus@net-b.de>
-
- * decl.c (gfc_verify_c_interop_param): Allow assumed-shape
- with -std=f2008ts.
-
-2012-07-20 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48820
- * array.c (match_array_element_spec, gfc_match_array_spec,
- spec_size, gfc_array_dimen_size): Add support for
- assumed-rank arrays.
- * check.c (dim_rank_check): Ditto.
- * class.c (gfc_add_component_ref): Ditto.
- (gfc_build_class_symbol): Regard assumed-rank arrays
- as having GFC_MAX_DIMENSIONS. And build extra class
- container for a scalar pointer class.
- * decl.c (merge_array_spec): Add assert.
- * dump-parse-tree.c (show_array_spec): Add support for
- assumed-rank arrays.
- * expr.c (gfc_is_simply_contiguous): Ditto.
- * gfortran.h (array_type): Ditto.
- (gfc_array_spec, gfc_expr): Add comment to "rank" field.
- * interface.c (compare_type_rank, argument_rank_mismatch,
- compare_parameter, gfc_procedure_use): Ditto.
- (compare_actual_formal): Fix NULL() to optional-dummy
- handling for polymorphic dummies.
- * module.c (mio_typespec): Add support for
- assumed-rank arrays.
- * resolve.c (resolve_formal_arglist, resolve_actual_arglist,
- resolve_elemental_actual, resolve_global_procedure,
- expression_shape, resolve_variable, update_ppc_arglist,
- check_typebound_baseobject, gfc_resolve_expr,
- resolve_fl_var_and_proc, gfc_resolve_finalizers,
- resolve_typebound_procedure, resolve_symbol): Ditto.
- (assumed_type_expr_allowed): Remove static variable.
- (actual_arg, first_actual_arg): New static variables.
- * simplify.c (simplify_bound, gfc_simplify_range): Add
- support for assumed-rank arrays.
- * trans-array.c (gfc_conv_array_parameter): Ditto.
- (gfc_get_descriptor_dimension): New function, which returns
- the descriptor.
- (gfc_conv_descriptor_dimension): Use it.
- (gfc_conv_descriptor_stride_get, gfc_conv_array_parameter):
- Handle GFC_ARRAY_ASSUMED_RANK_CONT and AS_ASSUMED_RANK.
- * trans-array.h (gfc_get_descriptor_dimension): New prototype.
- * trans-decl. (gfc_build_dummy_array_decl,
- gfc_trans_deferred_vars, add_argument_checking): Add
- support for assumed-rank arrays.
- * trans-expr.c (gfc_conv_expr_present, gfc_conv_variable,
- gfc_conv_procedure_call): Ditto.
- (get_scalar_to_descriptor_type, class_array_data_assign,
- conv_scalar_to_descriptor): New static functions.
- (gfc_conv_derived_to_class, gfc_conv_class_to_class): Use
- them.
- * trans-intrinsic.c (get_rank_from_desc): New function.
- (gfc_conv_intrinsic_rank, gfc_conv_associated): Use it.
- * trans-types.c (gfc_array_descriptor_base_caf,
- gfc_array_descriptor_base): Make space for scalar array.
- (gfc_is_nodesc_array, gfc_is_nodesc_array,
- gfc_build_array_type, gfc_get_array_descriptor_base): Add
- support for assumed-rank arrays.
- * trans.h (gfc_array_kind): Add GFC_ARRAY_ASSUMED_RANK and
- GFC_ARRAY_ASSUMED_RANK_CONT.
-
-2012-07-19 Tobias Burnus <burnus@net-b.de>
-
- * trans-expr.c (gfc_conv_procedure_call): Fix handling
- of polymorphic arguments.
- * resolve.c (resolve_formal_arglist): Ditto, mark polymorphic
- assumed-shape arrays as such.
-
-2012-07-19 Tobias Burnus <burnus@net-b.de>
-
- * interface.c (compare_parameter, compare_actual_formal): Fix
- handling of polymorphic arguments.
-
-2012-07-17 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/51081
- * error.c (gfc_notify_std): Automatically print the relevant Fortran
- standard version.
- * arith.c (arith_power): Remove explicit standard reference string.
- * array.c (gfc_match_array_spec, gfc_match_array_constructor): Ditto.
- * check.c (gfc_check_a_p, gfc_check_besn, gfc_check_count,
- gfc_check_float, gfc_check_fn_rc2008, gfc_check_iand,
- gfc_check_ichar_iachar, gfc_check_ieor, gfc_check_index, gfc_check_ior,
- gfc_check_lbound, gfc_check_len_lentrim, check_rest, gfc_check_min_max,
- gfc_check_null, gfc_check_scan, gfc_check_selected_real_kind,
- gfc_check_shape, gfc_check_size, gfc_check_sngl, gfc_check_ubound,
- gfc_check_verify): Ditto.
- * data.c (gfc_assign_data_value): Ditto.
- * decl.c (var_element, char_len_param_value, match_char_length,
- gfc_verify_c_interop_param, match_pointer_init, variable_decl,
- gfc_match_decl_type_spec, gfc_match_import, match_attr_spec,
- gfc_match_prefix, gfc_match_suffix, match_ppc_decl,
- match_procedure_in_interface, gfc_match_procedure,gfc_match_entry,
- gfc_match_subroutine, gfc_match_end, gfc_match_codimension,
- gfc_match_protected, gfc_match_value, gfc_match_volatile,
- gfc_match_asynchronous, gfc_match_modproc, gfc_get_type_attr_spec,
- gfc_match_enum, match_procedure_in_type): Ditto.
- * expr.c (check_elemental, gfc_check_assign, gfc_check_pointer_assign):
- Ditto.
- * interface.c (gfc_match_abstract_interface, check_interface0): Ditto.
- * intrinsic.c (gfc_intrinsic_func_interface): Ditto.
- * io.c (format_lex, resolve_tag_format, resolve_tag,
- compare_to_allowed_values, gfc_match_open, gfc_match_rewind,
- gfc_resolve_dt, gfc_match_wait): Ditto.
- * match.c (match_arithmetic_if, gfc_match_if, gfc_match_critical,
- gfc_match_do, match_exit_cycle, gfc_match_pause, gfc_match_stop,
- gfc_match_lock, sync_statement, gfc_match_assign, gfc_match_goto,
- gfc_match_allocate, gfc_match_return, gfc_match_st_function): Ditto.
- * module.c (gfc_match_use, gfc_use_module): Ditto.
- * parse.c (parse_derived_contains, parse_block_construct,
- parse_associate, parse_contained): Ditto.
- * primary.c (match_hollerith_constant, match_boz_constant,
- match_real_constant, match_sym_complex_part, match_arg_list_function,
- build_actual_constructor, gfc_convert_to_structure_constructor): Ditto.
- * resolve.c (resolve_formal_arglist, resolve_entries,
- resolve_common_blocks, resolve_actual_arglist, gfc_resolve_index_1,
- gfc_resolve_iterator_expr, resolve_ordinary_assign,
- resolve_fl_var_and_proc, resolve_fl_variable_derived,
- resolve_fl_procedure, resolve_fl_derived0, resolve_fl_derived,
- resolve_fl_namelist, resolve_symbol, resolve_fntype): Ditto.
- * symbol.c (check_conflict, conflict, gfc_add_is_bind_c,
- gfc_add_extension, gfc_check_symbol_typed): Ditto.
-
-2012-07-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53985
- * decl.c (gfc_verify_c_interop_param): Make warning conditional
- on -Wc-binding-type works and improve the wording.
-
-2012-07-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52101
- * decl.c (match_char_length): Extra argument, show obsolenscent
- warning only if *length is used after the typename.
- (variable_decl, gfc_match_char_spec): Update call
-
-2012-07-17 Tobias Burnus <burnus@net-b.de>
- Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/49265
- * decl.c (match_procedure_in_interface): Support "::" for
- Fortran 2008 and later.
-
-2012-07-16 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/53824
- * resolve.c (resolve_allocate_deallocate): If both
- start indices are NULL, skip the test for equality.
-
-2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
-
- * f95-lang.c: Include dumpfile.h instead of tree-dump.h.
- * Make-lang.in: Fix dependencies.
-
-2012-07-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/53956
- * gfortran.h (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Modified
- prototypes.
- * symbol.c (gfc_copy_formal_args): New argument 'if_src'. Copy if_source
- of dummy procedures.
- (gfc_copy_formal_args_ppc): Ditto.
- * resolve.c (resolve_procedure_interface): Pass IFSRC_DECL to
- gfc_copy_formal_args.
- (resolve_fl_derived0): Pass IFSRC_DECL to gfc_copy_formal_args_ppc.
-
-2012-07-12 Tobias Burnus <burnus@net-b.de>
-
- * trans-expr.c (conv_isocbinding_procedure): Generate c_f_pointer code
- inline.
-
-2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
-
- * trans.c: Do not include defaults.h.
- * trans-intrinsic.c: Likewise.
-
-2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
-
- * gfortran.h: Do not include coretypes.h here.
- Make it an error to include this before coretypes.h
- * openmp.c: Include coretypes.h.
- * interface.c: Likewise.
- * intrinsic.c: Likewise.
- * symbol.c: Likewise.
- * class.c: Likewise.
- * decl.c: Likewise.
- * matchexp.c: Likewise.
- * dump-parse-tree.c: Likewise.
- * array.c: Likewise.
- * constructor.c: Likewise.
- * error.c: Likewise.
- * data.c: Likewise.
- * expr.c: Likewise.
- * module.c: Likewise.
- * scanner.c: Likewise.
- * bbt.c: Likewise.
- * io.c: Likewise.
- * frontend-passes.c: Likewise.
- * resolve.c: Likewise.
- * st.c: Likewise.
- * target-memory.c: Likewise.
- * match.c: Likewise.
- * arith.c: Likewise.
- * parse.c: Likewise.
- * check.c: Likewise.
- * dependency.c: Likewise.
- * primary.c: Likewise.
- * misc.c: Likewise.
- * simplify.c: Likewise.
-
-2012-07-05 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/53732
- * trans-array.c (gfc_add_loop_ss_code): Disable self recursive calls
- handling nested loop(s) if the subscript flag is true.
-
-2012-07-05 Uros Bizjak <ubizjak@gmail.com>
-
- PR fortran/53449
- * parse.c (gfc_parse_file): Initialize errors_before.
-
-2012-06-27 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/41951
- PR fortran/49591
- * interface.c (check_new_interface): Rename, add 'loc' argument,
- make non-static.
- (gfc_add_interface): Rename 'check_new_interface'
- * gfortran.h (gfc_check_new_interface): Add prototype.
- * resolve.c (resolve_typebound_intrinsic_op): Add typebound operator
- targets to non-typebound operator list.
-
-2012-06-22 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47710
- PR fortran/53328
- * interface.c (count_types_test, generic_correspondence,
- gfc_compare_interfaces): Ignore PASS arguments.
- (check_interface1, compare_parameter): Pass NULL arguments to
- gfc_compare_interfaces.
- * gfortran.h (gfc_compare_interfaces): Modified prototype.
- * expr.c (gfc_check_pointer_assign): Pass NULL arguments to
- gfc_compare_interfaces.
- * resolve.c (resolve_structure_cons): Ditto.
- (check_generic_tbp_ambiguity): Determine PASS arguments and pass them
- to gfc_compare_interfaces.
-
-2012-06-21 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/39654
- * iresolve.c (gfc_resolve_ftell): Fix result kind and use new
- library function.
-
-2012-06-18 Tobias Burnus <burnus@net-b.de>
-
- * intrinsic.h (gfc_resolve_rank): New prototype.
- * intrinsic.c (add_functions): Use gfc_resolve_rank.
- * iresolve.c (add_functions): New function.
- * trans-intrinsic.c (gfc_conv_intrinsic_rank): New function.
- (gfc_conv_intrinsic_function): Call it.
-
-2012-06-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53692
- * trans-array.c (set_loop_bounds): Don't scalarize via absent
- optional arrays.
- * resolve.c (resolve_elemental_actual): Don't stop resolving after printing
- a warning.
-
-2012-06-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53526
- * trans-intrinsic.c (conv_intrinsic_move_alloc): Handle coarrays.
-
-2012-06-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53526
- * check.c (gfc_check_move_alloc): Reject coindexed actual arguments
- and those with different corank.
-
-2012-06-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53691
- PR fortran/53685
- * check.c (gfc_calculate_transfer_sizes): Return if
- SIZE= is not constant or source-size cannot be determined.
-
-2012-06-16 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53642
- PR fortran/45170
- * frontend-passes.c (optimize_assignment): Don't remove RHS's
- trim when assigning to a deferred-length string.
- * trans-expr.c (gfc_trans_assignment_1): Ensure that the RHS string
- length is evaluated before the deferred-length LHS is reallocated.
-
-2012-06-13 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53643
- * trans-decl.c (init_intent_out_dt): Fix for polymorphic arrays.
- * trans-array.c (structure_alloc_comps): Don't loop for
- scalar coarrays.
-
-2012-06-13 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53597
- * decl.c (match_attr_spec): Only mark module variables
- as SAVE_IMPLICIT for Fortran 2008 and later.
-
-2012-06-08 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/52552
- * match.c (gfc_match_allocate): Modify order of checks. Change wording
- of error message. Remove FIXME note.
- * resolve.c (resolve_allocate_expr): Add a comment.
-
-2012-06-07 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/52861
- * frontend-passes.c (optimize_assignment): Don't set the
- length of an empty string for deferred-length character
- variables.
-
-2012-06-07 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/52861
- * frontend-passes.c (empty_string): Add prototype.
- (optimize_assignment): Set the length of an empty string
- constant to zero.
-
-2012-06-04 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50619
- * resolve.c (build_default_init_expr): Don't initialize
- ASSOCIATE names.
-
-2012-06-03 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
- Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48831
- * gfortran.h (gfc_check_init_expr): Add prototype declaration
- of function.
- * check.c (kind_check): Change if condition to use
- to gfc_check_init_expr.
- * expr.c (check_init_expr): Remove forward declaration
- and static keyword. Change name in gfc_check_init_expr.
- (scalarize_intrinsic_call, check_init_expr_arguments,
- check_inquiry, check_conversion, gfc_reduce_init_expr): Update
- call to gfc_check_init_expr.
-
-2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
-
- * trans-common.c: Do not include output.h.
- * trans-decl.c: Likewise.
-
-2012-05-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53521
- * trans.c (gfc_deallocate_scalar_with_status): Properly
- handle the case size == 0.
-
-2012-05-30 Tobias Burnus <burnus@net-b.de>
-
- PR c/53502
- * decl.c (match_attr_spec): Remove "typedef".
-
-2012-05-30 Tobias Burnus <burnus@net-b.de>
-
- * decl.c: Fix comment typos.
- * expr.c: Ditto.
- * frontend-passes.c: Ditto.
- * match.c: Ditto.
- * resolve.c: Ditto.
- * trans-array.c: Ditto.
- * trans-common.c: Ditto.
- * trans-intrinsic.c: Ditto.
- * trans-types.c: Ditto.
-
-2012-05-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51055
- PR fortran/45170
- * match.c (gfc_match_allocate): Set length_from_typespec
- for characters.
- * resolve.c (resolve_charlen): If set, don't check whether
- the len is a specification expression.
-
-2012-05-22 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53389
- * trans-array.c (gfc_add_loop_ss_code): Don't evaluate expression, if
- ss->is_alloc_lhs is set.
-
-2012-05-22 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/53322
- * f95-lang.c (gfc_init_builtin_functions): Remove the unused
- typedef builtin_type.
-
-2012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/52428
- * gfortran.texi: Update _gfortran_set_options documentation.
- * invoke.texi: Remove runtime behavior description of
- -fno-range-check.
- * trans-decl.c (create_main_function): Don't pass the range-check
- setting to the library.
-
-2012-05-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/49110
- PR fortran/51055
- PR fortran/53329
- * trans-expr.c (gfc_trans_assignment_1): Fix allocation
- handling for assignment of function results to allocatable
- deferred-length strings.
- * trans-decl.c (gfc_create_string_length): For deferred-length
- module variables, include module name in the assembler name.
- (gfc_get_symbol_decl): Don't override the assembler name.
-
-2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 53063
- * options.c (gfc_handle_option): Call lang-specific generated function.
-
-2012-05-13 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
- Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52158
- PR fortran/45170
- PR fortran/49430
- * resolve.c (resolve_fl_derived0): Deferred character length
- procedure components are supported.
- * trans-expr.c (gfc_conv_procedure_call): Handle TBP with
- deferred-length results.
- (gfc_string_to_single_character): Add a new check to prevent
- NULL read.
- (gfc_conv_procedure_call): Remove unuseful checks on
- symbol's attributes. Add new checks to prevent NULL read on
- string length.
-
-2012-05-12 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/49110
- PR fortran/52843
- * resolve.c (resolve_fl_procedure): Don't regard
- character(len=:) as character(*) in the diagnostic.
-
-2012-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/52537
- * frontend-passes.c (optimize_op): Change
- old-style comparison operators to new-style, simplify
- switch as a result.
- (empty_string): New function.
- (get_len_trim_call): New function.
- (optimize_comparison): If comparing to an empty string,
- use comparison of len_trim to zero.
- Use new-style comparison operators only.
- (optimize_trim): Use get_len_trim_call.
-
-2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 53063
- * options.c: Include diagnostics.h instead of
- diagnostics-core.h.
- (set_Wall): Do not see warn_unused here.
- (gfc_handle_option): Set it here using handle_generated_option.
-
-2012-05-08 Jan Hubicka <jh@suse.cz>
-
- * trans-common.c (create_common): Do not fake TREE_ASM_WRITTEN.
- * trans-decl.c (gfc_finish_cray_pointee): Likewise.
-
-2012-05-07 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53255
- * resolve.c (resolve_typebound_static): Fix handling
- of overridden specific to generic operator.
-
-2012-05-06 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/41587
- * decl.c (build_struct): Don't ignore FAILED status.
-
-2012-05-05 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/41600
- * trans-array.c (build_array_ref): New static function.
- (gfc_conv_array_ref, gfc_get_dataptr_offset): Call it.
- * trans-expr.c (gfc_get_vptr_from_expr): New function.
- (gfc_conv_derived_to_class): Add a new argument for a caller
- supplied vptr and use it if it is not NULL.
- (gfc_conv_procedure_call): Add NULL to call to above.
- symbol.c (gfc_is_associate_pointer): Return true if symbol is
- a class object.
- * trans-stmt.c (trans_associate_var): Handle class associate-
- names.
- * expr.c (gfc_get_variable_expr): Supply the array-spec if
- possible.
- * trans-types.c (gfc_typenode_for_spec): Set GFC_CLASS_TYPE_P
- for class types.
- * trans.h : Add prototypes for gfc_get_vptr_from_expr and
- gfc_conv_derived_to_class. Define GFC_CLASS_TYPE_P.
- * resolve.c (resolve_variable): For class arrays, ensure that
- the target expression has all the necessary _data references.
- (resolve_assoc_var): Throw a "not yet implemented" error for
- class array selectors that need a temporary.
- * match.c (copy_ts_from_selector_to_associate,
- select_derived_set_tmp, select_class_set_tmp): New functions.
- (select_type_set_tmp): Call one of last two new functions.
- (gfc_match_select_type): Copy_ts_from_selector_to_associate is
- called if associate-name is typed.
-
- PR fortran/53191
- * resolve.c (resolve_ref): C614 applied to class expressions.
-
-2012-05-05 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/49010
- PR fortran/24518
- * intrinsic.texi (MOD, MODULO): Mention sign and magnitude of result.
- * simplify.c (gfc_simplify_mod): Use mpfr_fmod.
- (gfc_simplify_modulo): Likewise, use copysign to fix the result if
- zero.
- * trans-intrinsic.c (gfc_conv_intrinsic_mod): Remove fallback as
- builtin_fmod is always available. For modulo, call copysign to fix
- the result when signed zeros are enabled.
-
-2012-05-05 Janne Blomqvist <jb@gcc.gnu.org>
-
- * gfortran.texi (GFORTRAN_TMPDIR): Rename to TMPDIR, explain
- algorithm for choosing temp directory.
-
-2012-05-04 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53175
- * resolve.c (resolve_variable): Set public_used
- if a private module variable is used in a (public)
- specification expression.
- * trans-decl.c (gfc_finish_var_decl): Mark those
- TREE_PUBLIC.
-
-2012-05-04 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53111
- * resolve.c (resolve_fl_derived): Fix -std=f95
- diagnostic for generic vs. DT names.
-
-2012-05-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52864
- * interface.c (compare_parameter_intent): Remove.
- (check_intents): Remove call, handle CLASS pointer.
- (compare_actual_formal): Handle CLASS pointer.
-
-2012-04-30 Jan Hubicka <jh@suse.cz>
-
- * f95-lang.c (gfc_finish): Update comments.
-
-2012-04-29 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/53148
- * frontend-passes.c (create_var): If the statement has a label,
- put the label around the block.
-
-2012-04-25 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52196
- * lang.opt (Wrealloc-lhs, Wrealloc-lhs-all): New flags.
- * gfortran.h (gfc_option_t): Add them.
- * options.c (gfc_init_options, gfc_post_options,
- gfc_handle_option): Handle them.
- * invoke.texi: Document them.
- * trans-expr.c (realloc_lhs_warning): New function.
- (gfc_trans_arrayfunc_assign,
- alloc_scalar_allocatable_for_assignment,
- gfc_trans_assignment_1): Use it.
-
-2012-04-18 Steven Bosscher <steven@gcc.gnu.org>
-
- * trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR
- with NULL_TREE type instead of void_type_node.
- * trans-io.c (io_result): Likewise.
- * trans-stmt.c (gfc_trans_integer_select,
- gfc_trans_character_select): Likewise.
-
-2012-04-16 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52864
- * expr.c (gfc_check_vardef_context): Fix assignment check for
- pointer components.
-
-2012-04-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/52968
- * class.c (gfc_build_class_symbol): Make sure the 'f2k_derived'
- namespace is present.
-
-2012-04-15 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/51082
- * trans-expr.c (gfc_conv_expr_reference): Check if the expression is a
- simple function call (or a more involved PPC reference).
-
-2012-04-15 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52916
- PR fortran/40973
- * gfortran.h (symbol_attribute): Add public_used.
- * interface.c (check_sym_interfaces, check_uop_interfaces,
- gfc_check_interfaces): Set it.
- * resolve.c (resolve_typebound_procedure): Ditto.
- * trans-decl.c (build_function_decl): Use it.
-
-2012-04-11 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52729
- * resolve.c (resolve_symbol): Fix searching for parent NS decl.
-
-2012-04-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52751
- * trans-decl.c (gfc_finish_var_decl): Don't set TREE_PUBLIC
- for PRIVATE module variables without C-binding label.
-
- PR fortran/40973
- * trans-decl.c (build_function_decl): Ditto for procedures.
-
-2012-04-07 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/52893
- * frontend-passes.c: Keep track of wether we are in an implicit
- DO loop; do not do function elimination if we are.
-
-2012-04-06 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/52668
- * module.c: Only mark symbols as use_only if they have been
- imported via an only list.
-
-2012-03-28 Paul Thomas <pault@gcc.gnu.org>
- Tobias Burnus <burnus@gcc.gnu.org>
-
- PR fortran/52652
- * match.c (gfc_match_allocate, gfc_match_deallocate): Change
- "not.. or" to "neither.. nor".
- * parse.c (decode_specification_statement): Correct error in
- chpice of matching function for "allocatable".
-
-2012-03-23 Janne Blomqvist <jb@gcc.gnu.org>
-
- * gfortran.h (GFC_MAX_LINE): Remove unused macro.
-
-2012-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/52559
- * error.c (gfc_widechar_display_length): Consider tabs as
- one character wide, as they're displayed as spaces.
- (show_locus): Move tab handling to...
- (print_wide_char_into_buffer): ... here.
-
-2012-03-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52585
- * trans-intrinsic.c (gfc_conv_associated): Fix handling of
- procpointer dummy arguments.
-
-2012-03-16 Janne Blomqvist <jb@gcc.gnu.org>
-
- * trans-intrinsic.c (build_round_expr): Don't use BUILT_IN_IROUND
- for __float128.
-
-2012-03-15 Janne Blomqvist <jb@gcc.gnu.org>
-
- * f95-lang.c (gfc_init_builtin_functions): Initialize
- BUILT_IN_IROUND.
- * mathbuiltins.def: Add IROUND.
- * trans-intrinsic.c (build_round_expr): Use BUILT_IN_IROUND if
- type size matches.
- (gfc_build_intrinsic_lib_fndecls): Build iround functions.
-
-2012-03-12 Richard Guenther <rguenther@suse.de>
-
- * f95-lang.c (builtin_type_for_size): Use gfc_type_for_size.
-
-2012-03-12 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52542
- * decl.c (match_procedure_decl): If the interface
- is bind(C), the procedure is as well.
-
-2012-03-10 Steven Bosscher <steven@gcc.gnu.org>
-
- * convert.c (convert): Fold BOOLEAN_TYPE types to the proper variant.
-
-2012-03-09 Steven Bosscher <steven@gcc.gnu.org>
-
- * Make-lang.in (convert.o): Depend on convert.h.
- * convert.c: Header and comment cleanups.
- (gfc_thruthvalue_conversion): Rename static function
- to truthvalue_conversion. Do not use 'internal_error' from here,
- use 'gcc_unreachable' instead.
- (convert): Do not use 'error' for conversions to void, use
- 'gcc_unreachable' instead. Likewise for conversions to non-scalar
- types. Do not hanlde ENUMERAL_TYPE, the front end never creates them.
- Clean up #if 0 code.
-
-2012-03-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52469
- * trans-types.c (gfc_get_function_type): Handle backend_decl
- of a procedure pointer.
-
-2012-03-06 Steven Bosscher <steven@gcc.gnu.org>
-
- * f95-lang.c (yyerror, yylex): Remove.
- (clear_binding_stack): Remove, fold into its only user.
- (LANG_HOOKS_PRINT_IDENTIFIER): Do not re-define.
- (ridpointers): Remove.
- (gfc_eh_initialized_p): Make static.
- (gfc_truthvalue_conversion): Move to convert.c.
- (gfc_be_parse_file): Clear binding level stack when done.
- (gfc_print_identifier): Remove.
- (pushlevel): Remove ignored 'ignore' argument. Update all callers.
- (poplevel): Remove unused 'reverse' argument. Update all callers.
- (ggc_p): Remove.
- (gfc_builtin_function): Make static. Do not attempt to make RTL for
- builtin functions.
- * convert.c (gfc_truthvalue_conversion): Moved here from f95-lang.c,
- and made static.
- * trans.h (pushlevel, poplevel): Adjust prototypes.
- (gfc_truthvalue_conversion, gfc_builtin_function): Remove prototypes.
- * trans-openmp.c: Update calls to pushlevel and poplevel.
- * trans.c: Likewise.
- * trans-decl.c: Likewise.
-
-2012-03-04 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50981
- * gfortran.h (gfc_is_class_container_ref): New prototype.
- * class.c (gfc_is_class_container_ref): New function.
- * trans-expr.c (gfc_conv_procedure_call): Add a "_data" component
- reference to polymorphic actual arguments.
-
-2012-03-04 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50981
- * trans-expr.c (gfc_conv_procedure_call): Save se->ss's value.
- Handle the case of unallocated arrays passed to elemental procedures.
-
-2012-03-04 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_ss_info): Move can_be_null_ref component from
- the data::scalar subcomponent to the toplevel.
- * trans-expr.c (gfc_conv_expr): Update component reference.
- * trans-array.c (gfc_add_loop_ss_code): Ditto.
- (gfc_walk_elemental_function_args): Ditto. Move the conditional setting
- the field out of the scalar-only block.
-
-2012-03-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/36160
- * error.c (gfc_widechar_display_length, gfc_wide_display_length):
- New functions.
- (print_wide_char_into_buffer): Return length written.
- (show_locus): Fix locus displayed when wide characters are present.
-
-2012-03-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * module.c (gfc_use_module): Improve error message some more.
-
-2012-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/52313
- * module.c (gfc_use_module): Improve error messages.
-
-2012-03-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48820
- * resolve.c (resolve_actual_arglist): Properly reset
- assumed_type_expr_allowed.
-
-2012-03-03 Tobias Burnus <burnus@net-b.de>
-
- * lang.opt (Wc-binding-type): New flag.
- * options.c (gfc_init_options, gfc_handle_option): Handle it.
- * invoke.texi (Wc-binding-type): Document it.
- * gfortran.h (gfc_option_t): Add warn_c_binding_type.
- * decl.c (verify_bind_c_sym): Handle -Wc-binding-type.
- * symbol.c (gfc_set_default_type, verify_bind_c_derived_type):
- Ditto.
-
-2012-03-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48820
- * decl.c (gfc_match_decl_type_spec): Support type(*).
- (gfc_verify_c_interop): Allow type(*).
- * dump-parse-tree.c (show_typespec): Handle type(*).
- * expr.c (gfc_copy_expr): Ditto.
- * interface.c (compare_type_rank, compare_parameter,
- compare_actual_formal, gfc_procedure_use): Ditto.
- * libgfortran.h (bt): Add BT_ASSUMED.
- * misc.c (gfc_basic_typename, gfc_typename): Handle type(*).
- * module.c (bt_types): Ditto.
- * resolve.c (assumed_type_expr_allowed): New static variable.
- (resolve_actual_arglist, resolve_variable, resolve_symbol):
- Handle type(*).
- * trans-expr.c (gfc_conv_procedure_call): Ditto.
- * trans-types.c (gfc_typenode_for_spec, gfc_get_dtype): Ditto.
-
-2012-03-02 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52325
- * primary.c (gfc_match_varspec): Add missing ;.
-
-2012-03-02 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52325
- * primary.c (gfc_match_varspec): Add diagnostic for % with
- nonderived types.
-
-2012-03-02 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52270
- * expr.c (gfc_check_vardef_context): Fix check for
- intent-in polymorphic pointer .
- * interface.c (compare_parameter): Allow passing TYPE to
- intent-in polymorphic pointer.
-
-2012-03-02 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52452
- * resolve.c (resolve_intrinsic): Don't search for a
- function if we know that it is a subroutine.
-
-2012-02-29 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/52386
- * trans-expr.c (fcncall_realloc_result): Dereference the
- descriptor if needed.
-
-2012-02-22 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52335
- * io.c (gfc_match_open): Remove bogus F2003 DELIM= check.
-
-2012-02-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52295
- * interface.c (check_interface0): Internal procs in
- generic interfaces are allowed in Fortran 2008.
-
-2012-02-17 Tobias Burnus <burnus@net-b.de>
- Roland Stigge <stigge@antcom.de>
-
- PR translation/52273
- * interface.c (compare_actual_formal): Fix typo "at at".
-
-2012-02-17 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.texi (Q exponent-letter): Fix grammar.
-
-2012-02-17 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.texi (Status): Fix typos.
- * invoke.texi (ffixed-form, fstack-arrays): Spell Fortran with
- a majuscule.
-
-2012-02-17 Tobias Burnus <burnus@net-b.de>
- Roland Stigge <stigge@antcom.de>
-
- PR translation/52232
- PR translation/52234
- PR translation/52245
- PR translation/52246
- PR translation/52262
- PR translation/52273
- * io.c (gfc_match_open): Fix typo.
- * interface.c (compare_actual_formal): Ditto.
- * lang.opt (freal-4-real-8, freal-4-real-16, freal-8-real-16): Ditto.
- * match.c (alloc_opt_list, gfc_match_nullify): Ditto.
- * check.c (gfc_check_associated, gfc_check_null): Ditto.
-
-2012-02-12 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50981
- * trans-stmt.c (gfc_get_proc_ifc_for_call): New function.
- (gfc_trans_call): Use gfc_get_proc_ifc_for_call.
-
-2012-02-12 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_walk_elemental_function_args,
- gfc_walk_function_expr): Move call to gfc_get_proc_ifc_for_expr out
- of gfc_walk_elemental_function_args.
- * trans-stmt.c (gfc_trans_call): Ditto.
- * trans-array.h (gfc_get_proc_ifc_for_expr): New prototype.
- (gfc_walk_elemental_function_args): Update prototype.
-
-2012-02-12 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_get_proc_ifc_for_expr): New function.
- (gfc_walk_elemental_function_args): Move code to
- gfc_get_proc_ifc_for_expr and call it.
-
-2012-02-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52151
- * trans-expr.c (fcncall_realloc_result): Set also the stride.
-
-2012-02-07 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51514
- * trans-expr.c (gfc_conv_procedure_call): Add _data component
- for calls of scalar CLASS actuals to TYPE dummies.
-
-2012-02-05 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/48847
- * trans-decl.c: Warn about unused dummy procedure arguments
- if -Wunused-dummy-argument is specified. Suppress middle-end
- warnings about procedure arguments.
-
-2012-02-05 Paul Thomas <pault@gcc.gnu.org>
-
- * trans-array.c (gfc_array_allocate): Zero memory for all class
- array allocations.
- * trans-stmt.c (gfc_trans_allocate): Ditto for class scalars.
-
- PR fortran/52102
- * trans-stmt.c (gfc_trans_allocate): Before correcting a class
- array reference, ensure that 'dataref' points to the _data
- component that is followed by the array reference..
-
-2012-02-02 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/41587
- PR fortran/46356
- PR fortran/51754
- PR fortran/50981
- * class.c (insert_component_ref, class_data_ref_missing,
- gfc_fix_class_refs): New functions.
- * gfortran.h (gfc_fix_class_refs): New prototype.
- * trans-expr.c (gfc_conv_expr): Remove special case handling and call
- gfc_fix_class_refs instead.
-
-2012-02-02 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/52012
- * trans-expr.c (fcncall_realloc_result): If variable shape is
- correct, retain the bounds, whatever they are.
-
-2012-02-02 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52093
- * simplify.c (gfc_simplify_size): Handle INTRINSIC_PARENTHESES.
-
-2012-02-01 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/51958
- * frontend-passes.c (convert_elseif): New function.
- (optimize_namespace): Call it.
-
-2012-02-01 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52024
- * module.c (MOD_VERSION): Bump.
- (mio_typebound_proc): Read/write is_operator from/to the
- .mod file.
-
-2012-02-01 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52059
- * trans-expr.c (gfc_conv_procedure_call): Add array ref
- only to variables.
-
-2012-01-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52024
- * gfortran.h (gfc_tbp_generic): Store whether the
- generic is an operator.
- * decl.c (gfc_match_generic): Set that flag.
- * resolve.c (check_generic_tbp_ambiguity): Use it in the
- gfc_compare_interfaces check.
-
-2012-01-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52029
- * class.c (gfc_find_derived_vtab): Mark _copy function as pure.
-
-2012-01-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52013
- * class.c (get_unique_hashed_string): Adapt trim length.
- (gfc_build_class_symbol) Encode also corank in the container name.
-
-2012-01-31 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/52012
- * trans-expr.c (fcncall_realloc_result): Correct calculation of
- result offset.
-
-2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
-
- * module.c (pointer_info): Make true_name and module pointers
- rather than arrays, order pointers before other fields.
- (free_pi_tree): free true_name and module as well.
- (mio_read_string): Rename to read_string.
- (mio_write_string): Remove.
- (load_commons): Use read_string.
- (read_module): Use read_string rather than mio_internal_string.
- (write_blank_common): Call write_atom directly.
- (write_symbol): Likewise.
-
-2012-01-29 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/41600
- * expr.c (gfc_default_initializer): Convert the values if
- the type does not match.
-
-2012-01-29 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51972
- * trans-array.c (structure_alloc_comps): Fix assignment of
- polymorphic components (polymorphic deep copying).
-
-2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/51808
- * decl.c (set_binding_label): Make binding_label argument const.
- (curr_binding_label): Constify.
- * gfortran.h (gfc_symbol): Constify binding_label.
- (gfc_common_head): Likewise.
- (get_iso_c_sym): Likewise.
- * match.c (gfc_match_name_C): Constify buffer argument.
- * match.h (gfc_match_name_C): Likewise.
- * resolve.c (set_name_and_label): Constify binding_label argument.
- (gfc_iso_c_sub_interface): Constify binding_label variable.
- * symbol.c (get_iso_c_sym): Constify binding_label argument.
-
-2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/51808
- * decl.c (set_binding_label): Move prototype from match.h to here.
- (curr_binding_label): Make a pointer rather than static array.
- (build_sym): Check sym->binding_label pointer rather than array,
- update set_binding_label call, handle curr_binding_label changes.
- (set_binding_label): Handle new curr_binding_label, dest_label
- double ptr, and sym->binding_label.
- (verify_bind_c_sym): Handle sym->binding_label being a pointer.
- (set_verify_bind_c_sym): Check sym->binding_label pointer rather
- than array, update set_binding_label call.
- (gfc_match_bind_c_stmt): Handle curr_binding_label change.
- (match_procedure_decl): Update set_binding_label call.
- (gfc_match_bind_c): Change binding_label to pointer, update
- gfc_match_name_C call.
- * gfortran.h (GFC_MAX_BINDING_LABEL_LEN): Remove macro.
- (gfc_symbol): Make binding_label a pointer.
- (gfc_common_head): Likewise.
- * match.c (gfc_match_name_C): Heap allocate bind(C) name.
- * match.h (gfc_match_name_C): Change prototype argument.
- (set_binding_label): Move prototype to decl.c.
- * module.c (struct pointer_info): Make binding_label a pointer.
- (free_pi_tree): Free unused binding_label.
- (mio_read_string): New function.
- (mio_write_string): New function.
- (load_commons): Redo reading of binding_label.
- (read_module): Likewise.
- (write_common_0): Change to write empty string instead of name if
- no binding_label.
- (write_blank_common): Write empty string for binding label.
- (write_symbol): Change to write empty string instead of name if no
- binding_label.
- * resolve.c (gfc_iso_c_func_interface): Don't set binding_label.
- (set_name_and_label): Make binding_label double pointer, use
- asprintf.
- (gfc_iso_c_sub_interface): Make binding_label a pointer.
- (resolve_bind_c_comms): Handle cases if
- gfc_common_head->binding_label is NULL.
- (gfc_verify_binding_labels): sym->binding_label is a pointer.
- * symbol.c (gfc_new_symbol): Rely on XCNEW zero init for
- binding_label.
- (gen_special_c_interop_ptr): Don't set binding label.
- (generate_isocbinding_symbol): Insert binding_label into symbol
- table.
- (get_iso_c_sym): Use pointer assignment instead of strcpy.
- * trans-common.c (gfc_sym_mangled_common_id): Handle
- com->binding_label being a pointer.
- * trans-decl.c (gfc_sym_mangled_identifier): Handle
- sym->binding_label being a pointer.
- (gfc_sym_mangled_function_id): Likewise.
-
-2012-01-29 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52038
- * resolve.c (symbol_as): Remove unused, accidentally
- added function.
-
-2012-01-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51972
- * trans-stmt.c (gfc_trans_allocate): Properly check whether
- we have a BT_CLASS which needs to be memset.
-
-2012-01-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52022
- * trans-expr.c (gfc_conv_procedure_call): Fix passing
- of functions, which return allocatables.
-
-2012-01-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52016
- * resolve.c (resolve_formal_arglist): Fix elemental
- constraint checks for polymorphic dummies also for
- pointers.
-
-2012-01-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51970
- PR fortran/51977
- * primary.c (gfc_match_varspec. gfc_match_rvalue): Set
- handle array spec for BT_CLASS.
- * expr.c (gfc_get_variable_expr, gfc_lval_expr_from_sym)
- * frontend-passes.c (create_var): Ditto.
- * resolve.c (resolve_actual_arglist, resolve_assoc_var): Ditto.
- * trans-decl.c (gfc_trans_deferred_vars): Use class_pointer
- instead of attr.pointer.
- (gfc_generate_function_code): Use CLASS_DATA (sym) for BT_CLASS.
- * trans-intrinsic.c (conv_intrinsic_move_alloc): Move assert.
- * trans-stmt.c (trans_associate_var): Ask for the descriptor.
-
-2012-01-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51953
- * match.c (gfc_match_allocate): Allow more than allocate
- object with SOURCE=.
-
-2012-01-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52016
- * resolve.c (resolve_formal_arglist): Fix elemental
- constraint checks for polymorphic dummies.
-
-2012-01-27 Paul Thomas <pault@gcc.gnu.org>
- Tobias Burnus <burnus@gcc.gnu.org>
-
- PR fortran/48705
- PR fortran/51870
- PR fortran/51943
- PR fortran/51946
- * trans-array.c (gfc_array_init_size): Add two extra arguments
- to convey the dynamic element size of a calls object and to
- return the number of elements that have been allocated.
- (gfc_array_allocate): Add the same arguments and use them to
- call gfc_array_init_size. Before the allocation dereference
- the data pointer, if necessary. Set the allocated array to zero
- if the class element size or expr3 are non-null.
- * trans-expr.c (gfc_conv_class_to_class): Give this function
- global scope.
- (get_class_array_ref): New function.
- (gfc_copy_class_to_class): New function.
- * trans-array.h : Update prototype for gfc_array_allocate.
- * trans-stmt.c (gfc_trans_allocate): For non-variable class
- STATUS expressions extract the class object and the dynamic
- element size. Use the latter to call gfc_array_allocate and
- the former for setting the vptr and, via
- gfc_copy_class_to_clasfc_cs, to copy to the allocated data.
- * trans.h : Prototypes for gfc_get_class_array_ref,
- gfc_copy_class_to_class and gfc_conv_class_to_class.
-
-2012-01-25 Tobias Burnus <burnus@net-b.de>
-
- * resolve.c (symbol_as): Check also for attr.class_ok.
-
-2012-01-25 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51995
- * class.c (gfc_build_class_symbol): Fix invalid freeing
- issue with fclass->f2k_derived.
-
-2012-01-25 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51995
- * class.c (gfc_build_class_symbol): Ensure that
- fclass->f2k_derived is set.
-
-2012-01-25 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51966
- * resolve.c (resolve_structure_cons): Only create an
- array constructors for nonscalars.
-
-2012-01-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51948
- * check.c (variable_check): Fix checking for
- variables and deeply nested BLOCKs.
-
-2012-01-21 Tobias Burnus <burnus@net-b.de>
- Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/50556
- * symbol.c (check_conflict): namelist-group-name cannot have the SAVE
- attribute.
-
-2012-01-21 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51913
- * interface.c (compare_parameter): Fix CLASS comparison.
-
-2012-01-20 Tobias Burnus <burnus@net-b.de>
- Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/51056
- * module.c (load_needed, read_module): Don't mark __vtab etc.
- as use_only.
-
-2012-01-19 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51904
- * expr.c (gfc_build_intrinsic_call): Also set the symtree.
-
-2012-01-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/51634
- * trans-expr.c (gfc_conv_procedure_call): Deallocate allocatable
- components of temporary class arguments.
-
-2012-01-17 Tobias Burnus <burnus@net-b.de>
- Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/51869
- * trans-expr.c (alloc_scalar_allocatable_for_assignment): Nullify
- LHS after allocation, if it has allocatable components.
- * f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_CALLOC.
-
-2012-01-16 Mikael Morin <mikael@gcc.gnu.org>
- Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50981
- * trans-array.c (gfc_walk_elemental_function_args): Fix
- passing of deallocated allocatables/pointers as absent argument.
-
-2012-01-16 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51809
- * class.c (gfc_find_derived_vtab): Mark __vtab and
- __def_init as FL_VARIABLE not as FL_PARAMETER.
- * expr.c (gfc_simplify_expr): Remove special
- handling of __vtab.
- * resolve.c (resolve_values): Ditto.
- * trans-decl.c (gfc_get_symbol_decl): Mark __vtab
- and __def_init as TREE_READONLY.
-
-2012-01-16 Zydrunas Gimbutas <gimbutas@cims.nyu.edu>
- Andreas Kloeckner <kloeckner@cims.nyu.edu>
- Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/48426
- * gfortran.h (gfc_option_t): Add members flag_*_kind to store kind.
- * lang.opt: Add options -freal-4-real-8, -freal-4-real-10,
- -freal-4-real-16, -freal-8-real-4, -freal-8-real-10, -freal-8-real-16
- and -finteger-4-integer-8. User-desired type conversion information.
- * decl.c (gfc_match_old_kind_spec,kind_expr): Type conversions
- in declaration parsing.
- * trans-types.c (gfc_init_kinds): User-specified type conversion
- checked for current backend.
- * primary.c (match_integer_constant,match_real_constant): Implement
- type conversion in constant parsing.
- * options.c (gfc_init_options,gfc_handle_option): Translate input
- options to flags in internal options data structure.
- * invoke.texi: Document new options. Re-order options in Options
- summary section.
-
-2012-01-16 Paul Thomas <pault@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_create_temp_array): In the case of a
- class array temporary, detect a null 'eltype' on entry and use
- 'initial' to provde the class reference and so, through the
- vtable, the element size for the dynamic type.
- * trans-stmt.c (gfc_conv_elemental_dependencies): For class
- expressions, set 'eltype' to null and pass the values via the
- 'initial' expression.
-
-2012-01-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51800
- * resolve.c (build_default_init_expr): Also initialize
- nonconstant-length strings with -finit-character=<n>.
-
-2011-01-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51816
- * module.c (read_module): Don't make nonexisting
- intrinsic operators as found.
- (rename_list_remove_duplicate): New function.
- (gfc_use_modules): Use it.
-
-2012-01-13 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/48351
- * trans-array.c (structure_alloc_comps): Suppress interative
- call to self, when current component is deallocated using
- gfc_trans_dealloc_allocated.
- * class.c (gfc_build_class_symbol): Copy the 'alloc_comp'
- attribute from the declared type to the class structure.
-
-2012-01-13 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51842
- * fortran/trans-types.c (gfc_init_kinds): Use PTRDIFF_TYPE
- instead of a signed int of size POINTER_SIZE for
- gfc_index_integer_kind.
-
-2012-01-12 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/36755
- * intrinsic.texi (CHMOD): Extend a bit and remove statement
- that /bin/chmod is called.
-
-2012-01-10 Gerald Pfeifer <gerald@pfeifer.com>
-
- * gfortran.texi (Fortran 2003 Status): Fix grammar.
-
-2012-01-10 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51652
- * resolve.c (resolve_allocate_expr): For non-deferred char lengths,
- check whether type-spec matches declaration.
-
-2012-01-10 Tobias Burnus <burnus@net-b.de>
-
- * resolve.c (resolve_ordinary_assign): Improve error wording.
-
-2012-01-09 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/51791
- * interface.c (matching_typebound_op): Drill down through
- possible parentheses to obtain base expression. Do not test for
- 'class_ok' but, instead for the class structure components.
- * resolve.c (resolve_ordinary_assign): Extend error message for
- polymorphic assignment to advise checking for specific
- subroutine.
-
- PR fortran/51792
- * resolve.c (resolve_typebound_function): Restore 'static' to
- declaration.
-
-2012-01-09 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/51758
- * trans-array.c (gfc_walk_elemental_function_args):
- Skip over NULL() actual arguments.
-
-2012-01-09 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.texi: Bump copyright year.
- (Fortran 2003 Status): Update polymorphism item, add
- item for generic interface with DT name.
-
-2012-01-09 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51578
- * gfortran.h (gfc_use_list):
- * match.h (gfc_use_module): Rename to ...
- (gfc_use_modules): ... this.
- * module.c (use_locus, specified_nonint, specified_int): Remove
- global variable.
- (module_name): Change type to const char*, used with gfc_get_string.
- (module_list): New global variable.
- (free_rename): Free argument not global var.
- (gfc_match_use): Save match to module_list.
- (load_generic_interfaces, read_module): Don't free symtree.
- (write_dt_extensions, gfc_dump_module): Fix module-name I/O due to the
- type change of module_name.
- (write_symbol0, write_generic): Optimize due to the type change.
- (import_iso_c_binding_module, use_iso_fortran_env_module): Use
- locus of rename->where.
- (gfc_use_module): Take module_list as argument.
- (gfc_use_modules): New function.
- (gfc_module_init_2, gfc_module_done_2): Init module_list, rename_list.
- * parse.c (last_was_use_stmt): New global variable.
- (use_modules): New function.
- (decode_specification_statement, decode_statement): Move USE match up
- and call use_modules.
- (next_free, next_fixed): Call use_modules.
- (accept_statement): Don't call gfc_module_use.
-
-2012-01-06 Tobias Burnus <burnus@net-b.de>
-
- * trans-openmp.c (gfc_omp_clause_dtor, gfc_trans_omp_array_reduction):
- Update call to gfc_trans_dealloc_allocated.
- * trans.c (gfc_allocate_using_malloc): Fix spacing.
- (gfc_allocate_allocatable): For gfc_allocate_using_lib, jump to
- label_finish when an error occurs.
- (gfc_deallocate_with_status): Call caf_deregister for -fcoarray=lib.
- * trans.h (gfc_allocate_allocatable, gfc_deallocate_with_status):
- Update prototype.
- (gfor_fndecl_caf_deregister): New tree symbol.
- * trans-expr.c (gfc_conv_procedure_call): Update
- gfc_deallocate_with_status and gfc_trans_dealloc_allocated calls.
- * trans-array.c (gfc_array_allocate, gfc_trans_dealloc_allocated,
- structure_alloc_comps, gfc_trans_deferred_array): Ditto.
- (gfc_array_deallocate): Handle coarrays with -fcoarray=lib.
- * trans-array.h (gfc_array_deallocate, gfc_array_allocate,
- gfc_trans_dealloc_allocated): Update prototypes.
- * trans-stmt.c (gfc_trans_sync): Fix indentation.
- (gfc_trans_allocate): Fix errmsg padding and label handling.
- (gfc_trans_deallocate): Ditto and handle -fcoarray=lib.
- * expr.c (gfc_is_coarray): Fix algorithm for BT_CLASS.
- * libgfortran.h (GFC_STAT_STOPPED_IMAGE): Use large value
- to avoid other stats accidentally matching this one.
- * trans-decl.c (gfor_fndecl_caf_deregister): New global var.
- (gfc_build_builtin_function_decls): Fix prototype decl of caf_register
- and add decl for caf_deregister.
- (gfc_trans_deferred_vars): Handle CAF vars with -fcoarrays=lib.
- * trans-intrinsic.c (conv_intrinsic_move_alloc): Update call to
- gfc_deallocate_with_status.
-
-2012-01-05 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/PR48946
- * resolve.c (resolve_typebound_static): If the typebound
- procedure is 'deferred' try to find the correct specific
- procedure in the derived type operator space itself.
-
-2012-01-04 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50981
- * trans-array.h (gfc_walk_elemental_function_args): New argument.
- * trans-intrinsic.c (gfc_walk_intrinsic_function): Update call.
- * trans-stmt.c (gfc_trans_call): Ditto.
- * trans-array.c (gfc_walk_function_expr): Ditto.
- (gfc_walk_elemental_function_args): Get the dummy argument list
- if possible. Check that the dummy and the actual argument are both
- optional, and set can_be_null_ref accordingly.
-
-2012-01-04 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50981
- * trans.h (struct gfc_ss_info): New field data::scalar::can_be_null_ref
- * trans-array.c: If the reference can be NULL, save the reference
- instead of the value.
- * trans-expr.c (gfc_conv_expr): If we have saved a reference,
- dereference it.
-
-2012-01-04 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-expr.c (gfc_conv_expr): Move address taking...
- (gfc_conv_expr_reference): ... here.
-
-2012-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/49693
- * trans-common.c (create_common): Update copyright years. Mark
- variables as used to avoid warnings about unused variables in
- common blocks.
-
-2012-01-03 Hans-Peter Nilsson <hp@axis.com>
-
- * gfortran.h (struct gfc_expr): Add missing "struct"
- qualifier for member base_expr.
-
-2012-01-02 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/51529
- * trans-array.c (gfc_array_allocate): Null allocated memory of
- newly allocted class arrays.
-
- PR fortran/46262
- PR fortran/46328
- PR fortran/51052
- * interface.c(build_compcall_for_operator): Add a type to the
- expression.
- * trans-expr.c (conv_base_obj_fcn_val): New function.
- (gfc_conv_procedure_call): Use base_expr to detect non-variable
- base objects and, ensuring that there is a temporary variable,
- build up the typebound call using conv_base_obj_fcn_val.
- (gfc_trans_class_assign): Pick out class procedure pointer
- assignments and do the assignment with no further prcessing.
- (gfc_trans_class_array_init_assign, gfc_trans_class_init_assign
- gfc_trans_class_assign): Move to top of file.
- * gfortran.h : Add 'base_expr' field to gfc_expr.
- * resolve.c (get_declared_from_expr): Add 'types' argument to
- switch checking of derived types on or off.
- (resolve_typebound_generic_call): Set the new argument.
- (resolve_typebound_function, resolve_typebound_subroutine):
- Set 'types' argument for get_declared_from_expr appropriately.
- Identify base expression, if not a variable, in the argument
- list of class valued calls. Assign it to the 'base_expr' field
- of the final expression. Strip away all references after the
- last class reference.
+ * class.c (gfc_class_null_initializer): Fix finding the vtab.
+ (gfc_find_intrinsic_vtab): Use BT_VOID for some components.
-2012-01-02 Tobias Burnus <burnus@net-b.de>
+2013-01-03 Janus Weil <janus@gcc.gnu.org>
- PR fortran/51682
- * trans-intrinsic.c (trans_this_image, trans_image_index,
- trans_num_images, conv_intrinsic_cobound): Fold_convert the
- caf_num_images/caf_this_images variables to the correct int kind.
+ PR fortran/55855
+ * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes
+ of rvalue. Correct hyphenation in error message.
-2012-01-01 Jakub Jelinek <jakub@redhat.com>
+2013-01-03 Jakub Jelinek <jakub@redhat.com>
* gfortranspec.c (lang_specific_driver): Update copyright notice
dates.
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2013 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/fortran/ChangeLog-2012 b/gcc/fortran/ChangeLog-2012
new file mode 100644
index 00000000000..5045220f038
--- /dev/null
+++ b/gcc/fortran/ChangeLog-2012
@@ -0,0 +1,2798 @@
+2012-12-28 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55692
+ * check.c (gfc_check_associated): Remove a "gcc_assert (0)".
+
+2012-12-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55763
+ * check.c (gfc_check_move_alloc): Handle unlimited polymorphic.
+ * trans-intrinsic.c (conv_intrinsic_move_alloc): Ditto.
+
+2012-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/48976
+ * gfortran.h (gfc_inquire struct): Add pointer for inquire stream.
+ * io.c (io_tag): Add tag for inquire stream. (match_inquire_element):
+ Add matcher for new tag. (gfc_resolve_inquire): Resolve new tag.
+ * ioparm.def: Add new parameter for inquire stream.
+ * trans-io.c (gfc_trans_inquire): Add tranlste code for inquire
+ stream.
+
+2012-12-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54884
+ * module.c (write_symbol1_recursion): Set attr.public_use.
+ * interface.c (check_sym_interfaces, check_uop_interfaces,
+ gfc_check_interfaces): Remove attr.public_use code.
+ * resolve.c (resolve_function, resolve_variable,
+ resolve_typebound_procedure): Ditto.
+
+2012-12-22 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55763
+ * module.c (mio_component): Don't skip _hash's initializer.
+ * resolve.c (resolve_select_type): Add an assert.
+ * trans-expr.c (gfc_conv_procedure_call): Handle
+ INTENT(OUT) for UNLIMIT_POLY.
+
+2012-12-21 Richard Biener <rguenther@suse.de>
+
+ PR bootstrap/54659
+ * gfortran.h: Do not include gmp.h here.
+
+2012-12-21 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/55763
+ * match.c (select_type_set_tmp): Return is a derived type or
+ class typespec has no derived type.
+ * resolve.c (resolve_fl_var_and_proc): Exclude select type
+ temporaries from 'pointer'.
+ (resolve_symbol): Exclude select type temporaries from tests
+ for assumed size and assumed rank.
+
+2012-12-20 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/36044
+ * gfortran.h (gfc_isym_id): Add GFC_ISYM_BACKTRACE.
+ * intrinsic.c (add_subroutines): Add "backtrace".
+ * intrinsic.texi (BACKTRACE): Document BACKTRACE intrinsic.
+
+2012-12-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54818
+ * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ensure that
+ the string length is of type gfc_charlen_type_node.
+
+2012-12-19 Paul Thomas <pault@gcc.gnu.org>
+
+ * array.c (resolve_array_list): Apply C4106.
+ * check.c (gfc_check_same_type_as): Exclude polymorphic
+ entities from check for extensible types. Improved error
+ for disallowed argument types to name the offending type.
+ * class.c : Update copyright date.
+ (gfc_class_null_initializer): Add argument for initialization
+ expression and deal with unlimited polymorphic typespecs.
+ (get_unique_type_string): Give unlimited polymorphic
+ entities a type string.
+ (gfc_intrinsic_hash_value): New function.
+ (gfc_build_class_symbol): Incorporate unlimited polymorphic
+ entities.
+ (gfc_find_derived_vtab): Deal with unlimited polymorphic
+ entities.
+ (gfc_find_intrinsic_vtab): New function.
+ * decl.c (gfc_match_decl_type_spec): Match typespec for
+ unlimited polymorphic type.
+ (gfc_match_data_decl): Skip to 'ok' if unlimited polymorphic.
+ expr.c (gfc_check_pointer_assign): Apply C717. If unlimited
+ polymorphic lvalue, find rvalue vtable for all typespecs,
+ except unlimited polymorphic expressions.
+ (gfc_check_vardef_context): Handle unlimited polymorphic
+ entities.
+ * gfortran.h : Add unlimited polymorphic attribute. Add
+ second arg to gfc_class_null_initializer primitive and
+ primitive for gfc_find_intrinsic_vtab. Add UNLIMITED_POLY
+ to detect unlimited polymorphic expressions.
+ * interface.c (gfc_compare_types): If expr1 is unlimited
+ polymorphic, always return 1. If expr2 is unlimited polymorphic
+ enforce C717.
+ (gfc_compare_interfaces): Skip past conditions that do not
+ apply for unlimited polymorphic entities.
+ (compare_parameter): Make sure that an unlimited polymorphic,
+ allocatable or pointer, formal argument is matched by an
+ unlimited polymorphic actual argument.
+ (compare_actual_formal): Ensure that an intrinsic vtable exists
+ to match an unlimited polymorphic formal argument.
+ * match.c (gfc_match_allocate): Type kind parameter does not
+ need to match an unlimited polymorphic allocate-object.
+ (alloc_opt_list): An unlimited polymorphic allocate-object
+ requires a typespec or a SOURCE tag.
+ (select_intrinsic_set_tmp): New function.
+ (select_type_set_tmp): Call new function. If it returns NULL,
+ build a derived type or class temporary instead.
+ (gfc_match_type_is): Remove restriction to derived types only.
+ Bind(C) or sequence derived types not permitted.
+ * misc (gfc_typename): Printed CLASS(*) for unlimited
+ polymorphism.
+ * module.c : Add AB_UNLIMITED_POLY to pass unlimited
+ polymorphic attribute to and from modules.
+ * resolve.c (resolve_common_vars): Unlimited polymorphic
+ entities cannot appear in common blocks.
+ (resolve_deallocate_expr): Deallocate unlimited polymorphic
+ enities.
+ (resolve_allocate_expr): Likewise for allocation. Make sure
+ vtable exists.
+ (gfc_type_is_extensible): Unlimited polymorphic entities are
+ not extensible.
+ (resolve_select_type): Handle unlimited polymorphic selectors.
+ Ensure that length type parameters are assumed and that names
+ for intrinsic types are generated.
+ (resolve_fl_var_and_proc): Exclude select type temporaries
+ from test of extensibility of type.
+ (resolve_fl_variable): Likewise for test that assumed character
+ length must be a dummy or a parameter.
+ (resolve_fl_derived0): Return SUCCESS unconditionally for
+ unlimited polymorphic entities. Also, allow unlimited
+ polymorphic components.
+ (resolve_fl_derived): Return SUCCESS unconditionally for
+ unlimited polymorphic entities.
+ (resolve_symbol): Return early with unlimited polymorphic
+ entities.
+ * simplifiy.c : Update copyright year.
+ (gfc_simplify_extends_type_of): No simplification possible
+ for unlimited polymorphic arguments.
+ * symbol.c (gfc_use_derived): Nothing to do for unlimited
+ polymorphic "derived type".
+ (gfc_type_compatible): Return unity if ts1 is unlimited
+ polymorphic.
+ * trans-decl.c (create_function_arglist) Formal arguments
+ without a character length should be treated in the same way
+ as passed lengths.
+ (gfc_trans_deferred_vars): Nullify the vptr of unlimited
+ polymorphic pointers. Avoid unlimited polymorphic entities
+ triggering gcc_unreachable.
+ * trans-expr.c (gfc_conv_intrinsic_to_class): New function.
+ (gfc_trans_class_init_assign): Make indirect reference of
+ src.expr.
+ (gfc_trans_class_assign): Expression NULL of unknown type
+ should set NULL vptr on lhs. Treat C717 cases where lhs is
+ a derived type and the rhs is unlimited polymorphic.
+ (gfc_conv_procedure_call): Handle the conversion of a non-class
+ actual argument to match an unlimited polymorphic formal
+ argument. Suppress the passing of a character string length
+ in this case. Make sure that calls to the character __copy
+ function have two character string length arguments.
+ (gfc_conv_initializer): Pass the initialization expression to
+ gfc_class_null_initializer.
+ (gfc_trans_subcomponent_assign): Ditto.
+ (gfc_conv_structure): Move handling of _size component.
+ trans-intrinsic.c: (gfc_conv_same_type_as): Handle conditions
+ where unlimited polymorphic arguments have null vptr.
+ * trans-stmt.c (trans_associate_var): Correctly treat array
+ temporaries associated with unlimited polymorphic selectors.
+ Recover the overwritten dtype for the descriptor. Use the _size
+ field of the vptr for character string lengths.
+ (gfc_trans_allocate): Cope with unlimited polymorphic allocate
+ objects; especially with character source tags.
+ (reset_vptr): New function.
+ (gfc_trans_deallocate): Call it.
+ * trans-types.c (gfc_get_derived_type): Detect unlimited
+ polymorphic types and deal with cases where the derived type of
+ components is null.
+ * trans.c : Update copyright year.
+ (trans_code): Call gfc_trans_class_assign for C717 cases where
+ the lhs is not unlimited polymorphic.
+
+2012-12-19 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55733
+ * trans-decl.c (gfc_create_string_length): Avoid setting
+ TREE_STATIC for automatic variables with -fno-automatic.
+
+2012-12-19 Tobias Burnus <burnus@net-b.de>
+ Jakub Jelinek <jakub@redhat.com>
+ Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55636
+ PR fortran/55733
+ * gfortran.h (GFC_PREFIX): Define.
+ * trans-decl.c (gfc_create_string_length): For VAR_DECLs that
+ will be TREE_STATIC, use GFC_PREFIX to mangle the names. Handle
+ -fno-automatic
+ (gfc_trans_deferred_vars): Don't free variables SAVEd via
+ -fno-automatic.
+
+2012-12-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55197
+ * module.c (gfc_use_module): Free rename list only for
+ internally generated intrinsic modules.
+
+2012-12-16 Tobias Burnus <burnus@net-b.de>
+
+ * trans-intrinsic.c (conv_intrinsic_move_alloc): Set dynamic
+ type of the FROM variable to the declared type.
+
+2012-12-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55638
+ * resolve.c (resolve_formal_arglist): Allow VALUE without
+ INTENT for ELEMENTAL procedures.
+
+2012-12-10 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/52909
+ * trans-decl.c (get_proc_pointer_decl): Apply name mangling.
+
+2012-12-09 Tobias Burnus <burnus@net-b.de>
+
+ * trans-array.c (structure_alloc_comps): Use NULL_TREE in the
+ call to gfc_deallocate_scalar_with_status.
+ * trans-decl.c (gfc_trans_deferred_vars): Pass symbol.
+ * trans-stmt.c (gfc_trans_deallocate): Pass polymorphic variable.
+
+2012-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/55593
+ * frontend-passes.c (doloop_code): Use resolved_sym
+ instead of n.sym->formal for formal argument list
+ to get the correct version for all generic subroutines.
+
+2012-12-05 Tobias Burnus <burnus@net-b.de>
+
+ * resolve.c (generate_component_assignments): Fix memleak.
+
+2012-12-03 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55548
+ * intrinsic.texi (SYSTEM_CLOCK): Update documentation of SYSTEM_CLOCK.
+
+2012-12-03 Tobias Burnus <burnus@net-b.de>
+ Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/37336
+ * class.c (gfc_is_finalizable): New function.
+ * gfortran.h (gfc_is_finalizable): Its prototype.
+ * module.c (mio_component): Read initializer for vtype's _final.
+ * resolve.c (resolve_fl_derived0): Call gfc_is_finalizable.
+ * trans-expr.c (gfc_vtable_final_get): New function.
+ (conv_parent_component_references): Fix comment.
+ (gfc_conv_variable): Fix for scalar coarray components.
+ * trans-intrinsic.c (conv_intrinsic_move_alloc): For BT_CLASS,
+ pass the BT_CLASS type and not the declared type to
+ gfc_deallocate_scalar_with_status.
+ * trans.h (gfc_vtable_final_get): New prototype.
+
+2012-12-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55475
+ * scanner.c (gfc_next_char_literal): Fix setting locus
+ to free_line_length for the error message.
+ * error.c (show_locus): Fix potential out-of-bounds
+ read.
+
+2012-12-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/37336
+ * class.c (finalizer_insert_packed_call): New static function.
+ (finalize_component, generate_finalization_wrapper):
+ Fix coarray handling and packing.
+
+2012-12-02 Paul Thomas <pault@gcc.gnu.org>
+
+ * resolve.c (resolve_allocate_deallocate,
+ resolve_typebound_intrinsic_op): Recover revisions 193568 and
+ 193778, which were accidentally reverted by the previous patch.
+
+2012-12-01 Alessandro Fanfarillo <alessandro.fanfarillo@gmail.com>
+ Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/46897
+ * gfortran.h : Add bit field 'defined_assign_comp' to
+ symbol_attribute structure.
+ Add primitive for gfc_add_full_array_ref.
+ * expr.c (gfc_add_full_array_ref): New function.
+ (gfc_lval_expr_from_sym): Call new function.
+ * resolve.c (add_comp_ref): New function.
+ (build_assignment): New function.
+ (get_temp_from_expr): New function
+ (add_code_to_chain): New function
+ (generate_component_assignments): New function that calls all
+ the above new functions.
+ (resolve_code): Call generate_component_assignments.
+ (check_defined_assignments): New function.
+ (resolve_fl_derived0): Call check_defined_assignments.
+ (gfc_resolve): Reset component_assignment_level in case it is
+ left in a bad state by errors.
+
+
+ * resolve.c (is_sym_host_assoc, resolve_procedure_interface,
+ resolve_contained_fntype, resolve_procedure_expression,
+ resolve_elemental_actual, resolve_global_procedure,
+ is_scalar_expr_ptr, gfc_iso_c_func_interface, resolve_function,
+ set_name_and_label, gfc_iso_c_sub_interface,
+ resolve_specific_s0, resolve_operator, compare_bound_mpz_t,
+ gfc_resolve_character_operator, resolve_typebound_function,
+ gfc_resolve_expr, forall_index, remove_last_array_ref,
+ conformable_arrays, resolve_allocate_expr,
+ resolve_allocate_deallocate, resolve_select_type,
+ resolve_transfer, resolve_where,
+ gfc_resolve_where_code_in_forall, gfc_resolve_forall_body,
+ gfc_count_forall_iterators, resolve_values,
+ resolve_bind_c_comms, resolve_bind_c_derived_types,
+ gfc_verify_binding_labels, apply_default_init,
+ build_default_init_expr, apply_default_init_local,
+ resolve_fl_var_and_proc, resolve_fl_procedure,
+ gfc_resolve_finalizers, check_generic_tbp_ambiguity,
+ resolve_typebound_intrinsic_op, resolve_typebound_procedure,
+ resolve_typebound_procedures, ensure_not_abstract,
+ resolve_fl_derived0, resolve_fl_parameter, resolve_symbol,
+ resolve_equivalence_derived): Remove trailing white space.
+ * gfortran.h : Remove trailing white space.
+
+2012-11-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52161
+ * trans-stmt.c (gfc_trans_sync): Fix bound checking
+ for -fcoarray=lib.
+
+2012-11-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52161
+ * trans-stmt.c (gfc_trans_sync): Fix bound checking.
+
+2012-11-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55476
+ * expr.c (gfc_check_pointer_assign): Fix check
+ pointer-might-outlive-target check for host_assoc.
+
+2012-11-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans-decl.c (gfc_finish_var_decl): Do not set DECL_RESTRICTED_P.
+
+2012-11-26 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54997
+ * decl.c (match_procedure_decl): Don't set 'referenced' attribute
+ for PROCEDURE declarations.
+ * parse.c (gfc_fixup_sibling_symbols,parse_contained): Don't set
+ 'referenced' attribute for all contained procedures.
+ * trans-decl.c (gfc_get_symbol_decl): Allow for unreferenced procedures.
+ (build_function_decl): Set TREE_USED for referenced procedures.
+
+2012-11-26 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54881
+ * match.c (select_derived_set_tmp,select_class_set_tmp): Removed and
+ unified into ...
+ (select_type_set_tmp): ... this one. Set POINTER argument according to
+ selector.
+ * trans-intrinsic.c (gfc_conv_associated): Use 'gfc_class_data_get'
+ instead of 'gfc_add_data_component'.
+
+2012-11-25 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/30146
+ * frontend-passes.c (doloop_warn): New function.
+ (doloop_list): New static variable.
+ (doloop_size): New static variable.
+ (doloop_level): New static variable.
+ (gfc_run_passes): Call doloop_warn.
+ (doloop_code): New function.
+ (doloop_function): New function.
+ (gfc_code_walker): Keep track of DO level.
+
+2012-11-24 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/55314
+ * resolve.c (resolve_allocate_deallocate): Compare all
+ subscripts when deciding if to reject a (de)allocate
+ statement.
+
+2012-11-21 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55352
+ * trans-decl.c (generate_local_decl): Don't warn for explicitly imported
+ but unused module variables which are in a namelist or common block.
+
+2012-11-20 Diego Novillo <dnovillo@google.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * trans-openmp.c: Replace all vec<T, A>() initializers
+ with vNULL.
+
+2012-11-17 Diego Novillo <dnovillo@google.com>
+
+ Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
+
+ * frontend-passes.c: Use new vec API in vec.h.
+ * trans-array.c: Likewise.
+ * trans-common.c: Likewise.
+ * trans-decl.c: Likewise.
+ * trans-expr.c: Likewise.
+ * trans-intrinsic.c: Likewise.
+ * trans-openmp.c: Likewise.
+ * trans-stmt.c: Likewise.
+ * trans-types.c: Likewise.
+ * trans.h: Likewise.
+
+2012-11-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/55341
+ * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Convert last
+ argument to memcpy to size_type_node type.
+ * trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.
+ * trasn-array.c (duplicate_allocatable): Likewise.
+
+2012-11-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55297
+ * resolve.c (resolve_typebound_intrinsic_op): Only add typebound
+ operators to the operator list in the namespace of the derived type.
+
+
+2012-11-12 Jan Hubicka <jh@suse.cz>
+
+ * f95-lang.c (ATTR_NOTHROW_LEAF_MALLOC_LIST): New macro.
+ (gfc_define_builtin): Use set_call_expr_flags.
+ (gfc_init_builtin_functions): Update.
+
+2012-11-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55272
+ * module.c (mio_array_spec): Correctly handle coarray
+ scalars.
+
+2012-11-07 Tobias Schlüter <tobi@gcc.gnu.org>
+
+ PR fortran/51727
+ * module.c (sorted_pointer_info): New.
+ (gfc_get_sorted_pointer_info): New.
+ (free_sorted_pointer_info_tree): New.
+ (compare_sorted_pointer_info): New.
+ (find_symbols_to_write): New.
+ (write_symbol1_recursion): New.
+ (write_symbol1): Collect symbols that need writing, output in order.
+ (write_generic): Traverse tree in order.
+
+2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/53063
+ * options.c (set_Wall): Do not set warn_switch here.
+
+2012-11-06 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54917
+ * target-memory.c (gfc_target_expr_size,gfc_target_interpret_expr):
+ Handle BT_CLASS.
+ * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Add support for
+ polymorphic arguments.
+
+2012-11-04 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55199
+ * primary.c (gfc_match_varspec): Clear typespec if it cannot be
+ determined at this point.
+
+2012-10-31 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/53718
+ * trans.h (GFC_DECL_PUSH_TOPLEVEL): Removed.
+ * trans-decl.c (gfc_get_symbol_decl,gfc_generate_function_code): Remove
+ GFC_DECL_PUSH_TOPLEVEL.
+ (build_function_decl): Do not push __copy procedure to toplevel.
+
+2012-10-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55134
+ * trans-array.c (gfc_conv_array_parameter): Regard AS_DEFERRED as
+ array with descriptor.
+
+2012-10-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54958
+ * gfortran.h (gfc_resolve_iterator_expr,
+ gfc_check_vardef_context): Update prototype.
+ * expr.c (gfc_check_vardef_context): Add own_scope
+ argument and honour it.
+ * resolve.c (gfc_resolve_iterator_expr): Add own_scope
+ argument and honour it.
+ (resolve_deallocate_expr, resolve_allocate_expr,
+ resolve_data_variables, resolve_transfer
+ resolve_lock_unlock, resolve_code): Update calls.
+ * array.c (resolve_array_list): Ditto.
+ * check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto.
+ * interface.c (compare_actual_formal): Ditto.
+ * intrinsic.c (check_arglist): Ditto.
+ * io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire): Ditto.
+
+2012-10-27 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * trans.c (gfc_allocate_allocatable): Revert accidental
+ commit.
+
+2012-10-24 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55037
+ * trans-expr.c (gfc_conv_procedure_call): Move a piece of code and
+ remove an assert.
+
+2012-10-21 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54725
+ * Make-lang.in (CFLAGS-cpp.o): Use TARGET_SYSTEM_ROOT_DEFINE.
+ * cpp.o (gfc_cpp_init_options): Use it for
+ setting gfc_cpp_option.sysroot.
+
+2012-10-21 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/54465
+ * lang.opt (Wextra): Add.
+ * invoke.texi: Document that -Wc-binding-type, -Wconversion
+ and -Wline-truncation are implied by -Wall. Document that
+ -Wcompare-reals is implied by -Wextra. Document -Wextra.
+ * options.c (set_Wextra): New function.
+ (gfc_handle_option): Handle -Wextra.
+
+2012-10-19 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54224
+ * trans-expr.c (conv_function_val): Set TREE_USED.
+
+2012-10-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54884
+ * resolve.c (specification_expr): Change to bool.
+ (resolve_formal_arglist, resolve_symbol): Set
+ specification_expr to true before resolving the array spec.
+ (resolve_variable, resolve_charlen, resolve_fl_variable):
+ Properly reset specification_expr.
+ (resolve_function): Set public_use when used in
+ a specification expr.
+
+2012-10-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50981
+ PR fortran/54618
+ * trans.h (gfc_conv_derived_to_class, gfc_conv_class_to_class):
+ Update prototype.
+ * trans-stmt.c (trans_associate_var,gfc_trans_allocate): Update
+ calls to those functions.
+ * trans-expr.c (gfc_conv_derived_to_class, gfc_conv_class_to_class,
+ gfc_conv_expr_present): Handle absent polymorphic arguments.
+ (class_scalar_coarray_to_class): New function.
+ (gfc_conv_procedure_call): Update calls.
+
+2012-10-12 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/40453
+ * interface.c (check_dummy_characteristics): Recursively check dummy
+ procedures.
+
+2012-10-11 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54784
+ * trans-stmt.c (gfc_trans_allocate): Correctly determine the reference
+ to the _data component for polymorphic allocation with SOURCE.
+
+2012-10-06 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54832
+ * resolve.c (resolve_fl_derived0): Correctly copy the 'class_ok'
+ attribute for proc-ptr components with RESULT variable.
+
+2012-10-06 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/45521
+ * interface.c (generic_correspondence): Implement additional
+ distinguishability criteria of F08.
+ (compare_actual_formal): Reject data object as actual argument for
+ procedure formal argument.
+
+2012-10-04 Tobias Burnus <burnus@net-b.de>
+
+ * expr.c (scalarize_intrinsic_call): Plug memory leak.
+ * frontend-passes.c (gcc_assert): Extend assert.
+ * interface.c (gfc_compare_derived_types): Fix comparison.
+ (gfc_check_operator_interface): Move up to make this error
+ message reachable.
+ (get_sym_storage_size): Remove always-true checks.
+ * io.c (format_lex): Add comment.
+ (gfc_free_wait): Free memory.
+ * match.c (gfc_match_select_type): Ditto.
+ * matchexpr.c (match_level_3): Ditto.
+ * primary.c (match_string_constant): Ditto.
+ (match_actual_arg): Check return value.
+ * resolve.c (gfc_resolve_substring_charlen,
+ resolve_typebound_generic_call, resolve_typebound_function,
+ resolve_typebound_subroutine): Free memory.
+ * trans-types.c (gfc_get_derived_type): Remove always-true check.
+
+2012-10-02 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54778
+ * interface.c (matching_typebound_op): Check for 'class_ok' attribute.
+
+2012-09-30 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54667
+ * intrinsic.texi (C_F_POINTER): Fix description.
+ * resolve.c (gfc_iso_c_sub_interface): Add a check for FPTR argument
+ of C_F_POINTER. Modify two error messages. Cleanup.
+
+2012-09-24 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54618
+ PR fortran/54690
+ * trans-expr.c (gfc_conv_procedure_call): Fix INTENT(OUT)
+ handling for allocatable BT_CLASS.
+
+2012-09-24 Lawrence Crowl <crowl@google.com>
+
+ * trans-expr.c (gfc_conv_cst_int_power): Change to new double_int API.
+ * target-memory.c (gfc_interpret_logical): Likewise.
+
+2012-09-23 Tobias Burnus <burnus@net-b.de>
+
+ * parse.c (parse_derived): Don't set attr.alloc_comp
+ for pointer components with allocatable subcomps.
+
+ PR fortran/54599
+ * resolve.c (resolve_fl_namelist): Remove superfluous
+ NULL check.
+ * simplify.c (simplify_min_max): Remove unreachable code.
+ * trans-array.c (gfc_trans_create_temp_array): Change
+ a condition into an assert.
+
+ PR fortran/54618
+ * trans-expr.c (gfc_trans_class_init_assign): Guard
+ re-setting of the _data by gfc_conv_expr_present.
+ (gfc_conv_procedure_call): Fix INTENT(OUT) handling
+ for allocatable BT_CLASS.
+
+2012-09-22 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/54599
+ * dependency.c (gfc_dep_compare_expr): Clarify logic,
+ remove dead code.
+
+2012-09-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54599
+ * cpp.c (print_line): Properly handle extern C.
+
+2012-09-20 Martin Jambor <mjambor@suse.cz>
+
+ * trans-decl.c (gfc_get_extern_function_decl): Push NULL cfun. Do not
+ set and restore current_function_decl.
+ (gfc_init_coarray_decl): Do not set and restore current_function_decl.
+
+2012-09-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54608
+ * simplify.c (gfc_simplify_scan, gfc_simplify_verify):
+ Fix handling of BACK=variable.
+
+2012-09-17 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54285
+ * expr.c (gfc_check_pointer_assign): Correctly handle procedure pointers
+ as function results.
+ * primary.c (gfc_match_varspec): Allow to call a PPC with proc-ptr
+ result.
+
+2012-09-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54603
+ * trans-expr.c (gfc_trans_subcomponent_assign): Handle
+ proc-pointer components.
+
+2012-09-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54599
+ * error.c (error_print): Move increment out of the assert.
+ * interface.c (gfc_compare_derived_types): Add assert.
+ (get_expr_storage_size): Remove always-true logical condition.
+ * resolve.c (resolve_allocate_expr): Fix looping logic.
+ * target-memory.c (gfc_target_expr_size): Add assert.
+
+2012-09-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54594
+ * resolve.c (get_checked_tb_operator_target): Add a reference to the
+ relevant quote from the F08 standard.
+
+2012-09-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54594
+ * interface.c (compare_type_rank): Handle CLASS arrays.
+
+2012-09-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54387
+ * expr.c (gfc_check_pointer_assign): Check for result of embracing
+ function.
+
+2012-09-16 Tobias Burnus <burnus@net-b.de>
+
+ * trans-decl.c (gfc_generate_function_code): Fix
+ gfc_option.coarray check.
+ * trans-stmt.c (compute_inner_temp_size): Fix handling
+ of gfc_option.rtcheck.
+
+2012-09-16 Mikael Morin <mikael@gcc.gnu.org>
+
+ * symbol.c (gfc_undo_symbols): Correctly undo namelists.
+
+2012-09-15 Tobias Burnus <burnus@net-b.de>
+
+ * trans-io.c (gfc_trans_transfer): Add an assert.
+
+2012-09-15 Tobias Burnus <burnus@net-b.de>
+
+ * arith.c (arith_power): Call gfc_free_expr in case of error.
+ * array.c (gfc_match_array_constructor): Initialize variable.
+ (gfc_resolve_character_array_constructor): Remove superfluous check.
+ (gfc_array_dimen_size): Add assert.
+ * check.c (numeric_check): Fix implicit typing.
+ * class.c (gfc_build_class_symbol): Add assert.
+ (finalize_component): Free memory.
+ * dump-parse-tree.c (show_namespace): Add assert.
+ * trans-io.c (transfer_namelist_element, transfer_expr): Avoid
+ memory leakage.
+ (gfc_trans_transfer): Add assert.
+ * trans.c (gfc_trans_runtime_check): Call va_end
+
+2012-09-15 Tobias Burnus <burnus@net-b.de>
+
+ * match.c (lock_unlock_statement, sync_statement): Fix potential
+ double freeing.
+ (sync_statement): Remove unreachable code.
+ * simplify.c (gfc_simplify_bessel_n2): Avoid double freeing.
+ (gfc_simplify_repeat): Remove bogus code.
+ * target-memory.h (gfc_target_encode_expr): Update prototype.
+ * target-memory.c (gfc_target_encode_expr, encode_array,
+ encode_derived): Return unsigned HOST_WIDE_INT.
+ (gfc_target_interpret_expr): Add assert.
+ (gfc_merge_initializers): Fix "== 0" check for mpz_t.
+ * symbol.c (gfc_get_typebound_proc): Add assert.
+ (gfc_merge_initializers): Remove unreachable check.
+
+2012-09-13 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54556
+ * resolve.c (resolve_formal_arglist): Allow VALUE arguments
+ with implicit_pure.
+ (gfc_impure_variable): Don't check gfc_pure such that the
+ function also works for gfc_implicit_pure procedures.
+
+2012-09-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54225
+ PR fortran/53306
+ * array.c (match_subscript, gfc_match_array_ref): Fix
+ diagnostic of coarray's '*'.
+
+2012-09-07 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/54208
+ * simplify.c (simplify_bound_dim): Resolve array spec before
+ proceeding with simplification.
+
+2012-09-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54463
+ * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Fix matmul
+ call to BLAS if the default-kind has been promoted.
+
+2012-09-05 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54462
+ * symbol.c (gfc_undo_symbols): Avoid NULL pointer dereference.
+
+2012-09-04 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54435
+ PR fortran/54443
+ * match.c (gfc_match_select_type): Make sure to only access CLASS_DATA
+ for BT_CLASS.
+
+2012-09-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54467
+ * class.c (gfc_find_derived_vtab): Fix disabling of _final
+ by continuing to generate normal type-bound procedures.
+
+2012-09-03 Tobias Burnus <burnus@net-b.de>
+
+ * class.c (gfc_find_derived_vtab): Disable ABI-breaking
+ generation of the "_final" subroutine for now.
+
+2012-09-03 Tobias Burnus <burnus@net-b.de>
+
+ * class.c (finalize_component): Fixes to the comment.
+
+2012-09-03 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/37336
+ * gfortran.h (symbol_attribute): Add artificial.
+ * module.c (mio_symbol_attribute): Handle attr.artificial
+ * class.c (gfc_build_class_symbol): Defer creation of the vtab
+ if the DT has finalizers, mark generated symbols as
+ attr.artificial.
+ (has_finalizer_component, finalize_component,
+ finalization_scalarizer, generate_finalization_wrapper):
+ New static functions.
+ (gfc_find_derived_vtab): Add _final component and call
+ generate_finalization_wrapper.
+ * dump-parse-tree.c (show_f2k_derived): Use resolved
+ proc_tree->n.sym rather than unresolved proc_sym.
+ (show_attr): Handle attr.artificial.
+ * resolve.c (gfc_resolve_finalizers): Ensure that the vtab exists.
+ (resolve_fl_derived): Resolve finalizers before
+ generating the vtab.
+ (resolve_symbol): Also allow assumed-rank arrays with CONTIGUOUS;
+ skip artificial symbols.
+ (resolve_fl_derived0): Skip artificial symbols.
+
+2012-09-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54426
+ * symbol.c (find_common_symtree): New function.
+ (gfc_undo_symbols): Use it; free common_head if needed.
+
+2012-08-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54389
+ * trans-decl.c (gfc_get_extern_function_decl,
+ build_function_decl): Don't mark impure elemental
+ functions as DECL_PURE_P and honour implicit_pure.
+
+2012-08-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54382
+ * error.c (show_locus): Avoid out of bound access.
+
+2012-08-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54384
+ * decl.c (match_data_constant): Add missing gfc_free_expr.
+ (top_val_list): Remove always-true condition.
+ * data.c (get_array_index, create_character_initializer):
+ Free temporary expressions.
+ (gfc_assign_data_value): Free expression when aborting.
+
+2012-08-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54384
+ * symbol.c (gfc_copy_formal_args): Set also sym->formal_ns.
+
+2012-08-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54384
+ * resolve.c (gfc_resolve_character_operator): Free temporary
+ variables.
+ * trans-expr.c (gfc_conv_statement_function): Ditto.
+
+2012-08-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54384
+ * dependency.c (check_section_vs_section): Use gfc_free_expr
+ instead of free.
+ * trans-intrinsic.c (conv_generic_with_optional_char_arg): Use
+ gfc_free_symbol instead of free.
+
+2012-08-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54384
+ * trans-expr.c (gfc_trans_arrayfunc_assign): Free se.ss
+ and loop.
+
+2012-08-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/41093
+ * gfortran.h (gfc_common_head): Add "int refs".
+ * match.c (gfc_match_common): Increment refs.
+ * resolve.c (resolve_symbol): Only increment formal_ns->refs
+ if formal_ns is not sym->ns.
+ * symbol.c (gfc_free_symbol): Only free formal_ns if
+ if formal_ns is not sym->ns. Free common_block if refs is one.
+ (gfc_release_symbol): Release formal_ns only if the
+ symbol is not ENTRY of a module.
+ * decl.c (get_proc_name): Don't increment gfc_current_ns->refs.
+ * parse.c (parse_interface): Incement proc_unit->refs++ for
+ proc-pointer result variables.
+ * module.c (mio_symbol): Don't increase sym->refs for its
+ use in sym->formal_ns->proc_name.
+
+2012-08-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54370
+ * trans-stmt.c (gfc_trans_do_while): Don't change the logical
+ kind for negation of the condition.
+
+2012-08-27 Tobias Burnus <burnus@net-b.de>
+
+ * options.c (set_Wall): Don't set for -Wcompare-reals.
+ * invoke.texi (-Wall, -Wcompare-reals): -Wall no longer
+ implies -Wcompare-reals.
+
+2012-08-24 Simon Baldwin <simonb@google.com>
+
+ * lang.opt (-cpp=): Mark flag NoDWARFRecord.
+
+2012-08-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54350
+ * trans-array.c (free_ss_info): Free data.array.subscript.
+ (gfc_free_ss): No longer free data.array.subscript.
+ (walk_coarray): New function, moved from trans-intrinsic.c
+ (gfc_conv_expr_descriptor): Walk array descriptor instead
+ of taking passed "ss".
+ (get_array_ctor_all_strlen, gfc_add_loop_ss_code,
+ gfc_conv_array_parameter): Update call and cleanup ss handling.
+ * trans-array.h (gfc_conv_expr_descriptor,
+ gfc_conv_array_parameter): Update prototype.
+ * trans-expr.c (gfc_conv_derived_to_class,
+ conv_isocbinding_procedure, gfc_conv_procedure_call,
+ gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign,
+ gfc_trans_pointer_assignment, gfc_trans_arrayfunc_assign): Update
+ call to gfc_conv_expr_descriptor and gfc_conv_array_parameter, and
+ clean up.
+ * trans-intrinsic.c (walk_coarray): Moved to trans-array.c
+ (trans_this_image, trans_image_index, gfc_conv_intrinsic_rank
+ gfc_conv_intrinsic_bound, gfc_conv_intrinsic_cobound,
+ gfc_conv_intrinsic_len, gfc_conv_intrinsic_size,
+ gfc_conv_intrinsic_sizeof, gfc_conv_intrinsic_storage_size,
+ gfc_conv_intrinsic_transfer, gfc_conv_allocated,
+ gfc_conv_associated, gfc_conv_intrinsic_loc,
+ conv_intrinsic_move_alloc): Update calls.
+ * trans-io.c (gfc_convert_array_to_string, set_internal_unit,
+ gfc_trans_transfer): Ditto.
+ * trans-stmt.c (gfc_conv_elemental_dependencies,
+ gfc_trans_sync, trans_associate_var,
+ gfc_trans_pointer_assign_need_temp): Ditto.
+
+2012-08-23 Jakub Jelinek <jakub@redhat.com>
+
+ * trans-decl.c (trans_function_start, generate_coarray_init,
+ create_main_function, gfc_generate_constructors): Call
+ allocate_struct_function instead of init_function_start.
+
+2012-08-22 Tobias Burnus <burnus@net-b.de>
+
+ * trans-expr.c (gfc_copy_class_to_class,
+ gfc_trans_arrayfunc_assign): Free loop and ss data.
+ * trans-intrinsic.c (gfc_trans_arrayfunc_assign): Free ss data.
+
+2012-08-21 Tobias Burnus <burnus@net-b.de>
+
+ * parse.c (parse_contained): Include EXEC_END_PROCEDURE
+ in ns->code to make sure the gfc_code is freed.
+
+2012-08-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54301
+ * expr.c (gfc_check_pointer_assign): Warn when a pointer,
+ which is a function result, might outlive its target.
+
+2012-08-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54301
+ * expr.c (gfc_check_pointer_assign): Warn when the pointer
+ might outlive its target.
+ * gfortran.h (struct gfc_option_t): Add warn_target_lifetime.
+ * options.c (gfc_init_options, set_wall, gfc_handle_option):
+ handle it.
+ * invoke.texi (-Wtarget-lifetime): Document it.
+ (-Wall): Implied it.
+ * lang.opt (-Wtarget-lifetime): New flag.
+
+2012-08-19 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/54298
+ * gfortran.h (struct gfc_option_t): Add warn_compare_reals.
+ * lang.opt: Add Wcompare-reals.
+ * invoke.texi: Document -Wcompare-reals.
+ * resolve.c (resolve_operator): If -Wcompare-reals is in effect,
+ warn about equality/inequality comparisions for REAL and COMPLEX.
+ * options.c (gfc_init_options): Set warn_compare_reals.
+ (set_Wall): Include warn_compare_reals in Wall.
+ (gfc_handle_option): Handle Wcompare_reals.
+
+2012-08-17 Jakub Jelinek <jakub@redhat.com>
+
+ * array.c (gfc_match_array_ref): Fix up memset arguments.
+
+2012-08-16 Diego Novillo <dnovillo@google.com>
+
+ Revert
+
+ PR bootstrap/54281
+ * gfortran.h: Do not include gmp.h.
+
+2012-08-16 Diego Novillo <dnovillo@google.com>
+
+ PR bootstrap/54281
+ * gfortran.h: Do not include gmp.h.
+
+2012-08-15 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54243
+ PR fortran/54244
+ * resolve.c (check_typebound_baseobject): Check for class_ok attribute.
+ (resolve_procedure_interface,resolve_fl_derived0): Copy class_ok
+ attribute.
+
+2012-08-14 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/47586
+ * trans-expr.c (expr_is_variable): Handle regular, procedure pointer,
+ and typebound functions returning a data pointer.
+
+2012-08-14 Mikael Morin <mikael@gcc.gnu.org>
+
+ * decl.c (match_ppc_decl): Copy the procedure interface's symbol
+ as procedure interface's result.
+
+2012-08-14 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-expr.c (gfc_trans_scalar_assign): Rename argument,
+ extend comment.
+
+2012-08-14 Mikael Morin <mikael@gcc.gnu.org>
+
+ * gfortran.h (gfc_get_proc_ptr_comp): New prototype.
+ (gfc_is_proc_ptr_comp): Update prototype.
+ * expr.c (gfc_get_proc_ptr_comp): New function based on the old
+ gfc_is_proc_ptr_comp.
+ (gfc_is_proc_ptr_comp): Call gfc_get_proc_ptr_comp.
+ (gfc_specification_expr, gfc_check_pointer_assign): Use
+ gfc_get_proc_ptr_comp.
+ * trans-array.c (gfc_walk_function_expr): Likewise.
+ * resolve.c (resolve_structure_cons, update_ppc_arglist,
+ resolve_ppc_call, resolve_expr_ppc): Likewise.
+ (resolve_function): Update call to gfc_is_proc_ptr_comp.
+ * dump-parse-tree.c (show_expr): Likewise.
+ * interface.c (compare_actual_formal): Likewise.
+ * match.c (gfc_match_pointer_assignment): Likewise.
+ * primary.c (gfc_match_varspec): Likewise.
+ * trans-io.c (gfc_trans_transfer): Likewise.
+ * trans-expr.c (gfc_conv_variable, conv_function_val,
+ conv_isocbinding_procedure, gfc_conv_procedure_call,
+ gfc_trans_pointer_assignment): Likewise.
+ (gfc_conv_procedure_call, gfc_trans_array_func_assign):
+ Use gfc_get_proc_ptr_comp.
+
+2012-08-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/40881
+ * error.c (gfc_notify_std): Reset cur_error_buffer->flag flag
+ when the error/warning has been printed.
+ * gfortran.h (gfc_sl_type): Add ST_LABEL_DO_TARGET.
+ * match.c (gfc_match_do): Use ST_LABEL_DO_TARGET.
+ * parse.c (check_statement_label): Use ST_LABEL_DO_TARGET.
+ (parse_executable): Add obsolescence check for DATA.
+ * resolve.c (resolve_branch): Handle ST_LABEL_DO_TARGET.
+ * symbol.c (gfc_define_st_label, gfc_reference_st_label):
+ Add obsolescence diagnostics.
+ * trans-stmt.c (gfc_trans_label_assign): Handle ST_LABEL_DO_TARGET.
+
+2012-08-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54234
+ * check.c (gfc_check_cmplx): Add -Wconversion warning
+ when converting higher-precision REAL to default-precision
+ CMPLX without kind= parameter.
+
+2012-08-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54221
+ * trans-decl.c (gfc_finish_var_decl, build_function_decl):
+ Fix setting private module vars/procs as TREE_PUBLIC(...) = 0.
+
+2012-08-09 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54199
+ * intrinsic.c (gfc_warn_intrinsic_shadow): Better warning
+ for internal procedures.
+
+2012-08-06 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/35831
+ * interface.c (check_result_characteristics): New function, which checks
+ the characteristics of function results.
+ (gfc_compare_interfaces,gfc_check_typebound_override): Call it.
+
+2012-08-02 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/54033
+ * scanner.c (add_path_to_list): New argument warn. Don't
+ warn if it is true.
+ (gfc_add_include_path): Warn if directory is missing.
+ (gfc_add_intrinsic_modules_path): Do not warn if directory
+ is missing.
+ * optinons.c (gfc_handle_option): Do not add directory
+ for intrinsic modules to normal include path.
+
+2012-08-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/54166
+ * trans-array.c (set_loop_bounds): Access specinfo using spec_dim.
+
+2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/48820
+ * trans-array.c (gfc_conv_ss_startstride): Set the intrinsic
+ result's lower and upper bounds according to the rank.
+ (set_loop_bounds): Set the loop upper bound in the intrinsic case.
+
+2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (set_loop_bounds): Allow non-array-section to be
+ chosen using the stride and lower bound criteria.
+
+2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (set_loop_bounds): Remove useless dimension check.
+ Don't update loopspec if it would loose the wanted stride criterion.
+
+2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.h (gfc_conv_descriptor_rank): New prototype.
+ * trans-array.c (gfc_conv_descriptor_rank): New function moved and
+ renamed ...
+ * trans-intrinsic.c (get_rank_from_desc): ... from this one.
+ (gfc_conv_intrinsic_rank, gfc_conv_intrinsic_bound,
+ gfc_conv_associated): Also rename function calls.
+
+2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
+
+ * iresolve.c (resolve_bound, gfc_resolve_shape):
+ Don't set the shape for assumed rank arrays.
+ * simplify.c (gfc_simplify_shape): Don't try to simplify if the
+ argument is assumed rank.
+
+2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
+
+ * array.c (gfc_copy_array_ref): Don't copy the offset field.
+ * expr.c (find_array_section): Ignore the offset field.
+ * trans-expr.c (gfc_find_interface_mapping_to_ref): Don't apply
+ any interface mapping to the offset field.
+ * gfortran.h (struct gfc_array_ref): Remove the offset field.
+
+2012-08-02 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54147
+ * resolve.c (check_proc_interface): New routine for PROCEDURE interface
+ checks.
+ (resolve_procedure_interface,resolve_typebound_procedure,
+ resolve_fl_derived0): Call it.
+
+2012-08-01 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/54033
+ * scanner.c (add_path_to_list): Emit warning if an error occurs
+ for an include path, if it is not present or if it is not a
+ directory. Do not add the path in these cases.
+
+2012-07-31 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/42418
+ * decl.c (match_procedure_interface): Move some checks to
+ 'resolve_procedure_interface'. Set flavor if appropriate.
+ * expr.c (gfc_check_pointer_assign): Cleanup of 'gfc_is_intrinsic'.
+ * intrinsic.c (gfc_is_intrinsic): Additional checks for attributes which
+ identify a procedure as being non-intrinsic.
+ * resolve.c (resolve_procedure_interface): Checks moved here from
+ 'match_procedure_interface'. Minor cleanup.
+ (resolve_formal_arglist,resolve_symbol): Cleanup of
+ 'resolve_procedure_interface'
+ (resolve_actual_arglist,is_external_proc): Cleanup of
+ 'gfc_is_intrinsic'.
+
+2012-07-31 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54134
+ * dependency.c (gfc_dep_compare_expr): Check if arguments are NULL.
+
+2012-07-31 Tobias Burnus <burnus@net-b.de>
+
+ * interface.c (gfc_procedure_use): Return gfc_try instead of void.
+ * gfortran.h (gfc_procedure_use): Update prototype.
+ * resolve.c (gfc_iso_c_func_interface): Allow noninteroperable
+ procedures for c_funloc for TS29113.
+ * (gfc_iso_c_sub_interface): Ditto for c_f_procpointer. Add
+ diagnostic for c_ptr vs. c_funptr for c_f_(proc)pointer.
+
+2012-07-30 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/51081
+ * gfortran.h (gfc_resolve_intrinsic): Add prototype.
+ * expr.c (gfc_check_pointer_assign): Set INTRINSIC attribute if needed.
+ Check for invalid intrinsics.
+ * primary.c (gfc_match_rvalue): Check for intrinsics came too early.
+ Set procedure flavor if appropriate.
+ * resolve.c (resolve_intrinsic): Renamed to gfc_resolve_intrinsic.
+ (resolve_procedure_interface,resolve_procedure_expression,
+ resolve_function,resolve_fl_derived0,resolve_symbol): Ditto.
+
+2012-07-26 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/44354
+ * trans-array.c (gfc_trans_array_constructor_value):
+ Evaluate the iteration bounds before the inner variable shadows
+ the outer.
+
+2012-07-26 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/44354
+ * array.c (sought_symbol): New variable.
+ (expr_is_sought_symbol_ref, find_symbol_in_expr): New functions.
+ (resolve_array_list): Check for references to the induction
+ variable in the iteration bounds and issue a diagnostic if some
+ are found.
+
+2012-07-26 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+ Tobias Burnus <burnus@net-b.de>
+
+ * module.c (mio_array_spec): Don't read as->lower for
+ assumed-rank arrays.
+
+2012-07-25 Tobias Burnus <burnus@net-b.de>
+
+ * trans-types.c (gfc_real16_is_float128): Fix spelling
+ in a comment.
+ * trans.h (struct gfc_array_info): Ditto.
+ * gfortran.h (gfc_expr): Ditto.
+ * simplify.c (gfc_count): Ditto.
+ * trans-expr.c (gfc_copy_class_to_class,
+ conv_parent_component_references,
+ gfc_trans_pointer_assignment): Ditto.
+ * expr.c (check_pointer_assign): Fix diagnostic spelling.
+ * interface.c (compare_parameter): Ditto.
+ * parse.c (use_modules, parse_associate): Ditto.
+ * decl.c (match_char_length): Fix spelling of the
+ an function argument.
+
+2012-07-21 Tobias Burnus <burnus@net-b.de>
+
+ * iso-c-binding.def (C_PTRDIFF_T): New TS29113 parameter.
+ * intrinsic.texi (ISO_C_BINDING): Document it.
+
+2012-07-21 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48820
+ * trans-intrinsic.c (gfc_conv_intrinsic_bound): Support
+ lbound/ubound with dim= for assumed-rank arrays.
+ * array.c (gfc_set_array_spec): Reject coarrays with
+ assumed shape.
+ * decl.c (merge_array_spec): Ditto. Return gfc_try.
+ (match_attr_spec, match_attr_spec): Update call.
+
+2012-07-21 Tobias Burnus <burnus@net-b.de>
+
+ * resolve.c (resolve_formal_arglist): Put variable
+ declaration before the first assignment.
+
+2012-07-21 Tobias Burnus <burnus@net-b.de>
+
+ * trans-expr.c (gfc_conv_derived_to_class): Fix argument passed
+ to class_array_data_assign.
+
+2012-07-20 Tobias Burnus <burnus@net-b.de>
+
+ * decl.c (gfc_verify_c_interop_param): Allow assumed-shape
+ with -std=f2008ts.
+
+2012-07-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48820
+ * array.c (match_array_element_spec, gfc_match_array_spec,
+ spec_size, gfc_array_dimen_size): Add support for
+ assumed-rank arrays.
+ * check.c (dim_rank_check): Ditto.
+ * class.c (gfc_add_component_ref): Ditto.
+ (gfc_build_class_symbol): Regard assumed-rank arrays
+ as having GFC_MAX_DIMENSIONS. And build extra class
+ container for a scalar pointer class.
+ * decl.c (merge_array_spec): Add assert.
+ * dump-parse-tree.c (show_array_spec): Add support for
+ assumed-rank arrays.
+ * expr.c (gfc_is_simply_contiguous): Ditto.
+ * gfortran.h (array_type): Ditto.
+ (gfc_array_spec, gfc_expr): Add comment to "rank" field.
+ * interface.c (compare_type_rank, argument_rank_mismatch,
+ compare_parameter, gfc_procedure_use): Ditto.
+ (compare_actual_formal): Fix NULL() to optional-dummy
+ handling for polymorphic dummies.
+ * module.c (mio_typespec): Add support for
+ assumed-rank arrays.
+ * resolve.c (resolve_formal_arglist, resolve_actual_arglist,
+ resolve_elemental_actual, resolve_global_procedure,
+ expression_shape, resolve_variable, update_ppc_arglist,
+ check_typebound_baseobject, gfc_resolve_expr,
+ resolve_fl_var_and_proc, gfc_resolve_finalizers,
+ resolve_typebound_procedure, resolve_symbol): Ditto.
+ (assumed_type_expr_allowed): Remove static variable.
+ (actual_arg, first_actual_arg): New static variables.
+ * simplify.c (simplify_bound, gfc_simplify_range): Add
+ support for assumed-rank arrays.
+ * trans-array.c (gfc_conv_array_parameter): Ditto.
+ (gfc_get_descriptor_dimension): New function, which returns
+ the descriptor.
+ (gfc_conv_descriptor_dimension): Use it.
+ (gfc_conv_descriptor_stride_get, gfc_conv_array_parameter):
+ Handle GFC_ARRAY_ASSUMED_RANK_CONT and AS_ASSUMED_RANK.
+ * trans-array.h (gfc_get_descriptor_dimension): New prototype.
+ * trans-decl. (gfc_build_dummy_array_decl,
+ gfc_trans_deferred_vars, add_argument_checking): Add
+ support for assumed-rank arrays.
+ * trans-expr.c (gfc_conv_expr_present, gfc_conv_variable,
+ gfc_conv_procedure_call): Ditto.
+ (get_scalar_to_descriptor_type, class_array_data_assign,
+ conv_scalar_to_descriptor): New static functions.
+ (gfc_conv_derived_to_class, gfc_conv_class_to_class): Use
+ them.
+ * trans-intrinsic.c (get_rank_from_desc): New function.
+ (gfc_conv_intrinsic_rank, gfc_conv_associated): Use it.
+ * trans-types.c (gfc_array_descriptor_base_caf,
+ gfc_array_descriptor_base): Make space for scalar array.
+ (gfc_is_nodesc_array, gfc_is_nodesc_array,
+ gfc_build_array_type, gfc_get_array_descriptor_base): Add
+ support for assumed-rank arrays.
+ * trans.h (gfc_array_kind): Add GFC_ARRAY_ASSUMED_RANK and
+ GFC_ARRAY_ASSUMED_RANK_CONT.
+
+2012-07-19 Tobias Burnus <burnus@net-b.de>
+
+ * trans-expr.c (gfc_conv_procedure_call): Fix handling
+ of polymorphic arguments.
+ * resolve.c (resolve_formal_arglist): Ditto, mark polymorphic
+ assumed-shape arrays as such.
+
+2012-07-19 Tobias Burnus <burnus@net-b.de>
+
+ * interface.c (compare_parameter, compare_actual_formal): Fix
+ handling of polymorphic arguments.
+
+2012-07-17 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/51081
+ * error.c (gfc_notify_std): Automatically print the relevant Fortran
+ standard version.
+ * arith.c (arith_power): Remove explicit standard reference string.
+ * array.c (gfc_match_array_spec, gfc_match_array_constructor): Ditto.
+ * check.c (gfc_check_a_p, gfc_check_besn, gfc_check_count,
+ gfc_check_float, gfc_check_fn_rc2008, gfc_check_iand,
+ gfc_check_ichar_iachar, gfc_check_ieor, gfc_check_index, gfc_check_ior,
+ gfc_check_lbound, gfc_check_len_lentrim, check_rest, gfc_check_min_max,
+ gfc_check_null, gfc_check_scan, gfc_check_selected_real_kind,
+ gfc_check_shape, gfc_check_size, gfc_check_sngl, gfc_check_ubound,
+ gfc_check_verify): Ditto.
+ * data.c (gfc_assign_data_value): Ditto.
+ * decl.c (var_element, char_len_param_value, match_char_length,
+ gfc_verify_c_interop_param, match_pointer_init, variable_decl,
+ gfc_match_decl_type_spec, gfc_match_import, match_attr_spec,
+ gfc_match_prefix, gfc_match_suffix, match_ppc_decl,
+ match_procedure_in_interface, gfc_match_procedure,gfc_match_entry,
+ gfc_match_subroutine, gfc_match_end, gfc_match_codimension,
+ gfc_match_protected, gfc_match_value, gfc_match_volatile,
+ gfc_match_asynchronous, gfc_match_modproc, gfc_get_type_attr_spec,
+ gfc_match_enum, match_procedure_in_type): Ditto.
+ * expr.c (check_elemental, gfc_check_assign, gfc_check_pointer_assign):
+ Ditto.
+ * interface.c (gfc_match_abstract_interface, check_interface0): Ditto.
+ * intrinsic.c (gfc_intrinsic_func_interface): Ditto.
+ * io.c (format_lex, resolve_tag_format, resolve_tag,
+ compare_to_allowed_values, gfc_match_open, gfc_match_rewind,
+ gfc_resolve_dt, gfc_match_wait): Ditto.
+ * match.c (match_arithmetic_if, gfc_match_if, gfc_match_critical,
+ gfc_match_do, match_exit_cycle, gfc_match_pause, gfc_match_stop,
+ gfc_match_lock, sync_statement, gfc_match_assign, gfc_match_goto,
+ gfc_match_allocate, gfc_match_return, gfc_match_st_function): Ditto.
+ * module.c (gfc_match_use, gfc_use_module): Ditto.
+ * parse.c (parse_derived_contains, parse_block_construct,
+ parse_associate, parse_contained): Ditto.
+ * primary.c (match_hollerith_constant, match_boz_constant,
+ match_real_constant, match_sym_complex_part, match_arg_list_function,
+ build_actual_constructor, gfc_convert_to_structure_constructor): Ditto.
+ * resolve.c (resolve_formal_arglist, resolve_entries,
+ resolve_common_blocks, resolve_actual_arglist, gfc_resolve_index_1,
+ gfc_resolve_iterator_expr, resolve_ordinary_assign,
+ resolve_fl_var_and_proc, resolve_fl_variable_derived,
+ resolve_fl_procedure, resolve_fl_derived0, resolve_fl_derived,
+ resolve_fl_namelist, resolve_symbol, resolve_fntype): Ditto.
+ * symbol.c (check_conflict, conflict, gfc_add_is_bind_c,
+ gfc_add_extension, gfc_check_symbol_typed): Ditto.
+
+2012-07-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53985
+ * decl.c (gfc_verify_c_interop_param): Make warning conditional
+ on -Wc-binding-type works and improve the wording.
+
+2012-07-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52101
+ * decl.c (match_char_length): Extra argument, show obsolenscent
+ warning only if *length is used after the typename.
+ (variable_decl, gfc_match_char_spec): Update call
+
+2012-07-17 Tobias Burnus <burnus@net-b.de>
+ Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/49265
+ * decl.c (match_procedure_in_interface): Support "::" for
+ Fortran 2008 and later.
+
+2012-07-16 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/53824
+ * resolve.c (resolve_allocate_deallocate): If both
+ start indices are NULL, skip the test for equality.
+
+2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
+
+ * f95-lang.c: Include dumpfile.h instead of tree-dump.h.
+ * Make-lang.in: Fix dependencies.
+
+2012-07-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/53956
+ * gfortran.h (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Modified
+ prototypes.
+ * symbol.c (gfc_copy_formal_args): New argument 'if_src'. Copy if_source
+ of dummy procedures.
+ (gfc_copy_formal_args_ppc): Ditto.
+ * resolve.c (resolve_procedure_interface): Pass IFSRC_DECL to
+ gfc_copy_formal_args.
+ (resolve_fl_derived0): Pass IFSRC_DECL to gfc_copy_formal_args_ppc.
+
+2012-07-12 Tobias Burnus <burnus@net-b.de>
+
+ * trans-expr.c (conv_isocbinding_procedure): Generate c_f_pointer code
+ inline.
+
+2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
+
+ * trans.c: Do not include defaults.h.
+ * trans-intrinsic.c: Likewise.
+
+2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gfortran.h: Do not include coretypes.h here.
+ Make it an error to include this before coretypes.h
+ * openmp.c: Include coretypes.h.
+ * interface.c: Likewise.
+ * intrinsic.c: Likewise.
+ * symbol.c: Likewise.
+ * class.c: Likewise.
+ * decl.c: Likewise.
+ * matchexp.c: Likewise.
+ * dump-parse-tree.c: Likewise.
+ * array.c: Likewise.
+ * constructor.c: Likewise.
+ * error.c: Likewise.
+ * data.c: Likewise.
+ * expr.c: Likewise.
+ * module.c: Likewise.
+ * scanner.c: Likewise.
+ * bbt.c: Likewise.
+ * io.c: Likewise.
+ * frontend-passes.c: Likewise.
+ * resolve.c: Likewise.
+ * st.c: Likewise.
+ * target-memory.c: Likewise.
+ * match.c: Likewise.
+ * arith.c: Likewise.
+ * parse.c: Likewise.
+ * check.c: Likewise.
+ * dependency.c: Likewise.
+ * primary.c: Likewise.
+ * misc.c: Likewise.
+ * simplify.c: Likewise.
+
+2012-07-05 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/53732
+ * trans-array.c (gfc_add_loop_ss_code): Disable self recursive calls
+ handling nested loop(s) if the subscript flag is true.
+
+2012-07-05 Uros Bizjak <ubizjak@gmail.com>
+
+ PR fortran/53449
+ * parse.c (gfc_parse_file): Initialize errors_before.
+
+2012-06-27 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/41951
+ PR fortran/49591
+ * interface.c (check_new_interface): Rename, add 'loc' argument,
+ make non-static.
+ (gfc_add_interface): Rename 'check_new_interface'
+ * gfortran.h (gfc_check_new_interface): Add prototype.
+ * resolve.c (resolve_typebound_intrinsic_op): Add typebound operator
+ targets to non-typebound operator list.
+
+2012-06-22 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47710
+ PR fortran/53328
+ * interface.c (count_types_test, generic_correspondence,
+ gfc_compare_interfaces): Ignore PASS arguments.
+ (check_interface1, compare_parameter): Pass NULL arguments to
+ gfc_compare_interfaces.
+ * gfortran.h (gfc_compare_interfaces): Modified prototype.
+ * expr.c (gfc_check_pointer_assign): Pass NULL arguments to
+ gfc_compare_interfaces.
+ * resolve.c (resolve_structure_cons): Ditto.
+ (check_generic_tbp_ambiguity): Determine PASS arguments and pass them
+ to gfc_compare_interfaces.
+
+2012-06-21 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/39654
+ * iresolve.c (gfc_resolve_ftell): Fix result kind and use new
+ library function.
+
+2012-06-18 Tobias Burnus <burnus@net-b.de>
+
+ * intrinsic.h (gfc_resolve_rank): New prototype.
+ * intrinsic.c (add_functions): Use gfc_resolve_rank.
+ * iresolve.c (add_functions): New function.
+ * trans-intrinsic.c (gfc_conv_intrinsic_rank): New function.
+ (gfc_conv_intrinsic_function): Call it.
+
+2012-06-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53692
+ * trans-array.c (set_loop_bounds): Don't scalarize via absent
+ optional arrays.
+ * resolve.c (resolve_elemental_actual): Don't stop resolving after printing
+ a warning.
+
+2012-06-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53526
+ * trans-intrinsic.c (conv_intrinsic_move_alloc): Handle coarrays.
+
+2012-06-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53526
+ * check.c (gfc_check_move_alloc): Reject coindexed actual arguments
+ and those with different corank.
+
+2012-06-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53691
+ PR fortran/53685
+ * check.c (gfc_calculate_transfer_sizes): Return if
+ SIZE= is not constant or source-size cannot be determined.
+
+2012-06-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53642
+ PR fortran/45170
+ * frontend-passes.c (optimize_assignment): Don't remove RHS's
+ trim when assigning to a deferred-length string.
+ * trans-expr.c (gfc_trans_assignment_1): Ensure that the RHS string
+ length is evaluated before the deferred-length LHS is reallocated.
+
+2012-06-13 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53643
+ * trans-decl.c (init_intent_out_dt): Fix for polymorphic arrays.
+ * trans-array.c (structure_alloc_comps): Don't loop for
+ scalar coarrays.
+
+2012-06-13 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53597
+ * decl.c (match_attr_spec): Only mark module variables
+ as SAVE_IMPLICIT for Fortran 2008 and later.
+
+2012-06-08 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/52552
+ * match.c (gfc_match_allocate): Modify order of checks. Change wording
+ of error message. Remove FIXME note.
+ * resolve.c (resolve_allocate_expr): Add a comment.
+
+2012-06-07 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/52861
+ * frontend-passes.c (optimize_assignment): Don't set the
+ length of an empty string for deferred-length character
+ variables.
+
+2012-06-07 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/52861
+ * frontend-passes.c (empty_string): Add prototype.
+ (optimize_assignment): Set the length of an empty string
+ constant to zero.
+
+2012-06-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50619
+ * resolve.c (build_default_init_expr): Don't initialize
+ ASSOCIATE names.
+
+2012-06-03 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48831
+ * gfortran.h (gfc_check_init_expr): Add prototype declaration
+ of function.
+ * check.c (kind_check): Change if condition to use
+ to gfc_check_init_expr.
+ * expr.c (check_init_expr): Remove forward declaration
+ and static keyword. Change name in gfc_check_init_expr.
+ (scalarize_intrinsic_call, check_init_expr_arguments,
+ check_inquiry, check_conversion, gfc_reduce_init_expr): Update
+ call to gfc_check_init_expr.
+
+2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
+
+ * trans-common.c: Do not include output.h.
+ * trans-decl.c: Likewise.
+
+2012-05-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53521
+ * trans.c (gfc_deallocate_scalar_with_status): Properly
+ handle the case size == 0.
+
+2012-05-30 Tobias Burnus <burnus@net-b.de>
+
+ PR c/53502
+ * decl.c (match_attr_spec): Remove "typedef".
+
+2012-05-30 Tobias Burnus <burnus@net-b.de>
+
+ * decl.c: Fix comment typos.
+ * expr.c: Ditto.
+ * frontend-passes.c: Ditto.
+ * match.c: Ditto.
+ * resolve.c: Ditto.
+ * trans-array.c: Ditto.
+ * trans-common.c: Ditto.
+ * trans-intrinsic.c: Ditto.
+ * trans-types.c: Ditto.
+
+2012-05-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51055
+ PR fortran/45170
+ * match.c (gfc_match_allocate): Set length_from_typespec
+ for characters.
+ * resolve.c (resolve_charlen): If set, don't check whether
+ the len is a specification expression.
+
+2012-05-22 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53389
+ * trans-array.c (gfc_add_loop_ss_code): Don't evaluate expression, if
+ ss->is_alloc_lhs is set.
+
+2012-05-22 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/53322
+ * f95-lang.c (gfc_init_builtin_functions): Remove the unused
+ typedef builtin_type.
+
+2012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/52428
+ * gfortran.texi: Update _gfortran_set_options documentation.
+ * invoke.texi: Remove runtime behavior description of
+ -fno-range-check.
+ * trans-decl.c (create_main_function): Don't pass the range-check
+ setting to the library.
+
+2012-05-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/49110
+ PR fortran/51055
+ PR fortran/53329
+ * trans-expr.c (gfc_trans_assignment_1): Fix allocation
+ handling for assignment of function results to allocatable
+ deferred-length strings.
+ * trans-decl.c (gfc_create_string_length): For deferred-length
+ module variables, include module name in the assembler name.
+ (gfc_get_symbol_decl): Don't override the assembler name.
+
+2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 53063
+ * options.c (gfc_handle_option): Call lang-specific generated function.
+
+2012-05-13 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52158
+ PR fortran/45170
+ PR fortran/49430
+ * resolve.c (resolve_fl_derived0): Deferred character length
+ procedure components are supported.
+ * trans-expr.c (gfc_conv_procedure_call): Handle TBP with
+ deferred-length results.
+ (gfc_string_to_single_character): Add a new check to prevent
+ NULL read.
+ (gfc_conv_procedure_call): Remove unuseful checks on
+ symbol's attributes. Add new checks to prevent NULL read on
+ string length.
+
+2012-05-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/49110
+ PR fortran/52843
+ * resolve.c (resolve_fl_procedure): Don't regard
+ character(len=:) as character(*) in the diagnostic.
+
+2012-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/52537
+ * frontend-passes.c (optimize_op): Change
+ old-style comparison operators to new-style, simplify
+ switch as a result.
+ (empty_string): New function.
+ (get_len_trim_call): New function.
+ (optimize_comparison): If comparing to an empty string,
+ use comparison of len_trim to zero.
+ Use new-style comparison operators only.
+ (optimize_trim): Use get_len_trim_call.
+
+2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 53063
+ * options.c: Include diagnostics.h instead of
+ diagnostics-core.h.
+ (set_Wall): Do not see warn_unused here.
+ (gfc_handle_option): Set it here using handle_generated_option.
+
+2012-05-08 Jan Hubicka <jh@suse.cz>
+
+ * trans-common.c (create_common): Do not fake TREE_ASM_WRITTEN.
+ * trans-decl.c (gfc_finish_cray_pointee): Likewise.
+
+2012-05-07 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53255
+ * resolve.c (resolve_typebound_static): Fix handling
+ of overridden specific to generic operator.
+
+2012-05-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/41587
+ * decl.c (build_struct): Don't ignore FAILED status.
+
+2012-05-05 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/41600
+ * trans-array.c (build_array_ref): New static function.
+ (gfc_conv_array_ref, gfc_get_dataptr_offset): Call it.
+ * trans-expr.c (gfc_get_vptr_from_expr): New function.
+ (gfc_conv_derived_to_class): Add a new argument for a caller
+ supplied vptr and use it if it is not NULL.
+ (gfc_conv_procedure_call): Add NULL to call to above.
+ symbol.c (gfc_is_associate_pointer): Return true if symbol is
+ a class object.
+ * trans-stmt.c (trans_associate_var): Handle class associate-
+ names.
+ * expr.c (gfc_get_variable_expr): Supply the array-spec if
+ possible.
+ * trans-types.c (gfc_typenode_for_spec): Set GFC_CLASS_TYPE_P
+ for class types.
+ * trans.h : Add prototypes for gfc_get_vptr_from_expr and
+ gfc_conv_derived_to_class. Define GFC_CLASS_TYPE_P.
+ * resolve.c (resolve_variable): For class arrays, ensure that
+ the target expression has all the necessary _data references.
+ (resolve_assoc_var): Throw a "not yet implemented" error for
+ class array selectors that need a temporary.
+ * match.c (copy_ts_from_selector_to_associate,
+ select_derived_set_tmp, select_class_set_tmp): New functions.
+ (select_type_set_tmp): Call one of last two new functions.
+ (gfc_match_select_type): Copy_ts_from_selector_to_associate is
+ called if associate-name is typed.
+
+ PR fortran/53191
+ * resolve.c (resolve_ref): C614 applied to class expressions.
+
+2012-05-05 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/49010
+ PR fortran/24518
+ * intrinsic.texi (MOD, MODULO): Mention sign and magnitude of result.
+ * simplify.c (gfc_simplify_mod): Use mpfr_fmod.
+ (gfc_simplify_modulo): Likewise, use copysign to fix the result if
+ zero.
+ * trans-intrinsic.c (gfc_conv_intrinsic_mod): Remove fallback as
+ builtin_fmod is always available. For modulo, call copysign to fix
+ the result when signed zeros are enabled.
+
+2012-05-05 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * gfortran.texi (GFORTRAN_TMPDIR): Rename to TMPDIR, explain
+ algorithm for choosing temp directory.
+
+2012-05-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53175
+ * resolve.c (resolve_variable): Set public_used
+ if a private module variable is used in a (public)
+ specification expression.
+ * trans-decl.c (gfc_finish_var_decl): Mark those
+ TREE_PUBLIC.
+
+2012-05-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53111
+ * resolve.c (resolve_fl_derived): Fix -std=f95
+ diagnostic for generic vs. DT names.
+
+2012-05-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52864
+ * interface.c (compare_parameter_intent): Remove.
+ (check_intents): Remove call, handle CLASS pointer.
+ (compare_actual_formal): Handle CLASS pointer.
+
+2012-04-30 Jan Hubicka <jh@suse.cz>
+
+ * f95-lang.c (gfc_finish): Update comments.
+
+2012-04-29 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/53148
+ * frontend-passes.c (create_var): If the statement has a label,
+ put the label around the block.
+
+2012-04-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52196
+ * lang.opt (Wrealloc-lhs, Wrealloc-lhs-all): New flags.
+ * gfortran.h (gfc_option_t): Add them.
+ * options.c (gfc_init_options, gfc_post_options,
+ gfc_handle_option): Handle them.
+ * invoke.texi: Document them.
+ * trans-expr.c (realloc_lhs_warning): New function.
+ (gfc_trans_arrayfunc_assign,
+ alloc_scalar_allocatable_for_assignment,
+ gfc_trans_assignment_1): Use it.
+
+2012-04-18 Steven Bosscher <steven@gcc.gnu.org>
+
+ * trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR
+ with NULL_TREE type instead of void_type_node.
+ * trans-io.c (io_result): Likewise.
+ * trans-stmt.c (gfc_trans_integer_select,
+ gfc_trans_character_select): Likewise.
+
+2012-04-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52864
+ * expr.c (gfc_check_vardef_context): Fix assignment check for
+ pointer components.
+
+2012-04-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/52968
+ * class.c (gfc_build_class_symbol): Make sure the 'f2k_derived'
+ namespace is present.
+
+2012-04-15 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/51082
+ * trans-expr.c (gfc_conv_expr_reference): Check if the expression is a
+ simple function call (or a more involved PPC reference).
+
+2012-04-15 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52916
+ PR fortran/40973
+ * gfortran.h (symbol_attribute): Add public_used.
+ * interface.c (check_sym_interfaces, check_uop_interfaces,
+ gfc_check_interfaces): Set it.
+ * resolve.c (resolve_typebound_procedure): Ditto.
+ * trans-decl.c (build_function_decl): Use it.
+
+2012-04-11 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52729
+ * resolve.c (resolve_symbol): Fix searching for parent NS decl.
+
+2012-04-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52751
+ * trans-decl.c (gfc_finish_var_decl): Don't set TREE_PUBLIC
+ for PRIVATE module variables without C-binding label.
+
+ PR fortran/40973
+ * trans-decl.c (build_function_decl): Ditto for procedures.
+
+2012-04-07 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/52893
+ * frontend-passes.c: Keep track of wether we are in an implicit
+ DO loop; do not do function elimination if we are.
+
+2012-04-06 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/52668
+ * module.c: Only mark symbols as use_only if they have been
+ imported via an only list.
+
+2012-03-28 Paul Thomas <pault@gcc.gnu.org>
+ Tobias Burnus <burnus@gcc.gnu.org>
+
+ PR fortran/52652
+ * match.c (gfc_match_allocate, gfc_match_deallocate): Change
+ "not.. or" to "neither.. nor".
+ * parse.c (decode_specification_statement): Correct error in
+ chpice of matching function for "allocatable".
+
+2012-03-23 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * gfortran.h (GFC_MAX_LINE): Remove unused macro.
+
+2012-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/52559
+ * error.c (gfc_widechar_display_length): Consider tabs as
+ one character wide, as they're displayed as spaces.
+ (show_locus): Move tab handling to...
+ (print_wide_char_into_buffer): ... here.
+
+2012-03-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52585
+ * trans-intrinsic.c (gfc_conv_associated): Fix handling of
+ procpointer dummy arguments.
+
+2012-03-16 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * trans-intrinsic.c (build_round_expr): Don't use BUILT_IN_IROUND
+ for __float128.
+
+2012-03-15 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * f95-lang.c (gfc_init_builtin_functions): Initialize
+ BUILT_IN_IROUND.
+ * mathbuiltins.def: Add IROUND.
+ * trans-intrinsic.c (build_round_expr): Use BUILT_IN_IROUND if
+ type size matches.
+ (gfc_build_intrinsic_lib_fndecls): Build iround functions.
+
+2012-03-12 Richard Guenther <rguenther@suse.de>
+
+ * f95-lang.c (builtin_type_for_size): Use gfc_type_for_size.
+
+2012-03-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52542
+ * decl.c (match_procedure_decl): If the interface
+ is bind(C), the procedure is as well.
+
+2012-03-10 Steven Bosscher <steven@gcc.gnu.org>
+
+ * convert.c (convert): Fold BOOLEAN_TYPE types to the proper variant.
+
+2012-03-09 Steven Bosscher <steven@gcc.gnu.org>
+
+ * Make-lang.in (convert.o): Depend on convert.h.
+ * convert.c: Header and comment cleanups.
+ (gfc_thruthvalue_conversion): Rename static function
+ to truthvalue_conversion. Do not use 'internal_error' from here,
+ use 'gcc_unreachable' instead.
+ (convert): Do not use 'error' for conversions to void, use
+ 'gcc_unreachable' instead. Likewise for conversions to non-scalar
+ types. Do not hanlde ENUMERAL_TYPE, the front end never creates them.
+ Clean up #if 0 code.
+
+2012-03-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52469
+ * trans-types.c (gfc_get_function_type): Handle backend_decl
+ of a procedure pointer.
+
+2012-03-06 Steven Bosscher <steven@gcc.gnu.org>
+
+ * f95-lang.c (yyerror, yylex): Remove.
+ (clear_binding_stack): Remove, fold into its only user.
+ (LANG_HOOKS_PRINT_IDENTIFIER): Do not re-define.
+ (ridpointers): Remove.
+ (gfc_eh_initialized_p): Make static.
+ (gfc_truthvalue_conversion): Move to convert.c.
+ (gfc_be_parse_file): Clear binding level stack when done.
+ (gfc_print_identifier): Remove.
+ (pushlevel): Remove ignored 'ignore' argument. Update all callers.
+ (poplevel): Remove unused 'reverse' argument. Update all callers.
+ (ggc_p): Remove.
+ (gfc_builtin_function): Make static. Do not attempt to make RTL for
+ builtin functions.
+ * convert.c (gfc_truthvalue_conversion): Moved here from f95-lang.c,
+ and made static.
+ * trans.h (pushlevel, poplevel): Adjust prototypes.
+ (gfc_truthvalue_conversion, gfc_builtin_function): Remove prototypes.
+ * trans-openmp.c: Update calls to pushlevel and poplevel.
+ * trans.c: Likewise.
+ * trans-decl.c: Likewise.
+
+2012-03-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50981
+ * gfortran.h (gfc_is_class_container_ref): New prototype.
+ * class.c (gfc_is_class_container_ref): New function.
+ * trans-expr.c (gfc_conv_procedure_call): Add a "_data" component
+ reference to polymorphic actual arguments.
+
+2012-03-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50981
+ * trans-expr.c (gfc_conv_procedure_call): Save se->ss's value.
+ Handle the case of unallocated arrays passed to elemental procedures.
+
+2012-03-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_ss_info): Move can_be_null_ref component from
+ the data::scalar subcomponent to the toplevel.
+ * trans-expr.c (gfc_conv_expr): Update component reference.
+ * trans-array.c (gfc_add_loop_ss_code): Ditto.
+ (gfc_walk_elemental_function_args): Ditto. Move the conditional setting
+ the field out of the scalar-only block.
+
+2012-03-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/36160
+ * error.c (gfc_widechar_display_length, gfc_wide_display_length):
+ New functions.
+ (print_wide_char_into_buffer): Return length written.
+ (show_locus): Fix locus displayed when wide characters are present.
+
+2012-03-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * module.c (gfc_use_module): Improve error message some more.
+
+2012-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/52313
+ * module.c (gfc_use_module): Improve error messages.
+
+2012-03-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48820
+ * resolve.c (resolve_actual_arglist): Properly reset
+ assumed_type_expr_allowed.
+
+2012-03-03 Tobias Burnus <burnus@net-b.de>
+
+ * lang.opt (Wc-binding-type): New flag.
+ * options.c (gfc_init_options, gfc_handle_option): Handle it.
+ * invoke.texi (Wc-binding-type): Document it.
+ * gfortran.h (gfc_option_t): Add warn_c_binding_type.
+ * decl.c (verify_bind_c_sym): Handle -Wc-binding-type.
+ * symbol.c (gfc_set_default_type, verify_bind_c_derived_type):
+ Ditto.
+
+2012-03-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48820
+ * decl.c (gfc_match_decl_type_spec): Support type(*).
+ (gfc_verify_c_interop): Allow type(*).
+ * dump-parse-tree.c (show_typespec): Handle type(*).
+ * expr.c (gfc_copy_expr): Ditto.
+ * interface.c (compare_type_rank, compare_parameter,
+ compare_actual_formal, gfc_procedure_use): Ditto.
+ * libgfortran.h (bt): Add BT_ASSUMED.
+ * misc.c (gfc_basic_typename, gfc_typename): Handle type(*).
+ * module.c (bt_types): Ditto.
+ * resolve.c (assumed_type_expr_allowed): New static variable.
+ (resolve_actual_arglist, resolve_variable, resolve_symbol):
+ Handle type(*).
+ * trans-expr.c (gfc_conv_procedure_call): Ditto.
+ * trans-types.c (gfc_typenode_for_spec, gfc_get_dtype): Ditto.
+
+2012-03-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52325
+ * primary.c (gfc_match_varspec): Add missing ;.
+
+2012-03-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52325
+ * primary.c (gfc_match_varspec): Add diagnostic for % with
+ nonderived types.
+
+2012-03-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52270
+ * expr.c (gfc_check_vardef_context): Fix check for
+ intent-in polymorphic pointer .
+ * interface.c (compare_parameter): Allow passing TYPE to
+ intent-in polymorphic pointer.
+
+2012-03-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52452
+ * resolve.c (resolve_intrinsic): Don't search for a
+ function if we know that it is a subroutine.
+
+2012-02-29 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52386
+ * trans-expr.c (fcncall_realloc_result): Dereference the
+ descriptor if needed.
+
+2012-02-22 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52335
+ * io.c (gfc_match_open): Remove bogus F2003 DELIM= check.
+
+2012-02-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52295
+ * interface.c (check_interface0): Internal procs in
+ generic interfaces are allowed in Fortran 2008.
+
+2012-02-17 Tobias Burnus <burnus@net-b.de>
+ Roland Stigge <stigge@antcom.de>
+
+ PR translation/52273
+ * interface.c (compare_actual_formal): Fix typo "at at".
+
+2012-02-17 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.texi (Q exponent-letter): Fix grammar.
+
+2012-02-17 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.texi (Status): Fix typos.
+ * invoke.texi (ffixed-form, fstack-arrays): Spell Fortran with
+ a majuscule.
+
+2012-02-17 Tobias Burnus <burnus@net-b.de>
+ Roland Stigge <stigge@antcom.de>
+
+ PR translation/52232
+ PR translation/52234
+ PR translation/52245
+ PR translation/52246
+ PR translation/52262
+ PR translation/52273
+ * io.c (gfc_match_open): Fix typo.
+ * interface.c (compare_actual_formal): Ditto.
+ * lang.opt (freal-4-real-8, freal-4-real-16, freal-8-real-16): Ditto.
+ * match.c (alloc_opt_list, gfc_match_nullify): Ditto.
+ * check.c (gfc_check_associated, gfc_check_null): Ditto.
+
+2012-02-12 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50981
+ * trans-stmt.c (gfc_get_proc_ifc_for_call): New function.
+ (gfc_trans_call): Use gfc_get_proc_ifc_for_call.
+
+2012-02-12 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_walk_elemental_function_args,
+ gfc_walk_function_expr): Move call to gfc_get_proc_ifc_for_expr out
+ of gfc_walk_elemental_function_args.
+ * trans-stmt.c (gfc_trans_call): Ditto.
+ * trans-array.h (gfc_get_proc_ifc_for_expr): New prototype.
+ (gfc_walk_elemental_function_args): Update prototype.
+
+2012-02-12 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_get_proc_ifc_for_expr): New function.
+ (gfc_walk_elemental_function_args): Move code to
+ gfc_get_proc_ifc_for_expr and call it.
+
+2012-02-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52151
+ * trans-expr.c (fcncall_realloc_result): Set also the stride.
+
+2012-02-07 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51514
+ * trans-expr.c (gfc_conv_procedure_call): Add _data component
+ for calls of scalar CLASS actuals to TYPE dummies.
+
+2012-02-05 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/48847
+ * trans-decl.c: Warn about unused dummy procedure arguments
+ if -Wunused-dummy-argument is specified. Suppress middle-end
+ warnings about procedure arguments.
+
+2012-02-05 Paul Thomas <pault@gcc.gnu.org>
+
+ * trans-array.c (gfc_array_allocate): Zero memory for all class
+ array allocations.
+ * trans-stmt.c (gfc_trans_allocate): Ditto for class scalars.
+
+ PR fortran/52102
+ * trans-stmt.c (gfc_trans_allocate): Before correcting a class
+ array reference, ensure that 'dataref' points to the _data
+ component that is followed by the array reference..
+
+2012-02-02 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/41587
+ PR fortran/46356
+ PR fortran/51754
+ PR fortran/50981
+ * class.c (insert_component_ref, class_data_ref_missing,
+ gfc_fix_class_refs): New functions.
+ * gfortran.h (gfc_fix_class_refs): New prototype.
+ * trans-expr.c (gfc_conv_expr): Remove special case handling and call
+ gfc_fix_class_refs instead.
+
+2012-02-02 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52012
+ * trans-expr.c (fcncall_realloc_result): If variable shape is
+ correct, retain the bounds, whatever they are.
+
+2012-02-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52093
+ * simplify.c (gfc_simplify_size): Handle INTRINSIC_PARENTHESES.
+
+2012-02-01 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/51958
+ * frontend-passes.c (convert_elseif): New function.
+ (optimize_namespace): Call it.
+
+2012-02-01 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52024
+ * module.c (MOD_VERSION): Bump.
+ (mio_typebound_proc): Read/write is_operator from/to the
+ .mod file.
+
+2012-02-01 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52059
+ * trans-expr.c (gfc_conv_procedure_call): Add array ref
+ only to variables.
+
+2012-01-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52024
+ * gfortran.h (gfc_tbp_generic): Store whether the
+ generic is an operator.
+ * decl.c (gfc_match_generic): Set that flag.
+ * resolve.c (check_generic_tbp_ambiguity): Use it in the
+ gfc_compare_interfaces check.
+
+2012-01-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52029
+ * class.c (gfc_find_derived_vtab): Mark _copy function as pure.
+
+2012-01-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52013
+ * class.c (get_unique_hashed_string): Adapt trim length.
+ (gfc_build_class_symbol) Encode also corank in the container name.
+
+2012-01-31 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52012
+ * trans-expr.c (fcncall_realloc_result): Correct calculation of
+ result offset.
+
+2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * module.c (pointer_info): Make true_name and module pointers
+ rather than arrays, order pointers before other fields.
+ (free_pi_tree): free true_name and module as well.
+ (mio_read_string): Rename to read_string.
+ (mio_write_string): Remove.
+ (load_commons): Use read_string.
+ (read_module): Use read_string rather than mio_internal_string.
+ (write_blank_common): Call write_atom directly.
+ (write_symbol): Likewise.
+
+2012-01-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/41600
+ * expr.c (gfc_default_initializer): Convert the values if
+ the type does not match.
+
+2012-01-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51972
+ * trans-array.c (structure_alloc_comps): Fix assignment of
+ polymorphic components (polymorphic deep copying).
+
+2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/51808
+ * decl.c (set_binding_label): Make binding_label argument const.
+ (curr_binding_label): Constify.
+ * gfortran.h (gfc_symbol): Constify binding_label.
+ (gfc_common_head): Likewise.
+ (get_iso_c_sym): Likewise.
+ * match.c (gfc_match_name_C): Constify buffer argument.
+ * match.h (gfc_match_name_C): Likewise.
+ * resolve.c (set_name_and_label): Constify binding_label argument.
+ (gfc_iso_c_sub_interface): Constify binding_label variable.
+ * symbol.c (get_iso_c_sym): Constify binding_label argument.
+
+2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/51808
+ * decl.c (set_binding_label): Move prototype from match.h to here.
+ (curr_binding_label): Make a pointer rather than static array.
+ (build_sym): Check sym->binding_label pointer rather than array,
+ update set_binding_label call, handle curr_binding_label changes.
+ (set_binding_label): Handle new curr_binding_label, dest_label
+ double ptr, and sym->binding_label.
+ (verify_bind_c_sym): Handle sym->binding_label being a pointer.
+ (set_verify_bind_c_sym): Check sym->binding_label pointer rather
+ than array, update set_binding_label call.
+ (gfc_match_bind_c_stmt): Handle curr_binding_label change.
+ (match_procedure_decl): Update set_binding_label call.
+ (gfc_match_bind_c): Change binding_label to pointer, update
+ gfc_match_name_C call.
+ * gfortran.h (GFC_MAX_BINDING_LABEL_LEN): Remove macro.
+ (gfc_symbol): Make binding_label a pointer.
+ (gfc_common_head): Likewise.
+ * match.c (gfc_match_name_C): Heap allocate bind(C) name.
+ * match.h (gfc_match_name_C): Change prototype argument.
+ (set_binding_label): Move prototype to decl.c.
+ * module.c (struct pointer_info): Make binding_label a pointer.
+ (free_pi_tree): Free unused binding_label.
+ (mio_read_string): New function.
+ (mio_write_string): New function.
+ (load_commons): Redo reading of binding_label.
+ (read_module): Likewise.
+ (write_common_0): Change to write empty string instead of name if
+ no binding_label.
+ (write_blank_common): Write empty string for binding label.
+ (write_symbol): Change to write empty string instead of name if no
+ binding_label.
+ * resolve.c (gfc_iso_c_func_interface): Don't set binding_label.
+ (set_name_and_label): Make binding_label double pointer, use
+ asprintf.
+ (gfc_iso_c_sub_interface): Make binding_label a pointer.
+ (resolve_bind_c_comms): Handle cases if
+ gfc_common_head->binding_label is NULL.
+ (gfc_verify_binding_labels): sym->binding_label is a pointer.
+ * symbol.c (gfc_new_symbol): Rely on XCNEW zero init for
+ binding_label.
+ (gen_special_c_interop_ptr): Don't set binding label.
+ (generate_isocbinding_symbol): Insert binding_label into symbol
+ table.
+ (get_iso_c_sym): Use pointer assignment instead of strcpy.
+ * trans-common.c (gfc_sym_mangled_common_id): Handle
+ com->binding_label being a pointer.
+ * trans-decl.c (gfc_sym_mangled_identifier): Handle
+ sym->binding_label being a pointer.
+ (gfc_sym_mangled_function_id): Likewise.
+
+2012-01-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52038
+ * resolve.c (symbol_as): Remove unused, accidentally
+ added function.
+
+2012-01-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51972
+ * trans-stmt.c (gfc_trans_allocate): Properly check whether
+ we have a BT_CLASS which needs to be memset.
+
+2012-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52022
+ * trans-expr.c (gfc_conv_procedure_call): Fix passing
+ of functions, which return allocatables.
+
+2012-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52016
+ * resolve.c (resolve_formal_arglist): Fix elemental
+ constraint checks for polymorphic dummies also for
+ pointers.
+
+2012-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51970
+ PR fortran/51977
+ * primary.c (gfc_match_varspec. gfc_match_rvalue): Set
+ handle array spec for BT_CLASS.
+ * expr.c (gfc_get_variable_expr, gfc_lval_expr_from_sym)
+ * frontend-passes.c (create_var): Ditto.
+ * resolve.c (resolve_actual_arglist, resolve_assoc_var): Ditto.
+ * trans-decl.c (gfc_trans_deferred_vars): Use class_pointer
+ instead of attr.pointer.
+ (gfc_generate_function_code): Use CLASS_DATA (sym) for BT_CLASS.
+ * trans-intrinsic.c (conv_intrinsic_move_alloc): Move assert.
+ * trans-stmt.c (trans_associate_var): Ask for the descriptor.
+
+2012-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51953
+ * match.c (gfc_match_allocate): Allow more than allocate
+ object with SOURCE=.
+
+2012-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52016
+ * resolve.c (resolve_formal_arglist): Fix elemental
+ constraint checks for polymorphic dummies.
+
+2012-01-27 Paul Thomas <pault@gcc.gnu.org>
+ Tobias Burnus <burnus@gcc.gnu.org>
+
+ PR fortran/48705
+ PR fortran/51870
+ PR fortran/51943
+ PR fortran/51946
+ * trans-array.c (gfc_array_init_size): Add two extra arguments
+ to convey the dynamic element size of a calls object and to
+ return the number of elements that have been allocated.
+ (gfc_array_allocate): Add the same arguments and use them to
+ call gfc_array_init_size. Before the allocation dereference
+ the data pointer, if necessary. Set the allocated array to zero
+ if the class element size or expr3 are non-null.
+ * trans-expr.c (gfc_conv_class_to_class): Give this function
+ global scope.
+ (get_class_array_ref): New function.
+ (gfc_copy_class_to_class): New function.
+ * trans-array.h : Update prototype for gfc_array_allocate.
+ * trans-stmt.c (gfc_trans_allocate): For non-variable class
+ STATUS expressions extract the class object and the dynamic
+ element size. Use the latter to call gfc_array_allocate and
+ the former for setting the vptr and, via
+ gfc_copy_class_to_clasfc_cs, to copy to the allocated data.
+ * trans.h : Prototypes for gfc_get_class_array_ref,
+ gfc_copy_class_to_class and gfc_conv_class_to_class.
+
+2012-01-25 Tobias Burnus <burnus@net-b.de>
+
+ * resolve.c (symbol_as): Check also for attr.class_ok.
+
+2012-01-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51995
+ * class.c (gfc_build_class_symbol): Fix invalid freeing
+ issue with fclass->f2k_derived.
+
+2012-01-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51995
+ * class.c (gfc_build_class_symbol): Ensure that
+ fclass->f2k_derived is set.
+
+2012-01-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51966
+ * resolve.c (resolve_structure_cons): Only create an
+ array constructors for nonscalars.
+
+2012-01-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51948
+ * check.c (variable_check): Fix checking for
+ variables and deeply nested BLOCKs.
+
+2012-01-21 Tobias Burnus <burnus@net-b.de>
+ Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/50556
+ * symbol.c (check_conflict): namelist-group-name cannot have the SAVE
+ attribute.
+
+2012-01-21 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51913
+ * interface.c (compare_parameter): Fix CLASS comparison.
+
+2012-01-20 Tobias Burnus <burnus@net-b.de>
+ Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/51056
+ * module.c (load_needed, read_module): Don't mark __vtab etc.
+ as use_only.
+
+2012-01-19 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51904
+ * expr.c (gfc_build_intrinsic_call): Also set the symtree.
+
+2012-01-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/51634
+ * trans-expr.c (gfc_conv_procedure_call): Deallocate allocatable
+ components of temporary class arguments.
+
+2012-01-17 Tobias Burnus <burnus@net-b.de>
+ Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/51869
+ * trans-expr.c (alloc_scalar_allocatable_for_assignment): Nullify
+ LHS after allocation, if it has allocatable components.
+ * f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_CALLOC.
+
+2012-01-16 Mikael Morin <mikael@gcc.gnu.org>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50981
+ * trans-array.c (gfc_walk_elemental_function_args): Fix
+ passing of deallocated allocatables/pointers as absent argument.
+
+2012-01-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51809
+ * class.c (gfc_find_derived_vtab): Mark __vtab and
+ __def_init as FL_VARIABLE not as FL_PARAMETER.
+ * expr.c (gfc_simplify_expr): Remove special
+ handling of __vtab.
+ * resolve.c (resolve_values): Ditto.
+ * trans-decl.c (gfc_get_symbol_decl): Mark __vtab
+ and __def_init as TREE_READONLY.
+
+2012-01-16 Zydrunas Gimbutas <gimbutas@cims.nyu.edu>
+ Andreas Kloeckner <kloeckner@cims.nyu.edu>
+ Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/48426
+ * gfortran.h (gfc_option_t): Add members flag_*_kind to store kind.
+ * lang.opt: Add options -freal-4-real-8, -freal-4-real-10,
+ -freal-4-real-16, -freal-8-real-4, -freal-8-real-10, -freal-8-real-16
+ and -finteger-4-integer-8. User-desired type conversion information.
+ * decl.c (gfc_match_old_kind_spec,kind_expr): Type conversions
+ in declaration parsing.
+ * trans-types.c (gfc_init_kinds): User-specified type conversion
+ checked for current backend.
+ * primary.c (match_integer_constant,match_real_constant): Implement
+ type conversion in constant parsing.
+ * options.c (gfc_init_options,gfc_handle_option): Translate input
+ options to flags in internal options data structure.
+ * invoke.texi: Document new options. Re-order options in Options
+ summary section.
+
+2012-01-16 Paul Thomas <pault@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_create_temp_array): In the case of a
+ class array temporary, detect a null 'eltype' on entry and use
+ 'initial' to provde the class reference and so, through the
+ vtable, the element size for the dynamic type.
+ * trans-stmt.c (gfc_conv_elemental_dependencies): For class
+ expressions, set 'eltype' to null and pass the values via the
+ 'initial' expression.
+
+2012-01-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51800
+ * resolve.c (build_default_init_expr): Also initialize
+ nonconstant-length strings with -finit-character=<n>.
+
+2011-01-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51816
+ * module.c (read_module): Don't make nonexisting
+ intrinsic operators as found.
+ (rename_list_remove_duplicate): New function.
+ (gfc_use_modules): Use it.
+
+2012-01-13 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/48351
+ * trans-array.c (structure_alloc_comps): Suppress interative
+ call to self, when current component is deallocated using
+ gfc_trans_dealloc_allocated.
+ * class.c (gfc_build_class_symbol): Copy the 'alloc_comp'
+ attribute from the declared type to the class structure.
+
+2012-01-13 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51842
+ * fortran/trans-types.c (gfc_init_kinds): Use PTRDIFF_TYPE
+ instead of a signed int of size POINTER_SIZE for
+ gfc_index_integer_kind.
+
+2012-01-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/36755
+ * intrinsic.texi (CHMOD): Extend a bit and remove statement
+ that /bin/chmod is called.
+
+2012-01-10 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * gfortran.texi (Fortran 2003 Status): Fix grammar.
+
+2012-01-10 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51652
+ * resolve.c (resolve_allocate_expr): For non-deferred char lengths,
+ check whether type-spec matches declaration.
+
+2012-01-10 Tobias Burnus <burnus@net-b.de>
+
+ * resolve.c (resolve_ordinary_assign): Improve error wording.
+
+2012-01-09 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/51791
+ * interface.c (matching_typebound_op): Drill down through
+ possible parentheses to obtain base expression. Do not test for
+ 'class_ok' but, instead for the class structure components.
+ * resolve.c (resolve_ordinary_assign): Extend error message for
+ polymorphic assignment to advise checking for specific
+ subroutine.
+
+ PR fortran/51792
+ * resolve.c (resolve_typebound_function): Restore 'static' to
+ declaration.
+
+2012-01-09 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/51758
+ * trans-array.c (gfc_walk_elemental_function_args):
+ Skip over NULL() actual arguments.
+
+2012-01-09 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.texi: Bump copyright year.
+ (Fortran 2003 Status): Update polymorphism item, add
+ item for generic interface with DT name.
+
+2012-01-09 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51578
+ * gfortran.h (gfc_use_list):
+ * match.h (gfc_use_module): Rename to ...
+ (gfc_use_modules): ... this.
+ * module.c (use_locus, specified_nonint, specified_int): Remove
+ global variable.
+ (module_name): Change type to const char*, used with gfc_get_string.
+ (module_list): New global variable.
+ (free_rename): Free argument not global var.
+ (gfc_match_use): Save match to module_list.
+ (load_generic_interfaces, read_module): Don't free symtree.
+ (write_dt_extensions, gfc_dump_module): Fix module-name I/O due to the
+ type change of module_name.
+ (write_symbol0, write_generic): Optimize due to the type change.
+ (import_iso_c_binding_module, use_iso_fortran_env_module): Use
+ locus of rename->where.
+ (gfc_use_module): Take module_list as argument.
+ (gfc_use_modules): New function.
+ (gfc_module_init_2, gfc_module_done_2): Init module_list, rename_list.
+ * parse.c (last_was_use_stmt): New global variable.
+ (use_modules): New function.
+ (decode_specification_statement, decode_statement): Move USE match up
+ and call use_modules.
+ (next_free, next_fixed): Call use_modules.
+ (accept_statement): Don't call gfc_module_use.
+
+2012-01-06 Tobias Burnus <burnus@net-b.de>
+
+ * trans-openmp.c (gfc_omp_clause_dtor, gfc_trans_omp_array_reduction):
+ Update call to gfc_trans_dealloc_allocated.
+ * trans.c (gfc_allocate_using_malloc): Fix spacing.
+ (gfc_allocate_allocatable): For gfc_allocate_using_lib, jump to
+ label_finish when an error occurs.
+ (gfc_deallocate_with_status): Call caf_deregister for -fcoarray=lib.
+ * trans.h (gfc_allocate_allocatable, gfc_deallocate_with_status):
+ Update prototype.
+ (gfor_fndecl_caf_deregister): New tree symbol.
+ * trans-expr.c (gfc_conv_procedure_call): Update
+ gfc_deallocate_with_status and gfc_trans_dealloc_allocated calls.
+ * trans-array.c (gfc_array_allocate, gfc_trans_dealloc_allocated,
+ structure_alloc_comps, gfc_trans_deferred_array): Ditto.
+ (gfc_array_deallocate): Handle coarrays with -fcoarray=lib.
+ * trans-array.h (gfc_array_deallocate, gfc_array_allocate,
+ gfc_trans_dealloc_allocated): Update prototypes.
+ * trans-stmt.c (gfc_trans_sync): Fix indentation.
+ (gfc_trans_allocate): Fix errmsg padding and label handling.
+ (gfc_trans_deallocate): Ditto and handle -fcoarray=lib.
+ * expr.c (gfc_is_coarray): Fix algorithm for BT_CLASS.
+ * libgfortran.h (GFC_STAT_STOPPED_IMAGE): Use large value
+ to avoid other stats accidentally matching this one.
+ * trans-decl.c (gfor_fndecl_caf_deregister): New global var.
+ (gfc_build_builtin_function_decls): Fix prototype decl of caf_register
+ and add decl for caf_deregister.
+ (gfc_trans_deferred_vars): Handle CAF vars with -fcoarrays=lib.
+ * trans-intrinsic.c (conv_intrinsic_move_alloc): Update call to
+ gfc_deallocate_with_status.
+
+2012-01-05 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/PR48946
+ * resolve.c (resolve_typebound_static): If the typebound
+ procedure is 'deferred' try to find the correct specific
+ procedure in the derived type operator space itself.
+
+2012-01-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50981
+ * trans-array.h (gfc_walk_elemental_function_args): New argument.
+ * trans-intrinsic.c (gfc_walk_intrinsic_function): Update call.
+ * trans-stmt.c (gfc_trans_call): Ditto.
+ * trans-array.c (gfc_walk_function_expr): Ditto.
+ (gfc_walk_elemental_function_args): Get the dummy argument list
+ if possible. Check that the dummy and the actual argument are both
+ optional, and set can_be_null_ref accordingly.
+
+2012-01-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50981
+ * trans.h (struct gfc_ss_info): New field data::scalar::can_be_null_ref
+ * trans-array.c: If the reference can be NULL, save the reference
+ instead of the value.
+ * trans-expr.c (gfc_conv_expr): If we have saved a reference,
+ dereference it.
+
+2012-01-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-expr.c (gfc_conv_expr): Move address taking...
+ (gfc_conv_expr_reference): ... here.
+
+2012-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/49693
+ * trans-common.c (create_common): Update copyright years. Mark
+ variables as used to avoid warnings about unused variables in
+ common blocks.
+
+2012-01-03 Hans-Peter Nilsson <hp@axis.com>
+
+ * gfortran.h (struct gfc_expr): Add missing "struct"
+ qualifier for member base_expr.
+
+2012-01-02 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/51529
+ * trans-array.c (gfc_array_allocate): Null allocated memory of
+ newly allocted class arrays.
+
+ PR fortran/46262
+ PR fortran/46328
+ PR fortran/51052
+ * interface.c(build_compcall_for_operator): Add a type to the
+ expression.
+ * trans-expr.c (conv_base_obj_fcn_val): New function.
+ (gfc_conv_procedure_call): Use base_expr to detect non-variable
+ base objects and, ensuring that there is a temporary variable,
+ build up the typebound call using conv_base_obj_fcn_val.
+ (gfc_trans_class_assign): Pick out class procedure pointer
+ assignments and do the assignment with no further prcessing.
+ (gfc_trans_class_array_init_assign, gfc_trans_class_init_assign
+ gfc_trans_class_assign): Move to top of file.
+ * gfortran.h : Add 'base_expr' field to gfc_expr.
+ * resolve.c (get_declared_from_expr): Add 'types' argument to
+ switch checking of derived types on or off.
+ (resolve_typebound_generic_call): Set the new argument.
+ (resolve_typebound_function, resolve_typebound_subroutine):
+ Set 'types' argument for get_declared_from_expr appropriately.
+ Identify base expression, if not a variable, in the argument
+ list of class valued calls. Assign it to the 'base_expr' field
+ of the final expression. Strip away all references after the
+ last class reference.
+
+2012-01-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51682
+ * trans-intrinsic.c (trans_this_image, trans_image_index,
+ trans_num_images, conv_intrinsic_cobound): Fold_convert the
+ caf_num_images/caf_this_images variables to the correct int kind.
+
+2012-01-01 Jakub Jelinek <jakub@redhat.com>
+
+ * gfortranspec.c (lang_specific_driver): Update copyright notice
+ dates.
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/fortran/arith.c b/gcc/fortran/arith.c
index e94566aa65c..1f70d89a9aa 100644
--- a/gcc/fortran/arith.c
+++ b/gcc/fortran/arith.c
@@ -1,6 +1,6 @@
/* Compiler arithmetic
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010
+ 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Andy Vaught
diff --git a/gcc/fortran/bbt.c b/gcc/fortran/bbt.c
index 000f04bcbf8..8c1344c0a30 100644
--- a/gcc/fortran/bbt.c
+++ b/gcc/fortran/bbt.c
@@ -1,5 +1,5 @@
/* Balanced binary trees using treaps.
- Copyright (C) 2000, 2002, 2003, 2007, 2008, 2010
+ Copyright (C) 2000, 2002, 2003, 2007, 2008, 2010, 2012
Free Software Foundation, Inc.
Contributed by Andy Vaught
diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c
index 61d65e7a30b..0d34e78e5de 100644
--- a/gcc/fortran/class.c
+++ b/gcc/fortran/class.c
@@ -1,5 +1,5 @@
/* Implementation of Fortran 2003 Polymorphism.
- Copyright (C) 2009, 2010, 2011, 2012
+ Copyright (C) 2009, 2010, 2011, 2012, 2013
Free Software Foundation, Inc.
Contributed by Paul Richard Thomas <pault@gcc.gnu.org>
and Janus Weil <janus@gcc.gnu.org>
@@ -165,7 +165,23 @@ gfc_fix_class_refs (gfc_expr *e)
&& e->value.function.isym != NULL))
return;
- ts = &e->symtree->n.sym->ts;
+ if (e->expr_type == EXPR_VARIABLE)
+ ts = &e->symtree->n.sym->ts;
+ else
+ {
+ gfc_symbol *func;
+
+ gcc_assert (e->expr_type == EXPR_FUNCTION);
+ if (e->value.function.esym != NULL)
+ func = e->value.function.esym;
+ else
+ func = e->symtree->n.sym;
+
+ if (func->result != NULL)
+ ts = &func->result->ts;
+ else
+ ts = &func->ts;
+ }
for (ref = &e->ref; *ref != NULL; ref = &(*ref)->next)
{
@@ -414,7 +430,7 @@ gfc_class_null_initializer (gfc_typespec *ts, gfc_expr *init_expr)
&& ts->u.derived->components->ts.u.derived->attr.unlimited_polymorphic;
if (is_unlimited_polymorphic && init_expr)
- vtab = gfc_find_intrinsic_vtab (&(init_expr->ts));
+ vtab = gfc_find_intrinsic_vtab (&ts->u.derived->components->ts);
else
vtab = gfc_find_derived_vtab (ts->u.derived);
@@ -597,7 +613,7 @@ gfc_build_class_symbol (gfc_typespec *ts, symbol_attribute *attr,
fclass->refs++;
fclass->ts.type = BT_UNKNOWN;
if (!ts->u.derived->attr.unlimited_polymorphic)
- fclass->attr.abstract = ts->u.derived->attr.abstract;
+ fclass->attr.abstract = ts->u.derived->attr.abstract;
fclass->f2k_derived = gfc_get_namespace (NULL, 0);
if (gfc_add_flavor (&fclass->attr, FL_DERIVED,
NULL, &gfc_current_locus) == FAILURE)
@@ -924,14 +940,14 @@ finalize_component (gfc_expr *expr, gfc_symbol *derived, gfc_component *comp,
/* Generate code equivalent to
CALL C_F_POINTER (TRANSFER (TRANSFER (C_LOC (array, cptr), c_intptr)
- + idx * stride, c_ptr), ptr). */
+ + offset, c_ptr), ptr). */
static gfc_code *
-finalization_scalarizer (gfc_symbol *idx, gfc_symbol *array, gfc_symbol *ptr,
- gfc_expr *stride, gfc_namespace *sub_ns)
+finalization_scalarizer (gfc_symbol *array, gfc_symbol *ptr,
+ gfc_expr *offset, gfc_namespace *sub_ns)
{
gfc_code *block;
- gfc_expr *expr, *expr2, *expr3;
+ gfc_expr *expr, *expr2;
/* C_F_POINTER(). */
block = XCNEW (gfc_code);
@@ -961,6 +977,7 @@ finalization_scalarizer (gfc_symbol *idx, gfc_symbol *array, gfc_symbol *ptr,
= gfc_intrinsic_function_by_id (GFC_ISYM_TRANSFER);
/* Set symtree for -fdump-parse-tree. */
gfc_get_sym_tree ("transfer", sub_ns, &expr2->symtree, false);
+ expr2->symtree->n.sym->intmod_sym_id = GFC_ISYM_TRANSFER;
expr2->symtree->n.sym->attr.flavor = FL_PROCEDURE;
expr2->symtree->n.sym->attr.intrinsic = 1;
gfc_commit_symbol (expr2->symtree->n.sym);
@@ -995,21 +1012,12 @@ finalization_scalarizer (gfc_symbol *idx, gfc_symbol *array, gfc_symbol *ptr,
expr->ts.kind = gfc_index_integer_kind;
expr2->value.function.actual->expr = expr;
- /* Offset calculation: idx * stride (in bytes). */
- block->ext.actual->expr = gfc_get_expr ();
- expr3 = block->ext.actual->expr;
- expr3->expr_type = EXPR_OP;
- expr3->value.op.op = INTRINSIC_TIMES;
- expr3->value.op.op1 = gfc_lval_expr_from_sym (idx);
- expr3->value.op.op2 = stride;
- expr3->ts = expr->ts;
-
/* <array addr> + <offset>. */
block->ext.actual->expr = gfc_get_expr ();
block->ext.actual->expr->expr_type = EXPR_OP;
block->ext.actual->expr->value.op.op = INTRINSIC_PLUS;
block->ext.actual->expr->value.op.op1 = expr2;
- block->ext.actual->expr->value.op.op2 = expr3;
+ block->ext.actual->expr->value.op.op2 = offset;
block->ext.actual->expr->ts = expr->ts;
/* C_F_POINTER's 2nd arg: ptr -- and its absent shape=. */
@@ -1021,39 +1029,183 @@ finalization_scalarizer (gfc_symbol *idx, gfc_symbol *array, gfc_symbol *ptr,
}
+/* Calculates the offset to the (idx+1)th element of an array, taking the
+ stride into account. It generates the code:
+ offset = 0
+ do idx2 = 1, rank
+ offset = offset + mod (idx, sizes(idx2)) / sizes(idx2-1) * strides(idx2)
+ end do
+ offset = offset * byte_stride. */
+
+static gfc_code*
+finalization_get_offset (gfc_symbol *idx, gfc_symbol *idx2, gfc_symbol *offset,
+ gfc_symbol *strides, gfc_symbol *sizes,
+ gfc_symbol *byte_stride, gfc_expr *rank,
+ gfc_code *block, gfc_namespace *sub_ns)
+{
+ gfc_iterator *iter;
+ gfc_expr *expr, *expr2;
+
+ /* offset = 0. */
+ block->next = XCNEW (gfc_code);
+ block = block->next;
+ block->op = EXEC_ASSIGN;
+ block->loc = gfc_current_locus;
+ block->expr1 = gfc_lval_expr_from_sym (offset);
+ block->expr2 = gfc_get_int_expr (gfc_index_integer_kind, NULL, 0);
+
+ /* Create loop. */
+ iter = gfc_get_iterator ();
+ iter->var = gfc_lval_expr_from_sym (idx2);
+ iter->start = gfc_get_int_expr (gfc_index_integer_kind, NULL, 1);
+ iter->end = gfc_copy_expr (rank);
+ iter->step = gfc_get_int_expr (gfc_index_integer_kind, NULL, 1);
+ block->next = XCNEW (gfc_code);
+ block = block->next;
+ block->op = EXEC_DO;
+ block->loc = gfc_current_locus;
+ block->ext.iterator = iter;
+ block->block = gfc_get_code ();
+ block->block->op = EXEC_DO;
+
+ /* Loop body: offset = offset + mod (idx, sizes(idx2)) / sizes(idx2-1)
+ * strides(idx2). */
+
+ /* mod (idx, sizes(idx2)). */
+ expr = gfc_get_expr ();
+ expr->expr_type = EXPR_FUNCTION;
+ expr->value.function.isym = gfc_intrinsic_function_by_id (GFC_ISYM_MOD);
+ gfc_get_sym_tree ("mod", sub_ns, &expr->symtree, false);
+ expr->symtree->n.sym->intmod_sym_id = GFC_ISYM_MOD;
+ expr->symtree->n.sym->attr.flavor = FL_PROCEDURE;
+ expr->symtree->n.sym->attr.intrinsic = 1;
+ gfc_commit_symbol (expr->symtree->n.sym);
+ expr->value.function.actual = gfc_get_actual_arglist ();
+ expr->value.function.actual->expr = gfc_lval_expr_from_sym (idx);
+ expr->value.function.actual->next = gfc_get_actual_arglist ();
+ expr->value.function.actual->next->expr = gfc_lval_expr_from_sym (sizes);
+ expr->value.function.actual->next->expr->ref = gfc_get_ref ();
+ expr->value.function.actual->next->expr->ref->type = REF_ARRAY;
+ expr->value.function.actual->next->expr->ref->u.ar.as = sizes->as;
+ expr->value.function.actual->next->expr->ref->u.ar.type = AR_ELEMENT;
+ expr->value.function.actual->next->expr->ref->u.ar.dimen = 1;
+ expr->value.function.actual->next->expr->ref->u.ar.dimen_type[0]
+ = DIMEN_ELEMENT;
+ expr->value.function.actual->next->expr->ref->u.ar.start[0]
+ = gfc_lval_expr_from_sym (idx2);
+ expr->ts = idx->ts;
+
+ /* (...) / sizes(idx2-1). */
+ expr2 = gfc_get_expr ();
+ expr2->expr_type = EXPR_OP;
+ expr2->value.op.op = INTRINSIC_DIVIDE;
+ expr2->value.op.op1 = expr;
+ expr2->value.op.op2 = gfc_lval_expr_from_sym (sizes);
+ expr2->value.op.op2->ref = gfc_get_ref ();
+ expr2->value.op.op2->ref->type = REF_ARRAY;
+ expr2->value.op.op2->ref->u.ar.as = sizes->as;
+ expr2->value.op.op2->ref->u.ar.type = AR_ELEMENT;
+ expr2->value.op.op2->ref->u.ar.dimen = 1;
+ expr2->value.op.op2->ref->u.ar.dimen_type[0] = DIMEN_ELEMENT;
+ expr2->value.op.op2->ref->u.ar.start[0] = gfc_get_expr ();
+ expr2->value.op.op2->ref->u.ar.start[0]->expr_type = EXPR_OP;
+ expr2->value.op.op2->ref->u.ar.start[0]->value.op.op = INTRINSIC_MINUS;
+ expr2->value.op.op2->ref->u.ar.start[0]->value.op.op1
+ = gfc_lval_expr_from_sym (idx2);
+ expr2->value.op.op2->ref->u.ar.start[0]->value.op.op2
+ = gfc_get_int_expr (gfc_index_integer_kind, NULL, 1);
+ expr2->value.op.op2->ref->u.ar.start[0]->ts
+ = expr2->value.op.op2->ref->u.ar.start[0]->value.op.op1->ts;
+ expr2->ts = idx->ts;
+
+ /* ... * strides(idx2). */
+ expr = gfc_get_expr ();
+ expr->expr_type = EXPR_OP;
+ expr->value.op.op = INTRINSIC_TIMES;
+ expr->value.op.op1 = expr2;
+ expr->value.op.op2 = gfc_lval_expr_from_sym (strides);
+ expr->value.op.op2->ref = gfc_get_ref ();
+ expr->value.op.op2->ref->type = REF_ARRAY;
+ expr->value.op.op2->ref->u.ar.type = AR_ELEMENT;
+ expr->value.op.op2->ref->u.ar.dimen = 1;
+ expr->value.op.op2->ref->u.ar.dimen_type[0] = DIMEN_ELEMENT;
+ expr->value.op.op2->ref->u.ar.start[0] = gfc_lval_expr_from_sym (idx2);
+ expr->value.op.op2->ref->u.ar.as = strides->as;
+ expr->ts = idx->ts;
+
+ /* offset = offset + ... */
+ block->block->next = XCNEW (gfc_code);
+ block->block->next->op = EXEC_ASSIGN;
+ block->block->next->loc = gfc_current_locus;
+ block->block->next->expr1 = gfc_lval_expr_from_sym (offset);
+ block->block->next->expr2 = gfc_get_expr ();
+ block->block->next->expr2->expr_type = EXPR_OP;
+ block->block->next->expr2->value.op.op = INTRINSIC_PLUS;
+ block->block->next->expr2->value.op.op1 = gfc_lval_expr_from_sym (offset);
+ block->block->next->expr2->value.op.op2 = expr;
+ block->block->next->expr2->ts = idx->ts;
+
+ /* After the loop: offset = offset * byte_stride. */
+ block->next = XCNEW (gfc_code);
+ block = block->next;
+ block->op = EXEC_ASSIGN;
+ block->loc = gfc_current_locus;
+ block->expr1 = gfc_lval_expr_from_sym (offset);
+ block->expr2 = gfc_get_expr ();
+ block->expr2->expr_type = EXPR_OP;
+ block->expr2->value.op.op = INTRINSIC_TIMES;
+ block->expr2->value.op.op1 = gfc_lval_expr_from_sym (offset);
+ block->expr2->value.op.op2 = gfc_lval_expr_from_sym (byte_stride);
+ block->expr2->ts = block->expr2->value.op.op1->ts;
+ return block;
+}
+
+
/* Insert code of the following form:
- if (stride == STORAGE_SIZE (array)/NUMERIC_STORAGE_SIZE
- || 0 == STORAGE_SIZE (array)) then
- call final_rank3 (array)
- else
- block
- type(t) :: tmp(shape (array))
-
- do i = 0, size (array)-1
- addr = transfer (c_loc (array), addr) + i * stride
- call c_f_pointer (transfer (addr, cptr), ptr)
-
- addr = transfer (c_loc (tmp), addr)
- + i * STORAGE_SIZE (array)/NUMERIC_STORAGE_SIZE
- call c_f_pointer (transfer (addr, cptr), ptr2)
- ptr2 = ptr
- end do
- call final_rank3 (tmp)
- end block
- end if */
+ block
+ integer(c_intptr_t) :: i
+
+ if ((byte_stride == STORAGE_SIZE (array)/NUMERIC_STORAGE_SIZE
+ && (is_contiguous || !final_rank3->attr.contiguous
+ || final_rank3->as->type != AS_ASSUMED_SHAPE))
+ || 0 == STORAGE_SIZE (array)) then
+ call final_rank3 (array)
+ else
+ block
+ integer(c_intptr_t) :: offset, j
+ type(t) :: tmp(shape (array))
+
+ do i = 0, size (array)-1
+ offset = obtain_offset(i, strides, sizes, byte_stride)
+ addr = transfer (c_loc (array), addr) + offset
+ call c_f_pointer (transfer (addr, cptr), ptr)
+
+ addr = transfer (c_loc (tmp), addr)
+ + i * STORAGE_SIZE (array)/NUMERIC_STORAGE_SIZE
+ call c_f_pointer (transfer (addr, cptr), ptr2)
+ ptr2 = ptr
+ end do
+ call final_rank3 (tmp)
+ end block
+ end if
+ block */
static void
finalizer_insert_packed_call (gfc_code *block, gfc_finalizer *fini,
- gfc_symbol *array, gfc_symbol *stride,
+ gfc_symbol *array, gfc_symbol *byte_stride,
gfc_symbol *idx, gfc_symbol *ptr,
gfc_symbol *nelem, gfc_symtree *size_intr,
+ gfc_symbol *strides, gfc_symbol *sizes,
+ gfc_symbol *idx2, gfc_symbol *offset,
+ gfc_symbol *is_contiguous, gfc_expr *rank,
gfc_namespace *sub_ns)
{
gfc_symbol *tmp_array, *ptr2;
- gfc_expr *size_expr;
+ gfc_expr *size_expr, *offset2, *expr;
gfc_namespace *ns;
gfc_iterator *iter;
+ gfc_code *block2;
int i;
block->next = XCNEW (gfc_code);
@@ -1080,6 +1232,8 @@ finalizer_insert_packed_call (gfc_code *block, gfc_finalizer *fini,
= gfc_intrinsic_function_by_id (GFC_ISYM_STORAGE_SIZE);
gfc_get_sym_tree ("storage_size", sub_ns, &size_expr->value.op.op1->symtree,
false);
+ size_expr->value.op.op1->symtree->n.sym->intmod_sym_id
+ = GFC_ISYM_STORAGE_SIZE;
size_expr->value.op.op1->symtree->n.sym->attr.flavor = FL_PROCEDURE;
size_expr->value.op.op1->symtree->n.sym->attr.intrinsic = 1;
gfc_commit_symbol (size_expr->value.op.op1->symtree->n.sym);
@@ -1096,32 +1250,53 @@ finalizer_insert_packed_call (gfc_code *block, gfc_finalizer *fini,
size_expr->value.op.op1->ts = size_expr->value.op.op2->ts;
size_expr->ts = size_expr->value.op.op1->ts;
- /* IF condition: stride == size_expr || 0 == size_expr. */
+ /* IF condition: (stride == size_expr
+ && ((fini's as->ASSUMED_SIZE && !fini's attr.contiguous)
+ || is_contiguous)
+ || 0 == size_expr. */
block->expr1 = gfc_get_expr ();
block->expr1->expr_type = EXPR_FUNCTION;
block->expr1->ts.type = BT_LOGICAL;
- block->expr1->ts.kind = 4;
+ block->expr1->ts.kind = gfc_default_logical_kind;
block->expr1->expr_type = EXPR_OP;
block->expr1->where = gfc_current_locus;
block->expr1->value.op.op = INTRINSIC_OR;
- /* stride == size_expr */
- block->expr1->value.op.op1 = gfc_get_expr ();
- block->expr1->value.op.op1->expr_type = EXPR_FUNCTION;
- block->expr1->value.op.op1->ts.type = BT_LOGICAL;
- block->expr1->value.op.op1->ts.kind = 4;
- block->expr1->value.op.op1->expr_type = EXPR_OP;
- block->expr1->value.op.op1->where = gfc_current_locus;
- block->expr1->value.op.op1->value.op.op = INTRINSIC_EQ;
- block->expr1->value.op.op1->value.op.op1 = gfc_lval_expr_from_sym (stride);
- block->expr1->value.op.op1->value.op.op2 = size_expr;
+ /* byte_stride == size_expr */
+ expr = gfc_get_expr ();
+ expr->ts.type = BT_LOGICAL;
+ expr->ts.kind = gfc_default_logical_kind;
+ expr->expr_type = EXPR_OP;
+ expr->where = gfc_current_locus;
+ expr->value.op.op = INTRINSIC_EQ;
+ expr->value.op.op1
+ = gfc_lval_expr_from_sym (byte_stride);
+ expr->value.op.op2 = size_expr;
+
+ /* If strides aren't allowd (not assumed shape or CONTIGUOUS),
+ add is_contiguous check. */
+ if (fini->proc_tree->n.sym->formal->sym->as->type != AS_ASSUMED_SHAPE
+ || fini->proc_tree->n.sym->formal->sym->attr.contiguous)
+ {
+ gfc_expr *expr2;
+ expr2 = gfc_get_expr ();
+ expr2->ts.type = BT_LOGICAL;
+ expr2->ts.kind = gfc_default_logical_kind;
+ expr2->expr_type = EXPR_OP;
+ expr2->where = gfc_current_locus;
+ expr2->value.op.op = INTRINSIC_AND;
+ expr2->value.op.op1 = expr;
+ expr2->value.op.op2 = gfc_lval_expr_from_sym (is_contiguous);
+ expr = expr2;
+ }
+
+ block->expr1->value.op.op1 = expr;
/* 0 == size_expr */
block->expr1->value.op.op2 = gfc_get_expr ();
- block->expr1->value.op.op2->expr_type = EXPR_FUNCTION;
block->expr1->value.op.op2->ts.type = BT_LOGICAL;
- block->expr1->value.op.op2->ts.kind = 4;
+ block->expr1->value.op.op2->ts.kind = gfc_default_logical_kind;
block->expr1->value.op.op2->expr_type = EXPR_OP;
block->expr1->value.op.op2->where = gfc_current_locus;
block->expr1->value.op.op2->value.op.op = INTRINSIC_EQ;
@@ -1168,7 +1343,6 @@ finalizer_insert_packed_call (gfc_code *block, gfc_finalizer *fini,
tmp_array->ts.type = BT_DERIVED;
tmp_array->ts.u.derived = array->ts.u.derived;
tmp_array->attr.flavor = FL_VARIABLE;
- tmp_array->attr.contiguous = 1;
tmp_array->attr.dimension = 1;
tmp_array->attr.artificial = 1;
tmp_array->as = gfc_get_array_spec();
@@ -1217,22 +1391,36 @@ finalizer_insert_packed_call (gfc_code *block, gfc_finalizer *fini,
block->block = gfc_get_code ();
block->block->op = EXEC_DO;
+ /* Offset calculation for the new array: idx * size of type (in bytes). */
+ offset2 = gfc_get_expr ();
+ offset2 = block->ext.actual->expr;
+ offset2->expr_type = EXPR_OP;
+ offset2->value.op.op = INTRINSIC_TIMES;
+ offset2->value.op.op1 = gfc_lval_expr_from_sym (idx);
+ offset2->value.op.op2 = gfc_copy_expr (size_expr);
+ offset2->ts = byte_stride->ts;
+
+ /* Offset calculation of "array". */
+ block2 = finalization_get_offset (idx, idx2, offset, strides, sizes,
+ byte_stride, rank, block->block, sub_ns);
+
/* Create code for
CALL C_F_POINTER (TRANSFER (TRANSFER (C_LOC (array, cptr), c_intptr)
+ idx * stride, c_ptr), ptr). */
- block->block->next = finalization_scalarizer (idx, array, ptr,
- gfc_lval_expr_from_sym (stride),
- sub_ns);
- block->block->next->next = finalization_scalarizer (idx, tmp_array, ptr2,
- gfc_copy_expr (size_expr),
- sub_ns);
+ block2->next = finalization_scalarizer (array, ptr,
+ gfc_lval_expr_from_sym (offset),
+ sub_ns);
+ block2 = block2->next;
+ block2->next = finalization_scalarizer (tmp_array, ptr2, offset2, sub_ns);
+
/* ptr2 = ptr. */
- block->block->next->next->next = XCNEW (gfc_code);
- block->block->next->next->next->op = EXEC_ASSIGN;
- block->block->next->next->next->loc = gfc_current_locus;
- block->block->next->next->next->expr1 = gfc_lval_expr_from_sym (ptr2);
- block->block->next->next->next->expr2 = gfc_lval_expr_from_sym (ptr);
+ block2->next = XCNEW (gfc_code);
+ block2->next->op = EXEC_ASSIGN;
+ block2->next->loc = gfc_current_locus;
+ block2->next->expr1 = gfc_lval_expr_from_sym (ptr2);
+ block2->next->expr2 = gfc_lval_expr_from_sym (ptr);
+ /* Call now the user's final subroutine. */
block->next = XCNEW (gfc_code);
block = block->next;
block->op = EXEC_CALL;
@@ -1262,21 +1450,26 @@ finalizer_insert_packed_call (gfc_code *block, gfc_finalizer *fini,
block->block = gfc_get_code ();
block->block->op = EXEC_DO;
+ /* Offset calculation of "array". */
+ block2 = finalization_get_offset (idx, idx2, offset, strides, sizes,
+ byte_stride, rank, block->block, sub_ns);
+
/* Create code for
CALL C_F_POINTER (TRANSFER (TRANSFER (C_LOC (array, cptr), c_intptr)
- + idx * stride, c_ptr), ptr). */
- block->block->next = finalization_scalarizer (idx, array, ptr,
- gfc_lval_expr_from_sym (stride),
- sub_ns);
- block->block->next->next = finalization_scalarizer (idx, tmp_array, ptr2,
- gfc_copy_expr (size_expr),
- sub_ns);
+ + offset, c_ptr), ptr). */
+ block2->next = finalization_scalarizer (array, ptr,
+ gfc_lval_expr_from_sym (offset),
+ sub_ns);
+ block2 = block2->next;
+ block2->next = finalization_scalarizer (tmp_array, ptr2, offset2, sub_ns);
+ block2 = block2->next;
+
/* ptr = ptr2. */
- block->block->next->next->next = XCNEW (gfc_code);
- block->block->next->next->next->op = EXEC_ASSIGN;
- block->block->next->next->next->loc = gfc_current_locus;
- block->block->next->next->next->expr1 = gfc_lval_expr_from_sym (ptr);
- block->block->next->next->next->expr2 = gfc_lval_expr_from_sym (ptr2);
+ block2->next = XCNEW (gfc_code);
+ block2->next->op = EXEC_ASSIGN;
+ block2->next->loc = gfc_current_locus;
+ block2->next->expr1 = gfc_lval_expr_from_sym (ptr);
+ block2->next->expr2 = gfc_lval_expr_from_sym (ptr2);
}
@@ -1300,16 +1493,17 @@ static void
generate_finalization_wrapper (gfc_symbol *derived, gfc_namespace *ns,
const char *tname, gfc_component *vtab_final)
{
- gfc_symbol *final, *array, *nelem, *fini_coarray, *stride;
- gfc_symbol *ptr = NULL, *idx = NULL;
+ gfc_symbol *final, *array, *fini_coarray, *byte_stride, *sizes, *strides;
+ gfc_symbol *ptr = NULL, *idx, *idx2, *is_contiguous, *offset, *nelem;
gfc_symtree *size_intr;
gfc_component *comp;
gfc_namespace *sub_ns;
- gfc_code *last_code;
+ gfc_code *last_code, *block;
char name[GFC_MAX_SYMBOL_LEN+1];
bool finalizable_comp = false;
bool expr_null_wrapper = false;
- gfc_expr *ancestor_wrapper = NULL;
+ gfc_expr *ancestor_wrapper = NULL, *rank;
+ gfc_iterator *iter;
/* Search for the ancestor's finalizers. */
if (derived->attr.extension && derived->components
@@ -1423,22 +1617,22 @@ generate_finalization_wrapper (gfc_symbol *derived, gfc_namespace *ns,
gfc_commit_symbol (array);
/* Set up formal argument. */
- gfc_get_symbol ("stride", sub_ns, &stride);
- stride->ts.type = BT_INTEGER;
- stride->ts.kind = gfc_index_integer_kind;
- stride->attr.flavor = FL_VARIABLE;
- stride->attr.dummy = 1;
- stride->attr.value = 1;
- stride->attr.artificial = 1;
- gfc_set_sym_referenced (stride);
+ gfc_get_symbol ("byte_stride", sub_ns, &byte_stride);
+ byte_stride->ts.type = BT_INTEGER;
+ byte_stride->ts.kind = gfc_index_integer_kind;
+ byte_stride->attr.flavor = FL_VARIABLE;
+ byte_stride->attr.dummy = 1;
+ byte_stride->attr.value = 1;
+ byte_stride->attr.artificial = 1;
+ gfc_set_sym_referenced (byte_stride);
final->formal->next = gfc_get_formal_arglist ();
- final->formal->next->sym = stride;
- gfc_commit_symbol (stride);
+ final->formal->next->sym = byte_stride;
+ gfc_commit_symbol (byte_stride);
/* Set up formal argument. */
gfc_get_symbol ("fini_coarray", sub_ns, &fini_coarray);
fini_coarray->ts.type = BT_LOGICAL;
- fini_coarray->ts.kind = 4;
+ fini_coarray->ts.kind = 1;
fini_coarray->attr.flavor = FL_VARIABLE;
fini_coarray->attr.dummy = 1;
fini_coarray->attr.value = 1;
@@ -1457,6 +1651,90 @@ generate_finalization_wrapper (gfc_symbol *derived, gfc_namespace *ns,
return;
}
+ /* Local variables. */
+
+ gfc_get_symbol ("idx", sub_ns, &idx);
+ idx->ts.type = BT_INTEGER;
+ idx->ts.kind = gfc_index_integer_kind;
+ idx->attr.flavor = FL_VARIABLE;
+ idx->attr.artificial = 1;
+ gfc_set_sym_referenced (idx);
+ gfc_commit_symbol (idx);
+
+ gfc_get_symbol ("idx2", sub_ns, &idx2);
+ idx2->ts.type = BT_INTEGER;
+ idx2->ts.kind = gfc_index_integer_kind;
+ idx2->attr.flavor = FL_VARIABLE;
+ idx2->attr.artificial = 1;
+ gfc_set_sym_referenced (idx2);
+ gfc_commit_symbol (idx2);
+
+ gfc_get_symbol ("offset", sub_ns, &offset);
+ offset->ts.type = BT_INTEGER;
+ offset->ts.kind = gfc_index_integer_kind;
+ offset->attr.flavor = FL_VARIABLE;
+ offset->attr.artificial = 1;
+ gfc_set_sym_referenced (offset);
+ gfc_commit_symbol (offset);
+
+ /* Create RANK expression. */
+ rank = gfc_get_expr ();
+ rank->expr_type = EXPR_FUNCTION;
+ rank->value.function.isym = gfc_intrinsic_function_by_id (GFC_ISYM_RANK);
+ gfc_get_sym_tree ("rank", sub_ns, &rank->symtree, false);
+ rank->symtree->n.sym->intmod_sym_id = GFC_ISYM_RANK;
+ rank->symtree->n.sym->attr.flavor = FL_PROCEDURE;
+ rank->symtree->n.sym->attr.intrinsic = 1;
+ gfc_commit_symbol (rank->symtree->n.sym);
+ rank->value.function.actual = gfc_get_actual_arglist ();
+ rank->value.function.actual->expr = gfc_lval_expr_from_sym (array);
+ rank->ts = rank->value.function.isym->ts;
+ gfc_convert_type (rank, &idx->ts, 2);
+
+ /* Create is_contiguous variable. */
+ gfc_get_symbol ("is_contiguous", sub_ns, &is_contiguous);
+ is_contiguous->ts.type = BT_LOGICAL;
+ is_contiguous->ts.kind = gfc_default_logical_kind;
+ is_contiguous->attr.flavor = FL_VARIABLE;
+ is_contiguous->attr.artificial = 1;
+ gfc_set_sym_referenced (is_contiguous);
+ gfc_commit_symbol (is_contiguous);
+
+ /* Create "sizes(0..rank)" variable, which contains the multiplied
+ up extent of the dimensions, i.e. sizes(0) = 1, sizes(1) = extent(dim=1),
+ sizes(2) = sizes(1) * extent(dim=2) etc. */
+ gfc_get_symbol ("sizes", sub_ns, &sizes);
+ sizes->ts.type = BT_INTEGER;
+ sizes->ts.kind = gfc_index_integer_kind;
+ sizes->attr.flavor = FL_VARIABLE;
+ sizes->attr.dimension = 1;
+ sizes->attr.artificial = 1;
+ sizes->as = gfc_get_array_spec();
+ sizes->attr.intent = INTENT_INOUT;
+ sizes->as->type = AS_EXPLICIT;
+ sizes->as->rank = 1;
+ sizes->as->lower[0] = gfc_get_int_expr (gfc_index_integer_kind, NULL, 0);
+ sizes->as->upper[0] = gfc_copy_expr (rank);
+ gfc_set_sym_referenced (sizes);
+ gfc_commit_symbol (sizes);
+
+ /* Create "strides(1..rank)" variable, which contains the strides per
+ dimension. */
+ gfc_get_symbol ("strides", sub_ns, &strides);
+ strides->ts.type = BT_INTEGER;
+ strides->ts.kind = gfc_index_integer_kind;
+ strides->attr.flavor = FL_VARIABLE;
+ strides->attr.dimension = 1;
+ strides->attr.artificial = 1;
+ strides->as = gfc_get_array_spec();
+ strides->attr.intent = INTENT_INOUT;
+ strides->as->type = AS_EXPLICIT;
+ strides->as->rank = 1;
+ strides->as->lower[0] = gfc_get_int_expr (gfc_index_integer_kind, NULL, 1);
+ strides->as->upper[0] = gfc_copy_expr (rank);
+ gfc_set_sym_referenced (strides);
+ gfc_commit_symbol (strides);
+
/* Set return value to 0. */
last_code = XCNEW (gfc_code);
@@ -1466,6 +1744,206 @@ generate_finalization_wrapper (gfc_symbol *derived, gfc_namespace *ns,
last_code->expr2 = gfc_get_int_expr (4, NULL, 0);
sub_ns->code = last_code;
+ /* Set: is_contiguous = .true. */
+ last_code->next = XCNEW (gfc_code);
+ last_code = last_code->next;
+ last_code->op = EXEC_ASSIGN;
+ last_code->loc = gfc_current_locus;
+ last_code->expr1 = gfc_lval_expr_from_sym (is_contiguous);
+ last_code->expr2 = gfc_get_logical_expr (gfc_default_logical_kind,
+ &gfc_current_locus, true);
+
+ /* Set: sizes(0) = 1. */
+ last_code->next = XCNEW (gfc_code);
+ last_code = last_code->next;
+ last_code->op = EXEC_ASSIGN;
+ last_code->loc = gfc_current_locus;
+ last_code->expr1 = gfc_lval_expr_from_sym (sizes);
+ last_code->expr1->ref = gfc_get_ref ();
+ last_code->expr1->ref->type = REF_ARRAY;
+ last_code->expr1->ref->u.ar.type = AR_ELEMENT;
+ last_code->expr1->ref->u.ar.dimen = 1;
+ last_code->expr1->ref->u.ar.dimen_type[0] = DIMEN_ELEMENT;
+ last_code->expr1->ref->u.ar.start[0]
+ = gfc_get_int_expr (gfc_index_integer_kind, NULL, 0);
+ last_code->expr1->ref->u.ar.as = sizes->as;
+ last_code->expr2 = gfc_get_int_expr (gfc_default_integer_kind, NULL, 1);
+
+ /* Create:
+ DO idx = 1, rank
+ strides(idx) = _F._stride (array, dim=idx)
+ sizes(idx) = sizes(i-1) * size(array, dim=idx, kind=index_kind)
+ if (strides(idx) /= sizes(i-1)) is_contiguous = .false.
+ END DO. */
+
+ /* Create loop. */
+ iter = gfc_get_iterator ();
+ iter->var = gfc_lval_expr_from_sym (idx);
+ iter->start = gfc_get_int_expr (gfc_index_integer_kind, NULL, 1);
+ iter->end = gfc_copy_expr (rank);
+ iter->step = gfc_get_int_expr (gfc_index_integer_kind, NULL, 1);
+ last_code->next = XCNEW (gfc_code);
+ last_code = last_code->next;
+ last_code->op = EXEC_DO;
+ last_code->loc = gfc_current_locus;
+ last_code->ext.iterator = iter;
+ last_code->block = gfc_get_code ();
+ last_code->block->op = EXEC_DO;
+
+ /* strides(idx) = _F._stride(array,dim=idx). */
+ last_code->block->next = XCNEW (gfc_code);
+ block = last_code->block->next;
+ block->op = EXEC_ASSIGN;
+ block->loc = gfc_current_locus;
+
+ block->expr1 = gfc_lval_expr_from_sym (strides);
+ block->expr1->ref = gfc_get_ref ();
+ block->expr1->ref->type = REF_ARRAY;
+ block->expr1->ref->u.ar.type = AR_ELEMENT;
+ block->expr1->ref->u.ar.dimen = 1;
+ block->expr1->ref->u.ar.dimen_type[0] = DIMEN_ELEMENT;
+ block->expr1->ref->u.ar.start[0] = gfc_lval_expr_from_sym (idx);
+ block->expr1->ref->u.ar.as = strides->as;
+
+ block->expr2 = gfc_get_expr ();
+ block->expr2->expr_type = EXPR_FUNCTION;
+ block->expr2->value.function.isym
+ = gfc_intrinsic_function_by_id (GFC_ISYM_STRIDE);
+ gfc_get_sym_tree (GFC_PREFIX ("stride"), sub_ns,
+ &block->expr2->symtree, false);
+ block->expr2->symtree->n.sym->intmod_sym_id = GFC_ISYM_STRIDE;
+ block->expr2->symtree->n.sym->attr.flavor = FL_PROCEDURE;
+ block->expr2->symtree->n.sym->attr.intrinsic = 1;
+ gfc_commit_symbol (block->expr2->symtree->n.sym);
+ block->expr2->value.function.actual = gfc_get_actual_arglist ();
+ block->expr2->value.function.actual->expr = gfc_lval_expr_from_sym (array);
+ /* dim=idx. */
+ block->expr2->value.function.actual->next = gfc_get_actual_arglist ();
+ block->expr2->value.function.actual->next->expr
+ = gfc_lval_expr_from_sym (idx);
+ block->expr2->ts = block->expr2->value.function.isym->ts;
+
+ /* sizes(idx) = sizes(idx-1) * size(array,dim=idx, kind=index_kind). */
+ block->next = XCNEW (gfc_code);
+ block = block->next;
+ block->op = EXEC_ASSIGN;
+ block->loc = gfc_current_locus;
+
+ /* sizes(idx) = ... */
+ block->expr1 = gfc_lval_expr_from_sym (sizes);
+ block->expr1->ref = gfc_get_ref ();
+ block->expr1->ref->type = REF_ARRAY;
+ block->expr1->ref->u.ar.type = AR_ELEMENT;
+ block->expr1->ref->u.ar.dimen = 1;
+ block->expr1->ref->u.ar.dimen_type[0] = DIMEN_ELEMENT;
+ block->expr1->ref->u.ar.start[0] = gfc_lval_expr_from_sym (idx);
+ block->expr1->ref->u.ar.as = sizes->as;
+
+ block->expr2 = gfc_get_expr ();
+ block->expr2->expr_type = EXPR_OP;
+ block->expr2->value.op.op = INTRINSIC_TIMES;
+
+ /* sizes(idx-1). */
+ block->expr2->value.op.op1 = gfc_lval_expr_from_sym (sizes);
+ block->expr2->value.op.op1->ref = gfc_get_ref ();
+ block->expr2->value.op.op1->ref->type = REF_ARRAY;
+ block->expr2->value.op.op1->ref->u.ar.as = sizes->as;
+ block->expr2->value.op.op1->ref->u.ar.type = AR_ELEMENT;
+ block->expr2->value.op.op1->ref->u.ar.dimen = 1;
+ block->expr2->value.op.op1->ref->u.ar.dimen_type[0] = DIMEN_ELEMENT;
+ block->expr2->value.op.op1->ref->u.ar.start[0] = gfc_get_expr ();
+ block->expr2->value.op.op1->ref->u.ar.start[0]->expr_type = EXPR_OP;
+ block->expr2->value.op.op1->ref->u.ar.start[0]->value.op.op = INTRINSIC_MINUS;
+ block->expr2->value.op.op1->ref->u.ar.start[0]->value.op.op1
+ = gfc_lval_expr_from_sym (idx);
+ block->expr2->value.op.op1->ref->u.ar.start[0]->value.op.op2
+ = gfc_get_int_expr (gfc_index_integer_kind, NULL, 1);
+ block->expr2->value.op.op1->ref->u.ar.start[0]->ts
+ = block->expr2->value.op.op1->ref->u.ar.start[0]->value.op.op1->ts;
+
+ /* size(array, dim=idx, kind=index_kind). */
+ block->expr2->value.op.op2 = gfc_get_expr ();
+ block->expr2->value.op.op2->expr_type = EXPR_FUNCTION;
+ block->expr2->value.op.op2->value.function.isym
+ = gfc_intrinsic_function_by_id (GFC_ISYM_SIZE);
+ gfc_get_sym_tree ("size", sub_ns, &block->expr2->value.op.op2->symtree,
+ false);
+ size_intr = block->expr2->value.op.op2->symtree;
+ block->expr2->value.op.op2->symtree->n.sym->intmod_sym_id = GFC_ISYM_SIZE;
+ block->expr2->value.op.op2->symtree->n.sym->attr.flavor = FL_PROCEDURE;
+ block->expr2->value.op.op2->symtree->n.sym->attr.intrinsic = 1;
+ gfc_commit_symbol (block->expr2->value.op.op2->symtree->n.sym);
+ block->expr2->value.op.op2->value.function.actual
+ = gfc_get_actual_arglist ();
+ block->expr2->value.op.op2->value.function.actual->expr
+ = gfc_lval_expr_from_sym (array);
+ /* dim=idx. */
+ block->expr2->value.op.op2->value.function.actual->next
+ = gfc_get_actual_arglist ();
+ block->expr2->value.op.op2->value.function.actual->next->expr
+ = gfc_lval_expr_from_sym (idx);
+ /* kind=c_intptr_t. */
+ block->expr2->value.op.op2->value.function.actual->next->next
+ = gfc_get_actual_arglist ();
+ block->expr2->value.op.op2->value.function.actual->next->next->expr
+ = gfc_get_int_expr (gfc_index_integer_kind, NULL, 0);
+ block->expr2->value.op.op2->ts = idx->ts;
+ block->expr2->ts = idx->ts;
+
+ /* if (strides(idx) /= sizes(idx-1)) is_contiguous = .false. */
+ block->next = XCNEW (gfc_code);
+ block = block->next;
+ block->loc = gfc_current_locus;
+ block->op = EXEC_IF;
+
+ block->block = XCNEW (gfc_code);
+ block = block->block;
+ block->loc = gfc_current_locus;
+ block->op = EXEC_IF;
+
+ /* if condition: strides(idx) /= sizes(idx-1). */
+ block->expr1 = gfc_get_expr ();
+ block->expr1->ts.type = BT_LOGICAL;
+ block->expr1->ts.kind = gfc_default_logical_kind;
+ block->expr1->expr_type = EXPR_OP;
+ block->expr1->where = gfc_current_locus;
+ block->expr1->value.op.op = INTRINSIC_NE;
+
+ block->expr1->value.op.op1 = gfc_lval_expr_from_sym (strides);
+ block->expr1->value.op.op1->ref = gfc_get_ref ();
+ block->expr1->value.op.op1->ref->type = REF_ARRAY;
+ block->expr1->value.op.op1->ref->u.ar.type = AR_ELEMENT;
+ block->expr1->value.op.op1->ref->u.ar.dimen = 1;
+ block->expr1->value.op.op1->ref->u.ar.dimen_type[0] = DIMEN_ELEMENT;
+ block->expr1->value.op.op1->ref->u.ar.start[0] = gfc_lval_expr_from_sym (idx);
+ block->expr1->value.op.op1->ref->u.ar.as = strides->as;
+
+ block->expr1->value.op.op2 = gfc_lval_expr_from_sym (sizes);
+ block->expr1->value.op.op2->ref = gfc_get_ref ();
+ block->expr1->value.op.op2->ref->type = REF_ARRAY;
+ block->expr1->value.op.op2->ref->u.ar.as = sizes->as;
+ block->expr1->value.op.op2->ref->u.ar.type = AR_ELEMENT;
+ block->expr1->value.op.op2->ref->u.ar.dimen = 1;
+ block->expr1->value.op.op2->ref->u.ar.dimen_type[0] = DIMEN_ELEMENT;
+ block->expr1->value.op.op2->ref->u.ar.start[0] = gfc_get_expr ();
+ block->expr1->value.op.op2->ref->u.ar.start[0]->expr_type = EXPR_OP;
+ block->expr1->value.op.op2->ref->u.ar.start[0]->value.op.op = INTRINSIC_MINUS;
+ block->expr1->value.op.op2->ref->u.ar.start[0]->value.op.op1
+ = gfc_lval_expr_from_sym (idx);
+ block->expr1->value.op.op2->ref->u.ar.start[0]->value.op.op2
+ = gfc_get_int_expr (gfc_index_integer_kind, NULL, 1);
+ block->expr1->value.op.op2->ref->u.ar.start[0]->ts
+ = block->expr1->value.op.op2->ref->u.ar.start[0]->value.op.op1->ts;
+
+ /* if body: is_contiguous = .false. */
+ block->next = XCNEW (gfc_code);
+ block = block->next;
+ block->op = EXEC_ASSIGN;
+ block->loc = gfc_current_locus;
+ block->expr1 = gfc_lval_expr_from_sym (is_contiguous);
+ block->expr2 = gfc_get_logical_expr (gfc_default_logical_kind,
+ &gfc_current_locus, false);
+
/* Obtain the size (number of elements) of "array" MINUS ONE,
which is used in the scalarization. */
gfc_get_symbol ("nelem", sub_ns, &nelem);
@@ -1476,7 +1954,7 @@ generate_finalization_wrapper (gfc_symbol *derived, gfc_namespace *ns,
gfc_set_sym_referenced (nelem);
gfc_commit_symbol (nelem);
- /* Generate: nelem = SIZE (array) - 1. */
+ /* nelem = sizes (rank) - 1. */
last_code->next = XCNEW (gfc_code);
last_code = last_code->next;
last_code->op = EXEC_ASSIGN;
@@ -1491,32 +1969,14 @@ generate_finalization_wrapper (gfc_symbol *derived, gfc_namespace *ns,
= gfc_get_int_expr (gfc_index_integer_kind, NULL, 1);
last_code->expr2->ts = last_code->expr2->value.op.op2->ts;
- last_code->expr2->value.op.op1 = gfc_get_expr ();
- last_code->expr2->value.op.op1->expr_type = EXPR_FUNCTION;
- last_code->expr2->value.op.op1->value.function.isym
- = gfc_intrinsic_function_by_id (GFC_ISYM_SIZE);
- gfc_get_sym_tree ("size", sub_ns, &last_code->expr2->value.op.op1->symtree,
- false);
- size_intr = last_code->expr2->value.op.op1->symtree;
- last_code->expr2->value.op.op1->symtree->n.sym->attr.flavor = FL_PROCEDURE;
- last_code->expr2->value.op.op1->symtree->n.sym->attr.intrinsic = 1;
- gfc_commit_symbol (last_code->expr2->value.op.op1->symtree->n.sym);
- last_code->expr2->value.op.op1->value.function.actual
- = gfc_get_actual_arglist ();
- last_code->expr2->value.op.op1->value.function.actual->expr
- = gfc_lval_expr_from_sym (array);
- /* dim=NULL. */
- last_code->expr2->value.op.op1->value.function.actual->next
- = gfc_get_actual_arglist ();
- /* kind=c_intptr_t. */
- last_code->expr2->value.op.op1->value.function.actual->next->next
- = gfc_get_actual_arglist ();
- last_code->expr2->value.op.op1->value.function.actual->next->next->expr
- = gfc_get_int_expr (gfc_index_integer_kind, NULL, 0);
- last_code->expr2->value.op.op1->ts
- = last_code->expr2->value.op.op1->value.function.isym->ts;
-
- sub_ns->code = last_code;
+ last_code->expr2->value.op.op1 = gfc_lval_expr_from_sym (sizes);
+ last_code->expr2->value.op.op1->ref = gfc_get_ref ();
+ last_code->expr2->value.op.op1->ref->type = REF_ARRAY;
+ last_code->expr2->value.op.op1->ref->u.ar.type = AR_ELEMENT;
+ last_code->expr2->value.op.op1->ref->u.ar.dimen = 1;
+ last_code->expr2->value.op.op1->ref->u.ar.dimen_type[0] = DIMEN_ELEMENT;
+ last_code->expr2->value.op.op1->ref->u.ar.start[0] = gfc_copy_expr (rank);
+ last_code->expr2->value.op.op1->ref->u.ar.as = sizes->as;
/* Call final subroutines. We now generate code like:
use iso_c_binding
@@ -1539,15 +1999,6 @@ generate_finalization_wrapper (gfc_symbol *derived, gfc_namespace *ns,
if (derived->f2k_derived && derived->f2k_derived->finalizers)
{
gfc_finalizer *fini, *fini_elem = NULL;
- gfc_code *block = NULL;
-
- gfc_get_symbol ("idx", sub_ns, &idx);
- idx->ts.type = BT_INTEGER;
- idx->ts.kind = gfc_index_integer_kind;
- idx->attr.flavor = FL_VARIABLE;
- idx->attr.artificial = 1;
- gfc_set_sym_referenced (idx);
- gfc_commit_symbol (idx);
gfc_get_symbol ("ptr", sub_ns, &ptr);
ptr->ts.type = BT_DERIVED;
@@ -1563,20 +2014,8 @@ generate_finalization_wrapper (gfc_symbol *derived, gfc_namespace *ns,
last_code = last_code->next;
last_code->op = EXEC_SELECT;
last_code->loc = gfc_current_locus;
-
- last_code->expr1 = gfc_get_expr ();
- last_code->expr1->expr_type = EXPR_FUNCTION;
- last_code->expr1->value.function.isym
- = gfc_intrinsic_function_by_id (GFC_ISYM_RANK);
- gfc_get_sym_tree ("rank", sub_ns, &last_code->expr1->symtree,
- false);
- last_code->expr1->symtree->n.sym->attr.flavor = FL_PROCEDURE;
- last_code->expr1->symtree->n.sym->attr.intrinsic = 1;
- gfc_commit_symbol (last_code->expr1->symtree->n.sym);
- last_code->expr1->value.function.actual = gfc_get_actual_arglist ();
- last_code->expr1->value.function.actual->expr
- = gfc_lval_expr_from_sym (array);
- last_code->expr1->ts = last_code->expr1->value.function.isym->ts;
+ last_code->expr1 = gfc_copy_expr (rank);
+ block = NULL;
for (fini = derived->f2k_derived->finalizers; fini; fini = fini->next)
{
@@ -1613,8 +2052,10 @@ generate_finalization_wrapper (gfc_symbol *derived, gfc_namespace *ns,
/* CALL fini_rank (array) - possibly with packing. */
if (fini->proc_tree->n.sym->formal->sym->attr.dimension)
- finalizer_insert_packed_call (block, fini, array, stride, idx, ptr,
- nelem, size_intr, sub_ns);
+ finalizer_insert_packed_call (block, fini, array, byte_stride,
+ idx, ptr, nelem, size_intr, strides,
+ sizes, idx2, offset, is_contiguous,
+ rank, sub_ns);
else
{
block->next = XCNEW (gfc_code);
@@ -1630,8 +2071,6 @@ generate_finalization_wrapper (gfc_symbol *derived, gfc_namespace *ns,
/* Elemental call - scalarized. */
if (fini_elem)
{
- gfc_iterator *iter;
-
/* CASE DEFAULT. */
if (block)
{
@@ -1661,14 +2100,19 @@ generate_finalization_wrapper (gfc_symbol *derived, gfc_namespace *ns,
block->block = gfc_get_code ();
block->block->op = EXEC_DO;
+ /* Offset calculation. */
+ block = finalization_get_offset (idx, idx2, offset, strides, sizes,
+ byte_stride, rank, block->block,
+ sub_ns);
+
/* Create code for
CALL C_F_POINTER (TRANSFER (TRANSFER (C_LOC (array, cptr), c_intptr)
- + idx * stride, c_ptr), ptr). */
- block->block->next
- = finalization_scalarizer (idx, array, ptr,
- gfc_lval_expr_from_sym (stride),
- sub_ns);
- block = block->block->next;
+ + offset, c_ptr), ptr). */
+ block->next
+ = finalization_scalarizer (array, ptr,
+ gfc_lval_expr_from_sym (offset),
+ sub_ns);
+ block = block->next;
/* CALL final_elemental (array). */
block->next = XCNEW (gfc_code);
@@ -1689,18 +2133,6 @@ generate_finalization_wrapper (gfc_symbol *derived, gfc_namespace *ns,
{
gfc_symbol *stat;
gfc_code *block = NULL;
- gfc_iterator *iter;
-
- if (!idx)
- {
- gfc_get_symbol ("idx", sub_ns, &idx);
- idx->ts.type = BT_INTEGER;
- idx->ts.kind = gfc_index_integer_kind;
- idx->attr.flavor = FL_VARIABLE;
- idx->attr.artificial = 1;
- gfc_set_sym_referenced (idx);
- gfc_commit_symbol (idx);
- }
if (!ptr)
{
@@ -1736,14 +2168,18 @@ generate_finalization_wrapper (gfc_symbol *derived, gfc_namespace *ns,
last_code->block = gfc_get_code ();
last_code->block->op = EXEC_DO;
+ /* Offset calculation. */
+ block = finalization_get_offset (idx, idx2, offset, strides, sizes,
+ byte_stride, rank, last_code->block,
+ sub_ns);
+
/* Create code for
CALL C_F_POINTER (TRANSFER (TRANSFER (C_LOC (array, cptr), c_intptr)
+ idx * stride, c_ptr), ptr). */
- last_code->block->next
- = finalization_scalarizer (idx, array, ptr,
- gfc_lval_expr_from_sym (stride),
- sub_ns);
- block = last_code->block->next;
+ block->next = finalization_scalarizer (array, ptr,
+ gfc_lval_expr_from_sym(offset),
+ sub_ns);
+ block = block->next;
for (comp = derived->components; comp; comp = comp->next)
{
@@ -1772,12 +2208,13 @@ generate_finalization_wrapper (gfc_symbol *derived, gfc_namespace *ns,
last_code->ext.actual = gfc_get_actual_arglist ();
last_code->ext.actual->expr = gfc_lval_expr_from_sym (array);
last_code->ext.actual->next = gfc_get_actual_arglist ();
- last_code->ext.actual->next->expr = gfc_lval_expr_from_sym (stride);
+ last_code->ext.actual->next->expr = gfc_lval_expr_from_sym (byte_stride);
last_code->ext.actual->next->next = gfc_get_actual_arglist ();
last_code->ext.actual->next->next->expr
= gfc_lval_expr_from_sym (fini_coarray);
}
+ gfc_free_expr (rank);
vtab_final->initializer = gfc_lval_expr_from_sym (final);
vtab_final->ts.interface = final;
}
@@ -2224,9 +2661,7 @@ gfc_find_intrinsic_vtab (gfc_typespec *ts)
goto cleanup;
c->attr.pointer = 1;
c->attr.access = ACCESS_PRIVATE;
- /* Avoid segfaults because due to character length. */
- c->ts.type = ts->type == BT_CHARACTER ? BT_VOID : ts->type;
- c->ts.kind = ts->kind;
+ c->ts.type = BT_VOID;
c->initializer = gfc_get_null_expr (NULL);
/* Add component _def_init. */
@@ -2234,9 +2669,7 @@ gfc_find_intrinsic_vtab (gfc_typespec *ts)
goto cleanup;
c->attr.pointer = 1;
c->attr.access = ACCESS_PRIVATE;
- /* Avoid segfaults due to missing character length. */
- c->ts.type = ts->type == BT_CHARACTER ? BT_VOID : ts->type;
- c->ts.kind = ts->kind;
+ c->ts.type = BT_VOID;
c->initializer = gfc_get_null_expr (NULL);
/* Add component _copy. */
@@ -2310,6 +2743,15 @@ gfc_find_intrinsic_vtab (gfc_typespec *ts)
/* Set initializer. */
c->initializer = gfc_lval_expr_from_sym (copy);
c->ts.interface = copy;
+
+ /* Add component _final. */
+ if (gfc_add_component (vtype, "_final", &c) == FAILURE)
+ goto cleanup;
+ c->attr.proc_pointer = 1;
+ c->attr.access = ACCESS_PRIVATE;
+ c->tb = XCNEW (gfc_typebound_proc);
+ c->tb->ppc = 1;
+ c->initializer = gfc_get_null_expr (NULL);
}
vtab->ts.u.derived = vtype;
vtab->value = gfc_default_initializer (&vtab->ts);
diff --git a/gcc/fortran/constructor.c b/gcc/fortran/constructor.c
index 182d00d165d..1392e038fc1 100644
--- a/gcc/fortran/constructor.c
+++ b/gcc/fortran/constructor.c
@@ -1,5 +1,5 @@
/* Array and structure constructors
- Copyright (C) 2009, 2010, 2011
+ Copyright (C) 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/cpp.c b/gcc/fortran/cpp.c
index f54ba96cfdf..d2ca720427a 100644
--- a/gcc/fortran/cpp.c
+++ b/gcc/fortran/cpp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/data.c b/gcc/fortran/data.c
index de8c0ca8f5c..6df7c417223 100644
--- a/gcc/fortran/data.c
+++ b/gcc/fortran/data.c
@@ -1,6 +1,6 @@
/* Supporting functions for resolving DATA statement.
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
- Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
Contributed by Lifang Zeng <zlf605@hotmail.com>
This file is part of GCC.
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index 5ed838856a9..2e6e98a1ada 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -1,5 +1,6 @@
/* Declaration statement matcher
- Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+ 2012, 2013
Free Software Foundation, Inc.
Contributed by Andy Vaught
@@ -1671,11 +1672,31 @@ match
gfc_match_null (gfc_expr **result)
{
gfc_symbol *sym;
- match m;
+ match m, m2 = MATCH_NO;
- m = gfc_match (" null ( )");
- if (m != MATCH_YES)
- return m;
+ if ((m = gfc_match (" null ( )")) == MATCH_ERROR)
+ return MATCH_ERROR;
+
+ if (m == MATCH_NO)
+ {
+ locus old_loc;
+ char name[GFC_MAX_SYMBOL_LEN + 1];
+
+ if ((m2 = gfc_match (" null (")) != MATCH_YES)
+ return m2;
+
+ old_loc = gfc_current_locus;
+ if ((m2 = gfc_match (" %n ) ", name)) == MATCH_ERROR)
+ return MATCH_ERROR;
+ if (m2 != MATCH_YES
+ && ((m2 = gfc_match (" mold = %n )", name)) == MATCH_ERROR))
+ return MATCH_ERROR;
+ if (m2 == MATCH_NO)
+ {
+ gfc_current_locus = old_loc;
+ return MATCH_NO;
+ }
+ }
/* The NULL symbol now has to be/become an intrinsic function. */
if (gfc_get_symbol ("null", NULL, &sym))
@@ -1694,6 +1715,13 @@ gfc_match_null (gfc_expr **result)
*result = gfc_get_null_expr (&gfc_current_locus);
+ /* Invalid per F2008, C512. */
+ if (m2 == MATCH_YES)
+ {
+ gfc_error ("NULL() initialization at %C may not have MOLD");
+ return MATCH_ERROR;
+ }
+
return MATCH_YES;
}
diff --git a/gcc/fortran/dependency.c b/gcc/fortran/dependency.c
index 7c9525ac805..c8b54f111d5 100644
--- a/gcc/fortran/dependency.c
+++ b/gcc/fortran/dependency.c
@@ -1,6 +1,6 @@
/* Dependency analysis
- Copyright (C) 2000, 2001, 2002, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2002, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
This file is part of GCC.
diff --git a/gcc/fortran/dependency.h b/gcc/fortran/dependency.h
index d56a7f726d2..b026869cdee 100644
--- a/gcc/fortran/dependency.h
+++ b/gcc/fortran/dependency.h
@@ -1,6 +1,6 @@
/* Header for dependency analysis
- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010,
+ 2011 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of GCC.
diff --git a/gcc/fortran/dump-parse-tree.c b/gcc/fortran/dump-parse-tree.c
index a442625cb8a..e1ae7758a60 100644
--- a/gcc/fortran/dump-parse-tree.c
+++ b/gcc/fortran/dump-parse-tree.c
@@ -1,5 +1,5 @@
/* Parse tree dumper
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Steven Bosscher
diff --git a/gcc/fortran/error.c b/gcc/fortran/error.c
index 611540c261a..8e14bbe7344 100644
--- a/gcc/fortran/error.c
+++ b/gcc/fortran/error.c
@@ -1,6 +1,6 @@
/* Handle errors.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2010
+ 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Andy Vaught & Niels Kristian Bech Jensen
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c
index 5c9ce11c4ee..261078460d2 100644
--- a/gcc/fortran/expr.c
+++ b/gcc/fortran/expr.c
@@ -3151,9 +3151,8 @@ gfc_check_assign (gfc_expr *lvalue, gfc_expr *rvalue, int conform)
/* This is possibly a typo: x = f() instead of x => f(). */
if (gfc_option.warn_surprising
- && rvalue->expr_type == EXPR_FUNCTION
- && rvalue->symtree->n.sym->attr.pointer)
- gfc_warning ("POINTER valued function appears on right-hand side of "
+ && rvalue->expr_type == EXPR_FUNCTION && gfc_expr_attr (rvalue).pointer)
+ gfc_warning ("POINTER-valued function appears on right-hand side of "
"assignment at %L", &rvalue->where);
/* Check size of array assignments. */
diff --git a/gcc/fortran/f95-lang.c b/gcc/fortran/f95-lang.c
index be0d99f9c12..e72581b5b4e 100644
--- a/gcc/fortran/f95-lang.c
+++ b/gcc/fortran/f95-lang.c
@@ -1,6 +1,6 @@
/* gfortran backend interface
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2010, 2012
+ 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Paul Brook.
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
index a419af3ad40..027cab6b356 100644
--- a/gcc/fortran/gfortran.h
+++ b/gcc/fortran/gfortran.h
@@ -521,6 +521,7 @@ enum gfc_isym_id
GFC_ISYM_SR_KIND,
GFC_ISYM_STAT,
GFC_ISYM_STORAGE_SIZE,
+ GFC_ISYM_STRIDE,
GFC_ISYM_SUM,
GFC_ISYM_SYMLINK,
GFC_ISYM_SYMLNK,
diff --git a/gcc/fortran/gfortranspec.c b/gcc/fortran/gfortranspec.c
index 2240bfb9985..cce53a9fd2c 100644
--- a/gcc/fortran/gfortranspec.c
+++ b/gcc/fortran/gfortranspec.c
@@ -1,6 +1,6 @@
/* Specific flags and argument handling of the Fortran front-end.
Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009, 2010, 2011, 2012
+ 2007, 2008, 2009, 2010, 2011, 2012, 2013
Free Software Foundation, Inc.
This file is part of GCC.
@@ -301,7 +301,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
case OPT__version:
printf ("GNU Fortran %s%s\n", pkgversion_string, version_string);
- printf ("Copyright %s 2012 Free Software Foundation, Inc.\n\n",
+ printf ("Copyright %s 2013 Free Software Foundation, Inc.\n\n",
_("(C)"));
printf (_("GNU Fortran comes with NO WARRANTY, to the extent permitted by law.\n\
You may redistribute copies of GNU Fortran\n\
diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c
index 274c921c8a8..5f1b8e7f5a2 100644
--- a/gcc/fortran/intrinsic.c
+++ b/gcc/fortran/intrinsic.c
@@ -1,7 +1,7 @@
/* Build up a list of intrinsic subroutines and functions for the
name-resolution stage.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010, 2011
+ 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Andy Vaught & Katherine Holcomb
@@ -2640,6 +2640,14 @@ add_functions (void)
make_generic ("size", GFC_ISYM_SIZE, GFC_STD_F95);
+ /* Obtain the stride for a given dimensions; to be used only internally.
+ "make_from_module" makes inaccessible for external users. */
+ add_sym_2 (GFC_PREFIX ("stride"), GFC_ISYM_STRIDE, CLASS_INQUIRY, ACTUAL_NO,
+ BT_INTEGER, gfc_index_integer_kind, GFC_STD_GNU,
+ NULL, NULL, gfc_resolve_stride,
+ ar, BT_REAL, dr, REQUIRED, dm, BT_INTEGER, ii, OPTIONAL);
+ make_from_module();
+
add_sym_1 ("sizeof", GFC_ISYM_SIZEOF, CLASS_IMPURE, ACTUAL_NO, BT_INTEGER, ii,
GFC_STD_GNU, gfc_check_sizeof, NULL, NULL,
x, BT_UNKNOWN, 0, REQUIRED);
diff --git a/gcc/fortran/intrinsic.h b/gcc/fortran/intrinsic.h
index 2635ba6d3da..e7b26e5ce0e 100644
--- a/gcc/fortran/intrinsic.h
+++ b/gcc/fortran/intrinsic.h
@@ -1,7 +1,7 @@
/* Header file for intrinsics check, resolve and simplify function
prototypes.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010, 2011 Free Software Foundation, Inc.
+ 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Andy Vaught & Katherine Holcomb
This file is part of GCC.
@@ -546,6 +546,7 @@ void gfc_resolve_signal (gfc_expr *, gfc_expr *, gfc_expr *);
void gfc_resolve_sin (gfc_expr *, gfc_expr *);
void gfc_resolve_sinh (gfc_expr *, gfc_expr *);
void gfc_resolve_size (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
+void gfc_resolve_stride (gfc_expr *, gfc_expr *, gfc_expr *);
void gfc_resolve_spacing (gfc_expr *, gfc_expr *);
void gfc_resolve_spread (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
void gfc_resolve_sqrt (gfc_expr *, gfc_expr *);
diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi
index fc256cb9e8b..e3c1aeeffcc 100644
--- a/gcc/fortran/intrinsic.texi
+++ b/gcc/fortran/intrinsic.texi
@@ -1,5 +1,5 @@
@ignore
-Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2012
+Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This is part of the GNU Fortran manual.
For copying conditions, see the file gfortran.texi.
diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c
index 7eb52a974d7..601a331d3d2 100644
--- a/gcc/fortran/io.c
+++ b/gcc/fortran/io.c
@@ -1,6 +1,6 @@
/* Deal with I/O statements & related stuff.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010, 2011
+ 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Andy Vaught
diff --git a/gcc/fortran/ioparm.def b/gcc/fortran/ioparm.def
index c9c271d886d..aab9f30c544 100644
--- a/gcc/fortran/ioparm.def
+++ b/gcc/fortran/ioparm.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2006, 2008, 2010
+/* Copyright (C) 2005, 2006, 2008, 2010, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/iresolve.c b/gcc/fortran/iresolve.c
index 3f981d88c1b..160bfe01d8b 100644
--- a/gcc/fortran/iresolve.c
+++ b/gcc/fortran/iresolve.c
@@ -1,6 +1,6 @@
/* Intrinsic function resolution.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010, 2011
+ 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Andy Vaught & Katherine Holcomb
@@ -2314,6 +2314,15 @@ gfc_resolve_size (gfc_expr *f, gfc_expr *array ATTRIBUTE_UNUSED,
void
+gfc_resolve_stride (gfc_expr *f, gfc_expr *array ATTRIBUTE_UNUSED,
+ gfc_expr *dim ATTRIBUTE_UNUSED)
+{
+ f->ts.type = BT_INTEGER;
+ f->ts.kind = gfc_index_integer_kind;
+}
+
+
+void
gfc_resolve_spacing (gfc_expr *f, gfc_expr *x)
{
f->ts = x->ts;
diff --git a/gcc/fortran/iso-c-binding.def b/gcc/fortran/iso-c-binding.def
index 66712ad0d30..99c7e0cacba 100644
--- a/gcc/fortran/iso-c-binding.def
+++ b/gcc/fortran/iso-c-binding.def
@@ -1,4 +1,5 @@
-/* Copyright (C) 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2006, 2007, 2008, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/iso-fortran-env.def b/gcc/fortran/iso-fortran-env.def
index 240a02218ab..5129f2add43 100644
--- a/gcc/fortran/iso-fortran-env.def
+++ b/gcc/fortran/iso-fortran-env.def
@@ -1,4 +1,5 @@
-/* Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
index ca8f08c6822..2a3f5b4c0d2 100644
--- a/gcc/fortran/match.c
+++ b/gcc/fortran/match.c
@@ -1,6 +1,6 @@
/* Matching subroutines in all sizes, shapes and colors.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010, 2011, 2012
+ 2009, 2010, 2011, 2012, 2013
Free Software Foundation, Inc.
Contributed by Andy Vaught
@@ -5144,12 +5144,10 @@ copy_ts_from_selector_to_associate (gfc_expr *associate, gfc_expr *selector)
{
gfc_ref *ref;
gfc_symbol *assoc_sym;
+ int i;
assoc_sym = associate->symtree->n.sym;
- /* Ensure that any array reference is resolved. */
- gfc_resolve_expr (selector);
-
/* At this stage the expression rank and arrayspec dimensions have
not been completely sorted out. We must get the expr2->rank
right here, so that the correct class container is obtained. */
@@ -5161,6 +5159,23 @@ copy_ts_from_selector_to_associate (gfc_expr *associate, gfc_expr *selector)
&& CLASS_DATA (selector)->as
&& ref && ref->type == REF_ARRAY)
{
+ /* Ensure that the array reference type is set. We cannot use
+ gfc_resolve_expr at this point, so the usable parts of
+ resolve.c(resolve_array_ref) are employed to do it. */
+ if (ref->u.ar.type == AR_UNKNOWN)
+ {
+ ref->u.ar.type = AR_ELEMENT;
+ for (i = 0; i < ref->u.ar.dimen + ref->u.ar.codimen; i++)
+ if (ref->u.ar.dimen_type[i] == DIMEN_RANGE
+ || ref->u.ar.dimen_type[i] == DIMEN_VECTOR
+ || (ref->u.ar.dimen_type[i] == DIMEN_UNKNOWN
+ && ref->u.ar.start[i] && ref->u.ar.start[i]->rank))
+ {
+ ref->u.ar.type = AR_SECTION;
+ break;
+ }
+ }
+
if (ref->u.ar.type == AR_FULL)
selector->rank = CLASS_DATA (selector)->as->rank;
else if (ref->u.ar.type == AR_SECTION)
diff --git a/gcc/fortran/match.h b/gcc/fortran/match.h
index 029faf77e7b..6f798659941 100644
--- a/gcc/fortran/match.h
+++ b/gcc/fortran/match.h
@@ -1,5 +1,5 @@
/* All matcher functions.
- Copyright (C) 2003, 2005, 2007, 2008, 2010, 2012
+ Copyright (C) 2003, 2005, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Steven Bosscher
diff --git a/gcc/fortran/matchexp.c b/gcc/fortran/matchexp.c
index c1196a8802c..14edbcedf5e 100644
--- a/gcc/fortran/matchexp.c
+++ b/gcc/fortran/matchexp.c
@@ -1,6 +1,6 @@
/* Expression parser.
- Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ 2011, 2012 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/mathbuiltins.def b/gcc/fortran/mathbuiltins.def
index b3998568b5f..d63b39b9375 100644
--- a/gcc/fortran/mathbuiltins.def
+++ b/gcc/fortran/mathbuiltins.def
@@ -1,4 +1,5 @@
-/* Copyright (C) 2004, 2005, 2007, 2008, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 2007, 2008, 2010, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index e19c6d9d71f..f3b3caa1ad8 100644
--- a/gcc/fortran/module.c
+++ b/gcc/fortran/module.c
@@ -4663,8 +4663,14 @@ read_module (void)
if (p == NULL)
{
st = gfc_find_symtree (gfc_current_ns->sym_root, name);
- if (st != NULL)
- info->u.rsym.symtree = st;
+ if (st != NULL
+ && strcmp (st->n.sym->name, info->u.rsym.true_name) == 0
+ && st->n.sym->module != NULL
+ && strcmp (st->n.sym->module, info->u.rsym.module) == 0)
+ {
+ info->u.rsym.symtree = st;
+ info->u.rsym.sym = st->n.sym;
+ }
continue;
}
@@ -4685,7 +4691,8 @@ read_module (void)
/* Check for ambiguous symbols. */
if (check_for_ambiguous (st->n.sym, info))
st->ambiguous = 1;
- info->u.rsym.symtree = st;
+ else
+ info->u.rsym.symtree = st;
}
else
{
diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c
index e1ffa6b49f7..b473b4e1876 100644
--- a/gcc/fortran/openmp.c
+++ b/gcc/fortran/openmp.c
@@ -1,5 +1,5 @@
/* OpenMP directive matching and resolving.
- Copyright (C) 2005, 2006, 2007, 2008, 2010, 2011
+ Copyright (C) 2005, 2006, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Jakub Jelinek
diff --git a/gcc/fortran/parse.h b/gcc/fortran/parse.h
index 9e56b81dc86..b1baa1d1f2c 100644
--- a/gcc/fortran/parse.h
+++ b/gcc/fortran/parse.h
@@ -1,5 +1,5 @@
/* Parser header
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Steven Bosscher
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 873400abb39..b81f2319aa6 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -1,6 +1,6 @@
/* Perform type resolution on the various structures.
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010, 2011, 2012
+ 2010, 2011, 2012, 2013
Free Software Foundation, Inc.
Contributed by Andy Vaught
@@ -3776,7 +3776,7 @@ resolve_call (gfc_code *c)
if (csym && gfc_current_ns->parent && csym->ns != gfc_current_ns)
{
gfc_symtree *st;
- gfc_find_sym_tree (csym->name, gfc_current_ns, 1, &st);
+ gfc_find_sym_tree (c->symtree->name, gfc_current_ns, 1, &st);
sym = st ? st->n.sym : NULL;
if (sym && csym != sym
&& sym->ns == gfc_current_ns
@@ -8349,9 +8349,27 @@ resolve_select_type (gfc_code *code, gfc_namespace *old_ns)
if (code->expr1->symtree->n.sym->attr.untyped)
code->expr1->symtree->n.sym->ts = code->expr2->ts;
selector_type = CLASS_DATA (code->expr2)->ts.u.derived;
+
+ /* F2008: C803 The selector expression must not be coindexed. */
+ if (gfc_is_coindexed (code->expr2))
+ {
+ gfc_error ("Selector at %L must not be coindexed",
+ &code->expr2->where);
+ return;
+ }
+
}
else
- selector_type = CLASS_DATA (code->expr1)->ts.u.derived;
+ {
+ selector_type = CLASS_DATA (code->expr1)->ts.u.derived;
+
+ if (gfc_is_coindexed (code->expr1))
+ {
+ gfc_error ("Selector at %L must not be coindexed",
+ &code->expr1->where);
+ return;
+ }
+ }
/* Loop over TYPE IS / CLASS IS cases. */
for (body = code->block; body; body = body->block)
diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c
index 765c0f97705..716c0874f01 100644
--- a/gcc/fortran/scanner.c
+++ b/gcc/fortran/scanner.c
@@ -1,6 +1,6 @@
/* Character scanner.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010 Free Software Foundation, Inc.
+ 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/st.c b/gcc/fortran/st.c
index ed379fc44af..56e03610c79 100644
--- a/gcc/fortran/st.c
+++ b/gcc/fortran/st.c
@@ -1,6 +1,6 @@
/* Build executable statement trees.
- Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ 2011, 2012 Free Software Foundation, Inc.
Contributed by Andy Vaught
This file is part of GCC.
diff --git a/gcc/fortran/target-memory.c b/gcc/fortran/target-memory.c
index 437a3df8304..89db559ac87 100644
--- a/gcc/fortran/target-memory.c
+++ b/gcc/fortran/target-memory.c
@@ -1,5 +1,5 @@
/* Simulate storage of variables into target memory.
- Copyright (C) 2007, 2008, 2009, 2010
+ Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Paul Thomas and Brooks Moses
diff --git a/gcc/fortran/target-memory.h b/gcc/fortran/target-memory.h
index cba2ea2d348..1f4e2fc7b8a 100644
--- a/gcc/fortran/target-memory.h
+++ b/gcc/fortran/target-memory.h
@@ -1,5 +1,5 @@
/* Simulate storage of variables into target memory, header.
- Copyright (C) 2007, 2008, 2010
+ Copyright (C) 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Paul Thomas and Brooks Moses
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c
index 06898920369..794322ac79a 100644
--- a/gcc/fortran/trans-array.c
+++ b/gcc/fortran/trans-array.c
@@ -1,6 +1,6 @@
/* Array translation routines
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
- 2011, 2012
+ 2011, 2012, 2013
Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
and Steven Bosscher <s.bosscher@student.tudelft.nl>
@@ -159,7 +159,7 @@ gfc_conv_descriptor_data_get (tree desc)
/* This provides WRITE access to the data field.
TUPLES_P is true if we are generating tuples.
-
+
This function gets called through the following macros:
gfc_conv_descriptor_data_set
gfc_conv_descriptor_data_set. */
@@ -593,7 +593,7 @@ gfc_get_temp_ss (tree type, tree string_length, int dimen)
return ss;
}
-
+
/* Creates and initializes a scalar type gfc_ss struct. */
@@ -1363,7 +1363,7 @@ gfc_put_offset_into_var (stmtblock_t * pblock, tree * poffset,
/* Variables needed for bounds-checking. */
static bool first_len;
-static tree first_len_val;
+static tree first_len_val;
static bool typespec_chararray_ctor;
static void
@@ -2206,7 +2206,7 @@ trans_array_constructor (gfc_ss * ss, locus * where)
if ((gfc_option.rtcheck & GFC_RTCHECK_BOUNDS)
&& expr->ts.type == BT_CHARACTER && !typespec_chararray_ctor)
- {
+ {
first_len_val = gfc_create_var (gfc_charlen_type_node, "len");
first_len = true;
}
@@ -2217,7 +2217,7 @@ trans_array_constructor (gfc_ss * ss, locus * where)
if (expr->ts.type == BT_CHARACTER)
{
bool const_string;
-
+
/* get_array_ctor_strlen walks the elements of the constructor, if a
typespec was given, we already know the string length and want the one
specified there. */
@@ -2924,9 +2924,9 @@ conv_array_index_offset (gfc_se * se, gfc_ss * ss, int dim, int i,
gcc_assert (se->loop);
index = se->loop->loopvar[se->loop->order[i]];
- /* Pointer functions can have stride[0] different from unity.
+ /* Pointer functions can have stride[0] different from unity.
Use the stride returned by the function call and stored in
- the descriptor for the temporary. */
+ the descriptor for the temporary. */
if (se->ss && se->ss->info->type == GFC_SS_FUNCTION
&& se->ss->info->expr
&& se->ss->info->expr->symtree
@@ -2986,7 +2986,7 @@ build_class_array_ref (gfc_se *se, tree base, tree index)
ts = &ref->u.c.component->ts;
class_ref = ref;
break;
- }
+ }
}
if (ts == NULL)
@@ -3099,31 +3099,40 @@ static tree
build_array_ref (tree desc, tree offset, tree decl)
{
tree tmp;
+ tree type;
- /* Class array references need special treatment because the assigned
- type size needs to be used to point to the element. */
+ /* Class container types do not always have the GFC_CLASS_TYPE_P
+ but the canonical type does. */
if (GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (desc))
- && TREE_CODE (desc) == COMPONENT_REF
- && GFC_CLASS_TYPE_P (TREE_TYPE (TREE_OPERAND (desc, 0))))
+ && TREE_CODE (desc) == COMPONENT_REF)
{
- tree type = gfc_get_element_type (TREE_TYPE (desc));
- tmp = TREE_OPERAND (desc, 0);
- tmp = gfc_get_class_array_ref (offset, tmp);
- tmp = fold_convert (build_pointer_type (type), tmp);
- tmp = build_fold_indirect_ref_loc (input_location, tmp);
+ type = TREE_TYPE (TREE_OPERAND (desc, 0));
+ if (TYPE_CANONICAL (type)
+ && GFC_CLASS_TYPE_P (TYPE_CANONICAL (type)))
+ type = TYPE_CANONICAL (type);
}
else
+ type = NULL;
+
+ /* Class array references need special treatment because the assigned
+ type size needs to be used to point to the element. */
+ if (type && GFC_CLASS_TYPE_P (type))
{
- tmp = gfc_conv_array_data (desc);
+ type = gfc_get_element_type (TREE_TYPE (desc));
+ tmp = TREE_OPERAND (desc, 0);
+ tmp = gfc_get_class_array_ref (offset, tmp);
+ tmp = fold_convert (build_pointer_type (type), tmp);
tmp = build_fold_indirect_ref_loc (input_location, tmp);
- tmp = gfc_build_array_ref (tmp, offset, decl);
+ return tmp;
}
+ tmp = gfc_conv_array_data (desc);
+ tmp = build_fold_indirect_ref_loc (input_location, tmp);
+ tmp = gfc_build_array_ref (tmp, offset, decl);
return tmp;
}
-
/* Build an array reference. se->expr already holds the array descriptor.
This should be either a variable, indirect variable reference or component
reference. For arrays which do not have a descriptor, se->expr will be
@@ -3202,7 +3211,7 @@ gfc_conv_array_ref (gfc_se * se, gfc_array_ref * ar, gfc_symbol * sym,
tmp = tmpse.expr;
}
- cond = fold_build2_loc (input_location, LT_EXPR, boolean_type_node,
+ cond = fold_build2_loc (input_location, LT_EXPR, boolean_type_node,
indexse.expr, tmp);
asprintf (&msg, "Index '%%ld' of dimension %d of array '%s' "
"below lower bound of %%ld", n+1, sym->name);
@@ -3964,8 +3973,8 @@ done:
stride_pos, stride_neg);
/* Check the start of the range against the lower and upper
- bounds of the array, if the range is not empty.
- If upper bound is present, include both bounds in the
+ bounds of the array, if the range is not empty.
+ If upper bound is present, include both bounds in the
error message. */
if (check_upper)
{
@@ -4012,7 +4021,7 @@ done:
fold_convert (long_integer_type_node, lbound));
free (msg);
}
-
+
/* Compute the last element of the range, which is not
necessarily "end" (think 0:5:3, which doesn't contain 5)
and check it against both lower and upper bounds. */
@@ -4041,12 +4050,12 @@ done:
gfc_trans_runtime_check (true, false, tmp2, &inner,
expr_loc, msg,
fold_convert (long_integer_type_node, tmp),
- fold_convert (long_integer_type_node, ubound),
+ fold_convert (long_integer_type_node, ubound),
fold_convert (long_integer_type_node, lbound));
gfc_trans_runtime_check (true, false, tmp3, &inner,
expr_loc, msg,
fold_convert (long_integer_type_node, tmp),
- fold_convert (long_integer_type_node, ubound),
+ fold_convert (long_integer_type_node, ubound),
fold_convert (long_integer_type_node, lbound));
free (msg);
}
@@ -4885,7 +4894,7 @@ gfc_array_init_size (tree descriptor, int rank, int corank, tree * poffset,
ubound = lower[n];
}
}
- gfc_conv_descriptor_lbound_set (descriptor_block, descriptor,
+ gfc_conv_descriptor_lbound_set (descriptor_block, descriptor,
gfc_rank_cst[n], se.expr);
conv_lbound = se.expr;
@@ -4916,11 +4925,11 @@ gfc_array_init_size (tree descriptor, int rank, int corank, tree * poffset,
/* Check whether multiplying the stride by the number of
elements in this dimension would overflow. We must also check
whether the current dimension has zero size in order to avoid
- division by zero.
+ division by zero.
*/
- tmp = fold_build2_loc (input_location, TRUNC_DIV_EXPR,
- gfc_array_index_type,
- fold_convert (gfc_array_index_type,
+ tmp = fold_build2_loc (input_location, TRUNC_DIV_EXPR,
+ gfc_array_index_type,
+ fold_convert (gfc_array_index_type,
TYPE_MAX_VALUE (gfc_array_index_type)),
size);
cond = gfc_unlikely (fold_build2_loc (input_location, LT_EXPR,
@@ -4935,7 +4944,7 @@ gfc_array_init_size (tree descriptor, int rank, int corank, tree * poffset,
tmp = fold_build2_loc (input_location, PLUS_EXPR, integer_type_node,
*overflow, tmp);
*overflow = gfc_evaluate_now (tmp, pblock);
-
+
/* Multiply the stride by the number of elements in this dimension. */
stride = fold_build2_loc (input_location, MULT_EXPR,
gfc_array_index_type, stride, size);
@@ -4966,7 +4975,7 @@ gfc_array_init_size (tree descriptor, int rank, int corank, tree * poffset,
ubound = lower[n];
}
}
- gfc_conv_descriptor_lbound_set (descriptor_block, descriptor,
+ gfc_conv_descriptor_lbound_set (descriptor_block, descriptor,
gfc_rank_cst[n], se.expr);
if (n < rank + corank - 1)
@@ -5019,7 +5028,7 @@ gfc_array_init_size (tree descriptor, int rank, int corank, tree * poffset,
/* First check for overflow. Since an array of type character can
have zero element_size, we must check for that before
dividing. */
- tmp = fold_build2_loc (input_location, TRUNC_DIV_EXPR,
+ tmp = fold_build2_loc (input_location, TRUNC_DIV_EXPR,
size_type_node,
TYPE_MAX_VALUE (size_type_node), element_size);
cond = gfc_unlikely (fold_build2_loc (input_location, LT_EXPR,
@@ -5210,7 +5219,7 @@ gfc_array_allocate (gfc_se * se, gfc_expr * expr, tree status, tree errmsg,
{
cond = gfc_unlikely (fold_build2_loc (input_location, NE_EXPR,
boolean_type_node, var_overflow, integer_zero_node));
- tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, cond,
+ tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, cond,
error, gfc_finish_block (&elseblock));
}
else
@@ -5221,7 +5230,7 @@ gfc_array_allocate (gfc_se * se, gfc_expr * expr, tree status, tree errmsg,
if (expr->ts.type == BT_CLASS)
{
tmp = build_int_cst (unsigned_char_type_node, 0);
- /* With class objects, it is best to play safe and null the
+ /* With class objects, it is best to play safe and null the
memory because we cannot know if dynamic types have allocatable
components or not. */
tmp = build_call_expr_loc (input_location,
@@ -5233,7 +5242,7 @@ gfc_array_allocate (gfc_se * se, gfc_expr * expr, tree status, tree errmsg,
/* Update the array descriptors. */
if (dimension)
gfc_conv_descriptor_offset_set (&set_descriptor_block, se->expr, offset);
-
+
set_descriptor = gfc_finish_block (&set_descriptor_block);
if (status != NULL_TREE)
{
@@ -5243,7 +5252,7 @@ gfc_array_allocate (gfc_se * se, gfc_expr * expr, tree status, tree errmsg,
gfc_add_expr_to_block (&se->pre,
fold_build3_loc (input_location, COND_EXPR, void_type_node,
gfc_likely (cond), set_descriptor,
- build_empty_stmt (input_location)));
+ build_empty_stmt (input_location)));
}
else
gfc_add_expr_to_block (&se->pre, set_descriptor);
@@ -5331,7 +5340,7 @@ gfc_conv_array_initializer (tree type, gfc_expr * expr)
/* A single scalar or derived type value. Create an array with all
elements equal to that value. */
gfc_init_se (&se, NULL);
-
+
if (expr->expr_type == EXPR_CONSTANT)
gfc_conv_constant (&se, expr);
else
@@ -5743,7 +5752,7 @@ gfc_trans_g77_array (gfc_symbol * sym, gfc_wrapped_block * block)
tmp = gfc_conv_expr_present (sym);
stmt = build3_v (COND_EXPR, tmp, stmt, build_empty_stmt (input_location));
}
-
+
gfc_add_init_cleanup (block, stmt, NULL_TREE);
}
@@ -5945,7 +5954,7 @@ gfc_trans_dummy_array_bias (gfc_symbol * sym, tree tmpdesc,
asprintf (&msg, "Dimension %d of array '%s' has extent "
"%%ld instead of %%ld", n+1, sym->name);
- gfc_trans_runtime_check (true, false, tmp, &init, &loc, msg,
+ gfc_trans_runtime_check (true, false, tmp, &init, &loc, msg,
fold_convert (long_integer_type_node, temp),
fold_convert (long_integer_type_node, stride2));
@@ -6069,7 +6078,7 @@ gfc_trans_dummy_array_bias (gfc_symbol * sym, tree tmpdesc,
gfc_add_expr_to_block (&cleanup, tmp);
stmtCleanup = gfc_finish_block (&cleanup);
-
+
/* Only do the cleanup if the array was repacked. */
tmp = build_fold_indirect_ref_loc (input_location, dumdesc);
tmp = gfc_conv_descriptor_data_get (tmp);
@@ -6381,7 +6390,7 @@ walk_coarray (gfc_expr *e)
EXPR is the right-hand side of a pointer assignment and
se->expr is the descriptor for the previously-evaluated
left-hand side. The function creates an assignment from
- EXPR to se->expr.
+ EXPR to se->expr.
The se->force_tmp flag disables the non-copying descriptor optimization
@@ -6495,7 +6504,7 @@ gfc_conv_expr_descriptor (gfc_se *se, gfc_expr *expr)
return;
}
break;
-
+
case EXPR_FUNCTION:
/* A transformational function return value will be a temporary
array descriptor. We still need to go through the scalarizer
@@ -6785,7 +6794,7 @@ gfc_conv_expr_descriptor (gfc_se *se, gfc_expr *expr)
/* Vector subscripts need copying and are handled elsewhere. */
if (info->ref)
gcc_assert (info->ref->u.ar.dimen_type[n] == DIMEN_RANGE);
-
+
/* look for the corresponding scalarizer dimension: dim. */
for (dim = 0; dim < ndim; dim++)
if (ss->dim[dim] == n)
@@ -7011,9 +7020,9 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr * expr, bool g77,
if (!sym->attr.pointer
&& sym->as
- && sym->as->type != AS_ASSUMED_SHAPE
+ && sym->as->type != AS_ASSUMED_SHAPE
&& sym->as->type != AS_DEFERRED
- && sym->as->type != AS_ASSUMED_RANK
+ && sym->as->type != AS_ASSUMED_RANK
&& !sym->attr.allocatable)
{
/* Some variables are declared directly, others are declared as
@@ -7071,7 +7080,7 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr * expr, bool g77,
&& expr->symtree->n.sym->attr.allocatable;
/* Or ultimate allocatable components. */
- ultimate_alloc_comp = contiguous && ultimate_alloc_comp;
+ ultimate_alloc_comp = contiguous && ultimate_alloc_comp;
if (no_pack || array_constructor || good_allocatable || ultimate_alloc_comp)
{
@@ -7254,7 +7263,7 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr * expr, bool g77,
tree
gfc_trans_dealloc_allocated (tree descriptor, bool coarray)
-{
+{
tree tmp;
tree var;
stmtblock_t block;
@@ -7454,7 +7463,7 @@ structure_alloc_comps (gfc_symbol * der_type, tree decl,
tmp = gfc_conv_array_data (decl);
var = build_fold_indirect_ref_loc (input_location,
tmp);
-
+
/* Get the number of elements - 1 and set the counter. */
if (GFC_DESCRIPTOR_TYPE_P (decl_type))
{
@@ -7578,7 +7587,7 @@ structure_alloc_comps (gfc_symbol * der_type, tree decl,
/* Allocatable CLASS components. */
comp = fold_build3_loc (input_location, COMPONENT_REF, ctype,
decl, cdecl, NULL_TREE);
-
+
/* Add reference to '_data' component. */
tmp = CLASS_DATA (c)->backend_decl;
comp = fold_build3_loc (input_location, COMPONENT_REF,
@@ -7725,7 +7734,7 @@ structure_alloc_comps (gfc_symbol * der_type, tree decl,
null_cond = fold_build2_loc (input_location, NE_EXPR,
boolean_type_node, src_data,
- null_pointer_node);
+ null_pointer_node);
gfc_add_expr_to_block (&fnblock, build3_v (COND_EXPR, null_cond,
tmp, null_data));
@@ -8030,7 +8039,7 @@ gfc_alloc_allocatable_for_assignment (gfc_loopinfo *loop,
as = NULL;
/* If the lhs shape is not the same as the rhs jump to setting the
- bounds and doing the reallocation....... */
+ bounds and doing the reallocation....... */
for (n = 0; n < expr1->rank; n++)
{
/* Check the shape. */
@@ -8051,13 +8060,13 @@ gfc_alloc_allocatable_for_assignment (gfc_loopinfo *loop,
tmp = build3_v (COND_EXPR, cond,
build1_v (GOTO_EXPR, jump_label1),
build_empty_stmt (input_location));
- gfc_add_expr_to_block (&fblock, tmp);
+ gfc_add_expr_to_block (&fblock, tmp);
}
/* ....else jump past the (re)alloc code. */
tmp = build1_v (GOTO_EXPR, jump_label2);
gfc_add_expr_to_block (&fblock, tmp);
-
+
/* Add the label to start automatic (re)allocation. */
tmp = build1_v (LABEL_EXPR, jump_label1);
gfc_add_expr_to_block (&fblock, tmp);
@@ -8096,7 +8105,7 @@ gfc_alloc_allocatable_for_assignment (gfc_loopinfo *loop,
unallocated allocatable variable, then it is allocated with each
deferred type parameter equal to the corresponding type parameters
of expr , with the shape of expr , and with each lower bound equal
- to the corresponding element of LBOUND(expr)."
+ to the corresponding element of LBOUND(expr)."
Reuse size1 to keep a dimension-by-dimension track of the
stride of the new array. */
size1 = gfc_index_one_node;
@@ -8340,7 +8349,7 @@ gfc_trans_deferred_array (gfc_symbol * sym, gfc_wrapped_block * block)
sym->backend_decl);
type = TREE_TYPE (descriptor);
}
-
+
/* NULLIFY the data pointer. */
if (GFC_DESCRIPTOR_TYPE_P (type) && !sym->attr.save)
gfc_conv_descriptor_data_set (&init, descriptor, null_pointer_node);
diff --git a/gcc/fortran/trans-array.h b/gcc/fortran/trans-array.h
index de032020261..112b46545a5 100644
--- a/gcc/fortran/trans-array.h
+++ b/gcc/fortran/trans-array.h
@@ -1,6 +1,6 @@
/* Header for array handling functions
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012
- Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of GCC.
diff --git a/gcc/fortran/trans-const.c b/gcc/fortran/trans-const.c
index fa820ef10de..07db00bb3bf 100644
--- a/gcc/fortran/trans-const.c
+++ b/gcc/fortran/trans-const.c
@@ -1,5 +1,5 @@
/* Translation of constants
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Paul Brook
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index 452f2bcf974..9452e276962 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -1,6 +1,6 @@
/* Expression translation
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
- 2011, 2012
+ 2011, 2012, 2013
Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
and Steven Bosscher <s.bosscher@student.tudelft.nl>
@@ -61,8 +61,8 @@ get_scalar_to_descriptor_type (tree scalar, symbol_attribute attr)
akind, !(attr.pointer || attr.target));
}
-static tree
-conv_scalar_to_descriptor (gfc_se *se, tree scalar, symbol_attribute attr)
+tree
+gfc_conv_scalar_to_descriptor (gfc_se *se, tree scalar, symbol_attribute attr)
{
tree desc, type;
@@ -198,16 +198,31 @@ gfc_vtable_final_get (tree decl)
#undef VTABLE_FINAL_FIELD
-/* Obtain the vptr of the last class reference in an expression. */
+/* Obtain the vptr of the last class reference in an expression.
+ Return NULL_TREE if no class reference is found. */
tree
gfc_get_vptr_from_expr (tree expr)
{
- tree tmp = expr;
- while (tmp && !GFC_CLASS_TYPE_P (TREE_TYPE (tmp)))
- tmp = TREE_OPERAND (tmp, 0);
- tmp = gfc_class_vptr_get (tmp);
- return tmp;
+ tree tmp;
+ tree type;
+
+ for (tmp = expr; tmp; tmp = TREE_OPERAND (tmp, 0))
+ {
+ type = TREE_TYPE (tmp);
+ while (type)
+ {
+ if (GFC_CLASS_TYPE_P (type))
+ return gfc_class_vptr_get (tmp);
+ if (type != TYPE_CANONICAL (type))
+ type = TYPE_CANONICAL (type);
+ else
+ type = NULL_TREE;
+ }
+ if (TREE_CODE (tmp) == VAR_DECL)
+ break;
+ }
+ return NULL_TREE;
}
@@ -594,7 +609,7 @@ gfc_conv_class_to_class (gfc_se *parmse, gfc_expr *e, gfc_typespec class_ts,
}
else
{
- if (CLASS_DATA (e)->attr.codimension)
+ if (TREE_TYPE (parmse->expr) != TREE_TYPE (ctree))
parmse->expr = fold_build1_loc (input_location, VIEW_CONVERT_EXPR,
TREE_TYPE (ctree), parmse->expr);
gfc_add_modify (&block, ctree, parmse->expr);
@@ -1562,6 +1577,7 @@ gfc_conv_component_ref (gfc_se * se, gfc_ref * ref)
c->norestrict_decl = f2;
field = f2;
}
+
tmp = fold_build3_loc (input_location, COMPONENT_REF, TREE_TYPE (field),
decl, field, NULL_TREE);
@@ -4355,8 +4371,8 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
if (TREE_CODE (tmp) == ADDR_EXPR
&& POINTER_TYPE_P (TREE_TYPE (TREE_OPERAND (tmp, 0))))
tmp = TREE_OPERAND (tmp, 0);
- parmse.expr = conv_scalar_to_descriptor (&parmse, tmp,
- fsym->attr);
+ parmse.expr = gfc_conv_scalar_to_descriptor (&parmse, tmp,
+ fsym->attr);
parmse.expr = gfc_build_addr_expr (NULL_TREE,
parmse.expr);
}
@@ -5525,20 +5541,20 @@ gfc_conv_function_expr (gfc_se * se, gfc_expr * expr)
return;
}
+ /* expr.value.function.esym is the resolved (specific) function symbol for
+ most functions. However this isn't set for dummy procedures. */
+ sym = expr->value.function.esym;
+ if (!sym)
+ sym = expr->symtree->n.sym;
+
/* We distinguish statement functions from general functions to improve
runtime performance. */
- if (expr->symtree->n.sym->attr.proc == PROC_ST_FUNCTION)
+ if (sym->attr.proc == PROC_ST_FUNCTION)
{
gfc_conv_statement_function (se, expr);
return;
}
- /* expr.value.function.esym is the resolved (specific) function symbol for
- most functions. However this isn't set for dummy procedures. */
- sym = expr->value.function.esym;
- if (!sym)
- sym = expr->symtree->n.sym;
-
gfc_conv_procedure_call (se, sym, expr->value.function.actual, expr,
NULL);
}
diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c
index 5a89be1a98d..e0b5f1130eb 100644
--- a/gcc/fortran/trans-intrinsic.c
+++ b/gcc/fortran/trans-intrinsic.c
@@ -1657,6 +1657,35 @@ conv_intrinsic_cobound (gfc_se * se, gfc_expr * expr)
static void
+conv_intrinsic_stride (gfc_se * se, gfc_expr * expr)
+{
+ gfc_actual_arglist *array_arg;
+ gfc_actual_arglist *dim_arg;
+ gfc_se argse;
+ tree desc, tmp;
+
+ array_arg = expr->value.function.actual;
+ dim_arg = array_arg->next;
+
+ gcc_assert (array_arg->expr->expr_type == EXPR_VARIABLE);
+
+ gfc_init_se (&argse, NULL);
+ gfc_conv_expr_descriptor (&argse, array_arg->expr);
+ gfc_add_block_to_block (&se->pre, &argse.pre);
+ gfc_add_block_to_block (&se->post, &argse.post);
+ desc = argse.expr;
+
+ gcc_assert (dim_arg->expr);
+ gfc_init_se (&argse, NULL);
+ gfc_conv_expr_type (&argse, dim_arg->expr, gfc_array_index_type);
+ gfc_add_block_to_block (&se->pre, &argse.pre);
+ tmp = fold_build2_loc (input_location, MINUS_EXPR, gfc_array_index_type,
+ argse.expr, gfc_index_one_node);
+ se->expr = gfc_conv_descriptor_stride_get (desc, tmp);
+}
+
+
+static void
gfc_conv_intrinsic_abs (gfc_se * se, gfc_expr * expr)
{
tree arg, cabs;
@@ -6806,6 +6835,10 @@ gfc_conv_intrinsic_function (gfc_se * se, gfc_expr * expr)
gfc_conv_intrinsic_spacing (se, expr);
break;
+ case GFC_ISYM_STRIDE:
+ conv_intrinsic_stride (se, expr);
+ break;
+
case GFC_ISYM_SUM:
gfc_conv_intrinsic_arith (se, expr, PLUS_EXPR, false);
break;
diff --git a/gcc/fortran/trans-io.c b/gcc/fortran/trans-io.c
index 921edd042ea..da4fd21effa 100644
--- a/gcc/fortran/trans-io.c
+++ b/gcc/fortran/trans-io.c
@@ -1,6 +1,6 @@
/* IO Code translation/library interface
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of GCC.
diff --git a/gcc/fortran/trans-stmt.h b/gcc/fortran/trans-stmt.h
index caa4c982b17..6e30bcb98f9 100644
--- a/gcc/fortran/trans-stmt.h
+++ b/gcc/fortran/trans-stmt.h
@@ -1,5 +1,5 @@
/* Header for statement translation functions
- Copyright (C) 2002, 2003, 2006, 2007, 2008, 2010
+ Copyright (C) 2002, 2003, 2006, 2007, 2008, 2010, 2011
Free Software Foundation, Inc.
Contributed by Paul Brook
diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c
index 8394bf93576..cd9bde614c1 100644
--- a/gcc/fortran/trans-types.c
+++ b/gcc/fortran/trans-types.c
@@ -1,6 +1,6 @@
/* Backend support for Fortran 95 basic types and derived types.
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010, 2011, 2012
+ 2010, 2011, 2012, 2013
Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
and Steven Bosscher <s.bosscher@student.tudelft.nl>
@@ -124,7 +124,7 @@ int gfc_atomic_logical_kind;
/* The kind size used for record offsets. If the target system supports
kind=8, this will be set to 8, otherwise it is set to 4. */
-int gfc_intio_kind;
+int gfc_intio_kind;
/* The integer kind used to store character lengths. */
int gfc_charlen_int_kind;
@@ -138,7 +138,7 @@ gfc_try
gfc_check_any_c_kind (gfc_typespec *ts)
{
int i;
-
+
for (i = 0; i < ISOCBINDING_NUMBER; i++)
{
/* Check for any C interoperable kind for the given type/kind in ts.
@@ -400,7 +400,7 @@ gfc_init_kinds (void)
i_index += 1;
}
- /* Set the kind used to match GFC_INT_IO in libgfortran. This is
+ /* Set the kind used to match GFC_INT_IO in libgfortran. This is
used for large file access. */
if (saw_i8)
@@ -408,8 +408,8 @@ gfc_init_kinds (void)
else
gfc_intio_kind = 4;
- /* If we do not at least have kind = 4, everything is pointless. */
- gcc_assert(saw_i4);
+ /* If we do not at least have kind = 4, everything is pointless. */
+ gcc_assert(saw_i4);
/* Set the maximum integer kind. Used with at least BOZ constants. */
gfc_max_integer_kind = gfc_integer_kinds[i_index - 1].kind;
@@ -550,7 +550,7 @@ gfc_init_kinds (void)
else
gfc_default_real_kind = gfc_real_kinds[0].kind;
- /* Choose the default double kind. If -fdefault-real and -fdefault-double
+ /* Choose the default double kind. If -fdefault-real and -fdefault-double
are specified, we use kind=8, if it's available. If -fdefault-real is
specified without -fdefault-double, we use kind=16, if it's available.
Otherwise we do not change anything. */
@@ -1624,10 +1624,10 @@ gfc_get_nodesc_array_type (tree etype, gfc_array_spec * as, gfc_packed packed,
type = build_pointer_type (type);
if (restricted)
- type = build_qualified_type (type, TYPE_QUAL_RESTRICT);
+ type = build_qualified_type (type, TYPE_QUAL_RESTRICT);
GFC_ARRAY_TYPE_P (type) = 1;
- TYPE_LANG_SPECIFIC (type) = TYPE_LANG_SPECIFIC (TREE_TYPE (type));
+ TYPE_LANG_SPECIFIC (type) = TYPE_LANG_SPECIFIC (TREE_TYPE (type));
}
return type;
@@ -2286,7 +2286,7 @@ gfc_copy_dt_decls_ifequal (gfc_symbol *from, gfc_symbol *to,
a derived type, we need a copy of its component declarations.
This is done by recursing into gfc_get_derived_type and
ensures that the component's component declarations have
- been built. If it is a character, we need the character
+ been built. If it is a character, we need the character
length, as well. */
for (; to_cm; to_cm = to_cm->next, from_cm = from_cm->next)
{
@@ -2367,7 +2367,7 @@ gfc_get_derived_type (gfc_symbol * derived)
BT_INTEGER that needs to fit a void * for the purpose of the
iso_c_binding derived types. */
derived->ts.f90_type = BT_VOID;
-
+
return derived->backend_decl;
}
@@ -2532,6 +2532,15 @@ gfc_get_derived_type (gfc_symbol * derived)
field_type = build_pointer_type_for_mode (TREE_TYPE (field_type),
ptr_mode, true);
+ /* Ensure that the CLASS language specific flag is set. */
+ if (c->ts.type == BT_CLASS)
+ {
+ if (POINTER_TYPE_P (field_type))
+ GFC_CLASS_TYPE_P (TREE_TYPE (field_type)) = 1;
+ else
+ GFC_CLASS_TYPE_P (field_type) = 1;
+ }
+
field = gfc_add_field_to_struct (typenode,
get_identifier (c->name),
field_type, &chain);
@@ -2832,7 +2841,7 @@ gfc_get_function_type (gfc_symbol * sym)
&& sym->ts.kind == gfc_default_real_kind
&& !sym->attr.always_explicit)
{
- /* Special case: f2c calling conventions require that (scalar)
+ /* Special case: f2c calling conventions require that (scalar)
default REAL functions return the C type double instead. f2c
compatibility is only an issue with functions that don't
require an explicit interface, as only these could be
diff --git a/gcc/fortran/trans-types.h b/gcc/fortran/trans-types.h
index 29cdf089b49..d8bafbe28e5 100644
--- a/gcc/fortran/trans-types.h
+++ b/gcc/fortran/trans-types.h
@@ -1,5 +1,5 @@
/* Header for Fortran 95 types backend support.
- Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2010
+ Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Paul Brook <paul@nowt.org>
and Steven Bosscher <s.bosscher@student.tudelft.nl>
diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c
index 70f06fffe99..84b512727f9 100644
--- a/gcc/fortran/trans.c
+++ b/gcc/fortran/trans.c
@@ -1,6 +1,6 @@
/* Code translation -- generate GCC trees from gfc_code.
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
- 2012 Free Software Foundation, Inc.
+ 2011, 2012, 2013 Free Software Foundation, Inc.
Contributed by Paul Brook
This file is part of GCC.
@@ -1023,6 +1023,116 @@ gfc_deallocate_with_status (tree pointer, tree status, tree errmsg,
}
+/* Build a call to a FINAL procedure, which finalizes "var". */
+
+tree
+gfc_build_final_call (gfc_typespec ts, gfc_expr *final_wrapper, gfc_expr *var,
+ bool fini_coarray, gfc_expr *class_size)
+{
+ stmtblock_t block;
+ gfc_se se;
+ tree final_fndecl, array, size, tmp;
+
+ gcc_assert (final_wrapper->expr_type == EXPR_VARIABLE);
+ gcc_assert (var);
+
+ gfc_init_se (&se, NULL);
+ gfc_conv_expr (&se, final_wrapper);
+ final_fndecl = se.expr;
+ if (POINTER_TYPE_P (TREE_TYPE (final_fndecl)))
+ final_fndecl = build_fold_indirect_ref_loc (input_location, final_fndecl);
+
+ if (ts.type == BT_DERIVED)
+ {
+ tree elem_size;
+
+ gcc_assert (!class_size);
+ elem_size = gfc_typenode_for_spec (&ts);
+ elem_size = TYPE_SIZE_UNIT (elem_size);
+ size = fold_convert (gfc_array_index_type, elem_size);
+
+ gfc_init_se (&se, NULL);
+ se.want_pointer = 1;
+ if (var->rank || gfc_expr_attr (var).dimension)
+ {
+ se.descriptor_only = 1;
+ gfc_conv_expr_descriptor (&se, var);
+ array = se.expr;
+ if (!POINTER_TYPE_P (TREE_TYPE (array)))
+ array = gfc_build_addr_expr (NULL, array);
+ }
+ else
+ {
+ symbol_attribute attr;
+ gfc_clear_attr (&attr);
+ gfc_conv_expr (&se, var);
+ gcc_assert (se.pre.head == NULL_TREE && se.post.head == NULL_TREE);
+ array = se.expr;
+ if (TREE_CODE (array) == ADDR_EXPR
+ && POINTER_TYPE_P (TREE_TYPE (TREE_OPERAND (array, 0))))
+ tmp = TREE_OPERAND (array, 0);
+
+ gfc_init_se (&se, NULL);
+ array = gfc_conv_scalar_to_descriptor (&se, array, attr);
+ array = gfc_build_addr_expr (NULL, array);
+ gcc_assert (se.post.head == NULL_TREE);
+ }
+ }
+ else
+ {
+ gfc_expr *array_expr;
+ gcc_assert (class_size);
+ gfc_init_se (&se, NULL);
+ gfc_conv_expr (&se, class_size);
+ gcc_assert (se.pre.head == NULL_TREE && se.post.head == NULL_TREE);
+ size = se.expr;
+
+ array_expr = gfc_copy_expr (var);
+ gfc_add_data_component (array_expr);
+ gfc_init_se (&se, NULL);
+ se.want_pointer = 1;
+ if (array_expr->rank || gfc_expr_attr (array_expr).dimension)
+ {
+ se.descriptor_only = 1;
+ gfc_conv_expr_descriptor (&se, var);
+ array = se.expr;
+ if (! POINTER_TYPE_P (TREE_TYPE (array)))
+ array = gfc_build_addr_expr (NULL, array);
+ }
+ else
+ {
+ symbol_attribute attr;
+
+ gfc_clear_attr (&attr);
+ gfc_conv_expr (&se, array_expr);
+ gcc_assert (se.pre.head == NULL_TREE && se.post.head == NULL_TREE);
+ array = se.expr;
+ if (TREE_CODE (array) == ADDR_EXPR
+ && POINTER_TYPE_P (TREE_TYPE (TREE_OPERAND (array, 0))))
+ tmp = TREE_OPERAND (array, 0);
+
+ /* attr: Argument is neither a pointer/allocatable,
+ i.e. no copy back needed */
+ gfc_init_se (&se, NULL);
+ array = gfc_conv_scalar_to_descriptor (&se, array, attr);
+ array = gfc_build_addr_expr (NULL, array);
+ gcc_assert (se.post.head == NULL_TREE);
+ }
+ gfc_free_expr (array_expr);
+ }
+
+ gfc_start_block (&block);
+ gfc_add_block_to_block (&block, &se.pre);
+ tmp = build_call_expr_loc (input_location,
+ final_fndecl, 3, array,
+ size, fini_coarray ? boolean_true_node
+ : boolean_false_node);
+ gfc_add_block_to_block (&block, &se.post);
+ gfc_add_expr_to_block (&block, tmp);
+ return gfc_finish_block (&block);
+}
+
+
/* Generate code for deallocation of allocatable scalars (variables or
components). Before the object itself is freed, any allocatable
subcomponents are being deallocated. */
diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h
index 17795750573..339261b73e3 100644
--- a/gcc/fortran/trans.h
+++ b/gcc/fortran/trans.h
@@ -1,6 +1,6 @@
/* Header for code translation functions
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
- 2011, 2012
+ 2011, 2012, 2013
Free Software Foundation, Inc.
Contributed by Paul Brook
@@ -352,6 +352,8 @@ tree gfc_vtable_final_get (tree);
tree gfc_get_vptr_from_expr (tree);
tree gfc_get_class_array_ref (tree, tree);
tree gfc_copy_class_to_class (tree, tree, tree);
+tree gfc_build_final_call (gfc_typespec, gfc_expr *, gfc_expr *, bool,
+ gfc_expr *);
void gfc_conv_derived_to_class (gfc_se *, gfc_expr *, gfc_typespec, tree, bool,
bool);
void gfc_conv_class_to_class (gfc_se *, gfc_expr *, gfc_typespec, bool, bool,
@@ -403,6 +405,9 @@ void gfc_conv_expr_lhs (gfc_se * se, gfc_expr * expr);
void gfc_conv_expr_reference (gfc_se * se, gfc_expr *);
void gfc_conv_expr_type (gfc_se * se, gfc_expr *, tree);
+tree gfc_conv_scalar_to_descriptor (gfc_se *, tree, symbol_attribute);
+
+
/* trans-expr.c */
void gfc_conv_scalar_char_value (gfc_symbol *sym, gfc_se *se, gfc_expr **expr);
tree gfc_string_to_single_character (tree len, tree str, int kind);
diff --git a/gcc/fortran/types.def b/gcc/fortran/types.def
index a2762c6257b..e06c1fea484 100644
--- a/gcc/fortran/types.def
+++ b/gcc/fortran/types.def
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2011
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 13e93e5566b..df12c98bffa 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -1,7 +1,7 @@
/* Compiler driver program that can handle many languages.
Copyright (C) 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010, 2011, 2012
+ 2010, 2011, 2012, 2013
Free Software Foundation, Inc.
This file is part of GCC.
@@ -6714,7 +6714,7 @@ main (int argc, char **argv)
{
printf (_("%s %s%s\n"), progname, pkgversion_string,
version_string);
- printf ("Copyright %s 2012 Free Software Foundation, Inc.\n",
+ printf ("Copyright %s 2013 Free Software Foundation, Inc.\n",
_("(C)"));
fputs (_("This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"),
diff --git a/gcc/gcov-dump.c b/gcc/gcov-dump.c
index fb01108946c..9ac46198cff 100644
--- a/gcc/gcov-dump.c
+++ b/gcc/gcov-dump.c
@@ -1,6 +1,6 @@
/* Dump a gcov file, for debugging use.
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
- 2012 Free Software Foundation, Inc.
+ 2012, 2013 Free Software Foundation, Inc.
Contributed by Nathan Sidwell <nathan@codesourcery.com>
Gcov is free software; you can redistribute it and/or modify
@@ -135,7 +135,7 @@ static void
print_version (void)
{
printf ("gcov-dump %s%s\n", pkgversion_string, version_string);
- printf ("Copyright (C) 2012 Free Software Foundation, Inc.\n");
+ printf ("Copyright (C) 2013 Free Software Foundation, Inc.\n");
printf ("This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or \n"
"FITNESS FOR A PARTICULAR PURPOSE.\n\n");
diff --git a/gcc/gcov-io.c b/gcc/gcov-io.c
index f4cb0acc1a7..ebdf7b030e6 100644
--- a/gcc/gcov-io.c
+++ b/gcc/gcov-io.c
@@ -1,6 +1,6 @@
/* File format for coverage information
Copyright (C) 1996, 1997, 1998, 2000, 2002, 2003, 2004, 2005, 2007,
- 2008 Free Software Foundation, Inc.
+ 2008, 2011, 2012 Free Software Foundation, Inc.
Contributed by Bob Manson <manson@cygnus.com>.
Completely remangled by Nathan Sidwell <nathan@codesourcery.com>.
diff --git a/gcc/gcov-io.h b/gcc/gcov-io.h
index 1f01aacd3e9..fe5fe7d4e26 100644
--- a/gcc/gcov-io.h
+++ b/gcc/gcov-io.h
@@ -1,6 +1,6 @@
/* File format for coverage information
Copyright (C) 1996, 1997, 1998, 2000, 2002,
- 2003, 2004, 2005, 2008, 2009 Free Software Foundation, Inc.
+ 2003, 2004, 2005, 2008, 2009, 2011, 2012 Free Software Foundation, Inc.
Contributed by Bob Manson <manson@cygnus.com>.
Completely remangled by Nathan Sidwell <nathan@codesourcery.com>.
diff --git a/gcc/gcov-iov.c b/gcc/gcov-iov.c
index 59109c1f912..3bc7f61aec9 100644
--- a/gcc/gcov-iov.c
+++ b/gcc/gcov-iov.c
@@ -1,6 +1,7 @@
/* Generate gcov version string from version.c. See gcov-io.h for
description of how the version string is generated.
- Copyright (C) 2002, 2003, 2005, 2007, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2005, 2007, 2010, 2012
+ Free Software Foundation, Inc.
Contributed by Nathan Sidwell <nathan@codesourcery.com>
This file is part of GCC.
diff --git a/gcc/gcov.c b/gcc/gcov.c
index 09831c2c6d6..47af61f1457 100644
--- a/gcc/gcov.c
+++ b/gcc/gcov.c
@@ -1,7 +1,8 @@
/* Gcov.c: prepend line execution counts and branch probabilities to a
source file.
Copyright (C) 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+ 2012, 2013
Free Software Foundation, Inc.
Contributed by James E. Wilson of Cygnus Support.
Mangled by Bob Manson of Cygnus Support.
@@ -489,7 +490,7 @@ static void
print_version (void)
{
fnotice (stdout, "gcov %s%s\n", pkgversion_string, version_string);
- fprintf (stdout, "Copyright %s 2012 Free Software Foundation, Inc.\n",
+ fprintf (stdout, "Copyright %s 2013 Free Software Foundation, Inc.\n",
_("(C)"));
fnotice (stdout,
_("This is free software; see the source for copying conditions.\n"
diff --git a/gcc/genattr.c b/gcc/genattr.c
index ade8c52cfb1..8cb7ea8988e 100644
--- a/gcc/genattr.c
+++ b/gcc/genattr.c
@@ -1,6 +1,6 @@
/* Generate attribute information (insn-attr.h) from machine description.
Copyright (C) 1991, 1994, 1996, 1998, 1999, 2000, 2003, 2004, 2007, 2008,
- 2010, 2011 Free Software Foundation, Inc.
+ 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
This file is part of GCC.
diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c
index 7143fc45075..b6e7be6bfb9 100644
--- a/gcc/genattrtab.c
+++ b/gcc/genattrtab.c
@@ -1,6 +1,6 @@
/* Generate code from machine description to compute values of attributes.
Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012
+ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
diff --git a/gcc/genautomata.c b/gcc/genautomata.c
index 8d93f0ee751..5024626c4a6 100644
--- a/gcc/genautomata.c
+++ b/gcc/genautomata.c
@@ -1,6 +1,6 @@
/* Pipeline hazard description translator.
- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010,
+ 2011, 2012 Free Software Foundation, Inc.
Written by Vladimir Makarov <vmakarov@redhat.com>
diff --git a/gcc/genemit.c b/gcc/genemit.c
index eefe4978d43..5b83595bbf1 100644
--- a/gcc/genemit.c
+++ b/gcc/genemit.c
@@ -1,6 +1,7 @@
/* Generate code from machine description to emit insns as rtl.
Copyright (C) 1987, 1988, 1991, 1994, 1995, 1997, 1998, 1999, 2000, 2001,
- 2003, 2004, 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genextract.c b/gcc/genextract.c
index 063c2211152..051a7cdee64 100644
--- a/gcc/genextract.c
+++ b/gcc/genextract.c
@@ -1,6 +1,6 @@
/* Generate code from machine description to extract operands from insn as rtl.
Copyright (C) 1987, 1991, 1992, 1993, 1997, 1998, 1999, 2000, 2003,
- 2004, 2005, 2007, 2008, 2009, 2010
+ 2004, 2005, 2007, 2008, 2009, 2010, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gengenrtl.c b/gcc/gengenrtl.c
index 58d31425fb6..2b2b53ae0ca 100644
--- a/gcc/gengenrtl.c
+++ b/gcc/gengenrtl.c
@@ -1,6 +1,6 @@
/* Generate code to allocate RTL structures.
- Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2007, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2007, 2010,
+ 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gengtype-lex.l b/gcc/gengtype-lex.l
index 4c316a3e2ea..4141ee6e02a 100644
--- a/gcc/gengtype-lex.l
+++ b/gcc/gengtype-lex.l
@@ -1,6 +1,6 @@
/* -*- indented-text -*- */
/* Process source files and output type information.
- Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2012
+ Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gengtype-parse.c b/gcc/gengtype-parse.c
index 0b466615e23..6091418a1fb 100644
--- a/gcc/gengtype-parse.c
+++ b/gcc/gengtype-parse.c
@@ -1,5 +1,5 @@
/* Process source files and output type information.
- Copyright (C) 2006, 2007, 2010, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gengtype-state.c b/gcc/gengtype-state.c
index 8607ceb1118..544d5f622a4 100644
--- a/gcc/gengtype-state.c
+++ b/gcc/gengtype-state.c
@@ -1,7 +1,7 @@
/* Gengtype persistent state serialization & de-serialization.
Useful for gengtype in plugin mode.
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/genpreds.c b/gcc/genpreds.c
index de913491469..c32e188e4f1 100644
--- a/gcc/genpreds.c
+++ b/gcc/genpreds.c
@@ -2,7 +2,7 @@
- prototype declarations for operand predicates (tm-preds.h)
- function definitions of operand predicates, if defined new-style
(insn-preds.c)
- Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
+ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c
index b26f7ae4298..50ea74cc82b 100644
--- a/gcc/ggc-common.c
+++ b/gcc/ggc-common.c
@@ -1,6 +1,6 @@
/* Simple garbage collection for the GNU compiler.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010 Free Software Foundation, Inc.
+ 2009, 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ggc-internal.h b/gcc/ggc-internal.h
index dcb048777e5..e619f0afd7e 100644
--- a/gcc/ggc-internal.h
+++ b/gcc/ggc-internal.h
@@ -1,7 +1,7 @@
/* Garbage collection for the GNU compiler. Internal definitions
for ggc-*.c and stringpool.c.
- Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ggc-none.c b/gcc/ggc-none.c
index e57d61787df..6f53fd334c0 100644
--- a/gcc/ggc-none.c
+++ b/gcc/ggc-none.c
@@ -1,5 +1,5 @@
/* Null garbage collection for the GNU compiler.
- Copyright (C) 1998, 1999, 2000, 2003, 2004, 2005, 2007, 2010
+ Copyright (C) 1998, 1999, 2000, 2003, 2004, 2005, 2007, 2010, 2011
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ggc-page.c b/gcc/ggc-page.c
index ca3f6325fa9..0e1eceebec1 100644
--- a/gcc/ggc-page.c
+++ b/gcc/ggc-page.c
@@ -1,6 +1,6 @@
/* "Bag-of-pages" garbage collector for the GNU compiler.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009,
- 2010, 2011 Free Software Foundation, Inc.
+ 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ggc-zone.c b/gcc/ggc-zone.c
index 2cf71675182..d5c92a6a8dd 100644
--- a/gcc/ggc-zone.c
+++ b/gcc/ggc-zone.c
@@ -1,6 +1,6 @@
/* "Bag-of-pages" zone garbage collector for the GNU compiler.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008,
- 2010 Free Software Foundation, Inc.
+ 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@redhat.com) and Daniel Berlin
(dberlin@dberlin.org). Rewritten by Daniel Jacobowitz
diff --git a/gcc/ggc.h b/gcc/ggc.h
index 37bbbd19a8b..cb6600034cb 100644
--- a/gcc/ggc.h
+++ b/gcc/ggc.h
@@ -1,7 +1,7 @@
/* Garbage collection for the GNU compiler.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007,
- 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gimple-fold.h b/gcc/gimple-fold.h
index e6821a9bd45..51d2f263c89 100644
--- a/gcc/gimple-fold.h
+++ b/gcc/gimple-fold.h
@@ -1,6 +1,6 @@
/* Gimple folding definitions.
- Copyright 2011 Free Software Foundation, Inc.
+ Copyright 2011, 2012 Free Software Foundation, Inc.
Contributed by Richard Guenther <rguenther@suse.de>
This file is part of GCC.
diff --git a/gcc/gimple-low.c b/gcc/gimple-low.c
index 282dba187c3..c026c08cce3 100644
--- a/gcc/gimple-low.c
+++ b/gcc/gimple-low.c
@@ -1,6 +1,6 @@
/* GIMPLE lowering pass. Converts High GIMPLE into Low GIMPLE.
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gimple-pretty-print.h b/gcc/gimple-pretty-print.h
index 02d8f13d01f..2c5faff13d9 100644
--- a/gcc/gimple-pretty-print.h
+++ b/gcc/gimple-pretty-print.h
@@ -1,7 +1,7 @@
/* Various declarations for pretty formatting of GIMPLE statements and
expressions.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
- 2010, Free Software Foundation, Inc.
+ 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/gimple-streamer-in.c b/gcc/gimple-streamer-in.c
index 49c4fe47a1f..5bfd46ff0a9 100644
--- a/gcc/gimple-streamer-in.c
+++ b/gcc/gimple-streamer-in.c
@@ -1,6 +1,6 @@
/* Routines for reading GIMPLE from a file stream.
- Copyright 2011 Free Software Foundation, Inc.
+ Copyright 2011, 2012 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/gimple-streamer-out.c b/gcc/gimple-streamer-out.c
index e49400b34de..68854c65a29 100644
--- a/gcc/gimple-streamer-out.c
+++ b/gcc/gimple-streamer-out.c
@@ -1,6 +1,6 @@
/* Routines for emitting GIMPLE to a file stream.
- Copyright 2011 Free Software Foundation, Inc.
+ Copyright 2011, 2012 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/gimple.def b/gcc/gimple.def
index 5ae97025cb2..278e1e559d1 100644
--- a/gcc/gimple.def
+++ b/gcc/gimple.def
@@ -1,6 +1,6 @@
/* This file contains the definitions of the GIMPLE IR tuples used in GCC.
- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
Contributed by Aldy Hernandez <aldyh@redhat.com>
This file is part of GCC.
diff --git a/gcc/go/config-lang.in b/gcc/go/config-lang.in
index 7ad5736f661..ba1f0c1d319 100644
--- a/gcc/go/config-lang.in
+++ b/gcc/go/config-lang.in
@@ -1,6 +1,6 @@
# config-lang.in -- Top level configure fragment for gcc Go frontend.
-# Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc.
# This file is part of GCC.
diff --git a/gcc/go/go-system.h b/gcc/go/go-system.h
index 85160cd4910..e7ca3c43755 100644
--- a/gcc/go/go-system.h
+++ b/gcc/go/go-system.h
@@ -1,5 +1,5 @@
// go-system.h -- Go frontend inclusion of gcc header files -*- C++ -*-
-// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
// This file is part of GCC.
diff --git a/gcc/graph.h b/gcc/graph.h
index 97bb177dd16..041aed1191a 100644
--- a/gcc/graph.h
+++ b/gcc/graph.h
@@ -1,5 +1,5 @@
/* Header file for graph routines.
- Copyright (C) 1999, 2003, 2004, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2003, 2004, 2007, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/graphds.c b/gcc/graphds.c
index beaef1660db..ee03bc776b3 100644
--- a/gcc/graphds.c
+++ b/gcc/graphds.c
@@ -1,5 +1,5 @@
/* Graph representation and manipulation functions.
- Copyright (C) 2007
+ Copyright (C) 2007, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/graphite-blocking.c b/gcc/graphite-blocking.c
index 61e6c76af48..44c5192936c 100644
--- a/gcc/graphite-blocking.c
+++ b/gcc/graphite-blocking.c
@@ -1,7 +1,7 @@
/* Heuristics and transform for loop blocking and strip mining on
polyhedral representation.
- Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@amd.com> and
Pranav Garg <pranav.garg2107@gmail.com>.
diff --git a/gcc/graphite-clast-to-gimple.c b/gcc/graphite-clast-to-gimple.c
index 43cddd54030..fbfff74560d 100644
--- a/gcc/graphite-clast-to-gimple.c
+++ b/gcc/graphite-clast-to-gimple.c
@@ -1,5 +1,5 @@
/* Translation of CLAST (CLooG AST) to Gimple.
- Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@amd.com>.
This file is part of GCC.
diff --git a/gcc/graphite-clast-to-gimple.h b/gcc/graphite-clast-to-gimple.h
index 8fdee90856b..3b78ec13495 100644
--- a/gcc/graphite-clast-to-gimple.h
+++ b/gcc/graphite-clast-to-gimple.h
@@ -1,5 +1,5 @@
/* Translation of CLAST (CLooG AST) to Gimple.
- Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@amd.com>.
This file is part of GCC.
diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c
index 947eb40199b..466bea6ee6d 100644
--- a/gcc/graphite-dependences.c
+++ b/gcc/graphite-dependences.c
@@ -1,5 +1,5 @@
/* Data dependence analysis for Graphite.
- Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@amd.com> and
Konrad Trifunovic <konrad.trifunovic@inria.fr>.
diff --git a/gcc/graphite-interchange.c b/gcc/graphite-interchange.c
index eb1a8b5bc29..53c86bea302 100644
--- a/gcc/graphite-interchange.c
+++ b/gcc/graphite-interchange.c
@@ -1,7 +1,7 @@
/* Interchange heuristics and transform for loop interchange on
polyhedral representation.
- Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@amd.com> and
Harsha Jagasia <harsha.jagasia@amd.com>.
@@ -240,15 +240,8 @@ pdr_stride_in_loop (mpz_t stride, graphite_dim_t depth, poly_dr_p pdr)
if (dump_file && (dump_flags & TDF_DETAILS))
{
- char *str;
- void (*gmp_free) (void *, size_t);
-
- fprintf (dump_file, "\nStride in BB_%d, DR_%d, depth %d:",
- pbb_index (pbb), PDR_ID (pdr), (int) depth);
- str = mpz_get_str (0, 10, stride);
- fprintf (dump_file, " %s ", str);
- mp_get_memory_functions (NULL, NULL, &gmp_free);
- (*gmp_free) (str, strlen (str) + 1);
+ gmp_fprintf (dump_file, "\nStride in BB_%d, DR_%d, depth %d: %Zd ",
+ pbb_index (pbb), PDR_ID (pdr), (int) depth, stride);
}
}
diff --git a/gcc/graphite-poly.c b/gcc/graphite-poly.c
index 21bab940f3e..438d2629d71 100644
--- a/gcc/graphite-poly.c
+++ b/gcc/graphite-poly.c
@@ -1,5 +1,5 @@
/* Graphite polyhedral representation.
- Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@amd.com> and
Tobias Grosser <grosser@fim.uni-passau.de>.
@@ -55,12 +55,7 @@ along with GCC; see the file COPYING3. If not see
DEBUG_FUNCTION void
debug_gmp_value (mpz_t val)
{
- char *str = mpz_get_str (0, 10, val);
- void (*gmp_free) (void *, size_t);
-
- fprintf (stderr, "%s", str);
- mp_get_memory_functions (NULL, NULL, &gmp_free);
- (*gmp_free) (str, strlen (str) + 1);
+ gmp_fprintf (stderr, "%Zd", val);
}
/* Return the maximal loop depth in SCOP. */
diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h
index 85980eb2e61..1050e4eaba3 100644
--- a/gcc/graphite-poly.h
+++ b/gcc/graphite-poly.h
@@ -1,5 +1,5 @@
/* Graphite polyhedral representation.
- Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@amd.com> and
Tobias Grosser <grosser@fim.uni-passau.de>.
diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c
index d6bb0db2953..15112bd7f40 100644
--- a/gcc/graphite-scop-detection.c
+++ b/gcc/graphite-scop-detection.c
@@ -1,5 +1,5 @@
/* Detection of Static Control Parts (SCoP) for Graphite.
- Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@amd.com> and
Tobias Grosser <grosser@fim.uni-passau.de>.
diff --git a/gcc/graphite-scop-detection.h b/gcc/graphite-scop-detection.h
index f888464073a..ed378db69ae 100644
--- a/gcc/graphite-scop-detection.h
+++ b/gcc/graphite-scop-detection.h
@@ -1,5 +1,5 @@
/* Detection of Static Control Parts (SCoP) for Graphite.
- Copyright (C) 2009 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2012 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@amd.com> and
Tobias Grosser <grosser@fim.uni-passau.de>.
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
index 8fa41dc372e..3e6bf5087a9 100644
--- a/gcc/graphite-sese-to-poly.c
+++ b/gcc/graphite-sese-to-poly.c
@@ -1,5 +1,5 @@
/* Conversion of SESE regions to Polyhedra.
- Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@amd.com>.
This file is part of GCC.
diff --git a/gcc/graphite.c b/gcc/graphite.c
index b45659c9717..b181c59ddff 100644
--- a/gcc/graphite.c
+++ b/gcc/graphite.c
@@ -1,5 +1,5 @@
/* Gimple Represented as Polyhedra.
- Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Sebastian Pop <sebastian.pop@inria.fr>.
diff --git a/gcc/hard-reg-set.h b/gcc/hard-reg-set.h
index ecdad174c13..13b007ae1a9 100644
--- a/gcc/hard-reg-set.h
+++ b/gcc/hard-reg-set.h
@@ -1,6 +1,6 @@
/* Sets (bit vectors) of hard registers, and operations on them.
Copyright (C) 1987, 1992, 1994, 2000, 2003, 2004, 2005, 2007, 2008, 2009,
- 2010, 2012 Free Software Foundation, Inc.
+ 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC
diff --git a/gcc/hw-doloop.c b/gcc/hw-doloop.c
index c4681ad7524..cd630d59294 100644
--- a/gcc/hw-doloop.c
+++ b/gcc/hw-doloop.c
@@ -1,6 +1,6 @@
/* Code to analyze doloop loops in order for targets to perform late
optimizations converting doloops to other forms of hardware loops.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/hw-doloop.h b/gcc/hw-doloop.h
index 59695405c48..c84a4388616 100644
--- a/gcc/hw-doloop.h
+++ b/gcc/hw-doloop.h
@@ -1,6 +1,6 @@
/* Code to analyze doloop loops in order for targets to perform late
optimizations converting doloops to other forms of hardware loops.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/hwint.h b/gcc/hwint.h
index ca471486c63..55b78f012ce 100644
--- a/gcc/hwint.h
+++ b/gcc/hwint.h
@@ -1,5 +1,5 @@
/* HOST_WIDE_INT definitions for the GNU compiler.
- Copyright (C) 1998, 2002, 2004, 2008, 2009, 2010, 2012
+ Copyright (C) 1998, 2002, 2004, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index b518b0ea27b..e7180c6704a 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -1,6 +1,6 @@
/* If-conversion support.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010,
- 2011
+ 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/input.h b/gcc/input.h
index 412195a58b1..24ce41b6720 100644
--- a/gcc/input.h
+++ b/gcc/input.h
@@ -1,7 +1,7 @@
/* Declarations for variables relating to reading the source file.
Used by parsers, lexical analyzers, and error message routines.
- Copyright (C) 1993, 1997, 1998, 2000, 2003, 2004, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 1993, 1997, 1998, 2000, 2003, 2004, 2007, 2008, 2009, 2010,
+ 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/insn-addr.h b/gcc/insn-addr.h
index 1ef9a93749a..0d0eef30b01 100644
--- a/gcc/insn-addr.h
+++ b/gcc/insn-addr.h
@@ -1,5 +1,5 @@
/* Macros to support INSN_ADDRESSES
- Copyright (C) 2000, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2007, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/intl.h b/gcc/intl.h
index 03be420fe68..bda8a258d33 100644
--- a/gcc/intl.h
+++ b/gcc/intl.h
@@ -1,5 +1,5 @@
/* intl.h - internationalization
- Copyright 1998, 2001, 2003, 2004, 2007, 2009, 2010
+ Copyright 1998, 2001, 2003, 2004, 2007, 2009, 2010, 2012
Free Software Foundation, Inc.
GCC is free software; you can redistribute it and/or modify
diff --git a/gcc/ipa-inline-transform.c b/gcc/ipa-inline-transform.c
index 2f6e8165a11..064614884c3 100644
--- a/gcc/ipa-inline-transform.c
+++ b/gcc/ipa-inline-transform.c
@@ -1,5 +1,5 @@
/* Callgraph transformations to handle inlining
- Copyright (C) 2003, 2004, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2003, 2004, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Jan Hubicka
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index 1cc39c0a99e..c6f4b453c14 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -1,5 +1,5 @@
/* Inlining decision heuristics.
- Copyright (C) 2003, 2004, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2003, 2004, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Jan Hubicka
diff --git a/gcc/ipa-inline.h b/gcc/ipa-inline.h
index 729ea5698d7..db712c0921e 100644
--- a/gcc/ipa-inline.h
+++ b/gcc/ipa-inline.h
@@ -1,5 +1,5 @@
/* Inlining decision heuristics.
- Copyright (C) 2003, 2004, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2003, 2004, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Jan Hubicka
diff --git a/gcc/ipa-prop.h b/gcc/ipa-prop.h
index 95442dc5582..b0c77d478f6 100644
--- a/gcc/ipa-prop.h
+++ b/gcc/ipa-prop.h
@@ -1,5 +1,5 @@
/* Interprocedural analyses.
- Copyright (C) 2005, 2007, 2008, 2009, 2010
+ Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c
index 341501ea172..8697fd106f3 100644
--- a/gcc/ipa-pure-const.c
+++ b/gcc/ipa-pure-const.c
@@ -1,5 +1,5 @@
/* Callgraph based analysis of static variables.
- Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010
+ Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
diff --git a/gcc/ipa-ref-inline.h b/gcc/ipa-ref-inline.h
index d793b5ea127..ec3a5cbefdf 100644
--- a/gcc/ipa-ref-inline.h
+++ b/gcc/ipa-ref-inline.h
@@ -1,5 +1,5 @@
/* IPA reference lists.
- Copyright (C) 2010
+ Copyright (C) 2010, 2012
Free Software Foundation, Inc.
Contributed by Jan Hubicka
diff --git a/gcc/ipa-utils.c b/gcc/ipa-utils.c
index ba15e36b5e2..055f2c7d17b 100644
--- a/gcc/ipa-utils.c
+++ b/gcc/ipa-utils.c
@@ -1,5 +1,5 @@
/* Utilities for ipa analysis.
- Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2008, 2011, 2012 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
diff --git a/gcc/ipa-utils.h b/gcc/ipa-utils.h
index 7f045b245bd..e6604dd2a07 100644
--- a/gcc/ipa-utils.h
+++ b/gcc/ipa-utils.h
@@ -1,5 +1,5 @@
/* Utilities for ipa analysis.
- Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2005, 2007, 2011, 2012 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
diff --git a/gcc/ipa.c b/gcc/ipa.c
index 73f7e113794..cd8763bf589 100644
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -1,5 +1,5 @@
/* Basic IPA optimizations and utilities.
- Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/ira-build.c b/gcc/ira-build.c
index 9cd1016dddb..fcdb50c3445 100644
--- a/gcc/ira-build.c
+++ b/gcc/ira-build.c
@@ -1,5 +1,5 @@
/* Building internal representation for IRA.
- Copyright (C) 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
diff --git a/gcc/ira-emit.c b/gcc/ira-emit.c
index 291c9a0e0b8..b7b0911e68e 100644
--- a/gcc/ira-emit.c
+++ b/gcc/ira-emit.c
@@ -1,5 +1,5 @@
/* Integrated Register Allocator. Changing code and generating moves.
- Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
diff --git a/gcc/ira-int.h b/gcc/ira-int.h
index 69db4411b47..797b90ac163 100644
--- a/gcc/ira-int.h
+++ b/gcc/ira-int.h
@@ -1,5 +1,5 @@
/* Integrated Register Allocator (IRA) intercommunication header file.
- Copyright (C) 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
diff --git a/gcc/ira-lives.c b/gcc/ira-lives.c
index f8a0fa1ee1f..8f8042e3dde 100644
--- a/gcc/ira-lives.c
+++ b/gcc/ira-lives.c
@@ -1,5 +1,5 @@
/* IRA processing allocno lives to build allocno live ranges.
- Copyright (C) 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Vladimir Makarov <vmakarov@redhat.com>.
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 97aef463673..b7648d246fc 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,7 @@
+2013-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ * jcf-dump.c (version): Update copyright notice dates.
+
2012-11-16 Diego Novillo <dnovillo@google.com>
Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
diff --git a/gcc/java/Make-lang.in b/gcc/java/Make-lang.in
index 390782d1af8..b7d6dda0e58 100644
--- a/gcc/java/Make-lang.in
+++ b/gcc/java/Make-lang.in
@@ -1,7 +1,8 @@
# Top level -*- makefile -*- fragment for the GNU compiler for the Java(TM)
# language.
# Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+# Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/java/boehm.c b/gcc/java/boehm.c
index e125883d443..fbea1b247ff 100644
--- a/gcc/java/boehm.c
+++ b/gcc/java/boehm.c
@@ -1,5 +1,5 @@
/* Functions related to the Boehm garbage collector.
- Copyright (C) 2000, 2003, 2004, 2006, 2009, 2010
+ Copyright (C) 2000, 2003, 2004, 2006, 2009, 2010, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/builtins.c b/gcc/java/builtins.c
index b873a8f01e7..fb1a0719fff 100644
--- a/gcc/java/builtins.c
+++ b/gcc/java/builtins.c
@@ -1,5 +1,5 @@
/* Built-in and inline functions for gcj
- Copyright (C) 2001, 2003, 2004, 2005, 2006, 2007, 2009, 2010
+ Copyright (C) 2001, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/class.c b/gcc/java/class.c
index fb8cd8b444b..a5c4efda3b9 100644
--- a/gcc/java/class.c
+++ b/gcc/java/class.c
@@ -1,6 +1,6 @@
/* Functions related to building classes and their related objects.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/constants.c b/gcc/java/constants.c
index 653c3c266dd..c81735a2c32 100644
--- a/gcc/java/constants.c
+++ b/gcc/java/constants.c
@@ -1,6 +1,6 @@
/* Handle the constant pool of the Java(TM) Virtual Machine.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
- 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
+ 2007, 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/decl.c b/gcc/java/decl.c
index c1ddd57303c..22d89c68ac0 100644
--- a/gcc/java/decl.c
+++ b/gcc/java/decl.c
@@ -1,7 +1,8 @@
/* Process declarations and variables for the GNU compiler for the
Java(TM) language.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007,
- 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/except.c b/gcc/java/except.c
index ff9a1063e37..eb50e850b27 100644
--- a/gcc/java/except.c
+++ b/gcc/java/except.c
@@ -1,6 +1,6 @@
/* Handle exceptions for GNU compiler for the Java(TM) language.
Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005,
- 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index 0f6e465b9a1..6a3d14b5215 100644
--- a/gcc/java/expr.c
+++ b/gcc/java/expr.c
@@ -1,6 +1,6 @@
/* Process expressions for the GNU compiler for the Java(TM) language.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/java-gimplify.c b/gcc/java/java-gimplify.c
index 05e69336db2..715750e11f0 100644
--- a/gcc/java/java-gimplify.c
+++ b/gcc/java/java-gimplify.c
@@ -1,5 +1,5 @@
/* Java(TM) language-specific gimplification routines.
- Copyright (C) 2003, 2004, 2006, 2007, 2007, 2008, 2010
+ Copyright (C) 2003, 2004, 2006, 2007, 2007, 2008, 2010, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h
index 11b780b998d..920bfdc70bf 100644
--- a/gcc/java/java-tree.h
+++ b/gcc/java/java-tree.h
@@ -1,7 +1,7 @@
/* Definitions for parsing and type checking for the GNU compiler for
the Java(TM) language.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/javaop.def b/gcc/java/javaop.def
index 6fe986d5d2d..0bf77da2a16 100644
--- a/gcc/java/javaop.def
+++ b/gcc/java/javaop.def
@@ -1,6 +1,6 @@
/* Table of opcodes for byte codes defined by the Java(TM) virtual
machine specification.
- Copyright (C) 1998, 2003, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1998, 2003, 2007, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/jcf-dump.c b/gcc/java/jcf-dump.c
index 67233d11c0e..4f613f4f851 100644
--- a/gcc/java/jcf-dump.c
+++ b/gcc/java/jcf-dump.c
@@ -2,7 +2,8 @@
Functionally similar to Sun's javap.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
+ Free Software Foundation, Inc.
This file is part of GCC.
@@ -1228,7 +1229,7 @@ static void
version (void)
{
printf ("jcf-dump %s%s\n\n", pkgversion_string, version_string);
- printf ("Copyright %s 2012 Free Software Foundation, Inc.\n", _("(C)"));
+ printf ("Copyright %s 2013 Free Software Foundation, Inc.\n", _("(C)"));
printf (_("This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"));
exit (0);
diff --git a/gcc/java/jcf-io.c b/gcc/java/jcf-io.c
index 6a24f78ebd4..ba1427aab01 100644
--- a/gcc/java/jcf-io.c
+++ b/gcc/java/jcf-io.c
@@ -1,6 +1,6 @@
/* Utility routines for finding and reading Java(TM) .class files.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c
index c97b12f88e3..d43a6c63235 100644
--- a/gcc/java/jcf-parse.c
+++ b/gcc/java/jcf-parse.c
@@ -1,6 +1,7 @@
/* Parser for Java(TM) .class files.
Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/jcf-reader.c b/gcc/java/jcf-reader.c
index 8978de2c196..59e8a125498 100644
--- a/gcc/java/jcf-reader.c
+++ b/gcc/java/jcf-reader.c
@@ -2,7 +2,7 @@
It is not stand-alone: It depends on tons of macros, and the
intent is you #include this file after you've defined the macros.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006,
- 2007, 2008, 2010 Free Software Foundation, Inc.
+ 2007, 2008, 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/jcf.h b/gcc/java/jcf.h
index 38c035fe439..67fd9386360 100644
--- a/gcc/java/jcf.h
+++ b/gcc/java/jcf.h
@@ -1,6 +1,6 @@
/* Utility macros to read Java(TM) .class files and byte codes.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/jvgenmain.c b/gcc/java/jvgenmain.c
index d6ca8717d70..f3f043d318e 100644
--- a/gcc/java/jvgenmain.c
+++ b/gcc/java/jvgenmain.c
@@ -1,6 +1,6 @@
/* Program to generate "main" a Java(TM) class containing a main method.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
+ 2007, 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/lang.c b/gcc/java/lang.c
index da7dd0568ee..9468c99e160 100644
--- a/gcc/java/lang.c
+++ b/gcc/java/lang.c
@@ -1,6 +1,6 @@
/* Java(TM) language-specific utility routines.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2010, 2012 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/mangle.c b/gcc/java/mangle.c
index 6a74531c2d3..8d695861c81 100644
--- a/gcc/java/mangle.c
+++ b/gcc/java/mangle.c
@@ -1,7 +1,7 @@
/* Functions related to mangling class names for the GNU compiler
for the Java(TM) language.
- Copyright (C) 1998, 1999, 2001, 2002, 2003, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2001, 2002, 2003, 2006, 2007, 2008, 2009, 2010,
+ 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/resource.c b/gcc/java/resource.c
index 52e99c4906c..ac810408344 100644
--- a/gcc/java/resource.c
+++ b/gcc/java/resource.c
@@ -1,6 +1,6 @@
/* Functions related to building resource files.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/verify-glue.c b/gcc/java/verify-glue.c
index 86cd28945c9..bafc4a00cd6 100644
--- a/gcc/java/verify-glue.c
+++ b/gcc/java/verify-glue.c
@@ -1,5 +1,5 @@
/* Glue to interface gcj with bytecode verifier.
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/verify-impl.c b/gcc/java/verify-impl.c
index 8841da1e3c7..2d1e3fa9883 100644
--- a/gcc/java/verify-impl.c
+++ b/gcc/java/verify-impl.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010
+/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2012
Free Software Foundation
This file is part of libgcj.
diff --git a/gcc/java/verify.h b/gcc/java/verify.h
index d7e01ee2916..98ca0fca1dc 100644
--- a/gcc/java/verify.h
+++ b/gcc/java/verify.h
@@ -1,5 +1,5 @@
/* Declarations to interface gcj with bytecode verifier.
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/java/win32-host.c b/gcc/java/win32-host.c
index 1d6b8fadc15..a590013afe2 100644
--- a/gcc/java/win32-host.c
+++ b/gcc/java/win32-host.c
@@ -1,5 +1,5 @@
/* Platform-Specific Win32 Functions
- Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2007, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/langhooks.c b/gcc/langhooks.c
index 7ca43e3cc99..94f874fdea3 100644
--- a/gcc/langhooks.c
+++ b/gcc/langhooks.c
@@ -1,5 +1,5 @@
/* Default language-specific hooks.
- Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012
Free Software Foundation, Inc.
Contributed by Alexandre Oliva <aoliva@redhat.com>
diff --git a/gcc/lcm.c b/gcc/lcm.c
index ab920bf0cbf..e86a492399d 100644
--- a/gcc/lcm.c
+++ b/gcc/lcm.c
@@ -1,6 +1,6 @@
/* Generic partial redundancy elimination with lazy code motion support.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008,
- 2010, 2011 Free Software Foundation, Inc.
+ 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/loop-doloop.c b/gcc/loop-doloop.c
index 3ab19cae932..44d0a1c089a 100644
--- a/gcc/loop-doloop.c
+++ b/gcc/loop-doloop.c
@@ -1,5 +1,5 @@
/* Perform doloop optimizations
- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010, 2012
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
Based on code by Michael P. Hayes (m.hayes@elec.canterbury.ac.nz)
diff --git a/gcc/loop-init.c b/gcc/loop-init.c
index b981762a385..c3b178b8c21 100644
--- a/gcc/loop-init.c
+++ b/gcc/loop-init.c
@@ -1,5 +1,5 @@
/* Loop optimizer initialization routines and RTL loop optimization passes.
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c
index 25d69f18ee8..23e1912912a 100644
--- a/gcc/loop-invariant.c
+++ b/gcc/loop-invariant.c
@@ -1,5 +1,5 @@
/* RTL-level loop invariant motion.
- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c
index 50b75362a97..d089fbf7cea 100644
--- a/gcc/loop-iv.c
+++ b/gcc/loop-iv.c
@@ -1,5 +1,5 @@
/* Rtl-level induction variable analysis.
- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013
Free Software Foundation, Inc.
This file is part of GCC.
@@ -2406,6 +2406,9 @@ iv_number_of_iterations (struct loop *loop, rtx insn, rtx condition,
iv1.step = const0_rtx;
}
+ iv0.step = lowpart_subreg (mode, iv0.step, comp_mode);
+ iv1.step = lowpart_subreg (mode, iv1.step, comp_mode);
+
/* This is either infinite loop or the one that ends immediately, depending
on initial values. Unswitching should remove this kind of conditions. */
if (iv0.step == const0_rtx && iv1.step == const0_rtx)
@@ -2516,6 +2519,7 @@ iv_number_of_iterations (struct loop *loop, rtx insn, rtx condition,
step = simplify_gen_unary (NEG, comp_mode, iv1.step, comp_mode);
else
step = iv0.step;
+ step = lowpart_subreg (mode, step, comp_mode);
delta = simplify_gen_binary (MINUS, comp_mode, iv1.base, iv0.base);
delta = lowpart_subreg (mode, delta, comp_mode);
delta = simplify_gen_binary (UMOD, mode, delta, step);
diff --git a/gcc/loop-unroll.c b/gcc/loop-unroll.c
index 39a7b80bdb3..8da6890fcd1 100644
--- a/gcc/loop-unroll.c
+++ b/gcc/loop-unroll.c
@@ -1,5 +1,5 @@
/* Loop unrolling and peeling.
- Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2010, 2011
+ Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c
index 73a58f03206..dd0ed616824 100644
--- a/gcc/lto-cgraph.c
+++ b/gcc/lto-cgraph.c
@@ -1,7 +1,7 @@
/* Write and read the cgraph to the memory mapped representation of a
.o file.
- Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
diff --git a/gcc/lto-section-out.c b/gcc/lto-section-out.c
index e4e8a594062..82ebe1e80c5 100644
--- a/gcc/lto-section-out.c
+++ b/gcc/lto-section-out.c
@@ -1,6 +1,6 @@
/* Functions for writing LTO sections.
- Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
This file is part of GCC.
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c
index e2629254782..a000c8c38de 100644
--- a/gcc/lto-streamer-in.c
+++ b/gcc/lto-streamer-in.c
@@ -1,6 +1,6 @@
/* Read the GIMPLE representation from a file stream.
- Copyright 2009, 2010 Free Software Foundation, Inc.
+ Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
Re-implemented by Diego Novillo <dnovillo@google.com>
diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
index 85c36c65ab4..dbca9cedf81 100644
--- a/gcc/lto-streamer-out.c
+++ b/gcc/lto-streamer-out.c
@@ -1,6 +1,6 @@
/* Write the GIMPLE representation to a file stream.
- Copyright 2009, 2010 Free Software Foundation, Inc.
+ Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Kenneth Zadeck <zadeck@naturalbridge.com>
Re-implemented by Diego Novillo <dnovillo@google.com>
diff --git a/gcc/lto-streamer.c b/gcc/lto-streamer.c
index a338df0f28c..9216a7dff17 100644
--- a/gcc/lto-streamer.c
+++ b/gcc/lto-streamer.c
@@ -1,7 +1,7 @@
/* Miscellaneous utilities for GIMPLE streaming. Things that are used
in both input and output are here.
- Copyright 2009, 2010 Free Software Foundation, Inc.
+ Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Doug Kwan <dougkwan@google.com>
This file is part of GCC.
diff --git a/gcc/lto-streamer.h b/gcc/lto-streamer.h
index befebcabd8e..6b9fa428293 100644
--- a/gcc/lto-streamer.h
+++ b/gcc/lto-streamer.h
@@ -1,7 +1,7 @@
/* Data structures and declarations used for reading and writing
GIMPLE to a file stream.
- Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Doug Kwan <dougkwan@google.com>
This file is part of GCC.
diff --git a/gcc/lto-symtab.c b/gcc/lto-symtab.c
index 295fd37aa38..b6ff02807de 100644
--- a/gcc/lto-symtab.c
+++ b/gcc/lto-symtab.c
@@ -439,6 +439,16 @@ lto_symtab_merge_decls_1 (symtab_node first)
&& COMPLETE_TYPE_P (TREE_TYPE (e->symbol.decl)))
prevailing = e;
}
+ /* For variables prefer the builtin if one is available. */
+ else if (TREE_CODE (prevailing->symbol.decl) == FUNCTION_DECL)
+ {
+ for (e = first; e; e = e->symbol.next_sharing_asm_name)
+ if (DECL_BUILT_IN (e->symbol.decl))
+ {
+ prevailing = e;
+ break;
+ }
+ }
}
symtab_prevail_in_asm_name_hash (prevailing);
diff --git a/gcc/lto-wrapper.c b/gcc/lto-wrapper.c
index 24de743306a..bb9ea0d41f6 100644
--- a/gcc/lto-wrapper.c
+++ b/gcc/lto-wrapper.c
@@ -1,5 +1,5 @@
/* Wrapper to call lto. Used by collect2 and the linker plugin.
- Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Factored out of collect2 by Rafael Espindola <espindola@google.com>
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 9e0de2a0691..061408fc0b8 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,10 @@
+2012-12-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR lto/55466
+ * lto.c (lto_register_var_decl_in_symtab): Don't record static
+ variables.
+ (lto_main): Record the global variables if WPA isn't enabled.
+
2012-11-20 Diego Novillo <dnovillo@google.com>
Jakub Jelinek <jakub@redhat.com>
diff --git a/gcc/lto/Make-lang.in b/gcc/lto/Make-lang.in
index 152593a653f..99f11f74a4b 100644
--- a/gcc/lto/Make-lang.in
+++ b/gcc/lto/Make-lang.in
@@ -1,5 +1,5 @@
# Top level -*- makefile -*- fragment for LTO
-# Copyright (C) 2009, 2010
+# Copyright (C) 2009, 2010, 2011, 2012
# Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/gcc/lto/common.c b/gcc/lto/common.c
index a23fdbb8434..7b968794b4b 100644
--- a/gcc/lto/common.c
+++ b/gcc/lto/common.c
@@ -1,5 +1,5 @@
/* Common code for the plugin and lto1.
- Copyright (C) 2009 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2011 Free Software Foundation, Inc.
Contributed by Rafael Avila de Espindola (espindola@google.com).
This program is free software; you can redistribute it and/or modify
diff --git a/gcc/lto/common.h b/gcc/lto/common.h
index 6f9a6928916..e4762073df8 100644
--- a/gcc/lto/common.h
+++ b/gcc/lto/common.h
@@ -1,5 +1,5 @@
/* Common code for the plugin and lto1.
- Copyright (C) 2008 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2011 Free Software Foundation, Inc.
Contributed by Rafael Avila de Espindola (espindola@google.com).
This file is part of GCC.
diff --git a/gcc/lto/lang.opt b/gcc/lto/lang.opt
index f5e9e39026d..1f78d023268 100644
--- a/gcc/lto/lang.opt
+++ b/gcc/lto/lang.opt
@@ -1,5 +1,5 @@
; Options for the LTO front end.
-; Copyright (C) 2008, 2010 Free Software Foundation, Inc.
+; Copyright (C) 2008, 2010, 2012 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
diff --git a/gcc/lto/lto-object.c b/gcc/lto/lto-object.c
index ce24400cb10..d229f5f5fab 100644
--- a/gcc/lto/lto-object.c
+++ b/gcc/lto/lto-object.c
@@ -1,5 +1,5 @@
/* LTO routines to use object files.
- Copyright 2010 Free Software Foundation, Inc.
+ Copyright 2010, 2011, 2012 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
This file is part of GCC.
diff --git a/gcc/lto/lto-tree.h b/gcc/lto/lto-tree.h
index c29898d4254..fb1aad12c6c 100644
--- a/gcc/lto/lto-tree.h
+++ b/gcc/lto/lto-tree.h
@@ -1,5 +1,5 @@
/* Language-dependent trees for LTO.
- Copyright 2009, 2010 Free Software Foundation, Inc.
+ Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by CodeSourcery, Inc.
This file is part of GCC.
diff --git a/gcc/lto/lto.h b/gcc/lto/lto.h
index 8fde159b36a..e70bb24649a 100644
--- a/gcc/lto/lto.h
+++ b/gcc/lto/lto.h
@@ -1,5 +1,5 @@
/* LTO declarations.
- Copyright 2009, 2010 Free Software Foundation, Inc.
+ Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
Contributed by CodeSourcery, Inc.
This file is part of GCC.
diff --git a/gcc/machmode.def b/gcc/machmode.def
index 631015f7345..35337bac37b 100644
--- a/gcc/machmode.def
+++ b/gcc/machmode.def
@@ -1,7 +1,7 @@
/* This file contains the definitions and documentation for the
machine modes used in the GNU compiler.
Copyright (C) 1987, 1992, 1994, 1997, 1998, 2000, 2003, 2004, 2005,
- 2007, 2010 Free Software Foundation, Inc.
+ 2007, 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/machmode.h b/gcc/machmode.h
index f1c89cc8a63..c2ca47e7010 100644
--- a/gcc/machmode.h
+++ b/gcc/machmode.h
@@ -1,6 +1,6 @@
/* Machine mode definitions for GCC; included by rtl.h and tree.h.
Copyright (C) 1991, 1993, 1994, 1996, 1998, 1999, 2000, 2001, 2003,
- 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
+ 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/mcf.c b/gcc/mcf.c
index 99454965fda..e322c484c83 100644
--- a/gcc/mcf.c
+++ b/gcc/mcf.c
@@ -1,6 +1,6 @@
/* Routines to implement minimum-cost maximal flow algorithm used to smooth
basic block and edge frequency counts.
- Copyright (C) 2008, 2009
+ Copyright (C) 2008, 2009, 2012
Free Software Foundation, Inc.
Contributed by Paul Yuan (yingbo.com@gmail.com) and
Vinodha Ramasamy (vinodha@google.com).
diff --git a/gcc/mode-switching.c b/gcc/mode-switching.c
index ab51ae07397..2ba105ee3fd 100644
--- a/gcc/mode-switching.c
+++ b/gcc/mode-switching.c
@@ -1,6 +1,6 @@
/* CPU mode switching
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008,
- 2009, 2010, 2012 Free Software Foundation, Inc.
+ 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/opt-functions.awk b/gcc/opt-functions.awk
index 4a81e88c340..debec660095 100644
--- a/gcc/opt-functions.awk
+++ b/gcc/opt-functions.awk
@@ -1,4 +1,4 @@
-# Copyright (C) 2003, 2004, 2007, 2008, 2009, 2010, 2011
+# Copyright (C) 2003, 2004, 2007, 2008, 2009, 2010, 2011, 2012
# Free Software Foundation, Inc.
# Contributed by Kelley Cook, June 2004.
# Original code from Neil Booth, May 2003.
diff --git a/gcc/optabs.h b/gcc/optabs.h
index 81aa1d049dc..95045252c98 100644
--- a/gcc/optabs.h
+++ b/gcc/optabs.h
@@ -1,6 +1,6 @@
/* Definitions for code generation pass of GNU compiler.
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010, 2012 Free Software Foundation, Inc.
+ 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/opts-common.c b/gcc/opts-common.c
index 356d941761e..fe578590a69 100644
--- a/gcc/opts-common.c
+++ b/gcc/opts-common.c
@@ -1,5 +1,6 @@
/* Command line option handling.
- Copyright (C) 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2008, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/opts-global.c b/gcc/opts-global.c
index 6409ea7b8bc..c3db9fe3b8f 100644
--- a/gcc/opts-global.c
+++ b/gcc/opts-global.c
@@ -1,7 +1,7 @@
/* Command line option handling. Code involving global state that
should not be shared with the driver.
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/opts.c b/gcc/opts.c
index b3a9afe8e4d..75e1d1c4343 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -1,7 +1,6 @@
/* Command line option handling.
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
- 2012
-
+ 2012, 2013
Free Software Foundation, Inc.
Contributed by Neil Booth.
@@ -542,9 +541,8 @@ default_options_optimization (struct gcc_options *opts,
{
const int optimize_val = integral_argument (opt->arg);
if (optimize_val == -1)
- error_at (loc,
- "argument to %qs should be a non-negative integer",
- "-O");
+ error_at (loc, "argument to %<-O%> should be a non-negative "
+ "integer, %<g%>, %<s%> or %<fast%>");
else
{
opts->x_optimize = optimize_val;
diff --git a/gcc/opts.h b/gcc/opts.h
index b6a43612935..662e0ae092a 100644
--- a/gcc/opts.h
+++ b/gcc/opts.h
@@ -1,5 +1,5 @@
/* Command line option handling.
- Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/params.def b/gcc/params.def
index 38aaf4b0b03..a307b715f8b 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -1,6 +1,6 @@
/* params.def - Run-time parameters.
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
- 2011, 2012
+ 2011, 2012, 2013
Free Software Foundation, Inc.
Written by Mark Mitchell <mark@codesourcery.com>.
@@ -869,6 +869,14 @@ DEFPARAM (PARAM_MAX_VARTRACK_EXPR_DEPTH,
"Max. recursion depth for expanding var tracking expressions",
12, 0, 0)
+/* Set maximum length of value location list for which var tracking
+ should add reverse operations. */
+
+DEFPARAM (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE,
+ "max-vartrack-reverse-op-size",
+ "Max. size of loc list for which reverse ops should be added",
+ 50, 0, 0)
+
/* Set minimum insn uid for non-debug insns. */
DEFPARAM (PARAM_MIN_NONDEBUG_INSN_UID,
diff --git a/gcc/plugin.c b/gcc/plugin.c
index 31baccaef58..64e93d2f0b7 100644
--- a/gcc/plugin.c
+++ b/gcc/plugin.c
@@ -1,5 +1,5 @@
/* Support for GCC plugin mechanism.
- Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/plugin.def b/gcc/plugin.def
index 0c9c8bc76f5..f8fafac9ccc 100644
--- a/gcc/plugin.def
+++ b/gcc/plugin.def
@@ -1,5 +1,5 @@
/* This file contains the definitions for plugin events in GCC.
- Copyright (C) 2009 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/plugin.h b/gcc/plugin.h
index c514e67d031..53f56c9ac2b 100644
--- a/gcc/plugin.h
+++ b/gcc/plugin.h
@@ -1,5 +1,5 @@
/* Header file for internal GCC plugin mechanism.
- Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/pointer-set.c b/gcc/pointer-set.c
index 58d13a1e266..14ae72d6aa7 100644
--- a/gcc/pointer-set.c
+++ b/gcc/pointer-set.c
@@ -1,5 +1,5 @@
/* Set operations on pointers
- Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006, 2007, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/postreload-gcse.c b/gcc/postreload-gcse.c
index 6a5ea7d37f4..2e598f9a99d 100644
--- a/gcc/postreload-gcse.c
+++ b/gcc/postreload-gcse.c
@@ -1,5 +1,5 @@
/* Post reload partially redundant load elimination
- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010, 2011
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/predict.c b/gcc/predict.c
index 5d3de290858..0c16b537c4b 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -1,6 +1,6 @@
/* Branch prediction routines for the GNU compiler.
- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010,
+ 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/predict.def b/gcc/predict.def
index 7e77f141a4d..33271a5f2d7 100644
--- a/gcc/predict.def
+++ b/gcc/predict.def
@@ -1,5 +1,6 @@
/* Definitions for the branch prediction routines in the GNU compiler.
- Copyright (C) 2001, 2003, 2004, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003, 2004, 2007, 2008, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/prefix.c b/gcc/prefix.c
index c7003f8c674..46cda830fa1 100644
--- a/gcc/prefix.c
+++ b/gcc/prefix.c
@@ -1,6 +1,6 @@
/* Utility to update paths from internal to external forms.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2007, 2011 Free Software Foundation, Inc.
+ 2007, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/prefix.h b/gcc/prefix.h
index 5bafe20900d..b2448fbb67e 100644
--- a/gcc/prefix.h
+++ b/gcc/prefix.h
@@ -1,5 +1,5 @@
/* Provide prototypes for functions exported from prefix.c.
- Copyright (C) 1999, 2003, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2003, 2007, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/pretty-print.c b/gcc/pretty-print.c
index 198e0425b9b..f386a25bdd0 100644
--- a/gcc/pretty-print.c
+++ b/gcc/pretty-print.c
@@ -1,5 +1,5 @@
/* Various declarations for language-independent pretty-print subroutines.
- Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010
+ Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2012
Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
diff --git a/gcc/pretty-print.h b/gcc/pretty-print.h
index 8bd95ff8d93..5c2917be8e0 100644
--- a/gcc/pretty-print.h
+++ b/gcc/pretty-print.h
@@ -1,5 +1,5 @@
/* Various declarations for language-independent pretty-print subroutines.
- Copyright (C) 2002, 2003, 2004, 2007, 2008, 2009, 2010
+ Copyright (C) 2002, 2003, 2004, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c
index 75f93504c73..760ac30f2e1 100644
--- a/gcc/print-rtl.c
+++ b/gcc/print-rtl.c
@@ -1,6 +1,6 @@
/* Print RTL for GCC.
Copyright (C) 1987, 1988, 1992, 1997, 1998, 1999, 2000, 2002, 2003,
- 2004, 2005, 2007, 2008, 2009, 2010, 2011
+ 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/print-tree.c b/gcc/print-tree.c
index 67bb8746f9f..2d4b565b394 100644
--- a/gcc/print-tree.c
+++ b/gcc/print-tree.c
@@ -1,6 +1,6 @@
/* Prints out tree in human readable form - GCC
Copyright (C) 1990, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/profile.h b/gcc/profile.h
index ed8c88667d8..a1caf555f1a 100644
--- a/gcc/profile.h
+++ b/gcc/profile.h
@@ -1,6 +1,6 @@
/* Header file for minimum-cost maximal flow routines used to smooth basic
block and edge frequency counts.
- Copyright (C) 2008
+ Copyright (C) 2008, 2011, 2012
Free Software Foundation, Inc.
Contributed by Paul Yuan (yingbo.com@gmail.com)
and Vinodha Ramasamy (vinodha@google.com).
diff --git a/gcc/read-md.c b/gcc/read-md.c
index e5534d75d48..10932d9f951 100644
--- a/gcc/read-md.c
+++ b/gcc/read-md.c
@@ -1,6 +1,6 @@
/* MD reader for GCC.
Copyright (C) 1987, 1988, 1991, 1994, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2010
+ 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/read-rtl.c b/gcc/read-rtl.c
index 6dd4fc51ddb..44bba4adce0 100644
--- a/gcc/read-rtl.c
+++ b/gcc/read-rtl.c
@@ -1,6 +1,6 @@
/* RTL reader for GCC.
Copyright (C) 1987, 1988, 1991, 1994, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2007, 2008, 2010
+ 2003, 2004, 2005, 2007, 2008, 2010, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/real.c b/gcc/real.c
index e4f6492e70d..da71d0a4329 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -1,6 +1,6 @@
/* real.c - software floating point emulation.
Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002,
- 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
+ 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Stephen L. Moshier (moshier@world.std.com).
Re-written by Richard Henderson <rth@redhat.com>
diff --git a/gcc/realmpfr.c b/gcc/realmpfr.c
index 2836338b109..d55648a9caf 100644
--- a/gcc/realmpfr.c
+++ b/gcc/realmpfr.c
@@ -1,5 +1,5 @@
/* Conversion routines from GCC internal float representation to MPFR.
- Copyright (C) 2010
+ Copyright (C) 2010 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/realmpfr.h b/gcc/realmpfr.h
index 4cfa4fb5803..d7171f1a750 100644
--- a/gcc/realmpfr.h
+++ b/gcc/realmpfr.h
@@ -1,6 +1,6 @@
/* Definitions of floating-point conversion from compiler
internal format to MPFR.
- Copyright (C) 2010
+ Copyright (C) 2010, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/recog.h b/gcc/recog.h
index 0e7d5373aa3..a4a49293637 100644
--- a/gcc/recog.h
+++ b/gcc/recog.h
@@ -1,6 +1,7 @@
/* Declarations for interface to insn recognizer and insn-output.c.
Copyright (C) 1987, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/reg-notes.def b/gcc/reg-notes.def
index 640abb217d5..31eba5131c3 100644
--- a/gcc/reg-notes.def
+++ b/gcc/reg-notes.def
@@ -1,5 +1,5 @@
/* Register note definitions.
- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/regcprop.c b/gcc/regcprop.c
index cd1af6be24a..78c2da5bec5 100644
--- a/gcc/regcprop.c
+++ b/gcc/regcprop.c
@@ -1,6 +1,6 @@
/* Copy propagation on hard registers for the GNU compiler.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010 Free Software Foundation, Inc.
+ 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/regrename.c b/gcc/regrename.c
index b15deee9b7a..6d237d162ca 100644
--- a/gcc/regrename.c
+++ b/gcc/regrename.c
@@ -1,6 +1,6 @@
/* Register renaming for the GNU compiler.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010 Free Software Foundation, Inc.
+ 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/regrename.h b/gcc/regrename.h
index 0048d78fb1d..062048fad64 100644
--- a/gcc/regrename.h
+++ b/gcc/regrename.h
@@ -1,5 +1,5 @@
/* This file contains definitions for the register renamer.
- Copyright (C) 2011
+ Copyright (C) 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/regset.h b/gcc/regset.h
index c4981c72035..9178e9fff20 100644
--- a/gcc/regset.h
+++ b/gcc/regset.h
@@ -1,6 +1,7 @@
/* Define regsets.
Copyright (C) 1987, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/regstat.c b/gcc/regstat.c
index 34eb7ad67bf..bd0d2c7c078 100644
--- a/gcc/regstat.c
+++ b/gcc/regstat.c
@@ -1,5 +1,5 @@
/* Scanning of rtl for dataflow analysis.
- Copyright (C) 2007, 2008, 2009, 2010
+ Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Kenneth Zadeck (zadeck@naturalbridge.com).
diff --git a/gcc/reorg.c b/gcc/reorg.c
index f92998ed4a8..ca8dd750832 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -1,6 +1,6 @@
/* Perform instruction reorganizations for delay slot filling.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu).
Hacked by Michael Tiemann (tiemann@cygnus.com).
diff --git a/gcc/resource.c b/gcc/resource.c
index d2ae73200d5..3017ee69050 100644
--- a/gcc/resource.c
+++ b/gcc/resource.c
@@ -1,6 +1,6 @@
/* Definitions for computing resource usage of specific insns.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010 Free Software Foundation, Inc.
+ 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/rtl.c b/gcc/rtl.c
index c42abda1e02..e0977e44c3f 100644
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -1,6 +1,6 @@
/* RTL utility routines.
Copyright (C) 1987, 1988, 1991, 1994, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/rtl.def b/gcc/rtl.def
index 6948bfe13ed..3ff9ec3f346 100644
--- a/gcc/rtl.def
+++ b/gcc/rtl.def
@@ -2,7 +2,7 @@
Register Transfer Expressions (rtx's) that make up the
Register Transfer Language (rtl) used in the Back End of the GNU compiler.
Copyright (C) 1987, 1988, 1992, 1994, 1995, 1997, 1998, 1999, 2000, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c
index 8962b13eda7..481ec8a8c65 100644
--- a/gcc/sched-rgn.c
+++ b/gcc/sched-rgn.c
@@ -1,6 +1,6 @@
/* Instruction scheduling pass.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com) Enhanced by,
and currently maintained by, Jim Wilson (wilson@cygnus.com)
diff --git a/gcc/sel-sched-dump.c b/gcc/sel-sched-dump.c
index 9e72cfd8c8b..f62ac594cc9 100644
--- a/gcc/sel-sched-dump.c
+++ b/gcc/sel-sched-dump.c
@@ -1,5 +1,6 @@
/* Instruction scheduling pass. Log dumping infrastructure.
- Copyright (C) 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2008, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sese.c b/gcc/sese.c
index 47578e82a6e..765c5decc97 100644
--- a/gcc/sese.c
+++ b/gcc/sese.c
@@ -1,5 +1,5 @@
/* Single entry single exit control flow regions.
- Copyright (C) 2008, 2009, 2010, 2011
+ Copyright (C) 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Jan Sjodin <jan.sjodin@amd.com> and
Sebastian Pop <sebastian.pop@amd.com>.
diff --git a/gcc/sese.h b/gcc/sese.h
index 2f4a7cbe4ce..4129822ca5c 100644
--- a/gcc/sese.h
+++ b/gcc/sese.h
@@ -1,5 +1,5 @@
/* Single entry single exit control flow regions.
- Copyright (C) 2008, 2009, 2010
+ Copyright (C) 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Jan Sjodin <jan.sjodin@amd.com> and
Sebastian Pop <sebastian.pop@amd.com>.
diff --git a/gcc/sparseset.c b/gcc/sparseset.c
index 35a2c3e1a34..166f9131799 100644
--- a/gcc/sparseset.c
+++ b/gcc/sparseset.c
@@ -1,5 +1,5 @@
/* SparseSet implementation.
- Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2008, 2012 Free Software Foundation, Inc.
Contributed by Peter Bergner <bergner@vnet.ibm.com>
This file is part of GCC.
diff --git a/gcc/stack-ptr-mod.c b/gcc/stack-ptr-mod.c
index 3f126c35b1c..0790d6adaf2 100644
--- a/gcc/stack-ptr-mod.c
+++ b/gcc/stack-ptr-mod.c
@@ -1,5 +1,5 @@
/* Discover if the stack pointer is modified in a function.
- Copyright (C) 2007, 2008, 2009
+ Copyright (C) 2007, 2008, 2009, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/statistics.c b/gcc/statistics.c
index f0687c78e4c..8d3d5f81821 100644
--- a/gcc/statistics.c
+++ b/gcc/statistics.c
@@ -1,5 +1,5 @@
/* Optimization statistics functions.
- Copyright (C) 2008, 2010
+ Copyright (C) 2008, 2010, 2012
Free Software Foundation, Inc.
Contributed by Richard Guenther <rguenther@suse.de>
diff --git a/gcc/statistics.h b/gcc/statistics.h
index add37a47a17..954badf1e2a 100644
--- a/gcc/statistics.h
+++ b/gcc/statistics.h
@@ -1,5 +1,5 @@
/* Memory and optimization statistics helpers.
- Copyright (C) 2004, 2007, 2008
+ Copyright (C) 2004, 2007, 2008, 2012
Free Software Foundation, Inc.
Contributed by Cygnus Solutions.
diff --git a/gcc/store-motion.c b/gcc/store-motion.c
index 57793f209e7..dc1083c97e9 100644
--- a/gcc/store-motion.c
+++ b/gcc/store-motion.c
@@ -1,6 +1,6 @@
/* Store motion via Lazy Code Motion on the reverse CFG.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/streamer-hooks.h b/gcc/streamer-hooks.h
index 03de155d2dc..ceb9c0c45bc 100644
--- a/gcc/streamer-hooks.h
+++ b/gcc/streamer-hooks.h
@@ -1,7 +1,7 @@
/* Streamer hooks. Support for adding streamer-specific callbacks to
generic streaming routines.
- Copyright 2011 Free Software Foundation, Inc.
+ Copyright 2011, 2012 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/stringpool.c b/gcc/stringpool.c
index 281e5501d1e..f1a41ac1426 100644
--- a/gcc/stringpool.c
+++ b/gcc/stringpool.c
@@ -1,6 +1,6 @@
/* String pool for GCC.
- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010,
+ 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/sync-builtins.def b/gcc/sync-builtins.def
index 15ff479bb5e..3ea62bc7e4c 100644
--- a/gcc/sync-builtins.def
+++ b/gcc/sync-builtins.def
@@ -1,6 +1,6 @@
/* This file contains the definitions and documentation for the
synchronization builtins used in the GNU compiler.
- Copyright (C) 2005, 2007, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/target-globals.c b/gcc/target-globals.c
index ac170abc3a2..8ae4e9982f2 100644
--- a/gcc/target-globals.c
+++ b/gcc/target-globals.c
@@ -1,5 +1,5 @@
/* Target-dependent globals.
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/target-hooks-macros.h b/gcc/target-hooks-macros.h
index 56cddac7c89..a786c8d2523 100644
--- a/gcc/target-hooks-macros.h
+++ b/gcc/target-hooks-macros.h
@@ -1,6 +1,6 @@
/* Common macros for target hook definitions.
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
- 2011
+ 2011, 2012
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index 5a5793e9daa..fa2cda63edc 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -1,5 +1,5 @@
/* Default target hook functions.
- Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/targhooks.h b/gcc/targhooks.h
index bd7d4bc35e0..40c128c23cc 100644
--- a/gcc/targhooks.h
+++ b/gcc/targhooks.h
@@ -1,5 +1,5 @@
/* Default target hook functions.
- Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index b3418f11882..0f15221d3c5 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,11217 +1,158 @@
-2013-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * gcc.dg/pr55430.c: Define MAP_FAILED if not defined.
-
-2013-01-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/55818
- * gfortran.dg/eof_4.f90: New test.
-
-2013-01-02 Jakub Jelinek <jakub@redhat.com>
-
- * lib/c-compat.exp (compat-use-alt-compiler): Remove
- -fno-diagnostics-show-caret from TEST_ALWAYS_FLAGS if needed.
- (compat-use-tst-compiler): Restore TEST_ALWAYS_FLAGS.
- (compat_setup_dfp): Initialize compat_alt_caret and
- compat_save_TEST_ALWAYS_FLAGS.
-
-2013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.dg/torture/tls/tls-reload-1.c: New test.
-
-2013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.dg/torture/fp-int-convert-2.c: New test.
-
-2013-01-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- * gfortran.dg/newunit_3.f90: Add dg-do run.
- * gfortran.dg/inquire_15.f90: Add dg-do run.
-
-2013-01-01 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/55831
- * gcc.dg/pr55831.c: New test.
+2013-01-06 Paul Thomas <pault@gcc.gnu.org>
-2012-12-31 Uros Bizjak <ubizjak@gmail.com>
+ PR fortran/PR53876
+ PR fortran/PR54990
+ PR fortran/PR54992
+ * gfortran.dg/class_array_15.f03: New test.
- * g++.dg/ipa/devirt-9.C: Cleanup inline ipa dump.
+2013-01-06 Mikael Morin <mikael@gcc.gnu.org>
-2012-12-31 Uros Bizjak <ubizjak@gmail.com>
+ PR fortran/42769
+ PR fortran/45836
+ PR fortran/45900
+ * gfortran.dg/use_23.f90: New test.
+ * gfortran.dg/use_24.f90: New test.
+ * gfortran.dg/use_25.f90: New test.
+ * gfortran.dg/use_26.f90: New test.
+ * gfortran.dg/use_27.f90: New test.
- * gcc.target/i386/builtin_target.c (vendor_signatures): Remove.
- (check_detailed): Use signature_INTEL_ebx and signature_AMD_ebx
- to check vendor signature.
+2013-01-06 Olivier Hainque <hainque@adacore.com>
-2012-12-28 Janus Weil <janus@gcc.gnu.org>
+ * gnat.dg/specs/clause_on_volatile.ads: New test.
- PR fortran/55692
- * gfortran.dg/associated_7.f90: New.
+2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
-2012-12-28 Tobias Burnus <burnus@net-b.de>
+ * gnat.dg/alignment10.adb: New test.
- PR fortran/55763
- * gfortran.dg/unlimited_polymorphic_5.f90
-
-2012-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+2013-01-05 Steven G. Kargl <kargl@gcc.gnu.org>
+ Mikael Morin <mikael@gcc.gnu.org>
- PR fortran/48960
- * gfortran.dg/newunit_3.f90: New.
+ PR fortran/55827
+ * gfortran.dg/use_22.f90: New test.
-2012-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+2013-01-04 Andrew Pinski <apinski@cavium.com>
- PR fortran/48976
- * gfortran.dg/inquire_15.f90: New.
+ * gcc.target/aarch64/cmp-1.c: New testcase.
-2012-12-27 Sriraman Tallam <tmsriram@google.com>
+2013-01-04 Paul Thomas <pault@gcc.gnu.org>
- * testsuite/g++.dg/mv1.C: Remove target options.
- * testsuite/g++.dg/mv2.C: Ditto.
- * testsuite/g++.dg/mv3.C: Ditto.
- * testsuite/g++.dg/mv4.C: Ditto.
- * testsuite/g++.dg/mv5.C: Ditto.
+ PR fortran/55172
+ * gfortran.dg/select_type_31.f03: New test.
-2012-12-26 Janne Blomqvist <jb@gcc.gnu.org>
+2013-01-04 Paolo Carlini <paolo.carlini@oracle.com>
- PR fortran/55539
- * gfortran.dg/nosigned_zero_3.f90: New testcase.
+ PR c++/54526 (again)
+ * g++.dg/cpp0x/parse2.C: Extend.
+ * g++.old-deja/g++.other/crash28.C: Adjust.
-2012-12-23 Tobias Burnus <burnus@net-b.de>
+2013-01-04 Richard Biener <rguenther@suse.de>
- PR fortran/54884
- * gfortran.dg/public_private_module_8.f90: New.
+ PR tree-optimization/55862
+ * gcc.dg/torture/pr55862.c: New testcase.
-2012-12-23 Richard Sandiford <rdsandiford@googlemail.com>
+2013-01-04 Martin Jambor <mjambor@suse.cz>
- * gcc.target/mips/r10k-cache-barrier-10.c: Make a branch-likely
- instruction more likely.
+ PR tree-optimization/55755
+ * gcc.dg/torture/pr55755.c: New test.
+ * gcc.dg/tree-ssa/sra-13.c: Likewise.
+ * gcc.dg/tree-ssa/pr45144.c: Update.
-2012-12-23 Richard Sandiford <rdsandiford@googlemail.com>
+2013-01-04 Richard Biener <rguenther@suse.de>
- * gcc.target/mips/pr55315.c: Cast to long rather than int.
+ PR middle-end/55863
+ * gcc.dg/fold-reassoc-2.c: New testcase.
-2012-12-22 Tobias Burnus <burnus@net-b.de>
+2013-01-04 Tobias Burnus <burnus@net-b.de>
PR fortran/55763
- * gfortran.dg/unlimited_polymorphic_6.f90: New.
-
-2012-12-21 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/55355
- * g++.dg/torture/pr55355.C: New test.
-
-2012-12-21 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/55775
- * gcc.target/i386/pr55775.c: New test.
-
-2012-12-21 David Edelsohn <dje.gcc@gmail.com>
+ * gfortran.dg/null_7.f90: New.
- * gcc.dg/pthread-init-2.c (dg-options): Define _XOPEN_SOURCE=500
- on AIX.
-
- * lib/target-supports.exp (add_options_for_tls): Add -pthread for
- AIX as well.
- (check_effective_target_powerpc_vsx_ok): Only test VSX on AIX 7.1
- and above.
-
- * gcc.c-torture/compile/pr44707.c: Do not try to assemble on AIX.
-
- * c-c++-common/pr43942.c: Remove XFAIL for AIX.
-
-2012-12-21 Paul Thomas <pault@gcc.gnu.org>
+2013-01-04 Tobias Burnus <burnus@net-b.de>
+ PR fortran/55854
PR fortran/55763
- * gfortran.dg/unlimited_polymorphic_4.f03: New test.
-
-2012-12-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/52996
- * gcc.dg/torture/pr52996.c: New testcase.
-
-2012-12-20 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/55750
- * gcc.c-torture/execute/pr55750.c: New test.
-
-2012-12-20 Richard Biener <rguenther@suse.de>
-
- PR middle-end/55740
- * g++.dg/torture/pr55740.C: New testcase.
-
-2012-12-20 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/55619
- * c-c++-common/pr55619.c: New test.
-
-2012-12-20 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54818
- * gfortran.dg/transfer_intrinsic_4.f: New.
-
-2012-12-19 Paul Thomas <pault@gcc.gnu.org>
-
- * gfortran.dg/unlimited_polymorphic_1.f03: New test.
- * gfortran.dg/unlimited_polymorphic_2.f03: New test.
- * gfortran.dg/unlimited_polymorphic_3.f03: New test.
- * gfortran.dg/same_type_as_1.f03: Correct for improved message.
-
-2012-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/arm/vmaxnmdf.c: New test.
- * gcc.target/arm/vmaxnmsf.c: Likewise.
- * gcc.target/arm/vminnmsf.c: Likewise.
- * gcc.target/arm/vminnmdf.c: Likewise.
-
-2012-12-19 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/gomp/use_intrinsic_1.f90: Moved
- to libgomp/testsuite/libgomp.fortran/use_intrinsic_1.f90.
-
-2012-12-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55736
- PR tree-optimization/55703
- * gcc.dg/lto/pr55703_0.c: New testcase.
-
-2012-12-19 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/55730
- * gcc.dg/debug/pr55730.c: New test.
-
-2012-12-18 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/55683
- * g++.dg/ipa/devirt-9.C: New testcase.
-
-2012-12-19 Terry Guo <terry.guo@arm.com>
-
- * gcc.target/arm/thumb-find-work-register.c: New.
-
-2012-12-19 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/55733
- * gfortran.dg/save_5.f90: New.
-
-2012-12-18 Jakub Jelinek <jakub@redhat.com>
-
- PR c/39464
- * gcc.dg/pr39464.c: New test.
-
-2012-12-18 Ian Lance Taylor <iant@google.com>
-
- PR go/55201
- * lib/go.exp: Revert last patch.
-
-2012-12-18 Richard Biener <rguenther@suse.de>
-
- PR middle-end/54838
- * g++.dg/torture/pr54838.C: New testcase.
-
-2012-12-18 Andreas Schwab <schwab@linux-m68k.org>
-
- * lib/go.exp (go_link_flags): Add libatomic location to flags and
- ld_library_path.
-
-2012-12-18 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/reassoc-19.c: Adjust.
-
-2012-12-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55555
- * gcc.dg/torture/pr55555.c: New testcase.
- * gcc.dg/vect/vect-iv-11.c: Adjust.
-
-2012-12-18 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/55717
- * testsuite/g++.dg/opt/pr55717.C: New test.
-
-2012-12-17 Andrew Stubbs <ams@codesourcery.com>
- Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * gcc.target/arm/neon-extend-1.c: New file.
- * gcc.target/arm/neon-extend-2.c: New file.
-
-2012-12-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * lib/target-supports.exp (add_options_for_arm_v8_neon):
- Add -march=armv8-a.
-
-2012-12-17 James Greenhalgh <james.greenhalgh@arm.com>
- Tejas Belagod <tejas.belagod@arm.com>
-
- * lib/target-supports.exp
- (check_effective_target_vect_multiple_sizes): Enable for AArch64.
-
-2012-12-16 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/55197
- * gfortran.dg/gomp/use_intrinsic_1.f90: New.
-
-2012-12-16 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/move_alloc_14.f90: New.
-
-2012-12-16 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/55638
- * gfortran.dg/elemental_args_check_3.f90: Update dg-error.
- * gfortran.dg/elemental_args_check_7.f90: New.
-
-2012-12-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * lib/scanasm.exp (get_ada_spec_filename): Use procedural form.
-
-2012-12-15 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/52735
- * gnat.dg/nested_generic1.adb: New test.
- * gnat.dg/nested_generic1_pkg.ad[sb]: New helper.
-
-2012-12-15 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/53766
- * gnat.dg/controlled7.ad[sb]: New test.
-
-2012-12-14 Steve Ellcey <sellcey@mips.com>
-
- PR regression/55688
- * g++.dg/other/pr55650.C: Add dg-require-profiling.
-
-2012-12-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55684
- * gcc.dg/torture/pr55684.c: New testcase.
-
-2012-12-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55687
- * gcc.dg/torture/pr55687.c: New testcase.
-
-2012-12-13 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/55652
- * g++.dg/cpp0x/noexcept19.C: New test.
-
-2012-12-13 Richard Biener <rguenther@suse.de>
-
- PR lto/55660
- * gcc.dg/lto/pr55660_0.c: New testcase.
- * gcc.dg/lto/pr55660_1.c: Likewise.
-
-2012-12-13 Jakub Jelinek <jakub@redhat.com>
-
- PR gcov-profile/55650
- * g++.dg/other/pr55650.C: New test.
- * g++.dg/other/pr55650.cc: New file.
-
-2012-12-12 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/55665
- * g++.dg/guality/pr55665.C: New test.
-
- * lib/gcc-dg.exp (${tool}_load): Handle non-existing
- set_target_env_var the same as if it is empty list.
- (dg-set-target-env-var): Fix up error message.
- (set-target-env-var): Record both preexisting env var values
- as well as info that env wasn't set.
- (restore-target-env-var): Iterate on reversed list, if second
- sublist element is 1, setenv the env var to the third sublist
- element, otherwise unsetenv it.
- (gcc-dg-runtest): Don't initialize set_target_env_var.
- (dg-test): Unset set_target_env_var if it was set.
-
- * g++.dg/asan/deep-tail-call-1.C: Whitespace fixes. Don't rely
- on argc being one.
- * g++.dg/asan/interception-malloc-test-1.C: Only run on linux.
- Whitespace fixes. Avoid unnecessary * sizeof(char).
- * g++.dg/asan/deep-thread-stack-1.C: Add -lasan -lpthread to
- dg-options. Whitespace fixes.
- * g++.dg/asan/deep-stack-uaf-1.C: Skip for -flto. Whitespace fixes.
- * g++.dg/asan/interception-test-1.C: Whitespace fixes.
- * g++.dg/asan/interception-failure-test-1.C: Whitespace fixes.
- Avoid unnecessary * sizeof(char). Remove // CHECK: comment.
- * g++.dg/asan/default-options-1.C: Whitespace fixes.
- * g++.dg/asan/symbolize-callback-1.C: Whitespace fixes. Make
- first __asan_symbolize argument unnamed. Avoid unnecessary
- * sizeof(char).
- * g++.dg/asan/large-func-test-1.C: Whitespace fixes. Don't rely
- on argc being one. Allow both _Znwj and _Znwm as operator new.
- Ignore everything in the backtrace above operator new. Fix up
- dg-output regexps.
- * c-c++-common/asan/null-deref-1.c: Add -fno-omit-frame-pointer
- and for x86 -mno-omit-leaf-frame-pointer. Fix up dg-output regexps.
- * c-c++-common/asan/clone-test-1.c: Whitespace fixes. Return non-zero
- on failures. Avoid pointless PASS dg-output check. Remove bogus
- dg-shouldfail.
- * c-c++-common/asan/sanity-check-pure-c-1.c: Fix up dg-output regexps.
- Avoid unnecessary * sizeof(char).
- * c-c++-common/asan/heap-overflow-1.c: Fix up dg-output regexps.
- Don't rely on argc being one.
- * c-c++-common/asan/sleep-before-dying-1.c: Whitespace fixes.
- Avoid unnecessary * sizeof(char).
- * c-c++-common/asan/rlimit-mmap-test-1.c: Whitespace fixes.
- * c-c++-common/asan/stack-overflow-1.c: Fix up dg-output regexps.
- * c-c++-common/asan/global-overflow-1.c: Add -fno-builtin-memset.
- Fix up dg-output regexps.
- * c-c++-common/asan/strncpy-overflow-1.c: Fix up dg-output regexps.
- * c-c++-common/asan/memcmp-1.c: Don't rely on argc being one.
- * c-c++-common/asan/use-after-free-1.c: Fix up dg-output regexps.
- * c-c++-common/asan/swapcontext-test-1.c: Don't rely on argc being
- one.
- * c-c++-common/asan/force-inline-opt0-1.c: Remove dg-skip-if.
- * c-c++-common/asan/strip-path-prefix-1.c: Whitespace fixes.
- Avoid unnecessary * sizeof(char).
-
-2012-12-12 Wei Mi <wmi@google.com>
-
- * lib/target-supports.exp (check_effective_target_dlopen,
- check_effective_target_clone, check_effective_target_setrlimit,
- check_effective_target_swapcontext): New procedures.
- * lib/gcc-dg.exp (${tool}_load): Handle dg-set-target-env-var.
- (dg-set-target-env-var, set-target-env-var,
- restore-target-env-var): New procedures.
- (gcc-dg-runtest): Set set_target_env_var.
- * g++.dg/asan/symbolize-callback-1.C: New test.
- * g++.dg/asan/shared-lib-test-1-so.cc: New file.
- * g++.dg/asan/deep-tail-call-1.C: New test.
- * g++.dg/asan/default-options-1.C: New test.
- * g++.dg/asan/interception-test-1.C: New test.
- * g++.dg/asan/dlclose-test-1-so.cc: New file.
- * g++.dg/asan/deep-thread-stack-1.C: New test.
- * g++.dg/asan/interception-malloc-test-1.C: New test.
- * g++.dg/asan/deep-stack-uaf-1.C: New test.
- * g++.dg/asan/large-func-test-1.C: New test.
- * g++.dg/asan/interception-failure-test-1.C: New test.
- * c-c++-common/asan/strip-path-prefix-1.c: New test.
- * c-c++-common/asan/force-inline-opt0-1.c: New test.
- * c-c++-common/asan/swapcontext-test-1.c: New test.
- * c-c++-common/asan/null-deref-1.c: New test.
- * c-c++-common/asan/global-overflow-1.c: New test.
- * c-c++-common/asan/strncpy-overflow-1.c: New test.
- * c-c++-common/asan/rlimit-mmap-test-1.c: New test.
- * c-c++-common/asan/stack-overflow-1.c: New test.
- * c-c++-common/asan/use-after-free-1.c: New test.
- * c-c++-common/asan/sanity-check-pure-c-1.c: New test.
- * c-c++-common/asan/clone-test-1.c: New test.
- * c-c++-common/asan/heap-overflow-1.c: New test.
- * c-c++-common/asan/sleep-before-dying-1.c: New test.
-
-2012-12-12 Steve Ellcey <sellcey@mips.com>
-
- * gcc.dg/pr55150-2.c: Add pic support check.
- * gcc.dg/lto/pr54709_0.c: Ditto.
-
-2012-12-12 Zdenek Dvorak <ook@ucw.cz>
-
- PR tree-optimization/55481
- * gcc.dg/torture/pr55481.c: New testcase.
-
-2012-12-12 Steven Bosscher <steven@gcc.gnu.org>
- Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/52640
- * gcc.c-torture/compile/limits-externdecl.c: New test.
-
-2012-12-12 Jakub Jelinek <jakub@redhat.com>
-
- * gfortran.dg/vect/fast-math-pr38968.f90: Decrease n
- from 2000 to 400.
-
- PR fortran/55633
- * gcc.dg/torture/pr55633.c: New test.
-
-2012-12-11 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/53094
- * g++.dg/cpp0x/constexpr-53094-1.C: New testcase.
- * g++.dg/cpp0x/constexpr-53094-2.C: Likewise.
- * g++.dg/cpp0x/constexpr-53094-3.C: Likewise.
-
-2012-12-11 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/55643
- * g++.dg/warn/Wunused-var-19.C: New test.
-
- * g++.dg/asan/asan_test.C: Link -lasan before -lpthread.
-
-2012-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/pr54121.c: New test.
-
-2012-12-11 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/55619
- * g++.dg/ext/asm12.C: New test.
-
- PR tree-optimization/54570
- * gcc.dg/builtin-object-size-8.c: Xfail.
- * gcc.dg/builtin-object-size-13.c: New test.
-
-2012-12-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/55642
- * gcc.target/arm/pr55642.c: New testcase.
-
-2012-12-11 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/43631
- PR bootstrap/55615
- * g++.dg/other/pr43631.C: New test.
-
-2012-12-11 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55079
- * gcc.dg/Warray-bounds-9.c: New testcase.
- * gcc.dg/Warray-bounds-10.c: Likewise.
- * gcc.dg/tree-ssa/ssa-pre-1.c: Adjust.
-
-2012-12-10 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/52909
- * gfortran.dg/proc_ptr_39.f90: New test case.
-
-2012-12-10 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/octeon-bbit-2.c: Restructure loops so that no
- code duplication is required. Allow BNE to appear.
-
-2012-12-10 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/ext-2.c: Require -mlong64.
-
-2012-12-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55107
- * gcc.dg/torture/pr55107.c: New testcase.
- * gcc.dg/tree-ssa/ssa-pre-5.c: Adjust.
-
-2012-12-10 Jakub Jelinek <jakub@redhat.com>
-
- * g++.dg/asan/asan_test.cc: Sync from upstream.
- * g++.dg/asan/asan_test_utils.h: Likewise.
-
-2012-12-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * gcc.target/arm/neon/vrndaf32.c: New test.
- * gcc.target/arm/neon/vrndqaf32.c: Likewise.
- * gcc.target/arm/neon/vrndf32.c: Likewise.
- * gcc.target/arm/neon/vrndqf32.c: Likewise.
- * gcc.target/arm/neon/vrndmf32.c: Likewise.
- * gcc.target/arm/neon/vrndqmf32.c: Likewise.
- * gcc.target/arm/neon/vrndnf32.c: Likewise.
- * gcc.target/arm/neon/vrndqnf32.c: Likewise.
- * gcc.target/arm/neon/vrndpf32.c: Likewise.
- * gcc.target/arm/neon/vrndqpf32.c: Likewise.
-
-2012-12-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * gcc.misc-tests/gcov-12.c: Fix dg order.
-
- PR middle-end/54470
- * gcc.dg/ipa/iinline-4.c: xfail hooray4 test on 32-bit hppa*-*-*.
-
- * gcc.dg/torture/pr47917.c: Change "dg-xfail-if" to "dg-xfail-run-if"
- for *-*-hpux10*.
-
- * gcc.dg/20030711-1.c: Define MAP_FAILED if not defined.
- * gcc.dg/20050826-1.c: Likewise.
-
-2012-12-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/vect9.adb: Add -w to dg-options.
- * gnat.dg/vect10.adb: Likewise.
-
-2012-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/55593
- * gfortran.dg/do_check_8.f90: New test.
-
-2012-12-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/vect10.ad[sb]: New test.
-
-2012-12-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/vect9.ad[sb]: New test.
- * gnat.dg/vect9_pkg.ads: New helper.
-
-2012-12-07 Mike Stump <mikestump@comcast.net>
-
- * gnat.dg/discr38.adb: Don't use ^M line endings.
- gnat.dg/loop_optimization13.adb: Likewise.
- gnat.dg/loop_optimization13.ads: Likewise.
- gnat.dg/discr36_pkg.adb: Likewise.
- gnat.dg/discr36_pkg.ads: Likewise.
- gnat.dg/loop_optimization11_pkg.ads: Likewise.
- gnat.dg/discr36.ads: Likewise.
- gnat.dg/loop_optimization11.adb: Likewise.
-
-2012-12-07 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55141
- * gcc.target/i386/pr55141.c: New.
-
-2012-12-07 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/54401
- * g++.dg/cpp0x/alias-decl-28.C: New test.
- * g++.dg/cpp0x/alias-decl-16.C: Update.
-
-2012-12-07 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/55590
- * gcc.target/i386/pr55590-1.c: New test.
- * gcc.target/i386/pr55590-2.c: Likewise.
-
-2012-12-07 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54975
- * g++.dg/cpp0x/lambda/lambda-typedef.C: New.
-
-2012-12-06 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/55597
- * gcc.target/i386/pr55597.c: New test.
-
-2012-12-06 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/54207
- * g++.dg/cpp0x/noexcept18.C: New test.
-
- PR c++/55573
- * g++.dg/cpp0x/constexpr-55573.C: New test.
-
- PR c++/55137
- * g++.dg/opt/pr55137.C: New test.
- * gcc.c-torture/execute/pr55137.c: New test.
-
-2012-12-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * lib/target-supports.exp (check_effective_target_arm_v8_neon_ok):
- New procedure.
- (add_options_for_arm_v8_neon): Likewise.
-
-2012-12-05 Steven Bosscher <steven@gcc.gnu.org>
-
- * g++.dg/pr55604.C: New test.
-
-2012-12-05 James Greenhalgh <james.greenhalgh@arm.com>
-
- * lib/target-supports.exp
- (check_effective_target_vect_perm): Allow aarch64*-*-*.
- (check_effective_target_vect_perm_byte): Likewise.
- (check_effective_target_vect_perm_short): Likewise.
- (check_effective_target_vect_char_mult): Likewise.
- (check_effective_target_vect_extract_even_odd): Likewise.
- (check_effective_target_vect_interleave): Likewise.
-
-2012-12-05 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * g++.dg/abi/mangle-neon-aarch64.C: New test.
-
-2012-12-05 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * g++.dg/abi/arm_va_list.C: Also test on aarch64*-*-*.
-
-2012-12-05 James Greenhalgh <james.greenhalgh@arm.com>
-
- * gcc.dg/vect/vect-rounding-btrunc.c: New test.
- * gcc.dg/vect/vect-rounding-btruncf.c: Likewise.
- * gcc.dg/vect/vect-rounding-ceil.c: Likewise.
- * gcc.dg/vect/vect-rounding-ceilf.c: Likewise.
- * gcc.dg/vect/vect-rounding-floor.c: Likewise.
- * gcc.dg/vect/vect-rounding-floorf.c: Likewise.
- * gcc.dg/vect/vect-rounding-lceil.c: Likewise.
- * gcc.dg/vect/vect-rounding-lfloor.c: Likewise.
- * gcc.dg/vect/vect-rounding-nearbyint.c: Likewise.
- * gcc.dg/vect/vect-rounding-nearbyintf.c: Likewise.
- * gcc.dg/vect/vect-rounding-round.c: Likewise.
- * gcc.dg/vect/vect-rounding-roundf.c: Likewise.
- * target-supports.exp
- (check_effective_target_vect_call_btrunc): New.
- (check_effective_target_vect_call_btruncf): Likewise.
- (check_effective_target_vect_call_ceil): Likewise.
- (check_effective_target_vect_call_ceilf): Likewise.
- (check_effective_target_vect_call_floor): Likewise.
- (check_effective_target_vect_call_floorf): Likewise.
- (check_effective_target_vect_call_lceil): Likewise.
- (check_effective_target_vect_call_lfloor): Likewise.
- (check_effective_target_vect_call_nearbyint): Likewise.
- (check_effective_target_vect_call_nearbyintf): Likewise.
- (check_effective_target_vect_call_round): Likewise.
- (check_effective_target_vect_call_roundf): Likewise.
-
-2012-12-05 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/51238
- * gcc.dg/torture/pr51238.c: New testcase.
-
-2012-12-05 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/50222
- * gcc.dg/torture/pr50222.c: New testcase.
-
-2012-12-05 Richard Biener <rguenther@suse.de>
-
- PR lto/55525
- * gcc.dg/lto/pr55525_0.c: New testcase.
- * gcc.dg/lto/pr55525_1.c: Likewise.
-
-2012-12-04 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/quad_3.f90: Really fix an if condition.
-
-2012-12-04 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/quad_3.f90: Fix a condition,
- which wrongly required ordered/lazy evaluation.
-
-2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
-
- * gcc.target/aarch64/121127.c: New test.
-
-2012-12-04 Jakub Jelinek <jakub@redhat.com>
-
- PR testsuite/55587
- * lib/asan-dg.exp (asan_init): Return 1 if libasan has been found,
- 0 if not.
- * g++.dg/asan/asan.exp: Don't run gcc-dg-runtest if [asan_init]
- returned 0.
- * gcc.dg/asan/asan.exp: Likewise.
-
-2012-12-04 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55124
- * gcc.dg/torture/pr55124.c: New testcase.
-
-2012-12-03 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/quad_3.f90: New.
-
-2012-12-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54170
- * g++.dg/cpp0x/lambda/lambda-nullptr.C: New.
-
-2012-12-03 Jakub Jelinek <jakub@redhat.com>
-
- PR testsuite/55452
- * gfortran.dg/reassoc_4.f: Use --param max-completely-peeled-insns=400
- on all targets, not just s390*.
-
-2012-12-03 Marek Polacek <polacek@redhat.com>
-
- PR c/55570
- * gcc.dg/pr55570.c: New test.
-
-2012-12-03 Jakub Jelinek <jakub@redhat.com>
-
- * lib/asan-dg.exp (asan_get_gtest_test_list,
- asan_get_gtest_expect_death_list, asan-gtest): New procedures.
- (proc ${tool}_load): Remember [asan_get_gtest_test_list "$output"]
- and [asan_get_gtest_expect_death_list "$output"] in global vars.
- (asan_symbolize): Sanitize [] characters from key.
- * g++.dg/asan/asan_test_config.h: New file.
- * g++.dg/asan/asan_globals_test.cc: New file.
- * g++.dg/asan/asan_test_utils.h: New file.
- * g++.dg/asan/dejagnu-gtest.h: New file.
- * g++.dg/asan/asan_test.cc: New file.
- * g++.dg/asan/asan_test.C: New test.
-
-2012-12-03 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/torture/pr35634.c: Use signed char.
- * g++.dg/torture/pr35634.C: Likewise.
-
-2012-12-02 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/54838
- * gcc.dg/pr54838.c: New test.
-
-2012-12-01 Xinliang David Li <davidxl@google.com>
-
- * gcc.target/i386/ifcvt-onecmpl-abs-1.c: Check for
- cltd.
-
-2012-12-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/55558
- * g++.dg/cpp0x/decltype46.C: New.
-
-2012-12-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR middle-end/52450
- * gcc.dg/torture/pr52402.c: Remove xfail for hppa*-*-hpux*.
-
-2012-12-01 Zdenek Sojka <zsojka@seznam.cz>
-
- PR debug/53860
- * g++.dg/debug/pr53860.C: New test.
-
-2012-12-01 Alessandro Fanfarillo <alessandro.fanfarillo@gmail.com>
- Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/46897
- * gfortran.dg/defined_assignment_1.f90: New test.
- * gfortran.dg/defined_assignment_2.f90: New test.
- * gfortran.dg/defined_assignment_3.f90: New test.
- * gfortran.dg/defined_assignment_4.f90: New test.
- * gfortran.dg/defined_assignment_5.f90: New test.
-
-2012-12-01 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/55542
- * g++.dg/cpp0x/vt-55542.C: New test.
-
-2012-11-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/pack9.ads: New test.
-
-2012-11-30 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/52890
- PR tree-optimization/55415
- PR tree-optimization/54386
- PR target/55448
- * gcc.dg/ipa/ipa-sra-7.c: New test.
- * gcc.dg/ipa/ipa-sra-8.c: Likewise.
- * gcc.dg/ipa/ipa-sra-9.c: Likewise.
- * gcc.target/i386/pr55448.c: Likewise.
-
-2012-11-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * loop_optimization14.ad[sb]: New test.
- * loop_optimization14_pkg.ads: New helper.
-
-2012-11-29 Richard Earnshaw <rearnsha@arm.com>
-
- PR target/55073
- * gcc.target/arm/pr55073.C: New test.
-
-2012-11-29 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/53094
- * g++.dg/ext/vector20.C: New testcase.
-
-2012-11-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52161
- * coarray/sync_3.f90: Extend test.
-
-2012-11-29 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/55512
- * gcc.target/i386/pr55512-2.c: Remove unnecessary define.
- * gcc.target/i386/pr55512-4.c: Likewise.
-
-2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- PR c++/52654
- * g++.dg/cpp0x/udlit-overflow.C: New.
- * g++.dg/cpp0x/udlit-overflow-neg.C: New.
-
-2012-11-28 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/36728
- PR debug/55467
- PR middle-end/55507
- PR bootstrap/55511
- * gcc.dg/guality/pr36728-1.c: Include "../nop.h", make sure the asm
- are non-empty and add dependency between the first and second asm.
- * gcc.dg/guality/pr36728-2.c: Likewise.
- * gcc.dg/guality/pr36728-3.c: New test.
- * gcc.dg/guality/pr36728-4.c: New test.
-
-2012-11-28 Andrew Pinski <apinski@cavium.com>
-
- PR bootstrap/54279
- * lib/g++.exp (g++_init): Search for xg++ instead of g++ in the build
- directories.
- * lib/obj-c++.exp (obj-c++_init): Likewise.
-
-2012-11-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52161
- * coarray/sync_3.f90: New.
-
-2012-11-28 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/pr55458.c: Require ia32 target instead of ilp32.
-
-2012-11-28 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55512
- * gcc.target/i386/pr55512-[1234].c: New tests.
-
-2012-11-28 Jakub Jelinek <jakub@redhat.com>
-
- PR testsuite/55505
- * gcc.c-torture/execute/921202-1.c: Increase size of dx and dy arrays.
-
- PR testsuite/55504
- * gcc.c-torture/execute/20071018-1.c (foo): Add noinline/noclone
- attributes. Avoid clobbering memory before malloced chunk.
- (main): Pass 1 instead of 0 as argument.
-
-2012-11-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/object_overflow.adb: Rename to...
- * gnat.dg/object_overflow1.adb: ...this.
- * gnat.dg/object_overflow2.adb: New test.
- * gnat.dg/object_overflow3.adb: Likewise.
- * gnat.dg/object_overflow4.adb: Likewise.
-
-2012-11-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/55497
- * g++.dg/init/pr55497.C: New.
-
-2012-11-28 Richard Biener <rguenther@suse.de>
-
- PR testsuite/55327
- * gcc.dg/vect/slp-perm-8.c: Mark worker as noinline.
- * gcc.dg/vect/slp-perm-9.c: Likewise.
-
-2012-11-28 Richard Biener <rguenther@suse.de>
-
- PR c/35634
- * gcc.dg/torture/pr35634.c: New testcase.
- * g++.dg/torture/pr35634.C: Likewise.
- * gcc.dg/vect/pr18536.c: Mark worker function noinline.
-
-2012-11-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/55476
- * gfortran.dg/warn_target_lifetime_3.f90: New.
-
-2012-11-27 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55458
- * gcc.target/i386/pr55458.c: New test.
-
-2012-11-27 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/55110
- * gcc.dg/pr55110.c: New test.
-
-2012-11-27 Richard Biener <rguenther@suse.de>
-
- PR middle-end/55331
- * g++.dg/opt/pr55331.C: New testcase.
-
-2012-11-26 Steven Bosscher <steven@gcc.gnu.org>
-
- * gcc.dg/20050811-2.c: Change -dv option to -graph option.
-
-2012-11-26 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.dg/54455.c: Require scheduling.
- * gcc.dg/c1x-align-4.c: Skip avr.
- * gcc.dg/pr44024.c: Skip avr in final scan.
-
-2012-11-26 Georg-Johann Lay <avr@gjlay.de>
-
- PR testsuite/52641
- * gcc.c-torture/execute/20120919-1.x: New file (int32plus).
- * gcc.dg/pr54676.c: Make work for 16-bit int.
-
-2012-11-26 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/55277
- * gcc.target/i386/pr55227.c: New test.
-
-2012-11-26 Steven Bosscher <steven@gcc.gnu.org>
-
- * testsuite/gcc.dg/20050811-1.c: Change -dv option to -graph option
- to -fdump-rtl-all.
- * testsuite/gcc.dg/pr37858.c: Remove -dv option.
-
-2012-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * lib/target-supports.exp (check_effective_target_arm_v8_vfp_ok):
- New procedure.
- (add_options_for_arm_v8_vfp): New procedure.
- * gcc.target/arm/vrintaf32.c: New test.
- * gcc.target/arm/vrintaf64.c: Likewise.
- * gcc.target/arm/vrintmf32.c: Likewise.
- * gcc.target/arm/vrintmf64.c: Likewise.
- * gcc.target/arm/vrintpf32.c: Likewise.
- * gcc.target/arm/vrintpf64.c: Likewise.
- * gcc.target/arm/vrintrf32.c: Likewise.
- * gcc.target/arm/vrintrf64.c: Likewise.
- * gcc.target/arm/vrintxf32.c: Likewise.
- * gcc.target/arm/vrintxf64.c: Likewise.
- * gcc.target/arm/vrintzf32.c: Likewise.
- * gcc.target/arm/vrintzf64.c: Likewise.
-
-2012-11-26 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54997
- * gfortran.dg/warn_unused_function_2.f90: New.
-
-2012-11-26 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54881
- * gfortran.dg/associated_6.f90: New.
- * gfortran.dg/select_type_30.f03: New.
-
-2012-11-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/54471
- * gcc.dg/tree-ssa/vrp86.c: New test.
- * gcc.c-torture/execute/pr54471.c: New test.
-
-2012-11-26 Hans-Peter Nilsson <hp@bitrange.com>
-
- PR middle-end/55030
- * gcc.dg/guality/pr36728-1.c, gcc.dg/guality/pr36728-2.c (foo): Don't
- use volatile asms, use plain asms. Where the output value for the
- asm is unused, write a global variable.
-
-2012-11-25 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/sw-1.c (dg-options): Add -mtune=generic.
-
-2012-11-25 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/30146
- * gfortran.dg/do_check_7.f90: New test.
-
-2012-11-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/55446
- * g++.dg/init/new41.C: New.
-
-2012-11-24 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/55314
- * gfortran.dg/allocate_error_4.f90: New test.
-
-2012-11-24 Hans-Peter Nilsson <hp@bitrange.com>
-
- * lib/gcc-gdb-test.exp (gdb-test): Pass -- as first argument
- to send_log.
-
-2012-11-23 Jakub Jelinek <jakub@redhat.com>
-
- * lib/asan-dg.exp (asan_symbolize): Remove all "BFD: " prefixed lines
- from the output.
-
- PR c++/54046
- * g++.dg/warn/Wreturn-type-8.C: New test.
-
- PR middle-end/55430
- * gcc.dg/pr55430.c: New test.
-
-2012-11-23 Kostya Serebryany <kcc@google.com>
-
- * c-c++-common/asan/memcmp-1.c: Update to match the new libsanitizer.
-
-2012-11-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr40.ad[sb]: New test.
-
-2012-11-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr39.adb: New test.
-
-2012-11-23 Georg-Johann Lay <avr@gjlay.de>
-
- PR testsuite/52641
- * gcc.dg/unroll_5.c: Add dg-require-effective-target int32plus.
- * gcc.dg/pr55150-1.c: Same.
- * gcc.dg/torture/pr54894.c: Add size32plus.
-
-2012-11-23 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/55435
- * c-c++-common/asan/attrib-1.c: New test.
-
-2012-11-22 Ian Bolton <ian.bolton@arm.com>
-
- * gcc.target/aarch64/builtin-bswap-1.c: New test.
- * gcc.target/aarch64/builtin-bswap-2.c: New test.
-
-2012-11-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/55432
- * g++.dg/cpp0x/constexpr-55432.C: New.
-
-2012-11-21 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/55352
- * gfortran.dg/namelist_76.f90: New.
-
-2012-11-21 Martin Jambor <mjambor@suse.cz>
-
- * gcc.dg/ipa/ipcp-agg-7.c: New test.
- * gcc.dg/ipa/ipcp-agg-8.c: Likewise.
-
-2012-11-21 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/55260
- * g++.dg/torture/pr55260-2.C: New test.
-
-2012-11-21 Martin Jambor <mjambor@suse.cz>
-
- * gcc.dg/torture/pr55238.c: Remove hidden attribute.
-
-2012-11-21 Bin Cheng <bin.cheng@arm.com>
-
- * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Skip on ARM Cortex-M0.
- * gcc.dg/tree-ssa/vrp47.c: Ditto.
-
-2012-11-20 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/19398
- * gcc.target/i386/pr19398.c: New test.
-
-2012-11-20 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/55260
- * g++.dg/torture/pr55260-1.C: New test.
-
-2012-11-20 Sofiane Naci <sofiane.naci@arm.com>
-
- * gcc.target/aarch64/atomic-comp-swap-release-acquire.c: New testcase.
- * gcc.target/aarch64/atomic-op-acq_rel.c: Likewise.
- * gcc.target/aarch64/atomic-op-acquire.c: Likewise.
- * gcc.target/aarch64/atomic-op-char.c: Likewise.
- * gcc.target/aarch64/atomic-op-consume.c: Likewise.
- * gcc.target/aarch64/atomic-op-imm.c: Likewise.
- * gcc.target/aarch64/atomic-op-int.c: Likewise.
- * gcc.target/aarch64/atomic-op-long.c: Likewise.
- * gcc.target/aarch64/atomic-op-relaxed.c: Likewise.
- * gcc.target/aarch64/atomic-op-release.c: Likewise.
- * gcc.target/aarch64/atomic-op-seq_cst.c: Likewise.
- * gcc.target/aarch64/atomic-op-short.c: Likewise.
-
-2012-11-20 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/55094
- * gcc.dg/pr55094.c: New test.
-
- PR rtl-optimization/54921
- * gcc.dg/pr54921.c: New test.
-
-2012-11-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/i386/pr55359.c: New test.
-
-2012-11-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * g++.dg/tls/thread_local-order1.C: Add dg-require-cxa-atexit.
- * g++.dg/tls/thread_local3g.C: Likewise.
- * g++.dg/tls/thread_local4g.C: Likewise.
- * g++.dg/tls/thread_local5g.C: Likewise.
- * g++.dg/tls/thread_local6g.C: Likewise.
- * g++.dg/tls/thread_local-cse.C: XFAIL on Solaris 9.
- * g++.dg/tls/thread_local2.C: Likewise.
- * g++.dg/tls/thread_local2g.C: Likewise.
- * g++.dg/tls/thread_local6.C: Likewise.
-
-2012-11-19 Aldy Hernandez <aldyh@redhat.com>
-
- * g++.dg/tm/pr51516.C: Adjust for uninstrumented code path.
- * gcc.dg/tm/clone-1.c: New test.
-
-2012-11-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/55368
- * g++.dg/parse/struct-5.C: New.
-
-2012-11-19 Tom de Vries <tom@codesourcery.com>
-
- PR rtl-optimization/55315
- * gcc.target/mips/pr55315.c: New test.
-
-2012-11-17 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/55236
- * gcc.dg/pr55236.c: New test.
-
- PR testsuite/55188
- * gcc.dg/pr19105.c: Accept also optimizing
- -[2, 2] and -[3, 3] and -[4, 4] range tests together.
-
- * lib/asan-dg.exp (asan_symbolize): Prune BFD: prefixed error messages
- from addr2line_output. Increment idx if asking for more than one
- address in one object.
-
-2012-11-16 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/55329
- * g++.dg/opt/pr55329.C: New test.
-
-2012-11-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/55297
- * gfortran.dg/typebound_operator_18.f90: New.
-
-2012-11-16 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55330
- * gfortran.dg/pr55330.f90: New test.
-
-2012-11-16 Uros Bizjak <ubizjak@gmail.com>
-
- * lib/gcc-dg.exp (cleanup-saved-temps): Add .mii to suffixes.
- * gcc.dg/hoist-register-pressure-1.c: Cleanup hoist rtl dump.
- * gcc.dg/hoist-register-pressure-2.c: Ditto.
- * gcc.dg/hoist-register-pressure-3.c: Ditto.
- * gcc.dg/tree-prof/peel-1.c: Cleanup loop2_unroll rtl dump.
- * gcc.dg/tree-prof/unroll-1.c: Ditto.
-
-2012-11-16 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/54875
- * g++.dg/cpp0x/alias-decl-27.C: New test.
-
-2012-11-16 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/55337
- * g++.dg/template/alignof2.C: New test.
-
-2012-11-16 Uros Bizjak <ubizjak@gmail.com>
-
- * g++.dg/mv1.C (dg-options): Add -march=x86-64.
- * g++.dg/mv6.C (dg-options): Ditto.
-
-2012-11-16 Uros Bizjak <ubizjak@gmail.com>
-
- * lib/target_suports.exp
- (check_effective_target_has_w_floating_suffix): New procedure.
- (check_effective_target_has_q_floating_suffix): Ditto.
- * g++.dg/cpp0x/gnu_fext-numeric-literals.C: Add dg-error directive
- for unsupported non-standard suffix on floating constant.
- * g++.dg/cpp0x/std_fext-numeric-literals.C: Ditto.
-
-2012-11-14 Jakub Jelinek <jakub@redhat.com>
-
- * lib/asan-dg.exp: New file.
- * gcc.dg/asan/asan.exp: New file.
- * g++.dg/dg.exp: Prune also asan tests.
- * g++.dg/asan/asan.exp: New file.
- * c-c++-common/asan/memcmp-1.c: New test.
-
-2012-11-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/55323
- * g++.dg/cpp0x/vt-55323.C: New.
-
-2012-11-13 Sriraman Tallam <tmsriram@google.com>
-
- * g++.dg/mv4.C: Add require ifunc. Change error message.
- * g++.dg/mv5.C: Add require ifunc.
- * g++.dg/mv6.C: Add require ifunc.
-
-2012-11-13 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/55253
- * gcc.dg/torture/pr55253.c: New test.
- * gcc.dg/torture/pr55305.c: Likewise.
-
-2012-11-13 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/55142
- * gcc.target/i386/pr55142-1.c: New file.
- * gcc.target/i386/pr55142-2.c: Likewise.
-
-2012-11-13 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/54466
- * g++.dg/cpp0x/alias-decl-26.C: New test file.
-
-2012-11-13 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/avx256-unaligned-load-2.c: Requre !ia32
- instead of lp64.
- * gcc.target/i386/avx256-unaligned-store-2.c: Likewise.
- * gcc.target/i386/pr49715-2.c: Likewise.
- * gcc.target/i386/retarg.c: Likewise. Scan both %rdi and %edi.
-
-2012-11-13 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/55281
- * gcc.dg/vect/fast-math-pr55281.c: New test.
- * g++.dg/opt/pr55281.C: New test.
-
- PR rtl-optimization/54127
- * gcc.dg/torture/pr54127.c: New test.
-
-2012-11-12 Steven Bosscher <steven@gcc.gnu.org>
- Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/51447
- * gcc.c-torture/execute/pr51447.c: New test.
-
-2012-11-12 Ian Bolton <ian.bolton@arm.com>
-
- * gcc.target/aarch64/csinc-2.c: New test.
-
-2012-11-12 Ian Bolton <ian.bolton@arm.com>
-
- * gcc.target/aarch64/cmn.c: New test.
- * gcc.target/aarch64/adds.c: New test.
- * gcc.target/aarch64/subs.c: New test.
-
-2012-11-12 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/55272
- * gfortran.dg/coarray_29_1.f90: New.
- * gfortran.dg/coarray_29_2.f90: New.
-
-2012-11-12 Bin Cheng <bin.cheng@arm.com>
-
- * gcc.dg/hoist-register-pressure-3.c: New test.
-
-2012-11-11 Oleg Endo <olegendo@gcc.gnu.org>
-
- * gcc.target/sh/sh4a-fprun.c: Add test_sinf and test_cosf noinline
- wrappers around sinf and cosf.
-
-2012-11-11 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/55247
- PR middle-end/55259
- * gcc.target/i386/pr55247-2.c: New file.
-
-2012-11-11 Steven Bosscher <steven@gcc.gnu.org>
-
- PR middle-end/55263
- * g++.dg/pr55263.C: New test.
-
-2012-11-11 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/55238
- * testsuite/gcc.dg/torture/pr55238.c: New test.
-
-2012-11-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * gcc.dg/torture/pr54920.c: Add "-fno-common" option on hppa*-*-hpux*.
- * c-c++-common/torture/vector-subscript-1.c: Likewise.
- * c-c++-common/torture/vector-subscript-2.c: Likewise.
-
-2012-11-10 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/tree-ssa/cunroll-1.c: Fix bogus testcase.
-
-2012-11-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/pr55247.c: Require maybe_x32 target. Add
- -mno-sse -mno-mmx to dg-options. Reformat.
-
-2012-11-10 David Edelsohn <dje.gcc@gmail.com>
-
- * c-c++-common/scal-to-vec2.c: Ignore non-standard ABI message.
- * c-c++-common/vector-compare-1.c: Same.
- * c-c++-common/vector-compare-2.c: Same.
- * g++.dg/other/unused1.C: Skip on AIX.
- * g++.dg/other/anon5.C: Allow Undefined to be capitalized. Ignore
- extra message on AIX.
-
-2012-11-10 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/55247
- * gcc.target/i386/pr55247.c: New test.
-
-2012-11-09 Andrew Pinski <apinski@cavium.com>
-
- * gcc.c-torture/execute/20121108-1.c: New test.
-
-2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- PR c++/54413
- * g++.dg/cpp0x/gnu_fext-numeric-literals.C: New.
- * g++.dg/cpp0x/std_fext-numeric-literals.C: New.
- * g++.dg/cpp0x/gnu_fno-ext-numeric-literals.C: New.
- * g++.dg/cpp0x/std_fno-ext-numeric-literals.C: New.
-
-2012-11-09 Siddhesh Poyarekar <siddhesh@redhat.com>
-
- * gcc.dg/Warray-bounds-3.c (bar): Keep array access within
- bounds for ABDAY, DAY, ABMON, MON, AM_PM.
- * gcc.dg/vect/pr22506.c (foo): Reduce loop iterations to within
- array bounds.
- * gcc.dg/vect/pr34005.c (XdmcpUnwrap): Likewise.
-
-2012-11-09 Aldy Hernandez <aldyh@redhat.com>
-
- * g++.dg/tm/pr47530-2.C: Adjust for uninstrumented code path.
- * g++.dg/tm/pr47530.C: Same.
-
-2012-11-09 Jason Merrill <jason@redhat.com>
-
- PR c++/54859
- * g++.dg/cpp0x/alias-decl-25.C: New.
-
- * g++.dg/abi/abi-tag1.C: New.
- * g++.dg/abi/abi-tag2.C: New.
-
-2012-11-09 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55154
- * gcc.target/i386/pr55154.c: New test.
-
-2012-11-09 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55151
- * gcc.dg/pr55151.c: Move ...
- * gcc.target/i386/pr55151.c: ... here.
-
-2012-11-09 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/54472
- * gcc.dg/pr54472.c: New test.
-
-2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/stack_check3.ad[sb]: New test.
-
-2012-11-08 Ian Lance Taylor <iant@google.com>
-
- * go.test/go-test.exp (go-gc-tests): Handle runoutput test type
- with arguments. Handle errorcheckoutput and rundir test types.
-
-2012-11-08 Steven Bosscher <steven@gcc.gnu.org>
-
- PR tree-optimization/55191
- * gcc.dg/pr55191.c: New test.
-
-2012-11-08 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/54499
- * g++.dg/debug/pr54499.C: New test.
-
-2012-11-08 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/48636
- * gcc.dg/winline-3.c: Update.
-
-2012-11-08 Martin Jambor <mjambor@suse.cz>
-
- * gfortran.dg/ipcp-array-1.f90: New test.
-
-2012-11-08 Florian Weimer <fweimer@redhat.com>
-
- * g++.old-deja/g++.abi/cxa_vec.C: Fix typo in comment.
-
-2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55151
- * gcc.dg/pr55151.c: Use ia32 instead of x86_64.
-
-2012-11-07 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/tree-ssa/cunroll-1.c: Scan cunrolli dump.
-
-2012-11-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.c-torture/compile/20121107-1.c: New test.
-
-2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55151
- * gcc.dg/pr55151.c: Compile it only for x86_64.
-
-2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55122
- * gcc.dg/pr55122.c: New test.
-
-2012-11-07 David Edelsohn <dje.gcc@gmail.com>
-
- * gcc.target/powerpc/pr46728-[1234578].c: Tighten regex to ignore
- word powerpc.
- * gcc.target/powerpc/vsx-mass-1.c: Escape [ and ] in regex.
- * gcc.target/powerpc/loop_align.c: Skip on AIX.
- * gcc.target/powerpc/ppc-pow.c: Allow dot symbols in branch.
- * gcc.target/powerpc/tfmode_off.c: Skip on AIX.
-
-2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/53063
- * gcc.dg/warn-nsstring.c: Use -Wformat explicitly.
-
-2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/51294
- * c-c++-common/pr51294.c: New.
-
-2012-11-07 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/53787
- * gcc.dg/ipa/ipa-5.c: Adjust.
- * gcc.dg/ipa/ipcp-agg-1.c: New test.
- * gcc.dg/ipa/ipcp-agg-2.c: Likewise.
- * gcc.dg/ipa/ipcp-agg-3.c: Likewise.
- * gcc.dg/ipa/ipcp-agg-4.c: Likewise.
- * gcc.dg/ipa/ipcp-agg-5.c: Likewise.
- * gcc.dg/ipa/ipcp-agg-6.c: Likewise.
- * gfortran.dg/pr48636.f90: Add -fno-ipa-cp.
- * gfortran.dg/pr48636-2.f90: New test.
- * gfortran.dg/pr53787.f90: Likewise.
-
-2012-11-07 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/55226
- Revert:
- 2012-10-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54922
- * g++.dg/cpp0x/constexpr-union4.C: New.
-
-2012-11-07 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * gcc.target/aarch64/dwarf-cfa-reg.c: New test.
-
-2012-11-07 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/49220
- * gcc.c-torture/compile/pr49220.c: New test.
-
-2012-11-07 Florian Weimer <fweimer@redhat.com>
-
- * g++.dg/init/new40.C: New.
-
-2012-11-07 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/54693
- * gcc.dg/guality/pr54693-2.c: New test.
-
-2012-11-06 Andrew Pinski <apinski@cavium.com>
-
- * gcc.target/aarch64/vect-fmaxv-fminv-compile.c: Add
- -fno-vect-cost-model.
-
-2012-11-06 Aldy Hernandez <aldyh@redhat.com>
-
- * c-c++-common/tm/trxn-expr-3.c: Adjust for uninstrumented code path.
- * gcc.dg/tm/debug-1.c: Same.
- * gcc.dg/tm/irrevocable-3.c: Same.
- * gcc.dg/tm/irrevocable-4.c: Same.
- * gcc.dg/tm/memopt-10.c: Same.
- * gcc.dg/tm/memopt-11.c: Same.
- * gcc.dg/tm/props-4.c: Same.
- * gcc.dg/tm/wrap-3.c: Same.
- * gcc.dg/tm/wrap-4.c: Same.
-
-2012-11-06 Andrew Pinski <apinski@cavium.com>
-
- * g++.dg/abi/aarch64_guard1.C: Add -fno-section-anchors.
-
-2012-11-06 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/tree-ssa/loop-1.c: Make to look like a good unroling
- candidate still.
- * gcc.dg/tree-ssa/loop-23.c: Likewise.
- * gcc.dg/tree-ssa/cunroll-1.c: Unrolling now happens early.
- * gcc.dg/tree-prof/unroll-1.c: Remove confused dg-options.
-
-2012-11-06 David Edelsohn <dje.gcc@gmail.com>
-
- * const-uniq-1.c: Expand regex to match AIX XCOFF labels.
-
-2012-11-06 Uros Bizjak <ubizjak@gmail.com>
-
- PR middle-end/41993
- * gcc.dg/torture/pr41993.c: New test.
-
-2012-11-06 Jan Hubicka <jh@suse.cz>
-
- * gcc.target/i386/l_fma_float_?.c: Update.
- * gcc.target/i386/l_fma_double_?.c: Update.
-
-2012-11-06 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * gcc.target/sh/pr54089-8.c: New.
- * gcc.target/sh/pr54089-9.c: New.
-
-2012-11-06 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
-
- PR target/47440
- * gcc.target/i386/avx-vzeroupper-5.c: Changed scan-assembler-times.
- * gcc.target/i386/avx-vzeroupper-8.c: Likewise.
- * gcc.target/i386/avx-vzeroupper-9.c: Likewise.
- * gcc.target/i386/avx-vzeroupper-10.c: Likewise.
- * gcc.target/i386/avx-vzeroupper-11.c: Likewise.
- * gcc.target/i386/avx-vzeroupper-12.c: Likewise.
- * gcc.target/i386/avx-vzeroupper-19.c: Likewis.
- * gcc.target/i386/avx-vzeroupper-27.c: New.
-
-2012-11-06 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54917
- * gfortran.dg/transfer_class_1.f90: New.
- * gfortran.dg/transfer_class_2.f90: New.
-
-2012-11-05 Sriraman Tallam <tmsriram@google.com>
-
- * testsuite/g++.dg/mv1.C: New test.
- * testsuite/g++.dg/mv2.C: New test.
- * testsuite/g++.dg/mv3.C: New test.
- * testsuite/g++.dg/mv4.C: New test.
- * testsuite/g++.dg/mv5.C: New test.
- * testsuite/g++.dg/mv6.C: New test.
-
-2012-11-05 Hans-Peter Nilsson <hp@axis.com>
-
- PR testsuite/55186
- * gcc.dg/const-uniq-1.c (a): Increase length four times.
-
-2012-11-05 Jack Howarth <howarth@bromo.med.uc.edu>
-
- * gcc.dg/torture/pr53922.c: Use -Wl,-undefined,dynamic_lookup on
- darwin.
-
-2012-11-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * g++.dg/torture/20121105-1.C: New test.
-
-2012-11-05 Andreas Schwab <schwab@linux-m68k.org>
-
- * gcc.dg/torture/fp-compare.c: New testcase.
-
-2012-11-05 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/const-1.c: Update.
- * gcc.dg/pure-1.c: Update.
-
-2012-11-05 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55151
- * gcc.dg/pr55151.c: New test.
-
-2012-11-05 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/54970
- PR debug/54971
- * gcc.dg/guality/pr54970.c: Use NOP instead of "NOP" in inline-asm.
-
-2012-11-05 Uros Bizjak <ubizjak@gmail.com>
-
- PR testsuite/51128
- * gcc.dg/torture/pr55018.c: Skip if -fno-fat-lto-objects was passed.
-
-2012-11-05 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/autopar/pr49960.c: Fix testcase.
-
-2012-11-05 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/tree-ssa/cunroll-9.c: Dump cunrolli details.
- Fix scan-tree-dump-times directive.
-
-2012-11-04 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/55199
- * gfortran.dg/associate_12.f90: New.
-
-2012-11-03 Jack Howarth <howarth@bromo.med.uc.edu>
-
- PR target/54255
- * lib/target-supports.exp (check_effective_target_masm_intel): New
- proc.
- * gcc.target/i386/asm-dialect-1.c: Use dg-require-effective-target
- masm_intel.
-
-2012-11-03 H.J. Lu <hjl.tools@gmail.com>
- Jack Howarth <howarth@bromo.med.uc.edu>
-
- * lib/target-supports.exp (check_effective_target_maybe_x32): New proc.
- * gcc.target/i386/pr54457.c: Use dg-require-effective-target maybe_x32.
- * gcc.target/i386/pr53249.c: Likewise.
-
-2012-11-03 Andrew Pinski <apinski@cavium.com>
-
- * gcc.target/mips/octeon-bbit-3.c: Change the second call to abort to
- call abort1 so that cross jumping does not happen.
-
-2012-11-03 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * gcc.target/sh/pr51244-18.c: New.
- * gcc.target/sh/pr51244-19.c: New.
-
-2012-11-03 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/octeon-exts-7.c (bar): Make sure the extraction of
- b requires a 64-bit operation followed by a truncation.
-
-2012-11-02 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/tree-ssa/loop-38.c: Correct testcase.
-
-2012-11-02 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/pr48258-2.c: Simplfy the acceptance
- conditions to verify the reduction code is vectorized.
-
- * gcc.target/powerpc/pr46728-1.c: Pass -fno-ident to eliminate failures
- in case 'pow', such as 'powerpc' is used in the compiler version name.
- * gcc.target/powerpc/pr46728-2.c: Likewise.
- * gcc.target/powerpc/pr46728-3.c: Likewise.
- * gcc.target/powerpc/pr46728-4.c: Likewise.
- * gcc.target/powerpc/pr46728-5.c: Likewise.
- * gcc.target/powerpc/pr46728-7.c: Likewise.
- * gcc.target/powerpc/pr46728-8.c: Likewise.
- * gcc/testsuite/gcc.dg/pr46728-6.c: Likewise.
-
-2012-11-02 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/tree-ssa/loop-38.c: New testcase.
-
-2012-11-02 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/tree-ssa/cunroll-10.c: New testcase.
- * gcc.dg/tree-ssa/cunroll-9.c: New testcase.
-
-2012-11-02 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/55130
- * gcc.target/i386/pr55130.c: New test.
-
-2012-11-02 Jakub Jelinek <jakub@redhat.com>
-
- PR target/55147
- * gcc.target/i386/pr55147.c: New test.
-
-2012-11-01 David Edelsohn <dje.gcc@gmail.com>
-
- * gfortran.dg/default_format_1.f90: XFAIL on AIX.
- * gfortran.dg/default_format_denormal_1.f90: Same.
-
-2012-11-01 Marc Glisse <marc.glisse@inria.fr>
-
- PR middle-end/55001
- * g++.dg/ext/vector19.C: Remove target restrictions.
- * gcc.dg/fold-compare-7.c: New testcase.
-
-2012-11-01 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/55160
- * gcc.target/sh/pr55160.c: New.
-
-2012-11-01 David Edelsohn <dje.gcc@gmail.com>
-
- * gcc.target/powerpc/vsx-mass-1.c: Check for dot symbols in
- scan-assembler regex.
-
-2012-11-01 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/55150
- * gcc.dg/pr55150.c: Rename to gcc.dg/pr55150-1.c.
- * gcc.dg/pr55150-2.c: New test.
-
-2012-11-01 Sharad Singhai <singhai@google.com>
-
- * testsuite/gcc.dg/plugin/selfassign.c: Add opgtroup_flags initializer.
- * testsuite/gcc.dg/plugin/one_time_plugin.c: Likewise.
- * testsuite/g++.dg/plugin/selfassign.c: Likewise.
- * testsuite/g++.dg/plugin/dumb_plugin.c: Likewise.
-
-2012-10-31 Dehao Chen <dehao@google.com>
-
- * g++.dg/debug/dwarf2/block.C: New testcase.
-
-2012-10-31 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/pr44974.c: Add noinline.
-
-2012-10-31 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/53718
- * gfortran.dg/class_54.f90: New.
-
-2012-10-31 Steven Bosscher <steven@gcc.gnu.org>
- Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/55018
- * gcc.dg/torture/pr55018.c: New test.
-
-2012-10-31 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54583
- * g++.dg/ext/vla13.C: New.
-
-2012-10-31 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/55150
- * gcc.dg/pr55150.c: New test.
-
-2012-10-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/55134
- * gfortran.dg/associate_11.f90: New.
-
-2012-10-31 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/54955
- * g++.dg/cpp0x/gen-attrs-48-2.C: New test.
-
-2012-10-31 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/19105
- PR tree-optimization/21643
- PR tree-optimization/46309
- * gcc.dg/pr19105.c: New test.
- * gcc.dg/pr21643.c: New test.
- * gcc.dg/pr46309-2.c: New test.
- * gcc.c-torture/execute/pr46309.c: New test.
-
-2012-10-31 Alan Modra <amodra@gmail.com>
-
- * gcc.target/powerpc/dimode_off.c: New.
- * gcc.target/powerpc/timode_off.c: New.
- * gcc.target/powerpc/dfmode_off.c: New.
- * gcc.target/powerpc/tfmode_off.c: New.
-
-2012-10-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl-optimization/55093
- * gcc.target/i386/pr55093.c: New file.
-
-2012-10-30 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/pr55116.c: Renamed to ...
- * gcc.target/i386/pr55116-1.c: This.
-
-2012-10-30 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/pr55116-2.c: New file.
-
-2012-10-30 Richard Biener <rguenther@suse.de>
-
- * gcc.dg/vect/slp-perm-2.c: Adjust.
-
-2012-10-30 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55111
- * gcc.dg/torture/pr55111.c: New testcase.
-
-2012-10-30 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53988
- * gcc.target/sh/pr53988.c: New.
-
-2012-10-30 Bin Cheng <bin.cheng@arm.com>
-
- PR target/54989
- * gcc.dg/hoist-register-pressure-1.c: Rename from
- hoist-register-pressure.c. Add nonpic condition.
- * gcc.dg/hoist-register-pressure-2.c: New testcase.
-
-2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/54930
- * gcc.dg/Wreturn-local-addr.c: New.
- * g++.dg/warn/Wno-return-local-addr.C: New.
- * g++.dg/warn/Wreturn-local-addr.C: New.
-
-2012-10-29 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/55116
- * gcc.target/i386/pr55116.c: New file.
-
-2012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/53066
- * gcc.dg/Wshadow-4.c: New.
- * gcc.dg/Wshadow-4.h: New.
-
-2012-10-29 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/54693
- * gcc.dg/guality/pr54693.c: New.
-
-2012-10-29 Marc Glisse <marc.glisse@inria.fr>
-
- PR middle-end/55027
- * gcc.dg/pr55027.c: New testcase.
-
-2012-10-29 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/ipa/inline-6.c: New testcase.
-
-2012-10-29 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/55106
- * g++.dg/pr55106.C: New.
-
-2012-10-29 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53695
- * gcc.dg/torture/pr53695.c: New testcase.
-
-2012-10-28 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/ipa/inlinehint-3.c: New testcase.
-
-2012-10-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54958
- * gfortran.dg/do_check_6.f90: New.
-
-2012-10-27 Dominique Dhumieres <dominiq@lps.ens.fr>
- Jack Howarth <howarth@bromo.med.uc.edu>
-
- PR target/54404
- * g++.dg/other/darwin-cfstring1.C: Add -ftrack-macro-expansion=0
- to dg-options.
- * obj-c++.dg/strings/const-cfstring-2.mm: Likewise.
-
-2012-10-27 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/34283
- * gcc.target/i386/pr34283.c: New test.
-
-2012-10-26 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/55081
- * g++.dg/opt/pr55081.C: New test.
-
- PR debug/54970
- PR debug/54971
- * gcc.dg/guality/pr54970.c: New test.
-
-2012-10-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54984
- * g++.dg/template/new11.C: New.
-
-2012-10-26 Richard Biener <rguenther@suse.de>
-
- PR middle-end/54824
- * gcc.dg/torture/pr54824.c: New testcase.
-
-2012-10-26 Alexander Ivchenko <alexander.ivchenko@intel.com>
-
- * gcc.target/i386/fxsave-1.c: New.
- * gcc.target/i386/fxsave64-1.c: Ditto.
- * gcc.target/i386/fxrstor-1.c: Ditto.
- * gcc.target/i386/fxrstor64-1.c: Ditto.
- * gcc.target/i386/xsave-1.c: Ditto.
- * gcc.target/i386/xsave64-1.c: Ditto.
- * gcc.target/i386/xrstor-1.c: Ditto.
- * gcc.target/i386/xrstor64-1.c: Ditto.
- * gcc.target/i386/xsaveopt-1.c: Ditto.
- * gcc.target/i386/xsaveopt64-1.c: Ditto.
- * gcc.target/i386/sse-12.c: Add -mfxsr, -mxsaveopt.
- * gcc.target/i386/sse-13.c: Ditto.
- * gcc.target/i386/sse-14.c: Ditto.
- * gcc.target/i386/sse-22.c: Ditto.
- * gcc.target/i386/sse-23.c: Ditto.
- * g++.dg/other/i386-2.C: Ditto.
- * g++.dg/other/i386-3.C: Ditto.
-
-2012-10-25 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/tree-ssa/cunroll-4.c: Update; we now remove the loop
- at ivcanon time.
-
-2012-10-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53761
- * g++.dg/ext/transparent-union.C: New.
-
-2012-10-25 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/54427
- * g++.dg/ext/vector19.C: New testcase.
-
-2012-10-25 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/54902
- * g++.dg/torture/pr54902.C: New testcase.
-
-2012-10-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/34892
- * g++.dg/template/crash114.C: New.
-
-2012-10-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR bootstrap/55049
- * gcc.target/i386/pr55049-1.c: New test.
-
-2012-10-24 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/55037
- * gfortran.dg/class_dummy_4.f03: New.
-
-2012-10-24 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/55010
- * gcc.dg/pr55010.c: New test.
-
- PR debug/54828
- * g++.dg/debug/pr54828.C: New test.
-
-2012-10-23 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- * gcc.dg/vect/vect-82_64.c: Adjust the dump file.
- * gcc.dg/vect/vect-83_64.c: Likewise.
-
-2012-10-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54922
- * g++.dg/cpp0x/constexpr-union4.C: New.
-
-2012-10-23 Jeff Law <law@redhat.com>
-
- * gcc.c-torture/execute/pr54985.c: New test.
-
-2012-10-23 Paul Koning <ni1d@arrl.net>
-
- PR debug/54508
- * g++.dg/debug/dwarf2/pr54508.C: New.
-
-2012-10-23 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/54844
- * g++.dg/template/sizeof14.C: New test.
-
-2012-10-23 Ian Bolton <ian.bolton@arm.com>
- Jim MacArthur <jim.macarthur@arm.com>
- Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
- Marcus Shawcroft <marcus.shawcroft@arm.com>
- Nigel Stephens <nigel.stephens@arm.com>
- Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- Richard Earnshaw <rearnsha@arm.com>
- Sofiane Naci <sofiane.naci@arm.com>
- Stephen Thomas <stephen.thomas@arm.com>
- Tejas Belagod <tejas.belagod@arm.com>
- Yufeng Zhang <yufeng.zhang@arm.com>
-
- * lib/target-supports.exp
- (check_profiling_available): Add AArch64.
- (check_effective_target_vect_int): Likewise.
- (check_effective_target_vect_shift): Likewise.
- (check_effective_target_vect_float): Likewise.
- (check_effective_target_vect_double): Likewise.
- (check_effective_target_vect_widen_mult_qi_to_hi): Likewise.
- (check_effective_target_vect_widen_mult_hi_to_si): Likewise.
- (check_effective_target_vect_pack_trunc): Likewise.
- (check_effective_target_vect_unpack): Likewise.
- (check_effective_target_vect_hw_misalign): Likewise.
- (check_effective_target_vect_short_mult): Likewise.
- (check_effective_target_vect_int_mult): Likewise.
- (check_effective_target_vect_stridedN): Likewise.
- (check_effective_target_sync_int_long): Likewise.
- (check_effective_target_sync_char_short): Likewise.
- (check_vect_support_and_set_flags): Likewise.
- (check_effective_target_aarch64_tiny): New.
- (check_effective_target_aarch64_small): New.
- (check_effective_target_aarch64_large): New.
- * g++.dg/other/PR23205.C: Enable aarch64.
- * g++.dg/other/pr23205-2.C: Likewise.
- * g++.old-deja/g++.abi/ptrmem.C: Likewise.
- * gcc.c-torture/execute/20101011-1.c: Likewise.
- * gcc.dg/20020312-2.c: Likewise.
- * gcc.dg/20040813-1.c: Likewise.
- * gcc.dg/builtin-apply2.c: Likewise.
- * gcc.dg/stack-usage-1.c: Likewise.
-
-2012-10-23 Ian Bolton <ian.bolton@arm.com>
- Jim MacArthur <jim.macarthur@arm.com>
- Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
- Marcus Shawcroft <marcus.shawcroft@arm.com>
- Nigel Stephens <nigel.stephens@arm.com>
- Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- Richard Earnshaw <rearnsha@arm.com>
- Sofiane Naci <sofiane.naci@arm.com>
- Stephen Thomas <stephen.thomas@arm.com>
- Tejas Belagod <tejas.belagod@arm.com>
- Yufeng Zhang <yufeng.zhang@arm.com>
-
- * gcc.target/aarch64/aapcs/aapcs64.exp: New file.
- * gcc.target/aarch64/aapcs/abitest-2.h: New file.
- * gcc.target/aarch64/aapcs/abitest-common.h: New file.
- * gcc.target/aarch64/aapcs/abitest.S: New file.
- * gcc.target/aarch64/aapcs/abitest.h: New file.
- * gcc.target/aarch64/aapcs/func-ret-1.c: New file.
- * gcc.target/aarch64/aapcs/func-ret-2.c: New file.
- * gcc.target/aarch64/aapcs/func-ret-3.c: New file.
- * gcc.target/aarch64/aapcs/func-ret-3.x: New file.
- * gcc.target/aarch64/aapcs/func-ret-4.c: New file.
- * gcc.target/aarch64/aapcs/func-ret-4.x: New file.
- * gcc.target/aarch64/aapcs/ice_1.c: New file.
- * gcc.target/aarch64/aapcs/ice_2.c: New file.
- * gcc.target/aarch64/aapcs/ice_3.c: New file.
- * gcc.target/aarch64/aapcs/ice_4.c: New file.
- * gcc.target/aarch64/aapcs/ice_5.c: New file.
- * gcc.target/aarch64/aapcs/macro-def.h: New file.
- * gcc.target/aarch64/aapcs/test_1.c: New file.
- * gcc.target/aarch64/aapcs/test_10.c: New file.
- * gcc.target/aarch64/aapcs/test_11.c: New file.
- * gcc.target/aarch64/aapcs/test_12.c: New file.
- * gcc.target/aarch64/aapcs/test_13.c: New file.
- * gcc.target/aarch64/aapcs/test_14.c: New file.
- * gcc.target/aarch64/aapcs/test_15.c: New file.
- * gcc.target/aarch64/aapcs/test_16.c: New file.
- * gcc.target/aarch64/aapcs/test_17.c: New file.
- * gcc.target/aarch64/aapcs/test_18.c: New file.
- * gcc.target/aarch64/aapcs/test_19.c: New file.
- * gcc.target/aarch64/aapcs/test_2.c: New file.
- * gcc.target/aarch64/aapcs/test_20.c: New file.
- * gcc.target/aarch64/aapcs/test_21.c: New file.
- * gcc.target/aarch64/aapcs/test_22.c: New file.
- * gcc.target/aarch64/aapcs/test_23.c: New file.
- * gcc.target/aarch64/aapcs/test_24.c: New file.
- * gcc.target/aarch64/aapcs/test_25.c: New file.
- * gcc.target/aarch64/aapcs/test_26.c: New file.
- * gcc.target/aarch64/aapcs/test_3.c: New file.
- * gcc.target/aarch64/aapcs/test_4.c: New file.
- * gcc.target/aarch64/aapcs/test_5.c: New file.
- * gcc.target/aarch64/aapcs/test_6.c: New file.
- * gcc.target/aarch64/aapcs/test_7.c: New file.
- * gcc.target/aarch64/aapcs/test_8.c: New file.
- * gcc.target/aarch64/aapcs/test_9.c: New file.
- * gcc.target/aarch64/aapcs/test_align-1.c: New file.
- * gcc.target/aarch64/aapcs/test_align-2.c: New file.
- * gcc.target/aarch64/aapcs/test_align-3.c: New file.
- * gcc.target/aarch64/aapcs/test_align-4.c: New file.
- * gcc.target/aarch64/aapcs/test_complex.c: New file.
- * gcc.target/aarch64/aapcs/test_int128.c: New file.
- * gcc.target/aarch64/aapcs/test_quad_double.c: New file.
- * gcc.target/aarch64/aapcs/type-def.h: New file.
- * gcc.target/aarch64/aapcs/va_arg-1.c: New file.
- * gcc.target/aarch64/aapcs/va_arg-10.c: New file.
- * gcc.target/aarch64/aapcs/va_arg-11.c: New file.
- * gcc.target/aarch64/aapcs/va_arg-12.c: New file.
- * gcc.target/aarch64/aapcs/va_arg-2.c: New file.
- * gcc.target/aarch64/aapcs/va_arg-3.c: New file.
- * gcc.target/aarch64/aapcs/va_arg-4.c: New file.
- * gcc.target/aarch64/aapcs/va_arg-5.c: New file.
- * gcc.target/aarch64/aapcs/va_arg-6.c: New file.
- * gcc.target/aarch64/aapcs/va_arg-7.c: New file.
- * gcc.target/aarch64/aapcs/va_arg-8.c: New file.
- * gcc.target/aarch64/aapcs/va_arg-9.c: New file.
- * gcc.target/aarch64/aapcs/validate_memory.h: New file.
- * gcc.target/aarch64/aarch64.exp: New file.
- * gcc.target/aarch64/adc-1.c: New file.
- * gcc.target/aarch64/adc-2.c: New file.
- * gcc.target/aarch64/asm-1.c: New file.
- * gcc.target/aarch64/clrsb.c: New file.
- * gcc.target/aarch64/clz.c: New file.
- * gcc.target/aarch64/ctz.c: New file.
- * gcc.target/aarch64/csinc-1.c: New file.
- * gcc.target/aarch64/csinv-1.c: New file.
- * gcc.target/aarch64/csneg-1.c: New file.
- * gcc.target/aarch64/extend.c: New file.
- * gcc.target/aarch64/fcvt.x: New file.
- * gcc.target/aarch64/fcvt_double_int.c: New file.
- * gcc.target/aarch64/fcvt_double_long.c: New file.
- * gcc.target/aarch64/fcvt_double_uint.c: New file.
- * gcc.target/aarch64/fcvt_double_ulong.c: New file.
- * gcc.target/aarch64/fcvt_float_int.c: New file.
- * gcc.target/aarch64/fcvt_float_long.c: New file.
- * gcc.target/aarch64/fcvt_float_uint.c: New file.
- * gcc.target/aarch64/fcvt_float_ulong.c: New file.
- * gcc.target/aarch64/ffs.c: New file.
- * gcc.target/aarch64/fmadd.c: New file.
- * gcc.target/aarch64/fnmadd-fastmath.c: New file.
- * gcc.target/aarch64/frint.x: New file.
- * gcc.target/aarch64/frint_double.c: New file.
- * gcc.target/aarch64/frint_float.c: New file.
- * gcc.target/aarch64/index.c: New file.
- * gcc.target/aarch64/mneg-1.c: New file.
- * gcc.target/aarch64/mneg-2.c: New file.
- * gcc.target/aarch64/mneg-3.c: New file.
- * gcc.target/aarch64/mnegl-1.c: New file.
- * gcc.target/aarch64/mnegl-2.c: New file.
- * gcc.target/aarch64/narrow_high-intrinsics.c: New file.
- * gcc.target/aarch64/pic-constantpool1.c: New file.
- * gcc.target/aarch64/pic-symrefplus.c: New file.
- * gcc.target/aarch64/predefine_large.c: New file.
- * gcc.target/aarch64/predefine_small.c: New file.
- * gcc.target/aarch64/predefine_tiny.c: New file.
- * gcc.target/aarch64/reload-valid-spoff.c: New file.
- * gcc.target/aarch64/scalar_intrinsics.c: New file.
- * gcc.target/aarch64/table-intrinsics.c: New file.
- * gcc.target/aarch64/tst-1.c: New file.
- * gcc.target/aarch64/vect-abs-compile.c: New file.
- * gcc.target/aarch64/vect-abs.c: New file.
- * gcc.target/aarch64/vect-abs.x: New file.
- * gcc.target/aarch64/vect-compile.c: New file.
- * gcc.target/aarch64/vect-faddv-compile.c: New file.
- * gcc.target/aarch64/vect-faddv.c: New file.
- * gcc.target/aarch64/vect-faddv.x: New file.
- * gcc.target/aarch64/vect-fmax-fmin-compile.c: New file.
- * gcc.target/aarch64/vect-fmax-fmin.c: New file.
- * gcc.target/aarch64/vect-fmax-fmin.x: New file.
- * gcc.target/aarch64/vect-fmaxv-fminv-compile.c: New file.
- * gcc.target/aarch64/vect-fmaxv-fminv.x: New file.
- * gcc.target/aarch64/vect-fp-compile.c: New file.
- * gcc.target/aarch64/vect-fp.c: New file.
- * gcc.target/aarch64/vect-fp.x: New file.
- * gcc.target/aarch64/vect-mull-compile.c: New file.
- * gcc.target/aarch64/vect-mull.c: New file.
- * gcc.target/aarch64/vect-mull.x: New file.
- * gcc.target/aarch64/vect.c: New file.
- * gcc.target/aarch64/vect.x: New file.
- * gcc.target/aarch64/vector_intrinsics.c: New file.
- * gcc.target/aarch64/vfp-1.c: New file.
- * gcc.target/aarch64/volatile-bitfields-1.c: New file.
- * gcc.target/aarch64/volatile-bitfields-2.c: New file.
- * gcc.target/aarch64/volatile-bitfields-3.c: New file.
- * g++.dg/abi/aarch64_guard1.C: New file.
-
-2012-10-23 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/54988
- * c-c++-common/pr54988.c: New test.
-
-2012-10-23 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/tree-prof/peel-1.c: New testcase.
-
-2012-10-23 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR gcc/52945
- * gcc.dg/lto/pr52634_0.c: Skip the test on Darwin.
-
-2012-10-23 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.dg/c99-predef-1.c: New test.
- * gcc.dg/cpp/cmdlne-dU-1.c, gcc.dg/cpp/cmdlne-dU-2.c,
- gcc.dg/cpp/cmdlne-dU-3.c, gcc.dg/cpp/cmdlne-dU-4.c,
- gcc.dg/cpp/cmdlne-dU-5.c, gcc.dg/cpp/cmdlne-dU-6.c,
- gcc.dg/cpp/cmdlne-dU-7.c, gcc.dg/cpp/cmdlne-dU-8.c,
- gcc.dg/cpp/cmdlne-dU-9.c, gcc.dg/cpp/cmdlne-dU-10.c,
- gcc.dg/cpp/cmdlne-dU-11.c, gcc.dg/cpp/cmdlne-dU-12.c,
- gcc.dg/cpp/cmdlne-dU-13.c, gcc.dg/cpp/cmdlne-dU-14.c,
- gcc.dg/cpp/cmdlne-dU-15.c, gcc.dg/cpp/cmdlne-dU-16.c,
- gcc.dg/cpp/cmdlne-dU-17.c, gcc.dg/cpp/cmdlne-dU-18.c,
- gcc.dg/cpp/cmdlne-dU-19.c, gcc.dg/cpp/cmdlne-dU-20.c,
- gcc.dg/cpp/cmdlne-dU-21.c, gcc.dg/cpp/cmdlne-dU-22.c,
- gcc.dg/cpp/mi5.c, gcc.dg/cpp/multiline.c: Add -nostdinc to dg-options.
-
-2012-10-23 Marc Glisse <marc.glisse@inria.fr>
-
- * gcc.dg/tree-ssa/foldconst-6.c: New testcase.
-
-2012-10-23 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/54937
- * gcc.c-torture/execute/pr54937.c: New testcase.
- * gcc.dg/tree-ssa/cunroll-2.c: Update.
-
-2012-10-23 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/54967
- * gfortran.dg/pr54967.f90: New testcase.
-
-2012-10-23 Terry Guo <terry.guo@arm.com>
-
- PR target/55019
- * gcc.dg/pr55019.c: New.
-
-2012-10-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/55008
- * gcc.dg/tree-ssa/pr55008.c: New test.
-
-2012-10-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/55011
- * gcc.dg/torture/pr55011.c: New testcase.
-
-2012-10-22 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * gcc.target/arm/pr40457-1.c: Adjust expected output.
- * gcc.target/arm/pr40457-2.c: Likewise.
- * gcc.target/arm/pr40457-3.c: Likewise.
-
-2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/limited_with4.ads: New test.
- * gnat.dg/specs/limited_with4_pkg.ads: New helper.
-
-2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/modular4.adb: New test.
- * gnat.dg/modular4_pkg.ads: New helper.
-
-2012-10-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/atomic1.ads: XFAIL on MIPS.
- * gnat.dg/specs/addr1.ads: Likewise.
-
-2012-10-21 Hans-Peter Nilsson <hp@bitrange.com>
-
- * gcc.dg/webizer.c (main): Add missing exit call.
-
-2012-10-21 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/54465
- * gfortran.dg/wextra_1.f: New test.
-
-2012-10-20 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/tree-prof/unroll-1.c: New testcase.
-
-2012-10-19 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54224
- * gfortran.dg/warn_unused_function.f90: New.
-
-2012-10-19 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * lib/target-supports.exp
- (check_effective_target_arm_prefer_ldrd_strd): New procedure.
-
-2012-10-19 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54981
- * gcc.dg/pr54981.c: New testcase.
-
-2012-10-19 Zhenqiang Chen <zhenqiang.chen@linaro.org>
-
- PR target/54892
- * gcc.target/arm/pr54892.c: New.
-
-2012-10-19 Bin Cheng <bin.cheng@arm.com>
-
- * testsuite/gcc.dg/hoist-register-pressure.c: New test.
-
-2012-10-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54501
- * g++.dg/init/array30.C: New.
- * g++.dg/init/array31.C: Likewise.
-
-2012-10-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54884
- * gfortran.dg/public_private_module_7.f90: New.
-
-2012-10-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/29633
- * g++.dg/template/pr29633.C: New.
-
-2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/loop_optimization13.ad[sb]: New test.
- * gnat.dg/loop_optimization13_pkg.ads: New helper.
-
-2012-10-18 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * gcc.target/arm/neon/vfmaQf32.c: New testcase.
- * gcc.target/arm/neon/vfmaf32.c: Likewise.
- * gcc.target/arm/neon/vfmsQf32.c: Likewise.
- * gcc.target/arm/neon/vfmsf32.c: Likewise.
-
-2012-10-18 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * gcc.target/arm/ftest-armv8a-arm.c: New testcase.
- * gcc.target/arm/ftest-armv8a-thumb.c: Likewise.
- * gcc.target/arm/ftest-support-arm.h (feature_matrix): Add ARMv8-A row.
- * gcc.target/arm/ftest-support-thumb.h (feature_matrix): Likewise.
- * gcc.target/arm/ftest-support.h (architecture): Add ARMv8-A.
- * lib/target-supports.exp: Add ARMv8-A architecture expectation.
-
-2012-10-16 Jan Hubicka <jh@suse.cz>
-
- * gcc.target/i386/l_fma_float_?.c: Update.
- * gcc.target/i386/l_fma_double_?.c: Update.
- * gfortran.dg/do_1.f90: XFAIL
- * gcc.dg/tree-ssa/cunroll-1.c: New testcase.
- * gcc.dg/tree-ssa/cunroll-2.c: New testcase.
- * gcc.dg/tree-ssa/cunroll-3.c: New testcase.
- * gcc.dg/tree-ssa/cunroll-4.c: New testcase.
- * gcc.dg/tree-ssa/cunroll-5.c: New testcase.
- * gcc.dg/tree-ssa/ldist-17.c: Block cunroll to make testcase still
- valid.
-
-2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/53063
- PR c/40989
- * gcc.dg/Wstrict-overflow-24.c: New.
-
-2012-10-16 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50981
- PR fortran/54618
- * gfortran.dg/class_optional_1.f90: New.
- * gfortran.dg/class_optional_2.f90: New.
-
-2012-10-16 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/54796
- * gcc.dg/guality/pr54796.c: New test.
-
- PR tree-optimization/54889
- * gfortran.dg/pr54889.f90: New test.
-
-2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * g++.dg/other/dump-ada-spec-2.C: New test.
-
-2012-10-16 Easwaran Raman <eraman@google.com>
-
- * gcc.dg/tree-prof/switch-case-1.c: New test case.
- * gcc.dg/tree-prof/switch-case-2.c: New test case.
-
-2012-10-16 Hans-Peter Nilsson <hp@bitrange.com>
-
- * gcc.dg/torture/stackalign/builtin-apply-2.c,
- gcc.dg/builtin-apply2.c: Correct STACK_ARGUMENTS_SIZE for MMIX.
-
-2012-10-15 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54925
- * gcc.c-torture/compile/pr54925.c: New.
-
-2012-10-15 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * gcc.target/sh/pr51244-17.c: New.
-
-2012-10-15 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54760
- * gcc.target/sh/pr54760-2.c: Add long long and unsigned long long test
- functions.
- * gcc.target/sh/pr54760-4.c: New.
-
-2012-10-15 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/34777
- * gcc.target/sh/torture/sh-torture.exp: New.
- * gcc.target/sh/torture/pr34777.c: New.
-
-2012-10-15 Matthias Klose <doko@ubuntu.com>
-
- * lib/target-supports.exp (check_profiling_available): Match
- arm*-*-linux-* for ARM Linux/GNU.
- * g++.dg/torture/predcom-1.C: Match arm*-*-linux-* for ARM Linux/GNU.
- * gfortran.dg/enum_10.f90: Likewise.
- * gfortran.dg/enum_9.f90: Likewise.
- * gcc.target/arm/synchronize.c: Likewise.
- * g++.old-deja/g++.jason/enum6.C: Likewise.
- * g++.old-deja/g++.other/enum4.C: Likewise.
- * g++.old-deja/g++.law/enum9.C: Likewise.
-
-2012-10-15 Richard Sandiford <rdsandiford@googlemail.com>
-
- * g++.dg/tls/thread_local-cse.C: Move dg-do line.
- * g++.dg/tls/thread_local-wrap4.C: Require fpic.
-
-2012-10-15 Alexandre Oliva <aoliva@redhat.com>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/17805
- * g++.dg/overload/operator6.C: New.
-
-2012-10-15 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50080 (again)
- * g++.dg/parse/tmpl-outside2.C: Tweak, error in C++98.
- * g++.dg/parse/tmpl-outside1.C: Likewise.
- * g++.dg/template/qualttp18.C: Likewise.
- * g++.old-deja/g++.pt/memtemp87.C: Likewise.
- * g++.old-deja/g++.pt/overload13.C: Likewise.
-
-2012-10-15 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/avx256-unaligned-load-1.c: Update asm scan patterns.
- * gcc.target/i386/avx256-unaligned-load-2.c: Ditto.
- * gcc.target/i386/avx256-unaligned-load-3.c: Ditto.
- * gcc.target/i386/avx256-unaligned-load-4.c: Ditto.
- * gcc.target/i386/avx256-unaligned-store-1.c: Ditto.
- * gcc.target/i386/avx256-unaligned-store-2.c: Ditto.
- * gcc.target/i386/avx256-unaligned-store-3.c: Ditto.
- * gcc.target/i386/avx256-unaligned-store-4.c: Ditto.
-
-2012-10-15 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50080
- * g++.dg/parse/tmpl-outside2.C: New.
- * g++.dg/parse/tmpl-outside1.C: Adjust.
- * g++.dg/template/qualttp18.C: Likewise.
- * g++.old-deja/g++.pt/memtemp87.C: Likewise.
- * g++.old-deja/g++.pt/overload13.C: Likewise.
-
-2012-10-15 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/54915
- * gcc.dg/tree-ssa/pr54915.c: New testcase.
-
-2012-10-15 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54920
- * gcc.dg/torture/pr54920.c: New testcase.
-
-2012-10-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/unchecked_convert9.ad[sb]: New test.
-
-2012-10-13 Jason Merrill <jason@redhat.com>
-
- * g++.dg/tls/thread_local7g.C: Require tls_native.
-
-2012-10-14 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/inh-ctor1.C: New.
- * g++.dg/cpp0x/inh-ctor2.C: New.
- * g++.dg/cpp0x/inh-ctor3.C: New.
- * g++.dg/cpp0x/inh-ctor4.C: New.
- * g++.dg/cpp0x/inh-ctor5.C: New.
- * g++.dg/cpp0x/inh-ctor6.C: New.
- * g++.dg/cpp0x/inh-ctor7.C: New.
- * g++.dg/cpp0x/inh-ctor8.C: New.
- * g++.dg/cpp0x/inh-ctor9.C: New.
- * g++.dg/cpp0x/inh-ctor10.C: New.
- * g++.dg/cpp0x/inh-ctor11.C: New.
- * g++.dg/cpp0x/inh-ctor12.C: New.
- * g++.dg/cpp0x/inh-ctor13.C: New.
-
-2012-10-14 Steven Bosscher <steven@gcc.gnu.org>
-
- PR rtl-optimization/54919
- * gcc.dg/pr54919.c: New testcase.
-
-2012-10-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53581
- * g++.dg/template/crash113.C: New.
-
-2012-10-14 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/unroll_5.c: New testcase.
-
-2012-10-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52643
- * g++.dg/opt/pr52643.C: New.
-
-2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54602
- * gcc.target/sh/pr54602-1.c: New.
- * gcc.target/sh/pr54602-2.c: New.
- * gcc.target/sh/pr54602-3.c: New.
- * gcc.target/sh/pr54602-4.c: New.
-
-2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54680
- * gcc.target/sh/pr54680.c: New.
-
-2012-10-12 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/webizer.c: New testcase.
-
-2012-10-12 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.dg/vect/pr48765.c: Skip for conflicting options, don't
- specify -m64.
-
- * gcc.target/arm/div64-unwinding.c: Skip, don't xfail, for GNU/Linux.
-
- * lib/target-supports.exp (check_effective_target_arm_hard_vfp_ok):
- Return 0 if already specifying -mfloat-abi other than hard.
-
-2012-10-12 Joe Seymour <jseymour@codesourcery.com>
-
- * gcc.dg/pr53060.c: Prune irrelevant warning.
-
-2012-10-12 Jakub Jelinek <jakub@redhat.com>
-
- PR c/54381
- * c-c++-common/Wsizeof-pointer-memaccess1.c: New test.
- * c-c++-common/Wsizeof-pointer-memaccess2.c: New test.
- * gcc.dg/Wsizeof-pointer-memaccess1.c: New test.
- * gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Test also stpncpy.
- Adjust expected wording of warnings for *cmp* builtins.
- * g++.dg/torture/Wsizeof-pointer-memaccess1.C: Likewise.
- * g++.dg/torture/Wsizeof-pointer-memaccess2.C: Likewise.
-
-2012-10-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/24449
- * g++.dg/parse/friend-main.C: New.
-
-2012-10-12 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/53055
- * g++.dg/pr53055.C: New testcase.
-
-2012-10-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52744
- * g++.dg/cpp0x/pr52744.C: New.
-
-2012-10-12 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/40453
- * gfortran.dg/dummy_procedure_9.f90: New.
-
-2012-10-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/54894
- * gcc.dg/torture/pr54894.c: New testcase.
-
-2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * gcc.target/sh/pr51244-13.c: New.
- * gcc.target/sh/pr51244-14.c: New.
- * gcc.target/sh/pr51244-15.c: New.
- * gcc.target/sh/pr51244-16.c: New.
-
-2012-10-11 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51878
- * g++.dg/cpp0x/decltype45.C: New.
-
-2012-10-11 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54784
- * gfortran.dg/class_allocate_13.f90: New.
-
-2012-10-11 Jason Merrill <jason@redhat.com>
-
- * g++.dg/ext/visibility/pragma-override1.C: Fix target markup.
- * g++.dg/ext/visibility/pragma-override2.C: Fix target markup.
-
- * g++.dg/gomp/tls-5.C: Require tls_native.
- * g++.dg/tls/thread_local7.C: Require tls_native.
- * g++.dg/tls/static2.C: New.
-
-2012-10-11 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/36107
- * g++.dg/ext/weak5.C: New.
-
-2012-10-11 Marc Glisse <marc.glisse@inria.fr>
-
- PR testsuite/54868
- * gcc.dg/tree-ssa/forwprop-22.c: Move ...
- * gcc.dg/vect/nodump-forwprop-22.c: ... here. Adapt options.
-
-2012-10-11 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/43765
- * g++.dg/parse/pr43765.C: New.
-
-2012-10-11 Uros Bizjak <ubizjak@gmail.com>
-
- * obj-c++.dg/tls/init-2.mm: Tweak errors.
-
-2012-10-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/43663
- * g++.dg/init/bitfield3.C: New.
-
-2012-10-10 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/mips32-dsp-accinit-2.c: Fix test description.
-
-2012-10-10 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/54877
- * gcc.dg/torture/pr54877.c: New test.
-
-2012-10-10 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- PR testsuite/53397
- * gcc.dg/pr53397-1.c: Moved to gcc.target/i386.
- * gcc.target/i386/pr53397-1.c: Add -msse2 to dg-options
- and remove target info from dg-do compile.
- * gcc.dg/pr53397-2.c: Moved to gcc.target/i386.
- * gcc.target/i386/pr53397-2.c: Add -msse2 to dg-options
- and remove target info from dg-do compile.
-
-2012-10-10 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * gcc.dg/pr54782.c: Require target with pthread support.
-
-2012-10-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53122
- * g++.dg/cpp0x/auto35.C: New.
-
-2012-10-10 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/53540 - using fails to be equivalent to typedef
- * g++.dg/cpp0x/alias-decl-24.C: New test.
-
-2012-10-10 Dodji Seketeli <dodji@redhat.com>
-
- * g++.dg/cpp0x/gen-attrs-8.C: Update the test to reflect the fact
- that c++11 attributes to types are ignored for now.
- * g++.dg/cpp0x/gen-attrs-36.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-37.C: Likewise
-
-2012-10-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53741
- * g++.dg/cpp0x/lambda/lambda-ice9.C: New.
-
-2012-10-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50478
- * g++.dg/cpp0x/initlist67.C: New.
-
-2012-10-10 Dehao Chen <dehao@google.com>
-
- * g++.dg/debug/dwarf2/deallocator.C: Cover more deallocator cases.
-
-2012-10-10 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/52480
- * gcc.target/sh/sh4a-bitmovua.c: Compact skip-if list.
- Add runtime tests.
-
-2012-10-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53307
- * g++.dg/cpp0x/decltype44.C: New.
-
-2012-10-09 Steve Ellcey <sellcey@mips.com>
-
- * gcc.target/ext_ins.c: Modify f2 to aviod uninitialized data.
-
-2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53763
- * g++.dg/cpp0x/decltype43.C: New.
-
-2012-10-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- PR middle-end/53397
- * gcc.dg/pr53397-1.c: New test case.
- * gcc.dg/pr53397-2.c: New test case.
-
-2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54194
- * g++.dg/warn/Wparentheses-26.C: Adjust.
- * g++.dg/warn/Wparentheses-27.C: New.
-
-2012-10-09 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/54427
- * c-c++-common/vector-scalar.c: New testcase.
- * g++.dg/ext/vector18.C: New testcase.
- * g++.dg/ext/vector5.C: This is not an error anymore.
- * gcc.dg/init-vec-1.c: Move ...
- * c-c++-common/init-vec-1.c: ... here. Adapt error message.
- * gcc.c-torture/execute/vector-shift1.c: Move ...
- * c-c++-common/torture/vector-shift1.c: ... here.
- * gcc.dg/scal-to-vec1.c: Move ...
- * c-c++-common/scal-to-vec1.c: ... here. Avoid narrowing for
- C++11. Adapt error messages.
- * gcc.dg/convert-vec-1.c: Move ...
- * c-c++-common/convert-vec-1.c: ... here.
- * gcc.dg/scal-to-vec2.c: Move ...
- * c-c++-common/scal-to-vec2.c: ... here.
-
-2012-10-08 Marc Glisse <marc.glisse@inria.fr>
-
- PR target/54400
- * gcc.target/i386/pr54400.c: New testcase.
-
-2012-10-08 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/54858
- * g++.dg/template/pr54858.C: New test.
-
-2012-10-08 Marek Polacek <polacek@redhat.com>
-
- PR debug/54831
- * g++.dg/debug/pr54831.C: New test.
-
-2012-10-08 Dehao Chen <dehao@google.com>
-
- * g++.dg/predict-loop-exit-1.C: New.
- * g++.dg/predict-loop-exit-2.C: New.
- * g++.dg/predict-loop-exit-3.C: New.
-
-2012-10-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.target/i386/pr54445-1.c: Require tls_runtime, add tls options.
-
-2012-10-08 Jason Merrill <jason@redhat.com>
-
- * g++.dg/gomp/tls-5.C: New.
- * g++.dg/gomp/tls-wrap1.C: New.
- * g++.dg/gomp/tls-wrap2.C: New.
- * g++.dg/gomp/tls-wrap3.C: New.
- * g++.dg/gomp/tls-wrap4.C: New.
- * g++.dg/gomp/tls-wrapper-cse.C: New.
- * g++.dg/tls/thread_local-cse.C: New.
- * g++.dg/tls/thread_local-order1.C: New.
- * g++.dg/tls/thread_local-order2.C: New.
- * g++.dg/tls/thread_local-wrap1.C: New.
- * g++.dg/tls/thread_local-wrap2.C: New.
- * g++.dg/tls/thread_local-wrap3.C: New.
- * g++.dg/tls/thread_local-wrap4.C: New.
- * g++.dg/tls/thread_local2g.C: New.
- * g++.dg/tls/thread_local3g.C: New.
- * g++.dg/tls/thread_local4g.C: New.
- * g++.dg/tls/thread_local5g.C: New.
- * g++.dg/tls/thread_local6g.C: New.
- * g++.dg/tls/thread_local7g.C: New.
-
- * g++.dg/tls/thread_local3.C: New.
- * g++.dg/tls/thread_local4.C: New.
- * g++.dg/tls/thread_local5.C: New.
- * g++.dg/tls/thread_local6.C: New.
-
- * g++.dg/tls/init-2.C: Tweak errors.
- * g++.dg/tls/thread_local1.C: New.
- * g++.dg/tls/thread_local2.C: New.
- * g++.dg/tls/thread_local7.C: New.
-
-2012-10-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/54866
- * gcc.target/i386/long-double-80-7.c: Add -msse2 to dg-options.
-
-2012-10-08 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54685
- * gcc.target/sh/pr54685.c: New.
-
-2012-10-08 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/53528 C++11 attribute support
- * g++.dg/cpp0x/gen-attrs-1.C: New test.
- * g++.dg/cpp0x/gen-attrs-2.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-2-1.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-3.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-4.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-5.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-6.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-7.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-8.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-9.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-10.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-11.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-12.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-13.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-14.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-15.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-16.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-17.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-18.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-19.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-20.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-21.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-22.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-23.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-24.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-25.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-26.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-27.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-28.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-29.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-30.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-31.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-32.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-33.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-34.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-35.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-36.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-36-1.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-37.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-38.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-39.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-39-1.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-40.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-41.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-42.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-43.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-44.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-45.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-46.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-47.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-47-1.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-48.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-49.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-50.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-51.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-52.C: Likewise.
- * g++.dg/cpp0x/gen-attrs-53.C: Likewise.
-
-2012-10-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/tree-ssa/slsr-30.c: Use correct cleanup directive.
- * gcc.dg/tree-ssa/attr-hotcold-2.c: Likewise.
- * gcc.dg/tree-ssa/ldist-21.c: Add missing cleanup directive.
-
-2012-10-08 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54760
- * gcc.target/sh/pr54760-2.c: New.
- * gcc.target/sh/pr54760-3.c: New.
-
-2012-10-07 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51422
- * g++.dg/cpp0x/lambda/lambda-ice8.C: New.
-
-2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * gcc.target/mips/madd-9.c: Force code to be tuned for the 4kc
- and test that the accumulator is initialized using MULT.
- * gcc.target/mips/mips32-dsp-accinit-1.c: New test.
- * gcc.target/mips/mips32-dsp-accinit-2.c: Likewise.
-
-2012-10-06 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52764
- * g++.dg/cpp0x/stdint.C: New.
-
-2012-10-06 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54249
- * g++.dg/cpp0x/stddef.C: New.
-
-2012-10-06 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54832
- * gfortran.dg/typebound_operator_17.f90: New.
-
-2012-10-06 Jan Hubicka <jh@suse.cz>
-
- PR lto/53831
- PR lto/54776
- * g++.dg/lto/v1-plugin-api-not-supported.C: New testcase.
-
-2012-10-06 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/lto/resolutions_0.c: New testcase.
-
-2012-10-06 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/45521
- * gfortran.dg/generic_25.f90: New.
- * gfortran.dg/generic_26.f90: New.
- * gfortran.dg/generic_27.f90: New.
-
-2012-10-06 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54760
- * gcc.target/sh/pr54760-1.c: New.
-
-2012-10-05 Jakub Jelinek <jakub@redhat.com>
-
- * g++.dg/torture/Wsizeof-pointer-memaccess1.C: New test.
- * g++.dg/torture/Wsizeof-pointer-memaccess2.C: New test.
- * g++.dg/warn/Wsign-compare-5.C: New test.
- * g++.dg/warn/Wsizeof-pointer-memaccess-1.C: New test.
- * g++.dg/warn/Wnull-conversion-1.C: For c++11 add dg-error.
- * g++.dg/ext/builtin30.C: New test.
- * g++.dg/ext/vla12.C: New test.
- * gcc.dg/builtins-85.c: New test.
-
- PR debug/54519
- * gcc.dg/guality/pr54519-1.c: New test.
- * gcc.dg/guality/pr54519-2.c: New test.
- * gcc.dg/guality/pr54519-3.c: New test.
- * gcc.dg/guality/pr54519-4.c: New test.
- * gcc.dg/guality/pr54519-5.c: New test.
- * gcc.dg/guality/pr54519-6.c: New test.
-
-2012-10-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50893
- * g++.dg/cpp0x/defaulted38.C: New.
-
-2012-10-05 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/33763
- * c-c++-common/pr33763.c: New test.
-
- PR tree-optimization/54810
- * gcc.dg/tree-ssa/vrp85.c: New test.
-
-2012-10-04 David Edelsohn <dje.gcc@gmail.com>
-
- * gcc.dg/ucnid-7.c: Skip on AIX.
- * gcc.dg/ucnid-8.c: Same.
- * gcc.dg/ucnid-10.c: Same.
- * gcc.dg/ucnid-13.c: Same.
- * gcc.dg/attr-alias-3.c: Same.
- * gcc.dg/attr-alias-5.c: Same.
- * gcc.dg/torture/pr51106-2.c: Same.
- * gcc.dg/vmx/3b-13.c: Use valid splat index.
-
-2012-10-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52233
- * g++.dg/cpp0x/alias-decl-23.C: New.
-
-2012-10-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53403
- * g++.dg/template/friend53.C: New.
-
-2012-10-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * lib/gcc-dg.exp (cleanup-ada-spec): New procedure.
- * lib/scanasm.exp (get_ada_spec_filename): Likewise.
- (scan-ada-spec): Likewise.
- (scan-ada-spec-not): Likewise.
- * gcc.dg/dump-ada-spec-1.c: New test.
- * g++.dg/other/dump-ada-spec-1.C: Likewise.
-
-2012-10-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/lto/20120723_0.c: Skip on SPARC 32-bit.
-
-2012-10-04 Florian Weimer <fweimer@redhat.com>
-
- * c-c++-common/cpp/diagnostic-pragma-1.c: New testcase.
-
-2012-10-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54323
- * g++.dg/cpp0x/pr54323.C: New.
-
-2012-10-04 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/54735
- * g++.dg/torture/pr54735.C: New testcase.
-
-2012-10-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/54739
- * gcc.dg/lower-subreg-1.c: Also skip on SPARC.
-
-2012-10-03 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * gcc.target/sh/pr51244-12.c: New.
-
-2012-10-03 Dehao Chen <dehao@google.com>
-
- PR middle-end/54782
- * gcc.dg/pr54782.c: New test.
-
-2012-10-03 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/54777
- * g++.dg/cpp0x/constexpr-ref4.C: New test.
-
-2012-10-02 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54778
- * gfortran.dg/class_53.f90: New.
-
-2012-10-02 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/54551
- * gcc.dg/guality/pr54551.c: New.
-
-2012-10-02 Pat Haugen <pthaugen@us.ibm.com>
-
- * gcc.target/powerpc/pr46728-1.c: Accept xssqrtdp.
- * gcc.target/powerpc/pr46728-2.c: Likewise.
-
-2012-10-02 Sharad Singhai <singhai@google.com>
-
- PR testsuite/54772
- * gfortran.dg/vect/vect.exp: Change verbose vectorizor dump options
- to fix test failures caused by r191883.
- * gcc.dg/tree-ssa/gen-vect-11.c: Likewise.
- * gcc.dg/tree-ssa/gen-vect-2.c: Likewise.
- * gcc.dg/tree-ssa/gen-vect-32.c: Likewise.
- * gcc.dg/tree-ssa/gen-vect-25.c: Likewise.
- * gcc.dg/tree-ssa/gen-vect-11a.c: Likewise.
- * gcc.dg/tree-ssa/gen-vect-26.c: Likewise.
- * gcc.dg/tree-ssa/gen-vect-11b.c: Likewise.
- * gcc.dg/tree-ssa/gen-vect-11c.c: Likewise.
- * gcc.dg/tree-ssa/gen-vect-28.c: Likewise.
-
-2012-09-30 Sharad Singhai <singhai@google.com>
-
- * gcc.target/i386/vect-double-1.c: Fix test.
-
-2012-10-01 Andrew MacLeod <amacleod@redhat.com>
-
- PR target/54087
- * gcc.dg/pr54087.c: New testcase for atomic_sub -> atomic_add when
- atomic_sub fails.
-
-2012-10-01 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/54457
- * gcc.target/i386/pr54457.c: New test.
-
-2012-10-01 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * gcc.dg/lower-subreg-1.c: Disable on arm*-*-* targets.
-
-2012-10-01 Marc Glisse <marc.glisse@inria.fr>
-
- * gcc.target/i386/vect-rebuild.c: New testcase.
-
-2012-09-30 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/pad-10.c (foo2): Return x - z.
-
-2012-09-30 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/pr37362.c: Fix target selector.
-
-2012-09-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/54083
- * gcc.dg/torture/pr53922.c: Skip on 32-bit hppa-*-hpux*.
-
-2012-09-30 Andreas Schwab <schwab@linux-m68k.org>
-
- * gcc.dg/ucnid-8.c: Update line number.
- * gcc.dg/torture/pr51106-2.c: Likewise.
-
-2012-09-30 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54667
- * gfortran.dg/c_funloc_tests_6.f90: Modified error message.
- * gfortran.dg/c_f_pointer_shape_test.f90: Ditto.
- * gfortran.dg/c_f_pointer_tests_5.f90: New.
-
-2012-09-30 Janus Weil <janus@gcc.gnu.org>
-
- * gfortran.dg/allocate_derived_1.f90: Re-enable class array checks,
- partially reverting r170092.
- * gfortran.dg/class_7.f03: Ditto.
- * gfortran.dg/coarray_14.f90: Ditto.
- * gfortran.dg/typebound_proc_13.f03: Ditto.
-
-2012-09-29 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54738
- * g++.dg/cpp0x/sfinae42.C: New.
-
-2012-09-29 David Edelsohn <dje.gcc@gmail.com>
-
- * gcc.target/powerpc/405-dlmzb-strlen-1.c: Skip on AIX.
- * gcc.target/powerpc/440-dlmzb-strlen-1.c: Same.
- * gcc.dg/ucnid-5.c: Remove XFAIL on AIX.
- * gcc.dg/pr42629.c: XFAIL on AIX.
- * gcc.dg/pr47684.c: Same.
- * gcc.dg/pr43670.c: Same.
- * gcc.dg/pr42916.c: Same.
- * gcc.dg/pr45449.c: Same.
- * gcc.dg/pr50017.c: Same.
- * gcc.dg/pr42728.c: Same.
- * gcc.dg/pr47881.c: Same.
- * gcc.dg/pr44023.c: Same.
- * gcc.dg/pr41345.c: Same.
- * gcc.dg/pr42630.c: Same.
- * gcc.dg/pr44971.c: Same.
- * gcc.dg/pr46771.c: Same.
- * gcc.dg/ucnid-8.c: Same.
- * gcc.dg/ucnid-10.c: Same.
- * gcc.dg/ucnid-13.c: Same.
- * gcc.dg/torture/pr51106-2.c: Same.
- * gcc.dg/pr48768.c: Same.
- * gcc.dg/pr42631.c: Same.
- * gcc.dg/pr43084.c: Same.
- * gcc.dg/ucnid-7.c: Same.
- * gcc.dg/pr42889.c: Same.
- * gcc.dg/pr41241.c: Same.
- * gcc.dg/pr42719.c: Same.
- * g++.dg/debug/pr46583.C: Same.
- * g++.dg/debug/pr47106.C: Same.
- * g++.dg/opt/pr48549.C: Same.
- * g++.dg/other/pr42685.C: Same.
- * c-c++-common/pr43942.c: Same.
-
-2012-09-29 Ian Lance Taylor <iant@google.com>
-
- * go.test/go-test.exp: Update for latest version of Go testsuite.
-
-2012-09-29 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/52724
- * gfortran.dg/internal_readwrite_3.f90: New test.
-
-2012-09-28 Dodji Seketeli <dodji@redhat.com>
-
- * g++.dg/warn/Wunused-local-typedefs-3.C: Move the c++-only test
- c-c++-common/Wunused-local-typedefs-2.c to here.
-
- PR c++/54372 - unused attribute inactive on dependant entities
- * c-c++-common/Wunused-local-typedefs-2.c: New test.
-
-2012-09-25 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/29028 - Missed unused warning on using declaration
- * g++.dg/warn/Wunused-var-18.C: New test.
-
-2012-09-25 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/53551 - -Wunused-local-typedefs misses uses
- * g++.dg/warn/Wunused-local-typedefs-2.C: New test.
-
-2012-09-28 Jakub Jelinek <jakub@redhat.com>
-
- PR target/54716
- * gcc.target/i386/xorps-sse2.c: Remove xfails.
-
- PR tree-optimization/54713
- * gcc.c-torture/compile/pr54713-1.c: New test.
- * gcc.c-torture/compile/pr54713-2.c: New test.
- * gcc.c-torture/compile/pr54713-3.c: New test.
-
-2012-09-27 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.target/arm/unsigned-extend-1.c: Omit -march option.
-
-2012-09-27 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * gcc.dg/lower-subreg-1.c: Disable on arm-*-* targets.
-
-2012-09-27 Jakub Jelinek <jakub@redhat.com>
-
- PR target/54703
- * gcc.target/i386/pr54703.c: New test.
-
-2012-09-27 Richard Guenther <rguenther@suse.de>
-
- PR lto/54709
- * gcc.dg/lto/pr54709_0.c: New testcase.
- * gcc.dg/lto/pr54709_1.c: Likewise.
-
-2012-09-26 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.target/arm/div64-unwinding.c: XFAIL for GNU/Linux.
-
- * gcc.target/arm/mmx-2.c: Specify -mcpu=iwmmxt.
-
- * gcc.target/arm/combine-movs.c: Use effective target arm_thumb2.
-
- * gcc.target/arm/pr42879.c: Handle big-endian.
-
-2012-09-26 Steve Ellcey <sellcey@mips.com>
-
- PR c/37303
- * gcc.dg/pr37303.c: Check for rdata or rodata.
-
-2012-09-26 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/arm/builtin-bswap16-1.c: New testcase.
-
-2012-09-25 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/51274
- PR target/53087
- * gcc.target/powerpc/ppc-ne0-1.c: New.
-
-2012-09-25 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * gcc.target/sh/pr54089-1.c (test_15, test_16, test_17, test_18,
- test_19, test_20, test_21, test_22, test_23): New functions.
- * gcc.target/sh/pr54089-4.c: New.
- * gcc.target/sh/pr54089-5.c: New.
- * gcc.target/sh/pr54089-6.c: New.
- * gcc.target/sh/pr54089-7.c: New.
-
-2012-09-25 Richard Guenther <rguenther@suse.de>
-
- PR lto/54625
- * gcc.dg/lto/pr54702_0.c: New testcase.
- * gcc.dg/lto/pr54702_1.c: Likewise.
- * gcc.dg/lto/pr54625-1_0.c: Likewise.
- * gcc.dg/lto/pr54625-1_1.C: Likewise.
- * gcc.dg/lto/pr54625-2_0.c: Likewise.
- * gcc.dg/lto/pr54625-2_1.C: Likewise.
-
-2012-09-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54526
- * g++.dg/cpp0x/parse2.C: New.
- * g++.dg/parse/error11.C: Adjust.
- * g++.dg/parse/error12.C: Likewise.
-
-2012-09-25 Igor Zamyatin <igor.zamyatin@intel.com>
-
- * gcc.target/i386/20030217-1.c: Added check for
- large_long_double effective target.
- * gcc.target/i386/387-3.c: Likewise.
- * gcc.target/i386/387-4.c: Likewise.
- * gcc.target/i386/pr36578-1.c: Likewise.
- * gcc.target/i386/excess-precision-1.c: Added new code for the case
- when long double size is equal double size.
- * gcc.target/i386/excess-precision-1.c: Likewise.
- * gcc.target/i386/pr36578-2.c: Likewise.
- * gcc.target/i386/20030217-2.c: New testcase.
-
-2012-09-25 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/54676
- * gcc.dg/pr54676.c: New test.
-
-2012-09-25 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53663
- * gcc.dg/torture/pr53663-1.c: New testcase.
- * gcc.dg/torture/pr53663-2.c: Likewise.
- * gcc.dg/torture/pr53663-3.c: Likewise.
-
-2012-09-25 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/pr50725.c: Change 'long' to 'long long'.
-
-2012-09-24 Janis Johnson <janisjo@codesourcery.com>
-
- * lib/target-supports-dg.exp (dg-require-effective-target,
- dg-skip-if, dg-xfail-if, dg-xfail-run-if, dg-shouldfail): Call
- dg-process-target-1 instead of dg-process-target.
- (dg-process-target-1): Rename from dg-process-target.
- (dg-process-target): New.
-
-2012-09-24 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54684
- * g++.dg/torture/pr54684.C: New testcase.
-
-2012-09-24 Marc Glisse <marc.glisse@inria.fr>
-
- * gcc.dg/tree-ssa/forwprop-23.c: New testcase.
-
-2012-09-24 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52173
- * gcc.dg/tm/pr52173-1.c: New.
- * gcc.dg/tm/pr52173-2.c: New.
-
-2012-09-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/pr54669.c: New test.
-
-2012-09-23 Paolo Carlini <paolo.carlini@oracle.com>
- Dominique Dhumieres <dominiq@lps.ens.fr>
-
- PR testsuite/54677
- * g++.dg/cpp0x/decltype32.C: Add -ftemplate-depth=10.
-
-2012-09-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54618
- * gfortran.dg/class_array_14.f90: New.
-
-2012-09-22 Kai Tietz <ktietz@redhat.com>
-
- * gcc.dg/tree-ssa/scev-3.c: Add llp64 to xfail.
- * gcc.dg/tree-ssa/scev-4.c: Likewise.
-
-2012-09-21 Dehao Chen <dehao@google.com>
-
- PR go/54649
- PR tree-optimization/54655
- * g++.dg/pr54655.C: New testcase.
-
-2012-09-21 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54647
- * g++.dg/torture/pr54647.C: New testcase.
-
-2012-09-21 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/54427
- * c-c++-common/torture/vector-compare-2.c: Add -w.
-
-2012-09-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/opt20.ads: Move dg directive to...
- * gnat.dg/opt20.adb: ...here.
- * gnat.dg/addr1.ad[sb]: Likewise.
- * gnat.dg/concat2.ad[sb]: Likewise.
- * gnat.dg/array16.ad[sb]: Likewise.
- * gnat.dg/atomic5.ad[sb]: Likewise.
- * gnat.dg/discr29.ad[sb]: Likewise.
- * gnat.dg/noreturn5.ad[sb]: Likewise.
- * gnat.dg/vect8.ad[sb]: Likewise. Add dg-options.
- * gnat.dg/discr23.ads: Remove dg directive.
- * gnat.dg/nested_float_packed.ads: Likewise.
- * gnat.dg/oconst6.ads: Move to...
- * gnat.dg/specs/oconst6.ads: ...here.
-
-2012-09-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52432
- * g++.dg/cpp0x/decltype32.C: Tweak.
-
-2012-09-20 Marc Glisse <marc.glisse@inria.fr>
-
- * gcc.dg/tree-ssa/forwprop-19.c: Check in forwprop1.
- * gcc.dg/tree-ssa/forwprop-20.c: Check in forwprop1.
- * gcc.dg/tree-ssa/forwprop-21.c: Check in copyprop1.
- * gcc.dg/tree-ssa/forwprop-22.c: Check in copyprop1.
-
-2012-09-19 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/54581
- * g++.dg/cpp0x/decltype-54581.C: New testcase.
-
-2012-09-19 Steve Ellcey <sellcey@mips.com>
-
- * gcc.target/mips/pr37362.c: Add mips*-mti-elf exception.
-
-2012-09-19 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/ppc-get-timebase.c: New file.
- * gcc.target/powerpc/ppc-mftb.c: New file.
-
-2012-09-19 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * gcc.target/sh/pr54089-1.c (test_11, test_12, test_13, test_14): New
- functions.
-
-2012-09-19 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * gcc.target/sh/pr54236-1.c (test_08): Add one bit left shift case.
-
-2012-09-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.c-torture/execute/20120919-1.c: New test.
-
-2012-09-19 Richard Guenther <rguenther@suse.de>
-
- * lib/c-torture.exp (TORTURE_OPTIONS): Add -Og -g.
-
-2012-09-19 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/builtin-unreachable-6.c: Adjust.
-
-2012-09-19 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/builtin-object-size-10.c: Adjust.
- * gcc.dg/builtin-unreachable-5.c: Adjust.
- * gcc.dg/tree-ssa/builtin-fprintf-1.c: Adjust.
- * gcc.dg/tree-ssa/builtin-fprintf-chk-1.c: Adjust.
- * gcc.dg/tree-ssa/builtin-printf-1.c: Adjust.
- * gcc.dg/tree-ssa/builtin-printf-chk-1.c: Adjust.
- * gcc.dg/tree-ssa/builtin-vfprintf-1.c: Adjust.
- * gcc.dg/tree-ssa/builtin-vfprintf-chk-1.c: Adjust.
- * gcc.dg/tree-ssa/builtin-vprintf-1.c: Adjust.
- * gcc.dg/tree-ssa/builtin-vprintf-chk-1.c: Adjust.
- * gcc.dg/tree-ssa/ssa-ccp-10.c: Adjust.
- * gcc.dg/vect/vec-scal-opt.c: Adjust.
- * gcc.dg/vect/vec-scal-opt1.c: Adjust.
- * gcc.dg/vect/vec-scal-opt2.c: Adjust.
-
-2012-09-19 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54132
- * gcc.dg/tree-ssa/ldist-21.c: New testcase.
- * gcc.dg/torture/pr54132.c: Likewise.
-
-2012-09-19 Terry Guo <terry.guo@arm.com>
-
- * lib/gcc-dg.exp (dg_runtest_extra_prunes): New variable to define
- extra prune rules that will be applied to all tests in a .exp file.
- (gcc-dg-prune): Use rules defined by the above variable.
- * gcc.target/arm/arm.exp (dg_runtest_extra_prunes): Skip all the
- harmless warnings on architecture switch conflict.
-
-2012-09-19 Hans-Peter Nilsson <hp@axis.com>
-
- * g++.dg/debug/dwarf2/nested-3.C: Match a sequence
- of asm-comment characters instead of a single one.
- * g++.dg/debug/dwarf2/nested-2.C: Similar.
-
-2012-09-18 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.dg/vect/fast-math-pr35982.c: Skip check instead of xfail.
-
- * gcc.dg/vect/no-vfa-vect-101.c: Skip a check for an irrelevant
- target instead of xfailing it.
- * gcc.dg/vect/no-vfa-vect-102.c: Likewise.
- * gcc.dg/vect/no-vfa-vect-102a.c: Likewise.
- * gcc.dg/vect/no-vfa-vect-37.c: Likewise.
- * gcc.dg/vect/no-vfa-vect-79.c: Likewise.
- * gcc.dg/vect/vect-104.c: Likewise.
- * gcc.dg/vect/vect-outer-1-big-array.c: Likewise.
- * gcc.dg/vect/vect-outer-1.c: Likewise.
- * gcc.dg/vect/vect-outer-1a-big-array.c: Likewise.
- * gcc.dg/vect/vect-outer-1a.c: Likewise.
- * gcc.dg/vect/vect-outer-1b-big-array.c: Likewise.
- * gcc.dg/vect/vect-outer-1b.c: Likewise.
- * gcc.dg/vect/vect-outer-2b.c: Likewise.
- * gcc.dg/vect/vect-outer-3a-big-array.c: Likewise.
- * gcc.dg/vect/vect-outer-3a.c: Likewise.
- * gcc.dg/vect/vect-outer-3b.c: Likewise.
- * gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise.
-
- * lib/target-supports.exp
- (check_effective_target_vect_widen_mult_qi_to_hi,
- check_effective_target_vect_widen_mult_hi_to_si,
- check_effective_target_vect_widen_mult_qi_to_hi_pattern,
- check_effective_target_vect_widen_mult_hi_to_si_pattern,
- check_effective_target_vect_pack_trunc,
- check_effective_target_vect_unpack,
- check_effective_target_vect_multiple_sizes): Check arm_neon_ok
- instead of arm_none.
-
- * gcc.dg/vect/pr52298.c: Remove "dg-do run".
-
-2012-09-18 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- * lib/target-supports-dg.exp (check-flags): Add cflags from board
- config to compiler_flags.
-
-2012-09-18 Jakub Jelinek <jakub@redhat.com>
-
- PR target/54592
- * gcc.target/i386/pr54592.c: New test.
-
- PR tree-optimization/54610
- * gcc.target/i386/pr54610.c: New test.
-
-2012-09-17 Jason Merrill <jason@redhat.com>
-
- PR c++/54575
- * g++.dg/cpp0x/alias-decl-21.C: New.
- * g++.dg/cpp0x/alias-decl-22.C: New.
-
-2012-09-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54608
- * gfortran.dg/scan_2.f90: New.
-
-2012-09-17 Jason Merrill <jason@redhat.com>
-
- PR c++/53661
- * g++.dg/init/aggr9.C: New.
-
-2012-09-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/loop_optimization12.ad[sb]: New test.
-
-2012-09-17 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54285
- * gfortran.dg/proc_ptr_result_7.f90: New.
-
-2012-09-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54603
- * gfortran.dg/structure_constructor_11.f90: New.
-
-2012-09-17 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/54563
- * g++.dg/torture/pr54563.C: New test.
-
-2012-09-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54594
- * gfortran.dg/typebound_generic_14.f03: New.
-
-2012-09-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54387
- * gfortran.dg/proc_ptr_38.f90: New.
-
-2012-09-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR debug/54460
- * g++.dg/debug/dwarf2/nested-3.C: Add hppa assembler comment character
- to scary regexp.
-
- PR testsuite/54007
- * gnat.dg/lto15.adb: Require lto.
-
- * gfortran.dg/bind_c_array_params_2.f90: Adjust scan-assembler-times
- "myBindC" for hppa*-*-hpux*.
-
-2012-09-16 Mikael Morin <mikael@gcc.gnu.org>
-
- * gfortran.dg/namelist_75.f90: New test.
-
-2012-09-15 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/tree-ssa/vrp82.c: New test.
- * gcc.dg/tree-ssa/vrp83.c: Same.
- * gcc.dg/tree-ssa/vrp84.c: Same.
-
-2012-09-15 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/tree-ssa/vrp80-2.c: Rename to ...
- * gcc.dg/tree-ssa/vrp81.c: ... this.
-
-2012-09-15 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/54222
- * gcc.target/avr/torture/fix-types.h: New.
- * gcc.target/avr/torture/vals-hr.def: New.
- * gcc.target/avr/torture/vals-r.def: New.
- * gcc.target/avr/torture/vals-k.def: New.
- * gcc.target/avr/torture/vals-ur.def: New.
- * gcc.target/avr/torture/vals-uk.def: New.
- * gcc.target/avr/torture/vals-uhr.def: New.
- * gcc.target/avr/torture/vals-llk.def: New.
- * gcc.target/avr/torture/vals-ullk.def: New.
- * gcc.target/avr/torture/sat-hr-plus-minus.c: New.
- * gcc.target/avr/torture/sat-r-plus-minus.c: New.
- * gcc.target/avr/torture/sat-k-plus-minus.c: New.
- * gcc.target/avr/torture/sat-ur-plus-minus.c: New.
- * gcc.target/avr/torture/sat-uk-plus-minus.c: New.
- * gcc.target/avr/torture/sat-uhr-plus-minus.c: New.
- * gcc.target/avr/torture/sat-llk-plus-minus.c: New.
- * gcc.target/avr/torture/sat-ullk-plus-minus.c: New.
-
-2012-09-14 Dehao Chen <dehao@google.com>
-
- * g++.dg/debug/dwarf2/deallocator.C: New test.
-
-2012-09-14 Joseph Myers <joseph@codesourcery.com>
-
- PR c/54552
- * gcc.c-torture/compile/pr54552-1.c: New test.
-
-2012-09-14 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/54427
- * g++.dg/other/vector-compare.C: New testcase.
- * c-c++-common/vector-compare-3.c: New testcase.
- * gcc.dg/vector-shift.c: Move ...
- * c-c++-common/vector-shift.c: ... here.
- * gcc.dg/vector-shift1.c: Move ...
- * c-c++-common/vector-shift1.c: ... here.
- * gcc.dg/vector-shift3.c: Move ...
- * c-c++-common/vector-shift3.c: ... here.
- * gcc.dg/vector-compare-1.c: Move ...
- * c-c++-common/vector-compare-1.c: ... here.
- * gcc.dg/vector-compare-2.c: Move ...
- * c-c++-common/vector-compare-2.c: ... here.
- * gcc.c-torture/execute/vector-compare-1.c: Move ...
- * c-c++-common/torture/vector-compare-1.c: ... here.
- * gcc.c-torture/execute/vector-compare-2.x: Delete.
- * gcc.c-torture/execute/vector-compare-2.c: Move ...
- * c-c++-common/torture/vector-compare-2.c: ... here.
- * gcc.c-torture/execute/vector-shift.c: Move ...
- * c-c++-common/torture/vector-shift.c: ... here.
- * gcc.c-torture/execute/vector-shift2.c: Move ...
- * c-c++-common/torture/vector-shift2.c: ... here.
- * gcc.c-torture/execute/vector-subscript-1.c: Move ...
- * c-c++-common/torture/vector-subscript-1.c: ... here.
- * gcc.c-torture/execute/vector-subscript-2.c: Move ...
- * c-c++-common/torture/vector-subscript-2.c: ... here.
- * gcc.c-torture/execute/vector-subscript-3.c: Move ...
- * c-c++-common/torture/vector-subscript-3.c: ... here.
-
-2012-09-14 Joseph Myers <joseph@codesourcery.com>
-
- PR c/54103
- * gcc.c-torture/compile/pr54103-1.c,
- gcc.c-torture/compile/pr54103-2.c,
- gcc.c-torture/compile/pr54103-3.c,
- gcc.c-torture/compile/pr54103-4.c,
- gcc.c-torture/compile/pr54103-5.c,
- gcc.c-torture/compile/pr54103-6.c: New tests.
- * gcc.dg/c90-const-expr-8.c: Update expected column number.
-
-2012-09-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/pr44194-1.c: Check that there are no memory accesses left.
-
-2012-09-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54565
- * gcc.dg/tree-ssa/ssa-ccp-17.c: Adjust.
- * gcc.dg/tree-ssa/forwprop-6.c: Likewise. Remove XFAIL.
-
-2012-09-14 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * gcc.target/arm/combine-movs.c: Add missing space.
-
-2012-09-14 Richard Guenther <rguenther@suse.de>
-
- * g++.dg/torture/builtin-location.C: New testcase.
-
-2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
- Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c++/53210
- * g++.dg/warn/Wuninitialized-self.C: New.
-
-2012-09-13 Jakub Jelinek <jakub@redhat.com>
-
- PR c/54559
- * gcc.c-torture/compile/pr54559.c: New test.
-
-2012-09-13 Jason Merrill <jason@redhat.com>
-
- PR c++/53839
- * g++.dg/cpp0x/constexpr-temp1.C: New.
-
- PR c++/54511
- * g++.dg/template/anonunion2.C: New.
-
- PR c++/53836
- * g++.dg/template/init10.C: New.
-
-2012-09-13 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54556
- * gfortran.dg/implicit_pure_3.f90: New.
-
-2012-09-13 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/ssa-fre-37.c: New testcase.
-
-2012-09-13 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/arm/builtin-bswap-1.c: New testcase.
-
-2012-09-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * c-c++-common/pr51712.c: Handle for short-enum targets.
-
-2012-09-12 Terry Guo <terry.guo@arm.com>
-
- * gcc.target/arm/combine-movs.c: Check movs for ARM mode
- and lsrs for Thumb2 mode.
-
-2012-09-12 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/ipa/inlinehint-2.c: New testcase.
-
-2012-09-12 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/54445
- * gcc.target/i386/pr54445-1.c: New file.
- * gcc.target/i386/pr54445-2.c: Likewise.
-
-2012-09-12 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54225
- PR fortran/53306
- * gfortran.dg/coarray_10.f90: Update dg-error.
- * gfortran.dg/coarray_28.f90: New.
- * gfortran.dg/array_section_3.f90: New.
-
-2012-09-11 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/arm/neon-vset_lanes8.c, gcc.target/arm/pr51835.c,
- gcc.target/arm/pr48252.c: Fix for big-endian support.
-
-2012-09-11 Marc Glisse <marc.glisse@inria.fr>
-
- * gcc.dg/tree-ssa/forwprop-22.c: New testcase.
-
-2012-09-11 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * gcc.target/arm/neon-vfma-1.c: New testcase.
- * gcc.target/arm/neon-vfms-1.c: Likewise.
- * gcc.target/arm/neon-vmla-1.c: Update test to use int instead
- of float.
- * gcc.target/arm/neon-vmls-1.c: Likewise.
- * lib/target-supports.exp (add_options_for_arm_neonv2): New
- function.
- (check_effective_target_arm_neonv2_ok_nocache): Likewise.
- (check_effective_target_arm_neonv2_ok): Likewise.
- (check_effective_target_arm_neonv2_hw): Likewise.
- (check_effective_target_arm_neonv2): Likewise.
-
-2012-09-11 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/54515
- * g++.dg/tree-ssa/pr54515.C: New testcase.
-
-2012-09-10 Andrew Pinski <apinski@cavium.com>
-
- PR tree-opt/c54362
- * gcc.dg/tm/memopt-16.c: New testcase.
-
-2012-09-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54541
- PR c++/54542
- * g++.dg/cpp0x/sfinae40.C: New.
- * g++.dg/cpp0x/sfinae41.C: Likewise.
-
-2012-09-10 Jason Merrill <jason@redhat.com>
-
- PR c++/54538
- * g++.dg/cpp0x/lambda/lambda-mangle4.C: New.
-
-2012-09-10 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * gcc.target/sh/pr54089-3.c: New.
-
-2012-09-10 Marc Glisse <marc.glisse@inria.fr>
-
- * gcc.dg/tree-ssa/forwprop-21.c: New testcase.
-
-2012-09-10 Aldy Hernandez <aldyh@redhat.com>
-
- * gcc.dg/tm/reg-promotion.c: Modify dump message check.
-
-2012-09-10 Aldy Hernandez <aldyh@redhat.com>
-
- * gcc.dg/pr52558-2.c: Delete.
- * gcc.dg/simulate-thread/speculative-store-3.c: New.
-
-2012-09-10 Marc Glisse <marc.glisse@inria.fr>
-
- * gcc.dg/tree-ssa/forwprop-20.c: New testcase.
-
-2012-09-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54520
- * gcc.dg/torture/pr54520.c: New testcase.
-
-2012-09-10 Jason Merrill <jason@redhat.com>
-
- PR c++/54506
- * g++.dg/cpp0x/implicit14.C: New.
-
-2012-09-07 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/54208
- * gfortran.dg/bound_simplification_3.f90: New test.
-
-2012-09-07 Aldy Hernandez <aldyh@redhat.com>
-
- PR testsuite/54184
- * gcc.dg/pr52558-1.c: Delete.
- * gcc.dg/simulate-thread/speculative-store-2.c: New.
-
-2012-09-07 Richard Earnshaw <rearnsha@arm.com>
-
- * gcc.target/arm/pr50318-1.c: Scan for smlal.
- * gcc.target/arm/smlaltb-1.c: XFAIL test.
- * gcc.target/arm/smlaltt-1.c: Likewise.
-
-2012-09-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/pr44194-1.c: Skip on Alpha and adjust regexp for SPARC64.
-
-2012-09-07 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/53986
- * gcc.dg/tree-ssa/vrp80.c: New test.
- * gcc.dg/tree-ssa/vrp80-2.c: Same.
-
-2012-09-06 Jason Merrill <jason@redhat.com>
-
- PR c++/54341
- PR c++/54253
- * g++.dg/cpp0x/constexpr-virtual2.C: New.
- * g++.dg/cpp0x/constexpr-virtual3.C: New.
-
-2012-09-06 Andrew Pinski <apinski@cavium.com>
-
- PR tree-opt/54494
- * gcc.dg/tree-ssa/strlen-1.c: New testcase.
-
-2012-09-06 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/54455
- * gcc.dg/54455.c: New test.
-
-2012-09-06 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54463
- * gfortran.dg/promotion_2.f90: New.
-
-2012-09-05 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/54486
- * c-c++-common/pr54486.c: New test.
-
-2012-09-05 Dominique Dhumieres <dominiq@lps.ens.fr>
-
- PR fortran/54474
- * gfortran.dg/coarray_poly_3.f90: Adjust error messages.
-
-2012-09-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54191
- * g++.dg/cpp0x/sfinae39.C: New.
-
-2012-09-04 Jason Merrill <jason@redhat.com>
-
- PR c++/54441
- * g++.dg/ext/flexary3.C: New.
-
- PR c++/54420
- * g++.dg/cpp0x/lambda/lambda-intname.C: New.
-
- PR c++/54198
- * g++.dg/template/defarg15.C: New.
-
- PR c++/54437
- * g++.dg/template/access24.C: New.
-
-2012-09-04 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54458
- * gcc.dg/torture/pr54458.c: New testcase.
-
-2012-09-04 Christophe Lyon <christophe.lyon@linaro.org>
-
- * gcc.target/arm/neon-vext.c: New test.
- * gcc.target/arm/neon-vext-execute.c: Ditto.
-
-2012-09-04 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54243
- PR fortran/54244
- * gfortran.dg/select_type_29.f03: New.
-
-2012-09-03 Marc Glisse <marc.glisse@inria.fr>
-
- * gcc.dg/fold-perm.c: Improve test.
-
-2012-09-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51632
- * gfortran.dg/coarray_class_1.f90: New.
-
-2012-09-02 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/49206
- * gcc.c-torture/compile/pr49206.c: New test.
-
-2012-09-02 Dominique Dhumieres <dominiq@lps.ens.fr>
- Uros Bizjak <ubizjak@gmail.com>
-
- PR target/36680
- * gfortran.dg/pr36680.f90: New test.
-
-2012-09-02 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/42295
- * g++.dg/opt/pr42295.C: New test.
-
-2012-09-01 Jakub Jelinek <jakub@redhat.com>
-
- PR target/54436
- * gcc.dg/torture/pr54436.c: New test.
-
-2012-09-01 Andrew Pinski <apinski@cavium.com>
-
- * gcc.target/mips/truncate-8.c: New testcase.
-
-2012-09-01 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/46829
- PR target/46843
- * gcc.target/i386/pr46829.c: New test.
- * gcc.target/i386/pr46843.c: Ditto.
-
-2012-08-31 Paolo Carlini <paolo.carlini@oracle.com>
- Jason Merrill <jason@redhat.com>
-
- PR c++/18747
- * g++.dg/parse/error50.C: New.
-
-2012-08-31 Jakub Jelinek <jakub@redhat.com>
-
- PR c/54428
- * gcc.c-torture/compile/pr54428.c: New test.
-
-2012-08-31 Ollie Wild <aaw@google.com>
-
- PR c++/54197
- * g++.dg/init/lifetime3.C: New test.
-
-2012-08-31 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/54409
- * gcc.dg/torture/pr54409.c: New test.
-
-2012-08-31 Martin Jambor <mjambor@suse.cz>
-
- * gfortran.dg/pr48636.f90: Add dump scan checks.
-
-2012-08-29 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/mips.exp: Work out default -msynci setting.
-
-2012-08-28 Joey Ye <joey.ye@arm.com>
-
- * gcc.dg/tree-ssa/ssa-dom-thread-3.c: Add -fno-short-enums.
-
-2012-08-27 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/46254
- * gcc.target/i386/pr46254.c: New test.
-
-2012-08-27 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/ext_ins.c, gcc.target/mips/octeon-pop-2.c,
- gcc.target/mips/pr54240.c, gcc.target/mips/stack-1.c,
- gcc.target/mips/unaligned-1.c: Add NOMIPS16.
-
-2012-08-27 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/20020620-1.c, gcc.target/mips/atomic-memory-2.c,
- gcc.target/mips/branch-2.c, gcc.target/mips/branch-3.c,
- gcc.target/mips/clear-cache-1.c, gcc.target/mips/const-anchor-1.c,
- gcc.target/mips/const-anchor-2.c, gcc.target/mips/dspr2-MULT.c,
- gcc.target/mips/dspr2-MULTU.c, gcc.target/mips/ext-1.c,
- gcc.target/mips/ext-2.c, gcc.target/mips/ext-3.c,
- gcc.target/mips/ext-4.c, gcc.target/mips/ext_ins.c,
- gcc.target/mips/fpcmp-1.c, gcc.target/mips/fpcmp-2.c,
- gcc.target/mips/mips16e-extends.c, gcc.target/mips/mips32-dsp.c,
- gcc.target/mips/mips32-dsp-type.c, gcc.target/mips/mips32r2-mxhc1.c,
- gcc.target/mips/mips-ps-5.c, gcc.target/mips/mips-ps-7.c,
- gcc.target/mips/mips-ps-type-2.c, gcc.target/mips/mips-ps-type.c,
- gcc.target/mips/movcc-1.c, gcc.target/mips/movcc-2.c,
- gcc.target/mips/movcc-3.c, gcc.target/mips/neg-abs-1.c,
- gcc.target/mips/neg-abs-2.c, gcc.target/mips/nmadd-1.c,
- gcc.target/mips/nmadd-2.c, gcc.target/mips/nmadd-3.c,
- gcc.target/mips/octeon-exts-7.c, gcc.target/mips/octeon-seq-4.c,
- gcc.target/mips/rsqrt-1.c, gcc.target/mips/rsqrt-2.c,
- gcc.target/mips/rsqrt-3.c, gcc.target/mips/sb1-1.c,
- gcc.target/mips/scc-4.c, gcc.target/mips/stack-1.c,
- gcc.target/mips/unaligned-1.c: Tighten regexps.
-
-2012-08-27 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/mips.exp: Use gcc-dg-runtest rather than dg-runtest.
- (mips_option_groups): Remove optimization. Add various -f options.
- (mips-dg-options): Make -funroll-loops imply -funroll-all-loops
- and -pg imply -fno-omit-frame-pointer.
- * gcc.target/mips/abi-eabi32-long32.c: Remove optimization flag.
- * gcc.target/mips/abi-eabi32-long64.c: Likewise.
- * gcc.target/mips/abi-eabi64-long32.c: Likewise.
- * gcc.target/mips/abi-eabi64-long64.c: Likewise.
- * gcc.target/mips/abi-n32-long32-no-shared.c: Likewise.
- * gcc.target/mips/abi-n32-long32-pic.c: Likewise.
- * gcc.target/mips/abi-n32-long32.c: Likewise.
- * gcc.target/mips/abi-n32-long64-no-shared.c: Likewise.
- * gcc.target/mips/abi-n32-long64-pic.c: Likewise.
- * gcc.target/mips/abi-n32-long64.c: Likewise.
- * gcc.target/mips/abi-n64-long32-no-shared.c: Likewise.
- * gcc.target/mips/abi-n64-long32-pic.c: Likewise.
- * gcc.target/mips/abi-n64-long32.c: Likewise.
- * gcc.target/mips/abi-n64-long64-no-shared.c: Likewise.
- * gcc.target/mips/abi-n64-long64-pic.c: Likewise.
- * gcc.target/mips/abi-n64-long64.c: Likewise.
- * gcc.target/mips/abi-o32-long32-no-shared.c: Likewise.
- * gcc.target/mips/abi-o32-long32-pic.c: Likewise.
- * gcc.target/mips/abi-o32-long32.c: Likewise.
- * gcc.target/mips/abi-o32-long64-no-shared.c: Likewise.
- * gcc.target/mips/abi-o32-long64-pic.c: Likewise.
- * gcc.target/mips/abi-o32-long64.c: Likewise.
- * gcc.target/mips/abi-o64-long32-no-shared.c: Likewise.
- * gcc.target/mips/abi-o64-long32-pic.c: Likewise.
- * gcc.target/mips/abi-o64-long32.c: Likewise.
- * gcc.target/mips/abi-o64-long64-no-shared.c: Likewise.
- * gcc.target/mips/abi-o64-long64-pic.c: Likewise.
- * gcc.target/mips/abi-o64-long64.c: Likewise.
- * gcc.target/mips/asm-1.c: Likewise.
- * gcc.target/mips/branch-1.c: Likewise.
- * gcc.target/mips/call-3.c: Likewise.
- * gcc.target/mips/call-saved-3.c: Likewise.
- * gcc.target/mips/clear-cache-1.c: Likewise.
- * gcc.target/mips/div-1.c: Likewise.
- * gcc.target/mips/div-2.c: Likewise.
- * gcc.target/mips/div-3.c: Likewise.
- * gcc.target/mips/div-4.c: Likewise.
- * gcc.target/mips/div-5.c: Likewise.
- * gcc.target/mips/div-6.c: Likewise.
- * gcc.target/mips/div-7.c: Likewise.
- * gcc.target/mips/div-8.c: Likewise.
- * gcc.target/mips/div-9.c: Likewise.
- * gcc.target/mips/div-10.c: Likewise.
- * gcc.target/mips/div-11.c: Likewise.
- * gcc.target/mips/div-12.c: Likewise.
- * gcc.target/mips/dsp-ctrl.c: Likewise.
- * gcc.target/mips/dsp-no-lhx.c: Likewise.
- * gcc.target/mips/ext-8.c: Likewise.
- * gcc.target/mips/extend-2.c: Likewise.
- * gcc.target/mips/fix-r10000-1.c: Likewise.
- * gcc.target/mips/fix-r10000-2.c: Likewise.
- * gcc.target/mips/fix-r10000-3.c: Likewise.
- * gcc.target/mips/fix-r10000-4.c: Likewise.
- * gcc.target/mips/fix-r10000-5.c: Likewise.
- * gcc.target/mips/fix-r10000-6.c: Likewise.
- * gcc.target/mips/fix-r10000-7.c: Likewise.
- * gcc.target/mips/fix-r10000-8.c: Likewise.
- * gcc.target/mips/fix-r10000-9.c: Likewise.
- * gcc.target/mips/fix-r10000-10.c: Likewise.
- * gcc.target/mips/fix-r10000-11.c: Likewise.
- * gcc.target/mips/fix-r10000-12.c: Likewise.
- * gcc.target/mips/fix-r10000-13.c: Likewise.
- * gcc.target/mips/fix-r10000-14.c: Likewise.
- * gcc.target/mips/fix-r10000-15.c: Likewise.
- * gcc.target/mips/fpcmp-1.c: Likewise.
- * gcc.target/mips/fpcmp-2.c: Likewise.
- * gcc.target/mips/fpr-moves-7.c: Likewise.
- * gcc.target/mips/fpr-moves-8.c: Likewise.
- * gcc.target/mips/int-moves-1.c: Likewise.
- * gcc.target/mips/int-moves-2.c: Likewise.
- * gcc.target/mips/long-calls-pg.c: Likewise.
- * gcc.target/mips/loongson-muldiv-1.c: Likewise.
- * gcc.target/mips/loongson-muldiv-2.c: Likewise.
- * gcc.target/mips/loongson-shift-count-truncated-1.c: Likewise.
- * gcc.target/mips/loongson3a-muldiv-1.c: Likewise.
- * gcc.target/mips/loongson3a-muldiv-2.c: Likewise.
- * gcc.target/mips/mips-3d-1.c: Likewise.
- * gcc.target/mips/mips-3d-2.c: Likewise.
- * gcc.target/mips/mips-3d-3.c: Likewise.
- * gcc.target/mips/mips-3d-4.c: Likewise.
- * gcc.target/mips/mips-3d-5.c: Likewise.
- * gcc.target/mips/mips-3d-6.c: Likewise.
- * gcc.target/mips/mips-3d-7.c: Likewise.
- * gcc.target/mips/mips-3d-8.c: Likewise.
- * gcc.target/mips/mips-3d-9.c: Likewise.
- * gcc.target/mips/mips-ps-1.c: Likewise.
- * gcc.target/mips/mips-ps-2.c: Likewise.
- * gcc.target/mips/mips-ps-3.c: Likewise.
- * gcc.target/mips/mips-ps-4.c: Likewise.
- * gcc.target/mips/mips-ps-6.c: Likewise.
- * gcc.target/mips/mips32-dspr2.c: Likewise.
- * gcc.target/mips/mmcount-ra-address-1.c: Likewise.
- * gcc.target/mips/neg-abs-1.c: Likewise.
- * gcc.target/mips/neg-abs-2.c: Likewise.
- * gcc.target/mips/nmadd-3.c: Likewise.
- * gcc.target/mips/no-smartmips-lwxs.c: Likewise.
- * gcc.target/mips/no-smartmips-ror-1.c: Likewise.
- * gcc.target/mips/octeon-pop-1.c: Likewise.
- * gcc.target/mips/pr26765.c: Likewise.
- * gcc.target/mips/pr33256.c: Likewise.
- * gcc.target/mips/pr33635-1.c: Likewise.
- * gcc.target/mips/pr33755.c: Likewise.
- * gcc.target/mips/pr35802.c: Likewise.
- * gcc.target/mips/pr45074.c: Likewise.
- * gcc.target/mips/r10k-cache-barrier-1.c: Likewise.
- * gcc.target/mips/r10k-cache-barrier-2.c: Likewise.
- * gcc.target/mips/r10k-cache-barrier-3.c: Likewise.
- * gcc.target/mips/r10k-cache-barrier-4.c: Likewise.
- * gcc.target/mips/r10k-cache-barrier-5.c: Likewise.
- * gcc.target/mips/r10k-cache-barrier-6.c: Likewise.
- * gcc.target/mips/r10k-cache-barrier-7.c: Likewise.
- * gcc.target/mips/r10k-cache-barrier-8.c: Likewise.
- * gcc.target/mips/r10k-cache-barrier-9.c: Likewise.
- * gcc.target/mips/r10k-cache-barrier-11.c: Likewise.
- * gcc.target/mips/r10k-cache-barrier-12.c: Likewise.
- * gcc.target/mips/r10k-cache-barrier-13.c: Likewise.
- * gcc.target/mips/r10k-cache-barrier-14.c: Likewise.
- * gcc.target/mips/r10k-cache-barrier-15.c: Likewise.
- * gcc.target/mips/save-restore-1.c: Likewise.
- * gcc.target/mips/save-restore-3.c: Likewise.
- * gcc.target/mips/save-restore-5.c: Likewise.
- * gcc.target/mips/smartmips-ror-1.c: Likewise.
- * gcc.target/mips/smartmips-ror-2.c: Likewise.
- * gcc.target/mips/smartmips-ror-3.c: Likewise.
- * gcc.target/mips/smartmips-ror-4.c: Likewise.
- * gcc.target/mips/stack-1.c: Likewise.
-
- * gcc.target/mips/clear-cache-2.c: Remove optimization flag.
- Tighten regexps.
-
- * gcc.target/mips/branch-8.c: Arrange for the delay slot of the
- branch under test to be filled with preceding rather than
- following instructions.
- * gcc.target/mips/branch-10.c: Likewise.
- * gcc.target/mips/branch-11.c: Likewise.
- * gcc.target/mips/branch-12.c: Likewise.
- * gcc.target/mips/branch-13.c: Likewise.
- * gcc.target/mips/branch-9.c: Likewise. Allow the frame pointer
- to be eliminated. Tighten $28 scan-assembler-not test.
-
- * gcc.target/mips/call-2.c: Remove optimization flag. Move second
- function to...
- * gcc.target/mips/call-4.c: ...this new test.
-
- * gcc.target/mips/code-readable-2.c: Rework to make a jump table
- more likely.
- * gcc.target/mips/code-readable-3.c: Likewise.
- * gcc.target/mips/code-readable-1.c: Likewise. Remove optimization
- flag but skip for -O0.
- * gcc.target/mips/code-readable-4.c: Likewise.
-
- * gcc.target/mips/mips32-dsp-run.c: Prevent compile-time reduction
- of operations under test.
- * gcc.target/mips/mips32-dsp.c: Likewise. Remove optimization flag.
-
- * gcc.target/mips/near-far-3.c: Remove optimization flag.
- Don't require sibling-call optimization.
- * gcc.target/mips/near-far-4.c: Likewise.
-
- * gcc.target/mips/no-dsp-1.c: Require -ffat-lto-objects.
- Make sure that the register variable is used.
- * gcc.target/mips/soft-float-1.c: Likewise.
-
- * gcc.target/mips/sdata-1.c: Make static data volatile.
- * gcc.target/mips/sdata-2.c: Likewise.
- * gcc.target/mips/sdata-3.c: Likewise.
- * gcc.target/mips/sdata-4.c: Likewise.
-
- * gcc.target/mips/20020620-1.c: Remove optimization flag but
- skip for -O0.
- * gcc.target/mips/atomic-memory-2.c: Likewise.
- * gcc.target/mips/branch-cost-1.c: Likewise.
- * gcc.target/mips/branch-cost-2.c: Likewise.
- * gcc.target/mips/cache-1.c: Likewise.
- * gcc.target/mips/call-1.c: Likewise.
- * gcc.target/mips/call-saved-2.c: Likewise.
- * gcc.target/mips/const-anchor-1.c: Likewise.
- * gcc.target/mips/const-anchor-2.c: Likewise.
- * gcc.target/mips/dse-1.c: Likewise.
- * gcc.target/mips/dsp-lhx.c: Likewise.
- * gcc.target/mips/dspr2-MULTU.c: Likewise.
- * gcc.target/mips/ext-1.c: Likewise.
- * gcc.target/mips/ext-2.c: Likewise.
- * gcc.target/mips/ext-3.c: Likewise.
- * gcc.target/mips/ext-4.c: Likewise.
- * gcc.target/mips/ext-5.c: Likewise.
- * gcc.target/mips/ext-6.c: Likewise.
- * gcc.target/mips/ext-7.c: Likewise.
- * gcc.target/mips/extend-1.c: Likewise.
- * gcc.target/mips/fix-r4000-1.c: Likewise.
- * gcc.target/mips/fix-r4000-3.c: Likewise.
- * gcc.target/mips/fix-r4000-5.c: Likewise.
- * gcc.target/mips/fix-r4000-6.c: Likewise.
- * gcc.target/mips/fix-r4000-8.c: Likewise.
- * gcc.target/mips/fix-r4000-10.c: Likewise.
- * gcc.target/mips/fixed-scalar-type.c: Likewise.
- * gcc.target/mips/fixed-vector-type.c: Likewise.
- * gcc.target/mips/fpr-moves-1.c: Likewise.
- * gcc.target/mips/fpr-moves-2.c: Likewise.
- * gcc.target/mips/fpr-moves-3.c: Likewise.
- * gcc.target/mips/fpr-moves-4.c: Likewise.
- * gcc.target/mips/fpr-moves-5.c: Likewise.
- * gcc.target/mips/fpr-moves-6.c: Likewise.
- * gcc.target/mips/ins-1.c: Likewise.
- * gcc.target/mips/ins-2.c: Likewise.
- * gcc.target/mips/interrupt_handler-2.c: Likewise.
- * gcc.target/mips/interrupt_handler-3.c: Likewise.
- * gcc.target/mips/lazy-binding-1.c: Likewise.
- * gcc.target/mips/madd-3.c: Likewise.
- * gcc.target/mips/madd-5.c: Likewise.
- * gcc.target/mips/madd-6.c: Likewise.
- * gcc.target/mips/madd-8.c: Likewise.
- * gcc.target/mips/madd-9.c: Likewise.
- * gcc.target/mips/memcpy-1.c: Likewise.
- * gcc.target/mips/mips-ps-type.c: Likewise.
- * gcc.target/mips/mips-ps-type-2.c: Likewise.
- * gcc.target/mips/mips-sched-madd.c: Likewise.
- * gcc.target/mips/mips16e-extends.c: Likewise.
- * gcc.target/mips/mips32r2-mxhc1.c: Likewise.
- * gcc.target/mips/mips64-dsp-ldx.c: Likewise.
- * gcc.target/mips/movcc-1.c: Likewise.
- * gcc.target/mips/movcc-2.c: Likewise.
- * gcc.target/mips/movcc-3.c: Likewise.
- * gcc.target/mips/msub-5.c: Likewise.
- * gcc.target/mips/msub-6.c: Likewise.
- * gcc.target/mips/msub-8.c: Likewise.
- * gcc.target/mips/mult-2.c: Likewise.
- * gcc.target/mips/mult-3.c: Likewise.
- * gcc.target/mips/mult-5.c: Likewise.
- * gcc.target/mips/mult-6.c: Likewise.
- * gcc.target/mips/mult-7.c: Likewise.
- * gcc.target/mips/mult-12.c: Likewise.
- * gcc.target/mips/mult-13.c: Likewise.
- * gcc.target/mips/mult-14.c: Likewise.
- * gcc.target/mips/mult-15.c: Likewise.
- * gcc.target/mips/mult-17.c: Likewise.
- * gcc.target/mips/mult-18.c: Likewise.
- * gcc.target/mips/mult-19.c: Likewise.
- * gcc.target/mips/nmadd-1.c: Likewise.
- * gcc.target/mips/nmadd-2.c: Likewise.
- * gcc.target/mips/octeon-baddu-1.c: Likewise.
- * gcc.target/mips/octeon-cins-1.c: Likewise.
- * gcc.target/mips/octeon-cins-2.c: Likewise.
- * gcc.target/mips/octeon-dmul-3.c: Likewise.
- * gcc.target/mips/octeon-exts-2.c: Likewise.
- * gcc.target/mips/octeon-exts-3.c: Likewise.
- * gcc.target/mips/octeon-exts-4.c: Likewise.
- * gcc.target/mips/octeon-exts-5.c: Likewise.
- * gcc.target/mips/octeon-exts-6.c: Likewise.
- * gcc.target/mips/octeon-exts-7.c: Likewise.
- * gcc.target/mips/octeon-pop-2.c: Likewise.
- * gcc.target/mips/octeon-seq-3.c: Likewise.
- * gcc.target/mips/octeon-seq-4.c: Likewise.
- * gcc.target/mips/octeon2-lx-1.c: Likewise.
- * gcc.target/mips/octeon2-lx-2.c: Likewise.
- * gcc.target/mips/octeon2-lx-3.c: Likewise.
- * gcc.target/mips/pr54240.c: Likewise.
- * gcc.target/mips/rsqrt-1.c: Likewise.
- * gcc.target/mips/rsqrt-2.c: Likewise.
- * gcc.target/mips/rsqrt-3.c: Likewise.
- * gcc.target/mips/rsqrt-4.c: Likewise.
- * gcc.target/mips/save-restore-2.c: Likewise.
- * gcc.target/mips/save-restore-4.c: Likewise.
- * gcc.target/mips/sb1-1.c: Likewise.
- * gcc.target/mips/scc-1.c: Likewise.
- * gcc.target/mips/scc-2.c: Likewise.
- * gcc.target/mips/scc-3.c: Likewise.
- * gcc.target/mips/scc-4.c: Likewise.
- * gcc.target/mips/smartmips-lwxs.c: Likewise.
- * gcc.target/mips/truncate-1.c: Likewise.
- * gcc.target/mips/truncate-2.c: Likewise.
- * gcc.target/mips/truncate-3.c: Likewise.
- * gcc.target/mips/truncate-4.c: Likewise.
- * gcc.target/mips/truncate-5.c: Likewise.
- * gcc.target/mips/truncate-6.c: Likewise.
- * gcc.target/mips/unaligned-1.c: Likewise.
-
- * gcc.target/mips/dpaq_sa_l_w.c: Remove optimization flag but
- skip for -O0. Require -fexpensive-optimizations.
- * gcc.target/mips/dpsq_sa_l_w.c: Likewise.
- * gcc.target/mips/dspr2-MULT.c: Likewise.
- * gcc.target/mips/fix-r4000-2.c: Likewise.
- * gcc.target/mips/fix-r4000-4.c: Likewise.
- * gcc.target/mips/fix-r4000-7.c: Likewise.
- * gcc.target/mips/fix-r4000-9.c: Likewise.
- * gcc.target/mips/madd-1.c: Likewise.
- * gcc.target/mips/madd-2.c: Likewise.
- * gcc.target/mips/madd-4.c: Likewise.
- * gcc.target/mips/maddu-1.c: Likewise.
- * gcc.target/mips/maddu-2.c: Likewise.
- * gcc.target/mips/maddu-3.c: Likewise.
- * gcc.target/mips/maddu-4.c: Likewise.
- * gcc.target/mips/msub-1.c: Likewise.
- * gcc.target/mips/msub-2.c: Likewise.
- * gcc.target/mips/msub-3.c: Likewise.
- * gcc.target/mips/msub-4.c: Likewise.
- * gcc.target/mips/msubu-1.c: Likewise.
- * gcc.target/mips/msubu-2.c: Likewise.
- * gcc.target/mips/msubu-3.c: Likewise.
- * gcc.target/mips/msubu-4.c: Likewise.
- * gcc.target/mips/mult-1.c: Likewise.
- * gcc.target/mips/mult-4.c: Likewise.
- * gcc.target/mips/mult-8.c: Likewise.
- * gcc.target/mips/mult-9.c: Likewise.
- * gcc.target/mips/mult-10.c: Likewise.
- * gcc.target/mips/mult-11.c: Likewise.
- * gcc.target/mips/mult-16.c: Likewise.
-
- * gcc.target/mips/fix-r4000-11.c: Remove optimization flag but
- skip for -O0 and -Os.
- * gcc.target/mips/fix-r4000-12.c: Likewise.
- * gcc.target/mips/madd-7.c: Likewise.
- * gcc.target/mips/mips-ps-5.c: Likewise.
- * gcc.target/mips/mips-ps-7.c: Likewise.
- * gcc.target/mips/msub-7.c: Likewise.
-
- * gcc.target/mips/mmcount-ra-address-2.c: Remove optimization flag but
- skip for -O0. Require -mno-abicalls.
- * gcc.target/mips/mmcount-ra-address-3.c: Likewise.
-
- * gcc.target/mips/octeon-bbit-1.c: Remove optimization flag but
- skip for -O0. Require a total number of BBIT instructions and
- at least one of each kind.
-
- * gcc.target/mips/octeon-bbit-2.c: Remove optimization flag but
- skip for -O0. Require -fno-unroll-loops.
-
- * gcc.target/mips/octeon-bbit-3.c: Remove optimization flag but
- skip for -O0. Allow BLTZ as well as BGEZ.
-
- * gcc.target/mips/octeon-dmul-2.c: Skip for -Os.
-
- * gcc.target/mips/octeon-pipe-1.c: Remove optimization flag but
- skip for -O0. Require -fschedule-insns2.
- * gcc.target/mips/octeon2-pipe-1.c: Likewise.
-
- * gcc.target/mips/r10k-cache-barrier-10.c: Remove optimization flag
- but skip for -O0. Make a branch-likely more likely.
-
- * gcc.target/mips/timode-2.c: Split each test into its own function.
- * gcc.target/mips/timode-1.c: Likewise. Skip for -Os.
-
- * gcc.target/mips/vr-mult-1.c: Remove optimization flag but
- skip for -O0. Require -fpeephole2.
- * gcc.target/mips/vr-mult-2.c: Likewise.
-
-2012-05-25 Dodji Seketeli <dodji@redhat.com>
-
- PR preprocessor/53469
- * gcc.dg/cpp/_Pragma7.c: New test case.
-
-2012-08-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54370
- * gfortran.dg/do_5.f90: New.
-
-2012-08-27 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/bessel_5.f90: Remove -Wno-compare-reals
- from dg-options as -Wall no longer implies it.
-
-2012-08-26 Richard Sandiford <rdsandiford@googlemail.com>
-
- * lib/scanasm.exp (scan-assembler-times_required_options): New proc.
-
-2012-08-25 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/fntmpdefarg3.C: New.
-
-2012-08-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51421
- * g++.dg/cpp0x/auto34.C: New.
-
-2012-08-24 Jakub Jelinek <jakub@redhat.com>
-
- PR c/54363
- * gcc.dg/pr54363.c: New test.
-
- PR c/54355
- * gcc.dg/pr54355.c: New test.
-
-2012-08-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR debug/52857
- * gcc.target/i386/pr52857-1.c: New.
- * gcc.target/i386/pr52857-2.c: Likewise.
-
-2012-08-23 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/code-readable-4.c: New test.
-
-2012-08-23 Julian Brown <julian@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * gcc.target/mips/code-readable-1.c: Add -O to options.
-
-2012-08-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/20420
- * g++.dg/lookup/using53.C: New.
-
-2012-08-23 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.dg/fixed-point/convert.c: Split into manageable parts:
- * gcc.dg/fixed-point/convert-1.c: New.
- * gcc.dg/fixed-point/convert-2.c: New.
- * gcc.dg/fixed-point/convert-3.c: New.
- * gcc.dg/fixed-point/convert-4.c: New.
- * gcc.dg/fixed-point/convert-float-1.c: New.
- * gcc.dg/fixed-point/convert-float-2.c: New.
- * gcc.dg/fixed-point/convert-float-3.c: New.
- * gcc.dg/fixed-point/convert-float-4.c: New.
- * gcc.dg/fixed-point/convert-accum-neg.c: New.
- * gcc.dg/fixed-point/convert-sat.c: New.
- * gcc.dg/fixed-point/convert.h: New.
-
-2012-08-22 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * gcc.target/sh/pr54089-2.c: New.
-
-2012-08-22 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/long-double-64-1.c: New file.
- * gcc.target/i386/long-double-64-2.c: Likewise.
- * gcc.target/i386/long-double-64-3.c: Likewise.
- * gcc.target/i386/long-double-64-4.c: Likewise.
- * gcc.target/i386/long-double-80-1.c: Likewise.
- * gcc.target/i386/long-double-80-2.c: Likewise.
- * gcc.target/i386/long-double-80-3.c: Likewise.
- * gcc.target/i386/long-double-80-4.c: Likewise.
- * gcc.target/i386/long-double-80-5.c: Likewise.
- * gcc.target/i386/long-double-80-6.c: Likewise.
- * gcc.target/i386/long-double-80-7.c: Likewise.
-
-2012-08-22 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/54317
- * gcc.dg/tree-ssa/vrp79.c: New testcase.
-
-2012-08-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/39423
- * gcc.target/sh/pr39423-2.c: New.
-
-2012-08-21 Marc Glisse <marc.glisse@inria.fr>
-
- * gcc.dg/tree-ssa/forwprop-19.c: New testcase.
- * gcc.dg/fold-perm.c: Likewise.
-
-2012-08-20 Jan Hubicka <jh@suse.cz>
-
- PR fortran/48636
- * gcc.dg/ipa/inlinehint-1.c: New.
-
-2012-08-20 Florian Weimer <fweimer@redhat.com>
-
- PR c++/19351
- * g++.dg/init/new38.C: New test.
- * g++.dg/init/new39.C: New test.
-
-2012-08-20 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54089
- * gcc.target/sh/pr54089-1.c: New.
-
-2012-08-20 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * gcc.target/sh/pr51244-11.c: New.
-
-2012-08-20 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54301
- * gfortran.dg/warn_target_lifetime_2.f90: New.
-
-2012-08-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/10416
- * g++.dg/warn/Wunused-var-17.C: New.
-
-2012-08-20 Patrick Marlier <patrick.marlier@gmail.com>
-
- PR middle-end/53992
- * gcc.dg/gomp/pr53992.c: New test.
-
-2012-08-20 Richard Earnshaw <rearnsha@arm.com>
-
- PR tree-ssa/54295
- * gcc.c-torture/execute/20120817-1.c: New test.
-
-2012-08-20 Richard Earnshaw <rearnsha@arm.com>
-
- * gcc.target/arm/thumb-16bit-ops.c (f): This test uses a 16-bit
- add instruction.
- (f2): New test that really does need adds.
-
-2012-08-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54327
- * gcc.dg/torture/pr54327.c: New testcase.
-
-2012-08-20 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/54321
- * gcc.c-torture/compile/pr54321.c: New test.
-
-2012-08-20 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54301
- * gfortran.dg/warn_target_lifetime_1.f90: New.
-
-2012-08-19 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/54298
- * gfortran.dg/real_compare_1.f90: New test case.
- * gfortran.dg/bessel_5.f90: Add -Wno-compare-reals to options.
-
-2012-08-18 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/ipa/iinline-1.c: Update testcase to test inline hints.
-
-2012-08-18 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/39290
- * gfortran.dg/interface_37.f90: New test.
-
-2012-08-17 H.J. Lu <hongjiu.lu@intel.com>
- Gary Funck <gary@intrepid.com>
-
- PR target/20020
- * gcc.target/i386/pr20020-1.c: New test.
- * gcc.target/i386/pr20020-2.c: Likewise.
- * gcc.target/i386/pr20020-3.c: Likewise.
-
-2012-08-17 Marc Glisse <marc.glisse@inria.fr>
-
- * gcc.target/i386/perm-concat.c: New test.
-
-2012-08-17 Julian Brown <julian@codesourcery.com>
-
- * gcc.target/arm/div64-unwinding.c: New test.
-
-2012-08-17 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/torture/Wsizeof-pointer-memaccess1.c: New test.
-
-2012-08-16 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * gcc.target/sh/pr54236-1.c: New.
-
-2012-08-16 Hans-Peter Nilsson <hp@axis.com>
-
- * lib/target-supports.exp (check_effective_target_sync_int_long)
- (check_effective_target_sync_char_short): Enable for crisv32-*
- and cris-*.
-
- PR middle-end/54261
- * gcc.dg/torture/pr54261-1.c: New test.
-
-2012-08-15 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54243
- PR fortran/54244
- * gfortran.dg/typebound_call_24.f03: New.
-
-2012-08-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/54245
- * gcc.dg/tree-ssa/pr54245.c: New test.
-
-2012-08-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/54240
- * gcc.target/powerpc/pr54240.c: New test.
- * gcc.target/mips/pr54240.c: Likewise.
-
-2012-08-14 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/52933
- * gcc.target/sh/pr52933-1.c: New.
- * gcc.target/sh/pr52933-2.c: New.
-
-2012-08-14 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/50751
- * gcc.target/sh/pr50751-8.c: New.
-
-2012-08-14 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/47586
- * gfortran.dg/typebound_proc_20.f90: Enable runtime test.
- * gfortran.dg/typebound_proc_27.f03: New test.
-
-2012-08-14 Sterling Augustine <saugustine@google.com>
-
- * g++.dg/debug/dwarf2/pubnames-2.C: Adjust.
-
-2012-08-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/40881
- * gfortran.dg/data_constraints_3.f90: New.
- * gfortran.dg/data_constraints_1.f90: Add dg-options ""
- to disable -pedantic compilation.
- * gfortran.dg/pr37243.f: Ditto.
- * gfortran.dg/g77/19990826-3.f: Ditto.
- * gfortran.dg/g77/20020307-1.f : Ditto.
- * gfortran.dg/g77/980310-3.f: Ditto.
-
-2012-08-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54234
- * gfortran.dg/warn_conversion_4.f90: New.
-
-2012-08-14 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/53411
- PR rtl-optimization/53495
- * gcc.c-torture/compile/pr53411.c: New test.
- * gcc.c-torture/compile/pr53495.c: New test.
-
-2012-08-13 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-prof/update-loopch.c: Adjust.
-
-2012-08-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54200
- * gcc.dg/guality/pr54200.c: New testcase.
- * gcc.dg/tree-ssa/slsr-8.c: Adjust.
-
-2012-08-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- * gcc.target/sh/prefetch.c: Add -m3* to inclusion list.
-
-2012-08-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * gcc.target/sh/pr51244-7.c: New.
- * gcc.target/sh/pr51244-8.c: New.
- * gcc.target/sh/pr51244-9.c: New.
- * gcc.target/sh/pr51244-10.c: New.
-
-2012-08-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- * gcc.target/sh/pr50749-sf-postinc-1.c: Skip for -m3. Don't skip for
- -m2e or -m2a.
- * gcc.target/sh/pr50749-sf-postinc-3.c: Likewise.
- * gcc.target/sh/pr53511-1.c: Likewise.
- * gcc.target/sh/pr50749-sf-predec-1.c: Likewise.
- * gcc.target/sh/pr50749-sf-predec-3.c: Likewise.
- * gcc.target/sh/pr53512-1.c: Skip for -m3*.
- * gcc.target/sh/pr53512-3.c: Likewise.
- * gcc.target/sh/pr21255-3.c: Skip for single precision FPU targets.
-
-2012-08-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/39423
- * gcc.c-torture/compile/pr39423-1.c: New.
- * gcc.c-torture/compile/pr39423-2.c: New.
-
-2012-08-12 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54221
- * vect/vect-gems.f90: Don't mark module vars as PRIVATE as
- they appear uninitialized on the RHS.
- * gfortran.dg/public_private_module_6.f90: New.
-
-2012-08-11 Martin Jambor <mjambor@suse.cz>
-
- PR fortran/48636
- * gfortran.dg/pr48636.f90: New test.
-
-2012-08-10 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/torture/vector-shuffle1.c (f): Pass vectors indirectly
- to avoid warnings.
- (main): Adjust caller.
-
-2012-08-10 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/matrix/*.c: Adjust and move ...
- * gcc.dg/torture/: ... here.
- * gcc.dg/matrix: Remove directory.
-
-2012-08-10 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/54219
- * gcc.dg/torture/vector-shuffle1.c: New testcase.
-
-2012-08-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR middle-end/54211
- * gcc.dg/tree-ssa/pr54211.c: New test.
-
-2012-08-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * lib/target-supports.exp (check_effective_target_long_neq_int): New.
- * gcc.dg/tree-ssa/slsr-30.c: Check for long_neq_int effective target.
-
-2012-08-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54109
- * gcc.dg/torture/pr54109.c: New testcase.
- * gcc.dg/tree-ssa/forwprop-1.c: Adjust.
- * gcc.dg/tree-ssa/forwprop-2.c: Likewise.
-
-2012-08-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54027
- * gcc.dg/torture/pr54027.c: New testcase.
-
-2012-08-10 Richard Guenther <rguenther@suse.de>
-
- * g++.dg/plugin/selfassign.c: Adjust.
- * gcc.dg/plugin/selfassign.c: Likewise.
- * gcc.dg/strlenopt-11.c: Likewise.
- * gcc.dg/strlenopt-13.c: Likewise.
- * gcc.dg/no-strict-overflow-4.c: Likewise.
- * gcc.dg/strict-overflow-4.c: Likewise.
- * gcc.dg/tree-ssa/alias-11.c: Likewise.
- * gcc.dg/tree-ssa/alias-6.c: Likewise.
- * gcc.dg/tree-ssa/asm-3.c: Likewise.
- * gcc.dg/tree-ssa/pr18908.c: Likewise.
- * gcc.dg/tree-ssa/pr19431.c: Likewise.
- * gcc.dg/tree-ssa/ssa-pre-21.c: Likewise.
- * gcc.dg/tree-ssa/phi-opt-10.c: Likewise.
- * gcc.dg/tree-ssa/phi-opt-7.c: Likewise.
- * gcc.dg/tree-ssa/slsr-27.c: Likewise.
- * gcc.dg/tree-ssa/slsr-28.c: Likewise.
- * gcc.dg/tree-ssa/slsr-29.c: Likewise.
- * gcc.dg/pr46309.c: Likewise.
- * gcc.dg/tree-ssa/loop-5.c: Likewise.
-
-2012-08-09 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.c-torture/compile/20120727-1.c (dg-options): Add -mfpmath=387
- for x86 targets.
- * gcc.c-torture/compile/20120727-2.c: New test.
-
-2012-08-09 Martin Jambor <mjambor@suse.cz>
-
- * gcc.dg/ipa/iinline-4.c: New test.
- * gcc.dg/ipa/iinline-5.c: Likewise.
- * gcc.dg/ipa/iinline-6.c: Likewise.
- * gcc.dg/ipa/iinline-7.c: Likewise.
- * gcc.dg/lto/20120723_0.c: Likewise.
- * gcc.dg/lto/20120723_1.c: Likewise.
-
-2012-08-09 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/39423
- * gcc.target/sh/pr39423-1.c: New.
-
-2012-08-09 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * gcc.target/sh/pr51244-5: New.
- * gcc.target/sh/pr51244-6: New.
-
-2012-08-09 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
-
- * gcc.target/i386/adx-addxcarry32-3.c: New.
- * gcc.target/i386/adx-addxcarry64-3.c: New.
-
-2012-08-09 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/53701
- * gcc.dg/pr53701.c: New test.
-
-2012-08-09 Bernd Schmidt <bernds@codesourcery.com>
-
- * gcc.c-torture/compile/20120727-1.c: New test.
-
-2012-08-09 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54199
- * gfortran.dg/intrinsic_shadow_4.f90: New.
-
-2012-08-08 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.dg/tree-ssa/slsr-30.c: Require non-ilp32. Remove dg-skip-if.
-
-2012-08-08 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.c-torture/execute/20120808-1.c: New test.
-
-2012-08-08 H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl-optimization/54157
- * gcc.target/i386/pr54157.c: New file.
-
-2012-08-08 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
-
- * gcc.target/i386/adx-addcarryx32-1.c: New.
- * gcc.target/i386/adx-addcarryx32-2.c: New.
- * gcc.target/i386/adx-addcarryx64-1.c: New.
- * gcc.target/i386/adx-addcarryx64-2.c: New.
- * gcc.target/i386/adx-check.h: New.
- * gcc.target/i386/i386.exp (check_effective_target_adx): New.
- * gcc.target/i386/sse-12.c: Add -madx.
- * gcc.target/i386/sse-13.c: Ditto.
- * gcc.target/i386/sse-14.c: Ditto.
- * gcc.target/i386/sse-22.c: Ditto.
- * gcc.target/i386/sse-23.c: Ditto.
- * g++.dg/other/i386-2.C: Ditto.
- * g++.dg/other/i386-3.C: Ditto.
-
-2012-08-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * gcc.dg/tree-ssa/slsr-5.c: New.
- * gcc.dg/tree-ssa/slsr-6.c: New.
- * gcc.dg/tree-ssa/slsr-7.c: New.
- * gcc.dg/tree-ssa/slsr-8.c: New.
- * gcc.dg/tree-ssa/slsr-9.c: New.
- * gcc.dg/tree-ssa/slsr-10.c: New.
- * gcc.dg/tree-ssa/slsr-11.c: New.
- * gcc.dg/tree-ssa/slsr-12.c: New.
- * gcc.dg/tree-ssa/slsr-13.c: New.
- * gcc.dg/tree-ssa/slsr-14.c: New.
- * gcc.dg/tree-ssa/slsr-15.c: New.
- * gcc.dg/tree-ssa/slsr-16.c: New.
- * gcc.dg/tree-ssa/slsr-17.c: New.
- * gcc.dg/tree-ssa/slsr-18.c: New.
- * gcc.dg/tree-ssa/slsr-19.c: New.
- * gcc.dg/tree-ssa/slsr-20.c: New.
- * gcc.dg/tree-ssa/slsr-21.c: New.
- * gcc.dg/tree-ssa/slsr-22.c: New.
- * gcc.dg/tree-ssa/slsr-23.c: New.
- * gcc.dg/tree-ssa/slsr-24.c: New.
- * gcc.dg/tree-ssa/slsr-25.c: New.
- * gcc.dg/tree-ssa/slsr-26.c: New.
- * gcc.dg/tree-ssa/slsr-30.c: New.
- * gcc.dg/tree-ssa/slsr-31.c: New.
-
-2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
-
- * gcc.dg/tree-prof/update-loopch.c: Ask for dump with blocks info.
- * gcc.dg/tree-ssa/attr-hotcold-2.c: Likewise.
- * gcc.dg/tree-ssa/pr18133-1.c: Likewise.
-
-2012-08-06 Cary Coutant <ccoutant@google.com>
-
- * g++.dg/debug/dwarf2/non-virtual-thunk.C: New test case.
-
-2012-08-06 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/35831
- * gfortran.dg/dummy_procedure_5.f90: Modified.
- * gfortran.dg/dummy_procedure_8.f90: New.
- * gfortran.dg/interface_26.f90: Modified.
- * gfortran.dg/proc_ptr_11.f90: Modified.
- * gfortran.dg/proc_ptr_15.f90: Modified.
- * gfortran.dg/proc_ptr_result_5.f90: Modified.
- * gfortran.dg/typebound_override_1.f90: Modified.
- * gfortran.dg/typebound_proc_6.f03: Modified.
-
-2012-08-06 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/51938
- PR tree-optimization/52005
- * gcc.dg/tree-ssa/ssa-ifcombine-8.c: New testcase.
- * gcc.dg/tree-ssa/ssa-ifcombine-9.c: Likewise.
- * gcc.dg/tree-ssa/ssa-ifcombine-10.c: Likewise.
- * gcc.dg/tree-ssa/ssa-ifcombine-11.c: Likewise.
-
-2012-08-06 Dodji Seketeli <dodji@redhat.com>
-
- Avoid crashing on erroneous static_assert usage
- * g++.dg/cpp0x/static_assert8.C: New test.
-
-2012-08-06 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/sfinae38.C: New.
-
-2012-08-06 Marc Glisse <marc.glisse@inria.fr>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/54165
- * g++.dg/conversion/void2.C: New.
-
-2012-08-06 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/tree-ssa/vrp78.c: New test.
-
-2012-08-04 Sandra Loosemore <sandra@codesourcery.com>
- Richard Sandiford <rdsandiford@googlemail.com>
-
- * g++.dg/opt/enum2.C: Require fpic target.
- * g++.dg/lto/20090303_0.C: Likewise.
-
-2012-08-04 Sandra Loosemore <sandra@codesourcery.com>
- Catherine Moore <clm@codesourcery.com>
-
- * gcc.target/mips/clear-cache-1.c: Test for alternate cache
- flush function names too.
- * gcc.target/mips/clear-cache-1.c: Likewise.
-
-2012-08-03 Bill Schmidt <wschmidt@linux.ibm.com>
-
- PR target/54156
- * gcc.dg/vect/pr53773.c: Change to use optimized dump.
-
-2012-08-03 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/54166
- * gfortran.dg/array_5.f90: New test.
-
-2012-08-03 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/30318
- * gcc.dg/tree-ssa/vrp77.c: New testcase.
-
-2012-08-03 Marc Glisse <marc.glisse@inria.fr>
-
- * g++.dg/ext/vector17.C: New testcase.
-
-2012-08-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/51931
- * gcc.c-torture/compile/20001226-1.c: Remove nomips16 attribute.
- * g++.dg/opt/longbranch1.C: Likewise.
-
-2012-08-02 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/53805
- * gcc.dg/fold-notunord.c: New testcase.
-
-2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/48820
- * gfortran.dg/assumed_rank_bounds_1.f90: New test.
- * gfortran.dg/assumed_rank_bounds_2.f90: New test.
-
-2012-08-02 Jason Merrill <jason@redhat.com>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51213 (again)
- * g++.dg/cpp0x/sfinae37.C: Extend.
-
-2012-08-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50672
- * g++.dg/torture/pr50672.C: New testcase.
-
-2012-08-02 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54147
- * gfortran.dg/abstract_type_6.f03: Modified.
- * gfortran.dg/proc_ptr_comp_3.f90: Modified.
- * gfortran.dg/proc_ptr_comp_35.f90: New.
- * gfortran.dg/typebound_proc_9.f03: Modified.
- * gfortran.dg/typebound_proc_26.f90: New.
-
-2012-08-02 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/torture/pta-callused-1.c: Adjust.
- * gcc.dg/torture/pta-ptrarith-3.c: Likewise.
- * gcc.dg/torture/ssa-pta-fn-1.c: Likewise.
- * gcc.dg/tree-ssa/alias-19.c: Likewise.
- * gcc.dg/tree-ssa/pta-escape-1.c: Likewise.
- * gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
- * gcc.dg/tree-ssa/pta-escape-3.c: Likewise.
- * gcc.dg/tree-ssa/pta-ptrarith-1.c: Likewise.
- * gcc.dg/tree-ssa/pta-ptrarith-2.c: Likewise.
-
-2012-08-01 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/54033
- * gfortran.dg/include_6.f90: New test case.
- * gfortran.dg/include_7.f90: New test case.
- * gfortran.dg/include_3.f90: Add dg-warning for missing directory.
-
-2012-08-01 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/tree-ssa/vrp76.c: New test.
-
-2012-08-01 Bill Schmidt <wschmidt@linux.ibm.com>
-
- PR tree-optimization/46556
- * gcc.dg/tree-ssa/slsr-27.c: New.
- * gcc.dg/tree-ssa/slsr-28.c: New.
- * gcc.dg/tree-ssa/slsr-29.c: New.
-
-2012-07-31 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/42418
- * gfortran.dg/proc_decl_29.f90: New.
-
-2012-07-31 Dehao Chen <dehao@google.com>
-
- * gcc.dg/predict-7.c: New test.
-
-2012-07-31 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/54134
- * gfortran.dg/typebound_override_3.f90: New.
-
-2012-07-31 Bill Schmidt <wschmidt@linux.ibm.com>
-
- PR tree-optimization/53773
- * gcc.dg/vect/pr53773.c: New test.
-
-2012-07-31 Nick Clifton <nickc@redhat.com>
-
- * gcc.dg/stack-usage-1.c (SIZE): Define for FRV,
- and for XStormy16.
-
-2012-07-31 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/c_funloc_tests_6.f90: New.
- * gfortran.dg/c_funloc_tests_7.f90: New.
- * gfortran.dg/c_funloc_tests_5.f03: Compile with -std=f2003.
-
-2012-07-31 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53624
- * g++.dg/cpp0x/temp_default5.C: New.
-
-2012-07-30 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/51081
- * gfortran.dg/proc_ptr_37.f90: New.
-
-2012-07-30 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * lib/target-supports.exp
- (check_effective_target_vect_natural_alignment): New function.
- * gcc.dg/align-2.c: Only run on targets with natural alignment
- of vector types.
- * gcc.dg/vect/slp-25.c: Adjust tests for targets without natural
- alignment of vector types.
-
-2012-07-30 Kirill Yukhin <kirill.yukhin@intel.com>
- Michael Zolotukhin <michael.v.zolotukhin@intel.com>
-
- * gcc.target/i386/rdseed16-1.c: New.
- * gcc.target/i386/rdseed32-1.c: Ditto
- * gcc.target/i386/rdseed64-1.c: Ditto
- * gcc.target/i386/sse-12.c: Add -mrdseed.
- * gcc.target/i386/sse-13.c: Ditto.
- * gcc.target/i386/sse-14.c: Ditto.
- * g++.dg/other/i386-2.C: Ditto.
- * g++.dg/other/i386-3.C: Ditto.
-
-2012-07-30 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * gcc.target/sh/pr51244-4.c: New.
-
-2012-07-27 Uros Bizjak <ubizjak@gmail.com>
-
- * gfortran.dg/bind_c_array_params_2.f90: Add "-mno-explicit-relocs"
- for alpha*-*-* targets. Cleanup original tree dump.
-
-2012-07-27 Segher Boessenkool <segher@kernel.crashing.org>
-
- * gcc.target/powerpc/rs6000-power2-1.c: Delete.
- * gcc.target/powerpc/rs6000-power2-2.c: Delete.
-
-2012-07-27 Anna Tikhonova <anna.tikhonova@intel.com>
-
- * gcc.dg/20020201-1.c: Remove declarations for exit, abort,
- rand, srand. Include <stdlib.h>.
-
-2012-07-26 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.dg/pr45259.c: Only -fpic depends on fpic support.
-
-2012-07-26 Richard Henderson <rth@redhat.com>
-
- * gcc.dg/attr-hotcold-1.c: New.
- * gcc.dg/tree-ssa/attr-hotcold-2.c: New.
-
-2012-07-26 Andrew Jenner <andrew@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * gcc.c-torture/compile/pr50380.c: Add code to cause cycle of length 2.
-
-2012-07-26 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/contiguous_1.f90: Update dg-error.
- * gfortran.dg/proc_ptr_32.f90: Ditto.
-
-2012-07-26 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/54098
- * gcc.dg/torture/pr54098.c: New testcase.
-
-2012-07-26 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * gcc.target/arm/neon/vld1Q_dupu64.c: Regenerate.
- * gcc.target/arm/neon/vld1Q_dups64.c: Likewise.
-
-2012-07-26 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/44354
- * gfortran.dg/array_constructor_39.f90: New test.
-
-2012-07-26 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/44354
- * gfortran.dg/array_constructor_38.f90: New test.
-
-2012-07-25 Janis Johnson <janisjo@codesourcery.com>
-
- * g++.dg/cpp0x/nullptr21.c: Remove printfs, make self-checking.
-
-2012-07-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/noreturn5.ad[sb]: New test.
-
-2012-07-25 Sandra Loosemore <sandra@codesourcery.com>
- Paul Brook <paul@codesourcery.com>
-
- PR target/53633
-
- * lib/target-suports.exp (check_effective_target_naked_functions): New.
- * c-c++-common/pr53633.c: New test.
-
-2012-07-25 Siddhesh Poyarekar <siddhesh@redhat.com>
-
- * gcc.target/i386/asm-dialect-1.c: New test case.
-
-2012-07-25 Kirill Yukhin <kirill.yukhin@intel.com>
- Michael Zolotukhin <michael.v.zolotukhin@intel.com>
-
- * gcc.target/i386/prefetchw-1.c: New.
- * gcc.target/i386/sse-12.c: Add -mprfchw.
- * gcc.target/i386/sse-13.c: Ditto.
- * gcc.target/i386/sse-14.c: Ditto.
- * gcc.target/i386/sse-22.c: Ditto.
- * gcc.target/i386/sse-23.c: Ditto.
- * g++.dg/other/i386-2.C: Ditto.
- * g++.dg/other/i386-3.C: Ditto.
-
-2012-07-24 Janis Johnson <janisjo@codesourcery.com>
-
- * lib/gcc-dg.exp (process-message): Don't ignore errors.
-
-2012-07-24 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/54051
- * gcc.target/arm/pr54051.c: New.
- * gcc.target/arm/vfp-1.c: Adjust test.
-
-2012-07-24 Julian Brown <julian@codesourcery.com>
-
- * lib/target-supports.exp (check_effective_target_arm_hf_eabi): New.
- * gcc.dg/torture/stackalign/builtin-apply-2.c: Skip for
- hard-float ARM.
-
-2012-07-23 Paul Brook <paul@codesourcery.com>
-
- * g++.dg/other/armv7m-1.c: New test.
-
-2012-07-23 Julian Brown <julian@codesourcery.com>
-
- * gcc.c-torture/execute/20101011-1.c (__aeabi_idiv0): Define for
- ARM.
- (DO_TEST): Define to 1 for appropriate ARM targets.
-
-2012-07-22 Steven Bosscher <steven@gcc.gnu.org>
-
- PR tree-optimization/53881
- * gcc.dg/pr53881.c: Renamed to ...
- * gcc.dg/pr53881-1.c: ... this.
- * gcc.dg/pr53881-2.c: New test.
-
-2012-07-22 Hans-Peter Nilsson <hp@axis.com>
-
- Handle recent changes in default atomics for cris*-*-linux*.
- * gcc.target/cris/torture/sync-mis-xchg-i-1ml.c,
- gcc.target/cris/torture/sync-mis-xchg-i-2ml.c,
- gcc.target/cris/torture/sync-mis-xchg-i-3ml.c,
- gcc.target/cris/torture/sync-mis-xchg-s-1ml.c,
- gcc.target/cris/torture/sync-mis-op-i-1ml.c,
- gcc.target/cris/torture/sync-mis-op-i-2ml.c,
- gcc.target/cris/torture/sync-mis-op-i-3ml.c,
- gcc.target/cris/torture/sync-mis-op-s-1ml.c: New tests.
- * gcc.target/cris/torture/sync-mis-op-i-2a.c: Make sure
- -mno-unaligned-atomic-may-use-library is in effect for
- cris*-*-linux*.
- * gcc.target/cris/torture/sync-mis-xchg-i-1.c,
- gcc.target/cris/torture/sync-mis-xchg-i-2.c,
- gcc.target/cris/torture/sync-mis-xchg-i-3.c,
- gcc.target/cris/torture/sync-mis-xchg-i-2a.c,
- gcc.target/cris/torture/sync-mis-xchg-s-1.c,
- gcc.target/cris/torture/sync-mis-op-i-1.c,
- gcc.target/cris/torture/sync-mis-op-i-2.c,
- gcc.target/cris/torture/sync-mis-op-i-1a.c,
- gcc.target/cris/torture/sync-mis-op-i-3.c,
- gcc.target/cris/torture/sync-mis-op-i-3a.c,
- gcc.target/cris/torture/sync-mis-op-s-1a.c,
- gcc.target/cris/torture/sync-mis-xchg-i-1a.c,
- gcc.target/cris/torture/sync-mis-xchg-i-3a.c,
- gcc.target/cris/torture/sync-mis-xchg-s-1a.c: Similar.
- * gcc.target/cris/torture/sync-mis-op-s-1.c: Ditto.
- (main): Remove local variable x.
- [mis_ok]: Check that atomics don't fail.
-
-2012-07-21 Andrew Pinski <apinski@cavium.com>
-
- * gcc.dg/tree-ssa/vrp72.c: New test.
- * gcc.dg/tree-ssa/vrp73.c: New test.
- * gcc.dg/tree-ssa/vrp74.c: New test.
- * gcc.dg/tree-ssa/vrp75.c: New test.
-
-2012-07-21 Andrew Pinski <apinski@cavium.com>
-
- * gcc.dg/tree-ssa/alias-21.c: New testcase.
- * gcc.dg/tree-ssa/alias-22.c: New testcase.
-
-2012-07-21 Andrew Pinski <apinski@cavium.com>
-
- * gcc.target/mips/octeon-pop-2.c: New testcase.
-
-2012-07-21 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48820
- * gfortran.dg/assumed_rank_3.f90: New.
- * gfortran.dg/assumed_rank_11.f90: New.
- * gfortran.dg/assumed_rank_1.f90: Update dg-error.
- * gfortran.dg/assumed_rank_2.f90: Update dg-error.
- * gfortran.dg/assumed_rank_7.f90: Update dg-error.
-
-2012-07-21 Andrew Pinski <apinski@cavium.com>
-
- * gcc.target/mips/unaligned-1.c: New testcase.
-
-2012-07-21 Hans-Peter Nilsson <hp@axis.com>
-
- * gcc.c-torture/execute/20101011-1.c (DO_TEST): Define as 0 for CRIS.
-
-2012-07-20 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/bind_c_array_params_2.f90: New.
- * gfortran.dg/bind_c_array_params.f03: Add -std=f2003
- and update dg-error.
-
-2012-07-20 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/assumed_rank_12.f90: Update dg-error.
-
-2012-07-20 Jason Merrill <jason@redhat.com>
-
- PR c++/54038
- * g++.dg/other/array7.C: New.
-
-2012-07-20 Steven Bosscher <steven@gcc.gnu.org>
-
- * gcc.dg/tree-prof/update-loopch.c: Look for counts on the dumps of
- the basic block and check loop depth.
- * gcc.dg/tree-ssa/pr18133-1.c: Dump details, not blocks. Update
- matching patterns and comments.
- * gcc.dg/tree-ssa/20031021-1.c: Fix check patterns.
- * gcc.dg/tree-ssa/vector-2.c: Likewise.
-
-2012-07-20 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/28656
- * c-c++-common/pr28656.c: New test.
-
-2012-07-19 Jason Merrill <jason@redhat.com>
-
- PR c++/54026
- * g++.dg/init/mutable1.C: New.
-
-2012-07-20 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48820
- * gfortran.dg/assumed_type_3.f90: Update dg-error.
- * gfortran.dg/assumed_rank_1.f90: New.
- * gfortran.dg/assumed_rank_1_c.c: New.
- * gfortran.dg/assumed_rank_2.f90: New.
- * gfortran.dg/assumed_rank_4.f90: New.
- * gfortran.dg/assumed_rank_5.f90: New.
- * gfortran.dg/assumed_rank_6.f90: New.
- * gfortran.dg/assumed_rank_7.f90: New.
- * gfortran.dg/assumed_rank_8.f90: New.
- * gfortran.dg/assumed_rank_8_c.c: New.
- * gfortran.dg/assumed_rank_9.f90: New.
- * gfortran.dg/assumed_rank_10.f90: New.
- * gfortran.dg/assumed_rank_12.f90: New.
-
-2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/opt25.adb: New test.
- * gnat.dg/opt25_pkg1.ad[sb]: New helper.
- * gnat.dg/opt25_pkg2.ad[sb]: Likewise.
-
-2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/aggr20.ad[sb]: New test.
- * gnat.dg/aggr20_pkg.ads: New helper.
-
-2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/derived_type3.adb: New test.
- * gnat.dg/derived_type3_pkg.ad[sb]: New helper.
-
-2012-07-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/53942
- * gcc.dg/pr53942.c: New test.
-
-2012-07-19 Jason Merrill <jason@redhat.com>
-
- PR c++/54021
- * g++.dg/cpp0x/constexpr-builtin2.C: New.
-
-2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr38.adb: New test.
-
-2012-07-19 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/54017
- * c-c++-common/gomp/pr54017.c: New test.
-
-2012-07-19 Richard Guenther <rguenther@suse.de>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/loop_optimization11.adb: New testcase.
- * gnat.dg/loop_optimization11_pkg.ads: Likewise.
-
-2012-07-18 Paolo Carlini <paolo.carlini@oracle.com>
- Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/sfinae37.C: New.
- * g++.dg/template/access23.C: New.
- * g++.dg/template/access7.C: Adjust.
- * g++.dg/template/sfinae10.C: Don't expect errors.
- * g++.dg/template/sfinae6_neg.C: Don't expect errors.
-
-2012-07-18 Julian Brown <julian@codesourcery.com>
- Sandra Loosemore <sandra@codesroucery.com>
-
- * gcc.c-torture/execute/20101011-1.c: Skip on bare-metal m68k.
-
-2012-07-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/noreturn4.ad[sb]: New test.
- * gnat.dg/noreturn4_pkg.ads: New helper.
-
-2012-07-18 Jie Zhang <jzhang918@gmail.com>
- Julian Brown <julian@codesourcery.com>
-
- * gcc.target/arm/neon-vdup-1.c: New test case.
- * gcc.target/arm/neon-vdup-2.c: New test case.
- * gcc.target/arm/neon-vdup-3.c: New test case.
- * gcc.target/arm/neon-vdup-4.c: New test case.
- * gcc.target/arm/neon-vdup-5.c: New test case.
- * gcc.target/arm/neon-vdup-6.c: New test case.
- * gcc.target/arm/neon-vdup-7.c: New test case.
- * gcc.target/arm/neon-vdup-8.c: New test case.
- * gcc.target/arm/neon-vdup-9.c: New test case.
- * gcc.target/arm/neon-vdup-10.c: New test case.
- * gcc.target/arm/neon-vdup-11.c: New test case.
- * gcc.target/arm/neon-vdup-12.c: New test case.
- * gcc.target/arm/neon-vdup-13.c: New test case.
- * gcc.target/arm/neon-vdup-14.c: New test case.
- * gcc.target/arm/neon-vdup-15.c: New test case.
- * gcc.target/arm/neon-vdup-16.c: New test case.
- * gcc.target/arm/neon-vdup-17.c: New test case.
- * gcc.target/arm/neon-vdup-18.c: New test case.
- * gcc.target/arm/neon-vdup-19.c: New test case.
- * gcc.target/arm/neon-combine-sub-abs-into-vabd.c: Make intrinsic
- arguments non-constant.
-
-2012-07-18 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53970
- * g++.dg/torture/pr53970.C: New testcase.
-
-2012-07-18 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/38621
- * gcc.c-torture/compile/pr38621.c: New.
-
-2012-07-18 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/33135
- * gcc.target/sh/pr33135-1.c: New.
- * gcc.target/sh/pr33135-2.c: New.
- * gcc.target/sh/pr33135-3.c: New.
- * gcc.target/sh/pr33135-4.c: New.
-
-2012-07-17 Jason Merrill <jason@redhat.com>
-
- PR c++/53995
- * g++.dg/parse/enum9.C: New.
-
-2012-07-17 Kazu Hirata <kazu@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * gcc.target/m68k/pr36134.c: Use dg-skip-if to skip the testcase
- if there is a conflict with -mcpu=. Use -mcpu=5208.
-
-2012-07-17 Jason Merrill <jason@redhat.com>
-
- PR c++/53989
- * g++.dg/template/array23.C: New.
-
-2012-07-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53985
- * gfortran.dg/bind_c_usage_26.f90: New.
- * gfortran.dg/bind_c_procs.f03: Add dg-options "-Wc-binding-type".
- * gfortran.dg/bind_c_usage_13.f03: Ditto.
- * gfortran.dg/bind_c_usage_18.f90: Ditto.
- * gfortran.dg/interop_params.f03: Ditto.
-
-2012-07-17 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/inherit8.C: Adjust.
- * g++.dg/template/using21.C: Adjust.
- * g++.dg/template/using22.C: Adjust.
-
- PR c++/53549
- * g++.dg/template/current-inst1.C: New.
- * g++.dg/parse/crash35.C: Adjust.
-
-2012-07-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52101
- * gfortran.dg/oldstyle_4.f90: New.
-
-2012-07-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/49265
- * gfortran.dg/module_procedure_double_colon_3.f90: New.
- * gfortran.dg/module_procedure_double_colon_4.f90: New.
-
-2012-07-16 Jason Merrill <jason@redhat.com>
-
- * g++.dg/parse/access8.C: Adjust.
- * g++.dg/template/sfinae6_neg.C: Adjust.
-
-2012-07-16 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/53824
- * gfortran.dg/coarray_allocate_1.f90: New test.
-
-2012-07-16 Andrew Pinski <apinski@cavium.com>
-
- * gcc.c-torture/execute/bswap-1.c: New testcase.
- * gcc.c-torture/compile/unalign-1.c: New testcase.
- * gcc.c-torture/compile/20120524-1.c: New testcase.
- * gcc.c-torture/compile/20101216-1.c: New testcase.
-
-2012-07-16 Dehao Chen <dehao@google.com>
-
- Revert
- 2012-07-10 Dehao Chen <dehao@google.com>
-
- * gcc.dg/debug_info_inline.c: New test.
-
-2012-07-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/53956
- * gfortran.dg/proc_decl_28.f90: New.
-
-2012-07-16 Andrew Pinski <apinski@cavium.com>
-
- * gcc.dg/torture/builtins-1.c: New testcase.
-
-2012-07-16 Hans-Peter Nilsson <hp@axis.com>
-
- * gcc.target/cris/sync-2i.c, gcc.target/cris/sync-2s.c,
- gcc.target/cris/sync-3i.c, gcc.target/cris/sync-3s.c,
- gcc.target/cris/sync-4i.c, gcc.target/cris/sync-4s.c,
- gcc.target/cris/sync-1-v10.c,
- gcc.target/cris/sync-1-v32.c: For cris*-*-linux*, also
- pass -mno-unaligned-atomic-may-use-library.
- * gcc.target/cris/sync-xchg-1.c: New test.
- * gcc.target/cris/20011127-1.c: Adjust to %P being a
- valid register operand output modifier.
-
-2012-07-15 Andreas Schwab <schwab@linux-m68k.org>
-
- * g++.dg/debug/dwarf2/pubnames-2.C: Support all known comment
- characters.
-
-2012-07-13 Andrew Pinski <apinski@cavium.com>
-
- * gcc.target/mips/octeon2-pipe-1.c: Use cleanup-rtl-dump
- rather than cleanup-tree-dump.
- * gcc.target/mips/octeon-pipe-1.c: Likewise.
-
-2012-07-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53907
- * gcc.target/i386/pr53907.c: New testcase.
-
-2012-07-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53922
- * gcc.dg/torture/pr53922.c: New testcase.
-
-2012-07-13 Hans-Peter Nilsson <hp@axis.com>
-
- PR rtl-optimization/53908
- * gcc.dg/torture/pr53908.c: New test.
-
-2012-07-13 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/53531
- * g++.dg/cpp0x/variadic135.C: New.
-
-2012-07-12 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/sfinae6_neg.C: Adjust.
-
-2012-07-12 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/c_f_pointer_shape_tests_5.f90: New.
- * gfortran.dg/c_f_pointer_tests_3.f90: Update
- scan-tree-dump-times pattern.
-
-2012-07-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * g++.dg/debug/dwarf2/pubnames-2.C: Allow for / comments.
-
-2012-07-11 Jason Merrill <jason@redhat.com>
-
- DR 1402
- * g++.g/cpp0x/defaulted37.C: New.
-
-2012-07-11 Greta Yorsh <Greta.Yorsh@arm.com>
-
- PR target/53859
- * gcc.target/arm/pr53859.c: New test.
-
-2012-07-10 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53886
- * gcc.c-torture/compile/pr53886.c: New.
-
-2012-07-10 Dehao Chen <dehao@google.com>
-
- * gcc.dg/debug_info_inline.c: New test.
-
-2012-07-10 Jason Merrill <jason@redhat.com>
-
- PR c++/53733
- * g++.dg/cpp0x/defaulted36.C: New.
- * g++.dg/cpp0x/defaulted21.C: Adjust.
-
- * g++.dg/cpp0x/implicit13.C: Add vbase and member tests.
-
-2012-07-09 Sterling Augustine <saugustine@google.com>
-
- * g++.dg/debug/dwarf2/pubnames-2.C: New.
-
-2012-07-09 Steven Bosscher <steven@gcc.gnu.org>
-
- PR tree-optimization/53887
- * gcc.dg/pr53887.c: New test.
-
-2012-07-09 Jason Merrill <jason@redhat.com>
-
- PR c++/53882
- * g++.dg/cpp0x/nullptr29.C: New.
-
-2012-07-09 Tom de Vries <tom@codesourcery.com>
- Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/builtin-unreachable-6.c: New test.
- * gcc.dg/builtin-unreachable-5.c: New test.
-
-2012-07-07 Steven Bosscher <steven@gcc.gnu.org>
-
- PR tree-optimization/53881
- * gcc.dg/pr53881.c: New test.
-
-2012-07-06 Jason Merrill <jason@redhat.com>
-
- PR c++/53862
- * g++.dg/cpp0x/variadic134.C: New.
-
- PR c++/53858
- * g++.dg/cpp0x/alias-decl-20.C: New.
-
-2012-07-06 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/51879
- * gcc.dg/pr51879-16.c: New test.
- * gcc.dg/pr51879-17.c: Same.
-
-2012-07-06 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/52009
- * gcc.dg/pr51879-7.c: New test.
- * gcc.dg/pr51879-18.c: New test.
-
-2012-07-05 Jason Merrill <jason@redhat.com>
-
- PR c++/50852
- * g++.dg/template/typedef39.C: New.
-
- PR c++/53039
- * g++.dg/cpp0x/variadic133.C: New.
- * g++.dg/template/param1.C: Adjust.
-
-2012-07-05 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/48941
- PR target/51980
- * gcc.target/arm/neon/vtrnf32.c: Update.
- * gcc.target/arm/neon/vtrns32.c: Update.
- * gcc.target/arm/neon/vtrnu32.c: Update.
- * gcc.target/arm/neon/vzipf32.c: Update.
- * gcc.target/arm/neon/vzips32.c: Update.
- * gcc.target/arm/neon/vzipu32.c: Update.
-
-2012-07-05 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/53732
- * gfortran.dg/inline_sum_4.f90: New test.
-
-2012-07-05 Steven Bosscher <steven@gcc.gnu.org>
-
- * gcc.c-torture/compile/20000326-1.c: Fix to not optimize to empty.
-
-2012-07-05 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * gcc.target/arm/fma-sp.c: New testcase.
- * gcc.target/arm/fma.c: Likewise.
- * gcc.target/arm/fma.h: Likewise.
-
-2012-07-04 Jason Merrill <jason@redhat.com>
-
- PR c++/53848
- * g++.dg/other/enum3.C: New.
-
-2012-07-04 Uros Bizjak <ubizjak@gmail.com>
-
- PR middle-end/53321
- * g++.dg/torture/pr53321.C: New test.
-
-2012-07-04 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53844
- * g++.dg/tree-ssa/pr53844.C: New testcase.
-
-2012-07-04 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53849
- * gcc.dg/pr53849.c: New testcase.
-
-2012-07-03 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/53812
- * g++.dg/ext/label14.C: New test.
-
-2012-07-03 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/53811
- * g++.dg/other/pr53811.C: New test.
-
-2012-07-03 Andreas Schwab <schwab@linux-m68k.org>
-
- PR target/28896
- * gcc.target/m68k/stack-limit-1.c: New testcase.
-
-2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/recursive_call.adb: New test.
-
-2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr37.ad[sb]: New test.
-
-2012-07-03 Oleg Endo <olegendo@gcc.gnu.org>
-
- * g++.dg/other/packed1.C: Remove SH from xfail list.
-
-2012-07-02 Jason Merrill <jason@redhat.com>
-
- PR c++/53619
- * g++.dg/cpp0x/lambda/lambda-this5.C: New.
-
- PR c++/53783
- * g++.dg/cpp0x/lambda/lambda-template7.C: New.
-
- PR c++/53788
- * g++.dg/cpp0x/decltype39.C: New.
- * g++.dg/diagnostic/method1.C: Adjust.
-
- PR c++/53816
- * g++.dg/template/ref6.C: New.
-
-2012-07-02 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53568
- * gcc.target/sh/pr53568-1.c: New.
-
-2012-07-02 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * gcc.target/sh/pr51244-1.c: Check that movt insn is not generated.
-
-2012-07-02 Jason Merrill <jason@redhat.com>
-
- PR c++/53821
- * g++.dg/cpp0x/lambda/lambda-template6.C: New.
-
- PR c++/53524
- * g++.dg/template/enum7.C: New.
- * g++.dg/other/ptrmem10.C: Adjust.
- * g++.dg/other/ptrmem11.C: Adjust.
- * g++.dg/cpp0x/scoped_enum.C: Adjust.
-
-2012-07-02 Steven Bosscher <steven@gcc.gnu.org>
-
- * gcc.dg/tree-ssa/pr36881.c: Fix test case to not expand as bit tests.
-
-2012-07-01 Wei Guozhi <carrot@google.com>
-
- PR target/53447
- * gcc.target/arm/pr53447-1.c: New testcase.
- * gcc.target/arm/pr53447-2.c: New testcase.
- * gcc.target/arm/pr53447-3.c: New testcase.
- * gcc.target/arm/pr53447-4.c: New testcase.
-
-2012-06-29 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47061
- * gcc.dg/tree-ssa/vrp71.c: New testcase.
-
-2012-06-29 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/37541
- * gcc.dg/tree-ssa/pr37508.c: Adjust and un-XFAIL.
-
-2012-06-29 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52589
- * gcc.dg/tree-ssa/vrp70.c: New testcase.
-
-2012-06-28 Janis Johnson <janisjo@codesourcery.com>
-
- * g++.dg/cpp0x/nullptr19.c: Remove exta directives on same line.
-
- * g++.dg/template/error46.C: Add missing comment to dg-message.
- * g++.dg/template/crash107.C: Likewise.
- * g++.dg/template/error47.C: Likewise.
- * g++.dg/template/crash108.C: Likewise.
- * g++.dg/overload/operator5.C: Likewise.
-
- * gcc.dg/Wstrict-aliasing-converted-assigned.c: Fix syntax
- errors in dg-message directives, add comments.
-
-2012-06-28 Kai Tietz <ktietz@redhat.com>
+ * gfortran.dg/unlimited_polymorphic_3.f03: Remove invalid code.
+ * gfortran.dg/unlimited_polymorphic_7.f90: New.
+ * gfortran.dg/unlimited_polymorphic_8.f90: New.
- * g++.dg/cpp0x/constexpr-52672.C (ul_ptr): Use SIZE_TYPE instead of
- hard-coded 'unsigned long'.
+2013-01-03 Richard Sandiford <rdsandiford@googlemail.com>
-2012-06-28 Jakub Jelinek <jakub@redhat.com>
+ * gcc.dg/torture/tls/tls-reload-1.c (main): Make testing more thorough.
- PR tree-optimization/51581
- * gcc.dg/vect/pr51581-4.c: New test.
+2013-01-03 Janus Weil <janus@gcc.gnu.org>
- PR tree-optimization/53645
- * gcc.c-torture/execute/pr53645-2.c: New test.
+ PR fortran/55855
+ * gfortran.dg/assignment_1.f90: Modified.
+ * gfortran.dg/assignment_4.f90: New.
-2012-06-28 Richard Guenther <rguenther@suse.de>
+2013-01-03 David Edelsohn <dje.gcc@gmail.com>
- PR middle-end/53790
- * gcc.dg/torture/pr53790.c: New testcase.
+ * gcc.dg/torture/tls/tls-reload-1.c: Add tls options.
-2012-06-28 Jakub Jelinek <jakub@redhat.com>
+2013-01-03 Richard Biener <rguenther@suse.de>
- PR tree-optimization/53645
- * gcc.c-torture/execute/pr53645.c: New test.
+ PR tree-optimization/55857
+ * gcc.dg/vect/pr55857-1.c: New testcase.
+ * gcc.dg/vect/pr55857-2.c: Likewise.
-2012-06-28 Arnaud Charlet <charlet@adacore.com>
+2013-01-03 Jakub Jelinek <jakub@redhat.com>
- * gnat.dg/deep_old.adb, gnat.dg/old_errors.adb: Removed, obsolete.
+ PR rtl-optimization/55838
+ * gcc.dg/pr55838.c: New test.
-2012-06-28 Alexandre Oliva <aoliva@redhat.com>
+ PR tree-optimization/55832
+ * gcc.c-torture/compile/pr55832.c: New test.
- PR debug/53671
- PR debug/49888
- * gcc.dg/guality/pr49888.c: Account for the possibility that
- the variable is optimized out at the first test.
+2013-01-02 Teresa Johnson <tejohnson@google.com>
-2012-06-27 Jason Merrill <jason@redhat.com>
+ * gcc.dg/tree-ssa/loop-1.c: Update expected dump message.
+ * gcc.dg/tree-ssa/loop-23.c: Ditto.
+ * gcc.dg/tree-ssa/cunroll-1.c: Ditto.
+ * gcc.dg/tree-ssa/cunroll-2.c: Ditto.
+ * gcc.dg/tree-ssa/cunroll-3.c: Ditto.
+ * gcc.dg/tree-ssa/cunroll-4.c: Ditto.
+ * gcc.dg/tree-ssa/cunroll-5.c: Ditto.
+ * gcc.dg/unroll_1.c: Ditto.
+ * gcc.dg/unroll_2.c: Ditto.
+ * gcc.dg/unroll_3.c: Ditto.
+ * gcc.dg/unroll_4.c: Ditto.
- * g++.dg/cpp0x/override2.C: Adjust.
- * g++.dg/template/error5.C: Adjust.
- * g++.dg/parse/crash28.C: Adjust.
-
- PR c++/53563
- * g++.dg/parse/template27.C: New.
- * g++.dg/template/crash74.C: Adjust expected output.
-
-2012-06-27 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/41951
- PR fortran/49591
- * gfortran.dg/typebound_operator_16.f03: New.
-
-2012-06-27 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.target/i386/sse4_1-pmuldq.c (TEST): Initialize
- even src1.i and src2.i fields even in the second half of the arrays.
-
-2012-06-27 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR c++/51033.
- * g++.dg/torture/vshuf-16.inc: New test.
- * g++.dg/torture/vshuf-2.inc: New test.
- * g++.dg/torture/vshuf-4.inc: New test.
- * g++.dg/torture/vshuf-8.inc: New test.
- * g++.dg/torture/vshuf-main.inc: New test.
- * g++.dg/torture/vshuf-v16hi.C: New test.
- * g++.dg/torture/vshuf-v16qi.C: New test.
- * g++.dg/torture/vshuf-v2df.C: New test.
- * g++.dg/torture/vshuf-v2di.C: New test.
- * g++.dg/torture/vshuf-v2sf.C: New test.
- * g++.dg/torture/vshuf-v2si.C: New test.
- * g++.dg/torture/vshuf-v4df.C: New test.
- * g++.dg/torture/vshuf-v4di.C: New test.
- * g++.dg/torture/vshuf-v4sf.C: New test.
- * g++.dg/torture/vshuf-v4si.C: New test.
- * g++.dg/torture/vshuf-v8hi.C: New test.
- * g++.dg/torture/vshuf-v8qi.C: New test.
- * g++.dg/torture/vshuf-v8si.C: New test.
-
-2012-06-27 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53676
- * gcc.dg/tree-ssa/scev-6.c: New testcase.
-
-2012-06-26 Janis Johnson <janisjo@codesourcery.com>
-
- * lib/scandump.exp (scan-dump, scan-dump-not, scan-dump-dem,
- scan-dump-dem-not): Use printable pattern in test name.
-
-2012-06-26 Sterling Augustine <saugustine@google.com>
- Dominique Dhumieres <dominiq@lps.ens.fr>
-
- * gcc.dg/pubtypes-2.c: Update expected output.
- * gcc.dg/pubtypes-3.c: Likewise.
- * gcc.dg/pubtypes-4.c: Likewise.
-
-2012-06-26 Bill Schmidt <wschmidt@linux.ibm.com>
-
- * gcc.dg/tree-ssa/slsr-1.c: New test.
- * gcc.dg/tree-ssa/slsr-2.c: Likewise.
- * gcc.dg/tree-ssa/slsr-3.c: Likewise.
- * gcc.dg/tree-ssa/slsr-4.c: Likewise.
-
-2012-06-26 Matt Turner <mattst88@gmail.com>
-
- PR target/35294
- * gcc.target/arm/mmx-2.c: New.
-
-2012-06-26 Richard Guenther <rguenther@suse.de>
-
- PR c++/53752
- * g++.dg/torture/pr53752.C: New testcase.
-
-2012-06-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53748
- * gcc.c-torture/compile/pr53748.c: New test.
-
-2012-06-25 Jason Merrill <jason@redhat.com>
-
- PR c++/53498
- PR c++/53305
- * g++.dg/cpp0x/decltype38.C: New.
- * g++.dg/cpp0x/variadic132.C: Remove dg-error.
-
-2012-06-25 Janis Johnson <janisjo@codesourcery.com>
-
- * lib/target-supports-dg.exp (testname-for-summary): New.
- * lib/profopt.exp (profopt_execute): Define testname_with_flags.
- * lib/gcc-dg.exp (cleanup-coverage-files, cleanup-repo-notes,
- cleanup-stack-usage, cleanup-dump, cleanup-saved-temps, scan-module,
- scan-module-absence, output-exists, output-exists-not: Use
- testname-for-summary.
- (dg-test): Clean up testname_with_flags.
- * lib/scanasm.exp (scan-assembler, scan-assembler-not, scan-hidden,
- scan-not-hidden, scan-file, scan-file-not, scan-stack-usage,
- scan-stack-usage-not, scan-assembler-times, scan-assembler-dem,
- scan-assembler-dem-not, object-size: Use testname-for-summary.
- * lib/gcov.exp (run-gcov): Likewise.
- * lib/scandump.exp (scan-dump, scan-dump-times, scan-dump-not,
- scan-dump-dem, scan-dump-dem-note): Likewise.
-
- * lib/profopt.exp: Make prof_option_list local to profopt-execute.
- * g++.dg/tree-prof/tree-prof.exp (PROFOPT_OPTIONS): Define after
- including profopt.opt; save and restore existing value.
- * g++.dg/bprob/bprob.exp: Likewise.
- * gcc.dg/matrix/matrix.exp: Likewise.
- * gcc.dg/tree-prof/tree-prof.exp: Likewise.
- * gcc.misc-tests/bprob.exp: Likewise; also replace formerly-ignored
- PROFOPT_OPTIONS.
-
-2012-06-25 Richard Henderson <rth@redhat.com>
-
- * gcc.dg/pr53749.c: New.
-
-2012-06-25 Jason Merrill <jason@redhat.com>
-
- PR c++/52988
- * g++.dg/cpp0x/nullptr28.C: New.
-
-2012-06-25 Christophe Lyon <christophe.lyon@st.com>
-
- * gcc.target/arm/neon-vld1_dupQ.c: New.
-
-2012-06-25 Florian Weimer <fweimer@redhat.com>
-
- * g++.dg/init/new35.C: New.
- * g++.dg/init/new36.C: New.
- * g++.dg/init/new37.C: New.
- * g++.dg/ext/vla5.C: New warning.
- * g++.dg/ext/vla8.C: New warning.
- * g++.dg/cpp0x/regress/debug-debug7.C: Update diagnostics.
-
-2012-06-25 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
- James Greenhalgh <james.greenhalgh@arm.com>
-
- * gcc.target/arm/ftest-support-arm.h New testcase.
- * gcc.target/arm/ftest-support-thumb.h Likewise.
- * gcc.target/arm/ftest-support.h Likewise.
- * gcc.target/arm/ftest-armv4-arm.c: Likewise.
- * gcc.target/arm/ftest-armv4t-arm.c: Likewise.
- * gcc.target/arm/ftest-armv4t-thumb.c: Likewise.
- * gcc.target/arm/ftest-armv5t-arm.c Likewise.
- * gcc.target/arm/ftest-armv5t-thumb.c Likewise.
- * gcc.target/arm/ftest-armv5te-arm.c: Likewise.
- * gcc.target/arm/ftest-armv5te-thumb.c: Likewise.
- * gcc.target/arm/ftest-armv6-arm.c Likewise.
- * gcc.target/arm/ftest-armv6-thumb.c Likewise.
- * gcc.target/arm/ftest-armv6k-arm.c Likewise.
- * gcc.target/arm/ftest-armv6k-thumb.c Likewise.
- * gcc.target/arm/ftest-armv6m-thumb.c: Likewise.
- * gcc.target/arm/ftest-armv6t2-arm.c: Likewise.
- * gcc.target/arm/ftest-armv6t2-thumb.c: Likewise.
- * gcc.target/arm/ftest-armv6z-arm.c: Likewise.
- * gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
- * gcc.target/arm/ftest-armv7a-arm.c Likewise.
- * gcc.target/arm/ftest-armv7a-thumb.c Likewise.
- * gcc.target/arm/ftest-armv7m-thumb.c: Likewise.
- * gcc.target/arm/ftest-armv7em-thumb.c: Likewise.
- * gcc.target/arm/ftest-armv7r-arm.c Likewise.
- * gcc.target/arm/ftest-armv7r-thumb.c Likewise.
- * lib/target-supports.exp
- (check_effective_target_arm_arch_FUNC): Add support for more
- architectures.
- (add_options_for_arm_arch_FUNC): Likewise.
- (check_effective_target_arm_arch_FUNC_multilib): New functions.
-
-2012-06-25 Jason Merrill <jason@redhat.com>
-
- PR c++/53202
- * g++.dg/cpp0x/constexpr-tuple.C: New.
-
-2012-06-25 Jakub Jelinek <jakub@redhat.com>
-
- PR target/53759
- * gcc.target/i386/pr53759.c: New test.
-
- PR c++/53594
- * g++.dg/cpp0x/nsdmi7.C: New test.
-
-2012-06-24 Kai Tietz <ktietz@redhat.com>
-
- * gcc.target/i386/pr23943.c (size_t): Use compatible type-definition
- for LLP64 targets.
- * gcc.target/i386/pr38988.c: Likewise.
-
-2012-06-22 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47710
- PR fortran/53328
- * gfortran.dg/typebound_generic_12.f03: New.
- * gfortran.dg/typebound_generic_13.f03: New.
-
-2012-06-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/lto15.ad[sb]: New test.
-
-2012-06-21 Meador Inge <meadori@codesourcery.com>
-
- PR c/53702
- * gcc.dg/Wunused-local-typedefs.c: New testcase.
-
-2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
-
- * gcc.dg/pch/ident-1.c: New test.
- * gcc.dg/pch/ident-1.hs: Header file for new test.
-
-2012-06-21 Michael Matz <matz@suse.de>
-
- PR middle-end/53688
- * gcc.c-torture/execute/pr53688.c: New test.
-
-2012-06-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/30318
- * gcc.dg/tree-ssa/vrp69.c: New testcase.
-
-2012-06-20 Richard Earnshaw <rearnsha@arm.com>
-
- * g++.dg/debug/dwarf2/nested-3.C: Add ARM comment character to regexp.
-
-2012-06-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.target/i386/clearcapv2.map: New file.
- * gcc.target/i386/i386.exp: Try it first before clearcap.map.
-
-2012-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * gcc.dg/stack-usage-1.c: Remove dg-options line for sh targets
- and add __sh__ case.
-
-2012-06-19 Jason Merrill <jason@redhat.com>
-
- PR c++/52637
- * g++.dg/debug/localclass1.C: New.
-
-2012-06-16 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- * g++.dg/cpp0x/override4.C: New.
-
-2012-06-14 Jason Merrill <jason@redhat.com>
-
- PR c++/53651
- * g++.dg/cpp0x/decltype37.C: New.
-
-2012-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * gcc.dg/stack-usage-1.c: Use sh*-*-* instead of sh-*-*.
-
-2012-06-19 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.c-torture/compile/vector-5.c,
- gcc.c-torture/compile/vector-6.c: New tests.
-
-2012-06-19 Richard Henderson <rth@redhat.com>
-
- * gcc.target/i386/pr33329.c: Change multiplier constant to 12345.
-
-2012-06-19 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/vrp68.c: Adjust testcase.
-
-2012-06-18 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/53712
- * gcc.target/i386/pr53712.c: New test.
-
-2012-06-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53692
- * gfortran.dg/elemental_optional_args_6.f90: New.
-
-2012-06-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53526
- * gfortran.dg/coarray_lib_move_alloc_1.f90: New.
- * gfortran.dg/coarray/move_alloc_1.f90
-
-2012-06-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53526
- * gfortran.dg/coarray_27.f90: New.
-
-2012-06-18 Joey Ye <Joey.Ye@arm.com>
- Greta Yorsh <Greta.Yorsh@arm.com>
-
- * gcc.target/arm/epilog-1.c: New test.
-
-2012-06-18 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53693
- * g++.dg/torture/pr53693.C: New testcase.
-
-2012-06-18 Bill Schmidt <wschmidt@linux.ibm.com>
-
- PR tree-optimization/53703
- * gcc.dg/torture/pr53703.c: New test.
-
-2012-06-18 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR middle-end/53698
- * gcc.target/i386/pr53698.c: New test.
-
-2012-06-17 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/pr33329.c (f): Increase tabs array to 1024.
-
-2012-06-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53691
- PR fortran/53685
- * gfortran.dg/transfer_check_3.f90: New.
-
-2012-06-17 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/tree-ssa/vrp68.c: Fix scan-tree-dump-times argument order.
-
-2012-06-16 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53642
- PR fortran/45170
- * gfortran.dg/deferred_type_param_8.f90: New.
-
-2012-06-15 Janis Johnson <janosjo@codesourcery.com>
-
- * lib/gcov.exp (verify-lines, verify-branches, verify-calls): Use
- testname that includes flags, passed in as new argument, in
- pass/fail messages.
- (run_gcov): Get testname from dg-test, use it in pass/fail messages
- and pass it to verify-* procedures.
-
- * g++.dg/torture/stackalign/stackalign.exp: Combine stack
- alignment torture options with usual torture options.
-
- * g++.dg/cpp0x/auto27.C: Add comments to checks for multiple
- messages reported for one line of source code.
- * g++.dg/cpp0x/constexpr-decl.C: Likewise.
- * g++.dg/cpp0x/decltype2.C: Likewise.
- * g++.dg/cpp0x/decltype3.C: Likewise.
- * g++.dg/cpp0x/lambda/lambda-syntax1.C: Likewise.
- * g++.dg/cpp0x/regress/error-recovery1.C: Likewise.
- * g++.dg/cpp0x/static_assert3.C: Likewise.
- * g++.dg/cpp0x/udlit-cpp98-neg.C: Likewise.
- * g++.dg/cpp0x/udlit-shadow-neg.C: Likewise.
- * g++.dg/cpp0x/union1.C: Likewise.
- * g++.dg/cpp0x/variadic-ex10.C: Likewise.
- * g++.dg/cpp0x/variadic-ex14.C: Likewise.
- * g++.dg/cpp0x/variadic2.C: Likewise.
- * g++.dg/cpp0x/variadic20.C: Likewise.
- * g++.dg/cpp0x/variadic74.C: Likewise.
- * g++.dg/diagnostic/bitfld2.C: Likewise.
- * g++.dg/ext/attrib44.C: Likewise.
- * g++.dg/ext/no-asm-1.C: Likewise.
- * g++.dg/other/error34.C: Likewise.
- * g++.dg/parse/crash46.C: Likewise.
- * g++.dg/parse/error10.C: Likewise.
- * g++.dg/parse/error2.C: Likewise.
- * g++.dg/parse/error3.C: Likewise.
- * g++.dg/parse/error36.C: Likewise.
- * g++.dg/parse/error8.C: Likewise.
- * g++.dg/parse/error9.C: Likewise.
- * g++.dg/parse/parser-pr28152-2.C: Likewise.
- * g++.dg/parse/parser-pr28152.C: Likewise.
- * g++.dg/parse/template25.C: Likewise.
- * g++.dg/parse/typename11.C: Likewise.
- * g++.dg/tc1/dr147.C: Likewise.
- * g++.dg/template/deduce3.C: Likewise.
- * g++.dg/template/koenig9.C: Likewise.
- * g++.dg/template/pr23510.C: Likewise.
- * g++.dg/warn/pr12242.C: Likewise.
- * g++.dg/warn/pr30551-2.C: Likewise.
- * g++.dg/warn/pr30551.C: Likewise.
- * g++.old-deja/g++.other/typename1.C: Likewise.
- * g++.old-deja/g++.pt/niklas01a.C: Likewise.
-
-2012-06-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR c++/51033
- * c-c++-common/torture/vshuf-16.inc: Move from gcc.c-torture/execute/.
- * c-c++-common/torture/vshuf-2.inc: Likewise.
- * c-c++-common/torture/vshuf-4.inc: Likewise.
- * c-c++-common/torture/vshuf-8.inc: Likewise.
- * c-c++-common/torture/vshuf-main.inc: Likewise.
- * c-c++-common/torture/vshuf-v16hi.c: Likewise.
- * c-c++-common/torture/vshuf-v16qi.c: Likewise.
- * c-c++-common/torture/vshuf-v2df.c: Likewise.
- * c-c++-common/torture/vshuf-v2di.c: Likewise.
- * c-c++-common/torture/vshuf-v2sf.c: Likewise.
- * c-c++-common/torture/vshuf-v2si.c: Likewise.
- * c-c++-common/torture/vshuf-v4df.c: Likewise.
- * c-c++-common/torture/vshuf-v4di.c: Likewise.
- * c-c++-common/torture/vshuf-v4hi.c: Likewise.
- * c-c++-common/torture/vshuf-v4sf.c: Likewise.
- * c-c++-common/torture/vshuf-v4si.c: Likewise.
- * c-c++-common/torture/vshuf-v8hi.c: Likewise.
- * c-c++-common/torture/vshuf-v8qi.c: Likewise.
- * c-c++-common/torture/vshuf-v8si.c: Likewise.
-
-2012-06-15 Michael Matz <matz@suse.de>
-
- * gcc.dg/tree-ssa/vector-4.c: New test.
-
-2012-06-15 Michael Matz <matz@suse.de>
-
- * gcc.dg/debug/dwarf2/inline3.c: Adjust.
- * gcc.dg/tree-ssa/foldstring-1.c: Adjust.
-
-2012-06-15 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- PR tree-optimization/53636
- * gcc.target/arm/pr53636.c: New test.
-
-2012-06-15 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51581
- * gcc.c-torture/execute/pr51581-1.c: New test.
- * gcc.c-torture/execute/pr51581-2.c: New test.
- * gcc.dg/vect/pr51581-1.c: New test.
- * gcc.dg/vect/pr51581-2.c: New test.
- * gcc.dg/vect/pr51581-3.c: New test.
- * gcc.target/i386/avx-pr51581-1.c: New test.
- * gcc.target/i386/avx-pr51581-2.c: New test.
- * gcc.target/i386/avx2-pr51581-1.c: New test.
- * gcc.target/i386/avx2-pr51581-2.c: New test.
- * gcc.dg/vect/slp-26.c (main1): Divide by 0x8031 instead of 3.
-
-2012-06-15 Richard Guenther <rguenther@suse.de>
-
- * gcc.c-torture/execute/20120615-1.c: New testcase.
-
-2012-06-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/vect8.ad[sb]: New test.
-
-2012-06-14 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/vrp.h: New testcase.
- * gcc.dg/tree-ssa/vrp68.c: Likewise.
-
-2012-06-13 Christian Bruel <christian.bruel@st.com>
-
- PR target/53621
- * gcc.dg/stack-usage-1.c: Force -fomit-frame-pointer on SH.
-
-2012-06-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/mips.exp (mips-dg-options): Handle -msynci.
-
-2012-06-13 Janis Johnson <janisjo@codesourcery.com>
-
- PR testsuite/20771
- * lib/dg-pch.exp (dg-flags-pch): Add flags to make compile lines in
- test summary unique.
-
- * lib/scanasm.exp (scan-assembler, scan-assembler-not, scan-hidden,
- scan-not-hiddent, scan-file, scan-file-not, scan-stack-usage,
- scan-stack-usage-not): Don't strip torture options from test name.
-
- * lib/scandump.exp (scan-dump-times): Use printable version of
- regexp in test summary line.
-
- * gcc.dg/di-longlong64-sync-1.c: Add comments to checks for multiple
- messages reported for one line of source code.
- * gcc.dg/format/few-1.c: Likewise.
- * gcc.dg/ia64-sync-2.c: Likewise.
- * gcc.dg/sync-2.c: Likewise.
- * gcc.dg/noncompile/pr44517.c: Likewise.
-
-2012-06-13 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/49888
- * gcc.dg/guality/pr49888.c: New.
-
-2012-06-13 Alexandre Oliva <aoliva@redhat.com>
-
- * g++.dg/tree-ssa/ivopts-2.C: Adjust for coalescing.
- * gcc.dg/tree-ssa/forwprop-11.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
-
-2012-06-13 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53643
- * gfortran.dg/intent_out_7.f90: New.
-
-2012-06-13 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53597
- * gfortran.dg/save_4.f90: New.
-
-2012-06-12 Jakub Jelinek <jakub@redhat.com>
-
- PR c/53532
- PR c/51034
- PR c/53196
- * gcc.dg/pr53532.c: New test.
- * gcc.dg/c99-complit-2.c: Add two new dg-error directives,
- adjust line numbers.
- * gcc.dg/noncompile/950825-1.c: Expect incomplete type error message.
- * gcc.dg/Wcxx-compat-8.c: Likewise.
- * gcc.dg/pr51034.c: New test.
- * gcc.dg/pr53196-1.c: New test.
- * gcc.dg/pr53196-2.c: New test.
-
-2012-06-12 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.dg/torture/stackalign/stackalign.exp: Combine stack
- alignment torture options with usual torture options.
- * gcc.dg/torture/stackalign/alloca-2.c: Use dg-additional-options
- instead of dg-options.
- * gcc.dg/torture/stackalign/alloca-3.c: Likewise.
- * gcc.dg/torture/stackalign/alloca-4.c: Likewise.
- * gcc.dg/torture/stackalign/alloca-5.c: Likewise.
- * gcc.dg/torture/stackalign/alloca-6.c: Likewise.
- * gcc.dg/torture/stackalign/push-1.c: Likewise.
- * gcc.dg/torture/stackalign/vararg-3.c: Likewise.
-
- * gcc.target/arm/di-longlong64-sync-withhelpers.c: Add comments
- to checks for multiple messages reported for one line of source code.
- * gcc.target/arm/di-longlong64-sync-withldrexd.c: Likewise.
-
- * gcc.c-torture/compile/sync-1.c: Add comments to checks for multiple
- messages reported for one line of source code.
-
- * gcc.dg/20031223-1.c: Add comments to check for multiple
- messages reported for one line of source code.
- * gcc.dg/Wconversion-integer.c: Likewise.
- * gcc.dg/Wfatal-2.c: Likewise.
- * gcc.dg/Wfatal.c: Likewise.
- * gcc.dg/Wobjsize-1.c: Likewise.
- * gcc.dg/c99-vla-jump-1.c: Likewise.
- * gcc.dg/c99-vla-jump-2.c: Likewise.
- * gcc.dg/c99-vla-jump-3.c: Likewise.
- * gcc.dg/c99-vla-jump-4.c: Likewise.
- * gcc.dg/c99-vla-jump-5.c: Likewise.
- * gcc.dg/decl-9.c: Likewise.
- * gcc.dg/declspec-10.c: Likewise.
- * gcc.dg/declspec-18.c: Likewise.
- * gcc.dg/mtune.c: Likewise.
- * gcc.dg/parser-pr28152-2.c: Likewise.
- * gcc.dg/parser-pr28152.c: Likewise.
- * gcc.dg/pr14475.c: Likewise.
- * gcc.dg/pr27953.c: Likewise.
- * gcc.dg/pr28322-3.c: Likewise.
- * gcc.dg/pr30457.c: Likewise.
- * gcc.dg/pr30551-2.c: Likewise.
- * gcc.dg/pr30551-3.c: Likewise.
- * gcc.dg/pr30551-4.c: Likewise.
- * gcc.dg/pr30551-5.c: Likewise.
- * gcc.dg/pr30551-6.c: Likewise.
- * gcc.dg/pr30551.c: Likewise.
- * gcc.dg/pr45461.c: Likewise.
- * gcc.dg/pr48552-1.c: Likewise.
- * gcc.dg/pr48552-2.c: Likewise.
- * gcc.dg/redecl-1.c: Likewise.
- * gcc.dg/transparent-union-3.c: Likewise.
- * gcc.dg/utf-dflt.c: Likewise.
- * gcc.dg/utf-dflt2.c: Likewise.
- * gcc.dg/vla-8.c: Likewise.
- * gcc.dg/vla-init-1.c: Likewise.
- * gcc.dg/wtr-int-type-1.c: Likewise.
-
- * c-c++-common/raw-string-3.c: Add comments to checks for multiple
- messages reported for for one line of source code.
- * c-c++-common/raw-string-5.c: Likewise.
- * c-c++-common/raw-string-4.c: Likewise.
- * c-c++-common/raw-string-6.c: Likewise.
- * c-c++-common/pr20000.c: Likewise.
-
- * gcc.dg/cpp/include2a.c: Add comments to checks for multiple
- messages reported for one line of source code.
- * gcc.dg/cpp/pr30786.c: Likewise.
- * gcc.dg/cpp/pr28709.c: Likewise.
- * gcc.dg/cpp/missing-header-MD.c: Likewise.
- * gcc.dg/cpp/macspace2.c: Likewise.
- * gcc.dg/cpp/missing-header-1.c: Likewise.
- * gcc.dg/cpp/missing-header-MMD.c: Likewise.
- * gcc.dg/cpp/missing-sysheader-MD.c: Likewise.
- * gcc.dg/cpp/missing-sysheader-MMD.c: Likewise.
-
-2012-06-12 Jason Merrill <jason@redhat.com>
-
- PR c++/53599
- * g++.dg/template/local7.C: New.
-
-2012-06-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53511
- * gcc.target/sh/pr51340-1.c: Delete obsolete test case.
- * gcc.target/sh/pr51340-2.c: Likewise.
- * gcc.target/sh/pr51340-3.c: Likewise.
-
-2012-06-12 Michael Matz <matz@suse.de>
-
- * gcc.dg/torture/alias-1.c: New test.
-
-2012-06-12 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/53589
- * gcc.dg/torture/pr53589.c: New test.
-
-2012-06-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/50749
- * gcc.target/sh/pr50749-sf-postinc-2.c: New.
- * gcc.target/sh/pr50749-sf-postinc-4.c: New.
- * gcc.target/sh/pr50749-qihisi-postinc-2.c: New.
- * gcc.target/sh/pr50749-qihisi-postinc-4.c: New.
- * gcc.target/sh/pr50749-sf-predec-2.c: New.
- * gcc.target/sh/pr50749-sf-predec-4.c: New.
- * gcc.target/sh/pr50749-qihisi-predec-1.c: New.
- * gcc.target/sh/pr50749-qihisi-predec-3.c: New.
- * gcc.target/sh/pr50749-sf-postinc-1.c: New.
- * gcc.target/sh/pr50749-sf-postinc-3.c: New.
- * gcc.target/sh/pr50749-qihisi-postinc-1.c: New.
- * gcc.target/sh/pr50749-qihisi-postinc-3.c: New.
- * gcc.target/sh/pr50749-sf-predec-1.c: New.
- * gcc.target/sh/pr50749-sf-predec-3.c: New.
- * gcc.target/sh/pr50749-qihisi-predec-2.c: New.
- * gcc.target/sh/pr50749-qihisi-predec-4.c: New.
-
-2012-06-11 Sriraman Tallam <tmsriram@google.com>
-
- * gcc.target/i386/builtin_target.c (vendor_signatures): New enum.
- (check_intel_cpu_model): New function.
- (check_amd_cpu_model): New function.
- (check_features): New function.
- (__get_cpuid_output): New function.
- (check_detailed): New function.
- (fn1): Rename to quick_check.
- (main): Update to call quick_check and call check_detailed.
-
-2012-06-11 Richard Henderson <rth@redhat.com>
-
- * lib/target-supports.exp
- (check_effective_target_sync_long_long_runtime): Use
- check_effective_target_lp64 instead of
- check_effective_target_powerpc64 for powerpc targets.
-
-2012-06-11 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53511
- * gcc.target/sh/pr53511-1.c: New.
-
-2012-06-11 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53470
- * g++.dg/lto/pr53470_0.C: New testcase.
- * gcc.dg/lto/pr53470_0.c: Likewise.
-
-2012-06-11 Richard Guenther <rguenther@suse.de>
-
- PR c++/53605
- * g++.dg/ext/pr53605.C: New testcase.
-
-2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/array1.ads: New test.
- * gnat.dg/specs/array2.ads: Likewise.
- * gnat.dg/array22.adb: Likewise.
-
-2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/constant4.adb: New test.
- * gnat.dg/constant4_pkg.ads: New helper.
-
-2012-06-08 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/52552
- * gfortran.dg/allocate_alloc_opt_1.f90: Modified.
- * gfortran.dg/allocate_class_1.f90: Modified.
- * gfortran.dg/allocate_with_typespec_4.f90: Modified.
- * gfortran.dg/allocate_class_2.f90: New.
-
-2012-06-07 Hans-Peter Nilsson <hp@axis.com>
-
- PR middle-end/53535
- * gcc.dg/pr46647.c: xfail for cris-* and crisv32-*.
-
-2012-06-07 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/52861
- * gfortran.dg/string_assign_2.f90: New test case.
-
-2012-06-07 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/52861
- * gfortran.dg/string_assign_1.f90: New test case.
-
-2012-06-07 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/53580
- * gcc.dg/gomp/nesting-1.c: Expect errors rather than warnings.
- * gcc.dg/gomp/critical-4.c: Likewise.
- * gfortran.dg/gomp/appendix-a/a.35.1.f90: Likewise.
- * gfortran.dg/gomp/appendix-a/a.35.3.f90: Likewise.
- * gfortran.dg/gomp/appendix-a/a.35.4.f90: Likewise.
- * gfortran.dg/gomp/appendix-a/a.35.6.f90: Likewise.
- * c-c++-common/gomp/pr53580.c: New test.
-
-2012-06-07 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/51214
- * g++.dg/cpp0x/forw_enum11.C: New.
-
-2012-06-06 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53567
- * g++.dg/cpp0x/alias-decl-19.C: New.
-
-2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
-
- * g++.old-deja/g++.brendan/array1.C: Remove dg-options.
-
-2012-06-06 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/avx-os-support.h (XCR_XFEATURE_ENABLED_MASK): New.
- (XSTATE_FP): Ditto.
- (XSTATE_SSE): Ditto.
- (XSTATE_YMM): Ditto.
- (avx_os_support): Use new defines.
-
-2012-06-06 Richard Guenther <rguenther@suse.de>
-
- PR testsuite/32380
- * gfortran.dg/vect/pr32380.f: Adjust number of expected vectorized
- loops.
-
-2012-06-06 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/52841
- * g++.dg/cpp0x/pr52841.C: New testcase.
-
-2012-06-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53081
- * gcc.dg/tree-ssa/ldist-20.c: New testcase.
- * gcc.dg/tree-ssa/loop-19.c: Add -fno-tree-loop-distribute-patterns.
-
-2012-06-05 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/pr53487.c: New test.
-
-2012-06-05 Pat Haugen <pthaugen@us.ibm.com>
-
- * gcc.target/powerpc/lhs-1.c: Use parm instead of stack space.
-
-2012-06-05 Edmar Wienskoski <edmar@freescale.com>
-
- * gcc.dg/tree-ssa/vector-3.c: Adjust regular expression.
-
-2012-06-05 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/30442
- * gcc.dg/vect/bb-slp-30.c: New testcase.
-
-2012-06-05 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53081
- * gcc.dg/tree-ssa/ldist-19.c: New testcase.
- * gcc.c-torture/execute/builtins/builtins.exp: Always pass
- -fno-tree-loop-distribute-patterns.
-
-2012-06-05 Alan Modra <amodra@gmail.com>
-
- * gcc.target/powerpc/savres.c: Add -mdynamic-no-pic for darwin.
- Check static chain in nested funcs.
-
-2012-06-04 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50619
- * gfortran.dg/init_flag_10.f90: New.
-
-2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53524
- * g++.dg/warn/Wenum-compare-no-2: New.
-
-2012-06-04 Dodji Seketeli <dodji@redhat.com>
-
- PR preprocessor/53463
- * g++.dg/cpp/limits.C: New test.
- * g++.dg/parse/error19.C: Adjust.
- * g++.dg/warn/Wconversion-real-integer2.C: Likewise.
- * g++.dg/warn/pr35635.C: Likewise.
- * g++.old-deja/g++.pt/assign1.C: Likewise.
-
-2012-06-04 Edmar Wienskoski <edmar@freescale.com>
-
- PR target/53559
- * gcc.target/powerpc/cell_builtin_1.c: New test case.
- * gcc.target/powerpc/cell_builtin_2.c: Ditto.
- * gcc.target/powerpc/cell_builtin_3.c: Ditto.
- * gcc.target/powerpc/cell_builtin_4.c: Ditto.
- * gcc.target/powerpc/cell_builtin_5.c: Ditto.
- * gcc.target/powerpc/cell_builtin_6.c: Ditto.
- * gcc.target/powerpc/cell_builtin_7.c: Ditto.
- * gcc.target/powerpc/cell_builtin_8.c: Ditto.
-
-2012-06-04 Andreas Schwab <schwab@linux-m68k.org>
-
- * g++.dg/debug/dwarf2/nested-3.C: Allow for | comments.
-
-2012-06-04 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53550
- * gcc.dg/pr53550.c: New test.
-
-2012-06-04 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/ldist-11.c: Enable -ftree-loop-distribute-patterns.
- * gcc.dg/tree-ssa/ldist-17.c: Likewise.
- * gcc.dg/tree-ssa/ldist-pr45948.c: Likewise.
-
-2012-06-03 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
-
- PR fortran/48831
- * gfortran.dg/parameter_array_element_2.f90: New.
-
-2012-06-03 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53512
- * gcc.target/sh/pr53512-1.c: New.
- * gcc.target/sh/pr53512-2.c: New.
- * gcc.target/sh/pr53512-3.c: New.
- * gcc.target/sh/pr53512-4.c: New.
-
-2012-06-01 Jason Merrill <jason@redhat.com>
-
- PR c++/52973
- * g++.dg/ext/visibility/template12.C: New.
- * g++.dg/ext/attrib14.C: Adjust warning line.
-
- PR c++/52725
- * g++.dg/parse/new6.C: New.
- * g++.dg/template/sizeof-template-argument.C: Adjust error message.
-
-2012-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * c-c++-common/restrict-2.c: Revert previous change.
-
-2012-06-01 Jason Merrill <jason@redhat.com>
-
- PR c++/53137
- * g++.dg/cpp0x/lambda/lambda-template5.C: New.
-
- PR c++/53484
- * g++.dg/cpp0x/auto33.C: New.
-
-2012-06-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/26155
- * g++.dg/parse/namespace-alias-1.C: New.
-
-2012-06-01 Christian Bruel <christian.bruel@st.com>
-
- * gcc.dg/spec-options.c: New test.
- * gcc.dg/foo.specs: New file.
-
-2012-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/53517
- * gnat.dg/lto14.adb: Skip on Solaris.
-
-2012-06-01 Hans-Peter Nilsson <hp@axis.com>
-
- * gcc.target/cris/sync-1-v10.c,
- gcc.target/cris/sync-1-v32.c, gcc.target/cris/sync-1.c,
- gcc.target/cris/sync-2c.c, gcc.target/cris/sync-2i.c,
- gcc.target/cris/sync-2s.c, gcc.target/cris/sync-3i.c,
- gcc.target/cris/sync-3s.c, gcc.target/cris/sync-4c.c,
- gcc.target/cris/sync-4i.c, gcc.target/cris/sync-4s.c,
- gcc.target/cris/torture/sync-mis-op-i-1.c,
- gcc.target/cris/torture/sync-mis-op-i-1a.c,
- gcc.target/cris/torture/sync-mis-op-i-2.c,
- gcc.target/cris/torture/sync-mis-op-i-2a.c,
- gcc.target/cris/torture/sync-mis-op-i-3.c,
- gcc.target/cris/torture/sync-mis-op-i-3a.c,
- gcc.target/cris/torture/sync-mis-op-s-1.c,
- gcc.target/cris/torture/sync-mis-op-s-1a.c,
- gcc.target/cris/torture/sync-mis-xchg-i-1.c,
- gcc.target/cris/torture/sync-mis-xchg-i-1a.c,
- gcc.target/cris/torture/sync-mis-xchg-i-2.c,
- gcc.target/cris/torture/sync-mis-xchg-i-2a.c,
- gcc.target/cris/torture/sync-mis-xchg-i-3.c,
- gcc.target/cris/torture/sync-mis-xchg-i-3a.c,
- gcc.target/cris/torture/sync-mis-xchg-s-1.c,
- gcc.target/cris/torture/sync-mis-xchg-s-1a.c: New tests.
-
-2012-05-31 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/ldist-pr45948-2.c: New testcase copy of
- ldist-pr45948.c with disabled SCCP.
-
-2012-05-31 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48493
- * gcc.dg/torture/pr48493.c: New testcase.
-
-2012-05-31 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * lib/target-supports.exp (check_effective_target_vect_char_mult): Add
- arm32 to targets.
- * gcc.dg/vect/slp-perm-8.c (main): Prevent vectorization
- of the initialization loop.
- (dg-final): Adjust the expected number of vectorized loops depending
- on vect_char_mult target selector.
-
-2012-05-31 Hans-Peter Nilsson <hp@axis.com>
-
- * gcc.target/cris/asm-v8.S, gcc.target/cris/asm-v10.S,
- gcc.target/cris/asm-other.S, gcc.target/cris/inasm-v8.c,
- gcc.target/cris/inasm-v10.c, gcc.target/cris/inasm-other.c:
- New tests.
-
-2012-05-30 Jason Merrill <jason@redhat.com>
-
- PR c++/53356
- * g++.dg/init/new34.C: New.
- * g++.dg/tree-ssa/stabilize1.C: New.
-
-2012-05-30 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/53356
- * g++.dg/init/new33.C: New test.
-
-2012-05-30 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53501
- * gcc.dg/torture/pr53501.c: New testcase.
- * c-c++-common/restrict-2.c: Adjust.
-
-2012-05-30 Alan Modra <amodra@gmail.com>
-
- * gcc.target/powerpc/powerpc.exp: Load torture-options.exp, call
- torture-finish.
-
-2012-05-30 Marc Glisse <marc.glisse@inria.fr>
-
- * gcc.target/i386/shuf-concat.c: New test.
-
-2012-05-30 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/53519
- * gcc.c-torture/compile/pr53519.c: New test.
-
-2012-05-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * gcc.target/arm/neon-vrev.c: New.
-
-2012-05-29 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51340
- * gcc.target/sh/pr51340-1.c: New.
- * gcc.target/sh/pr51340-2.c: New.
- * gcc.target/sh/pr51340-3.c: New.
-
-2012-05-29 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53516
- * gcc.dg/torture/pr53516.c: New testcase.
-
-2012-05-29 Dodji Seketeli <dodji@redhat.com>
-
- PR preprocessor/53229
- * gcc.dg/cpp/paste6.c: Force to run without
- -ftrack-macro-expansion.
- * gcc.dg/cpp/paste8.c: Likewise.
- * gcc.dg/cpp/paste8-2.c: New test, like paste8.c but run with
- -ftrack-macro-expansion.
- * gcc.dg/cpp/paste12.c: Force to run without
- -ftrack-macro-expansion.
- * gcc.dg/cpp/paste12-2.c: New test, like paste12.c but run with
- -ftrack-macro-expansion.
- * gcc.dg/cpp/paste13.c: Likewise.
- * gcc.dg/cpp/paste14.c: Likewise.
- * gcc.dg/cpp/paste14-2.c: New test, like paste14.c but run with
- -ftrack-macro-expansion.
- * gcc.dg/cpp/paste18.c: New test.
-
-2012-05-29 Hans-Peter Nilsson <hp@axis.com>
-
- * gcc.target/cris/torture/trap-1.c,
- gcc.target/cris/torture/trap-2.c,
- gcc.target/cris/torture/trap-3.c,
- gcc.target/cris/torture/trap-v0.c,
- gcc.target/cris/torture/trap-v3.c: New tests.
-
-2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/25137
- * g++.dg/warn/Wbraces3.C: New.
- * g++.dg/warn/Wbraces4.C: Likewise.
-
-2012-05-28 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53505
- * c-c++-common/torture/pr53505.c: New test.
-
-2012-05-27 Nathan Sidwell <nathan@acm.org>
-
- * gcc.dg/stmt-expr-4.c: New.
-
-2012-05-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53491
- * g++.dg/parse/crash60.C: New.
-
-2012-05-26 Jason Merrill <jason@redhat.com>
-
- PR c++/53220
- * c-c++-common/array-lit.c: New.
- * g++.dg/ext/complit12.C: #if 0 out decay-to-pointer test.
-
-2012-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/50294
- * gnat.dg/array21.adb: New test.
-
-2012-05-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/renaming5.adb: Adjust dg-final directive.
-
-2012-05-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/32054
- * g++.dg/other/anon-union3.C: New.
-
-2012-05-25 Ian Lance Taylor <iant@google.com>
-
- * gcc.dg/split-6.c: New test.
-
-2012-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/lto14.adb: New test.
-
-2012-05-25 Tristan Gingold <gingold@adacore.com>
-
- * gcc.target/i386/large-frame.c: New.
-
-2012-05-24 Pat Haugen <pthaugen@us.ibm.com>
- * gcc.target/powerpc/lhs-1.c: New.
- * gcc.target/powerpc/lhs-2.c: New.
- * gcc.target/powerpc/lhs-3.c: New.
-
-2012-05-24 Dodji Seketeli <dodji@redhat.com>
-
- Make unwound macro expansion trace less redundant
- * gcc.dg/cpp/macro-exp-tracking-1.c: Adjust.
- * gcc.dg/cpp/macro-exp-tracking-2.c: Likewise.
- * gcc.dg/cpp/macro-exp-tracking-3.c: Likewise.
- * gcc.dg/cpp/macro-exp-tracking-4.c: Likewise.
- * gcc.dg/cpp/macro-exp-tracking-5.c: Likewise.
- * gcc.dg/cpp/pragma-diagnostic-2.c: Likewise.
-
-2012-05-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53464
- * g++.dg/cpp0x/constexpr-default1.C: New.
-
-2012-05-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/32080
- * g++.dg/eh/goto2.C: New.
-
-2012-05-24 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53460
- * g++.dg/tree-prof/pr53460.C: New testcase.
-
-2012-05-24 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/53466
- * g++.dg/debug/pr53466.C: New testcase.
-
-2012-05-24 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53465
- * gcc.c-torture/execute/pr53465.c: New test.
-
-2012-05-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51055
- PR fortran/45170
- * gfortran.dg/allocate_with_typespec_6.f90: New.
-
-2012-05-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/29185
- * g++.dg/warn/delete-array-1.C: New.
-
-2012-05-23 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/torture/pr39074-2.c: Adjust.
- * gcc.dg/torture/pr39074.c: Likewise.
- * gcc.dg/torture/pta-structcopy-1.c: Likewise.
- * gcc.dg/tree-ssa/alias-19.c: Likewise.
-
-2012-05-22 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/53161
- * g++.dg/torture/pr53161.C: New testcase.
-
-2012-05-22 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53389
- * gfortran.dg/realloc_on_assign_15.f90: New.
-
-2012-05-22 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/51071
- * gcc.dg/torture/pr51071-2.c: New testcase.
-
-2012-05-22 Paolo Bonzini <bonzini@gnu.org>
-
- PR tree-optimization/53336
- * g++.dg/torture/pr53336.C: New testcase.
-
-2012-05-22 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/53322
- * g++.dg/warn/Wunused-local-typedefs.C: Adjust to use -Wunused
- instead of -Wunused-local-typedefs.
-
-2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51184
- * g++.dg/other/abstract4.C: New-
-
-2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/40821
- * g++.dg/ext/attrib46.C: New.
-
-2012-05-21 Joseph Myers <joseph@codesourcery.com>
-
- PR c/53418
- * gcc.c-torture/compile/pr53418-1.c,
- gcc.c-torture/compile/pr53418-2.c: New tests.
-
-2012-05-21 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53366
- * gcc.dg/torture/pr53366-1.c: New test.
- * gcc.dg/torture/pr53366-2.c: New test.
- * gcc.target/i386/pr53366-1.c: New test.
- * gcc.target/i386/pr53366-2.c: New test.
-
- PR tree-optimization/53409
- * gcc.c-torture/compile/pr53409.c: New test.
-
- PR tree-optimization/53410
- * gcc.c-torture/compile/pr53410-1.c: New test.
- * gcc.c-torture/compile/pr53410-2.c: New test.
-
-2012-05-21 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/53425
- * gcc.target/i386/pr53425-1.c: New file.
- * gcc.target/i386/pr53425-2.c: Likewise.
-
-2012-05-21 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53408
- * gcc.dg/torture/pr53408.c: New testcase.
-
-2012-05-21 Uros Bizjak <ubizjak@gmail.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/53416
- * gcc.target/i386/pr53416.c: New file.
-
-2012-05-21 Richard Guenther <rguenther@suse.de>
-
- * gfortran.dg/pr46519-2.f90: Adjust to avoid memset transform.
-
-2012-05-21 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/torture/ldist-1.c: New testcase.
-
-2012-05-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/lto13.adb: New test.
- * gnat.dg/lto13_pkg.ad[sb]: New helper.
-
-2012-05-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/lto12.ads: New test.
- * gnat.dg/specs/lto12_pkg.ads: New helper.
-
-2012-05-18 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53346
- * gcc.dg/tree-ssa/ldist-18.c: New testcase.
- * gcc.target/i386/incoming-10.c: Adjust.
- * gcc.target/i386/incoming-11.c: Likewise.
- * gcc.target/i386/pr46295.c: Likewise.
-
-2012-05-18 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/pr53352.c: Return zero.
-
-2012-05-18 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53390
- * gcc.dg/torture/pr53390.c: New testcase.
-
-2012-05-18 Meador Inge <meadori@codesourcery.com>
-
- PR rtl-optimization/53352
- * gcc.dg/pr53352.c: New test.
-
-2012-05-17 David S. Miller <davem@davemloft.net>
-
- * gfortran.dg/bessel_7.f90: Bump allowed precision to avoid
- failure on sparc-*-linux-gnu.
-
-2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/39681
- * g++.dg/parse/error49.C: New.
- * g++.dg/cpp0x/error8.C: Likewise.
- * g++.dg/ext/utf-cxx98.C: Adjust dg-error directive.
- * g++.dg/ext/utf-dflt2.C: Likewise.
- * g++.dg/ext/utf-gnuxx98.C: Likewise.
- * g++.dg/ext/utf-dflt.C: Likewise.
- * c-c++-common/raw-string-3.c: Likewise.
- * c-c++-common/raw-string-4.c: Likewise.
-
-2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53371
- * g++.dg/cpp0x/catch1.C: New.
-
-2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/44516
- * g++.dg/parse/error48.C: New.
- * g++.dg/template/crash89.C: Adjust dg-error line numbers.
- * g++.old-deja/g++.robertl/eb109.C: Add column info to dg-error string.
-
-2012-05-16 Patrick Marlier <patrick.marlier@gmail.com>
-
- * gcc.dg/tm/indirect-2.c: New test.
-
-2012-05-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/53217
- * gfortran.dg/pr53217.f90: New test.
-
-2012-05-16 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53364
- * g++.dg/torture/pr53364.C: New testcase.
-
-2012-05-16 Georg-Johann Lay <avr@gjlay.de>
-
- PR testsuite/52641
- * gcc.dg/pr52549.c: Fix test for long != void*
- * gcc.c-torture/execute/pr52979-1.x: New file.
- * gcc.c-torture/execute/pr52979-2.x: New file.
-
-2012-05-16 Dodji Seketeli <dodji@redhat.com>
-
- PR preprocessor/7263
- * gcc.dg/binary-constants-2.c: Run without tracking locations
- accross macro expansion.
- * gcc.dg/binary-constants-3.c: Likewise.
- * gcc.dg/cpp/sysmac2.c: Likewise.
- * gcc.dg/nofixed-point-2.c: Adjust for more precise
- location.
- * gcc.dg/cpp/syshdr3.c: New test.
- * gcc.dg/cpp/syshdr3.h: New header for the new test above.
- * gcc.dg/system-binary-constants-1.c: New test.
- * gcc.dg/system-binary-constants-1.h: New header for the new test
- above.
- * g++.dg/cpp/syshdr3.C: New test.
- * g++.dg/cpp/syshdr3.h: New header the new test above.
- * g++.dg/system-binary-constants-1.C: New test.
- * g++.dg/system-binary-constants-1.h: New header the new test
- above.
-
-2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
-
- * g++.old-deja/g++.pt/crash10.C: Adjust post PR11586.
-
-2012-05-15 Jakub Jelinek <jakub@redhat.com>
-
- PR target/53358
- * gcc.dg/pr53358.c: New test.
-
-2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/11856
- * g++.dg/warn/Wtype-limits.C: Don't warn in templates.
- * g++.dg/warn/Wtype-limits-Wextra.C: Likewise.
-
-2012-05-15 Olivier Hainque <hainque@adacore.com>
-
- * g++.dg/eh/sighandle.C: New testcase.
-
-2012-05-15 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53355
- * gcc.dg/tree-ssa/vrp67.c: New testcase.
-
-2012-05-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * gfortran.dg/*.f90: Remove now redundant manual
- cleanup-modules directive.
-
-2012-05-14 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/avx256-unaligned-load-[1234].c: Update scan strings.
- * gcc.target/i386/avx256-unaligned-store-[1234].c: Ditto.
-
-2012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/52428
- * gfortran.dg/int_range_io_1.f90: New test.
-
-2012-05-14 Andi Kleen <ak@linux.intel.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR target/53315
- * gcc.target/i386/i386.exp (check_effective_target_rtm): New.
- * gcc.target/i386/rtm-check.h: New file.
- * gcc.target/i386/pr53315.c: New test.
-
-2012-05-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/49110
- PR fortran/51055
- PR fortran/53329
- * gfortran.dg/deferred_type_param_4.f90: New.
- * gfortran.dg/deferred_type_param_6.f90: New.
-
-2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
-
- * gcc.target/i386/retarg.c: New test.
-
-2012-05-13 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
-
- PR fortran/45170
- * gfortran.dg/deferred_type_param_3.f90: New.
- * gfortran.dg/deferred_type_proc_pointer_1.f90: New.
- * gfortran.dg/deferred_type_proc_pointer_2.f90: New.
-
-2012-05-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/null_pointer_deref3.adb: New test.
-
-2012-05-12 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/49110
- PR fortran/52843
- * gfortran.dg/deferred_type_param_5.f90: New.
-
-2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- * g++.dg/parse/error47.C: New.
-
-2012-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/52537
- * gfortran.dg/string_compare_4.f90: Change option
- to -fdump-tree-original. Add test case for kind=4.
-
-2012-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/52537
- * gfortran.dg/string_compare_4.f90: New test.
-
-2012-05-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * g++.dg/debug/dwarf2/nested-3.C: Allow for ! comments.
-
-2012-05-11 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53305
- * g++.dg/cpp0x/variadic132.C: New.
-
-2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53158
- * g++.dg/cpp0x/lambda/lambda-err2.C: New.
- * g++.dg/parse/error26.C: Tweak dg-error column number.
-
-2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53301
- * g++.dg/warn/Wzero-as-null-pointer-constant-6.C: New.
-
-2012-05-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/lto11.ad[sb]: New test.
-
-2012-05-09 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/52908
- * gcc.target/i386/xop-imul32widen-vector.c: Update scan-assembler
- directive to Scan for vpmuldq, not vpmacsdql.
-
-2012-05-09 Michael Matz <matz@suse.de>
-
- PR tree-optimization/53185
- * gcc.dg/vect/pr53185.c: New test.
-
-2012-05-09 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/53249
- * gcc.target/i386/pr53249.c: New.
-
-2012-05-09 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/18437
- * gfortran.dg/vect/rnflow-trs2a2.f90: Move ...
- * gfortran.dg/vect/fast-math-rnflow-trs2a2.f90: ... here.
-
-2012-05-09 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53226
- * gcc.c-torture/compile/pr53226.c: New test.
-
-2012-05-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.target/i386/hle-add-acq-1.c: Allow for ; after lock.
- * gcc.target/i386/hle-add-rel-1.c: Likewise.
- * gcc.target/i386/hle-and-acq-1.c: Likewise.
- * gcc.target/i386/hle-and-rel-1.c: Likewise.
- * gcc.target/i386/hle-cmpxchg-acq-1.c: Likewise.
- * gcc.target/i386/hle-cmpxchg-rel-1.c: Likewise.
- * gcc.target/i386/hle-or-acq-1.c: Likewise.
- * gcc.target/i386/hle-or-rel-1.c: Likewise.
- * gcc.target/i386/hle-sub-acq-1.c: Likewise.
- * gcc.target/i386/hle-sub-rel-1.c: Likewise.
- * gcc.target/i386/hle-xadd-acq-1.c: Likewise.
- * gcc.target/i386/hle-xadd-rel-1.c: Likewise.
- * gcc.target/i386/hle-xor-acq-1.c: Likewise.
- * gcc.target/i386/hle-xor-rel-1.c: Likewise.
-
-2012-05-09 Dehao Chen <dehao@google.com>
-
- * gcc.dg/predict-1.c: Remove the replicated text in this test.
- * gcc.dg/predict-2.c: Likewise.
- * gcc.dg/predict-3.c: Likewise.
- * gcc.dg/predict-4.c: Likewise.
- * gcc.dg/predict-5.c: Likewise.
- * gcc.dg/predict-6.c: Likewise.
-
-2012-05-08 Hans-Peter Nilsson <hp@axis.com>
-
- PR target/53272
- * gcc.dg/torture/pr53272-1.c, gcc.dg/torture/pr53272-2.c: New test.
-
-2012-05-08 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/fold-bitand-4.c: New testcase.
-
-2012-05-08 Dehao Chen <dehao@google.com>
-
- * gcc.dg/predict-1.c: Check if LOOP_IV_COMPARE static predict
- heuristic is working properly.
- * gcc.dg/predict-2.c: Likewise.
- * gcc/dg/predict-3.c: Likewise.
- * gcc/dg/predict-4.c: Likewise.
- * gcc/dg/predict-5.c: Likewise.
- * gcc/dg/predict-6.c: Likewise.
-
-2012-05-07 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53239
- * g++.dg/opt/vrp3.C: New test.
- * g++.dg/opt/vrp3-aux.cc: New file.
- * g++.dg/opt/vrp3.h: New file.
-
-2012-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * g++.dg/debug/dwarf2/nested-3.C: Allow for / comments and missing
- .uleb128 support in assembler output.
-
-2012-05-07 Richard Guenther <rguenther@suse.de>
-
- PR lto/42987
- * g++.dg/lto/pr42987_0.C: New testcase.
- * g++.dg/lto/pr42987_1.C: Likewise.
-
-2012-05-07 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53255
- * gfortran.dg/typebound_operator_15.f90: New.
-
-2012-05-06 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/41587
- * gfortran.dg/class_array_13.f90: New.
-
-2012-05-06 Tristan Gingold <gingold@adacore.com>
-
- * gnat.dg/warn7.adb: New test.
-
-2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/renamings.ads: Rename to...
- * gnat.dg/specs/renaming1.ads: ...this.
- * gnat.dg/specs/renaming2.ads: New test.
- * gnat.dg/specs/renaming2_pkg1.ads: New helper.
- * gnat.dg/specs/renaming2_pkg2.ads: Likewise.
- * gnat.dg/specs/renaming2_pkg3.ads: Likewise.
- * gnat.dg/specs/renaming2_pkg4.ad[sb]: Likewise.
-
-2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr36.ad[sb]: New test.
- * gnat.dg/discr36_pkg.ad[sb]: New helper.
-
-2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/43772
- * c-c++-common/pr43772.c: New.
-
-2012-05-05 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/41600
- * gfortran.dg/select_type_26.f03 : New test.
- * gfortran.dg/select_type_27.f03 : New test.
-
- PR fortran/53191
- * gfortran.dg/select_type_28.f03 : New test.
-
-2012-05-05 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/49010
- PR fortran/24518
- * gfortran.dg/mod_sign0_1.f90: New test.
- * gfortran.dg/mod_large_1.f90: New test.
-
-2012-05-04 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53175
- gfortran.dg/public_private_module_5.f90: New.
-
-2012-05-04 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53111
- * gfortran.dg/constructor_7.f90: New.
- * gfortran.dg/constructor_8.f90: New.
-
-2012-05-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53166
- * g++.dg/cpp0x/static_assert7.C: New.
-
-2012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- PR tree-optimization/52633
- * gcc.dg/vect/vect-over-widen-1.c: Two patterns should now be
- recognized as widening shifts instead of over-widening.
- * gcc.dg/vect/vect-over-widen-1-big-array.c: Likewise.
- * gcc.dg/vect/vect-over-widen-4.c: Likewise.
- * gcc.dg/vect/vect-over-widen-4-big-array.c: Likewise.
- * gcc.target/arm/pr52633.c: New test.
-
-2012-05-04 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53168
- * gcc.dg/torture/pr53168.c: New testcase.
- * gcc.dg/tree-ssa/ssa-pre-30.c: Likewise.
-
-2012-05-04 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/lto/pr53214_0.c: New testcase.
-
-2012-05-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.target/ia64/pr48496.c: New test.
- * gcc.target/ia64/pr52657.c: Likewise.
-
-2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/51712
- * c-c++-common/pr51712.c: New.
-
-2012-05-03 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/53199
- * gcc.target/powwerpc/pr53199.c: New file.
-
-2012-05-03 Jason Merrill <jason@redhat.com>
-
- * g++.dg/debug/dwarf2/nested-3.C: Adjust pattern.
-
- * gcc.dg/debug/dwarf2/dups-types.c: New.
- * gcc.dg/debug/dwarf2/dups-types.h: New.
-
-2012-05-03 Jason Merrill <jason@redhat.com>
-
- * g++.dg/debug/dwarf2/namespace-2.C: New.
- * g++.dg/debug/dwarf2/localclass3.C: New.
-
-2012-05-03 Jason Merrill <jason@redhat.com>
-
- * g++.dg/debug/dwarf2/thunk1.C: New.
-
-2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53186
- * g++.dg/other/final2.C: New.
-
-2012-05-03 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/ssa-pre-27.c: Remove XFAIL.
-
-2012-05-03 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/hle-cmpxchg-acq-1.c (dg-options): Add -march=x86-64.
- * gcc.target/i386/hle-xadd-acq-1.c (dg-options): Ditto.
- * gcc.target/i386/hle-cmpxchg-rel-1.c (dg-options): Ditto.
- * gcc.target/i386/hle-xadd-rel-1.c (dg-options): Ditto.
-
-2012-05-03 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.target/i386/hle-xadd-rel-1.c: Match .byte 0xf3 instead of
- .byte 0xf2.
- * gcc.target/i386/hle-sub-rel-1.c: Likewise.
- * gcc.target/i386/hle-xchg-rel-1.c: Likewise.
- * gcc.target/i386/hle-add-rel-1.c: Likewise.
-
- PR debug/53174
- * gcc.dg/pr53174.c: New test.
-
- PR target/53187
- * gcc.target/arm/pr53187.c: New test.
- * gcc.c-torture/compile/pr53187.c: New test.
-
-2012-05-03 Richard Guenther <rguenther@suse.de>
-
- * gfortran.dg/pr52621.f90: Add -w to avoid diagnostic about
- unsupported prefetching support.
-
-2012-05-03 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * gcc.dg/fixed-point/composite-type.c (dg-options): Add
- option -ftrack-macro-expansion=0.
- * gcc.dg/fixed-point/operator-bitwise.c (dg-options): Add
- option -ftrack-macro-expansion=0.
-
-2012-05-03 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * gcc.dg/builtin-stringop-chk-1.c (dg-options): Replace
- dg-options for target arm with dg-additional-options.
-
-2012-05-03 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53144
- * gcc.dg/torture/pr53144.c: New testcase.
-
-2012-05-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52864
- * gfortran.dg/pointer_intent_7.f90: New.
- * gfortran.dg/pure_formal_3.f90: New.
-
-2012-05-02 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * gcc.target/s390/20030123-1.c: Add missing "volatile".
-
-2012-05-02 Martin Jambor <mjambor@suse.cz>
-
- PR lto/52605
- * g++.dg/lto/pr52605_0.C: New test.
-
-2012-05-02 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gcc.target/i386/hle-cmpxchg-acq-1.c: New.
- * gcc.target/i386/hle-cmpxchg-rel-1.c: Ditto.
- * gcc.target/i386/hle-add-acq-1.c: Ditto.
- * gcc.target/i386/hle-add-rel-1.c: Ditto.
- * gcc.target/i386/hle-and-acq-1.c: Ditto.
- * gcc.target/i386/hle-and-rel-1.c: Ditto.
- * gcc.target/i386/hle-or-acq-1.c: Ditto.
- * gcc.target/i386/hle-or-rel-1.c: Ditto.
- * gcc.target/i386/hle-sub-acq-1.c: Ditto.
- * gcc.target/i386/hle-sub-rel-1.c: Ditto.
- * gcc.target/i386/hle-xadd-acq-1.c: Ditto.
- * gcc.target/i386/hle-xadd-rel-1.c: Ditto.
- * gcc.target/i386/hle-xchg-acq-1.c: Ditto.
- * gcc.target/i386/hle-xchg-rel-1.c: Ditto.
- * gcc.target/i386/hle-xor-acq-1.c: Ditto.
- * gcc.target/i386/hle-xor-rel-1.c: Ditto.
-
-2012-05-02 Steven Bosscher <steven@gcc.gnu.org>
-
- PR middle-end/53153
- * gcc.dg/pr53153.c: New test.
-
-2012-05-02 Richard Guenther <rguenther@suse.de>
-
- * g++.dg/tree-ssa/pr19807.C: Adjust.
-
-2012-05-02 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53163
- * gcc.c-torture/compile/pr53163.c: New test.
-
- PR rtl-optimization/53160
- * gcc.c-torture/execute/pr53160.c: New test.
-
-2012-05-01 Ian Lance Taylor <iant@google.com>
-
- PR c/37303
- * gcc.dg/pr37303.c: New test.
-
-2012-05-01 Richard Henderson <rth@redhat.com>
-
- * lib/target-supports.exp
- (check_effective_target_sync_long_long_runtime): True for
- check_effective_target_powerpc64.
-
-2012-04-30 Marc Glisse <marc.glisse@inria.fr>
-
- PR c++/51033
- * gcc.dg/vector-1.c: Move to ...
- * c-c++-common/vector-1.c: ... here.
- * gcc.dg/vector-2.c: Move to ...
- * c-c++-common/vector-2.c: ... here.
- * gcc.dg/vector-3.c: Move to ...
- * c-c++-common/vector-3.c: ... here. Adapt to C++.
- * gcc.dg/vector-4.c: Move to ...
- * c-c++-common/vector-4.c: ... here.
- * gcc.dg/vector-init-1.c: Move to ...
- * c-c++-common/vector-init-1.c: ... here.
- * gcc.dg/vector-init-2.c: Move to ...
- * c-c++-common/vector-init-2.c: ... here.
- * gcc.dg/vector-subscript-1.c: Move to ... Adapt to C++.
- * c-c++-common/vector-subscript-1.c: ... here.
- * gcc.dg/vector-subscript-2.c: Move to ...
- * c-c++-common/vector-subscript-2.c: ... here.
- * gcc.dg/vector-subscript-3.c: Move to ...
- * c-c++-common/vector-subscript-3.c: ... here.
-
- PR c++/51314
- * g++.dg/cpp0x/vt-51314.C: New test.
- * g++.dg/cpp0x/variadic76.C: Fix.
-
-2012-04-30 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * gcc.dg/pr52283.c: Add missing dg-warning and dg-options.
-
-2012-04-30 Dodji Seketeli <dodji@redhat.com>
-
- Add -Wvarargs option
- * c-c++-common/Wvarargs.c: New test case.
- * c-c++-common/Wvarargs-2.c: Likewise.
-
-2012-04-30 Dodji Seketeli <dodji@redhat.com>
-
- Adjust relevant test cases wrt -ftrack-macro-expansion=[0|2]
- * objc.dg/foreach-7.m: Force the test case to run without
- -ftrack-macro-expansion.
- * c-c++-common/tm/attrib-1.c: Likewise.
- * c-c++-common/warn-ommitted-condop.c: Likewise.
- * gcc.dg/assign-warn-1.c: Likewise.
- * gcc.dg/assign-warn-2.c: Likewise.
- * gcc.dg/attr-alloc_size.c: Likewise.
- * gcc.dg/builtin-stringop-chk-1.c: Likewise.
- * gcc.dg/builtin-stringop-chk-2.c: Likewise.
- * gcc.dg/builtin-strncat-chk-1.c: Likewise.
- * gcc.dg/c90-const-expr-9.c: Likewise.
- * gcc.dg/c99-const-expr-9.c: Likewise.
- * gcc.dg/cpp/direct2.c: Likewise. Adjust.
- * gcc.dg/cpp/direct2s.c: Likewise.
- * gcc.dg/cpp/pr28709.c: Likewise.
- * gcc.dg/cpp/pragma-diagnostic-1.c: Likewise.
- * gcc.dg/dfp/composite-type.c: Likewise.
- * gcc.dg/uninit-6-O0.c: Adjust the test case and force it to run
- with -ftrack-macro-expansion
- * g++.dg/cpp0x/constexpr-ex3.C: Likewise.
- * g++.dg/cpp0x/constexpr-overflow.C: Likewise.
- * g++.dg/ext/cleanup-1.C: Likewise.
- * g++.dg/ext/gnu-inline-global-reject.C: Likewise.
- * g++.dg/template/sfinae10.C: Likewise.
- * g++.dg/tm/wrap-2.C: Likewise.
- * g++.dg/warn/Wconversion-real-integer.C: Likewise.
- * g++.dg/warn/Wsign-conversion.C: Likewise.
- * g++.dg/warn/multiple-overflow-warn-1.C: Likewise.
- * g++.old-deja/g++.mike/p10769b.C: Likewise.
- * g++.dg/warn/Wdouble-promotion.C: Adjust the test case and force
- it to run with -ftrack-macro-expansion.
- * libstdc++-v3/scripts/testsuite_flags.in: By default, run the
- test cases without -ftrack-macro-expansion.
-
- Fix location for static class members
- * g++.dg/template/sfinae6_neg.C: Adjust.
-
- Make conversion warnings work on NULL with -ftrack-macro-expansion
- * g++.dg/warn/Wconversion-null-2.C: Add testing for __null,
- alongside the previous testing for NULL.
-
- Fix -Wuninitialized for -ftrack-macro-expansion
- * gcc.dg/cpp/pragma-diagnostic-2.c: Fix this.
-
- Strip "<built-in>" loc from displayed expansion context
- * g++.dg/warn/Wconversion-real-integer2.C: New test.
- * g++.dg/warn/Wconversion-real-integer-3.C: Likewise.
- * g++.dg/warn/conversion-real-integer-3.h: New header used by the
- new test above.
-
- Fix expansion point loc for macro-like tokens
- * gcc.dg/debug/dwarf2/pr41445-5.c: Adjust.
- * gcc.dg/debug/dwarf2/pr41445-6.c: Likewise.
-
- Fix token pasting with -ftrack-macro-expansion
- * gcc.dg/cpp/paste17.c: New test case for
- -ftrack-macro-expansion=2 mode only.
- * gcc.dg/cpp/macro-exp-tracking-5.c: Likewise.
-
-2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/warn6.ad[sb]: New test.
-
-2012-04-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 53149
- * gcc.dg/20011021-1.c: Adjust testcase.
-
-2012-04-29 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/53148
- * gfortran.dg/function_optimize_12.f90: New test.
-
-2012-04-29 Hans-Peter Nilsson <hp@axis.com>
-
- PR target/53156
- * gcc.target/cris/peep2-andu2.c: Tweak expected assembly
- code to match current output and cover new peephole2 pattern.
-
-2012-04-27 Ollie Wild <aaw@google.com>
-
- * g++.dg/cpp0x/Wliteral-suffix.c: New test.
-
-2012-04-27 Paolo Bonzini <bonzini@gnu.org>
-
- * gcc.c-torture/execute/20120427-2.c: New testcase.
- * gcc.dg/tree-ssa/phi-opt-10.c: New testcase.
- * gcc.dg/tree-ssa/ssa-pre-28.c: Bypass new optimization.
- * gcc.dg/tree-ssa/ssa-ifcombine-7.c: Look into ifcombine dump.
-
-2012-04-27 Paolo Bonzini <bonzini@gnu.org>
-
- PR target/53138
- * gcc.c-torture/execute/20120427-1.c: New testcase.
-
-2012-04-27 Marc Glisse <marc.glisse@inria.fr>
-
- PR middle-end/27139
- * gcc.dg/tree-ssa/forwprop-18.c: New test.
-
-2012-04-27 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/51879
- * gcc.dg/pr51879.c: New test.
- * gcc.dg/pr51879-2.c: Same.
- * gcc.dg/pr51879-3.c: Same.
- * gcc.dg/pr51879-4.c: Same.
- * gcc.dg/pr51879-6.c: Same.
-
-2012-04-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53096
- * g++.dg/cpp0x/defaulted35.C: New.
- * g++.dg/cpp0x/defaulted15.C: Adjust.
-
-2012-04-26 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.dg/bf-ms-layout.c: Adjust offsets to fit ms-bitfield
- structure layout.
-
-2012-04-25 Sriraman Tallam <tmsriram@google.com>
-
- * gcc.target/i386/builtin_target.c: Check avx2.
-
-2012-04-26 Alan Modra <amodra@gmail.com>
-
- * gcc.target/powerpc/savres.c: New test.
- * gcc.target/powerpc/powerpc.exp: Run it.
-
-2012-04-26 Hans-Peter Nilsson <hp@axis.com>
-
- PR target/53120
- * gcc.dg/torture/pr53120.c: New test.
-
-2012-04-25 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/52979
- * gcc.c-torture/compile/pr52979-1.c: New test.
- * gcc.c-torture/execute/pr52979-1.c: New test.
- * gcc.c-torture/execute/pr52979-2.c: New test.
-
-2012-04-25 Richard Guenther <rguenther@suse.de>
-
- * gcc.target/i386/l_fma_float_5.c: Adjust.
- * gcc.target/i386/l_fma_double_4.c: Likewise.
- * gcc.target/i386/l_fma_float_2.c: Likewise.
- * gcc.target/i386/l_fma_float_6.c: Likewise.
- * gcc.target/i386/l_fma_double_1.c: Likewise.
- * gcc.target/i386/l_fma_double_5.c: Likewise.
- * gcc.target/i386/l_fma_float_3.c: Likewise.
- * gcc.target/i386/l_fma_double_2.c: Likewise.
- * gcc.target/i386/l_fma_double_6.c: Likewise.
- * gcc.target/i386/l_fma_float_4.c: Likewise.
- * gcc.target/i386/l_fma_double_3.c: Likewise.
- * gcc.target/i386/l_fma_float_1.c: Likewise.
-
-2012-04-25 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/53058
- * gcc.c-torture/compile/pr53058.c: New test.
-
-2012-04-25 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/53088
- * gcc.target/i386/pr39082-1.c: Update warning location.
-
-2012-04-25 Jakub Jelinek <jakub@redhat.com>
-
- PR c/52880
- * gcc.dg/pr52880.c: New test.
-
-2012-04-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * gcc.dg/m-un-2.c: Update.
- * gcc.dg/20011021-1.c: Update.
-
-2012-04-25 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52196
- * gfortran.dg/realloc_on_assign_14.f90: New.
-
-2012-04-24 Georg-Johann Lay <avr@gjlay.de>
-
- PR testsuite/52641
- PR tree-optimizations/52891
- * gcc.c-torture/compile/pr52891-2.c: Fix test for 16-bit int.
-
-2012-04-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52363
- * g++.dg/cpp0x/sfinae35.C: New.
- * g++.dg/cpp0x/sfinae36.C: Likewise.
-
-2012-04-24 Sriraman Tallam <tmsriram@google.com>
-
- * gcc.target/builtin_target.c: New testcase.
-
-2012-04-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/47197
- * gcc.target/powerpc/pr47197.c: New test.
-
-2012-04-24 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53085
- * g++.dg/torture/pr53085.C: New testcase.
-
-2012-04-24 Andrew Pinski <apinski@cavium.com>
-
- PR tree-opt/33512
- * gcc.dg/tree-ssa/andor-3.c: New testcase.
- * gcc.dg/tree-ssa/andor-4.c: New testcase.
- * gcc.dg/tree-ssa/andor-5.c: New testcase.
-
-2012-04-24 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/53084
- * gcc.c-torture/execute/pr53084.c: New test.
-
-2012-04-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- * g++.dg/cpp0x/noexcept15.C: Adjust for Rev 186726 library changes.
-
-2012-04-23 Andrew Pinski <apinski@cavium.com>
-
- * gcc.dg/tree-ssa/forwprop-17.c: New testcase.
-
-2012-04-23 Bill Schmidt <wschmidt@linux.ibm.com>
-
- PR regression/53076
- * gcc.dg/torture/builtin-explog-1.c: Skip if -O0.
- * gcc.dg/torture/builtin-power-1.c: Likewise.
-
-2012-04-23 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/53070
- * gcc.dg/torture/pr53070.c: New testcase.
-
-2012-04-23 Richard Guenther <rguenther@suse.de>
-
- PR c/53060
- * gcc.dg/pr53060.c: New testcase.
-
-2012-04-23 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimizations/52891
- * gcc.c-torture/compile/pr52891-1.c: New test.
- * gcc.c-torture/compile/pr52891-2.c: New test.
-
-2012-04-22 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53051
- * gfortran.dg/read_float_4.f90: New.
-
-2012-04-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 35441
- * c-c++-common/pr35441.C: New.
-
-2012-04-20 Ian Lance Taylor <iant@google.com>
-
- * go.test/go-test.exp (go-set-goarch): Recognize powerpc*-*-*.
- (go-gc-tests): Skip nilptr.go on powerpc*-*-*.
-
-2012-04-20 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/x86_64/abi/avx/test_passing_unions.c: Avoid undefined
- array access.
- * gcc.target/x86_64/abi/avx/test_passing_structs.c: Likewise.
-
-2012-04-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR rtl-optimization/44214
- * gcc.dg/pr44214-1.c: New test.
- * gcc.dg/pr44214-2.c: Likewise.
- * gcc.dg/pr44214-3.c: Likewise.
-
-2012-04-20 Richard Guenther <rguenther@suse.de>
-
- * g++.dg/torture/20120420-1.C: New testcase.
-
-2012-04-19 Steven Bosscher <steven@gcc.gnu.org>
-
- * gcc.target/i386/pr45830.c: Update scan-tree-dump.
-
-2012-04-19 Christian Bruel <christian.bruel@st.com>
-
- * gcc.dg/pr52283.c: New test.
-
-2012-04-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * gcc.dg/pr37985.c: New test.
-
-2012-04-19 Richard Guenther <rguenther@suse.de>
-
- PR rtl-optimization/44688
- * gcc.dg/var-expand1.c: Increase array size to make unrolling
- possibly profitable.
-
-2012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/52976
- * gfortran.dg/reassoc_11.f: New test.
-
-2012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/52976
- * gfortran.dg/reassoc_7.f: New test.
- * gfortran.dg/reassoc_8.f: Likewise.
- * gfortran.dg/reassoc_9.f: Likewise.
- * gfortran.dg/reassoc_10.f: Likewise.
-
-2012-04-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52422
- * g++.dg/cpp0x/sfinae33.C: New.
- * g++.dg/cpp0x/sfinae34.C: Likewise.
-
-2012-04-18 Joey Ye <joey.ye@arm.com>
-
- * gcc.target/arm/thumb1-imm.c: Skip it in non-thumb1 target.
-
-2012-04-18 Richard Guenther <rguenther@suse.de>
-
- * gcc.target/x86_64/abi/test_passing_unions.c: Avoid undefined
- array access.
- * gcc.target/x86_64/abi/test_passing_structs.c: Likewise.
- * gcc.target/i386/avx256-unaligned-load-4.c: Fix array sizes.
-
-2012-04-17 Tom de Vries <tom@codesourcery.com>
-
- * g++.dg/pr51264-4.C: New test.
-
-2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52599
- * g++.dg/cpp0x/constexpr-ctor10.C: New.
-
-2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53003
- * g++.dg/parse/crash59.C: New.
-
-2012-04-17 Michael Matz <matz@suse.de>
-
- PR tree-optimization/18437
- * gfortran.dg/vect/rnflow-trs2a2.f90: New test.
-
-2012-04-17 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/53011
- * g++.dg/torture/pr53011.C: New testcase.
-
-2012-04-16 Jason Merrill <jason@redhat.com>
-
- PR c++/38543
- * g++.dg/cpp0x/variadic131.C: New.
-
- PR c++/52008
- * g++.dg/cpp0x/variadic130.C: New.
-
- PR c++/50830
- * g++.dg/cpp0x/variadic129.C: New.
-
- PR c++/50303
- * g++.dg/cpp0x/variadic128.C: New.
-
-2012-04-16 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52864
- * gfortran.dg/pointer_intent_6.f90: New.
-
-2012-04-16 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52916
- * gfortran.dg/public_private_module_3.f90: Use dg-additional-sources
- to include public_private_module_4.f90.
- * gfortran.dg/public_private_module_4.f90: Skip this test on all
- targets.
-
-2012-04-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/49152
- * g++.dg/diagnostic/operator1.C: New.
- * g++.dg/ext/label5.C: Adjust.
- * g++.dg/ext/va-arg1.C: Likewise.
- * g++.dg/other/error20.C: Likewise.
- * g++.dg/other/error20.C: Likewise.
- * g++.dg/other/error16.C: Likewise.
- * g++.dg/other/error10.C: Likewise.
- * g++.dg/parse/error30.C: Likewise.
- * g++.dg/cpp0x/lambda/lambda-err1.C: Likewise.
-
-2012-04-16 Jason Merrill <jason@redhat.com>
-
- PR c++/51148
- * g++.dg/cpp0x/variadic127.C: New.
-
-2012-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * lib/plugin-support.exp (plugin-test-execute): Properly determine
- testcase name.
- Use fail, pass instead of unresolved.
- Don't log $optstr.
-
- PR testsuite/52948
- * g++.dg/plugin/dumb_plugin.c (pass_dumb_plugin_example): Remove
- TODO_dump_func.
- * g++.dg/plugin/selfassign.c (pass_warn_self_assign): Likewise.
- * gcc.dg/plugin/one_time_plugin.c (one_pass): Likewise.
- * gcc.dg/plugin/selfassign.c (pass_warn_self_assign): Likewise.
-
-2012-04-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/52968
- * gfortran.dg/typebound_call_23.f03: New test case.
-
-2012-04-15 Jason Merrill <jason@redhat.com>
-
- PR c++/47220
- * g++.dg/cpp0x/variadic126.C: New.
-
- PR c++/52380
- * g++.dg/cpp0x/variadic125.C: New.
-
- PR c++/52292
- * g++.dg/cpp0x/variadic124.C: New.
-
- PR c++/52706
- * g++.dg/cpp0x/nullptr27.C: New.
-
- PR c++/52818
- * g++.dg/warn/format8.C: New.
-
-2012-04-15 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/51082
- * gfortran.dg/proc_ptr_comp_34.f90: New test case.
-
-2012-04-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52916
- PR fortran/40973
- * gfortran.dg/public_private_module_3.f90: New.
- * gfortran.dg/public_private_module_4.f90: New.
-
-2012-04-14 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/superblock.c: New test.
-
-2012-04-14 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/pr51879-12.c: New test.
-
-2012-04-13 Jason Merrill <jason@redhat.com>
-
- PR c++/52824
- * g++.dg/cpp0x/variadic123.C: New.
- * g++.dg/cpp0x/alias-decl-15.C: Remove dg-errors.
-
- PR c++/52905
- * g++.dg/cpp0x/initlist-ctor1.C: New.
-
- PR c++/52915
- * g++.dg/other/anon-union2.C: New.
-
-2012-04-13 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/52939
- * g++.dg/ipa/pr52939.C: New test.
-
-2012-04-13 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/pr52734.c: New test.
-
-2012-04-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52969
- * gcc.dg/torture/pr52969.c: New testcase.
-
-2012-04-13 Richard Guenther <rguenther@suse.de>
-
- PR c/52549
- * gcc.dg/pr52549.c: New testcase.
-
-2012-04-13 Richard Guenther <rguenther@suse.de>
-
- PR c/52862
- * gcc.dg/pr52862.c: New testcase.
-
-2012-04-13 Joey Ye <joey.ye@arm.com>
-
- * gcc.target/arm/thumb1-imm.c: New testcase.
-
-2012-04-12 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/52932
- * gcc.target/i386/avx2-vpermps-1.c (avx2_test): Use __m256i type for
- second function argument.
- * gcc.target/i386/avx2-vpermps-2.c (init_permps): Update declaration.
- (calc_permps): Update declaration. Calculate result correctly.
- (avx2_test): Change src2 type to union256i_d.
- * gcc.target/i386/avx2-vpermd-2.c (calc_permd): Calculate result
- correctly.
-
-2012-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/52775
- * gcc.target/powerpc/pr52775.c: New file.
-
-2012-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/18589
- * gcc.dg/tree-ssa/pr18589-1.c: New test.
- * gcc.dg/tree-ssa/pr18589-2.c: Likewise.
- * gcc.dg/tree-ssa/pr18589-3.c: Likewise.
- * gcc.dg/tree-ssa/pr18589-4.c: Likewise.
- * gcc.dg/tree-ssa/pr18589-5.c: Likewise.
- * gcc.dg/tree-ssa/pr18589-6.c: Likewise.
- * gcc.dg/tree-ssa/pr18589-7.c: Likewise.
- * gcc.dg/tree-ssa/pr18589-8.c: Likewise.
- * gcc.dg/tree-ssa/pr18589-9.c: Likewise.
- * gcc.dg/tree-ssa/pr18589-10.c: Likewise.
-
-2012-04-12 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52943
- * gcc.dg/torture/pr52943.c: New testcase.
-
-2012-04-12 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/50751
- * gcc/target/sh/pr50751-4.c: New.
- * gcc/target/sh/pr50751-5.c: New.
- * gcc/target/sh/pr50751-6.c: New.
- * gcc/target/sh/pr50751-7.c: New.
-
-2012-04-11 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/52465
- * g++.dg/lookup/using52.C: New.
-
-2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * lib/prune.exp (TEST_ALWAYS_FLAGS): If undefined, set to empty.
-
-2012-04-11 H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl-optimization/52876
- * gcc.target/i386/pr52876.c: New.
-
-2012-04-11 Bernd Schmidt <bernds@codesourcery.com>
-
- * gcc.dg/c99-const-expr-9.c (old_offsetof): Insert a cast to
- __UINTPTR_TYPE__.
- * gcc.c-torture/execute/pr15296.c (intptr_t): Likewise, with
- __INTPTR_TYPE__.
- * gcc.dg/pr14092-1.c (intptr_t): Likewise.
- * gcc.dg/tree-ssa/foldcast-1.c (ssize_t): Likewise.
- * gcc.dg/c90-const-expr-6.c (intptr_t): New typedef to replace ...
- (ptrdiff_t): ... this. All uses changed.
- * gcc.dg/c99-const-expr-6.c (intptr_t, ptrdiff_t): Likewise.
- * gcc.dg/torture/pta-escape-1.c (foo): Change arg type to
- __INTPTR_TYPE__.
- (main): Cast argument to __INTPTR_TYPE__.
- * gcc.dg/20041106-1.c (main): Cast to __UINTPTR_TYPE__ rather than
- size_t.
- * gcc.dg/mallign.c (main): Likewise.
- * gcc.dg/pr38700.c (foo): Likewise.
- * gcc.dg/long-long-cst1.c (t): Likewise.
- * gcc.dg/c99-const-expr-10.c (p, q, f, h, h2): Likewise.
- * gcc.dg/array-10.c (c0, c1, c2, c3, c4, c5): Likewise.
- * gcc.dg/pointer-arith-10.c (foo): Likewise.
- * gcc.dg/pr25682.c (d, foo): Likewise.
- * gcc.dg/format/cast-1.c (f): Likewise.
- * gcc.dg/c90-const-expr-10.c
- * gcc.dg/pr41551.c (uintptr_t): New typedef, replacing...
- (size_t): ...this. All uses changed.
- * gcc.c-torture/execute/pr22098-1.c (uintptr_t): Likewise.
- * gcc.c-torture/execute/pr22098-2.c (uintptr_t): Likewise.
- * gcc.c-torture/execute/pr22098-3.c (uintptr_t): Likewise.
- * gcc.dg/pr34856.c (uintptr_t): Likewise.
- * gcc.dg/sequence-pt-1.c: Likewise.
- * gcc.dg/c90-const-expr-9.c (uintptr_t): Likewise.
- * gcc.dg/max-1.c (intptr_t): Likewise, replacing ssize_t.
- * gcc.dg/pr39074.c (intptr_t): Define using __INTPTR_TYPE__.
- * gcc.dg/pr30744-1.c (my_intptr_t): New typedef. Replace all uses
- of ptrdiff_t with it.
- * gcc.dg/inline-23.c (my_intptr_t): Likewise.
- * gcc.dg/pr37561.c (p): Use __INTPTR_TYPE__.
- * gcc.dg/vla-11.c (foo11b): Use __UINTPTR_TYPE__.
-
-2012-04-11 Jason Merrill <jason@redhat.com>
-
- PR debug/45088
- * g++.dg/debug/dwarf2/self-ref-1.C: Define virtual destructor.
- * g++.dg/debug/dwarf2/self-ref-1.C: Likewise.
-
- PR c++/52906
- * g++.dg/ext/attrib45.C: New.
-
- * g++.dg/eh/dtor3.C: New.
-
-2012-04-11 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52621
- * gfortran.dg/pr52621.f90: New testcase.
-
-2012-04-11 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52918
- * g++.dg/torture/pr52918-1.C: New testcase.
- * g++.dg/torture/pr52918-2.C: Likewise.
-
-2012-04-11 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52729
- * gfortran.dg/block_11.f90: New.
-
-2012-04-11 Nick Clifton <nickc@redhat.com>
-
- * gcc.dg/stack-usage-1.c (SIZE): Define for the RL78.
-
-2012-04-11 Peter Bergner <bergner@vnet.ibm.com>
-
- PR target/16458
- * gcc.target/powerpc/pr16458-1.c: New test.
- * gcc.target/powerpc/pr16458-2.c: Likewise.
- * gcc.target/powerpc/pr16458-3.c: Likewise.
- * gcc.target/powerpc/pr16458-4.c: Likewise.
-
-2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/builtin-bswap-1.c: Test __builtin_bswap16 & __builtin_bswap64.
- * gcc.dg/builtin-bswap-4.c: Test __builtin_bswap16.
- * gcc.dg/builtin-bswap-5.c: Likewise.
- * gcc.target/i386/builtin-bswap-4.c: New test.
-
-2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 24985
- * lib/prune.exp: Add -fno-diagnostics-show-caret.
-
-2012-04-11 Richard Guenther <rguenther@suse.de>
-
- PR rtl-optimization/52881
- * gcc.dg/torture/pr52881.c: New testcase.
- * gcc.dg/torture/pr52913.c: Likewise.
-
-2012-04-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52912
- * gcc.dg/torture/pr52912.c: New testcase.
-
-2010-04-10 Michael Matz <matz@suse.de>
-
- * gcc.dg/vect/vect-outer-1-big-array.c: Adjust.
- * gcc.dg/vect/vect-outer-1.c: Adjust.
- * gcc.dg/vect/vect-outer-1a-big-array.c: Adjust.
- * gcc.dg/vect/vect-outer-1a.c: Adjust.
- * gcc.dg/vect/vect-outer-1b-big-array.c: Adjust.
- * gcc.dg/vect/vect-outer-1b.c: Adjust.
- * gcc.dg/vect/vect-outer-2b.c: Adjust.
- * gcc.dg/vect/vect-outer-3b.c: Adjust.
-
-2012-04-10 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- PR tree-optimization/52870
- * gcc.dg/vect/pr52870.c: New test.
-
-2012-04-09 Mike Stump <mikestump@comcast.net>
-
- * g++.dg/cpp0x/udlit-raw-op.C: Don't use CRLF endings.
- * gcc.dg/tree-ssa/vrp59.c: Likewise.
- * gcc.dg/tree-ssa/vrp60.c: Likewise.
- * gnat.dg/aggr11.adb: Likewise.
- * gnat.dg/aggr11_pkg.ads: Likewise.
- * gnat.dg/aggr15.adb: Likewise.
- * gnat.dg/aggr15.ads: Likewise.
- * gnat.dg/aggr17.adb: Likewise.
- * gnat.dg/aggr18.adb: Likewise.
- * gnat.dg/array14.adb: Likewise.
- * gnat.dg/array14.ads: Likewise.
- * gnat.dg/array14_pkg.ads: Likewise.
- * gnat.dg/array19.adb: Likewise.
- * gnat.dg/array19.ads: Likewise.
- * gnat.dg/discr27.adb: Likewise.
- * gnat.dg/discr27.ads: Likewise.
- * gnat.dg/discr35.adb: Likewise.
- * gnat.dg/discr35.ads: Likewise.
- * gnat.dg/discr6.adb: Likewise.
- * gnat.dg/discr6_pkg.ads: Likewise.
- * gnat.dg/import1.adb: Likewise.
- * gnat.dg/import1.ads: Likewise.
- * gnat.dg/loop_address2.adb: Likewise.
- * gnat.dg/opt7.adb: Likewise.
- * gnat.dg/opt7.ads: Likewise.
- * gnat.dg/pointer_variable_bounds.adb: Likewise.
- * gnat.dg/pointer_variable_bounds.ads: Likewise.
- * gnat.dg/rep_clause2.adb: Likewise.
- * gnat.dg/rep_clause2.ads: Likewise.
- * gnat.dg/slice2.adb: Likewise.
- * gnat.dg/slice2.ads: Likewise.
- * gnat.dg/slice6.adb: Likewise.
- * gnat.dg/slice6_pkg.ads: Likewise.
- * gnat.dg/specs/unchecked_union2.ads: Likewise.
- * gnat.dg/taft_type2.adb: Likewise.
- * gnat.dg/taft_type2.ads: Likewise.
- * gnat.dg/taft_type2_pkg.ads: Likewise.
- * gnat.dg/volatile10.adb: Likewise.
- * gnat.dg/volatile10_pkg.ads: Likewise.
-
- * gcc.dg/dll-8.c: Remove execute permissions.
- * g++.dg/ext/dllexport5.C: Likewise.
-
-2012-04-09 Jan Hubicka <jh@suse.cz>
-
- PR lto/52722
- PR lto/51765
- PR lto/52634
- * gcc.dg/lto/pr52634_1.c: New testcase.
- * gcc.dg/lto/pr52634_0.c: New testcase.
-
-2012-04-09 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/52883
- * gcc.target/i386/pr52883.c: New testcase.
-
-2012-04-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * lib/target-supports.exp (check_effective_target_sparc_v9): New.
- (check_effective_target_sync_long_long): Add SPARC case.
- (check_effective_target_sync_long_long_runtime): Likewise.
- (check_effective_target_sync_int_long): Adjust SPARC case.
- (check_effective_target_sync_char_short): Likewise.
-
-2012-04-08 Oleg Endo <olegendo@gcc.gnu.org>
-
- * gcc.target/sh/sh2a-prefetch.c: Rename to ...
- * gcc.target/sh/prefetch.c: ... this. Enable test case for m4*.
-
-2012-04-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/40973
- PR fortran/52751
- * gfortran.dg/public_private_module_2.f90: New.
-
-2012-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * g++.dg/warn/Wstrict-aliasing-float-ref-int-obj.C: Add labels to
- directives.
-
-2012-04-07 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/52893
- * gfortran.dg/function_optimize_11.f90: New test.
-
-2012-04-06 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/52668
- * gfortran.dg/use_only_6.f90: New test.
-
-2012-04-06 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/52668
- * gfortran.dg/use_only_6.f90: New test.
-2012-04-06 Mike Stump <mikestump@comcast.net>
-
- PR testsuite/50722
- * gcc.dg/pr49994-3.c: Use -w to squelch non-portable warnings.
-
-2012-04-05 Jason Merrill <jason@redhat.com>
-
- PR c++/52596
- * g++.dg/template/qualified-id5.C: New.
-
-2012-04-05 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/52882
- * gcc.target/i386/pr52882.c: New test.
-
-2012-04-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
- Dominique D'Humieures <dominiq@lps.ens.fr>
-
- PR testsuite/52614
- * gcc.dg/vect/vect.exp: Use -fno-common on all targets.
- * gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp: Likewise.
-
-2012-04-04 Jason Merrill <jason@redhat.com>
-
- PR c++/52845
- * g++.dg/cpp0x/lambda/lambda-warn4.C: New.
-
-2012-04-03 Jason Merrill <jason@redhat.com>
-
- PR c++/52796
- * g++.dg/cpp0x/variadic-value1.C: New.
-
-2012-04-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/pack18.adb: New test.
- * gnat.dg/pack18_pkg.ads: New helper.
-
-2012-04-03 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52808
- * gcc.dg/pr52808.c: New testcase.
-
-2012-04-03 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52835
- * gfortran.dg/pr52835.f90: New test.
-
-2012-04-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/aggr5.ads: New test.
-
-2012-04-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52756
- * gcc.dg/torture/pr52756.c: New testcase.
-
-2012-04-02 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52803
- * gcc.dg/pr52803.c: New testcase.
-
-2012-04-02 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/40942
- * g++.old-deja/g++.pt/spec40.C: Adjust to take the resolution of
- DR 214 in account.
-
-2012-04-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50043
- * g++.dg/cpp0x/noexcept17.C: New.
- * g++.old-deja/g++.eh/cleanup1.C: Adjust.
- * g++.dg/tree-ssa/ehcleanup-1.C: Likewise.
- * g++.dg/cpp0x/noexcept01.C: Likewise.
- * g++.dg/eh/init-temp1.C: Likewise.
- * g++.dg/eh/ctor1.C: Likwise.
-
-2012-03-31 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/controlled6.adb: New test.
- * gnat.dg/controlled6_pkg.ads: New helper.
- * gnat.dg/controlled6_pkg-iterators.ad[sb]: Likewise.
-
-2012-03-30 Richard Henderson <rth@redhat.com>
-
- PR debug/52727
- * g++.dg/opt/pr52727.C: New testcase.
-
-2012-03-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52754
- * gcc.target/i386/pr52754.c: New testcase.
-
-2012-03-30 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52772
- * g++.dg/torture/pr52772.C: New testcase.
-
-2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52718
- * g++.dg/warn/Wzero-as-null-pointer-constant-5.C: New.
-
-2012-03-29 Jason Merrill <jason@redhat.com>
-
- PR c++/52685
- * g++.dg/template/inherit8.C: New.
-
-2012-03-29 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/52759
- * g++.dg/ext/weak4.C: New test.
-
- PR tree-optimization/52760
- * gcc.c-torture/execute/pr52760.c: New test.
-
-2012-03-29 Jason Merrill <jason@redhat.com>
-
- PR c++/52743
- * g++.dg/cpp0x/initlist-array3.C: New.
-
-2012-03-28 Jason Merrill <jason@redhat.com>
-
- PR c++/52746
- * g++.dg/overload/virtual2.C: New.
-
-2012-03-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/vect7.ad[sb]: New test.
-
-2012-03-28 Paul Thomas <pault@gcc.gnu.org>
- Tobias Burnus <burnus@gcc.gnu.org>
-
- PR fortran/52652
- * gfortran.dg/allocate_class_1.f90 : Change error test.
- * gfortran.dg/allocate_with_typespec_4.f90 : Change error test.
- * gfortran.dg/allocate_alloc_opt_1.f90 : Change error test.
- * gfortran.dg/deallocate_alloc_opt_1.f90 : Change error test.
-
-2012-03-28 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/52691
- * gcc.dg/pr52691.c: New test.
-
- PR middle-end/52750
- * gcc.c-torture/compile/pr52750.c: New test.
-
-2012-03-28 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/52692
- * gcc.target/avr/torture/builtins-2.c: New test.
-
-2012-03-28 Jakub Jelinek <jakub@redhat.com>
-
- PR target/52736
- * gcc.target/i386/pr52736.c: New test.
-
-2012-03-27 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/52693
- * gcc.dg/torture/pr52693.c: New test.
-
-2012-03-27 Meador Inge <meadori@codesourcery.com>
-
- PR c++/52672
- * g++.dg/cpp0x/constexpr-52672.C: New testcase.
-
-2012-03-27 Mike Stump <mikestump@comcast.net>
-
- PR target/52665
- * gcc.target/i386/pr28946.c: Use -fno-ident to avoid spurious
- failures that match branch names.
-
-2012-03-27 Uros Bizjak <ubizjak@gmail.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/52698
- * gcc.target/i386/pr52698.c: New test.
-
-2012-03-27 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52720
- * gcc.dg/torture/pr52720.c: New testcase.
-
-2012-03-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/pack17.adb: New test.
-
-2012-03-27 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * gcc.target/arm/thumb-ifcvt.c: Only run for -mthumb.
- * gcc.target/arm/thumb-16bit-ops.c: Likewise.
-
-2012-03-26 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/50052
- * gcc.dg/ipa/ipa-sra-2.c: Also run on strict-alignment platforms.
-
-2012-03-26 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52701
- * gfortran.dg/pr52701.f90: New testcase.
-
-2012-03-26 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- PR tree-optimization/52686
- * gcc.target/arm/pr52686.c: New test.
-
-2012-03-26 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.target/avr/torture/avr-torture.exp (AVR_TORTURE_OPTIONS):
- Add "-Os -flto" to list.
-
-2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/concat2.ad[sb]: New test.
-
-2012-03-24 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/auto3.C: Compile with -pedantic-errors.
- * g++.dg/cpp0x/trailing2.C: Likewise.
- * g++.dg/warn/pr23075.C: Change dg-warning to dg-bogus.
- * g++.dg/cpp1y/auto-fn1.C: New.
- * g++.dg/cpp1y/auto-fn2.C: New.
- * g++.dg/cpp1y/auto-fn3.C: New.
- * g++.dg/cpp1y/auto-fn4.C: New.
- * g++.dg/cpp1y/auto-fn5.C: New.
- * g++.dg/cpp1y/auto-fn6.C: New.
- * g++.dg/cpp1y/auto-fn7.C: New.
- * g++.dg/cpp1y/auto-fn8.C: New.
- * g++.dg/cpp1y/auto-fn9.C: New.
- * g++.dg/cpp1y/auto-fn10.C: New.
- * g++.dg/cpp1y/auto-fn11.C: New.
-
-2012-03-23 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52678
- * gfortran.dg/pr52678.f: New testcase.
-
-2012-03-23 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52638
- * g++.dg/torture/pr52638.C: New testcase.
-
-2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52487
- * g++.dg/cpp0x/lambda/lambda-ice7.C: New.
-
-2012-03-22 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/52671
- * g++.dg/ext/attrib44.C: New test.
-
-2012-03-22 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/51737
- * g++.dg/torture/pr51737.C: New testcase
-
-2012-03-22 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52548
- * gcc.dg/tree-ssa/ssa-pre-29.c: New testcase.
-
-2012-03-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * lib/fortran-modules.exp (list-module-names-1): Remove
- warning.
-
-2012-03-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/50751
- * gcc.target/sh/pr50751-1.c: New.
- * gcc.target/sh/pr50751-2.c: New.
- * gcc.target/sh/pr50751-3.c: New.
-
-2012-03-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/52479
- * gcc.target/sh/sh4a-cos.c: Remove.
- * gcc.target/sh/sh4a-sin.c: Remove.
- * gcc.target/sh/sh4a-sincos.c: Remove.
-
-2012-03-21 Richard Earnshaw <rearnsha@arm.com>
-
- * gcc.target/arm/neon/vgetQ_laneu64.c: Regenerated.
- * gcc.target/arm/neon/vgetQ_lanes64.c: Likewise.
-
-2012-03-21 Martin Jambor <mjambor@suse.cz>
-
- PR testsuite/52641
- * gcc.dg/misaligned-expand-1.c (cst): Cast to int.
- * gcc.dg/misaligned-expand-2.c (cst): Likewise.
-
-2012-03-21 Andrew Stubbs <ams@codesourcery.com>
-
- * gcc.target/arm/thumb-16bit-ops.c: New file.
- * gcc.target/arm/thumb-ifcvt.c: New file.
-
-2012-03-20 Jason Merrill <jason@redhat.com>
-
- * lib/target-supports.exp: Add { target c++1y }.
-
- * g++.dg/cpp0x/auto32.C: New.
-
-2012-03-20 Georg-Johann Lay <avr@gjlay.de>
-
- PR testsuite/52641
- * gcc.dg/torture/pr48124-1.c: Add dg-require-effective-target
- int32plus.
- * gcc.dg/torture/pr48124-4.c: Ditto:
- * gcc.dg/torture/pr52530.c: Use long instead of int if int=16.
-
-2012-03-20 Jason Merrill <jason@redhat.com>
-
- PR c++/52510
- * g++.dg/cpp0x/initlist66.C: New.
-
-2012-03-20 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.target/avr/progmem.h (pgm_read_char): Define depending on
- __AVR_HAVE_LPMX__
-
-2012-03-20 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49868
- * gcc.target/avr/torture/addr-space-2.h: New file.
- * gcc.target/avr/torture/addr-space-2-g.h: New test.
- * gcc.target/avr/torture/addr-space-2-0.h: New test.
- * gcc.target/avr/torture/addr-space-2-1.h: New test.
- * gcc.target/avr/torture/addr-space-2-x.h: New test.
-
-2012-03-20 Richard Guenther <rguenther@suse.de>
-
- * gnat.dg/pack16.adb: New testcase.
- * gnat.dg/pack16_pkg.ads: Likewise.
- * gnat.dg/specs/pack8.ads: Likewise.
- * gnat.dg/specs/pack8_pkg.ads: Likewise.
-
-2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- * g++.dg/warn/Wuseless-cast.C: Extend.
-
-2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/14710
- * g++.dg/warn/Wuseless-cast.C: New.
-
-2012-03-17 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/52608
- * gfortran.dg/pr52608.f90: New test.
-
-2012-03-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52585
- * gfortran.dg/proc_ptr_36.f90: New.
-
-2012-03-16 Martin Jambor <mjambor@suse.cz>
-
- * gcc.dg/misaligned-expand-1.c: New test.
- * gcc.dg/misaligned-expand-3.c: Likewise.
-
-2012-03-16 Richard Guenther <rguenther@suse.de>
- Kai Tietz <ktietz@redhat.com>
-
- PR middle-end/48814
- * gcc.c-torture/execute/pr48814-1.c: New test.
- * gcc.c-torture/execute/pr48814-2.c: New test.
- * gcc.dg/tree-ssa/assign-1.c: New test.
- * gcc.dg/tree-ssa/assign-2.c: New test.
- * gcc.dg/tree-ssa/assign-3.c: New test.
-
-2012-03-16 Richard Guenther <rguenther@suse.de>
-
- * gnat.dg/specs/pack7.ads: New testcase.
-
-2012-03-15 Jakub Jelinek <jakub@redhat.com>
-
- PR target/52568
- * gcc.dg/torture/vshuf-4.inc: Add two new tests.
- * gcc.dg/torture/vshuf-8.inc: Likewise.
- * gcc.dg/torture/vshuf-16.inc: Likewise.
- * gcc.dg/torture/vshuf-32.inc: Likewise.
-
-2012-03-15 Jason Merrill <jason@redhat.com>
-
- * g++.dg/torture/pr52582.C: New.
-
-2012-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * lib/fortran-modules.exp: New file which was forgotten in r185430.
-
-2012-03-15 Ira Rosen <irar@il.ibm.com>
- Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * gcc.dg/vect/slp-cond-3.c: New test.
- * gcc.dg/vect/slp-cond-4.c: New test.
-
-2012-03-15 Ira Rosen <irar@il.ibm.com>
- Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * gcc.dg/vect/bb-slp-pattern-1.c: New test.
- * gcc.dg/vect/bb-slp-pattern-2.c: New test.
-
-2012-03-15 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/52434
- PR libfortran/48878
- PR libfortran/38199
- * gfortran.dg/edit_real_1.f90: Don't assume roundTiesToAway.
- * gfortran.dg/round_1.f03: Likewise.
-
-2012-03-15 Jakub Jelinek <jakub@redhat.com>
- Andrew Pinski <apinski@cavium.com>
-
- PR middle-end/52592
- * gcc.dg/pr52592.c: New test.
-
-2012-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * gfortran.fortran-torture/compile/compile.exp: Simplify.
- * gfortran.fortran-torture/execute/execute.exp: Likewise.
- * lib/gcc-dg.exp (cleanup-modules): Move to ..
- * lib/fortran-modules.exp: .. this new file. Adjust users.
- * lib/gfortran-dg.exp (gfortran-dg-runtest,
- gfortran-dg-debug-runtest): Call cleanup-modules.
- * lib/fortran-torture.exp (fortran-torture-execute,
- fortran-torture): Likewise.
- * gfortran.dg/coarray/caf.exp: Likewise.
- * lib/lto.exp: Likewise.
- * gfortran.dg/class_4a.f03: Adjust cleanup-modules and keep-modules.
- * gfortran.dg/class_4b.f03: Likewise.
- * gfortran.dg/class_4c.f03: Likewise.
- * gfortran.dg/class_45a.f03: Likewise.
- * gfortran.dg/binding_label_tests_10.f03: Likewise.
- * gfortran.dg/binding_label_tests_10_main.f03: Likewise.
- * gfortran.dg/binding_label_tests_11.f03: Likewise.
- * gfortran.dg/binding_label_tests_11_main.f03: Likewise.
- * gfortran.dg/binding_label_tests_13.f03: Likewise.
- * gfortran.dg/binding_label_tests_13_main.f03: Likewise.
- * gfortran.dg/test_common_binding_labels_2.f03: Likewise.
- * gfortran.dg/test_common_binding_labels_2_main.f03: Likewise.
- * gfortran.dg/test_common_binding_labels_3.f03: Likewise.
- * gfortran.dg/test_common_binding_labels_3_main.f03: Likewise.
- * gfortran.dg/whole_file_28.f90: Likewise.
- * gfortran.dg/whole_file_29.f90: Likewise.
- * gfortran.dg/whole_file_30.f90: Likewise.
- * gfortran.dg/whole_file_31.f90: Likewise.
-
-2012-03-15 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52267
- * gcc.dg/pr52267.c: New test.
- * gcc.dg/tree-ssa/vrp65.c: New test.
- * gcc.dg/tree-ssa/vrp66.c: New test.
-
-2012-03-15 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52580
- * gfortran.dg/vect/pr52580.f: New testcase.
-
-2012-03-15 Oleg Endo <olegendo@gcc.gnu.org>
-
- * gcc.target/sh/fpul-usage-1.c: New.
-
-2012-03-14 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/49468
- * gcc.target/sh/pr49468-si.c: Make dg-skip-if not the first directive.
- * gcc.target/sh/pr49468-di.c: Likewise.
-
-2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * g++.dg/warn/miss-format-1.C: Remove *-*-solaris2.8 handling.
- * gcc.dg/c99-stdint-6.c: Likewise.
- * gcc.dg/lto/20090210_0.c: Likewise.
- * gcc.dg/pr28796-2.c: Don't skip on sparc*-sun-solaris2.8.
- * gcc.dg/pragma-init-fini.c: Don't skip on i?86-*-solaris2.8.
- * gcc.dg/pragma-init-fini-2.c: Likewise.
- * gcc.dg/torture/pr47917.c: Remove *-*-solaris2.8 handling.
- * gcc.target/i386/pr22076.c: Remove i?86-*-solaris2.8 handling.
- * gcc.target/i386/pr22152.c: Likewise.
- * gcc.target/i386/vect8-ret.c: Likewise.
- * lib/target-supports.exp (add_options_for_tls): Remove Solaris 8
- handling.
-
-2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * g++.dg/other/anon5.C: Don't skip on mips-sgi-irix*.
- * g++.dg/tree-prof/partition1.C: Likewise.
- * g++.dg/tree-prof/partition2.C: Likewise.
- * g++.old-deja/g++.other/init19.C: Remove mips-sgi-irix*
- handling.
- * gcc.c-torture/compile/labels-3.c: Remove dg-options.
- * gcc.c-torture/execute/20010724-1.c: Remove.
- * gcc.c-torture/execute/20010724-1.x: Remove.
- * gcc.c-torture/execute/20040208-2.c: Remove.
- * gcc.c-torture/execute/20040208-2.x: Remove.
- * gcc.c-torture/execute/ieee/20000320-1.c [__mips__ && __sgi__]:
- Remove.
- (main) [__mips__ && __sgi__]: Remove.
- * gcc.c-torture/execute/ieee/copysign1.c: Remove IRIX reference.
- * gcc.c-torture/execute/ieee/copysign2.c: Likewise.
- * gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: Remove
- mips-sgi-irix6* handling.
- * gcc.dg/cpp/assert4.c [__mips__]: Remove __sgi__, sgi.
- * gcc.dg/torture/20090618-1.c: Don't skip on mips-sgi-irix*.
- * gcc.dg/torture/builtin-frexp-1.c: Remove mips*-*-irix6*
- handling.
- * gcc.dg/torture/builtin-logb-1.c: Likewise.
- * gcc.dg/torture/pr47917.c: Remove mips-sgi-irix6.5 handling.
- * gcc.dg/tree-ssa/ssa-store-ccp-3.c: Don't skip on mips*-*-irix*.
- * gcc.misc-tests/linkage.exp: Remove mips-sgi-irix6* handling.
- * gcc.target/mips/args-1.c [!__sgi__]: Remove.
- * gcc.target/mips/interrupt_handler-2.c: Don't skip on
- mips-sgi-irix6*.
- * gcc.target/mips/interrupt_handler-3.c: Likewise.
- * gcc.target/mips/save-restore-1.c: Don't skip on mips-sgi-irix6*.
- * gcc.target/mips/save-restore-3.c: Likewise.
- * gcc.target/mips/save-restore-4.c: Likewise.
- * gcc.target/mips/save-restore-5.c: Likewise.
- * gfortran.dg/g77/cabs.f: Don't xfail on mips-sgi-irix6*.
- * lib/prune.exp (prune_gcc_output): Remove pruning of IRIX 6 ld
- messages.
- * lib/target-libpath.exp (set_ld_library_path_env_vars): Remove
- IRIX 6 handling.
- (restore_ld_library_path_env_vars): Likewise.
- * lib/target-supports.exp (check_profiling_available): Remove
- mips*-*-irix* handling.
- (check_ascii_locale_available): Remove mips-sgi-irix* handling.
- (add_options_for_c99_runtime): Remove mips-sgi-irix6.5* handling.
- * objc.dg/stabs-1.m: Don't xfail on mips-sgi-irix6.5.
-
-2012-03-14 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/52582
- * g++.dg/opt/pr52582.C: New test.
-
-2012-03-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52571
- * gcc.dg/vect/vect-2.c: Initialize arrays.
- * gcc.dg/vect/no-section-anchors-vect-34.c: Likewise.
- * gcc.target/i386/recip-vec-divf.c: Use -fno-common.
- * gcc.target/i386/recip-vec-sqrtf.c: Likewise.
-
-2012-03-14 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52080
- PR middle-end/52097
- PR middle-end/48124
- * gcc.dg/torture/pr48124-1.c: New testcase.
- * gcc.dg/torture/pr48124-2.c: Likewise.
- * gcc.dg/torture/pr48124-3.c: Likewise.
- * gcc.dg/torture/pr48124-4.c: Likewise.
-
-2012-03-14 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52578
- * gcc.dg/pr52578.c: New testcase.
-
-2012-03-14 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/52521
- * g++.dg/cpp0x/udlit-args2.C: New test.
-
-2012-03-13 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/48596
- * gcc.target/sh/pr48596.c: Move accidentally added new test case to ...
- * gcc.c-torture/compile/pr48596.c: ... here.
-
-2012-01-30 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51641
- * g++.dg/lookup/hidden-class17.C: New test.
-
-2012-03-13 Jakub Jelinek <jakub@redhat.com>
-
- PR c/52577
- * gcc.dg/Wunused-var-3.c: New test.
-
-2012-03-13 Martin Jambor <mjambor@suse.cz>
-
- * gcc.dg/misaligned-expand-2.c: New test.
-
-2012-03-13 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52134
- * gcc.dg/pr52134.c: New testcase.
-
-2012-03-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * ada/acats/tests/cd/cdd1001.a (CDD1001): Fix typo.
-
-2012-03-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/46728
- * gcc.target/powerpc/pr46728-4.c: Use preferred syntax.
- * gcc.target/powerpc/pr46728-5.c: Likewise.
- * gcc.target/powerpc/pr46728-8.c: Likewise.
- * gcc.target/powerpc/pr46728-10.c: Likewise.
- * gcc.target/powerpc/pr46728-11.c: Likewise.
- * gcc.target/powerpc/pr46728-13.c: Likewise.
- * gcc.target/powerpc/pr46728-14.c: Likewise.
- * gcc.target/powerpc/pr46728-15.c: Likewise.
-
-2012-03-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52299
- * g++.dg/warn/Wdiv-by-zero-bogus.C: New.
-
-2012-03-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/46728
- * gcc.target/powerpc/pr46728-4.c: Skip for powerpc*-*-darwin*.
- * gcc.target/powerpc/pr46728-5.c: Likewise.
- * gcc.target/powerpc/pr46728-8.c: Likewise.
- * gcc.target/powerpc/pr46728-10.c: Likewise.
- * gcc.target/powerpc/pr46728-11.c: Likewise.
- * gcc.target/powerpc/pr46728-13.c: Likewise.
- * gcc.target/powerpc/pr46728-14.c: Likewise.
- * gcc.target/powerpc/pr46728-15.c: Likewise.
-
-2012-03-12 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49868
- * gcc.target/avr/torture/addr-space-1.h: New file.
- * gcc.target/avr/torture/addr-space-1-g.h: New test.
- * gcc.target/avr/torture/addr-space-1-0.h: New test.
- * gcc.target/avr/torture/addr-space-1-1.h: New test.
- * gcc.target/avr/torture/addr-space-1-x.h: New test.
-
-2012-03-12 Andrew Pinski <apinski@cavium.com>
-
- * gcc.dg/tree-ssa/phi-opt-7.c: New testcase.
-
-2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * g++.dg/abi/rtti3.C: Remove alpha*-dec-osf* handling.
- * g++.dg/abi/thunk4.C: Likewise.
- * g++.dg/cdce3.C: Don't skip on*-dec-osf5*.
- Adapt line numbers.
- * g++.dg/compat/struct-layout-1_generate.c: Remove alpha*-dec-osf*
- handling.
- * g++.dg/cpp0x/constexpr-rom.C: Likewise.
- * g++.dg/eh/spbp.C: Likewise.
- * g++.dg/ext/label13.C: Likewise.
- * g++.dg/guality/guality.exp: Likewise.
- * g++.dg/other/anon5.C: Likewise.
- * g++.dg/other/pragma-ep-1.C: Remove.
- * g++.dg/warn/miss-format-1.C: Remove alpha*-dec-osf* handling.
- * g++.dg/warn/pr31246.C: Likewise.
- * g++.dg/warn/weak1.C: Likewise.
- * g++.old-deja/g++.eh/badalloc1.C: Likewise.
- * g++.old-deja/g++.ext/attrib5.C: Likewise.
- * gcc.c-torture/compile/limits-declparen.c: Likewise.
- * gcc.c-torture/compile/limits-pointer.c: Likewise.
- * gcc.c-torture/execute/20001229-1.c: Remove __osf__ handling.
- * gcc.dg/attr-weakref-1.c: Remove alpha*-dec-osf* handling.
- * gcc.dg/c99-stdint-6.c: Remove alpha*-dec-osf5* handling.
- * gcc.dg/c99-tgmath-1.c: Likewise.
- * gcc.dg/c99-tgmath-2.c: Likewise.
- * gcc.dg/c99-tgmath-3.c: Likewise.
- * gcc.dg/c99-tgmath-4.c: Likewise.
- * gcc.dg/compat/struct-layout-1_generate.c: Remove alpha*-dec-osf*
- handling.
- * gcc.dg/debug/pr49032.c: Likewise.
- * gcc.dg/guality/guality.exp: Likewise.
- * gcc.dg/intmax_t-1.c: Likewise.
- * gcc.dg/pr48616.c: Likewise.
- * gcc.dg/pragma-ep-1.c: Remove.
- * gcc.dg/pragma-ep-2.c: Remove.
- * gcc.dg/pragma-ep-3.c: Remove.
- * gcc.dg/torture/pr47917.c: Remove alpha*-dec-osf5* handling.
- * gcc.dg/tree-ssa/pr42585.c: Remove alpha*-dec-osf* handling.
- * gcc.misc-tests/gcov-14.c: Likewise.
- * gfortran.dg/guality/guality.exp: Likewise.
- * lib/target-supports.exp (check_weak_available): Likewise.
- (add_options_for_tls): Likewise.
- (check_ascii_locale_available): Likewise.
- * obj-c++.dg/dwarf-2.mm: Likewise.
- * objc.dg/dwarf-1.m: Likewise.
- * objc.dg/dwarf-2.m: Likewise.
-
-2012-03-12 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51721
- * gcc.dg/tree-ssa/vrp64.c: New test.
-
- PR tree-optimization/52533
- * gcc.c-torture/compile/pr52533.c: New test.
-
-2012-03-12 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gcc.target/i386/rtm-xabort-1.c: New.
- * gcc.target/i386/rtm-xbegin-1.c: Ditto.
- * gcc.target/i386/rtm-xend-1.c: Ditto.
- * gcc.target/i386/rtm-xtest-1.c: Ditto.
- * gcc.target/i386/sse-12.c: Test RTM intrinsics.
- * gcc.target/i386/sse-13.c: Ditto.
- * gcc.target/i386/sse-14.c: Ditto.
- * gcc.target/i386/sse-22.c: Ditto.
- * gcc.target/i386/sse-23.c: Ditto.
- * g++.dg/other/i386-2.C: Ditto.
- * g++.dg/other/i386-3.C: Ditto.
-
-2012-03-12 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52542
- * gfortran.dg/proc_ptr_35.f90: New.
-
-2012-03-11 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/52530
- * gcc.dg/torture/pr52530.c: New test.
-
-2012-03-11 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * gcc.target/sh/pr51244-1.c: Fix thinkos.
-
-2012-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/52450
- * gcc.dg/torture/pr52402.c: Skip execution on 32-bit hppa*-*-hpux*.
-
- * gcc.dg/torture/pr52407.c: Add -fno-common option on hppa*-*-hpux*.
-
-2012-03-09 Andrew Pinski <apinski@cavium.com>
-
- PR middle-end/51988
- * gcc.dg/tree-ssa/phi-opt-8.c: New testcase.
- * gcc.dg/tree-ssa/phi-opt-9.c: New testcase.
-
-2012-03-09 Jiangning Liu <jiangning.liu@arm.com>
-
- * gcc.dg/tree-ssa/scev-3.c: New.
- * gcc.dg/tree-ssa/scev-4.c: New.
-
-2012-03-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52469
- * gfortran.dg/proc_ptr_34.f90
-
-2012-03-07 Jason Merrill <jason@redhat.com>
-
- PR c++/52521
- * g++.dg/cpp0x/udlit-mangle.C: New.
-
-2012-03-06 Pat Haugen <pthaugen@us.ibm.com>
-
- * gcc.dg/torture/va-arg-25.c: Fix typo for powerpc64-*-* check.
-
-2012-03-06 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52493
- * gcc.dg/torture/pr52493.c: New testcase.
-
-2012-03-06 Richard Guenther <rguenther@suse.de>
-
- PR lto/52097
- * gcc.dg/lto/pr52097_0.c: New testcase.
-
-2012-03-06 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/51244
- * gcc.target/sh/pr51244-1.c: New.
- * gcc.target/sh/pr51244-2.c: New.
- * gcc.target/sh/pr51244-3.c: New.
-
-2012-03-05 Jason Merrill <jason@redhat.com>
-
- PR c++/51930
- * g++.dg/ext/visibility/template11.C: New.
-
- * g++.dg/cpp0x/implicit13.C: New.
-
-2012-03-05 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51721
- * gcc.dg/tree-ssa/vrp63.c: New test.
- * gcc.dg/pr51721.c: New test.
-
-2012-03-04 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50981
- * gfortran.dg/elemental_optional_args_5.f03: Add subcomponent actual
- argument checks.
-
-2012-03-04 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/52146
- * gcc.target/i386/pr52146.c: Update final-scan to allow $-18874240.
-
-2012-03-04 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50981
- * gfortran.dg/elemental_optional_args_5.f03: Add array checks.
-
-2012-03-04 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.dg/torture/pr52402.c: Add dg-require-effective-target
- int32plus.
-
-2012-03-03 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/nsdmi-defer6.C: New.
-
- Core 1270
- * g++.dg/cpp0x/initlist65.C: New.
-
- PR c++/36797
- * g++.dg/ext/is_empty2.C: New.
-
-2012-03-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48820
- * gfortran.dg/assumed_type_3.f90: Undo previous commit.
-
-2012-03-03 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/bind_c_dts_4.f03: Add dg-options -Wc-binding-type.
- * gfortran.dg/bind_c_implicit_vars.f03: Ditto.
- * gfortran.dg/bind_c_usage_8.f03: Ditto.
- * gfortran.dg/c_kind_tests_2.f03: Ditto.
- * gfortran.dg/class_30.f90: Remove dg-warning line.
- * gfortran.dg/bind_c_usage_25.f90: New.
-
-2012-03-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48820
- * gfortran.dg/assumed_type_1.f90: Correct dg-error.
- * gfortran.dg/assumed_type_3.f90: Correct dg-error.
- * gfortran.dg/assumed_type_4.f90: Correct dg-error.
-
-2012-03-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48820
- * gfortran.dg/assumed_type_1.f90: New.
- * gfortran.dg/assumed_type_2.f90: New.
- * gfortran.dg/assumed_type_3.f90: New.
- * gfortran.dg/assumed_type_4.f90: New.
-
-2012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/49486
- * gcc.target/sh/pr49468-si.c: Skip unsupported test for SH64.
- * gcc.target/sh/pr49468-di.c: New.
-
-2012-03-02 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * gcc.dg/graphite/pr50561.c: Update.
-
-2012-03-02 Peter Bergner <bergner@vnet.ibm.com>
-
- * gcc.target/powerpc/pr52457.c: New test.
-
-2012-03-02 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * gcc.target/arm/sat-1.c: New test.
-
-2012-03-02 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/46716
- * gcc.target/i386/pr46716.c: New test.
-
-2012-03-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51989
- * g++.dg/cpp0x/sfinae32.C: New.
-
-2012-03-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52406
- * gcc.dg/torture/pr52406.c: New testcase.
-
-2012-03-02 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52325
- * gfortran.dg/derived_comp_array_ref_8.f90: New.
- * gfortran.dg/nullify_2.f90: Update dg-error.
- * gfortran.dg/nullify_4.f90: Ditto.
- * gfortran.dg/pointer_init_6.f90: Ditto.
-
-2012-03-02 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52270
- * gfortran.dg/class_51.f90: New.
-
-2012-03-02 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52452
- * gfortran.dg/intrinsic_8.f90: New.
-
-2012-03-01 Kai Tietz <ktietz@redhat.com>
-
- * gcc.dg/torture/pr47917.c: Make test using POSIX-printf
- routines on mingw targets.
- * gcc.dg/vect/pr46126.c (uintptr_t): Add support for LLP64 target.
-
-2012-03-01 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52445
- * gcc.dg/pr52445.c: New test.
-
-2012-02-29 Jakub Jelinek <jakub@redhat.com>
-
- PR target/52437
- * gcc.c-torture/compile/pr52437.c: New test.
-
- PR middle-end/52419
- * gcc.dg/torture/pr52419.c: New test.
-
- PR tree-optimization/52429
- * gcc.dg/torture/pr52429.c: New test.
- * g++.dg/opt/pr52429.C: New test.
-
-2012-02-29 Richard Guenther <rguenther@suse.de>
-
- PR testsuite/52297
- * gcc.dg/lto/trans-mem-1_0.c: Remove.
- * gcc.dg/lto/trans-mem-1_1.c: Likewise.
- * gcc.dg/lto/trans-mem-2_0.c: Likewise.
- * gcc.dg/lto/trans-mem-2_1.c: Likewise.
- * gcc.dg/lto/trans-mem-4_0.c: Likewise.
- * gcc.dg/lto/trans-mem-4_1.c: Likewise.
-
-2012-02-29 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/torture/pr52402.c: Add -w -Wno-psabi to dg-options.
-
-2012-02-29 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/52386
- * gfortran.dg/realloc_on_assign_13.f90 : New test.
-
-2012-02-28 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- PR target/51534
- * gcc.target/arm/neon/pr51534.c: New testcase.
-
-2012-02-28 Richard Guenther <rguenther@suse.de>
-
- PR target/52407
- * gcc.dg/torture/pr52407.c: New testcase.
-
-2012-02-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * gcc.target/arm/vfp1.c (dg_do run): Run on all eabi variants.
- * gcc.target/arm/vfp2.c: Likewise.
- * gcc.target/arm/vfp3.c: Likewise.
- * gcc.target/arm/vfp4.c: Likewise.
- * gcc.target/arm/vfp5.c: Likewise.
- * gcc.target/arm/vfp6.c: Likewise.
- * gcc.target/arm/vfp7.c: Likewise.
- * gcc.target/arm/vfp8.c: Likewise.
- * gcc.target/arm/vfp9.c: Likewise.
- * gcc.target/arm/vfp10.c: Likewise.
- * gcc.target/arm/vfp11.c: Likewise.
- * gcc.target/arm/vfp12.c: Likewise.
- * gcc.target/arm/vfp13.c: Likewise.
- * gcc.target/arm/vfp14.c: Likewise.
- * gcc.target/arm/vfp15.c: Likewise.
- * gcc.target/arm/vfp16.c: Likewise.
- * gcc.target/arm/vfp17.c: Likewise.
- * gcc.target/arm/neon-constants.h: New file.
- * gcc.target/arm/neon-vect1.c: New test.
- * gcc.target/arm/neon-vect2.c: New test.
- * gcc.target/arm/neon-vect3.c: New test.
- * gcc.target/arm/neon-vect4.c: New test.
- * gcc.target/arm/neon-vect5.c: New test.
- * gcc.target/arm/neon-vect6.c: New test.
- * gcc.target/arm/neon-vect7.c: New test.
- * gcc.target/arm/neon-vect8.c: New test.
-
-2012-02-28 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52402
- * gcc.dg/torture/pr52402.c: New testcase.
-
-2012-02-28 Richard Guenther <rguenther@suse.de>
-
- PR lto/52400
- * g++.dg/lto/pr52400_0.C: New testcase.
-
-2012-02-28 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.target/avr/torture/builtins-1.c: New test.
- * gcc.target/avr/torture/builtins-error.c: New test.
-
-2012-02-28 Kai Tietz <ktietz@redhat.com>
-
- * gcc.target/i386/pr46939.c (long): Fix LP64 vs LLP64 issue.
- * gcc.target/i386/pr45352-2.c: Likewise.
- * gcc.target/i386/bitfield3.c: Add -mno-ms-bitfields for mingw targets.
- * gcc.target/i386/xop-vshift-1.c (random): Use on mingw
- targets instead rand.
- * gcc.target/i386/sse4_1-blendps-2.c: Likewise.
- * gcc.target/i386/sse2-mul-1.c: Likewise.
- * gcc.target/i386/sse4_1-blendps.c: Likewise.
- * gcc.target/i386/pad-6b.c: Adjust test for x64 mingw target.
- * gcc.target/i386/pad-1.c: Likewise.
- * gcc.target/i386/pad-9.c: Likewise.
- * gcc.target/i386/pad-2.c: Likewise.
- * gcc.target/i386/pad-5b.c: Likewise.
- * gcc.target/i386/pad-8.c: Likewise.
- * gcc.target/i386/pr46470.c: Skip for x64 mingw target.
- * gcc.target/i386/pr44130.c: Likewise.
- * gcc.target/i386/align-main-1.c: Likewise.
- * gcc.target/i386/align-main-2.c: Likewise.
- * gcc.target/i386/sw-1.c: Likewise.
- * gcc.target/i386/avx-vzeroupper-5.c: Add -mabi=sysv
- on x64 mingw target.
- * gcc.target/i386/avx-vzeroupper-4.c: Likewise.
- * gcc.target/i386/pr46295.c: Likewise.
- * gcc.target/i386/amd64-abi-1.c: Likewise.
- * gcc.target/i386/amd64-abi-2.c: Likewise.
- * gcc.target/i386/pr39082-1.c: Likewise.
- * gcc.target/i386/pr39162.c: Likewise.
- * gcc.target/i386/pr22152.c: Likewise.
- * gcc.target/i386/wrgsbase-2.c: Adjust dg-final rule.
- * gcc.target/i386/wrfsbase-2.c: Likewise.
- * gcc.target/i386/local.c: Likewise
- * gcc.target/i386/wrgsbase-1.c: Likewise.
- * gcc.target/i386/wrfsbase-1.c: Likewise.
- * gcc.target/i386/pr39315-3.c: Likewise.
- * gcc.target/i386/pr35767-4.c: Likewise.
- * gcc.target/i386/pr45336-3.c (pextrd): Don't check for
- x64 mingw target.
- * gcc.target/i386/pr45336-2.c: Likewise.
- * gcc.target/i386/pr45336-1.c: Likewise.
- * gcc.target/i386/pr45336-4.c: Likewise.
-
-2012-02-27 Tristan Gingold <gingold@adacore.com>
-
- * gnat.dg/array20.ad[sb]: New test.
-
-2012-02-27 Jakub Jelinek <jakub@redhat.com>
-
- PR target/52375
- * gcc.target/arm/pr52375.c: New test.
- * gcc.c-torture/compile/pr52375.c: New test.
-
-2012-02-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * gfortran.dg/typebound_operator_9.f03: Skip on SPU.
- * gcc.dg/torture/builtin-complex-1.c: Skip "float" tests on SPU.
-
-2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/aggr19.adb: New test.
- * gnat.dg/aggr19_pkg.ad[sb]: New helper.
-
-2012-02-26 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/49263
- * gcc.target/sh/pr49263.c: New.
-
-2012-02-24 Andrew MacLeod <amacleod@redhat.com>
-
- * gcc.dg/simulate-thread/simulate-thread.gdb: Use return value from
- simulate_thread_wrapper_other_threads
- * gcc.dg/simulate-thread/atomic-load-int128.c (simulate_thread_main):
- Move initialization of 'value' to main().
- (main): Initialize 'value';
- * gcc.dg/simulate-thread/speculative-store.c
- (simulate_thread_step_verify): Return 0 when successful.
- * gcc.dg/simulate-thread/simulate-thread.h (HOSTILE_THREAD_THRESHOLD):
- Reduce threshold.
- (INSN_COUNT_THRESHOLD): New. Instruction limit to terminate test.
- (simulate_thread_wrapper_other_threads): Return a success/fail value
- and issue an error if the instruction count threshold is exceeded.
-
-2012-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/50580
- * gcc.target/mips/interrupt_handler-2.c: Skip on mips-sgi-irix6*.
- * gcc.target/mips/interrupt_handler-3.c: Likewise.
-
-2012-02-24 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/52355
- * gcc.dg/pr52355.c: New testcase.
-
-2012-02-23 Kai Tietz <ktietz@redhat.com>
-
- * gcc.dg/pack-test-5.c: Add -mno-ms-bitfields option for mingw-targets.
- * gcc.dg/Wpadded.c: Likewise.
- * gcc.dg/bf-ms-layout-2.c: Adjust offsets to fit ms-bitfield
- structure-layout.
- * gcc.dg/di-sync-multithread.c: Replace for mingw-target the use
- for sleep by Sleep and add windows.h include for this function.
- * gcc.dg/format/dfp-printf-1.c: Adjust dg-skip-if rule for mingw
- targets.
- * gcc.dg/stack-usage-1.c (SIZE): Provide proper SIZE for x64 mingw
- target.
- * gcc.dg/tls/thr-cse-1.c: Provide proper pattern for x64 mingw target.
- * gcc.dg/tls/opt-11.c (memset): Use __extension__ to avoid fail
- on x64 mingw target.
- * gcc.dg/bf-ms-attrib.c: Adjust expected size for ms_struct layout.
- * gcc.dg/pr50251.c: Disable test for x64 mingw target.
- * gcc.c-torture/execute/930930-1.c (long): Replace by ptr_t to avoid
- failure on LLP64 target.
-
-2012-02-23 Uros Bizjak <ubizjak@gmail.com>
-
- PR c/52290
- * gcc.dg/noncompile/pr52290.c: New test.
-
-2012-02-23 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52019
- * gcc.dg/tree-ssa/ipa-split-6.c: New test.
-
-2012-02-22 Kai Tietz <ktietz@redhat.com>
-
- * g++.dg/opt/devirt2.C: Add rule for *-*-mingw* target.
- * g++.dg/opt/pr48549.C (long): Replace by long by __PTRDIFF_TYPE__
- derived pdiff_t type.
- * g++.dg/torture/pr49720.C: Likewise
-
-2012-02-22 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/52330
- * gcc.target/i386/pr52330.c: New test.
-
-2012-02-22 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52335
- * gfortran.dg/io_constraints_10.f90: New.
-
-2012-02-22 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- * lib/target-supports.exp (check_effective_target_vect_condition):
- Return true for NEON.
-
-2012-02-21 Kai Tietz <ktietz@redhat.com>
-
- * gcc.dg/bf-ms-layout-3.c: Mark char typed bitfield as extension.
-
-2012-02-21 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52324
- * gcc.dg/tree-ssa/ssa-lim-10.c: New testcase.
-
-2012-02-21 Georg-Johann Lay <avr@gjlay.de>
-
- PR middle-end/51782
- * gcc.target/avr/torture/pr51782-1.c: New test.
-
-2012-02-21 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52318
- * gcc.dg/pr52318.c: New test.
-
-2012-02-20 Kai Tietz <ktietz@redhat.com>
-
- * gcc.dg/bf-ms-layout-3.c: New testcase.
-
-2012-02-20 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR testsuite/52229
- PR fortran/32380
- * gfortran.dg/vect/pr32380.f: XFAIL on PowerPC and ia-64.
-
-2012-02-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52298
- * gcc.dg/torture/pr52298.c: New testcase.
- * gcc.dg/vect/pr52298.c: Likewise.
-
-2012-02-20 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.dg/pr52132.c: Fix FAIL on 16-bit int platforms.
- * gcc.c-torture/execute/pr52286.c: Ditto.
-
-2012-02-20 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52286
- * gcc.c-torture/execute/pr52286.c: New test.
-
-2012-02-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52295
- * gfortran.dg/interface_35.f90: Use -std=f2003.
- * gfortran.dg/proc_ptr_comp_20.f90: Remove dg-warning.
- * gfortran.dg/interface_assignment_4.f90: Ditto.
- * gfortran.dg/bessel_1.f90: Ditto.
- * gfortran.dg/func_result_6.f90: Ditto.
- * gfortran.dg/hypot_1.f90: Ditto.
- * gfortran.dg/proc_ptr_comp_21.f90: Ditto.
-
-2012-02-17 Tobias Burnus <burnus@net-b.de>
-
- PR translation/52232
- PR translation/52234
- PR translation/52245
- PR translation/52246
- PR translation/52262
- PR translation/52273
- * gfortran.dg/coarray_22.f90: Update dg-error.
- * gfortran.dg/allocate_alloc_opt_4.f90: Ditto.
-
-2012-02-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/51753
- * lib/gcc-simulate-thread.exp: Load timeout.exp.
- (simulate-thread): Use default timeout.
-
-2012-02-16 Jason Merrill <jason@redhat.com>
-
- PR c++/52248
- * g++.dg/ext/timevar1.C: New.
-
-2012-02-16 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/52126
- * g++.dg/template/using21.C: New.
- * g++.dg/template/using22.C: Likewise.
-
-2012-02-16 Jason Merrill <jason@redhat.com>
-
- PR c++/51415
- * g++.dg/cpp0x/lambda/lambda-err1.C: New.
-
-2012-02-16 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52255
- * gcc.c-torture/compile/pr52255.c: New test.
-
- PR debug/52260
- * g++.dg/debug/dwarf2/pr52260.C: New test.
-
- PR middle-end/51929
- * g++.dg/ipa/pr51929.C: New test.
-
-2012-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/52199
- * gcc.target/powerpc/pr52199.c: New file.
-
-2012-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/52152
- * objc.dg/stabs-1.m: xfail on mips-sgi-irix6.5.
-
-2012-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/pr51867.c: Don't include <math.h>.
- (sqrtf): Declare.
-
-2012-02-15 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.dg/lto/20091013-1_1.c: xfail for avr.
- * gcc.dg/lto/20091013-1_2.c: xfail for avr.
-
-2012-02-15 Tobias Grosser <grosser@fim.uni-passau.de>
-
- PR tree-optimization/50561
- * gcc.dg/graphite/pr50561.c: New testcase.
-
-2012-02-15 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.target/avr/torture/builtin_insert_bits-1.c: New test.
- * gcc.target/avr/torture/builtin_insert_bits-2.c: New test.
-
-2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr35.ad[sb]: New test.
-
-2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/volatile10.adb: New test.
- * gnat.dg/volatile10_pkg.ads: New helper.
-
-2012-02-14 Jason Merrill <jason@redhat.com>
-
- * g++.dg/ext/attrib43.C: New.
-
-2012-02-14 Hans-Peter Nilsson <hp@axis.com>
-
- * lib/target-supports.exp (check_effective_target_fgnu_tm): New proc.
- * gfortran.dg/trans-mem-skel.f90: Gate test on effective_target
- fgnu_tm.
- * gcc.dg/lto/trans-mem-1_0.c, gcc.dg/lto/trans-mem-2_0.c,
- gcc.dg/lto/trans-mem-3_0.c, gcc.dg/lto/trans-mem-4_0.c: Ditto.
- * gcc.dg/tm/tm.exp: Gate the whole of gcc.dg/tm on
- effective_target fgnu_tm.
- * g++.dg/tm/tm.exp: Ditto for g++.dg/tm.
-
-2012-02-14 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/52247
- * g++.dg/template/asmgoto1.C: New test.
-
-2012-02-14 Ian Lance Taylor <iant@google.com>
-
- PR go/48501
- * go.test/go-test.exp (go-gc-tests): Disable optimizations when
- compiling generated file for 64bit and index tests.
-
-2012-02-14 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/lower-subreg-1.c: Fix and simplify target selector.
-
-2012-02-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52244
- PR tree-optimization/51528
- * gcc.dg/torture/pr52244.c: New testcase.
-
-2012-02-14 Walter Lee <walt@tilera.com>
-
- * g++.dg/other/PR23205.C: Disable test on tile.
- * g++.dg/other/pr23205-2.C: Disable test on tile.
- * gcc.dg/20020312-2.c: Add a condition for __tile__.
- * gcc.dg/20040813-1.c: Disable test on tile.
- * gcc.dg/lower-subreg-1.c: Disable test on tilegx.
- * gcc.misc-tests/linkage.exp: Handle tilegx.
-
-2012-02-14 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/52210
- * gcc.dg/pr52210.c: New test.
-
-2012-02-14 Jason Merrill <jason@redhat.com>
-
- PR c++/39055
- * g++.dg/overload/defarg5.C: New.
-
-2012-02-14 Jakub Jelinek <jakub@redhat.com>
-
- PR c/52181
- * c-c++-common/pr52181.c: New test.
-
-2012-02-13 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/52215
- * g++.dg/ext/atomic-1.C: New test.
-
-2012-02-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.c-torture/execute/pr51933.c: Modify for s390 31 bit.
-
-2012-02-13 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/52209
- * gcc.c-torture/execute/pr52209.c: New test.
-
-2012-02-12 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50981
- * gfortran.dg/elemental_optional_args_5.f03: New test.
-
-2012-02-12 Iain Sandoe <iains@gcc.gnu.org>
-
- PR testsuite/50076
- * c-c++-common/cxxbitfields-3.c: Adjust scan assembler for nonpic
- cases.
-
-2012-02-11 Ian Lance Taylor <iant@google.com>
-
- PR go/51874
- * go.test/go-test.exp (go-gc-tests): Don't run nilptr test on
- SPARC Solaris. Don't run the test at all on systems where it may
- not work, rather than xfailing it.
-
-2012-02-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR rtl-optimization/52175
- * gcc.c-torture/compile/pr52175.c: New test.
-
-2012-02-10 Jason Merrill <jason@redhat.com>
-
- PR c++/51910
- * g++.dg/template/repo10.C: New.
-
-2012-02-11 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/52132
- * gcc.dg/pr52132.c: New test.
-
-2012-02-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/aggr4.ads: New test.
- * gnat.dg/specs/aggr4_pkg.ads: New helper.
-
-2012-02-10 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/52146
- * gcc.target/i386/pr52146.c: New.
-
-2012-02-10 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/52177
- * c-c++-common/pr52177.c: New test.
-
-2012-02-10 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/48600
- * g++.dg/torture/pr48600.C: New testcase.
-
-2012-02-09 Peter Bergner <bergner@vnet.ibm.com>
-
- PR middle-end/52140
- * gcc.dg/dfp/pr52140.c: New test.
-
-2012-02-09 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/32380
- * gfortran.dg/vect/pr32380.f: Use dg-additional-options instead
- of dg-options.
-
-2012-02-09 Bin Cheng <bin.cheng@arm.com>
-
- PR middle-end/51867
- * c-c++-common/dfp/signbit-2.c: Change '-O0' to '-O1'.
- * gcc.dg/pr51867.c: New test.
-
-2012-02-09 Ian Lance Taylor <iant@google.com>
-
- * go.test/go-test.exp (go-gc-tests): Don't run stack.go on systems
- which don't support -fsplit-stack. Turn off optimization when
- compiling select5-out.go.
-
-2012-02-08 Ian Lance Taylor <iant@google.com>
-
- * go.test/go-test.exp (go-gc-tests): Don't run chan/select2.go on
- systems which don't support -fsplit-stack.
-
-2012-02-08 Andrew MacLeod <amacleod@redhat.com>
-
- * gcc.dg/simulate-thread/simulate-thread.exp: Use -O0, -O2, and -O3.
- * gcc.dg/simulate-thread/simulate-thread.gdb: Don't display every
- machine instuction in the log.
-
-2012-02-08 Jack Howarth <howarth@bromo.med.uc.edu>
-
- * lib/gcc-simulate-thread.exp (simulate-thread): Increase timeout
- to 20 seconds.
-
-2012-02-08 Magnus Granberg <zorry@gentoo.org>
-
- PR driver/48524
- * gcc.dg/pr48524.c: New test.
- * gcc.dg/pr48524.spec: New spec file for test.
-
-2012-02-08 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/32380
- * gfortran.dg/vect/pr32380.f90: New test.
-
-2012-02-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52151
- * gfortran.dg/realloc_on_assign_12.f90: New.
-
-2012-02-08 Richard Guenther <rguenther@suse.de>
-
- PR rtl-optimization/52170
- * gcc.dg/torture/pr52170.c: New testcase.
-
-2012-02-08 Jakub Jelinek <jakub@redhat.com>
-
- PR gcov-profile/52150
- * gcc.dg/tree-prof/pr52150.c: New test.
-
- PR rtl-optimization/52139
- * gcc.dg/pr52139.c: New test.
-
-2012-02-07 Jason Merrill <jason@redhat.com>
-
- PR c++/51675
- * g++.dg/cpp0x/constexpr-union3.C: New.
-
- PR c++/52035
- * g++.dg/lto/pr52035_0.C: New.
-
-2012-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * gfortran.dg/guality/pr41558.f90: Use lp64 instead of hppa*64*-*-*.
- * gcc.dg/special/weak-1.c: Likewise.
- * gcc.dg/ucnid-12.c: Likewise.
- * gcc.dg/torture/pr45678-1.c: Likewise.
- * gcc.dg/torture/pr45678-2.c: Likewise.
- * gcc.dg/vector-4.c: Likewise.
- * gcc.dg/ipa/inline-5.c: Likewise.
- * gcc.dg/ucnid-11.c: Likewise.
- * gcc.misc-tests/gcov-13.c: Likewise.
- * gcc.misc-tests/gcov-14.c: Likewise.
- * g++.dg/ext/label13.C: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-31.c: Use dg-additional-options for extra
- hppa*-*-hpux* options.
- * gcc.dg/tree-ssa/ssa-fre-33.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-34.c: Likewise.
- * gcc.dg/pr48616.c: Likewise.
- * gcc.dg/pr17957.c: Likewise.
- * gcc.dg/pr17055-1.c: Likewise.
- * gcc.dg/pr32912-1.c: Likewise.
- * gcc.dg/tm/pr51472.c: Likewise.
- * c-c++-common/fold-bitand-4.c: Likewise.
- * c-c++-common/Wunused-var-12.c: Use lp64 instead of hppa*64*-*-*.
- Use dg-additional-options for extra options.
-
-2012-02-07 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * gcc.target/epiphany/interrupt-2.c: New test.
-
-2012-02-07 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/52155
- * gcc.target/mips/mips.exp (mips-dg-options): Handle target.
- * gcc.target/mips/loongson-shift-count-truncated-1.c: Force -mlong64
- for MIPS ELF.
-
-2012-02-07 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/52152
- * objc.dg/stabs-1.m: XFAIL for mips*-*-elf*.
-
-2012-02-07 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR middle-end/24306
- PR target/52154
- * lib/target-supports.exp (check_effective_target_mips_eabi): New.
- * gcc.target/mips/va-arg-1.c: New test.
-
-2012-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/no-r11-3.c (outer_func): Fix error message
- for -mno-pointers-to-nested-functions.
-
-2012-02-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.c-torture/execute/20120207-1.c: New test.
-
-2012-02-07 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/52060
- * gcc.dg/torture/pr52060.c: New test.
-
- PR middle-end/52074
- * gcc.c-torture/compile/pr52074.c: New test.
-
-2012-02-07 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51514
- * gfortran.dg/class_to_type_2.f90: New.
-
-2012-02-06 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/32373
- * gfortran.dg/vect/vect-8.f90: Use vect_double effective target.
- Remove module.
-
-2012-02-06 Jason Merrill <jason@redhat.com>
-
- PR c++/52088
- * g++.dg/template/conv13.C: New.
-
-2012-02-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52115
- * gcc.c-torture/compile/pr52115.c: New testcase.
-
-2012-02-06 Jakub Jelinek <jakub@redhat.com>
-
- PR target/52129
- * gcc.c-torture/execute/pr52129.c: New test.
-
-2012-02-06 Andrey Belevantsev <abel@ispras.ru>
-
- * gcc.dg/pr48374.c: Actually add the test I forgot
- in the 2012-01-25 commit.
-
-2012-02-05 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/32373
- * gfortran.dg/vect/vect-8.f90: New test case.
-
-2012-02-05 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/48847
- * gfortran.dg/warn_unused_dummy_argument_3.f90: New test.
-
-2012-02-05 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/52102
- * gfortran.dg/class_48.f90 : Add test of allocate class array
- component with source in subroutine test3. Remove commenting
- out in subroutine test4, since branching on unitialized variable
- is now fixed (no PR for this last.).
-
-2012-02-05 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.dg/tree-prof/stringop-2.c (main): Add a nomips16 attribute
- on MIPS targets.
- * gfortran.dg/pr45636.f90: XFAIL for MIPS16 targets.
-
-2012-02-05 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/52125
- * lib/target-supports.exp (check_effective_target_mips_rel): New.
- * gcc.dg/pr48774.c: Skip on MIPS REL targets.
-
-2012-02-05 Richard Sandiford <rdsandiford@googlemail.com>
-
- * lib/target-supports.exp (check_effective_target_mips_llsc): New.
- (check_effective_target_sync_int_long): Use it.
- (check_effective_target_sync_char_short): Likewise.
- * gcc.target/mips/atomic-memory-1.c: Restrict error check to mips_llsc.
-
-2012-02-05 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51972
- * gfortran.dg/class_48.f90: Add some further checks.
-
-2012-02-05 Ira Rosen <irar@il.ibm.com>
-
- PR tree-optimization/52091
- * gcc.dg/vect/pr52091.c: New test.
-
-2012-02-04 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/52113
- * gcc.target/avr/pr52113.c: New test.
-
-2012-02-03 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/52092
- * gcc.c-torture/compile/pr52092.c: New test.
-
-2012-02-02 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/41587
- * gfortran.dg/class_array_10.f03: New test.
-
- PR fortran/46356
- * gfortran.dg/class_array_11.f03: New test.
-
- PR fortran/51754
- * gfortran.dg/class_array_12.f03: New test.
-
-2012-02-02 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/52012
- * gfortran.dg/realloc_on_assign_11.f90: New test.
-
-2012-02-02 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52093
- * gfortran.dg/shape_7.f90: New.
-
-2012-02-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/mips-prepend-1.c: New test.
-
-2012-02-02 Jan Hubicka <jh@suse.cz>
- Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/51998
- * gcc.dg/alias-12.c: New testcase.
- * gcc.dg/alias-13.c: New testcase.
-
-2012-02-02 Jakub Jelinek <jakub@redhat.com>
-
- PR target/52086
- * gcc.dg/pr52086.c: New test.
-
- PR tree-optimization/52073
- * gcc.c-torture/compile/pr52073.c: New test.
-
-2012-02-01 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/51958
- * gfortran.dg/function_optimize_10.f90: New test.
-
-2012-02-01 Uros Bizjak <ubizjak@gmail.com>
-
- * go.test/go-test.exp (go-gc-tests): xfail test/nilptr.go runtime
- test on alpha*-*-*.
-
-2012-02-01 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52024
- * gfortran.dg/typebound_operator_14.f90: New.
-
-2012-02-01 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52059
- * gfortran.dg/elemental_function_1.f90: New.
-
-2012-02-01 Georg-Johann Lay <avr@gjlay.de>
-
- PR rtl-optimization/51374
- * gcc.target/avr/torture/pr51374-1.c:
- Also fail if SBIS is seen.
-
-2012-02-01 Georg-Johann Lay <avr@gjlay.de>
-
- PR rtl-optimization/51374
- * gcc.target/avr/torture/pr51374-1.c: New.
-
-2012-01-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52024
- * gfortran.dg/typebound_generic_11.f90: New.
-
-2012-01-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52029
- * gfortran.dg/class_49.f90: New.
-
-2012-01-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52013
- * gfortran.dg/elemental_args_check_6.f90: New.
-
-2012-01-31 Jason Merrill <jason@redhat.com>
-
- PR c++/52043
- * g++.dg/cpp0x/variadic122.C: New.
-
-2012-01-31 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/52012
- * gfortran.dg/realloc_on_assign_10.f90: New test.
-
-2012-01-31 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51528
- * gcc.dg/torture/pr51528.c: New testcase.
-
-2012-01-30 Uros Bizjak <ubizjak@gmail.com>
-
- PR go/48501
- * lib/go.exp (go_target_compile): Append timeout= to options.
- * go.test/go-test.exp (go-gc-tests): Add dg-timeout-factor for
- select5-out.go test on alpha*-*-* targets.
-
-2012-01-30 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/extend-1.c (TEST_CHAR): Use signed char.
- (TEST_SHORT): Reformat in the same way.
- * gcc.target/mips/octeon-exts-6.c (TEST_CHAR): Use signed char.
- (TEST_SHORT): Reformat in the same way.
- * gcc.target/mips/octeon2-lx-1.c (TEST): Make sign explicit.
- * gcc.target/mips/pr37362.c: Skip for mips-sde-elf.
- * gcc.target/mips/mmcount-ra-address-1.c (bazl): Add NOMIPS16.
- * gcc.target/mips/mmcount-ra-address-2.c (bar): Likewise.
- * gcc.target/mips/mmcount-ra-address-3.c (bar): Likewise.
-
-2012-01-30 Bin Cheng <bin.cheng@arm.com>
-
- PR target/51835
- * gcc.target/arm/pr51835.c: New testcase.
-
-2012-01-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52028
- * gcc.dg/torture/pr52028.c: New testcase.
- * gfortran.dg/ldist-pr45199.f: Adjust.
- * gcc.dg/tree-ssa/ldist-16.c: Likewise.
- * gcc.dg/tree-ssa/ldist-17.c: Likewise.
- * gcc.dg/tree-ssa/ldist-pr45948.c: Likewise.
-
-2012-01-30 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/52027
- * gcc.dg/tree-prof/pr52027.c: New test.
-
- PR tree-optimization/52046
- * gcc.dg/pr52046.c: New test.
-
- PR debug/52048
- * g++.dg/other/pr52048.C: New test.
-
-2012-01-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/52045
- * gcc.dg/pr52045.c: New testcase.
-
-2012-01-30 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * gcc.target/arm/di-longlong64-sync-withldrexd.c: Accept
- new code generated for __sync_lock_release.
-
-2012-01-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.dg/dfp/fe-convert-2.c: Force use of soft dfp on s390 and s390x.
-
-2012-01-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR testsuite/51875
- * gfortran.dg/guality/pr41558.f90: Skip on 32-bit hppa*-*-hpux*.
-
- * g++.dg/ext/visibility/template10.C: Fix typo.
-
- * gcc.dg/tm/pr51472.c: Add -fno-common option on hppa-*-hpux*.
-
-2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51327
- * g++.dg/cpp0x/constexpr-ice6.C: New.
-
-2012-01-29 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/41600
- * gfortran.dg/default_initialization_6.f90: New.
-
-2012-01-29 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51972
- * gfortran.dg/class_allocate_12.f90: Enable disabled test.
- * gfortran.dg/class_48.f90: New.
-
-2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/51808
- * gfortran.dg/module_md5_1.f90: Update MD5 sum.
-
-2012-01-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51972
- * gfortran.dg/class_allocate_12.f90: New.
-
-2012-01-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/torture/pr50444.c: Fix dg directives.
-
-2012-01-28 Jakub Jelinek <jakub@redhat.com>
-
- PR target/52006
- * gcc.target/arm/pr52006.c: New test.
-
-2012-01-27 Aldy Hernandez <aldyh@redhat.com>
-
- PR testsuite/52011
- * gcc.dg/lto/trans-mem.h: New file.
- * gcc.dg/lto/trans-mem-2_0.c: Include it.
- * gcc.dg/lto/trans-mem-1_1.c: Same.
- * gcc.dg/lto/trans-mem-4_1.c: Same.
- * gcc.dg/lto/trans-mem-3_1.c: Same.
-
-2012-01-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52022
- * gfortran.dg/dummy_procedure_7.f90: New.
-
-2012-01-27 Andreas Schwab <schwab@linux-m68k.org>
-
- * g++.dg/cpp0x/constexpr-rom.C: Don't add -G0 on *-*-darwin*
- *-*-aix* alpha*-*-osf* alpha*-*-*vms*.
-
-2012-01-27 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/51852
- * g++.dg/other/gc5.C: New test.
-
-2012-01-27 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50444
- * gcc.dg/torture/pr50444.c: New testcase.
-
-2012-01-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51970
- PR fortran/51977
- * gfortran.dg/move_alloc_13.f90: New.
-
-2012-01-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51953
- * gfortran.dg/allocate_alloc_opt_13.f90: New.
- * gfortran.dg/allocate_alloc_opt_4.f90: Add -std=f2003
- and change dg-error string.
-
-2012-01-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/52016
- * gfortran.dg/elemental_args_check_5.f90: New.
-
-2012-01-27 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/51959
- * g++.dg/torture/pr51959.C: New testcase.
-
-2012-01-27 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/51990
- * gcc.dg/pr51990.c: New test.
- * gcc.dg/pr51990-2.c: Same.
-
-2012-01-27 Paul Thomas <pault@gcc.gnu.org>
- Tobias Burnus <burnus@gcc.gnu.org>
-
- PR fortran/48705
- * gfortran.dg/class_allocate_11.f03: New.
-
- PR fortran/51870
- PR fortran/51943
- PR fortran/51946
- * gfortran.dg/class_allocate_7.f03: New.
- * gfortran.dg/class_allocate_8.f03: New.
- * gfortran.dg/class_allocate_9.f03: New.
- * gfortran.dg/class_allocate_10.f03: New.
-
-2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr34.adb: New test.
- * gnat.dg/discr34_pkg.ads: New helper.
-
-2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr33.adb: New test.
-
-2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/limited_with3.ad[sb): New test.
- * gnat.dg/limited_with3_pkg1.ad[sb]: New helper.
- * gnat.dg/limited_with3_pkg2.ads: Likewise.
- * gnat.dg/limited_with3_pkg3.ads: Likewise.
-
-2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/stack_usage1.adb: New test.
- * gnat.dg/stack_usage1_pkg.ad[sb]: New helper.
-
- * gcc.dg/pr44194-1.c: Remove superfluous include directive.
- * gcc.dg/pr44194-2.c: Likewise.
-
-2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51370
- * g++.dg/template/crash112.C: New.
-
-2012-01-27 Richard Henderson <rth@redhat.com>
-
- * gcc.dg/atomic-flag.c: Adjust for __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
-
-2012-01-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gfortran.dg/reassoc_4.f: Use dg-additional-options.
-
-2012-01-26 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/51895
- * g++.dg/opt/pr51895.C: New test.
-
-2012-01-26 Michael Matz <matz@suse.de>
-
- PR tree-optimization/48794
- * gfortran.dg/gomp/pr48794-2.f90: New testcase.
-
-2012-01-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.dg/ssa-dom-thread-4.c: Set -mbranch-cost=2 for s390 and s390x.
-
-2012-01-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.dg/pr46309.c: Set branch-cost to 2 for s390 and s390x.
- * gcc.dg/pr44194-1.c: Disable since s390 returns structs always in
- memory.
- * gfortran.dg/reassoc_4.f: Force max-completely-peeled-insns to
- the default value for s390 and s390x.
-
-2012-01-25 Aldy Hernandez <aldyh@redhat.com>
-
- PR lto/51698
- * gcc.dg/lto/trans-mem-4_0.c: New.
- * gcc.dg/lto/trans-mem-4_1.c: New.
- * gcc.dg/lto/trans-mem-2_0.c: Provide correct argument types for
- TM builtins.
- * gcc.dg/lto/trans-mem-1_0.c: Require stdint_types.
- * gcc.dg/lto/trans-mem-1_1.c: Provide correct argument types for
- TM builtins.
- * gcc.dg/lto/trans-mem-3_0.c: Require stdint_types.
- * gcc.dg/lto/trans-mem-3_1.c: Provide correct argument types for
- TM builtins.
-
-2012-01-25 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.target/avr/torture/int24-mul.c: Rename __pgm to __flash.
-
-2012-01-25 Ian Lance Taylor <iant@google.com>
-
- * go.test/go-test.exp (go-gc-tests): Handle a few more test lines.
-
-2012-01-25 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51995
- * gfortran.dg/typebound_proc_25.f90: New.
-
-2012-01-25 Jason Merrill <jason@redhat.com>
-
- PR c++/51992
- * g++.dg/lto/pr51992_0.C: New.
-
-2012-01-25 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51987
- * gcc.target/i386/pr51987.c: New test.
-
-2012-01-25 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * gcc.dg/tm/lto-1.c: Require lto support in target.
-
-2012-01-25 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/48374
- * gcc.dg/pr48374.c: New test.
-
-2012-01-25 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * gcc.dg/pr50908-2.c (dg-options): Add -fno-short-enums.
-
-2012-01-25 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51966
- * gfortran.dg/derived_constructor_char_3.f90: New.
-
-2012-01-24 Ian Lance Taylor <iant@google.com>
-
- * go.test/go-test.exp (filecmp): New procedure.
- (errchk): Handle quoted square brackets.
- (go-gc-tests): Set go_compile_args. Handle various new test
- lines. Skip a few new tests.
- * lib/go-torture.exp (go-torture-execute): Use go_compile_args.
-
-2012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
-
- * lib/target-supports.exp (proc check_effective_target_vect_perm)
- (check_effective_target_vect_extract_even_odd)
- (check_effective_target_vect_interleave): Return true for MIPS
- paired-single.
-
-2012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.c-torture/execute/scal-to-vec1.c (one): New volatile variable.
- (main): Use it instead of argc.
-
-2012-01-24 Jason Merrill <jason@redhat.com>
-
- PR c++/51973
- * g++.dg/cpp0x/sfinae31.C: New.
-
-2012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.dg/memcpy-4.c: Don't expect /s on MEMs.
-
-2012-01-24 Jason Merrill <jason@redhat.com>
-
- PR c++/51812
- * g++.dg/inherit/covariant20.C: New.
-
-2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51223
- * g++.dg/parse/crash58.C: New.
-
-2012-01-24 Jakub Jelinek <jakub@redhat.com>
-
- PR target/51957
- * gcc.dg/pr51957-1.c: New test.
- * gcc.dg/pr51957-1.h: New file.
- * gcc.dg/pr51957-2.c: New test.
-
-2012-01-23 Jason Merrill <jason@redhat.com>
-
- PR c++/51930
- * g++.dg/ext/visibility/template10.C: New.
-
-2012-01-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51948
- * gfortran.dg/move_alloc_12.f90: New.
-
-2012-01-23 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR middle-end/45416
- * gcc.dg/pr45416.c: Skip for Thumb1. Handle ubfx.
-
-2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51398
- * g++.dg/template/crash111.C: New.
-
-2012-01-23 Arnaud Charlet <charlet@adacore.com>
-
- * ada/acats/tests/cxh/cxh1001.a: Removed, test not suitable on all
- configurations.
- * ada/acats/run_all.sh: Simplify by removing cxh1001 special case.
-
-2012-01-23 Dodji Seketeli <dodji@redhat.com>
-
- PR testsuite/51941
- * g++.dg/debug/dwarf2/nested-3.C: Accept multiple lines between
- the DW_TAG_class_type and DW_AT_name: "Executor".
-
-2012-01-23 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * lib/target-supports.exp
- (check_effective_target_vect_extract_even_odd): Handle ARM neon.
- (check_effective_target_vect_interleave): Likewise.
-
-2012-01-22 Jason Merrill <jason@redhat.com>
-
- PR c++/51925
- * g++.dg/template/using20.C: New.
- * g++.dg/template/template-id-2.C: Adjust diagnostic.
-
-2012-01-23 Jason Merrill <jason@redhat.com>
-
- PR target/51934
- * g++.dg/torture/pr51344.C: Limit to x86.
-
-2012-01-23 Greta Yorsh <Greta.Yorsh@arm.com>
-
- * c-c++-common/tm/omp.c: Require target with pthread support.
-
-2012-01-23 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51949
- * gcc.dg/torture/pr51949.c: New testcase.
-
-2012-01-23 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/51933
- * gcc.c-torture/execute/pr51933.c: New test.
-
-2012-01-22 Douglas B Rupp <rupp@gnat.com>
-
- * gcc.dg/builtins-config.h (HAVE_C99_RUNTIME):
- Do not define for Interix.
-
-2012-01-22 Jason Merrill <jason@redhat.com>
-
- PR c++/51832
- * g++.dg/lto/pr51832.h: New.
- * g++.dg/lto/pr51832_0.C: New.
- * g++.dg/lto/pr51832_1.C: New.
-
-2012-01-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/ext-elim-1.c: New test.
-
-2012-01-22 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/51931
- * gcc.c-torture/compile/20001226-1.c: Add nomips16 attribute.
- * g++.dg/opt/longbranch1.C: Likewise.
-
-2012-01-22 Richard Sandiford <rdsandiford@googlemail.com>
-
- * g++.old-deja/g++.pt/ptrmem6.C: xfail a test for ARM and MIPS
- in C++11 mode.
-
-2012-01-21 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/50556
- * gfortran.dg/namelist_74.f90: New test.
- * gfortran.dg/namelist_59.f90: Remove SAVE attribute.
-
-2012-01-21 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51913
- * gfortran.dg/class_47.f90: New.
-
-2012-01-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/renaming5.ad[sb]: New test.
-
-2012-01-20 Jason Merrill <jason@redhat.com>
-
- PR c++/51919
- * g++.dg/pch/mangle1.{C,Hs}: Remove.
-
-2012-01-20 Jason Merrill <jason@redhat.com>
-
- PR c++/51922
- * g++.dg/ext/attrib42.C: Require ilp32.
-
-2012-01-20 Jakub Jelinek <jakub@redhat.com>
-
- PR target/51915
- * gcc.target/arm/pr51915.c: New test.
-
-2012-01-20 Cary Coutant <ccoutant@google.com>
- Dodji Seketeli <dodji@redhat.com>
-
- PR debug/45682
- * g++.dg/debug/dwarf2/nested-3.C: New test.
-
-2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51402
- * g++.dg/template/crash110.C: New.
-
-2012-01-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.misc-tests/gcov-14.c: Skip on alpha*-dec-osf*.
- Remove default options on hppa*-*-hpux*.
-
-2012-01-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * g++.dg/ext/visibility/template9.C: Add dg-require-visibility.
-
-2012-01-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.c-torture/compile/pr51856.c: New testcase.
-
-2012-01-20 Uros Bizjak <ubizjak@gmail.com>
-
- * go.test/go-test.exp (go-gc-tests): Pass correctly formatted
- options to go_target_compile.
-
-2012-01-20 Kai Tietz <ktietz@redhat.com>
-
- * g++.dg/torture/pr51344.C: Fix typo.
-
-2012-01-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51903
- * g++.dg/torture/pr51903.C: New testcase.
-
-2012-01-20 Tobias Burnus <burnus@net-b.de>
- Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/51056
- * gfortran.dg/use_21.f90: New.
-
-2012-01-20 Jakub Jelinek <jakub@redhat.com>
-
- PR target/51106
- * gcc.dg/torture/pr51106-1.c: New test.
- * gcc.dg/torture/pr51106-2.c: New test.
-
-2012-01-19 Kai Tietz <ktietz@redhat.com>
-
- * g++.dg/torture/pr51344.C: New test.
-
-2012-01-19 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51904
- * gfortran.dg/intrinsic_size_2.f90: New.
-
-2012-01-19 Jason Merrill <jason@redhat.com>
-
- PR c++/51889
- * g++.dg/inherit/using7.C: New.
-
-2012-01-19 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/37997
- * gcc.dg/tree-ssa/ssa-pre-28.c: New testcase.
-
-2012-01-19 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/51505
- * gcc.dg/pr51505.c: New test.
-
-2012-01-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/51634
- * gfortran.dg/typebound_operator_12.f03: New.
- * gfortran.dg/typebound_operator_13.f03: New.
-
-2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51225
- * g++.dg/cpp0x/pr51225.C: New.
-
-2012-01-17 Ian Lance Taylor <iant@google.com>
-
- PR go/50656
- * go.test/go-test.exp (go-gc-tests): Recognize some more test lines.
-
-2012-01-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51869
- * gfortran.dg/realloc_on_assign_9.f90: New.
-
-2012-01-17 Aldy Hernandez <aldyh@redhat.com>
-
- PR other/51165
- * gcc.dg/tm/memopt-3.c: Remove xfail.
- * gcc.dg/tm/memopt-4.c: Remove xfail.
- * gcc.dg/tm/memopt-5.c: Remove xfail.
- * gcc.dg/tm/memopt-7.c: Remove xfail.
-
-2012-01-17 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51877
- * gcc.c-torture/execute/pr51877.c: New test.
-
-2012-01-17 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
-
- * gcc.dg/vect/no-section-anchors-vect-69.c: Change
- {!vect_align_arrays} to vect_sizes_32B_16B.
- * gcc.dg/vect/vect-multitypes-1.c: Ditto.
- * gcc.dg/vect/vect-peel-3.c: Ditto.
-
-2012-01-16 Jason Merrill <jason@redhat.com>
-
- PR c++/51854
- * g++.dg/abi/mangle60.C: New.
-
- PR c++/51827
- * g++.dg/pch/mangle1.{C,Hs}: New.
-
-2012-01-16 Mikael Morin <mikael@gcc.gnu.org>
- Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50981
- * gfortran.dg/elemental_optional_args_3.f90: New
- * gfortran.dg/elemental_optional_args_4.f90: New
-
-2012-01-16 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51809
- * gfortran.dg/use_20.f90: New
-
-2012-01-16 Jason Merrill <jason@redhat.com>
-
- PR c++/51868
- * g++.dg/cpp0x/rv-bitfield.C: New.
- * g++.dg/cpp0x/rv-bitfield2.C: New.
-
-2012-01-16 Paul Thomas <pault@gcc.gnu.org>
-
- * gfortran.dg/class_array_3.f03: Remove the explicit loop in
- subroutine 'qsort' and use index array to assign the result.
-
-2012-01-16 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51865
- * gcc.dg/pr51865.c: New test.
-
-2012-01-15 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Expect 4 threaded edges for MIPS.
-
-2012-01-15 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/code-readable-2.c: Allow the jump table address
- to be loaded from the constant pool, rather than via %hi and %lo.
-
-2012-01-15 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/51821
- * gcc.dg/pr51821.c: New test.
-
-2012-01-15 Andreas Schwab <schwab@linux-m68k.org>
-
- * gcc.dg/torture/pr8081.c: Fix char signedness assumption.
-
-2012-01-14 Andreas Schwab <schwab@linux-m68k.org>
-
- * g++.dg/cpp0x/constexpr-rom.C: Add -G0 where applicable.
-
-2012-01-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51800
- * gfortran.dg/init_flag_8.f90: New.
- * gfortran.dg/init_flag_9.f90: New.
-
-2011-01-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51816
- * gfortran.dg/use_18.f90: New.
- * gfortran.dg/use_19.f90: New.
-
-2012-01-13 Ian Lance Taylor <iant@google.com>
-
- PR c++/50012
- * g++.dg/warn/Wsign-compare-4.C: New.
-
-2012-01-13 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/48351
- * gfortran.dg/alloc_comp_assign.f03: New.
- * gfortran.dg/allocatable_scalar_9.f90: Reduce count of
- __BUILTIN_FREE from 38 to 32.
-
-2012-01-13 Jason Merrill <jason@redhat.com>
-
- PR c++/20681
- * g++.dg/warn/Wreturn-type-7.C: New.
-
-2012-01-13 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.c-torture/execute/20120111-1.c: Fix wrong int = int32_t
- assumption.
- * g++.dg/ipa/pr51759.C: Fix assumption sizeof(int) > 2.
- * gcc.dg/cpp/warn-multichar.c: Fix to work on int=16 platforms.
- * gcc.dg/cpp/warn-multichar-2.c: Ditto.
- * gcc.dg/debug/dwarf2/pr49871.c: Add dg-require-effective-target
- int32plus because of big array needed.
- * gcc.dg/pr50527.c: Don't FAIL if sizeof(void*) = 2
- * gcc.dg/lto/20090218-2_1.c: Fix prototype of malloc, memcpy.
-
-2012-01-13 Jason Merrill <jason@redhat.com>
-
- PR c++/51813
- * g++.dg/ext/visibility/template9.C: New.
-
- PR c++/51620
- * g++.dg/cpp0x/defaulted34.C: New.
- * g++.dg/template/virtual3.C: New.
-
-2012-01-13 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/8081
- * gcc.dg/torture/pr8081.c: New testcase.
-
-2012-01-13 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.dg/pr46309.c: Set branch cost to greater 1 for avr.
-
-2012-01-12 Jason Merrill <jason@redhat.com>
-
- PR c++/51714
- * g++.dg/ext/stmtexpr14.C: New.
-
-2012-01-13 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51633
- * g++.dg/cpp0x/constexpr-diag4.C: New test.
-
-2012-01-12 Jason Merrill <jason@redhat.com>
-
- PR c++/48051
- * g++.dg/abi/mangle48.C: Test qualified-names, too.
- * g++.dg/abi/mangle58.C: Likewise.
-
- PR c++/51403
- * g++.dg/template/arg8.C: New.
-
-2012-01-12 Ira Rosen <irar@il.ibm.com>
-
- PR tree-optimization/51799
- * gcc.dg/vect/pr51799.c: New test.
- * gcc.dg/vect/vect-widen-shift-u8.c: Expect two widening shift
- patterns.
-
-2012-01-12 Dominique d'Humieres <dominiq@lps.ens.fr>
- Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51057
- PR fortran/51616
- * lib/target-supports.exp
- (check_effective_target_fortran_largest_fp_has_sqrt): New.
- * gfortran.dg/quad_2.f90: Use it, add pattern for IBM's real(16).
-
-2012-01-11 Jason Merrill <jason@redhat.com>
-
- PR c++/51565
- * g++.dg/ext/attrib42.C: New.
-
-2012-01-11 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/51796
- * gcc.dg/pr51796.c: New test.
-
-2012-01-11 Jason Merrill <jason@redhat.com>
-
- PR c++/51818
- * g++.dg/cpp0x/lambda/lambda-mangle3.C: New.
-
-2012-01-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/array19.ad[sb]: New test.
-
-2012-01-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/opt23.ad[sb]: New test.
- * gnat.dg/opt23_pkg.ad[sb]: New helper.
- * gnat.dg/opt24.ad[sb]: New test.
-
-2012-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/49642
- * gcc.dg/tree-ssa/pr49642-1.c: New test.
- * gcc.dg/tree-ssa/pr49642-2.c: New test.
-
-2012-01-11 Jason Merrill <jason@redhat.com>
-
- PR c++/51613
- * g++.dg/template/explicit-args5.C: New.
-
-2012-01-11 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * gcc.c-torture/execute/20120110-1.c: New testcase.
-
-2012-01-10 Jason Merrill <jason@redhat.com>
-
- PR c++/51614
- * g++.dg/inherit/ambig1.C: New.
-
- PR c++/51433
- * g++.dg/cpp0x/constexpr-cache1.C: New.
-
-2012-01-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51801
- * gcc.dg/torture/pr51801.c: New testcase.
-
-2012-01-10 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51652
- * gfortran.dg/allocate_with_typespec_5.f90: New.
-
-2012-01-10 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/class_39.f03: Update dg-error string.
-
-2012-01-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50913
- * gcc.dg/graphite/interchange-16.c: New testcase.
- * gcc.dg/graphite/scop-20.c: XFAIL.
- * gfortran.dg/graphite/interchange-1.f: Likewise.
- * gfortran.dg/graphite/block-1.f90: Likewise.
- * gfortran.dg/graphite/block-2.f: Likewise.
-
-2012-01-10 Richard Henderson <rth@redhat.com>
-
- * lib/target-supports.exp (check_effective_target_vect_perm,
- check_effective_target_vect_perm_byte,
- check_effective_target_vect_perm_short): Enable for arm neon.
-
-2012-01-09 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/46328
- * gfortran.dg/typebound_operator_11.f90: New.
-
-2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/array18.adb: New test.
- * gnat.dg/array18_pkg.ads: New helper.
-
-2012-01-09 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/51791
- * gfortran.dg/typebound_operator_7.f03: Insert parentheses
- around base object in first assignment in main program.
- * gfortran.dg/typebound_operator_10.f03: New test.
-
-2012-01-09 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/51759
- * g++.dg/ipa/pr51759.C: New test.
-
-2012-01-09 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51758
- * gfortran.dg/optional_absent_2.f90: New.
-
-2012-01-09 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51578
- * gfortran.dg/use_17.f90: New.
-
-2012-01-09 Gary Funck <gary@intrepid.com>
-
- PR preprocessor/33919
- * gcc.dg/pr33919.c: New test.
- * gcc.dg/pr33919-0.h: New test header file.
- * gcc.dg/pr33919-1.h: Ditto.
- * gcc.dg/pr33919-2.h: Ditto.
-
-2012-01-07 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimize/51694
- * gcc.c-torture/compile/pr51694.c: new testcase.
-
-2012-01-07 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/51600
- * g++.dg/torture/pr51600.C: New testcase.
-
-2012-01-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR gcov-profile/51715
- PR gcov-profile/51717
- * gcc.misc-tests/gcov-13.c: Skip on 32-bit hppa*-*-hpux*.
- * gcc.misc-tests/gcov-14.c: Likewise.
-
-2012-01-06 Jason Merrill <jason@redhat.com>
-
- * g++.dg/parse/new5.C: New.
-
-2012-01-06 Patrick Marlier <patrick.marlier@gmail.com>
-
- PR testsuite/51655
- * c-c++-common/tm/memcpy-1.c: Declare memcpy instead of
- including <string.h>.
-
-2012-01-06 Jason Merrill <jason@redhat.com>
-
- * g++.dg/abi/mangle51.C: New.
- * g++.dg/abi/mangle52.C: New.
- * g++.dg/abi/mangle53.C: New.
- * g++.dg/abi/mangle54.C: New.
- * g++.dg/abi/mangle55.C: New.
- * g++.dg/abi/mangle56.C: New.
- * g++.dg/abi/mangle57.C: New.
- * g++.dg/abi/mangle58.C: New.
- * g++.dg/abi/mangle59.C: New.
- * g++.dg/cpp0x/trailing3.C: Update mangling.
- * g++.dg/cpp0x/variadic111.C: Update mangling.
- * g++.dg/cpp0x/variadic4.C: Update mangling.
- * g++.dg/cpp0x/variadic42.C: Pass -fabi-version=5.
- * g++.dg/template/nontype22.C: Works now.
- * g++.dg/template/pr35240.C: Works now.
-
- * g++.dg/cpp0x/error7.C: New.
-
-2012-01-06 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/deallocate_stat_2.f90: New.
- * coarray/allocate_errgmsg.f90: New.
- * gfortran.dg/coarray_lib_alloc_1.f90: New.
- * gfortran.dg/coarray_lib_alloc_2.f90: New.
- * coarray/subobject_1.f90: Fix for num_images > 1.
- * gfortran.dg/deallocate_stat.f90: Update due to changed
- stat= handling.
-
-2012-01-06 Andrew Stubbs <ams@codesourcery.com>
-
- * gcc.target/arm/headmerge-2.c: Adjust scan pattern.
-
-2012-01-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * ada/acats/overflow.lst: Add cb20004.
-
-2012-01-05 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51541
- * g++.dg/cpp0x/alias-decl-18.C: New test.
-
-2012-01-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.c-torture/execute/20120104-1.c: New test.
-
-2012-01-05 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/PR48946
- * gfortran.dg/typebound_operator_9.f03: This is now a copy of
- the old typebound_operator_8.f03.
- * gfortran.dg/typebound_operator_8.f03: New version of
- typebound_operator_7.f03 with 'u' a derived type instead of a
- class object.
-
-2012-01-05 Richard Guenther <rguenther@suse.de>
-
- * g++.dg/torture/pr49309.C: Skip for -flto.
-
-2012-01-05 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/51761
- * gcc.c-torture/compile/pr51761.c: New test.
-
-2012-01-05 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51760
- * gcc.dg/torture/pr51760.c: New testcase.
-
-2012-01-05 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/51472
- * gcc.dg/tm/memopt-6.c: Adjust regexp.
-
-2012-01-05 Richard Guenther <rguenther@suse.de>
-
- PR lto/41576
- * gfortran.dg/lto/pr41576_0.f90: New testcase.
- * gfortran.dg/lto/pr41576_1.f90: Likewise.
-
-2012-01-04 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/51695
- * gcc.dg/pr51695.c: New test.
-
-2012-01-04 Andrew Pinski <apinski@cavium.com>
-
- * gcc.target/mips/mips64-dsp-ldx1.c: New test.
- * gcc.target/mips/octeon2-lx-1.c: New test.
- * gcc.target/mips/mips64-dsp-ldx.c: New test.
- * gcc.target/mips/octeon2-lx-2.c: New test.
- * gcc.target/mips/octeon2-lx-3.c: New test.
-
-2012-01-04 Patrick Marlier <patrick.marlier@gmail.com>
-
- PR other/51163
- PR other/51164
- * gcc.dg/tm/alias-1.c: Adjust regexp.
- * gcc.dg/tm/alias-2.c: Adjust regexp.
-
-2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51064
- * g++.dg/warn/Wparentheses-26.C: New.
-
-2012-01-04 Mikael Morin <mikael@gcc.gnu.org>
-
- * gfortran.dg/elemental_optional_args_2.f90: New test.
-
-2012-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/49693
- * gfortran.dg/common_17.f90: New test.
-
-2012-01-04 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49651
- * gcc.dg/tree-ssa/pta-ptrarith-1.c: Adjust.
- * gcc.dg/tree-ssa/pta-ptrarith-2.c: Likewise.
-
-2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51738
- * g++.dg/cpp0x/initlist-postfix-open-square.C: New.
-
-2012-01-03 Andrew Pinski <apinski@cavium.com>
-
- * lib/scanasm.exp (dg-function-on-line): Always use a special format
- for all mips targets. Also allow an optional .cfi_startproc.
-
-2012-01-03 Uros Bizjak <ubizjak@gmail.com>
-
- * gfortran.dg/typebound_operator_8.f03: Use dg-add-options ieee.
-
-2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/29273
- * g++.dg/rtti/dyncast5.C: New.
-
-2012-01-03 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51070
- * gcc.dg/torture/pr51070-2.c: New testcase.
-
-2012-01-03 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51692
- * gcc.dg/torture/pr51692.c: New testcase.
-
-2012-01-03 Richard Guenther <rguenther@suse.de>
-
- PR debug/51650
- * g++.dg/lto/pr51650-3_0.C: New testcase.
-
-2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/15867
- * g++.dg/warn/Wredundant-decls-spec.C: New.
-
-2012-01-03 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51719
- * g++.dg/tree-prof/pr51719.C: New test.
-
-2012-01-03 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/51730
- * gcc.dg/fold-compare-6.c: New testcase.
-
-2012-01-03 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/51669
- * g++.dg/gomp/pr51669.C: New test.
-
-2012-01-02 Jason Merrill <jason@redhat.com>
-
- PR c++/51675
- * g++.dg/cpp0x/constexpr-union2.C: New.
-
- PR c++/51666
- * g++.dg/cpp0x/nsdmi-defer5.C: New.
-
-2012-01-02 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51462
- * g++.dg/cpp0x/constexpr-99.C: New test.
-
-2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/20140
- * g++.dg/template/init9.C: New.
-
-2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.dg/memcpy-4.c: Add nomips16 attribute for MIPS targets.
- Increase copy to 5 bytes. Look for at least two "mem/s/u"s,
- rather than a specific number.
-
-2012-01-02 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/46262
- PR fortran/46328
- PR fortran/51052
- * gfortran.dg/typebound_operator_7.f03: New.
- * gfortran.dg/typebound_operator_8.f03: New.
-
-2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/51729
- * gcc.target/mips/dspr2-MULT.c: Remove -ffixed-hi -ffixed-lo.
- XFAIL.
- * gcc.target/mips/dspr2-MULTU.c: Likewise.
-
-2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.dg/pr46309.c: Add -mtune=octeon2 for MIPS.
-
-2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * g++.dg/cpp0x/constexpr-rom.C: Look for .rdata rather than rodata
- for MIPS.
-
-2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gfortran.dg/io_real_boz_3.f90: Require fortran_real_16.
- * gfortran.dg/io_real_boz_4.f90: Likewise.
- * gfortran.dg/io_real_boz_5.f90: Likewise.
-
-2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * g++.dg/opt/devirt2.C: Add -mno-abicalls for MIPS.
-
-2012-01-02 Revital Eres <revital.eres@linaro.org>
-
- * gcc.dg/sms-11.c: New file.
-
-2012-01-02 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51682
- * gfortran.dg/coarray/image_index_3.f90: New.
-
-2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/16603
- * g++.dg/parse/enum8.C: New.
-
-2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51379
- * g++.dg/conversion/reinterpret4.C: New.
- * g++.dg/conversion/reinterpret1.C: Adjust.
-
-2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
+2013-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- * g++.dg/cpp0x/constexpr-delegating2.C: Add missing piece.
+ * gcc.dg/pr55430.c: Define MAP_FAILED if not defined.
-2012-01-01 Fabien Chêne <fabien@gcc.gnu.org>
+2013-01-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
- * g++.old-deja/g++.brendan/crash25.C: Adjust.
- * g++.old-deja/g++.brendan/crash56.C: Likewise.
- * g++.old-deja/g++.jason/access14.C: Likewise.
- * g++.old-deja/g++.jason/access8.C: Likewise.
- * g++.old-deja/g++.jason/access1.C: Likewise.
- * g++.old-deja/g++.other/access3.C: Likewise.
- * g++.old-deja/g++.other/access5.C: Likewise.
- * g++.old-deja/g++.law/unsorted1.C: Likewise.
- * g++.old-deja/g++.law/visibility22.C: Likewise.
- * g++.old-deja/g++.law/visibility26.C: Likewise.
- * g++.old-deja/g++.mike/p2746.C: Likewise.
- * g++.dg/debug/using1.C: Likewise.
- * g++.dg/lookup/using51.C: Likewise.
- * g++.dg/inherit/using5.C: Likewise.
- * g++.dg/inherit/pr30297.C: Likewise.
- * g++.dg/inherit/access8.C: Likewise.
- * g++.dg/torture/pr39362.C: Likewise.
- * g++.dg/template/crash13.C: Likewise.
- * g++.dg/template/using10.C: Likewise.
+ PR fortran/55818
+ * gfortran.dg/eof_4.f90: New test.
-2012-01-01 Thomas Koenig <tkoenig@gcc.gnu.org>
+2013-01-02 Jakub Jelinek <jakub@redhat.com>
- PR fortran/51502
- * lib/gcc-dg.exp (scan-module-absence): Really commit last change.
+ * lib/c-compat.exp (compat-use-alt-compiler): Remove
+ -fno-diagnostics-show-caret from TEST_ALWAYS_FLAGS if needed.
+ (compat-use-tst-compiler): Restore TEST_ALWAYS_FLAGS.
+ (compat_setup_dfp): Initialize compat_alt_caret and
+ compat_save_TEST_ALWAYS_FLAGS.
-2012-01-01 Ira Rosen <irar@il.ibm.com>
+2013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
- PR tree-optimization/51704
- * gfortran.dg/vect/no-fre-no-copy-prop-O3-pr51704.f90: New.
- * gfortran.dg/vect/vect.exp: Run no-fre-no-copy-prop-O3-* with
- corresponding flags.
+ * gcc.dg/torture/tls/tls-reload-1.c: New test.
-2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
+2013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
- PR c++/51723
- * g++.dg/cpp0x/constexpr-delegating2.C: New.
+ * gcc.dg/torture/fp-int-convert-2.c: New test.
-2012-01-01 Jan Hubicka <jh@suse.cz>
+2013-01-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
- PR rtl-optimization/51069
- * gcc.c-torture/compile/pr51069.c: New testcase.
+ * gfortran.dg/newunit_3.f90: Add dg-do run.
+ * gfortran.dg/inquire_15.f90: Add dg-do run.
-2012-01-01 Jakub Jelinek <jakub@redhat.com>
+2013-01-01 Jakub Jelinek <jakub@redhat.com>
- PR tree-optimization/51683
- * gcc.dg/pr51683.c: New test.
+ PR tree-optimization/55831
+ * gcc.dg/pr55831.c: New test.
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2013 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/testsuite/ChangeLog-2012 b/gcc/testsuite/ChangeLog-2012
new file mode 100644
index 00000000000..6687189a22f
--- /dev/null
+++ b/gcc/testsuite/ChangeLog-2012
@@ -0,0 +1,11183 @@
+2012-12-31 Uros Bizjak <ubizjak@gmail.com>
+
+ * g++.dg/ipa/devirt-9.C: Cleanup inline ipa dump.
+
+2012-12-31 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/builtin_target.c (vendor_signatures): Remove.
+ (check_detailed): Use signature_INTEL_ebx and signature_AMD_ebx
+ to check vendor signature.
+
+2012-12-28 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55692
+ * gfortran.dg/associated_7.f90: New.
+
+2012-12-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55763
+ * gfortran.dg/unlimited_polymorphic_5.f90
+
+2012-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/48960
+ * gfortran.dg/newunit_3.f90: New.
+
+2012-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/48976
+ * gfortran.dg/inquire_15.f90: New.
+
+2012-12-27 Sriraman Tallam <tmsriram@google.com>
+
+ * testsuite/g++.dg/mv1.C: Remove target options.
+ * testsuite/g++.dg/mv2.C: Ditto.
+ * testsuite/g++.dg/mv3.C: Ditto.
+ * testsuite/g++.dg/mv4.C: Ditto.
+ * testsuite/g++.dg/mv5.C: Ditto.
+
+2012-12-26 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/55539
+ * gfortran.dg/nosigned_zero_3.f90: New testcase.
+
+2012-12-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54884
+ * gfortran.dg/public_private_module_8.f90: New.
+
+2012-12-23 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/r10k-cache-barrier-10.c: Make a branch-likely
+ instruction more likely.
+
+2012-12-23 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/pr55315.c: Cast to long rather than int.
+
+2012-12-22 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55763
+ * gfortran.dg/unlimited_polymorphic_6.f90: New.
+
+2012-12-21 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/55355
+ * g++.dg/torture/pr55355.C: New test.
+
+2012-12-21 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/55775
+ * gcc.target/i386/pr55775.c: New test.
+
+2012-12-21 David Edelsohn <dje.gcc@gmail.com>
+
+ * gcc.dg/pthread-init-2.c (dg-options): Define _XOPEN_SOURCE=500
+ on AIX.
+
+ * lib/target-supports.exp (add_options_for_tls): Add -pthread for
+ AIX as well.
+ (check_effective_target_powerpc_vsx_ok): Only test VSX on AIX 7.1
+ and above.
+
+ * gcc.c-torture/compile/pr44707.c: Do not try to assemble on AIX.
+
+ * c-c++-common/pr43942.c: Remove XFAIL for AIX.
+
+2012-12-21 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/55763
+ * gfortran.dg/unlimited_polymorphic_4.f03: New test.
+
+2012-12-21 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/52996
+ * gcc.dg/torture/pr52996.c: New testcase.
+
+2012-12-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/55750
+ * gcc.c-torture/execute/pr55750.c: New test.
+
+2012-12-20 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/55740
+ * g++.dg/torture/pr55740.C: New testcase.
+
+2012-12-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/55619
+ * c-c++-common/pr55619.c: New test.
+
+2012-12-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54818
+ * gfortran.dg/transfer_intrinsic_4.f: New.
+
+2012-12-19 Paul Thomas <pault@gcc.gnu.org>
+
+ * gfortran.dg/unlimited_polymorphic_1.f03: New test.
+ * gfortran.dg/unlimited_polymorphic_2.f03: New test.
+ * gfortran.dg/unlimited_polymorphic_3.f03: New test.
+ * gfortran.dg/same_type_as_1.f03: Correct for improved message.
+
+2012-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/arm/vmaxnmdf.c: New test.
+ * gcc.target/arm/vmaxnmsf.c: Likewise.
+ * gcc.target/arm/vminnmsf.c: Likewise.
+ * gcc.target/arm/vminnmdf.c: Likewise.
+
+2012-12-19 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/gomp/use_intrinsic_1.f90: Moved
+ to libgomp/testsuite/libgomp.fortran/use_intrinsic_1.f90.
+
+2012-12-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55736
+ PR tree-optimization/55703
+ * gcc.dg/lto/pr55703_0.c: New testcase.
+
+2012-12-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/55730
+ * gcc.dg/debug/pr55730.c: New test.
+
+2012-12-18 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/55683
+ * g++.dg/ipa/devirt-9.C: New testcase.
+
+2012-12-19 Terry Guo <terry.guo@arm.com>
+
+ * gcc.target/arm/thumb-find-work-register.c: New.
+
+2012-12-19 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55733
+ * gfortran.dg/save_5.f90: New.
+
+2012-12-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/39464
+ * gcc.dg/pr39464.c: New test.
+
+2012-12-18 Ian Lance Taylor <iant@google.com>
+
+ PR go/55201
+ * lib/go.exp: Revert last patch.
+
+2012-12-18 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/54838
+ * g++.dg/torture/pr54838.C: New testcase.
+
+2012-12-18 Andreas Schwab <schwab@linux-m68k.org>
+
+ * lib/go.exp (go_link_flags): Add libatomic location to flags and
+ ld_library_path.
+
+2012-12-18 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/reassoc-19.c: Adjust.
+
+2012-12-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55555
+ * gcc.dg/torture/pr55555.c: New testcase.
+ * gcc.dg/vect/vect-iv-11.c: Adjust.
+
+2012-12-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/55717
+ * testsuite/g++.dg/opt/pr55717.C: New test.
+
+2012-12-17 Andrew Stubbs <ams@codesourcery.com>
+ Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * gcc.target/arm/neon-extend-1.c: New file.
+ * gcc.target/arm/neon-extend-2.c: New file.
+
+2012-12-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * lib/target-supports.exp (add_options_for_arm_v8_neon):
+ Add -march=armv8-a.
+
+2012-12-17 James Greenhalgh <james.greenhalgh@arm.com>
+ Tejas Belagod <tejas.belagod@arm.com>
+
+ * lib/target-supports.exp
+ (check_effective_target_vect_multiple_sizes): Enable for AArch64.
+
+2012-12-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55197
+ * gfortran.dg/gomp/use_intrinsic_1.f90: New.
+
+2012-12-16 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/move_alloc_14.f90: New.
+
+2012-12-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55638
+ * gfortran.dg/elemental_args_check_3.f90: Update dg-error.
+ * gfortran.dg/elemental_args_check_7.f90: New.
+
+2012-12-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lib/scanasm.exp (get_ada_spec_filename): Use procedural form.
+
+2012-12-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/52735
+ * gnat.dg/nested_generic1.adb: New test.
+ * gnat.dg/nested_generic1_pkg.ad[sb]: New helper.
+
+2012-12-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/53766
+ * gnat.dg/controlled7.ad[sb]: New test.
+
+2012-12-14 Steve Ellcey <sellcey@mips.com>
+
+ PR regression/55688
+ * g++.dg/other/pr55650.C: Add dg-require-profiling.
+
+2012-12-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55684
+ * gcc.dg/torture/pr55684.c: New testcase.
+
+2012-12-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55687
+ * gcc.dg/torture/pr55687.c: New testcase.
+
+2012-12-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/55652
+ * g++.dg/cpp0x/noexcept19.C: New test.
+
+2012-12-13 Richard Biener <rguenther@suse.de>
+
+ PR lto/55660
+ * gcc.dg/lto/pr55660_0.c: New testcase.
+ * gcc.dg/lto/pr55660_1.c: Likewise.
+
+2012-12-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR gcov-profile/55650
+ * g++.dg/other/pr55650.C: New test.
+ * g++.dg/other/pr55650.cc: New file.
+
+2012-12-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/55665
+ * g++.dg/guality/pr55665.C: New test.
+
+ * lib/gcc-dg.exp (${tool}_load): Handle non-existing
+ set_target_env_var the same as if it is empty list.
+ (dg-set-target-env-var): Fix up error message.
+ (set-target-env-var): Record both preexisting env var values
+ as well as info that env wasn't set.
+ (restore-target-env-var): Iterate on reversed list, if second
+ sublist element is 1, setenv the env var to the third sublist
+ element, otherwise unsetenv it.
+ (gcc-dg-runtest): Don't initialize set_target_env_var.
+ (dg-test): Unset set_target_env_var if it was set.
+
+ * g++.dg/asan/deep-tail-call-1.C: Whitespace fixes. Don't rely
+ on argc being one.
+ * g++.dg/asan/interception-malloc-test-1.C: Only run on linux.
+ Whitespace fixes. Avoid unnecessary * sizeof(char).
+ * g++.dg/asan/deep-thread-stack-1.C: Add -lasan -lpthread to
+ dg-options. Whitespace fixes.
+ * g++.dg/asan/deep-stack-uaf-1.C: Skip for -flto. Whitespace fixes.
+ * g++.dg/asan/interception-test-1.C: Whitespace fixes.
+ * g++.dg/asan/interception-failure-test-1.C: Whitespace fixes.
+ Avoid unnecessary * sizeof(char). Remove // CHECK: comment.
+ * g++.dg/asan/default-options-1.C: Whitespace fixes.
+ * g++.dg/asan/symbolize-callback-1.C: Whitespace fixes. Make
+ first __asan_symbolize argument unnamed. Avoid unnecessary
+ * sizeof(char).
+ * g++.dg/asan/large-func-test-1.C: Whitespace fixes. Don't rely
+ on argc being one. Allow both _Znwj and _Znwm as operator new.
+ Ignore everything in the backtrace above operator new. Fix up
+ dg-output regexps.
+ * c-c++-common/asan/null-deref-1.c: Add -fno-omit-frame-pointer
+ and for x86 -mno-omit-leaf-frame-pointer. Fix up dg-output regexps.
+ * c-c++-common/asan/clone-test-1.c: Whitespace fixes. Return non-zero
+ on failures. Avoid pointless PASS dg-output check. Remove bogus
+ dg-shouldfail.
+ * c-c++-common/asan/sanity-check-pure-c-1.c: Fix up dg-output regexps.
+ Avoid unnecessary * sizeof(char).
+ * c-c++-common/asan/heap-overflow-1.c: Fix up dg-output regexps.
+ Don't rely on argc being one.
+ * c-c++-common/asan/sleep-before-dying-1.c: Whitespace fixes.
+ Avoid unnecessary * sizeof(char).
+ * c-c++-common/asan/rlimit-mmap-test-1.c: Whitespace fixes.
+ * c-c++-common/asan/stack-overflow-1.c: Fix up dg-output regexps.
+ * c-c++-common/asan/global-overflow-1.c: Add -fno-builtin-memset.
+ Fix up dg-output regexps.
+ * c-c++-common/asan/strncpy-overflow-1.c: Fix up dg-output regexps.
+ * c-c++-common/asan/memcmp-1.c: Don't rely on argc being one.
+ * c-c++-common/asan/use-after-free-1.c: Fix up dg-output regexps.
+ * c-c++-common/asan/swapcontext-test-1.c: Don't rely on argc being
+ one.
+ * c-c++-common/asan/force-inline-opt0-1.c: Remove dg-skip-if.
+ * c-c++-common/asan/strip-path-prefix-1.c: Whitespace fixes.
+ Avoid unnecessary * sizeof(char).
+
+2012-12-12 Wei Mi <wmi@google.com>
+
+ * lib/target-supports.exp (check_effective_target_dlopen,
+ check_effective_target_clone, check_effective_target_setrlimit,
+ check_effective_target_swapcontext): New procedures.
+ * lib/gcc-dg.exp (${tool}_load): Handle dg-set-target-env-var.
+ (dg-set-target-env-var, set-target-env-var,
+ restore-target-env-var): New procedures.
+ (gcc-dg-runtest): Set set_target_env_var.
+ * g++.dg/asan/symbolize-callback-1.C: New test.
+ * g++.dg/asan/shared-lib-test-1-so.cc: New file.
+ * g++.dg/asan/deep-tail-call-1.C: New test.
+ * g++.dg/asan/default-options-1.C: New test.
+ * g++.dg/asan/interception-test-1.C: New test.
+ * g++.dg/asan/dlclose-test-1-so.cc: New file.
+ * g++.dg/asan/deep-thread-stack-1.C: New test.
+ * g++.dg/asan/interception-malloc-test-1.C: New test.
+ * g++.dg/asan/deep-stack-uaf-1.C: New test.
+ * g++.dg/asan/large-func-test-1.C: New test.
+ * g++.dg/asan/interception-failure-test-1.C: New test.
+ * c-c++-common/asan/strip-path-prefix-1.c: New test.
+ * c-c++-common/asan/force-inline-opt0-1.c: New test.
+ * c-c++-common/asan/swapcontext-test-1.c: New test.
+ * c-c++-common/asan/null-deref-1.c: New test.
+ * c-c++-common/asan/global-overflow-1.c: New test.
+ * c-c++-common/asan/strncpy-overflow-1.c: New test.
+ * c-c++-common/asan/rlimit-mmap-test-1.c: New test.
+ * c-c++-common/asan/stack-overflow-1.c: New test.
+ * c-c++-common/asan/use-after-free-1.c: New test.
+ * c-c++-common/asan/sanity-check-pure-c-1.c: New test.
+ * c-c++-common/asan/clone-test-1.c: New test.
+ * c-c++-common/asan/heap-overflow-1.c: New test.
+ * c-c++-common/asan/sleep-before-dying-1.c: New test.
+
+2012-12-12 Steve Ellcey <sellcey@mips.com>
+
+ * gcc.dg/pr55150-2.c: Add pic support check.
+ * gcc.dg/lto/pr54709_0.c: Ditto.
+
+2012-12-12 Zdenek Dvorak <ook@ucw.cz>
+
+ PR tree-optimization/55481
+ * gcc.dg/torture/pr55481.c: New testcase.
+
+2012-12-12 Steven Bosscher <steven@gcc.gnu.org>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/52640
+ * gcc.c-torture/compile/limits-externdecl.c: New test.
+
+2012-12-12 Jakub Jelinek <jakub@redhat.com>
+
+ * gfortran.dg/vect/fast-math-pr38968.f90: Decrease n
+ from 2000 to 400.
+
+ PR fortran/55633
+ * gcc.dg/torture/pr55633.c: New test.
+
+2012-12-11 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/53094
+ * g++.dg/cpp0x/constexpr-53094-1.C: New testcase.
+ * g++.dg/cpp0x/constexpr-53094-2.C: Likewise.
+ * g++.dg/cpp0x/constexpr-53094-3.C: Likewise.
+
+2012-12-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/55643
+ * g++.dg/warn/Wunused-var-19.C: New test.
+
+ * g++.dg/asan/asan_test.C: Link -lasan before -lpthread.
+
+2012-12-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/pr54121.c: New test.
+
+2012-12-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/55619
+ * g++.dg/ext/asm12.C: New test.
+
+ PR tree-optimization/54570
+ * gcc.dg/builtin-object-size-8.c: Xfail.
+ * gcc.dg/builtin-object-size-13.c: New test.
+
+2012-12-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR target/55642
+ * gcc.target/arm/pr55642.c: New testcase.
+
+2012-12-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/43631
+ PR bootstrap/55615
+ * g++.dg/other/pr43631.C: New test.
+
+2012-12-11 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55079
+ * gcc.dg/Warray-bounds-9.c: New testcase.
+ * gcc.dg/Warray-bounds-10.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-pre-1.c: Adjust.
+
+2012-12-10 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/52909
+ * gfortran.dg/proc_ptr_39.f90: New test case.
+
+2012-12-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/octeon-bbit-2.c: Restructure loops so that no
+ code duplication is required. Allow BNE to appear.
+
+2012-12-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/ext-2.c: Require -mlong64.
+
+2012-12-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55107
+ * gcc.dg/torture/pr55107.c: New testcase.
+ * gcc.dg/tree-ssa/ssa-pre-5.c: Adjust.
+
+2012-12-10 Jakub Jelinek <jakub@redhat.com>
+
+ * g++.dg/asan/asan_test.cc: Sync from upstream.
+ * g++.dg/asan/asan_test_utils.h: Likewise.
+
+2012-12-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * gcc.target/arm/neon/vrndaf32.c: New test.
+ * gcc.target/arm/neon/vrndqaf32.c: Likewise.
+ * gcc.target/arm/neon/vrndf32.c: Likewise.
+ * gcc.target/arm/neon/vrndqf32.c: Likewise.
+ * gcc.target/arm/neon/vrndmf32.c: Likewise.
+ * gcc.target/arm/neon/vrndqmf32.c: Likewise.
+ * gcc.target/arm/neon/vrndnf32.c: Likewise.
+ * gcc.target/arm/neon/vrndqnf32.c: Likewise.
+ * gcc.target/arm/neon/vrndpf32.c: Likewise.
+ * gcc.target/arm/neon/vrndqpf32.c: Likewise.
+
+2012-12-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * gcc.misc-tests/gcov-12.c: Fix dg order.
+
+ PR middle-end/54470
+ * gcc.dg/ipa/iinline-4.c: xfail hooray4 test on 32-bit hppa*-*-*.
+
+ * gcc.dg/torture/pr47917.c: Change "dg-xfail-if" to "dg-xfail-run-if"
+ for *-*-hpux10*.
+
+ * gcc.dg/20030711-1.c: Define MAP_FAILED if not defined.
+ * gcc.dg/20050826-1.c: Likewise.
+
+2012-12-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/vect9.adb: Add -w to dg-options.
+ * gnat.dg/vect10.adb: Likewise.
+
+2012-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/55593
+ * gfortran.dg/do_check_8.f90: New test.
+
+2012-12-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/vect10.ad[sb]: New test.
+
+2012-12-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/vect9.ad[sb]: New test.
+ * gnat.dg/vect9_pkg.ads: New helper.
+
+2012-12-07 Mike Stump <mikestump@comcast.net>
+
+ * gnat.dg/discr38.adb: Don't use ^M line endings.
+ gnat.dg/loop_optimization13.adb: Likewise.
+ gnat.dg/loop_optimization13.ads: Likewise.
+ gnat.dg/discr36_pkg.adb: Likewise.
+ gnat.dg/discr36_pkg.ads: Likewise.
+ gnat.dg/loop_optimization11_pkg.ads: Likewise.
+ gnat.dg/discr36.ads: Likewise.
+ gnat.dg/loop_optimization11.adb: Likewise.
+
+2012-12-07 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55141
+ * gcc.target/i386/pr55141.c: New.
+
+2012-12-07 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/54401
+ * g++.dg/cpp0x/alias-decl-28.C: New test.
+ * g++.dg/cpp0x/alias-decl-16.C: Update.
+
+2012-12-07 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/55590
+ * gcc.target/i386/pr55590-1.c: New test.
+ * gcc.target/i386/pr55590-2.c: Likewise.
+
+2012-12-07 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54975
+ * g++.dg/cpp0x/lambda/lambda-typedef.C: New.
+
+2012-12-06 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/55597
+ * gcc.target/i386/pr55597.c: New test.
+
+2012-12-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/54207
+ * g++.dg/cpp0x/noexcept18.C: New test.
+
+ PR c++/55573
+ * g++.dg/cpp0x/constexpr-55573.C: New test.
+
+ PR c++/55137
+ * g++.dg/opt/pr55137.C: New test.
+ * gcc.c-torture/execute/pr55137.c: New test.
+
+2012-12-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * lib/target-supports.exp (check_effective_target_arm_v8_neon_ok):
+ New procedure.
+ (add_options_for_arm_v8_neon): Likewise.
+
+2012-12-05 Steven Bosscher <steven@gcc.gnu.org>
+
+ * g++.dg/pr55604.C: New test.
+
+2012-12-05 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * lib/target-supports.exp
+ (check_effective_target_vect_perm): Allow aarch64*-*-*.
+ (check_effective_target_vect_perm_byte): Likewise.
+ (check_effective_target_vect_perm_short): Likewise.
+ (check_effective_target_vect_char_mult): Likewise.
+ (check_effective_target_vect_extract_even_odd): Likewise.
+ (check_effective_target_vect_interleave): Likewise.
+
+2012-12-05 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * g++.dg/abi/mangle-neon-aarch64.C: New test.
+
+2012-12-05 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * g++.dg/abi/arm_va_list.C: Also test on aarch64*-*-*.
+
+2012-12-05 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.dg/vect/vect-rounding-btrunc.c: New test.
+ * gcc.dg/vect/vect-rounding-btruncf.c: Likewise.
+ * gcc.dg/vect/vect-rounding-ceil.c: Likewise.
+ * gcc.dg/vect/vect-rounding-ceilf.c: Likewise.
+ * gcc.dg/vect/vect-rounding-floor.c: Likewise.
+ * gcc.dg/vect/vect-rounding-floorf.c: Likewise.
+ * gcc.dg/vect/vect-rounding-lceil.c: Likewise.
+ * gcc.dg/vect/vect-rounding-lfloor.c: Likewise.
+ * gcc.dg/vect/vect-rounding-nearbyint.c: Likewise.
+ * gcc.dg/vect/vect-rounding-nearbyintf.c: Likewise.
+ * gcc.dg/vect/vect-rounding-round.c: Likewise.
+ * gcc.dg/vect/vect-rounding-roundf.c: Likewise.
+ * target-supports.exp
+ (check_effective_target_vect_call_btrunc): New.
+ (check_effective_target_vect_call_btruncf): Likewise.
+ (check_effective_target_vect_call_ceil): Likewise.
+ (check_effective_target_vect_call_ceilf): Likewise.
+ (check_effective_target_vect_call_floor): Likewise.
+ (check_effective_target_vect_call_floorf): Likewise.
+ (check_effective_target_vect_call_lceil): Likewise.
+ (check_effective_target_vect_call_lfloor): Likewise.
+ (check_effective_target_vect_call_nearbyint): Likewise.
+ (check_effective_target_vect_call_nearbyintf): Likewise.
+ (check_effective_target_vect_call_round): Likewise.
+ (check_effective_target_vect_call_roundf): Likewise.
+
+2012-12-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/51238
+ * gcc.dg/torture/pr51238.c: New testcase.
+
+2012-12-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/50222
+ * gcc.dg/torture/pr50222.c: New testcase.
+
+2012-12-05 Richard Biener <rguenther@suse.de>
+
+ PR lto/55525
+ * gcc.dg/lto/pr55525_0.c: New testcase.
+ * gcc.dg/lto/pr55525_1.c: Likewise.
+
+2012-12-04 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/quad_3.f90: Really fix an if condition.
+
+2012-12-04 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/quad_3.f90: Fix a condition,
+ which wrongly required ordered/lazy evaluation.
+
+2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ * gcc.target/aarch64/121127.c: New test.
+
+2012-12-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR testsuite/55587
+ * lib/asan-dg.exp (asan_init): Return 1 if libasan has been found,
+ 0 if not.
+ * g++.dg/asan/asan.exp: Don't run gcc-dg-runtest if [asan_init]
+ returned 0.
+ * gcc.dg/asan/asan.exp: Likewise.
+
+2012-12-04 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55124
+ * gcc.dg/torture/pr55124.c: New testcase.
+
+2012-12-03 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/quad_3.f90: New.
+
+2012-12-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54170
+ * g++.dg/cpp0x/lambda/lambda-nullptr.C: New.
+
+2012-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR testsuite/55452
+ * gfortran.dg/reassoc_4.f: Use --param max-completely-peeled-insns=400
+ on all targets, not just s390*.
+
+2012-12-03 Marek Polacek <polacek@redhat.com>
+
+ PR c/55570
+ * gcc.dg/pr55570.c: New test.
+
+2012-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ * lib/asan-dg.exp (asan_get_gtest_test_list,
+ asan_get_gtest_expect_death_list, asan-gtest): New procedures.
+ (proc ${tool}_load): Remember [asan_get_gtest_test_list "$output"]
+ and [asan_get_gtest_expect_death_list "$output"] in global vars.
+ (asan_symbolize): Sanitize [] characters from key.
+ * g++.dg/asan/asan_test_config.h: New file.
+ * g++.dg/asan/asan_globals_test.cc: New file.
+ * g++.dg/asan/asan_test_utils.h: New file.
+ * g++.dg/asan/dejagnu-gtest.h: New file.
+ * g++.dg/asan/asan_test.cc: New file.
+ * g++.dg/asan/asan_test.C: New test.
+
+2012-12-03 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/torture/pr35634.c: Use signed char.
+ * g++.dg/torture/pr35634.C: Likewise.
+
+2012-12-02 Marek Polacek <polacek@redhat.com>
+
+ PR middle-end/54838
+ * gcc.dg/pr54838.c: New test.
+
+2012-12-01 Xinliang David Li <davidxl@google.com>
+
+ * gcc.target/i386/ifcvt-onecmpl-abs-1.c: Check for
+ cltd.
+
+2012-12-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/55558
+ * g++.dg/cpp0x/decltype46.C: New.
+
+2012-12-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/52450
+ * gcc.dg/torture/pr52402.c: Remove xfail for hppa*-*-hpux*.
+
+2012-12-01 Zdenek Sojka <zsojka@seznam.cz>
+
+ PR debug/53860
+ * g++.dg/debug/pr53860.C: New test.
+
+2012-12-01 Alessandro Fanfarillo <alessandro.fanfarillo@gmail.com>
+ Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/46897
+ * gfortran.dg/defined_assignment_1.f90: New test.
+ * gfortran.dg/defined_assignment_2.f90: New test.
+ * gfortran.dg/defined_assignment_3.f90: New test.
+ * gfortran.dg/defined_assignment_4.f90: New test.
+ * gfortran.dg/defined_assignment_5.f90: New test.
+
+2012-12-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/55542
+ * g++.dg/cpp0x/vt-55542.C: New test.
+
+2012-11-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/pack9.ads: New test.
+
+2012-11-30 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/52890
+ PR tree-optimization/55415
+ PR tree-optimization/54386
+ PR target/55448
+ * gcc.dg/ipa/ipa-sra-7.c: New test.
+ * gcc.dg/ipa/ipa-sra-8.c: Likewise.
+ * gcc.dg/ipa/ipa-sra-9.c: Likewise.
+ * gcc.target/i386/pr55448.c: Likewise.
+
+2012-11-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * loop_optimization14.ad[sb]: New test.
+ * loop_optimization14_pkg.ads: New helper.
+
+2012-11-29 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/55073
+ * gcc.target/arm/pr55073.C: New test.
+
+2012-11-29 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/53094
+ * g++.dg/ext/vector20.C: New testcase.
+
+2012-11-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52161
+ * coarray/sync_3.f90: Extend test.
+
+2012-11-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/55512
+ * gcc.target/i386/pr55512-2.c: Remove unnecessary define.
+ * gcc.target/i386/pr55512-4.c: Likewise.
+
+2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ PR c++/52654
+ * g++.dg/cpp0x/udlit-overflow.C: New.
+ * g++.dg/cpp0x/udlit-overflow-neg.C: New.
+
+2012-11-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/36728
+ PR debug/55467
+ PR middle-end/55507
+ PR bootstrap/55511
+ * gcc.dg/guality/pr36728-1.c: Include "../nop.h", make sure the asm
+ are non-empty and add dependency between the first and second asm.
+ * gcc.dg/guality/pr36728-2.c: Likewise.
+ * gcc.dg/guality/pr36728-3.c: New test.
+ * gcc.dg/guality/pr36728-4.c: New test.
+
+2012-11-28 Andrew Pinski <apinski@cavium.com>
+
+ PR bootstrap/54279
+ * lib/g++.exp (g++_init): Search for xg++ instead of g++ in the build
+ directories.
+ * lib/obj-c++.exp (obj-c++_init): Likewise.
+
+2012-11-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52161
+ * coarray/sync_3.f90: New.
+
+2012-11-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/pr55458.c: Require ia32 target instead of ilp32.
+
+2012-11-28 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55512
+ * gcc.target/i386/pr55512-[1234].c: New tests.
+
+2012-11-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR testsuite/55505
+ * gcc.c-torture/execute/921202-1.c: Increase size of dx and dy arrays.
+
+ PR testsuite/55504
+ * gcc.c-torture/execute/20071018-1.c (foo): Add noinline/noclone
+ attributes. Avoid clobbering memory before malloced chunk.
+ (main): Pass 1 instead of 0 as argument.
+
+2012-11-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/object_overflow.adb: Rename to...
+ * gnat.dg/object_overflow1.adb: ...this.
+ * gnat.dg/object_overflow2.adb: New test.
+ * gnat.dg/object_overflow3.adb: Likewise.
+ * gnat.dg/object_overflow4.adb: Likewise.
+
+2012-11-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/55497
+ * g++.dg/init/pr55497.C: New.
+
+2012-11-28 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/55327
+ * gcc.dg/vect/slp-perm-8.c: Mark worker as noinline.
+ * gcc.dg/vect/slp-perm-9.c: Likewise.
+
+2012-11-28 Richard Biener <rguenther@suse.de>
+
+ PR c/35634
+ * gcc.dg/torture/pr35634.c: New testcase.
+ * g++.dg/torture/pr35634.C: Likewise.
+ * gcc.dg/vect/pr18536.c: Mark worker function noinline.
+
+2012-11-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55476
+ * gfortran.dg/warn_target_lifetime_3.f90: New.
+
+2012-11-27 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55458
+ * gcc.target/i386/pr55458.c: New test.
+
+2012-11-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/55110
+ * gcc.dg/pr55110.c: New test.
+
+2012-11-27 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/55331
+ * g++.dg/opt/pr55331.C: New testcase.
+
+2012-11-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc.dg/20050811-2.c: Change -dv option to -graph option.
+
+2012-11-26 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/54455.c: Require scheduling.
+ * gcc.dg/c1x-align-4.c: Skip avr.
+ * gcc.dg/pr44024.c: Skip avr in final scan.
+
+2012-11-26 Georg-Johann Lay <avr@gjlay.de>
+
+ PR testsuite/52641
+ * gcc.c-torture/execute/20120919-1.x: New file (int32plus).
+ * gcc.dg/pr54676.c: Make work for 16-bit int.
+
+2012-11-26 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/55277
+ * gcc.target/i386/pr55227.c: New test.
+
+2012-11-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * testsuite/gcc.dg/20050811-1.c: Change -dv option to -graph option
+ to -fdump-rtl-all.
+ * testsuite/gcc.dg/pr37858.c: Remove -dv option.
+
+2012-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * lib/target-supports.exp (check_effective_target_arm_v8_vfp_ok):
+ New procedure.
+ (add_options_for_arm_v8_vfp): New procedure.
+ * gcc.target/arm/vrintaf32.c: New test.
+ * gcc.target/arm/vrintaf64.c: Likewise.
+ * gcc.target/arm/vrintmf32.c: Likewise.
+ * gcc.target/arm/vrintmf64.c: Likewise.
+ * gcc.target/arm/vrintpf32.c: Likewise.
+ * gcc.target/arm/vrintpf64.c: Likewise.
+ * gcc.target/arm/vrintrf32.c: Likewise.
+ * gcc.target/arm/vrintrf64.c: Likewise.
+ * gcc.target/arm/vrintxf32.c: Likewise.
+ * gcc.target/arm/vrintxf64.c: Likewise.
+ * gcc.target/arm/vrintzf32.c: Likewise.
+ * gcc.target/arm/vrintzf64.c: Likewise.
+
+2012-11-26 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54997
+ * gfortran.dg/warn_unused_function_2.f90: New.
+
+2012-11-26 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54881
+ * gfortran.dg/associated_6.f90: New.
+ * gfortran.dg/select_type_30.f03: New.
+
+2012-11-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54471
+ * gcc.dg/tree-ssa/vrp86.c: New test.
+ * gcc.c-torture/execute/pr54471.c: New test.
+
+2012-11-26 Hans-Peter Nilsson <hp@bitrange.com>
+
+ PR middle-end/55030
+ * gcc.dg/guality/pr36728-1.c, gcc.dg/guality/pr36728-2.c (foo): Don't
+ use volatile asms, use plain asms. Where the output value for the
+ asm is unused, write a global variable.
+
+2012-11-25 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/sw-1.c (dg-options): Add -mtune=generic.
+
+2012-11-25 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/30146
+ * gfortran.dg/do_check_7.f90: New test.
+
+2012-11-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/55446
+ * g++.dg/init/new41.C: New.
+
+2012-11-24 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/55314
+ * gfortran.dg/allocate_error_4.f90: New test.
+
+2012-11-24 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * lib/gcc-gdb-test.exp (gdb-test): Pass -- as first argument
+ to send_log.
+
+2012-11-23 Jakub Jelinek <jakub@redhat.com>
+
+ * lib/asan-dg.exp (asan_symbolize): Remove all "BFD: " prefixed lines
+ from the output.
+
+ PR c++/54046
+ * g++.dg/warn/Wreturn-type-8.C: New test.
+
+ PR middle-end/55430
+ * gcc.dg/pr55430.c: New test.
+
+2012-11-23 Kostya Serebryany <kcc@google.com>
+
+ * c-c++-common/asan/memcmp-1.c: Update to match the new libsanitizer.
+
+2012-11-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr40.ad[sb]: New test.
+
+2012-11-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr39.adb: New test.
+
+2012-11-23 Georg-Johann Lay <avr@gjlay.de>
+
+ PR testsuite/52641
+ * gcc.dg/unroll_5.c: Add dg-require-effective-target int32plus.
+ * gcc.dg/pr55150-1.c: Same.
+ * gcc.dg/torture/pr54894.c: Add size32plus.
+
+2012-11-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR sanitizer/55435
+ * c-c++-common/asan/attrib-1.c: New test.
+
+2012-11-22 Ian Bolton <ian.bolton@arm.com>
+
+ * gcc.target/aarch64/builtin-bswap-1.c: New test.
+ * gcc.target/aarch64/builtin-bswap-2.c: New test.
+
+2012-11-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/55432
+ * g++.dg/cpp0x/constexpr-55432.C: New.
+
+2012-11-21 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55352
+ * gfortran.dg/namelist_76.f90: New.
+
+2012-11-21 Martin Jambor <mjambor@suse.cz>
+
+ * gcc.dg/ipa/ipcp-agg-7.c: New test.
+ * gcc.dg/ipa/ipcp-agg-8.c: Likewise.
+
+2012-11-21 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/55260
+ * g++.dg/torture/pr55260-2.C: New test.
+
+2012-11-21 Martin Jambor <mjambor@suse.cz>
+
+ * gcc.dg/torture/pr55238.c: Remove hidden attribute.
+
+2012-11-21 Bin Cheng <bin.cheng@arm.com>
+
+ * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Skip on ARM Cortex-M0.
+ * gcc.dg/tree-ssa/vrp47.c: Ditto.
+
+2012-11-20 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/19398
+ * gcc.target/i386/pr19398.c: New test.
+
+2012-11-20 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/55260
+ * g++.dg/torture/pr55260-1.C: New test.
+
+2012-11-20 Sofiane Naci <sofiane.naci@arm.com>
+
+ * gcc.target/aarch64/atomic-comp-swap-release-acquire.c: New testcase.
+ * gcc.target/aarch64/atomic-op-acq_rel.c: Likewise.
+ * gcc.target/aarch64/atomic-op-acquire.c: Likewise.
+ * gcc.target/aarch64/atomic-op-char.c: Likewise.
+ * gcc.target/aarch64/atomic-op-consume.c: Likewise.
+ * gcc.target/aarch64/atomic-op-imm.c: Likewise.
+ * gcc.target/aarch64/atomic-op-int.c: Likewise.
+ * gcc.target/aarch64/atomic-op-long.c: Likewise.
+ * gcc.target/aarch64/atomic-op-relaxed.c: Likewise.
+ * gcc.target/aarch64/atomic-op-release.c: Likewise.
+ * gcc.target/aarch64/atomic-op-seq_cst.c: Likewise.
+ * gcc.target/aarch64/atomic-op-short.c: Likewise.
+
+2012-11-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/55094
+ * gcc.dg/pr55094.c: New test.
+
+ PR rtl-optimization/54921
+ * gcc.dg/pr54921.c: New test.
+
+2012-11-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/i386/pr55359.c: New test.
+
+2012-11-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * g++.dg/tls/thread_local-order1.C: Add dg-require-cxa-atexit.
+ * g++.dg/tls/thread_local3g.C: Likewise.
+ * g++.dg/tls/thread_local4g.C: Likewise.
+ * g++.dg/tls/thread_local5g.C: Likewise.
+ * g++.dg/tls/thread_local6g.C: Likewise.
+ * g++.dg/tls/thread_local-cse.C: XFAIL on Solaris 9.
+ * g++.dg/tls/thread_local2.C: Likewise.
+ * g++.dg/tls/thread_local2g.C: Likewise.
+ * g++.dg/tls/thread_local6.C: Likewise.
+
+2012-11-19 Aldy Hernandez <aldyh@redhat.com>
+
+ * g++.dg/tm/pr51516.C: Adjust for uninstrumented code path.
+ * gcc.dg/tm/clone-1.c: New test.
+
+2012-11-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/55368
+ * g++.dg/parse/struct-5.C: New.
+
+2012-11-19 Tom de Vries <tom@codesourcery.com>
+
+ PR rtl-optimization/55315
+ * gcc.target/mips/pr55315.c: New test.
+
+2012-11-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/55236
+ * gcc.dg/pr55236.c: New test.
+
+ PR testsuite/55188
+ * gcc.dg/pr19105.c: Accept also optimizing
+ -[2, 2] and -[3, 3] and -[4, 4] range tests together.
+
+ * lib/asan-dg.exp (asan_symbolize): Prune BFD: prefixed error messages
+ from addr2line_output. Increment idx if asking for more than one
+ address in one object.
+
+2012-11-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/55329
+ * g++.dg/opt/pr55329.C: New test.
+
+2012-11-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55297
+ * gfortran.dg/typebound_operator_18.f90: New.
+
+2012-11-16 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55330
+ * gfortran.dg/pr55330.f90: New test.
+
+2012-11-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * lib/gcc-dg.exp (cleanup-saved-temps): Add .mii to suffixes.
+ * gcc.dg/hoist-register-pressure-1.c: Cleanup hoist rtl dump.
+ * gcc.dg/hoist-register-pressure-2.c: Ditto.
+ * gcc.dg/hoist-register-pressure-3.c: Ditto.
+ * gcc.dg/tree-prof/peel-1.c: Cleanup loop2_unroll rtl dump.
+ * gcc.dg/tree-prof/unroll-1.c: Ditto.
+
+2012-11-16 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/54875
+ * g++.dg/cpp0x/alias-decl-27.C: New test.
+
+2012-11-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/55337
+ * g++.dg/template/alignof2.C: New test.
+
+2012-11-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * g++.dg/mv1.C (dg-options): Add -march=x86-64.
+ * g++.dg/mv6.C (dg-options): Ditto.
+
+2012-11-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * lib/target_suports.exp
+ (check_effective_target_has_w_floating_suffix): New procedure.
+ (check_effective_target_has_q_floating_suffix): Ditto.
+ * g++.dg/cpp0x/gnu_fext-numeric-literals.C: Add dg-error directive
+ for unsupported non-standard suffix on floating constant.
+ * g++.dg/cpp0x/std_fext-numeric-literals.C: Ditto.
+
+2012-11-14 Jakub Jelinek <jakub@redhat.com>
+
+ * lib/asan-dg.exp: New file.
+ * gcc.dg/asan/asan.exp: New file.
+ * g++.dg/dg.exp: Prune also asan tests.
+ * g++.dg/asan/asan.exp: New file.
+ * c-c++-common/asan/memcmp-1.c: New test.
+
+2012-11-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/55323
+ * g++.dg/cpp0x/vt-55323.C: New.
+
+2012-11-13 Sriraman Tallam <tmsriram@google.com>
+
+ * g++.dg/mv4.C: Add require ifunc. Change error message.
+ * g++.dg/mv5.C: Add require ifunc.
+ * g++.dg/mv6.C: Add require ifunc.
+
+2012-11-13 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/55253
+ * gcc.dg/torture/pr55253.c: New test.
+ * gcc.dg/torture/pr55305.c: Likewise.
+
+2012-11-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/55142
+ * gcc.target/i386/pr55142-1.c: New file.
+ * gcc.target/i386/pr55142-2.c: Likewise.
+
+2012-11-13 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/54466
+ * g++.dg/cpp0x/alias-decl-26.C: New test file.
+
+2012-11-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/avx256-unaligned-load-2.c: Requre !ia32
+ instead of lp64.
+ * gcc.target/i386/avx256-unaligned-store-2.c: Likewise.
+ * gcc.target/i386/pr49715-2.c: Likewise.
+ * gcc.target/i386/retarg.c: Likewise. Scan both %rdi and %edi.
+
+2012-11-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/55281
+ * gcc.dg/vect/fast-math-pr55281.c: New test.
+ * g++.dg/opt/pr55281.C: New test.
+
+ PR rtl-optimization/54127
+ * gcc.dg/torture/pr54127.c: New test.
+
+2012-11-12 Steven Bosscher <steven@gcc.gnu.org>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/51447
+ * gcc.c-torture/execute/pr51447.c: New test.
+
+2012-11-12 Ian Bolton <ian.bolton@arm.com>
+
+ * gcc.target/aarch64/csinc-2.c: New test.
+
+2012-11-12 Ian Bolton <ian.bolton@arm.com>
+
+ * gcc.target/aarch64/cmn.c: New test.
+ * gcc.target/aarch64/adds.c: New test.
+ * gcc.target/aarch64/subs.c: New test.
+
+2012-11-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55272
+ * gfortran.dg/coarray_29_1.f90: New.
+ * gfortran.dg/coarray_29_2.f90: New.
+
+2012-11-12 Bin Cheng <bin.cheng@arm.com>
+
+ * gcc.dg/hoist-register-pressure-3.c: New test.
+
+2012-11-11 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * gcc.target/sh/sh4a-fprun.c: Add test_sinf and test_cosf noinline
+ wrappers around sinf and cosf.
+
+2012-11-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/55247
+ PR middle-end/55259
+ * gcc.target/i386/pr55247-2.c: New file.
+
+2012-11-11 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/55263
+ * g++.dg/pr55263.C: New test.
+
+2012-11-11 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/55238
+ * testsuite/gcc.dg/torture/pr55238.c: New test.
+
+2012-11-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * gcc.dg/torture/pr54920.c: Add "-fno-common" option on hppa*-*-hpux*.
+ * c-c++-common/torture/vector-subscript-1.c: Likewise.
+ * c-c++-common/torture/vector-subscript-2.c: Likewise.
+
+2012-11-10 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/tree-ssa/cunroll-1.c: Fix bogus testcase.
+
+2012-11-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/pr55247.c: Require maybe_x32 target. Add
+ -mno-sse -mno-mmx to dg-options. Reformat.
+
+2012-11-10 David Edelsohn <dje.gcc@gmail.com>
+
+ * c-c++-common/scal-to-vec2.c: Ignore non-standard ABI message.
+ * c-c++-common/vector-compare-1.c: Same.
+ * c-c++-common/vector-compare-2.c: Same.
+ * g++.dg/other/unused1.C: Skip on AIX.
+ * g++.dg/other/anon5.C: Allow Undefined to be capitalized. Ignore
+ extra message on AIX.
+
+2012-11-10 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/55247
+ * gcc.target/i386/pr55247.c: New test.
+
+2012-11-09 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.c-torture/execute/20121108-1.c: New test.
+
+2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ PR c++/54413
+ * g++.dg/cpp0x/gnu_fext-numeric-literals.C: New.
+ * g++.dg/cpp0x/std_fext-numeric-literals.C: New.
+ * g++.dg/cpp0x/gnu_fno-ext-numeric-literals.C: New.
+ * g++.dg/cpp0x/std_fno-ext-numeric-literals.C: New.
+
+2012-11-09 Siddhesh Poyarekar <siddhesh@redhat.com>
+
+ * gcc.dg/Warray-bounds-3.c (bar): Keep array access within
+ bounds for ABDAY, DAY, ABMON, MON, AM_PM.
+ * gcc.dg/vect/pr22506.c (foo): Reduce loop iterations to within
+ array bounds.
+ * gcc.dg/vect/pr34005.c (XdmcpUnwrap): Likewise.
+
+2012-11-09 Aldy Hernandez <aldyh@redhat.com>
+
+ * g++.dg/tm/pr47530-2.C: Adjust for uninstrumented code path.
+ * g++.dg/tm/pr47530.C: Same.
+
+2012-11-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/54859
+ * g++.dg/cpp0x/alias-decl-25.C: New.
+
+ * g++.dg/abi/abi-tag1.C: New.
+ * g++.dg/abi/abi-tag2.C: New.
+
+2012-11-09 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55154
+ * gcc.target/i386/pr55154.c: New test.
+
+2012-11-09 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55151
+ * gcc.dg/pr55151.c: Move ...
+ * gcc.target/i386/pr55151.c: ... here.
+
+2012-11-09 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/54472
+ * gcc.dg/pr54472.c: New test.
+
+2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/stack_check3.ad[sb]: New test.
+
+2012-11-08 Ian Lance Taylor <iant@google.com>
+
+ * go.test/go-test.exp (go-gc-tests): Handle runoutput test type
+ with arguments. Handle errorcheckoutput and rundir test types.
+
+2012-11-08 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR tree-optimization/55191
+ * gcc.dg/pr55191.c: New test.
+
+2012-11-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/54499
+ * g++.dg/debug/pr54499.C: New test.
+
+2012-11-08 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/48636
+ * gcc.dg/winline-3.c: Update.
+
+2012-11-08 Martin Jambor <mjambor@suse.cz>
+
+ * gfortran.dg/ipcp-array-1.f90: New test.
+
+2012-11-08 Florian Weimer <fweimer@redhat.com>
+
+ * g++.old-deja/g++.abi/cxa_vec.C: Fix typo in comment.
+
+2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55151
+ * gcc.dg/pr55151.c: Use ia32 instead of x86_64.
+
+2012-11-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/tree-ssa/cunroll-1.c: Scan cunrolli dump.
+
+2012-11-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.c-torture/compile/20121107-1.c: New test.
+
+2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55151
+ * gcc.dg/pr55151.c: Compile it only for x86_64.
+
+2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55122
+ * gcc.dg/pr55122.c: New test.
+
+2012-11-07 David Edelsohn <dje.gcc@gmail.com>
+
+ * gcc.target/powerpc/pr46728-[1234578].c: Tighten regex to ignore
+ word powerpc.
+ * gcc.target/powerpc/vsx-mass-1.c: Escape [ and ] in regex.
+ * gcc.target/powerpc/loop_align.c: Skip on AIX.
+ * gcc.target/powerpc/ppc-pow.c: Allow dot symbols in branch.
+ * gcc.target/powerpc/tfmode_off.c: Skip on AIX.
+
+2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/53063
+ * gcc.dg/warn-nsstring.c: Use -Wformat explicitly.
+
+2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/51294
+ * c-c++-common/pr51294.c: New.
+
+2012-11-07 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/53787
+ * gcc.dg/ipa/ipa-5.c: Adjust.
+ * gcc.dg/ipa/ipcp-agg-1.c: New test.
+ * gcc.dg/ipa/ipcp-agg-2.c: Likewise.
+ * gcc.dg/ipa/ipcp-agg-3.c: Likewise.
+ * gcc.dg/ipa/ipcp-agg-4.c: Likewise.
+ * gcc.dg/ipa/ipcp-agg-5.c: Likewise.
+ * gcc.dg/ipa/ipcp-agg-6.c: Likewise.
+ * gfortran.dg/pr48636.f90: Add -fno-ipa-cp.
+ * gfortran.dg/pr48636-2.f90: New test.
+ * gfortran.dg/pr53787.f90: Likewise.
+
+2012-11-07 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/55226
+ Revert:
+ 2012-10-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54922
+ * g++.dg/cpp0x/constexpr-union4.C: New.
+
+2012-11-07 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * gcc.target/aarch64/dwarf-cfa-reg.c: New test.
+
+2012-11-07 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/49220
+ * gcc.c-torture/compile/pr49220.c: New test.
+
+2012-11-07 Florian Weimer <fweimer@redhat.com>
+
+ * g++.dg/init/new40.C: New.
+
+2012-11-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/54693
+ * gcc.dg/guality/pr54693-2.c: New test.
+
+2012-11-06 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.target/aarch64/vect-fmaxv-fminv-compile.c: Add
+ -fno-vect-cost-model.
+
+2012-11-06 Aldy Hernandez <aldyh@redhat.com>
+
+ * c-c++-common/tm/trxn-expr-3.c: Adjust for uninstrumented code path.
+ * gcc.dg/tm/debug-1.c: Same.
+ * gcc.dg/tm/irrevocable-3.c: Same.
+ * gcc.dg/tm/irrevocable-4.c: Same.
+ * gcc.dg/tm/memopt-10.c: Same.
+ * gcc.dg/tm/memopt-11.c: Same.
+ * gcc.dg/tm/props-4.c: Same.
+ * gcc.dg/tm/wrap-3.c: Same.
+ * gcc.dg/tm/wrap-4.c: Same.
+
+2012-11-06 Andrew Pinski <apinski@cavium.com>
+
+ * g++.dg/abi/aarch64_guard1.C: Add -fno-section-anchors.
+
+2012-11-06 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/tree-ssa/loop-1.c: Make to look like a good unroling
+ candidate still.
+ * gcc.dg/tree-ssa/loop-23.c: Likewise.
+ * gcc.dg/tree-ssa/cunroll-1.c: Unrolling now happens early.
+ * gcc.dg/tree-prof/unroll-1.c: Remove confused dg-options.
+
+2012-11-06 David Edelsohn <dje.gcc@gmail.com>
+
+ * const-uniq-1.c: Expand regex to match AIX XCOFF labels.
+
+2012-11-06 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/41993
+ * gcc.dg/torture/pr41993.c: New test.
+
+2012-11-06 Jan Hubicka <jh@suse.cz>
+
+ * gcc.target/i386/l_fma_float_?.c: Update.
+ * gcc.target/i386/l_fma_double_?.c: Update.
+
+2012-11-06 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * gcc.target/sh/pr54089-8.c: New.
+ * gcc.target/sh/pr54089-9.c: New.
+
+2012-11-06 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
+
+ PR target/47440
+ * gcc.target/i386/avx-vzeroupper-5.c: Changed scan-assembler-times.
+ * gcc.target/i386/avx-vzeroupper-8.c: Likewise.
+ * gcc.target/i386/avx-vzeroupper-9.c: Likewise.
+ * gcc.target/i386/avx-vzeroupper-10.c: Likewise.
+ * gcc.target/i386/avx-vzeroupper-11.c: Likewise.
+ * gcc.target/i386/avx-vzeroupper-12.c: Likewise.
+ * gcc.target/i386/avx-vzeroupper-19.c: Likewis.
+ * gcc.target/i386/avx-vzeroupper-27.c: New.
+
+2012-11-06 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54917
+ * gfortran.dg/transfer_class_1.f90: New.
+ * gfortran.dg/transfer_class_2.f90: New.
+
+2012-11-05 Sriraman Tallam <tmsriram@google.com>
+
+ * testsuite/g++.dg/mv1.C: New test.
+ * testsuite/g++.dg/mv2.C: New test.
+ * testsuite/g++.dg/mv3.C: New test.
+ * testsuite/g++.dg/mv4.C: New test.
+ * testsuite/g++.dg/mv5.C: New test.
+ * testsuite/g++.dg/mv6.C: New test.
+
+2012-11-05 Hans-Peter Nilsson <hp@axis.com>
+
+ PR testsuite/55186
+ * gcc.dg/const-uniq-1.c (a): Increase length four times.
+
+2012-11-05 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * gcc.dg/torture/pr53922.c: Use -Wl,-undefined,dynamic_lookup on
+ darwin.
+
+2012-11-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * g++.dg/torture/20121105-1.C: New test.
+
+2012-11-05 Andreas Schwab <schwab@linux-m68k.org>
+
+ * gcc.dg/torture/fp-compare.c: New testcase.
+
+2012-11-05 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/const-1.c: Update.
+ * gcc.dg/pure-1.c: Update.
+
+2012-11-05 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55151
+ * gcc.dg/pr55151.c: New test.
+
+2012-11-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/54970
+ PR debug/54971
+ * gcc.dg/guality/pr54970.c: Use NOP instead of "NOP" in inline-asm.
+
+2012-11-05 Uros Bizjak <ubizjak@gmail.com>
+
+ PR testsuite/51128
+ * gcc.dg/torture/pr55018.c: Skip if -fno-fat-lto-objects was passed.
+
+2012-11-05 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/autopar/pr49960.c: Fix testcase.
+
+2012-11-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/tree-ssa/cunroll-9.c: Dump cunrolli details.
+ Fix scan-tree-dump-times directive.
+
+2012-11-04 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55199
+ * gfortran.dg/associate_12.f90: New.
+
+2012-11-03 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR target/54255
+ * lib/target-supports.exp (check_effective_target_masm_intel): New
+ proc.
+ * gcc.target/i386/asm-dialect-1.c: Use dg-require-effective-target
+ masm_intel.
+
+2012-11-03 H.J. Lu <hjl.tools@gmail.com>
+ Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * lib/target-supports.exp (check_effective_target_maybe_x32): New proc.
+ * gcc.target/i386/pr54457.c: Use dg-require-effective-target maybe_x32.
+ * gcc.target/i386/pr53249.c: Likewise.
+
+2012-11-03 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.target/mips/octeon-bbit-3.c: Change the second call to abort to
+ call abort1 so that cross jumping does not happen.
+
+2012-11-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * gcc.target/sh/pr51244-18.c: New.
+ * gcc.target/sh/pr51244-19.c: New.
+
+2012-11-03 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/octeon-exts-7.c (bar): Make sure the extraction of
+ b requires a 64-bit operation followed by a truncation.
+
+2012-11-02 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/tree-ssa/loop-38.c: Correct testcase.
+
+2012-11-02 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/pr48258-2.c: Simplfy the acceptance
+ conditions to verify the reduction code is vectorized.
+
+ * gcc.target/powerpc/pr46728-1.c: Pass -fno-ident to eliminate failures
+ in case 'pow', such as 'powerpc' is used in the compiler version name.
+ * gcc.target/powerpc/pr46728-2.c: Likewise.
+ * gcc.target/powerpc/pr46728-3.c: Likewise.
+ * gcc.target/powerpc/pr46728-4.c: Likewise.
+ * gcc.target/powerpc/pr46728-5.c: Likewise.
+ * gcc.target/powerpc/pr46728-7.c: Likewise.
+ * gcc.target/powerpc/pr46728-8.c: Likewise.
+ * gcc/testsuite/gcc.dg/pr46728-6.c: Likewise.
+
+2012-11-02 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/tree-ssa/loop-38.c: New testcase.
+
+2012-11-02 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/tree-ssa/cunroll-10.c: New testcase.
+ * gcc.dg/tree-ssa/cunroll-9.c: New testcase.
+
+2012-11-02 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/55130
+ * gcc.target/i386/pr55130.c: New test.
+
+2012-11-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/55147
+ * gcc.target/i386/pr55147.c: New test.
+
+2012-11-01 David Edelsohn <dje.gcc@gmail.com>
+
+ * gfortran.dg/default_format_1.f90: XFAIL on AIX.
+ * gfortran.dg/default_format_denormal_1.f90: Same.
+
+2012-11-01 Marc Glisse <marc.glisse@inria.fr>
+
+ PR middle-end/55001
+ * g++.dg/ext/vector19.C: Remove target restrictions.
+ * gcc.dg/fold-compare-7.c: New testcase.
+
+2012-11-01 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/55160
+ * gcc.target/sh/pr55160.c: New.
+
+2012-11-01 David Edelsohn <dje.gcc@gmail.com>
+
+ * gcc.target/powerpc/vsx-mass-1.c: Check for dot symbols in
+ scan-assembler regex.
+
+2012-11-01 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/55150
+ * gcc.dg/pr55150.c: Rename to gcc.dg/pr55150-1.c.
+ * gcc.dg/pr55150-2.c: New test.
+
+2012-11-01 Sharad Singhai <singhai@google.com>
+
+ * testsuite/gcc.dg/plugin/selfassign.c: Add opgtroup_flags initializer.
+ * testsuite/gcc.dg/plugin/one_time_plugin.c: Likewise.
+ * testsuite/g++.dg/plugin/selfassign.c: Likewise.
+ * testsuite/g++.dg/plugin/dumb_plugin.c: Likewise.
+
+2012-10-31 Dehao Chen <dehao@google.com>
+
+ * g++.dg/debug/dwarf2/block.C: New testcase.
+
+2012-10-31 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/pr44974.c: Add noinline.
+
+2012-10-31 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/53718
+ * gfortran.dg/class_54.f90: New.
+
+2012-10-31 Steven Bosscher <steven@gcc.gnu.org>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/55018
+ * gcc.dg/torture/pr55018.c: New test.
+
+2012-10-31 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54583
+ * g++.dg/ext/vla13.C: New.
+
+2012-10-31 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/55150
+ * gcc.dg/pr55150.c: New test.
+
+2012-10-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/55134
+ * gfortran.dg/associate_11.f90: New.
+
+2012-10-31 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/54955
+ * g++.dg/cpp0x/gen-attrs-48-2.C: New test.
+
+2012-10-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/19105
+ PR tree-optimization/21643
+ PR tree-optimization/46309
+ * gcc.dg/pr19105.c: New test.
+ * gcc.dg/pr21643.c: New test.
+ * gcc.dg/pr46309-2.c: New test.
+ * gcc.c-torture/execute/pr46309.c: New test.
+
+2012-10-31 Alan Modra <amodra@gmail.com>
+
+ * gcc.target/powerpc/dimode_off.c: New.
+ * gcc.target/powerpc/timode_off.c: New.
+ * gcc.target/powerpc/dfmode_off.c: New.
+ * gcc.target/powerpc/tfmode_off.c: New.
+
+2012-10-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/55093
+ * gcc.target/i386/pr55093.c: New file.
+
+2012-10-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/pr55116.c: Renamed to ...
+ * gcc.target/i386/pr55116-1.c: This.
+
+2012-10-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/pr55116-2.c: New file.
+
+2012-10-30 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/vect/slp-perm-2.c: Adjust.
+
+2012-10-30 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55111
+ * gcc.dg/torture/pr55111.c: New testcase.
+
+2012-10-30 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53988
+ * gcc.target/sh/pr53988.c: New.
+
+2012-10-30 Bin Cheng <bin.cheng@arm.com>
+
+ PR target/54989
+ * gcc.dg/hoist-register-pressure-1.c: Rename from
+ hoist-register-pressure.c. Add nonpic condition.
+ * gcc.dg/hoist-register-pressure-2.c: New testcase.
+
+2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/54930
+ * gcc.dg/Wreturn-local-addr.c: New.
+ * g++.dg/warn/Wno-return-local-addr.C: New.
+ * g++.dg/warn/Wreturn-local-addr.C: New.
+
+2012-10-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/55116
+ * gcc.target/i386/pr55116.c: New file.
+
+2012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/53066
+ * gcc.dg/Wshadow-4.c: New.
+ * gcc.dg/Wshadow-4.h: New.
+
+2012-10-29 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/54693
+ * gcc.dg/guality/pr54693.c: New.
+
+2012-10-29 Marc Glisse <marc.glisse@inria.fr>
+
+ PR middle-end/55027
+ * gcc.dg/pr55027.c: New testcase.
+
+2012-10-29 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/ipa/inline-6.c: New testcase.
+
+2012-10-29 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/55106
+ * g++.dg/pr55106.C: New.
+
+2012-10-29 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53695
+ * gcc.dg/torture/pr53695.c: New testcase.
+
+2012-10-28 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/ipa/inlinehint-3.c: New testcase.
+
+2012-10-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54958
+ * gfortran.dg/do_check_6.f90: New.
+
+2012-10-27 Dominique Dhumieres <dominiq@lps.ens.fr>
+ Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR target/54404
+ * g++.dg/other/darwin-cfstring1.C: Add -ftrack-macro-expansion=0
+ to dg-options.
+ * obj-c++.dg/strings/const-cfstring-2.mm: Likewise.
+
+2012-10-27 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/34283
+ * gcc.target/i386/pr34283.c: New test.
+
+2012-10-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/55081
+ * g++.dg/opt/pr55081.C: New test.
+
+ PR debug/54970
+ PR debug/54971
+ * gcc.dg/guality/pr54970.c: New test.
+
+2012-10-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54984
+ * g++.dg/template/new11.C: New.
+
+2012-10-26 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/54824
+ * gcc.dg/torture/pr54824.c: New testcase.
+
+2012-10-26 Alexander Ivchenko <alexander.ivchenko@intel.com>
+
+ * gcc.target/i386/fxsave-1.c: New.
+ * gcc.target/i386/fxsave64-1.c: Ditto.
+ * gcc.target/i386/fxrstor-1.c: Ditto.
+ * gcc.target/i386/fxrstor64-1.c: Ditto.
+ * gcc.target/i386/xsave-1.c: Ditto.
+ * gcc.target/i386/xsave64-1.c: Ditto.
+ * gcc.target/i386/xrstor-1.c: Ditto.
+ * gcc.target/i386/xrstor64-1.c: Ditto.
+ * gcc.target/i386/xsaveopt-1.c: Ditto.
+ * gcc.target/i386/xsaveopt64-1.c: Ditto.
+ * gcc.target/i386/sse-12.c: Add -mfxsr, -mxsaveopt.
+ * gcc.target/i386/sse-13.c: Ditto.
+ * gcc.target/i386/sse-14.c: Ditto.
+ * gcc.target/i386/sse-22.c: Ditto.
+ * gcc.target/i386/sse-23.c: Ditto.
+ * g++.dg/other/i386-2.C: Ditto.
+ * g++.dg/other/i386-3.C: Ditto.
+
+2012-10-25 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/tree-ssa/cunroll-4.c: Update; we now remove the loop
+ at ivcanon time.
+
+2012-10-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53761
+ * g++.dg/ext/transparent-union.C: New.
+
+2012-10-25 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/54427
+ * g++.dg/ext/vector19.C: New testcase.
+
+2012-10-25 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/54902
+ * g++.dg/torture/pr54902.C: New testcase.
+
+2012-10-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/34892
+ * g++.dg/template/crash114.C: New.
+
+2012-10-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/55049
+ * gcc.target/i386/pr55049-1.c: New test.
+
+2012-10-24 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55037
+ * gfortran.dg/class_dummy_4.f03: New.
+
+2012-10-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/55010
+ * gcc.dg/pr55010.c: New test.
+
+ PR debug/54828
+ * g++.dg/debug/pr54828.C: New test.
+
+2012-10-23 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ * gcc.dg/vect/vect-82_64.c: Adjust the dump file.
+ * gcc.dg/vect/vect-83_64.c: Likewise.
+
+2012-10-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54922
+ * g++.dg/cpp0x/constexpr-union4.C: New.
+
+2012-10-23 Jeff Law <law@redhat.com>
+
+ * gcc.c-torture/execute/pr54985.c: New test.
+
+2012-10-23 Paul Koning <ni1d@arrl.net>
+
+ PR debug/54508
+ * g++.dg/debug/dwarf2/pr54508.C: New.
+
+2012-10-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/54844
+ * g++.dg/template/sizeof14.C: New test.
+
+2012-10-23 Ian Bolton <ian.bolton@arm.com>
+ Jim MacArthur <jim.macarthur@arm.com>
+ Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
+ Marcus Shawcroft <marcus.shawcroft@arm.com>
+ Nigel Stephens <nigel.stephens@arm.com>
+ Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ Richard Earnshaw <rearnsha@arm.com>
+ Sofiane Naci <sofiane.naci@arm.com>
+ Stephen Thomas <stephen.thomas@arm.com>
+ Tejas Belagod <tejas.belagod@arm.com>
+ Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * lib/target-supports.exp
+ (check_profiling_available): Add AArch64.
+ (check_effective_target_vect_int): Likewise.
+ (check_effective_target_vect_shift): Likewise.
+ (check_effective_target_vect_float): Likewise.
+ (check_effective_target_vect_double): Likewise.
+ (check_effective_target_vect_widen_mult_qi_to_hi): Likewise.
+ (check_effective_target_vect_widen_mult_hi_to_si): Likewise.
+ (check_effective_target_vect_pack_trunc): Likewise.
+ (check_effective_target_vect_unpack): Likewise.
+ (check_effective_target_vect_hw_misalign): Likewise.
+ (check_effective_target_vect_short_mult): Likewise.
+ (check_effective_target_vect_int_mult): Likewise.
+ (check_effective_target_vect_stridedN): Likewise.
+ (check_effective_target_sync_int_long): Likewise.
+ (check_effective_target_sync_char_short): Likewise.
+ (check_vect_support_and_set_flags): Likewise.
+ (check_effective_target_aarch64_tiny): New.
+ (check_effective_target_aarch64_small): New.
+ (check_effective_target_aarch64_large): New.
+ * g++.dg/other/PR23205.C: Enable aarch64.
+ * g++.dg/other/pr23205-2.C: Likewise.
+ * g++.old-deja/g++.abi/ptrmem.C: Likewise.
+ * gcc.c-torture/execute/20101011-1.c: Likewise.
+ * gcc.dg/20020312-2.c: Likewise.
+ * gcc.dg/20040813-1.c: Likewise.
+ * gcc.dg/builtin-apply2.c: Likewise.
+ * gcc.dg/stack-usage-1.c: Likewise.
+
+2012-10-23 Ian Bolton <ian.bolton@arm.com>
+ Jim MacArthur <jim.macarthur@arm.com>
+ Chris Schlumberger-Socha <chris.schlumberger-socha@arm.com>
+ Marcus Shawcroft <marcus.shawcroft@arm.com>
+ Nigel Stephens <nigel.stephens@arm.com>
+ Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ Richard Earnshaw <rearnsha@arm.com>
+ Sofiane Naci <sofiane.naci@arm.com>
+ Stephen Thomas <stephen.thomas@arm.com>
+ Tejas Belagod <tejas.belagod@arm.com>
+ Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * gcc.target/aarch64/aapcs/aapcs64.exp: New file.
+ * gcc.target/aarch64/aapcs/abitest-2.h: New file.
+ * gcc.target/aarch64/aapcs/abitest-common.h: New file.
+ * gcc.target/aarch64/aapcs/abitest.S: New file.
+ * gcc.target/aarch64/aapcs/abitest.h: New file.
+ * gcc.target/aarch64/aapcs/func-ret-1.c: New file.
+ * gcc.target/aarch64/aapcs/func-ret-2.c: New file.
+ * gcc.target/aarch64/aapcs/func-ret-3.c: New file.
+ * gcc.target/aarch64/aapcs/func-ret-3.x: New file.
+ * gcc.target/aarch64/aapcs/func-ret-4.c: New file.
+ * gcc.target/aarch64/aapcs/func-ret-4.x: New file.
+ * gcc.target/aarch64/aapcs/ice_1.c: New file.
+ * gcc.target/aarch64/aapcs/ice_2.c: New file.
+ * gcc.target/aarch64/aapcs/ice_3.c: New file.
+ * gcc.target/aarch64/aapcs/ice_4.c: New file.
+ * gcc.target/aarch64/aapcs/ice_5.c: New file.
+ * gcc.target/aarch64/aapcs/macro-def.h: New file.
+ * gcc.target/aarch64/aapcs/test_1.c: New file.
+ * gcc.target/aarch64/aapcs/test_10.c: New file.
+ * gcc.target/aarch64/aapcs/test_11.c: New file.
+ * gcc.target/aarch64/aapcs/test_12.c: New file.
+ * gcc.target/aarch64/aapcs/test_13.c: New file.
+ * gcc.target/aarch64/aapcs/test_14.c: New file.
+ * gcc.target/aarch64/aapcs/test_15.c: New file.
+ * gcc.target/aarch64/aapcs/test_16.c: New file.
+ * gcc.target/aarch64/aapcs/test_17.c: New file.
+ * gcc.target/aarch64/aapcs/test_18.c: New file.
+ * gcc.target/aarch64/aapcs/test_19.c: New file.
+ * gcc.target/aarch64/aapcs/test_2.c: New file.
+ * gcc.target/aarch64/aapcs/test_20.c: New file.
+ * gcc.target/aarch64/aapcs/test_21.c: New file.
+ * gcc.target/aarch64/aapcs/test_22.c: New file.
+ * gcc.target/aarch64/aapcs/test_23.c: New file.
+ * gcc.target/aarch64/aapcs/test_24.c: New file.
+ * gcc.target/aarch64/aapcs/test_25.c: New file.
+ * gcc.target/aarch64/aapcs/test_26.c: New file.
+ * gcc.target/aarch64/aapcs/test_3.c: New file.
+ * gcc.target/aarch64/aapcs/test_4.c: New file.
+ * gcc.target/aarch64/aapcs/test_5.c: New file.
+ * gcc.target/aarch64/aapcs/test_6.c: New file.
+ * gcc.target/aarch64/aapcs/test_7.c: New file.
+ * gcc.target/aarch64/aapcs/test_8.c: New file.
+ * gcc.target/aarch64/aapcs/test_9.c: New file.
+ * gcc.target/aarch64/aapcs/test_align-1.c: New file.
+ * gcc.target/aarch64/aapcs/test_align-2.c: New file.
+ * gcc.target/aarch64/aapcs/test_align-3.c: New file.
+ * gcc.target/aarch64/aapcs/test_align-4.c: New file.
+ * gcc.target/aarch64/aapcs/test_complex.c: New file.
+ * gcc.target/aarch64/aapcs/test_int128.c: New file.
+ * gcc.target/aarch64/aapcs/test_quad_double.c: New file.
+ * gcc.target/aarch64/aapcs/type-def.h: New file.
+ * gcc.target/aarch64/aapcs/va_arg-1.c: New file.
+ * gcc.target/aarch64/aapcs/va_arg-10.c: New file.
+ * gcc.target/aarch64/aapcs/va_arg-11.c: New file.
+ * gcc.target/aarch64/aapcs/va_arg-12.c: New file.
+ * gcc.target/aarch64/aapcs/va_arg-2.c: New file.
+ * gcc.target/aarch64/aapcs/va_arg-3.c: New file.
+ * gcc.target/aarch64/aapcs/va_arg-4.c: New file.
+ * gcc.target/aarch64/aapcs/va_arg-5.c: New file.
+ * gcc.target/aarch64/aapcs/va_arg-6.c: New file.
+ * gcc.target/aarch64/aapcs/va_arg-7.c: New file.
+ * gcc.target/aarch64/aapcs/va_arg-8.c: New file.
+ * gcc.target/aarch64/aapcs/va_arg-9.c: New file.
+ * gcc.target/aarch64/aapcs/validate_memory.h: New file.
+ * gcc.target/aarch64/aarch64.exp: New file.
+ * gcc.target/aarch64/adc-1.c: New file.
+ * gcc.target/aarch64/adc-2.c: New file.
+ * gcc.target/aarch64/asm-1.c: New file.
+ * gcc.target/aarch64/clrsb.c: New file.
+ * gcc.target/aarch64/clz.c: New file.
+ * gcc.target/aarch64/ctz.c: New file.
+ * gcc.target/aarch64/csinc-1.c: New file.
+ * gcc.target/aarch64/csinv-1.c: New file.
+ * gcc.target/aarch64/csneg-1.c: New file.
+ * gcc.target/aarch64/extend.c: New file.
+ * gcc.target/aarch64/fcvt.x: New file.
+ * gcc.target/aarch64/fcvt_double_int.c: New file.
+ * gcc.target/aarch64/fcvt_double_long.c: New file.
+ * gcc.target/aarch64/fcvt_double_uint.c: New file.
+ * gcc.target/aarch64/fcvt_double_ulong.c: New file.
+ * gcc.target/aarch64/fcvt_float_int.c: New file.
+ * gcc.target/aarch64/fcvt_float_long.c: New file.
+ * gcc.target/aarch64/fcvt_float_uint.c: New file.
+ * gcc.target/aarch64/fcvt_float_ulong.c: New file.
+ * gcc.target/aarch64/ffs.c: New file.
+ * gcc.target/aarch64/fmadd.c: New file.
+ * gcc.target/aarch64/fnmadd-fastmath.c: New file.
+ * gcc.target/aarch64/frint.x: New file.
+ * gcc.target/aarch64/frint_double.c: New file.
+ * gcc.target/aarch64/frint_float.c: New file.
+ * gcc.target/aarch64/index.c: New file.
+ * gcc.target/aarch64/mneg-1.c: New file.
+ * gcc.target/aarch64/mneg-2.c: New file.
+ * gcc.target/aarch64/mneg-3.c: New file.
+ * gcc.target/aarch64/mnegl-1.c: New file.
+ * gcc.target/aarch64/mnegl-2.c: New file.
+ * gcc.target/aarch64/narrow_high-intrinsics.c: New file.
+ * gcc.target/aarch64/pic-constantpool1.c: New file.
+ * gcc.target/aarch64/pic-symrefplus.c: New file.
+ * gcc.target/aarch64/predefine_large.c: New file.
+ * gcc.target/aarch64/predefine_small.c: New file.
+ * gcc.target/aarch64/predefine_tiny.c: New file.
+ * gcc.target/aarch64/reload-valid-spoff.c: New file.
+ * gcc.target/aarch64/scalar_intrinsics.c: New file.
+ * gcc.target/aarch64/table-intrinsics.c: New file.
+ * gcc.target/aarch64/tst-1.c: New file.
+ * gcc.target/aarch64/vect-abs-compile.c: New file.
+ * gcc.target/aarch64/vect-abs.c: New file.
+ * gcc.target/aarch64/vect-abs.x: New file.
+ * gcc.target/aarch64/vect-compile.c: New file.
+ * gcc.target/aarch64/vect-faddv-compile.c: New file.
+ * gcc.target/aarch64/vect-faddv.c: New file.
+ * gcc.target/aarch64/vect-faddv.x: New file.
+ * gcc.target/aarch64/vect-fmax-fmin-compile.c: New file.
+ * gcc.target/aarch64/vect-fmax-fmin.c: New file.
+ * gcc.target/aarch64/vect-fmax-fmin.x: New file.
+ * gcc.target/aarch64/vect-fmaxv-fminv-compile.c: New file.
+ * gcc.target/aarch64/vect-fmaxv-fminv.x: New file.
+ * gcc.target/aarch64/vect-fp-compile.c: New file.
+ * gcc.target/aarch64/vect-fp.c: New file.
+ * gcc.target/aarch64/vect-fp.x: New file.
+ * gcc.target/aarch64/vect-mull-compile.c: New file.
+ * gcc.target/aarch64/vect-mull.c: New file.
+ * gcc.target/aarch64/vect-mull.x: New file.
+ * gcc.target/aarch64/vect.c: New file.
+ * gcc.target/aarch64/vect.x: New file.
+ * gcc.target/aarch64/vector_intrinsics.c: New file.
+ * gcc.target/aarch64/vfp-1.c: New file.
+ * gcc.target/aarch64/volatile-bitfields-1.c: New file.
+ * gcc.target/aarch64/volatile-bitfields-2.c: New file.
+ * gcc.target/aarch64/volatile-bitfields-3.c: New file.
+ * g++.dg/abi/aarch64_guard1.C: New file.
+
+2012-10-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/54988
+ * c-c++-common/pr54988.c: New test.
+
+2012-10-23 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/tree-prof/peel-1.c: New testcase.
+
+2012-10-23 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR gcc/52945
+ * gcc.dg/lto/pr52634_0.c: Skip the test on Darwin.
+
+2012-10-23 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.dg/c99-predef-1.c: New test.
+ * gcc.dg/cpp/cmdlne-dU-1.c, gcc.dg/cpp/cmdlne-dU-2.c,
+ gcc.dg/cpp/cmdlne-dU-3.c, gcc.dg/cpp/cmdlne-dU-4.c,
+ gcc.dg/cpp/cmdlne-dU-5.c, gcc.dg/cpp/cmdlne-dU-6.c,
+ gcc.dg/cpp/cmdlne-dU-7.c, gcc.dg/cpp/cmdlne-dU-8.c,
+ gcc.dg/cpp/cmdlne-dU-9.c, gcc.dg/cpp/cmdlne-dU-10.c,
+ gcc.dg/cpp/cmdlne-dU-11.c, gcc.dg/cpp/cmdlne-dU-12.c,
+ gcc.dg/cpp/cmdlne-dU-13.c, gcc.dg/cpp/cmdlne-dU-14.c,
+ gcc.dg/cpp/cmdlne-dU-15.c, gcc.dg/cpp/cmdlne-dU-16.c,
+ gcc.dg/cpp/cmdlne-dU-17.c, gcc.dg/cpp/cmdlne-dU-18.c,
+ gcc.dg/cpp/cmdlne-dU-19.c, gcc.dg/cpp/cmdlne-dU-20.c,
+ gcc.dg/cpp/cmdlne-dU-21.c, gcc.dg/cpp/cmdlne-dU-22.c,
+ gcc.dg/cpp/mi5.c, gcc.dg/cpp/multiline.c: Add -nostdinc to dg-options.
+
+2012-10-23 Marc Glisse <marc.glisse@inria.fr>
+
+ * gcc.dg/tree-ssa/foldconst-6.c: New testcase.
+
+2012-10-23 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/54937
+ * gcc.c-torture/execute/pr54937.c: New testcase.
+ * gcc.dg/tree-ssa/cunroll-2.c: Update.
+
+2012-10-23 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/54967
+ * gfortran.dg/pr54967.f90: New testcase.
+
+2012-10-23 Terry Guo <terry.guo@arm.com>
+
+ PR target/55019
+ * gcc.dg/pr55019.c: New.
+
+2012-10-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/55008
+ * gcc.dg/tree-ssa/pr55008.c: New test.
+
+2012-10-22 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/55011
+ * gcc.dg/torture/pr55011.c: New testcase.
+
+2012-10-22 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * gcc.target/arm/pr40457-1.c: Adjust expected output.
+ * gcc.target/arm/pr40457-2.c: Likewise.
+ * gcc.target/arm/pr40457-3.c: Likewise.
+
+2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/limited_with4.ads: New test.
+ * gnat.dg/specs/limited_with4_pkg.ads: New helper.
+
+2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/modular4.adb: New test.
+ * gnat.dg/modular4_pkg.ads: New helper.
+
+2012-10-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/atomic1.ads: XFAIL on MIPS.
+ * gnat.dg/specs/addr1.ads: Likewise.
+
+2012-10-21 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * gcc.dg/webizer.c (main): Add missing exit call.
+
+2012-10-21 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/54465
+ * gfortran.dg/wextra_1.f: New test.
+
+2012-10-20 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/tree-prof/unroll-1.c: New testcase.
+
+2012-10-19 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54224
+ * gfortran.dg/warn_unused_function.f90: New.
+
+2012-10-19 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * lib/target-supports.exp
+ (check_effective_target_arm_prefer_ldrd_strd): New procedure.
+
+2012-10-19 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54981
+ * gcc.dg/pr54981.c: New testcase.
+
+2012-10-19 Zhenqiang Chen <zhenqiang.chen@linaro.org>
+
+ PR target/54892
+ * gcc.target/arm/pr54892.c: New.
+
+2012-10-19 Bin Cheng <bin.cheng@arm.com>
+
+ * testsuite/gcc.dg/hoist-register-pressure.c: New test.
+
+2012-10-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54501
+ * g++.dg/init/array30.C: New.
+ * g++.dg/init/array31.C: Likewise.
+
+2012-10-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54884
+ * gfortran.dg/public_private_module_7.f90: New.
+
+2012-10-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/29633
+ * g++.dg/template/pr29633.C: New.
+
+2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/loop_optimization13.ad[sb]: New test.
+ * gnat.dg/loop_optimization13_pkg.ads: New helper.
+
+2012-10-18 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * gcc.target/arm/neon/vfmaQf32.c: New testcase.
+ * gcc.target/arm/neon/vfmaf32.c: Likewise.
+ * gcc.target/arm/neon/vfmsQf32.c: Likewise.
+ * gcc.target/arm/neon/vfmsf32.c: Likewise.
+
+2012-10-18 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * gcc.target/arm/ftest-armv8a-arm.c: New testcase.
+ * gcc.target/arm/ftest-armv8a-thumb.c: Likewise.
+ * gcc.target/arm/ftest-support-arm.h (feature_matrix): Add ARMv8-A row.
+ * gcc.target/arm/ftest-support-thumb.h (feature_matrix): Likewise.
+ * gcc.target/arm/ftest-support.h (architecture): Add ARMv8-A.
+ * lib/target-supports.exp: Add ARMv8-A architecture expectation.
+
+2012-10-16 Jan Hubicka <jh@suse.cz>
+
+ * gcc.target/i386/l_fma_float_?.c: Update.
+ * gcc.target/i386/l_fma_double_?.c: Update.
+ * gfortran.dg/do_1.f90: XFAIL
+ * gcc.dg/tree-ssa/cunroll-1.c: New testcase.
+ * gcc.dg/tree-ssa/cunroll-2.c: New testcase.
+ * gcc.dg/tree-ssa/cunroll-3.c: New testcase.
+ * gcc.dg/tree-ssa/cunroll-4.c: New testcase.
+ * gcc.dg/tree-ssa/cunroll-5.c: New testcase.
+ * gcc.dg/tree-ssa/ldist-17.c: Block cunroll to make testcase still
+ valid.
+
+2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/53063
+ PR c/40989
+ * gcc.dg/Wstrict-overflow-24.c: New.
+
+2012-10-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50981
+ PR fortran/54618
+ * gfortran.dg/class_optional_1.f90: New.
+ * gfortran.dg/class_optional_2.f90: New.
+
+2012-10-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/54796
+ * gcc.dg/guality/pr54796.c: New test.
+
+ PR tree-optimization/54889
+ * gfortran.dg/pr54889.f90: New test.
+
+2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * g++.dg/other/dump-ada-spec-2.C: New test.
+
+2012-10-16 Easwaran Raman <eraman@google.com>
+
+ * gcc.dg/tree-prof/switch-case-1.c: New test case.
+ * gcc.dg/tree-prof/switch-case-2.c: New test case.
+
+2012-10-16 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * gcc.dg/torture/stackalign/builtin-apply-2.c,
+ gcc.dg/builtin-apply2.c: Correct STACK_ARGUMENTS_SIZE for MMIX.
+
+2012-10-15 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54925
+ * gcc.c-torture/compile/pr54925.c: New.
+
+2012-10-15 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * gcc.target/sh/pr51244-17.c: New.
+
+2012-10-15 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54760
+ * gcc.target/sh/pr54760-2.c: Add long long and unsigned long long test
+ functions.
+ * gcc.target/sh/pr54760-4.c: New.
+
+2012-10-15 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/34777
+ * gcc.target/sh/torture/sh-torture.exp: New.
+ * gcc.target/sh/torture/pr34777.c: New.
+
+2012-10-15 Matthias Klose <doko@ubuntu.com>
+
+ * lib/target-supports.exp (check_profiling_available): Match
+ arm*-*-linux-* for ARM Linux/GNU.
+ * g++.dg/torture/predcom-1.C: Match arm*-*-linux-* for ARM Linux/GNU.
+ * gfortran.dg/enum_10.f90: Likewise.
+ * gfortran.dg/enum_9.f90: Likewise.
+ * gcc.target/arm/synchronize.c: Likewise.
+ * g++.old-deja/g++.jason/enum6.C: Likewise.
+ * g++.old-deja/g++.other/enum4.C: Likewise.
+ * g++.old-deja/g++.law/enum9.C: Likewise.
+
+2012-10-15 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * g++.dg/tls/thread_local-cse.C: Move dg-do line.
+ * g++.dg/tls/thread_local-wrap4.C: Require fpic.
+
+2012-10-15 Alexandre Oliva <aoliva@redhat.com>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/17805
+ * g++.dg/overload/operator6.C: New.
+
+2012-10-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50080 (again)
+ * g++.dg/parse/tmpl-outside2.C: Tweak, error in C++98.
+ * g++.dg/parse/tmpl-outside1.C: Likewise.
+ * g++.dg/template/qualttp18.C: Likewise.
+ * g++.old-deja/g++.pt/memtemp87.C: Likewise.
+ * g++.old-deja/g++.pt/overload13.C: Likewise.
+
+2012-10-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/avx256-unaligned-load-1.c: Update asm scan patterns.
+ * gcc.target/i386/avx256-unaligned-load-2.c: Ditto.
+ * gcc.target/i386/avx256-unaligned-load-3.c: Ditto.
+ * gcc.target/i386/avx256-unaligned-load-4.c: Ditto.
+ * gcc.target/i386/avx256-unaligned-store-1.c: Ditto.
+ * gcc.target/i386/avx256-unaligned-store-2.c: Ditto.
+ * gcc.target/i386/avx256-unaligned-store-3.c: Ditto.
+ * gcc.target/i386/avx256-unaligned-store-4.c: Ditto.
+
+2012-10-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50080
+ * g++.dg/parse/tmpl-outside2.C: New.
+ * g++.dg/parse/tmpl-outside1.C: Adjust.
+ * g++.dg/template/qualttp18.C: Likewise.
+ * g++.old-deja/g++.pt/memtemp87.C: Likewise.
+ * g++.old-deja/g++.pt/overload13.C: Likewise.
+
+2012-10-15 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/54915
+ * gcc.dg/tree-ssa/pr54915.c: New testcase.
+
+2012-10-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54920
+ * gcc.dg/torture/pr54920.c: New testcase.
+
+2012-10-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/unchecked_convert9.ad[sb]: New test.
+
+2012-10-13 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/tls/thread_local7g.C: Require tls_native.
+
+2012-10-14 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/inh-ctor1.C: New.
+ * g++.dg/cpp0x/inh-ctor2.C: New.
+ * g++.dg/cpp0x/inh-ctor3.C: New.
+ * g++.dg/cpp0x/inh-ctor4.C: New.
+ * g++.dg/cpp0x/inh-ctor5.C: New.
+ * g++.dg/cpp0x/inh-ctor6.C: New.
+ * g++.dg/cpp0x/inh-ctor7.C: New.
+ * g++.dg/cpp0x/inh-ctor8.C: New.
+ * g++.dg/cpp0x/inh-ctor9.C: New.
+ * g++.dg/cpp0x/inh-ctor10.C: New.
+ * g++.dg/cpp0x/inh-ctor11.C: New.
+ * g++.dg/cpp0x/inh-ctor12.C: New.
+ * g++.dg/cpp0x/inh-ctor13.C: New.
+
+2012-10-14 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR rtl-optimization/54919
+ * gcc.dg/pr54919.c: New testcase.
+
+2012-10-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53581
+ * g++.dg/template/crash113.C: New.
+
+2012-10-14 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/unroll_5.c: New testcase.
+
+2012-10-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52643
+ * g++.dg/opt/pr52643.C: New.
+
+2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54602
+ * gcc.target/sh/pr54602-1.c: New.
+ * gcc.target/sh/pr54602-2.c: New.
+ * gcc.target/sh/pr54602-3.c: New.
+ * gcc.target/sh/pr54602-4.c: New.
+
+2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54680
+ * gcc.target/sh/pr54680.c: New.
+
+2012-10-12 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/webizer.c: New testcase.
+
+2012-10-12 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.dg/vect/pr48765.c: Skip for conflicting options, don't
+ specify -m64.
+
+ * gcc.target/arm/div64-unwinding.c: Skip, don't xfail, for GNU/Linux.
+
+ * lib/target-supports.exp (check_effective_target_arm_hard_vfp_ok):
+ Return 0 if already specifying -mfloat-abi other than hard.
+
+2012-10-12 Joe Seymour <jseymour@codesourcery.com>
+
+ * gcc.dg/pr53060.c: Prune irrelevant warning.
+
+2012-10-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/54381
+ * c-c++-common/Wsizeof-pointer-memaccess1.c: New test.
+ * c-c++-common/Wsizeof-pointer-memaccess2.c: New test.
+ * gcc.dg/Wsizeof-pointer-memaccess1.c: New test.
+ * gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Test also stpncpy.
+ Adjust expected wording of warnings for *cmp* builtins.
+ * g++.dg/torture/Wsizeof-pointer-memaccess1.C: Likewise.
+ * g++.dg/torture/Wsizeof-pointer-memaccess2.C: Likewise.
+
+2012-10-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/24449
+ * g++.dg/parse/friend-main.C: New.
+
+2012-10-12 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/53055
+ * g++.dg/pr53055.C: New testcase.
+
+2012-10-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52744
+ * g++.dg/cpp0x/pr52744.C: New.
+
+2012-10-12 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/40453
+ * gfortran.dg/dummy_procedure_9.f90: New.
+
+2012-10-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/54894
+ * gcc.dg/torture/pr54894.c: New testcase.
+
+2012-10-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * gcc.target/sh/pr51244-13.c: New.
+ * gcc.target/sh/pr51244-14.c: New.
+ * gcc.target/sh/pr51244-15.c: New.
+ * gcc.target/sh/pr51244-16.c: New.
+
+2012-10-11 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51878
+ * g++.dg/cpp0x/decltype45.C: New.
+
+2012-10-11 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54784
+ * gfortran.dg/class_allocate_13.f90: New.
+
+2012-10-11 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/ext/visibility/pragma-override1.C: Fix target markup.
+ * g++.dg/ext/visibility/pragma-override2.C: Fix target markup.
+
+ * g++.dg/gomp/tls-5.C: Require tls_native.
+ * g++.dg/tls/thread_local7.C: Require tls_native.
+ * g++.dg/tls/static2.C: New.
+
+2012-10-11 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/36107
+ * g++.dg/ext/weak5.C: New.
+
+2012-10-11 Marc Glisse <marc.glisse@inria.fr>
+
+ PR testsuite/54868
+ * gcc.dg/tree-ssa/forwprop-22.c: Move ...
+ * gcc.dg/vect/nodump-forwprop-22.c: ... here. Adapt options.
+
+2012-10-11 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/43765
+ * g++.dg/parse/pr43765.C: New.
+
+2012-10-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * obj-c++.dg/tls/init-2.mm: Tweak errors.
+
+2012-10-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/43663
+ * g++.dg/init/bitfield3.C: New.
+
+2012-10-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/mips32-dsp-accinit-2.c: Fix test description.
+
+2012-10-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54877
+ * gcc.dg/torture/pr54877.c: New test.
+
+2012-10-10 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
+
+ PR testsuite/53397
+ * gcc.dg/pr53397-1.c: Moved to gcc.target/i386.
+ * gcc.target/i386/pr53397-1.c: Add -msse2 to dg-options
+ and remove target info from dg-do compile.
+ * gcc.dg/pr53397-2.c: Moved to gcc.target/i386.
+ * gcc.target/i386/pr53397-2.c: Add -msse2 to dg-options
+ and remove target info from dg-do compile.
+
+2012-10-10 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * gcc.dg/pr54782.c: Require target with pthread support.
+
+2012-10-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53122
+ * g++.dg/cpp0x/auto35.C: New.
+
+2012-10-10 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/53540 - using fails to be equivalent to typedef
+ * g++.dg/cpp0x/alias-decl-24.C: New test.
+
+2012-10-10 Dodji Seketeli <dodji@redhat.com>
+
+ * g++.dg/cpp0x/gen-attrs-8.C: Update the test to reflect the fact
+ that c++11 attributes to types are ignored for now.
+ * g++.dg/cpp0x/gen-attrs-36.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-37.C: Likewise
+
+2012-10-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53741
+ * g++.dg/cpp0x/lambda/lambda-ice9.C: New.
+
+2012-10-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50478
+ * g++.dg/cpp0x/initlist67.C: New.
+
+2012-10-10 Dehao Chen <dehao@google.com>
+
+ * g++.dg/debug/dwarf2/deallocator.C: Cover more deallocator cases.
+
+2012-10-10 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/52480
+ * gcc.target/sh/sh4a-bitmovua.c: Compact skip-if list.
+ Add runtime tests.
+
+2012-10-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53307
+ * g++.dg/cpp0x/decltype44.C: New.
+
+2012-10-09 Steve Ellcey <sellcey@mips.com>
+
+ * gcc.target/ext_ins.c: Modify f2 to aviod uninitialized data.
+
+2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53763
+ * g++.dg/cpp0x/decltype43.C: New.
+
+2012-10-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
+
+ PR middle-end/53397
+ * gcc.dg/pr53397-1.c: New test case.
+ * gcc.dg/pr53397-2.c: New test case.
+
+2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54194
+ * g++.dg/warn/Wparentheses-26.C: Adjust.
+ * g++.dg/warn/Wparentheses-27.C: New.
+
+2012-10-09 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/54427
+ * c-c++-common/vector-scalar.c: New testcase.
+ * g++.dg/ext/vector18.C: New testcase.
+ * g++.dg/ext/vector5.C: This is not an error anymore.
+ * gcc.dg/init-vec-1.c: Move ...
+ * c-c++-common/init-vec-1.c: ... here. Adapt error message.
+ * gcc.c-torture/execute/vector-shift1.c: Move ...
+ * c-c++-common/torture/vector-shift1.c: ... here.
+ * gcc.dg/scal-to-vec1.c: Move ...
+ * c-c++-common/scal-to-vec1.c: ... here. Avoid narrowing for
+ C++11. Adapt error messages.
+ * gcc.dg/convert-vec-1.c: Move ...
+ * c-c++-common/convert-vec-1.c: ... here.
+ * gcc.dg/scal-to-vec2.c: Move ...
+ * c-c++-common/scal-to-vec2.c: ... here.
+
+2012-10-08 Marc Glisse <marc.glisse@inria.fr>
+
+ PR target/54400
+ * gcc.target/i386/pr54400.c: New testcase.
+
+2012-10-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/54858
+ * g++.dg/template/pr54858.C: New test.
+
+2012-10-08 Marek Polacek <polacek@redhat.com>
+
+ PR debug/54831
+ * g++.dg/debug/pr54831.C: New test.
+
+2012-10-08 Dehao Chen <dehao@google.com>
+
+ * g++.dg/predict-loop-exit-1.C: New.
+ * g++.dg/predict-loop-exit-2.C: New.
+ * g++.dg/predict-loop-exit-3.C: New.
+
+2012-10-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.target/i386/pr54445-1.c: Require tls_runtime, add tls options.
+
+2012-10-08 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/gomp/tls-5.C: New.
+ * g++.dg/gomp/tls-wrap1.C: New.
+ * g++.dg/gomp/tls-wrap2.C: New.
+ * g++.dg/gomp/tls-wrap3.C: New.
+ * g++.dg/gomp/tls-wrap4.C: New.
+ * g++.dg/gomp/tls-wrapper-cse.C: New.
+ * g++.dg/tls/thread_local-cse.C: New.
+ * g++.dg/tls/thread_local-order1.C: New.
+ * g++.dg/tls/thread_local-order2.C: New.
+ * g++.dg/tls/thread_local-wrap1.C: New.
+ * g++.dg/tls/thread_local-wrap2.C: New.
+ * g++.dg/tls/thread_local-wrap3.C: New.
+ * g++.dg/tls/thread_local-wrap4.C: New.
+ * g++.dg/tls/thread_local2g.C: New.
+ * g++.dg/tls/thread_local3g.C: New.
+ * g++.dg/tls/thread_local4g.C: New.
+ * g++.dg/tls/thread_local5g.C: New.
+ * g++.dg/tls/thread_local6g.C: New.
+ * g++.dg/tls/thread_local7g.C: New.
+
+ * g++.dg/tls/thread_local3.C: New.
+ * g++.dg/tls/thread_local4.C: New.
+ * g++.dg/tls/thread_local5.C: New.
+ * g++.dg/tls/thread_local6.C: New.
+
+ * g++.dg/tls/init-2.C: Tweak errors.
+ * g++.dg/tls/thread_local1.C: New.
+ * g++.dg/tls/thread_local2.C: New.
+ * g++.dg/tls/thread_local7.C: New.
+
+2012-10-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/54866
+ * gcc.target/i386/long-double-80-7.c: Add -msse2 to dg-options.
+
+2012-10-08 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54685
+ * gcc.target/sh/pr54685.c: New.
+
+2012-10-08 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/53528 C++11 attribute support
+ * g++.dg/cpp0x/gen-attrs-1.C: New test.
+ * g++.dg/cpp0x/gen-attrs-2.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-2-1.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-3.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-4.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-5.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-6.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-7.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-8.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-9.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-10.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-11.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-12.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-13.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-14.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-15.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-16.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-17.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-18.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-19.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-20.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-21.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-22.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-23.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-24.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-25.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-26.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-27.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-28.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-29.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-30.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-31.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-32.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-33.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-34.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-35.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-36.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-36-1.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-37.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-38.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-39.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-39-1.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-40.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-41.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-42.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-43.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-44.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-45.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-46.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-47.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-47-1.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-48.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-49.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-50.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-51.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-52.C: Likewise.
+ * g++.dg/cpp0x/gen-attrs-53.C: Likewise.
+
+2012-10-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/tree-ssa/slsr-30.c: Use correct cleanup directive.
+ * gcc.dg/tree-ssa/attr-hotcold-2.c: Likewise.
+ * gcc.dg/tree-ssa/ldist-21.c: Add missing cleanup directive.
+
+2012-10-08 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54760
+ * gcc.target/sh/pr54760-2.c: New.
+ * gcc.target/sh/pr54760-3.c: New.
+
+2012-10-07 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51422
+ * g++.dg/cpp0x/lambda/lambda-ice8.C: New.
+
+2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * gcc.target/mips/madd-9.c: Force code to be tuned for the 4kc
+ and test that the accumulator is initialized using MULT.
+ * gcc.target/mips/mips32-dsp-accinit-1.c: New test.
+ * gcc.target/mips/mips32-dsp-accinit-2.c: Likewise.
+
+2012-10-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52764
+ * g++.dg/cpp0x/stdint.C: New.
+
+2012-10-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54249
+ * g++.dg/cpp0x/stddef.C: New.
+
+2012-10-06 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54832
+ * gfortran.dg/typebound_operator_17.f90: New.
+
+2012-10-06 Jan Hubicka <jh@suse.cz>
+
+ PR lto/53831
+ PR lto/54776
+ * g++.dg/lto/v1-plugin-api-not-supported.C: New testcase.
+
+2012-10-06 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/lto/resolutions_0.c: New testcase.
+
+2012-10-06 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/45521
+ * gfortran.dg/generic_25.f90: New.
+ * gfortran.dg/generic_26.f90: New.
+ * gfortran.dg/generic_27.f90: New.
+
+2012-10-06 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54760
+ * gcc.target/sh/pr54760-1.c: New.
+
+2012-10-05 Jakub Jelinek <jakub@redhat.com>
+
+ * g++.dg/torture/Wsizeof-pointer-memaccess1.C: New test.
+ * g++.dg/torture/Wsizeof-pointer-memaccess2.C: New test.
+ * g++.dg/warn/Wsign-compare-5.C: New test.
+ * g++.dg/warn/Wsizeof-pointer-memaccess-1.C: New test.
+ * g++.dg/warn/Wnull-conversion-1.C: For c++11 add dg-error.
+ * g++.dg/ext/builtin30.C: New test.
+ * g++.dg/ext/vla12.C: New test.
+ * gcc.dg/builtins-85.c: New test.
+
+ PR debug/54519
+ * gcc.dg/guality/pr54519-1.c: New test.
+ * gcc.dg/guality/pr54519-2.c: New test.
+ * gcc.dg/guality/pr54519-3.c: New test.
+ * gcc.dg/guality/pr54519-4.c: New test.
+ * gcc.dg/guality/pr54519-5.c: New test.
+ * gcc.dg/guality/pr54519-6.c: New test.
+
+2012-10-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50893
+ * g++.dg/cpp0x/defaulted38.C: New.
+
+2012-10-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/33763
+ * c-c++-common/pr33763.c: New test.
+
+ PR tree-optimization/54810
+ * gcc.dg/tree-ssa/vrp85.c: New test.
+
+2012-10-04 David Edelsohn <dje.gcc@gmail.com>
+
+ * gcc.dg/ucnid-7.c: Skip on AIX.
+ * gcc.dg/ucnid-8.c: Same.
+ * gcc.dg/ucnid-10.c: Same.
+ * gcc.dg/ucnid-13.c: Same.
+ * gcc.dg/attr-alias-3.c: Same.
+ * gcc.dg/attr-alias-5.c: Same.
+ * gcc.dg/torture/pr51106-2.c: Same.
+ * gcc.dg/vmx/3b-13.c: Use valid splat index.
+
+2012-10-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52233
+ * g++.dg/cpp0x/alias-decl-23.C: New.
+
+2012-10-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53403
+ * g++.dg/template/friend53.C: New.
+
+2012-10-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lib/gcc-dg.exp (cleanup-ada-spec): New procedure.
+ * lib/scanasm.exp (get_ada_spec_filename): Likewise.
+ (scan-ada-spec): Likewise.
+ (scan-ada-spec-not): Likewise.
+ * gcc.dg/dump-ada-spec-1.c: New test.
+ * g++.dg/other/dump-ada-spec-1.C: Likewise.
+
+2012-10-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/lto/20120723_0.c: Skip on SPARC 32-bit.
+
+2012-10-04 Florian Weimer <fweimer@redhat.com>
+
+ * c-c++-common/cpp/diagnostic-pragma-1.c: New testcase.
+
+2012-10-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54323
+ * g++.dg/cpp0x/pr54323.C: New.
+
+2012-10-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/54735
+ * g++.dg/torture/pr54735.C: New testcase.
+
+2012-10-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/54739
+ * gcc.dg/lower-subreg-1.c: Also skip on SPARC.
+
+2012-10-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * gcc.target/sh/pr51244-12.c: New.
+
+2012-10-03 Dehao Chen <dehao@google.com>
+
+ PR middle-end/54782
+ * gcc.dg/pr54782.c: New test.
+
+2012-10-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/54777
+ * g++.dg/cpp0x/constexpr-ref4.C: New test.
+
+2012-10-02 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54778
+ * gfortran.dg/class_53.f90: New.
+
+2012-10-02 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/54551
+ * gcc.dg/guality/pr54551.c: New.
+
+2012-10-02 Pat Haugen <pthaugen@us.ibm.com>
+
+ * gcc.target/powerpc/pr46728-1.c: Accept xssqrtdp.
+ * gcc.target/powerpc/pr46728-2.c: Likewise.
+
+2012-10-02 Sharad Singhai <singhai@google.com>
+
+ PR testsuite/54772
+ * gfortran.dg/vect/vect.exp: Change verbose vectorizor dump options
+ to fix test failures caused by r191883.
+ * gcc.dg/tree-ssa/gen-vect-11.c: Likewise.
+ * gcc.dg/tree-ssa/gen-vect-2.c: Likewise.
+ * gcc.dg/tree-ssa/gen-vect-32.c: Likewise.
+ * gcc.dg/tree-ssa/gen-vect-25.c: Likewise.
+ * gcc.dg/tree-ssa/gen-vect-11a.c: Likewise.
+ * gcc.dg/tree-ssa/gen-vect-26.c: Likewise.
+ * gcc.dg/tree-ssa/gen-vect-11b.c: Likewise.
+ * gcc.dg/tree-ssa/gen-vect-11c.c: Likewise.
+ * gcc.dg/tree-ssa/gen-vect-28.c: Likewise.
+
+2012-09-30 Sharad Singhai <singhai@google.com>
+
+ * gcc.target/i386/vect-double-1.c: Fix test.
+
+2012-10-01 Andrew MacLeod <amacleod@redhat.com>
+
+ PR target/54087
+ * gcc.dg/pr54087.c: New testcase for atomic_sub -> atomic_add when
+ atomic_sub fails.
+
+2012-10-01 Uros Bizjak <ubizjak@gmail.com>
+
+ PR rtl-optimization/54457
+ * gcc.target/i386/pr54457.c: New test.
+
+2012-10-01 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * gcc.dg/lower-subreg-1.c: Disable on arm*-*-* targets.
+
+2012-10-01 Marc Glisse <marc.glisse@inria.fr>
+
+ * gcc.target/i386/vect-rebuild.c: New testcase.
+
+2012-09-30 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/pad-10.c (foo2): Return x - z.
+
+2012-09-30 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/pr37362.c: Fix target selector.
+
+2012-09-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/54083
+ * gcc.dg/torture/pr53922.c: Skip on 32-bit hppa-*-hpux*.
+
+2012-09-30 Andreas Schwab <schwab@linux-m68k.org>
+
+ * gcc.dg/ucnid-8.c: Update line number.
+ * gcc.dg/torture/pr51106-2.c: Likewise.
+
+2012-09-30 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54667
+ * gfortran.dg/c_funloc_tests_6.f90: Modified error message.
+ * gfortran.dg/c_f_pointer_shape_test.f90: Ditto.
+ * gfortran.dg/c_f_pointer_tests_5.f90: New.
+
+2012-09-30 Janus Weil <janus@gcc.gnu.org>
+
+ * gfortran.dg/allocate_derived_1.f90: Re-enable class array checks,
+ partially reverting r170092.
+ * gfortran.dg/class_7.f03: Ditto.
+ * gfortran.dg/coarray_14.f90: Ditto.
+ * gfortran.dg/typebound_proc_13.f03: Ditto.
+
+2012-09-29 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54738
+ * g++.dg/cpp0x/sfinae42.C: New.
+
+2012-09-29 David Edelsohn <dje.gcc@gmail.com>
+
+ * gcc.target/powerpc/405-dlmzb-strlen-1.c: Skip on AIX.
+ * gcc.target/powerpc/440-dlmzb-strlen-1.c: Same.
+ * gcc.dg/ucnid-5.c: Remove XFAIL on AIX.
+ * gcc.dg/pr42629.c: XFAIL on AIX.
+ * gcc.dg/pr47684.c: Same.
+ * gcc.dg/pr43670.c: Same.
+ * gcc.dg/pr42916.c: Same.
+ * gcc.dg/pr45449.c: Same.
+ * gcc.dg/pr50017.c: Same.
+ * gcc.dg/pr42728.c: Same.
+ * gcc.dg/pr47881.c: Same.
+ * gcc.dg/pr44023.c: Same.
+ * gcc.dg/pr41345.c: Same.
+ * gcc.dg/pr42630.c: Same.
+ * gcc.dg/pr44971.c: Same.
+ * gcc.dg/pr46771.c: Same.
+ * gcc.dg/ucnid-8.c: Same.
+ * gcc.dg/ucnid-10.c: Same.
+ * gcc.dg/ucnid-13.c: Same.
+ * gcc.dg/torture/pr51106-2.c: Same.
+ * gcc.dg/pr48768.c: Same.
+ * gcc.dg/pr42631.c: Same.
+ * gcc.dg/pr43084.c: Same.
+ * gcc.dg/ucnid-7.c: Same.
+ * gcc.dg/pr42889.c: Same.
+ * gcc.dg/pr41241.c: Same.
+ * gcc.dg/pr42719.c: Same.
+ * g++.dg/debug/pr46583.C: Same.
+ * g++.dg/debug/pr47106.C: Same.
+ * g++.dg/opt/pr48549.C: Same.
+ * g++.dg/other/pr42685.C: Same.
+ * c-c++-common/pr43942.c: Same.
+
+2012-09-29 Ian Lance Taylor <iant@google.com>
+
+ * go.test/go-test.exp: Update for latest version of Go testsuite.
+
+2012-09-29 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/52724
+ * gfortran.dg/internal_readwrite_3.f90: New test.
+
+2012-09-28 Dodji Seketeli <dodji@redhat.com>
+
+ * g++.dg/warn/Wunused-local-typedefs-3.C: Move the c++-only test
+ c-c++-common/Wunused-local-typedefs-2.c to here.
+
+ PR c++/54372 - unused attribute inactive on dependant entities
+ * c-c++-common/Wunused-local-typedefs-2.c: New test.
+
+2012-09-25 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/29028 - Missed unused warning on using declaration
+ * g++.dg/warn/Wunused-var-18.C: New test.
+
+2012-09-25 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/53551 - -Wunused-local-typedefs misses uses
+ * g++.dg/warn/Wunused-local-typedefs-2.C: New test.
+
+2012-09-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/54716
+ * gcc.target/i386/xorps-sse2.c: Remove xfails.
+
+ PR tree-optimization/54713
+ * gcc.c-torture/compile/pr54713-1.c: New test.
+ * gcc.c-torture/compile/pr54713-2.c: New test.
+ * gcc.c-torture/compile/pr54713-3.c: New test.
+
+2012-09-27 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.target/arm/unsigned-extend-1.c: Omit -march option.
+
+2012-09-27 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * gcc.dg/lower-subreg-1.c: Disable on arm-*-* targets.
+
+2012-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/54703
+ * gcc.target/i386/pr54703.c: New test.
+
+2012-09-27 Richard Guenther <rguenther@suse.de>
+
+ PR lto/54709
+ * gcc.dg/lto/pr54709_0.c: New testcase.
+ * gcc.dg/lto/pr54709_1.c: Likewise.
+
+2012-09-26 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.target/arm/div64-unwinding.c: XFAIL for GNU/Linux.
+
+ * gcc.target/arm/mmx-2.c: Specify -mcpu=iwmmxt.
+
+ * gcc.target/arm/combine-movs.c: Use effective target arm_thumb2.
+
+ * gcc.target/arm/pr42879.c: Handle big-endian.
+
+2012-09-26 Steve Ellcey <sellcey@mips.com>
+
+ PR c/37303
+ * gcc.dg/pr37303.c: Check for rdata or rodata.
+
+2012-09-26 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/arm/builtin-bswap16-1.c: New testcase.
+
+2012-09-25 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/51274
+ PR target/53087
+ * gcc.target/powerpc/ppc-ne0-1.c: New.
+
+2012-09-25 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * gcc.target/sh/pr54089-1.c (test_15, test_16, test_17, test_18,
+ test_19, test_20, test_21, test_22, test_23): New functions.
+ * gcc.target/sh/pr54089-4.c: New.
+ * gcc.target/sh/pr54089-5.c: New.
+ * gcc.target/sh/pr54089-6.c: New.
+ * gcc.target/sh/pr54089-7.c: New.
+
+2012-09-25 Richard Guenther <rguenther@suse.de>
+
+ PR lto/54625
+ * gcc.dg/lto/pr54702_0.c: New testcase.
+ * gcc.dg/lto/pr54702_1.c: Likewise.
+ * gcc.dg/lto/pr54625-1_0.c: Likewise.
+ * gcc.dg/lto/pr54625-1_1.C: Likewise.
+ * gcc.dg/lto/pr54625-2_0.c: Likewise.
+ * gcc.dg/lto/pr54625-2_1.C: Likewise.
+
+2012-09-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54526
+ * g++.dg/cpp0x/parse2.C: New.
+ * g++.dg/parse/error11.C: Adjust.
+ * g++.dg/parse/error12.C: Likewise.
+
+2012-09-25 Igor Zamyatin <igor.zamyatin@intel.com>
+
+ * gcc.target/i386/20030217-1.c: Added check for
+ large_long_double effective target.
+ * gcc.target/i386/387-3.c: Likewise.
+ * gcc.target/i386/387-4.c: Likewise.
+ * gcc.target/i386/pr36578-1.c: Likewise.
+ * gcc.target/i386/excess-precision-1.c: Added new code for the case
+ when long double size is equal double size.
+ * gcc.target/i386/excess-precision-1.c: Likewise.
+ * gcc.target/i386/pr36578-2.c: Likewise.
+ * gcc.target/i386/20030217-2.c: New testcase.
+
+2012-09-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54676
+ * gcc.dg/pr54676.c: New test.
+
+2012-09-25 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53663
+ * gcc.dg/torture/pr53663-1.c: New testcase.
+ * gcc.dg/torture/pr53663-2.c: Likewise.
+ * gcc.dg/torture/pr53663-3.c: Likewise.
+
+2012-09-25 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/pr50725.c: Change 'long' to 'long long'.
+
+2012-09-24 Janis Johnson <janisjo@codesourcery.com>
+
+ * lib/target-supports-dg.exp (dg-require-effective-target,
+ dg-skip-if, dg-xfail-if, dg-xfail-run-if, dg-shouldfail): Call
+ dg-process-target-1 instead of dg-process-target.
+ (dg-process-target-1): Rename from dg-process-target.
+ (dg-process-target): New.
+
+2012-09-24 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54684
+ * g++.dg/torture/pr54684.C: New testcase.
+
+2012-09-24 Marc Glisse <marc.glisse@inria.fr>
+
+ * gcc.dg/tree-ssa/forwprop-23.c: New testcase.
+
+2012-09-24 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52173
+ * gcc.dg/tm/pr52173-1.c: New.
+ * gcc.dg/tm/pr52173-2.c: New.
+
+2012-09-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/pr54669.c: New test.
+
+2012-09-23 Paolo Carlini <paolo.carlini@oracle.com>
+ Dominique Dhumieres <dominiq@lps.ens.fr>
+
+ PR testsuite/54677
+ * g++.dg/cpp0x/decltype32.C: Add -ftemplate-depth=10.
+
+2012-09-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54618
+ * gfortran.dg/class_array_14.f90: New.
+
+2012-09-22 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.dg/tree-ssa/scev-3.c: Add llp64 to xfail.
+ * gcc.dg/tree-ssa/scev-4.c: Likewise.
+
+2012-09-21 Dehao Chen <dehao@google.com>
+
+ PR go/54649
+ PR tree-optimization/54655
+ * g++.dg/pr54655.C: New testcase.
+
+2012-09-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54647
+ * g++.dg/torture/pr54647.C: New testcase.
+
+2012-09-21 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/54427
+ * c-c++-common/torture/vector-compare-2.c: Add -w.
+
+2012-09-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt20.ads: Move dg directive to...
+ * gnat.dg/opt20.adb: ...here.
+ * gnat.dg/addr1.ad[sb]: Likewise.
+ * gnat.dg/concat2.ad[sb]: Likewise.
+ * gnat.dg/array16.ad[sb]: Likewise.
+ * gnat.dg/atomic5.ad[sb]: Likewise.
+ * gnat.dg/discr29.ad[sb]: Likewise.
+ * gnat.dg/noreturn5.ad[sb]: Likewise.
+ * gnat.dg/vect8.ad[sb]: Likewise. Add dg-options.
+ * gnat.dg/discr23.ads: Remove dg directive.
+ * gnat.dg/nested_float_packed.ads: Likewise.
+ * gnat.dg/oconst6.ads: Move to...
+ * gnat.dg/specs/oconst6.ads: ...here.
+
+2012-09-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52432
+ * g++.dg/cpp0x/decltype32.C: Tweak.
+
+2012-09-20 Marc Glisse <marc.glisse@inria.fr>
+
+ * gcc.dg/tree-ssa/forwprop-19.c: Check in forwprop1.
+ * gcc.dg/tree-ssa/forwprop-20.c: Check in forwprop1.
+ * gcc.dg/tree-ssa/forwprop-21.c: Check in copyprop1.
+ * gcc.dg/tree-ssa/forwprop-22.c: Check in copyprop1.
+
+2012-09-19 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/54581
+ * g++.dg/cpp0x/decltype-54581.C: New testcase.
+
+2012-09-19 Steve Ellcey <sellcey@mips.com>
+
+ * gcc.target/mips/pr37362.c: Add mips*-mti-elf exception.
+
+2012-09-19 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/ppc-get-timebase.c: New file.
+ * gcc.target/powerpc/ppc-mftb.c: New file.
+
+2012-09-19 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * gcc.target/sh/pr54089-1.c (test_11, test_12, test_13, test_14): New
+ functions.
+
+2012-09-19 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54236
+ * gcc.target/sh/pr54236-1.c (test_08): Add one bit left shift case.
+
+2012-09-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.c-torture/execute/20120919-1.c: New test.
+
+2012-09-19 Richard Guenther <rguenther@suse.de>
+
+ * lib/c-torture.exp (TORTURE_OPTIONS): Add -Og -g.
+
+2012-09-19 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/builtin-unreachable-6.c: Adjust.
+
+2012-09-19 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/builtin-object-size-10.c: Adjust.
+ * gcc.dg/builtin-unreachable-5.c: Adjust.
+ * gcc.dg/tree-ssa/builtin-fprintf-1.c: Adjust.
+ * gcc.dg/tree-ssa/builtin-fprintf-chk-1.c: Adjust.
+ * gcc.dg/tree-ssa/builtin-printf-1.c: Adjust.
+ * gcc.dg/tree-ssa/builtin-printf-chk-1.c: Adjust.
+ * gcc.dg/tree-ssa/builtin-vfprintf-1.c: Adjust.
+ * gcc.dg/tree-ssa/builtin-vfprintf-chk-1.c: Adjust.
+ * gcc.dg/tree-ssa/builtin-vprintf-1.c: Adjust.
+ * gcc.dg/tree-ssa/builtin-vprintf-chk-1.c: Adjust.
+ * gcc.dg/tree-ssa/ssa-ccp-10.c: Adjust.
+ * gcc.dg/vect/vec-scal-opt.c: Adjust.
+ * gcc.dg/vect/vec-scal-opt1.c: Adjust.
+ * gcc.dg/vect/vec-scal-opt2.c: Adjust.
+
+2012-09-19 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54132
+ * gcc.dg/tree-ssa/ldist-21.c: New testcase.
+ * gcc.dg/torture/pr54132.c: Likewise.
+
+2012-09-19 Terry Guo <terry.guo@arm.com>
+
+ * lib/gcc-dg.exp (dg_runtest_extra_prunes): New variable to define
+ extra prune rules that will be applied to all tests in a .exp file.
+ (gcc-dg-prune): Use rules defined by the above variable.
+ * gcc.target/arm/arm.exp (dg_runtest_extra_prunes): Skip all the
+ harmless warnings on architecture switch conflict.
+
+2012-09-19 Hans-Peter Nilsson <hp@axis.com>
+
+ * g++.dg/debug/dwarf2/nested-3.C: Match a sequence
+ of asm-comment characters instead of a single one.
+ * g++.dg/debug/dwarf2/nested-2.C: Similar.
+
+2012-09-18 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.dg/vect/fast-math-pr35982.c: Skip check instead of xfail.
+
+ * gcc.dg/vect/no-vfa-vect-101.c: Skip a check for an irrelevant
+ target instead of xfailing it.
+ * gcc.dg/vect/no-vfa-vect-102.c: Likewise.
+ * gcc.dg/vect/no-vfa-vect-102a.c: Likewise.
+ * gcc.dg/vect/no-vfa-vect-37.c: Likewise.
+ * gcc.dg/vect/no-vfa-vect-79.c: Likewise.
+ * gcc.dg/vect/vect-104.c: Likewise.
+ * gcc.dg/vect/vect-outer-1-big-array.c: Likewise.
+ * gcc.dg/vect/vect-outer-1.c: Likewise.
+ * gcc.dg/vect/vect-outer-1a-big-array.c: Likewise.
+ * gcc.dg/vect/vect-outer-1a.c: Likewise.
+ * gcc.dg/vect/vect-outer-1b-big-array.c: Likewise.
+ * gcc.dg/vect/vect-outer-1b.c: Likewise.
+ * gcc.dg/vect/vect-outer-2b.c: Likewise.
+ * gcc.dg/vect/vect-outer-3a-big-array.c: Likewise.
+ * gcc.dg/vect/vect-outer-3a.c: Likewise.
+ * gcc.dg/vect/vect-outer-3b.c: Likewise.
+ * gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise.
+
+ * lib/target-supports.exp
+ (check_effective_target_vect_widen_mult_qi_to_hi,
+ check_effective_target_vect_widen_mult_hi_to_si,
+ check_effective_target_vect_widen_mult_qi_to_hi_pattern,
+ check_effective_target_vect_widen_mult_hi_to_si_pattern,
+ check_effective_target_vect_pack_trunc,
+ check_effective_target_vect_unpack,
+ check_effective_target_vect_multiple_sizes): Check arm_neon_ok
+ instead of arm_none.
+
+ * gcc.dg/vect/pr52298.c: Remove "dg-do run".
+
+2012-09-18 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+
+ * lib/target-supports-dg.exp (check-flags): Add cflags from board
+ config to compiler_flags.
+
+2012-09-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/54592
+ * gcc.target/i386/pr54592.c: New test.
+
+ PR tree-optimization/54610
+ * gcc.target/i386/pr54610.c: New test.
+
+2012-09-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/54575
+ * g++.dg/cpp0x/alias-decl-21.C: New.
+ * g++.dg/cpp0x/alias-decl-22.C: New.
+
+2012-09-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54608
+ * gfortran.dg/scan_2.f90: New.
+
+2012-09-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/53661
+ * g++.dg/init/aggr9.C: New.
+
+2012-09-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/loop_optimization12.ad[sb]: New test.
+
+2012-09-17 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54285
+ * gfortran.dg/proc_ptr_result_7.f90: New.
+
+2012-09-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54603
+ * gfortran.dg/structure_constructor_11.f90: New.
+
+2012-09-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54563
+ * g++.dg/torture/pr54563.C: New test.
+
+2012-09-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54594
+ * gfortran.dg/typebound_generic_14.f03: New.
+
+2012-09-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54387
+ * gfortran.dg/proc_ptr_38.f90: New.
+
+2012-09-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR debug/54460
+ * g++.dg/debug/dwarf2/nested-3.C: Add hppa assembler comment character
+ to scary regexp.
+
+ PR testsuite/54007
+ * gnat.dg/lto15.adb: Require lto.
+
+ * gfortran.dg/bind_c_array_params_2.f90: Adjust scan-assembler-times
+ "myBindC" for hppa*-*-hpux*.
+
+2012-09-16 Mikael Morin <mikael@gcc.gnu.org>
+
+ * gfortran.dg/namelist_75.f90: New test.
+
+2012-09-15 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/tree-ssa/vrp82.c: New test.
+ * gcc.dg/tree-ssa/vrp83.c: Same.
+ * gcc.dg/tree-ssa/vrp84.c: Same.
+
+2012-09-15 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/tree-ssa/vrp80-2.c: Rename to ...
+ * gcc.dg/tree-ssa/vrp81.c: ... this.
+
+2012-09-15 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/54222
+ * gcc.target/avr/torture/fix-types.h: New.
+ * gcc.target/avr/torture/vals-hr.def: New.
+ * gcc.target/avr/torture/vals-r.def: New.
+ * gcc.target/avr/torture/vals-k.def: New.
+ * gcc.target/avr/torture/vals-ur.def: New.
+ * gcc.target/avr/torture/vals-uk.def: New.
+ * gcc.target/avr/torture/vals-uhr.def: New.
+ * gcc.target/avr/torture/vals-llk.def: New.
+ * gcc.target/avr/torture/vals-ullk.def: New.
+ * gcc.target/avr/torture/sat-hr-plus-minus.c: New.
+ * gcc.target/avr/torture/sat-r-plus-minus.c: New.
+ * gcc.target/avr/torture/sat-k-plus-minus.c: New.
+ * gcc.target/avr/torture/sat-ur-plus-minus.c: New.
+ * gcc.target/avr/torture/sat-uk-plus-minus.c: New.
+ * gcc.target/avr/torture/sat-uhr-plus-minus.c: New.
+ * gcc.target/avr/torture/sat-llk-plus-minus.c: New.
+ * gcc.target/avr/torture/sat-ullk-plus-minus.c: New.
+
+2012-09-14 Dehao Chen <dehao@google.com>
+
+ * g++.dg/debug/dwarf2/deallocator.C: New test.
+
+2012-09-14 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/54552
+ * gcc.c-torture/compile/pr54552-1.c: New test.
+
+2012-09-14 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/54427
+ * g++.dg/other/vector-compare.C: New testcase.
+ * c-c++-common/vector-compare-3.c: New testcase.
+ * gcc.dg/vector-shift.c: Move ...
+ * c-c++-common/vector-shift.c: ... here.
+ * gcc.dg/vector-shift1.c: Move ...
+ * c-c++-common/vector-shift1.c: ... here.
+ * gcc.dg/vector-shift3.c: Move ...
+ * c-c++-common/vector-shift3.c: ... here.
+ * gcc.dg/vector-compare-1.c: Move ...
+ * c-c++-common/vector-compare-1.c: ... here.
+ * gcc.dg/vector-compare-2.c: Move ...
+ * c-c++-common/vector-compare-2.c: ... here.
+ * gcc.c-torture/execute/vector-compare-1.c: Move ...
+ * c-c++-common/torture/vector-compare-1.c: ... here.
+ * gcc.c-torture/execute/vector-compare-2.x: Delete.
+ * gcc.c-torture/execute/vector-compare-2.c: Move ...
+ * c-c++-common/torture/vector-compare-2.c: ... here.
+ * gcc.c-torture/execute/vector-shift.c: Move ...
+ * c-c++-common/torture/vector-shift.c: ... here.
+ * gcc.c-torture/execute/vector-shift2.c: Move ...
+ * c-c++-common/torture/vector-shift2.c: ... here.
+ * gcc.c-torture/execute/vector-subscript-1.c: Move ...
+ * c-c++-common/torture/vector-subscript-1.c: ... here.
+ * gcc.c-torture/execute/vector-subscript-2.c: Move ...
+ * c-c++-common/torture/vector-subscript-2.c: ... here.
+ * gcc.c-torture/execute/vector-subscript-3.c: Move ...
+ * c-c++-common/torture/vector-subscript-3.c: ... here.
+
+2012-09-14 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/54103
+ * gcc.c-torture/compile/pr54103-1.c,
+ gcc.c-torture/compile/pr54103-2.c,
+ gcc.c-torture/compile/pr54103-3.c,
+ gcc.c-torture/compile/pr54103-4.c,
+ gcc.c-torture/compile/pr54103-5.c,
+ gcc.c-torture/compile/pr54103-6.c: New tests.
+ * gcc.dg/c90-const-expr-8.c: Update expected column number.
+
+2012-09-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/pr44194-1.c: Check that there are no memory accesses left.
+
+2012-09-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54565
+ * gcc.dg/tree-ssa/ssa-ccp-17.c: Adjust.
+ * gcc.dg/tree-ssa/forwprop-6.c: Likewise. Remove XFAIL.
+
+2012-09-14 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * gcc.target/arm/combine-movs.c: Add missing space.
+
+2012-09-14 Richard Guenther <rguenther@suse.de>
+
+ * g++.dg/torture/builtin-location.C: New testcase.
+
+2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
+ Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c++/53210
+ * g++.dg/warn/Wuninitialized-self.C: New.
+
+2012-09-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/54559
+ * gcc.c-torture/compile/pr54559.c: New test.
+
+2012-09-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/53839
+ * g++.dg/cpp0x/constexpr-temp1.C: New.
+
+ PR c++/54511
+ * g++.dg/template/anonunion2.C: New.
+
+ PR c++/53836
+ * g++.dg/template/init10.C: New.
+
+2012-09-13 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54556
+ * gfortran.dg/implicit_pure_3.f90: New.
+
+2012-09-13 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/ssa-fre-37.c: New testcase.
+
+2012-09-13 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/arm/builtin-bswap-1.c: New testcase.
+
+2012-09-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * c-c++-common/pr51712.c: Handle for short-enum targets.
+
+2012-09-12 Terry Guo <terry.guo@arm.com>
+
+ * gcc.target/arm/combine-movs.c: Check movs for ARM mode
+ and lsrs for Thumb2 mode.
+
+2012-09-12 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/ipa/inlinehint-2.c: New testcase.
+
+2012-09-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/54445
+ * gcc.target/i386/pr54445-1.c: New file.
+ * gcc.target/i386/pr54445-2.c: Likewise.
+
+2012-09-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54225
+ PR fortran/53306
+ * gfortran.dg/coarray_10.f90: Update dg-error.
+ * gfortran.dg/coarray_28.f90: New.
+ * gfortran.dg/array_section_3.f90: New.
+
+2012-09-11 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/arm/neon-vset_lanes8.c, gcc.target/arm/pr51835.c,
+ gcc.target/arm/pr48252.c: Fix for big-endian support.
+
+2012-09-11 Marc Glisse <marc.glisse@inria.fr>
+
+ * gcc.dg/tree-ssa/forwprop-22.c: New testcase.
+
+2012-09-11 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * gcc.target/arm/neon-vfma-1.c: New testcase.
+ * gcc.target/arm/neon-vfms-1.c: Likewise.
+ * gcc.target/arm/neon-vmla-1.c: Update test to use int instead
+ of float.
+ * gcc.target/arm/neon-vmls-1.c: Likewise.
+ * lib/target-supports.exp (add_options_for_arm_neonv2): New
+ function.
+ (check_effective_target_arm_neonv2_ok_nocache): Likewise.
+ (check_effective_target_arm_neonv2_ok): Likewise.
+ (check_effective_target_arm_neonv2_hw): Likewise.
+ (check_effective_target_arm_neonv2): Likewise.
+
+2012-09-11 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/54515
+ * g++.dg/tree-ssa/pr54515.C: New testcase.
+
+2012-09-10 Andrew Pinski <apinski@cavium.com>
+
+ PR tree-opt/c54362
+ * gcc.dg/tm/memopt-16.c: New testcase.
+
+2012-09-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54541
+ PR c++/54542
+ * g++.dg/cpp0x/sfinae40.C: New.
+ * g++.dg/cpp0x/sfinae41.C: Likewise.
+
+2012-09-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/54538
+ * g++.dg/cpp0x/lambda/lambda-mangle4.C: New.
+
+2012-09-10 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * gcc.target/sh/pr54089-3.c: New.
+
+2012-09-10 Marc Glisse <marc.glisse@inria.fr>
+
+ * gcc.dg/tree-ssa/forwprop-21.c: New testcase.
+
+2012-09-10 Aldy Hernandez <aldyh@redhat.com>
+
+ * gcc.dg/tm/reg-promotion.c: Modify dump message check.
+
+2012-09-10 Aldy Hernandez <aldyh@redhat.com>
+
+ * gcc.dg/pr52558-2.c: Delete.
+ * gcc.dg/simulate-thread/speculative-store-3.c: New.
+
+2012-09-10 Marc Glisse <marc.glisse@inria.fr>
+
+ * gcc.dg/tree-ssa/forwprop-20.c: New testcase.
+
+2012-09-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54520
+ * gcc.dg/torture/pr54520.c: New testcase.
+
+2012-09-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/54506
+ * g++.dg/cpp0x/implicit14.C: New.
+
+2012-09-07 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/54208
+ * gfortran.dg/bound_simplification_3.f90: New test.
+
+2012-09-07 Aldy Hernandez <aldyh@redhat.com>
+
+ PR testsuite/54184
+ * gcc.dg/pr52558-1.c: Delete.
+ * gcc.dg/simulate-thread/speculative-store-2.c: New.
+
+2012-09-07 Richard Earnshaw <rearnsha@arm.com>
+
+ * gcc.target/arm/pr50318-1.c: Scan for smlal.
+ * gcc.target/arm/smlaltb-1.c: XFAIL test.
+ * gcc.target/arm/smlaltt-1.c: Likewise.
+
+2012-09-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/pr44194-1.c: Skip on Alpha and adjust regexp for SPARC64.
+
+2012-09-07 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/53986
+ * gcc.dg/tree-ssa/vrp80.c: New test.
+ * gcc.dg/tree-ssa/vrp80-2.c: Same.
+
+2012-09-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/54341
+ PR c++/54253
+ * g++.dg/cpp0x/constexpr-virtual2.C: New.
+ * g++.dg/cpp0x/constexpr-virtual3.C: New.
+
+2012-09-06 Andrew Pinski <apinski@cavium.com>
+
+ PR tree-opt/54494
+ * gcc.dg/tree-ssa/strlen-1.c: New testcase.
+
+2012-09-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/54455
+ * gcc.dg/54455.c: New test.
+
+2012-09-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54463
+ * gfortran.dg/promotion_2.f90: New.
+
+2012-09-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/54486
+ * c-c++-common/pr54486.c: New test.
+
+2012-09-05 Dominique Dhumieres <dominiq@lps.ens.fr>
+
+ PR fortran/54474
+ * gfortran.dg/coarray_poly_3.f90: Adjust error messages.
+
+2012-09-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54191
+ * g++.dg/cpp0x/sfinae39.C: New.
+
+2012-09-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/54441
+ * g++.dg/ext/flexary3.C: New.
+
+ PR c++/54420
+ * g++.dg/cpp0x/lambda/lambda-intname.C: New.
+
+ PR c++/54198
+ * g++.dg/template/defarg15.C: New.
+
+ PR c++/54437
+ * g++.dg/template/access24.C: New.
+
+2012-09-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54458
+ * gcc.dg/torture/pr54458.c: New testcase.
+
+2012-09-04 Christophe Lyon <christophe.lyon@linaro.org>
+
+ * gcc.target/arm/neon-vext.c: New test.
+ * gcc.target/arm/neon-vext-execute.c: Ditto.
+
+2012-09-04 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54243
+ PR fortran/54244
+ * gfortran.dg/select_type_29.f03: New.
+
+2012-09-03 Marc Glisse <marc.glisse@inria.fr>
+
+ * gcc.dg/fold-perm.c: Improve test.
+
+2012-09-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51632
+ * gfortran.dg/coarray_class_1.f90: New.
+
+2012-09-02 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49206
+ * gcc.c-torture/compile/pr49206.c: New test.
+
+2012-09-02 Dominique Dhumieres <dominiq@lps.ens.fr>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/36680
+ * gfortran.dg/pr36680.f90: New test.
+
+2012-09-02 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/42295
+ * g++.dg/opt/pr42295.C: New test.
+
+2012-09-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/54436
+ * gcc.dg/torture/pr54436.c: New test.
+
+2012-09-01 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.target/mips/truncate-8.c: New testcase.
+
+2012-09-01 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/46829
+ PR target/46843
+ * gcc.target/i386/pr46829.c: New test.
+ * gcc.target/i386/pr46843.c: Ditto.
+
+2012-08-31 Paolo Carlini <paolo.carlini@oracle.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c++/18747
+ * g++.dg/parse/error50.C: New.
+
+2012-08-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/54428
+ * gcc.c-torture/compile/pr54428.c: New test.
+
+2012-08-31 Ollie Wild <aaw@google.com>
+
+ PR c++/54197
+ * g++.dg/init/lifetime3.C: New test.
+
+2012-08-31 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/54409
+ * gcc.dg/torture/pr54409.c: New test.
+
+2012-08-31 Martin Jambor <mjambor@suse.cz>
+
+ * gfortran.dg/pr48636.f90: Add dump scan checks.
+
+2012-08-29 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/mips.exp: Work out default -msynci setting.
+
+2012-08-28 Joey Ye <joey.ye@arm.com>
+
+ * gcc.dg/tree-ssa/ssa-dom-thread-3.c: Add -fno-short-enums.
+
+2012-08-27 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/46254
+ * gcc.target/i386/pr46254.c: New test.
+
+2012-08-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/ext_ins.c, gcc.target/mips/octeon-pop-2.c,
+ gcc.target/mips/pr54240.c, gcc.target/mips/stack-1.c,
+ gcc.target/mips/unaligned-1.c: Add NOMIPS16.
+
+2012-08-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/20020620-1.c, gcc.target/mips/atomic-memory-2.c,
+ gcc.target/mips/branch-2.c, gcc.target/mips/branch-3.c,
+ gcc.target/mips/clear-cache-1.c, gcc.target/mips/const-anchor-1.c,
+ gcc.target/mips/const-anchor-2.c, gcc.target/mips/dspr2-MULT.c,
+ gcc.target/mips/dspr2-MULTU.c, gcc.target/mips/ext-1.c,
+ gcc.target/mips/ext-2.c, gcc.target/mips/ext-3.c,
+ gcc.target/mips/ext-4.c, gcc.target/mips/ext_ins.c,
+ gcc.target/mips/fpcmp-1.c, gcc.target/mips/fpcmp-2.c,
+ gcc.target/mips/mips16e-extends.c, gcc.target/mips/mips32-dsp.c,
+ gcc.target/mips/mips32-dsp-type.c, gcc.target/mips/mips32r2-mxhc1.c,
+ gcc.target/mips/mips-ps-5.c, gcc.target/mips/mips-ps-7.c,
+ gcc.target/mips/mips-ps-type-2.c, gcc.target/mips/mips-ps-type.c,
+ gcc.target/mips/movcc-1.c, gcc.target/mips/movcc-2.c,
+ gcc.target/mips/movcc-3.c, gcc.target/mips/neg-abs-1.c,
+ gcc.target/mips/neg-abs-2.c, gcc.target/mips/nmadd-1.c,
+ gcc.target/mips/nmadd-2.c, gcc.target/mips/nmadd-3.c,
+ gcc.target/mips/octeon-exts-7.c, gcc.target/mips/octeon-seq-4.c,
+ gcc.target/mips/rsqrt-1.c, gcc.target/mips/rsqrt-2.c,
+ gcc.target/mips/rsqrt-3.c, gcc.target/mips/sb1-1.c,
+ gcc.target/mips/scc-4.c, gcc.target/mips/stack-1.c,
+ gcc.target/mips/unaligned-1.c: Tighten regexps.
+
+2012-08-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/mips.exp: Use gcc-dg-runtest rather than dg-runtest.
+ (mips_option_groups): Remove optimization. Add various -f options.
+ (mips-dg-options): Make -funroll-loops imply -funroll-all-loops
+ and -pg imply -fno-omit-frame-pointer.
+ * gcc.target/mips/abi-eabi32-long32.c: Remove optimization flag.
+ * gcc.target/mips/abi-eabi32-long64.c: Likewise.
+ * gcc.target/mips/abi-eabi64-long32.c: Likewise.
+ * gcc.target/mips/abi-eabi64-long64.c: Likewise.
+ * gcc.target/mips/abi-n32-long32-no-shared.c: Likewise.
+ * gcc.target/mips/abi-n32-long32-pic.c: Likewise.
+ * gcc.target/mips/abi-n32-long32.c: Likewise.
+ * gcc.target/mips/abi-n32-long64-no-shared.c: Likewise.
+ * gcc.target/mips/abi-n32-long64-pic.c: Likewise.
+ * gcc.target/mips/abi-n32-long64.c: Likewise.
+ * gcc.target/mips/abi-n64-long32-no-shared.c: Likewise.
+ * gcc.target/mips/abi-n64-long32-pic.c: Likewise.
+ * gcc.target/mips/abi-n64-long32.c: Likewise.
+ * gcc.target/mips/abi-n64-long64-no-shared.c: Likewise.
+ * gcc.target/mips/abi-n64-long64-pic.c: Likewise.
+ * gcc.target/mips/abi-n64-long64.c: Likewise.
+ * gcc.target/mips/abi-o32-long32-no-shared.c: Likewise.
+ * gcc.target/mips/abi-o32-long32-pic.c: Likewise.
+ * gcc.target/mips/abi-o32-long32.c: Likewise.
+ * gcc.target/mips/abi-o32-long64-no-shared.c: Likewise.
+ * gcc.target/mips/abi-o32-long64-pic.c: Likewise.
+ * gcc.target/mips/abi-o32-long64.c: Likewise.
+ * gcc.target/mips/abi-o64-long32-no-shared.c: Likewise.
+ * gcc.target/mips/abi-o64-long32-pic.c: Likewise.
+ * gcc.target/mips/abi-o64-long32.c: Likewise.
+ * gcc.target/mips/abi-o64-long64-no-shared.c: Likewise.
+ * gcc.target/mips/abi-o64-long64-pic.c: Likewise.
+ * gcc.target/mips/abi-o64-long64.c: Likewise.
+ * gcc.target/mips/asm-1.c: Likewise.
+ * gcc.target/mips/branch-1.c: Likewise.
+ * gcc.target/mips/call-3.c: Likewise.
+ * gcc.target/mips/call-saved-3.c: Likewise.
+ * gcc.target/mips/clear-cache-1.c: Likewise.
+ * gcc.target/mips/div-1.c: Likewise.
+ * gcc.target/mips/div-2.c: Likewise.
+ * gcc.target/mips/div-3.c: Likewise.
+ * gcc.target/mips/div-4.c: Likewise.
+ * gcc.target/mips/div-5.c: Likewise.
+ * gcc.target/mips/div-6.c: Likewise.
+ * gcc.target/mips/div-7.c: Likewise.
+ * gcc.target/mips/div-8.c: Likewise.
+ * gcc.target/mips/div-9.c: Likewise.
+ * gcc.target/mips/div-10.c: Likewise.
+ * gcc.target/mips/div-11.c: Likewise.
+ * gcc.target/mips/div-12.c: Likewise.
+ * gcc.target/mips/dsp-ctrl.c: Likewise.
+ * gcc.target/mips/dsp-no-lhx.c: Likewise.
+ * gcc.target/mips/ext-8.c: Likewise.
+ * gcc.target/mips/extend-2.c: Likewise.
+ * gcc.target/mips/fix-r10000-1.c: Likewise.
+ * gcc.target/mips/fix-r10000-2.c: Likewise.
+ * gcc.target/mips/fix-r10000-3.c: Likewise.
+ * gcc.target/mips/fix-r10000-4.c: Likewise.
+ * gcc.target/mips/fix-r10000-5.c: Likewise.
+ * gcc.target/mips/fix-r10000-6.c: Likewise.
+ * gcc.target/mips/fix-r10000-7.c: Likewise.
+ * gcc.target/mips/fix-r10000-8.c: Likewise.
+ * gcc.target/mips/fix-r10000-9.c: Likewise.
+ * gcc.target/mips/fix-r10000-10.c: Likewise.
+ * gcc.target/mips/fix-r10000-11.c: Likewise.
+ * gcc.target/mips/fix-r10000-12.c: Likewise.
+ * gcc.target/mips/fix-r10000-13.c: Likewise.
+ * gcc.target/mips/fix-r10000-14.c: Likewise.
+ * gcc.target/mips/fix-r10000-15.c: Likewise.
+ * gcc.target/mips/fpcmp-1.c: Likewise.
+ * gcc.target/mips/fpcmp-2.c: Likewise.
+ * gcc.target/mips/fpr-moves-7.c: Likewise.
+ * gcc.target/mips/fpr-moves-8.c: Likewise.
+ * gcc.target/mips/int-moves-1.c: Likewise.
+ * gcc.target/mips/int-moves-2.c: Likewise.
+ * gcc.target/mips/long-calls-pg.c: Likewise.
+ * gcc.target/mips/loongson-muldiv-1.c: Likewise.
+ * gcc.target/mips/loongson-muldiv-2.c: Likewise.
+ * gcc.target/mips/loongson-shift-count-truncated-1.c: Likewise.
+ * gcc.target/mips/loongson3a-muldiv-1.c: Likewise.
+ * gcc.target/mips/loongson3a-muldiv-2.c: Likewise.
+ * gcc.target/mips/mips-3d-1.c: Likewise.
+ * gcc.target/mips/mips-3d-2.c: Likewise.
+ * gcc.target/mips/mips-3d-3.c: Likewise.
+ * gcc.target/mips/mips-3d-4.c: Likewise.
+ * gcc.target/mips/mips-3d-5.c: Likewise.
+ * gcc.target/mips/mips-3d-6.c: Likewise.
+ * gcc.target/mips/mips-3d-7.c: Likewise.
+ * gcc.target/mips/mips-3d-8.c: Likewise.
+ * gcc.target/mips/mips-3d-9.c: Likewise.
+ * gcc.target/mips/mips-ps-1.c: Likewise.
+ * gcc.target/mips/mips-ps-2.c: Likewise.
+ * gcc.target/mips/mips-ps-3.c: Likewise.
+ * gcc.target/mips/mips-ps-4.c: Likewise.
+ * gcc.target/mips/mips-ps-6.c: Likewise.
+ * gcc.target/mips/mips32-dspr2.c: Likewise.
+ * gcc.target/mips/mmcount-ra-address-1.c: Likewise.
+ * gcc.target/mips/neg-abs-1.c: Likewise.
+ * gcc.target/mips/neg-abs-2.c: Likewise.
+ * gcc.target/mips/nmadd-3.c: Likewise.
+ * gcc.target/mips/no-smartmips-lwxs.c: Likewise.
+ * gcc.target/mips/no-smartmips-ror-1.c: Likewise.
+ * gcc.target/mips/octeon-pop-1.c: Likewise.
+ * gcc.target/mips/pr26765.c: Likewise.
+ * gcc.target/mips/pr33256.c: Likewise.
+ * gcc.target/mips/pr33635-1.c: Likewise.
+ * gcc.target/mips/pr33755.c: Likewise.
+ * gcc.target/mips/pr35802.c: Likewise.
+ * gcc.target/mips/pr45074.c: Likewise.
+ * gcc.target/mips/r10k-cache-barrier-1.c: Likewise.
+ * gcc.target/mips/r10k-cache-barrier-2.c: Likewise.
+ * gcc.target/mips/r10k-cache-barrier-3.c: Likewise.
+ * gcc.target/mips/r10k-cache-barrier-4.c: Likewise.
+ * gcc.target/mips/r10k-cache-barrier-5.c: Likewise.
+ * gcc.target/mips/r10k-cache-barrier-6.c: Likewise.
+ * gcc.target/mips/r10k-cache-barrier-7.c: Likewise.
+ * gcc.target/mips/r10k-cache-barrier-8.c: Likewise.
+ * gcc.target/mips/r10k-cache-barrier-9.c: Likewise.
+ * gcc.target/mips/r10k-cache-barrier-11.c: Likewise.
+ * gcc.target/mips/r10k-cache-barrier-12.c: Likewise.
+ * gcc.target/mips/r10k-cache-barrier-13.c: Likewise.
+ * gcc.target/mips/r10k-cache-barrier-14.c: Likewise.
+ * gcc.target/mips/r10k-cache-barrier-15.c: Likewise.
+ * gcc.target/mips/save-restore-1.c: Likewise.
+ * gcc.target/mips/save-restore-3.c: Likewise.
+ * gcc.target/mips/save-restore-5.c: Likewise.
+ * gcc.target/mips/smartmips-ror-1.c: Likewise.
+ * gcc.target/mips/smartmips-ror-2.c: Likewise.
+ * gcc.target/mips/smartmips-ror-3.c: Likewise.
+ * gcc.target/mips/smartmips-ror-4.c: Likewise.
+ * gcc.target/mips/stack-1.c: Likewise.
+
+ * gcc.target/mips/clear-cache-2.c: Remove optimization flag.
+ Tighten regexps.
+
+ * gcc.target/mips/branch-8.c: Arrange for the delay slot of the
+ branch under test to be filled with preceding rather than
+ following instructions.
+ * gcc.target/mips/branch-10.c: Likewise.
+ * gcc.target/mips/branch-11.c: Likewise.
+ * gcc.target/mips/branch-12.c: Likewise.
+ * gcc.target/mips/branch-13.c: Likewise.
+ * gcc.target/mips/branch-9.c: Likewise. Allow the frame pointer
+ to be eliminated. Tighten $28 scan-assembler-not test.
+
+ * gcc.target/mips/call-2.c: Remove optimization flag. Move second
+ function to...
+ * gcc.target/mips/call-4.c: ...this new test.
+
+ * gcc.target/mips/code-readable-2.c: Rework to make a jump table
+ more likely.
+ * gcc.target/mips/code-readable-3.c: Likewise.
+ * gcc.target/mips/code-readable-1.c: Likewise. Remove optimization
+ flag but skip for -O0.
+ * gcc.target/mips/code-readable-4.c: Likewise.
+
+ * gcc.target/mips/mips32-dsp-run.c: Prevent compile-time reduction
+ of operations under test.
+ * gcc.target/mips/mips32-dsp.c: Likewise. Remove optimization flag.
+
+ * gcc.target/mips/near-far-3.c: Remove optimization flag.
+ Don't require sibling-call optimization.
+ * gcc.target/mips/near-far-4.c: Likewise.
+
+ * gcc.target/mips/no-dsp-1.c: Require -ffat-lto-objects.
+ Make sure that the register variable is used.
+ * gcc.target/mips/soft-float-1.c: Likewise.
+
+ * gcc.target/mips/sdata-1.c: Make static data volatile.
+ * gcc.target/mips/sdata-2.c: Likewise.
+ * gcc.target/mips/sdata-3.c: Likewise.
+ * gcc.target/mips/sdata-4.c: Likewise.
+
+ * gcc.target/mips/20020620-1.c: Remove optimization flag but
+ skip for -O0.
+ * gcc.target/mips/atomic-memory-2.c: Likewise.
+ * gcc.target/mips/branch-cost-1.c: Likewise.
+ * gcc.target/mips/branch-cost-2.c: Likewise.
+ * gcc.target/mips/cache-1.c: Likewise.
+ * gcc.target/mips/call-1.c: Likewise.
+ * gcc.target/mips/call-saved-2.c: Likewise.
+ * gcc.target/mips/const-anchor-1.c: Likewise.
+ * gcc.target/mips/const-anchor-2.c: Likewise.
+ * gcc.target/mips/dse-1.c: Likewise.
+ * gcc.target/mips/dsp-lhx.c: Likewise.
+ * gcc.target/mips/dspr2-MULTU.c: Likewise.
+ * gcc.target/mips/ext-1.c: Likewise.
+ * gcc.target/mips/ext-2.c: Likewise.
+ * gcc.target/mips/ext-3.c: Likewise.
+ * gcc.target/mips/ext-4.c: Likewise.
+ * gcc.target/mips/ext-5.c: Likewise.
+ * gcc.target/mips/ext-6.c: Likewise.
+ * gcc.target/mips/ext-7.c: Likewise.
+ * gcc.target/mips/extend-1.c: Likewise.
+ * gcc.target/mips/fix-r4000-1.c: Likewise.
+ * gcc.target/mips/fix-r4000-3.c: Likewise.
+ * gcc.target/mips/fix-r4000-5.c: Likewise.
+ * gcc.target/mips/fix-r4000-6.c: Likewise.
+ * gcc.target/mips/fix-r4000-8.c: Likewise.
+ * gcc.target/mips/fix-r4000-10.c: Likewise.
+ * gcc.target/mips/fixed-scalar-type.c: Likewise.
+ * gcc.target/mips/fixed-vector-type.c: Likewise.
+ * gcc.target/mips/fpr-moves-1.c: Likewise.
+ * gcc.target/mips/fpr-moves-2.c: Likewise.
+ * gcc.target/mips/fpr-moves-3.c: Likewise.
+ * gcc.target/mips/fpr-moves-4.c: Likewise.
+ * gcc.target/mips/fpr-moves-5.c: Likewise.
+ * gcc.target/mips/fpr-moves-6.c: Likewise.
+ * gcc.target/mips/ins-1.c: Likewise.
+ * gcc.target/mips/ins-2.c: Likewise.
+ * gcc.target/mips/interrupt_handler-2.c: Likewise.
+ * gcc.target/mips/interrupt_handler-3.c: Likewise.
+ * gcc.target/mips/lazy-binding-1.c: Likewise.
+ * gcc.target/mips/madd-3.c: Likewise.
+ * gcc.target/mips/madd-5.c: Likewise.
+ * gcc.target/mips/madd-6.c: Likewise.
+ * gcc.target/mips/madd-8.c: Likewise.
+ * gcc.target/mips/madd-9.c: Likewise.
+ * gcc.target/mips/memcpy-1.c: Likewise.
+ * gcc.target/mips/mips-ps-type.c: Likewise.
+ * gcc.target/mips/mips-ps-type-2.c: Likewise.
+ * gcc.target/mips/mips-sched-madd.c: Likewise.
+ * gcc.target/mips/mips16e-extends.c: Likewise.
+ * gcc.target/mips/mips32r2-mxhc1.c: Likewise.
+ * gcc.target/mips/mips64-dsp-ldx.c: Likewise.
+ * gcc.target/mips/movcc-1.c: Likewise.
+ * gcc.target/mips/movcc-2.c: Likewise.
+ * gcc.target/mips/movcc-3.c: Likewise.
+ * gcc.target/mips/msub-5.c: Likewise.
+ * gcc.target/mips/msub-6.c: Likewise.
+ * gcc.target/mips/msub-8.c: Likewise.
+ * gcc.target/mips/mult-2.c: Likewise.
+ * gcc.target/mips/mult-3.c: Likewise.
+ * gcc.target/mips/mult-5.c: Likewise.
+ * gcc.target/mips/mult-6.c: Likewise.
+ * gcc.target/mips/mult-7.c: Likewise.
+ * gcc.target/mips/mult-12.c: Likewise.
+ * gcc.target/mips/mult-13.c: Likewise.
+ * gcc.target/mips/mult-14.c: Likewise.
+ * gcc.target/mips/mult-15.c: Likewise.
+ * gcc.target/mips/mult-17.c: Likewise.
+ * gcc.target/mips/mult-18.c: Likewise.
+ * gcc.target/mips/mult-19.c: Likewise.
+ * gcc.target/mips/nmadd-1.c: Likewise.
+ * gcc.target/mips/nmadd-2.c: Likewise.
+ * gcc.target/mips/octeon-baddu-1.c: Likewise.
+ * gcc.target/mips/octeon-cins-1.c: Likewise.
+ * gcc.target/mips/octeon-cins-2.c: Likewise.
+ * gcc.target/mips/octeon-dmul-3.c: Likewise.
+ * gcc.target/mips/octeon-exts-2.c: Likewise.
+ * gcc.target/mips/octeon-exts-3.c: Likewise.
+ * gcc.target/mips/octeon-exts-4.c: Likewise.
+ * gcc.target/mips/octeon-exts-5.c: Likewise.
+ * gcc.target/mips/octeon-exts-6.c: Likewise.
+ * gcc.target/mips/octeon-exts-7.c: Likewise.
+ * gcc.target/mips/octeon-pop-2.c: Likewise.
+ * gcc.target/mips/octeon-seq-3.c: Likewise.
+ * gcc.target/mips/octeon-seq-4.c: Likewise.
+ * gcc.target/mips/octeon2-lx-1.c: Likewise.
+ * gcc.target/mips/octeon2-lx-2.c: Likewise.
+ * gcc.target/mips/octeon2-lx-3.c: Likewise.
+ * gcc.target/mips/pr54240.c: Likewise.
+ * gcc.target/mips/rsqrt-1.c: Likewise.
+ * gcc.target/mips/rsqrt-2.c: Likewise.
+ * gcc.target/mips/rsqrt-3.c: Likewise.
+ * gcc.target/mips/rsqrt-4.c: Likewise.
+ * gcc.target/mips/save-restore-2.c: Likewise.
+ * gcc.target/mips/save-restore-4.c: Likewise.
+ * gcc.target/mips/sb1-1.c: Likewise.
+ * gcc.target/mips/scc-1.c: Likewise.
+ * gcc.target/mips/scc-2.c: Likewise.
+ * gcc.target/mips/scc-3.c: Likewise.
+ * gcc.target/mips/scc-4.c: Likewise.
+ * gcc.target/mips/smartmips-lwxs.c: Likewise.
+ * gcc.target/mips/truncate-1.c: Likewise.
+ * gcc.target/mips/truncate-2.c: Likewise.
+ * gcc.target/mips/truncate-3.c: Likewise.
+ * gcc.target/mips/truncate-4.c: Likewise.
+ * gcc.target/mips/truncate-5.c: Likewise.
+ * gcc.target/mips/truncate-6.c: Likewise.
+ * gcc.target/mips/unaligned-1.c: Likewise.
+
+ * gcc.target/mips/dpaq_sa_l_w.c: Remove optimization flag but
+ skip for -O0. Require -fexpensive-optimizations.
+ * gcc.target/mips/dpsq_sa_l_w.c: Likewise.
+ * gcc.target/mips/dspr2-MULT.c: Likewise.
+ * gcc.target/mips/fix-r4000-2.c: Likewise.
+ * gcc.target/mips/fix-r4000-4.c: Likewise.
+ * gcc.target/mips/fix-r4000-7.c: Likewise.
+ * gcc.target/mips/fix-r4000-9.c: Likewise.
+ * gcc.target/mips/madd-1.c: Likewise.
+ * gcc.target/mips/madd-2.c: Likewise.
+ * gcc.target/mips/madd-4.c: Likewise.
+ * gcc.target/mips/maddu-1.c: Likewise.
+ * gcc.target/mips/maddu-2.c: Likewise.
+ * gcc.target/mips/maddu-3.c: Likewise.
+ * gcc.target/mips/maddu-4.c: Likewise.
+ * gcc.target/mips/msub-1.c: Likewise.
+ * gcc.target/mips/msub-2.c: Likewise.
+ * gcc.target/mips/msub-3.c: Likewise.
+ * gcc.target/mips/msub-4.c: Likewise.
+ * gcc.target/mips/msubu-1.c: Likewise.
+ * gcc.target/mips/msubu-2.c: Likewise.
+ * gcc.target/mips/msubu-3.c: Likewise.
+ * gcc.target/mips/msubu-4.c: Likewise.
+ * gcc.target/mips/mult-1.c: Likewise.
+ * gcc.target/mips/mult-4.c: Likewise.
+ * gcc.target/mips/mult-8.c: Likewise.
+ * gcc.target/mips/mult-9.c: Likewise.
+ * gcc.target/mips/mult-10.c: Likewise.
+ * gcc.target/mips/mult-11.c: Likewise.
+ * gcc.target/mips/mult-16.c: Likewise.
+
+ * gcc.target/mips/fix-r4000-11.c: Remove optimization flag but
+ skip for -O0 and -Os.
+ * gcc.target/mips/fix-r4000-12.c: Likewise.
+ * gcc.target/mips/madd-7.c: Likewise.
+ * gcc.target/mips/mips-ps-5.c: Likewise.
+ * gcc.target/mips/mips-ps-7.c: Likewise.
+ * gcc.target/mips/msub-7.c: Likewise.
+
+ * gcc.target/mips/mmcount-ra-address-2.c: Remove optimization flag but
+ skip for -O0. Require -mno-abicalls.
+ * gcc.target/mips/mmcount-ra-address-3.c: Likewise.
+
+ * gcc.target/mips/octeon-bbit-1.c: Remove optimization flag but
+ skip for -O0. Require a total number of BBIT instructions and
+ at least one of each kind.
+
+ * gcc.target/mips/octeon-bbit-2.c: Remove optimization flag but
+ skip for -O0. Require -fno-unroll-loops.
+
+ * gcc.target/mips/octeon-bbit-3.c: Remove optimization flag but
+ skip for -O0. Allow BLTZ as well as BGEZ.
+
+ * gcc.target/mips/octeon-dmul-2.c: Skip for -Os.
+
+ * gcc.target/mips/octeon-pipe-1.c: Remove optimization flag but
+ skip for -O0. Require -fschedule-insns2.
+ * gcc.target/mips/octeon2-pipe-1.c: Likewise.
+
+ * gcc.target/mips/r10k-cache-barrier-10.c: Remove optimization flag
+ but skip for -O0. Make a branch-likely more likely.
+
+ * gcc.target/mips/timode-2.c: Split each test into its own function.
+ * gcc.target/mips/timode-1.c: Likewise. Skip for -Os.
+
+ * gcc.target/mips/vr-mult-1.c: Remove optimization flag but
+ skip for -O0. Require -fpeephole2.
+ * gcc.target/mips/vr-mult-2.c: Likewise.
+
+2012-05-25 Dodji Seketeli <dodji@redhat.com>
+
+ PR preprocessor/53469
+ * gcc.dg/cpp/_Pragma7.c: New test case.
+
+2012-08-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54370
+ * gfortran.dg/do_5.f90: New.
+
+2012-08-27 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/bessel_5.f90: Remove -Wno-compare-reals
+ from dg-options as -Wall no longer implies it.
+
+2012-08-26 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * lib/scanasm.exp (scan-assembler-times_required_options): New proc.
+
+2012-08-25 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/fntmpdefarg3.C: New.
+
+2012-08-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51421
+ * g++.dg/cpp0x/auto34.C: New.
+
+2012-08-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/54363
+ * gcc.dg/pr54363.c: New test.
+
+ PR c/54355
+ * gcc.dg/pr54355.c: New test.
+
+2012-08-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR debug/52857
+ * gcc.target/i386/pr52857-1.c: New.
+ * gcc.target/i386/pr52857-2.c: Likewise.
+
+2012-08-23 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/code-readable-4.c: New test.
+
+2012-08-23 Julian Brown <julian@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * gcc.target/mips/code-readable-1.c: Add -O to options.
+
+2012-08-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/20420
+ * g++.dg/lookup/using53.C: New.
+
+2012-08-23 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/fixed-point/convert.c: Split into manageable parts:
+ * gcc.dg/fixed-point/convert-1.c: New.
+ * gcc.dg/fixed-point/convert-2.c: New.
+ * gcc.dg/fixed-point/convert-3.c: New.
+ * gcc.dg/fixed-point/convert-4.c: New.
+ * gcc.dg/fixed-point/convert-float-1.c: New.
+ * gcc.dg/fixed-point/convert-float-2.c: New.
+ * gcc.dg/fixed-point/convert-float-3.c: New.
+ * gcc.dg/fixed-point/convert-float-4.c: New.
+ * gcc.dg/fixed-point/convert-accum-neg.c: New.
+ * gcc.dg/fixed-point/convert-sat.c: New.
+ * gcc.dg/fixed-point/convert.h: New.
+
+2012-08-22 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * gcc.target/sh/pr54089-2.c: New.
+
+2012-08-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/long-double-64-1.c: New file.
+ * gcc.target/i386/long-double-64-2.c: Likewise.
+ * gcc.target/i386/long-double-64-3.c: Likewise.
+ * gcc.target/i386/long-double-64-4.c: Likewise.
+ * gcc.target/i386/long-double-80-1.c: Likewise.
+ * gcc.target/i386/long-double-80-2.c: Likewise.
+ * gcc.target/i386/long-double-80-3.c: Likewise.
+ * gcc.target/i386/long-double-80-4.c: Likewise.
+ * gcc.target/i386/long-double-80-5.c: Likewise.
+ * gcc.target/i386/long-double-80-6.c: Likewise.
+ * gcc.target/i386/long-double-80-7.c: Likewise.
+
+2012-08-22 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/54317
+ * gcc.dg/tree-ssa/vrp79.c: New testcase.
+
+2012-08-21 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/39423
+ * gcc.target/sh/pr39423-2.c: New.
+
+2012-08-21 Marc Glisse <marc.glisse@inria.fr>
+
+ * gcc.dg/tree-ssa/forwprop-19.c: New testcase.
+ * gcc.dg/fold-perm.c: Likewise.
+
+2012-08-20 Jan Hubicka <jh@suse.cz>
+
+ PR fortran/48636
+ * gcc.dg/ipa/inlinehint-1.c: New.
+
+2012-08-20 Florian Weimer <fweimer@redhat.com>
+
+ PR c++/19351
+ * g++.dg/init/new38.C: New test.
+ * g++.dg/init/new39.C: New test.
+
+2012-08-20 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54089
+ * gcc.target/sh/pr54089-1.c: New.
+
+2012-08-20 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * gcc.target/sh/pr51244-11.c: New.
+
+2012-08-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54301
+ * gfortran.dg/warn_target_lifetime_2.f90: New.
+
+2012-08-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/10416
+ * g++.dg/warn/Wunused-var-17.C: New.
+
+2012-08-20 Patrick Marlier <patrick.marlier@gmail.com>
+
+ PR middle-end/53992
+ * gcc.dg/gomp/pr53992.c: New test.
+
+2012-08-20 Richard Earnshaw <rearnsha@arm.com>
+
+ PR tree-ssa/54295
+ * gcc.c-torture/execute/20120817-1.c: New test.
+
+2012-08-20 Richard Earnshaw <rearnsha@arm.com>
+
+ * gcc.target/arm/thumb-16bit-ops.c (f): This test uses a 16-bit
+ add instruction.
+ (f2): New test that really does need adds.
+
+2012-08-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54327
+ * gcc.dg/torture/pr54327.c: New testcase.
+
+2012-08-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54321
+ * gcc.c-torture/compile/pr54321.c: New test.
+
+2012-08-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54301
+ * gfortran.dg/warn_target_lifetime_1.f90: New.
+
+2012-08-19 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/54298
+ * gfortran.dg/real_compare_1.f90: New test case.
+ * gfortran.dg/bessel_5.f90: Add -Wno-compare-reals to options.
+
+2012-08-18 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/ipa/iinline-1.c: Update testcase to test inline hints.
+
+2012-08-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/39290
+ * gfortran.dg/interface_37.f90: New test.
+
+2012-08-17 H.J. Lu <hongjiu.lu@intel.com>
+ Gary Funck <gary@intrepid.com>
+
+ PR target/20020
+ * gcc.target/i386/pr20020-1.c: New test.
+ * gcc.target/i386/pr20020-2.c: Likewise.
+ * gcc.target/i386/pr20020-3.c: Likewise.
+
+2012-08-17 Marc Glisse <marc.glisse@inria.fr>
+
+ * gcc.target/i386/perm-concat.c: New test.
+
+2012-08-17 Julian Brown <julian@codesourcery.com>
+
+ * gcc.target/arm/div64-unwinding.c: New test.
+
+2012-08-17 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/torture/Wsizeof-pointer-memaccess1.c: New test.
+
+2012-08-16 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/54236
+ * gcc.target/sh/pr54236-1.c: New.
+
+2012-08-16 Hans-Peter Nilsson <hp@axis.com>
+
+ * lib/target-supports.exp (check_effective_target_sync_int_long)
+ (check_effective_target_sync_char_short): Enable for crisv32-*
+ and cris-*.
+
+ PR middle-end/54261
+ * gcc.dg/torture/pr54261-1.c: New test.
+
+2012-08-15 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54243
+ PR fortran/54244
+ * gfortran.dg/typebound_call_24.f03: New.
+
+2012-08-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/54245
+ * gcc.dg/tree-ssa/pr54245.c: New test.
+
+2012-08-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/54240
+ * gcc.target/powerpc/pr54240.c: New test.
+ * gcc.target/mips/pr54240.c: Likewise.
+
+2012-08-14 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/52933
+ * gcc.target/sh/pr52933-1.c: New.
+ * gcc.target/sh/pr52933-2.c: New.
+
+2012-08-14 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/50751
+ * gcc.target/sh/pr50751-8.c: New.
+
+2012-08-14 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/47586
+ * gfortran.dg/typebound_proc_20.f90: Enable runtime test.
+ * gfortran.dg/typebound_proc_27.f03: New test.
+
+2012-08-14 Sterling Augustine <saugustine@google.com>
+
+ * g++.dg/debug/dwarf2/pubnames-2.C: Adjust.
+
+2012-08-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/40881
+ * gfortran.dg/data_constraints_3.f90: New.
+ * gfortran.dg/data_constraints_1.f90: Add dg-options ""
+ to disable -pedantic compilation.
+ * gfortran.dg/pr37243.f: Ditto.
+ * gfortran.dg/g77/19990826-3.f: Ditto.
+ * gfortran.dg/g77/20020307-1.f : Ditto.
+ * gfortran.dg/g77/980310-3.f: Ditto.
+
+2012-08-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54234
+ * gfortran.dg/warn_conversion_4.f90: New.
+
+2012-08-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/53411
+ PR rtl-optimization/53495
+ * gcc.c-torture/compile/pr53411.c: New test.
+ * gcc.c-torture/compile/pr53495.c: New test.
+
+2012-08-13 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-prof/update-loopch.c: Adjust.
+
+2012-08-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54200
+ * gcc.dg/guality/pr54200.c: New testcase.
+ * gcc.dg/tree-ssa/slsr-8.c: Adjust.
+
+2012-08-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * gcc.target/sh/prefetch.c: Add -m3* to inclusion list.
+
+2012-08-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * gcc.target/sh/pr51244-7.c: New.
+ * gcc.target/sh/pr51244-8.c: New.
+ * gcc.target/sh/pr51244-9.c: New.
+ * gcc.target/sh/pr51244-10.c: New.
+
+2012-08-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * gcc.target/sh/pr50749-sf-postinc-1.c: Skip for -m3. Don't skip for
+ -m2e or -m2a.
+ * gcc.target/sh/pr50749-sf-postinc-3.c: Likewise.
+ * gcc.target/sh/pr53511-1.c: Likewise.
+ * gcc.target/sh/pr50749-sf-predec-1.c: Likewise.
+ * gcc.target/sh/pr50749-sf-predec-3.c: Likewise.
+ * gcc.target/sh/pr53512-1.c: Skip for -m3*.
+ * gcc.target/sh/pr53512-3.c: Likewise.
+ * gcc.target/sh/pr21255-3.c: Skip for single precision FPU targets.
+
+2012-08-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/39423
+ * gcc.c-torture/compile/pr39423-1.c: New.
+ * gcc.c-torture/compile/pr39423-2.c: New.
+
+2012-08-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54221
+ * vect/vect-gems.f90: Don't mark module vars as PRIVATE as
+ they appear uninitialized on the RHS.
+ * gfortran.dg/public_private_module_6.f90: New.
+
+2012-08-11 Martin Jambor <mjambor@suse.cz>
+
+ PR fortran/48636
+ * gfortran.dg/pr48636.f90: New test.
+
+2012-08-10 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/torture/vector-shuffle1.c (f): Pass vectors indirectly
+ to avoid warnings.
+ (main): Adjust caller.
+
+2012-08-10 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/matrix/*.c: Adjust and move ...
+ * gcc.dg/torture/: ... here.
+ * gcc.dg/matrix: Remove directory.
+
+2012-08-10 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/54219
+ * gcc.dg/torture/vector-shuffle1.c: New testcase.
+
+2012-08-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR middle-end/54211
+ * gcc.dg/tree-ssa/pr54211.c: New test.
+
+2012-08-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * lib/target-supports.exp (check_effective_target_long_neq_int): New.
+ * gcc.dg/tree-ssa/slsr-30.c: Check for long_neq_int effective target.
+
+2012-08-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54109
+ * gcc.dg/torture/pr54109.c: New testcase.
+ * gcc.dg/tree-ssa/forwprop-1.c: Adjust.
+ * gcc.dg/tree-ssa/forwprop-2.c: Likewise.
+
+2012-08-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54027
+ * gcc.dg/torture/pr54027.c: New testcase.
+
+2012-08-10 Richard Guenther <rguenther@suse.de>
+
+ * g++.dg/plugin/selfassign.c: Adjust.
+ * gcc.dg/plugin/selfassign.c: Likewise.
+ * gcc.dg/strlenopt-11.c: Likewise.
+ * gcc.dg/strlenopt-13.c: Likewise.
+ * gcc.dg/no-strict-overflow-4.c: Likewise.
+ * gcc.dg/strict-overflow-4.c: Likewise.
+ * gcc.dg/tree-ssa/alias-11.c: Likewise.
+ * gcc.dg/tree-ssa/alias-6.c: Likewise.
+ * gcc.dg/tree-ssa/asm-3.c: Likewise.
+ * gcc.dg/tree-ssa/pr18908.c: Likewise.
+ * gcc.dg/tree-ssa/pr19431.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-pre-21.c: Likewise.
+ * gcc.dg/tree-ssa/phi-opt-10.c: Likewise.
+ * gcc.dg/tree-ssa/phi-opt-7.c: Likewise.
+ * gcc.dg/tree-ssa/slsr-27.c: Likewise.
+ * gcc.dg/tree-ssa/slsr-28.c: Likewise.
+ * gcc.dg/tree-ssa/slsr-29.c: Likewise.
+ * gcc.dg/pr46309.c: Likewise.
+ * gcc.dg/tree-ssa/loop-5.c: Likewise.
+
+2012-08-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.c-torture/compile/20120727-1.c (dg-options): Add -mfpmath=387
+ for x86 targets.
+ * gcc.c-torture/compile/20120727-2.c: New test.
+
+2012-08-09 Martin Jambor <mjambor@suse.cz>
+
+ * gcc.dg/ipa/iinline-4.c: New test.
+ * gcc.dg/ipa/iinline-5.c: Likewise.
+ * gcc.dg/ipa/iinline-6.c: Likewise.
+ * gcc.dg/ipa/iinline-7.c: Likewise.
+ * gcc.dg/lto/20120723_0.c: Likewise.
+ * gcc.dg/lto/20120723_1.c: Likewise.
+
+2012-08-09 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/39423
+ * gcc.target/sh/pr39423-1.c: New.
+
+2012-08-09 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * gcc.target/sh/pr51244-5: New.
+ * gcc.target/sh/pr51244-6: New.
+
+2012-08-09 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * gcc.target/i386/adx-addxcarry32-3.c: New.
+ * gcc.target/i386/adx-addxcarry64-3.c: New.
+
+2012-08-09 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/53701
+ * gcc.dg/pr53701.c: New test.
+
+2012-08-09 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gcc.c-torture/compile/20120727-1.c: New test.
+
+2012-08-09 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54199
+ * gfortran.dg/intrinsic_shadow_4.f90: New.
+
+2012-08-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.dg/tree-ssa/slsr-30.c: Require non-ilp32. Remove dg-skip-if.
+
+2012-08-08 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c-torture/execute/20120808-1.c: New test.
+
+2012-08-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/54157
+ * gcc.target/i386/pr54157.c: New file.
+
+2012-08-08 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * gcc.target/i386/adx-addcarryx32-1.c: New.
+ * gcc.target/i386/adx-addcarryx32-2.c: New.
+ * gcc.target/i386/adx-addcarryx64-1.c: New.
+ * gcc.target/i386/adx-addcarryx64-2.c: New.
+ * gcc.target/i386/adx-check.h: New.
+ * gcc.target/i386/i386.exp (check_effective_target_adx): New.
+ * gcc.target/i386/sse-12.c: Add -madx.
+ * gcc.target/i386/sse-13.c: Ditto.
+ * gcc.target/i386/sse-14.c: Ditto.
+ * gcc.target/i386/sse-22.c: Ditto.
+ * gcc.target/i386/sse-23.c: Ditto.
+ * g++.dg/other/i386-2.C: Ditto.
+ * g++.dg/other/i386-3.C: Ditto.
+
+2012-08-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * gcc.dg/tree-ssa/slsr-5.c: New.
+ * gcc.dg/tree-ssa/slsr-6.c: New.
+ * gcc.dg/tree-ssa/slsr-7.c: New.
+ * gcc.dg/tree-ssa/slsr-8.c: New.
+ * gcc.dg/tree-ssa/slsr-9.c: New.
+ * gcc.dg/tree-ssa/slsr-10.c: New.
+ * gcc.dg/tree-ssa/slsr-11.c: New.
+ * gcc.dg/tree-ssa/slsr-12.c: New.
+ * gcc.dg/tree-ssa/slsr-13.c: New.
+ * gcc.dg/tree-ssa/slsr-14.c: New.
+ * gcc.dg/tree-ssa/slsr-15.c: New.
+ * gcc.dg/tree-ssa/slsr-16.c: New.
+ * gcc.dg/tree-ssa/slsr-17.c: New.
+ * gcc.dg/tree-ssa/slsr-18.c: New.
+ * gcc.dg/tree-ssa/slsr-19.c: New.
+ * gcc.dg/tree-ssa/slsr-20.c: New.
+ * gcc.dg/tree-ssa/slsr-21.c: New.
+ * gcc.dg/tree-ssa/slsr-22.c: New.
+ * gcc.dg/tree-ssa/slsr-23.c: New.
+ * gcc.dg/tree-ssa/slsr-24.c: New.
+ * gcc.dg/tree-ssa/slsr-25.c: New.
+ * gcc.dg/tree-ssa/slsr-26.c: New.
+ * gcc.dg/tree-ssa/slsr-30.c: New.
+ * gcc.dg/tree-ssa/slsr-31.c: New.
+
+2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc.dg/tree-prof/update-loopch.c: Ask for dump with blocks info.
+ * gcc.dg/tree-ssa/attr-hotcold-2.c: Likewise.
+ * gcc.dg/tree-ssa/pr18133-1.c: Likewise.
+
+2012-08-06 Cary Coutant <ccoutant@google.com>
+
+ * g++.dg/debug/dwarf2/non-virtual-thunk.C: New test case.
+
+2012-08-06 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/35831
+ * gfortran.dg/dummy_procedure_5.f90: Modified.
+ * gfortran.dg/dummy_procedure_8.f90: New.
+ * gfortran.dg/interface_26.f90: Modified.
+ * gfortran.dg/proc_ptr_11.f90: Modified.
+ * gfortran.dg/proc_ptr_15.f90: Modified.
+ * gfortran.dg/proc_ptr_result_5.f90: Modified.
+ * gfortran.dg/typebound_override_1.f90: Modified.
+ * gfortran.dg/typebound_proc_6.f03: Modified.
+
+2012-08-06 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/51938
+ PR tree-optimization/52005
+ * gcc.dg/tree-ssa/ssa-ifcombine-8.c: New testcase.
+ * gcc.dg/tree-ssa/ssa-ifcombine-9.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-ifcombine-10.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-ifcombine-11.c: Likewise.
+
+2012-08-06 Dodji Seketeli <dodji@redhat.com>
+
+ Avoid crashing on erroneous static_assert usage
+ * g++.dg/cpp0x/static_assert8.C: New test.
+
+2012-08-06 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/sfinae38.C: New.
+
+2012-08-06 Marc Glisse <marc.glisse@inria.fr>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54165
+ * g++.dg/conversion/void2.C: New.
+
+2012-08-06 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/tree-ssa/vrp78.c: New test.
+
+2012-08-04 Sandra Loosemore <sandra@codesourcery.com>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+ * g++.dg/opt/enum2.C: Require fpic target.
+ * g++.dg/lto/20090303_0.C: Likewise.
+
+2012-08-04 Sandra Loosemore <sandra@codesourcery.com>
+ Catherine Moore <clm@codesourcery.com>
+
+ * gcc.target/mips/clear-cache-1.c: Test for alternate cache
+ flush function names too.
+ * gcc.target/mips/clear-cache-1.c: Likewise.
+
+2012-08-03 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ PR target/54156
+ * gcc.dg/vect/pr53773.c: Change to use optimized dump.
+
+2012-08-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/54166
+ * gfortran.dg/array_5.f90: New test.
+
+2012-08-03 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/30318
+ * gcc.dg/tree-ssa/vrp77.c: New testcase.
+
+2012-08-03 Marc Glisse <marc.glisse@inria.fr>
+
+ * g++.dg/ext/vector17.C: New testcase.
+
+2012-08-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/51931
+ * gcc.c-torture/compile/20001226-1.c: Remove nomips16 attribute.
+ * g++.dg/opt/longbranch1.C: Likewise.
+
+2012-08-02 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/53805
+ * gcc.dg/fold-notunord.c: New testcase.
+
+2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/48820
+ * gfortran.dg/assumed_rank_bounds_1.f90: New test.
+ * gfortran.dg/assumed_rank_bounds_2.f90: New test.
+
+2012-08-02 Jason Merrill <jason@redhat.com>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51213 (again)
+ * g++.dg/cpp0x/sfinae37.C: Extend.
+
+2012-08-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50672
+ * g++.dg/torture/pr50672.C: New testcase.
+
+2012-08-02 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54147
+ * gfortran.dg/abstract_type_6.f03: Modified.
+ * gfortran.dg/proc_ptr_comp_3.f90: Modified.
+ * gfortran.dg/proc_ptr_comp_35.f90: New.
+ * gfortran.dg/typebound_proc_9.f03: Modified.
+ * gfortran.dg/typebound_proc_26.f90: New.
+
+2012-08-02 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/torture/pta-callused-1.c: Adjust.
+ * gcc.dg/torture/pta-ptrarith-3.c: Likewise.
+ * gcc.dg/torture/ssa-pta-fn-1.c: Likewise.
+ * gcc.dg/tree-ssa/alias-19.c: Likewise.
+ * gcc.dg/tree-ssa/pta-escape-1.c: Likewise.
+ * gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
+ * gcc.dg/tree-ssa/pta-escape-3.c: Likewise.
+ * gcc.dg/tree-ssa/pta-ptrarith-1.c: Likewise.
+ * gcc.dg/tree-ssa/pta-ptrarith-2.c: Likewise.
+
+2012-08-01 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/54033
+ * gfortran.dg/include_6.f90: New test case.
+ * gfortran.dg/include_7.f90: New test case.
+ * gfortran.dg/include_3.f90: Add dg-warning for missing directory.
+
+2012-08-01 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/tree-ssa/vrp76.c: New test.
+
+2012-08-01 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ PR tree-optimization/46556
+ * gcc.dg/tree-ssa/slsr-27.c: New.
+ * gcc.dg/tree-ssa/slsr-28.c: New.
+ * gcc.dg/tree-ssa/slsr-29.c: New.
+
+2012-07-31 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/42418
+ * gfortran.dg/proc_decl_29.f90: New.
+
+2012-07-31 Dehao Chen <dehao@google.com>
+
+ * gcc.dg/predict-7.c: New test.
+
+2012-07-31 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/54134
+ * gfortran.dg/typebound_override_3.f90: New.
+
+2012-07-31 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ PR tree-optimization/53773
+ * gcc.dg/vect/pr53773.c: New test.
+
+2012-07-31 Nick Clifton <nickc@redhat.com>
+
+ * gcc.dg/stack-usage-1.c (SIZE): Define for FRV,
+ and for XStormy16.
+
+2012-07-31 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/c_funloc_tests_6.f90: New.
+ * gfortran.dg/c_funloc_tests_7.f90: New.
+ * gfortran.dg/c_funloc_tests_5.f03: Compile with -std=f2003.
+
+2012-07-31 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53624
+ * g++.dg/cpp0x/temp_default5.C: New.
+
+2012-07-30 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/51081
+ * gfortran.dg/proc_ptr_37.f90: New.
+
+2012-07-30 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * lib/target-supports.exp
+ (check_effective_target_vect_natural_alignment): New function.
+ * gcc.dg/align-2.c: Only run on targets with natural alignment
+ of vector types.
+ * gcc.dg/vect/slp-25.c: Adjust tests for targets without natural
+ alignment of vector types.
+
+2012-07-30 Kirill Yukhin <kirill.yukhin@intel.com>
+ Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * gcc.target/i386/rdseed16-1.c: New.
+ * gcc.target/i386/rdseed32-1.c: Ditto
+ * gcc.target/i386/rdseed64-1.c: Ditto
+ * gcc.target/i386/sse-12.c: Add -mrdseed.
+ * gcc.target/i386/sse-13.c: Ditto.
+ * gcc.target/i386/sse-14.c: Ditto.
+ * g++.dg/other/i386-2.C: Ditto.
+ * g++.dg/other/i386-3.C: Ditto.
+
+2012-07-30 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * gcc.target/sh/pr51244-4.c: New.
+
+2012-07-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * gfortran.dg/bind_c_array_params_2.f90: Add "-mno-explicit-relocs"
+ for alpha*-*-* targets. Cleanup original tree dump.
+
+2012-07-27 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * gcc.target/powerpc/rs6000-power2-1.c: Delete.
+ * gcc.target/powerpc/rs6000-power2-2.c: Delete.
+
+2012-07-27 Anna Tikhonova <anna.tikhonova@intel.com>
+
+ * gcc.dg/20020201-1.c: Remove declarations for exit, abort,
+ rand, srand. Include <stdlib.h>.
+
+2012-07-26 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.dg/pr45259.c: Only -fpic depends on fpic support.
+
+2012-07-26 Richard Henderson <rth@redhat.com>
+
+ * gcc.dg/attr-hotcold-1.c: New.
+ * gcc.dg/tree-ssa/attr-hotcold-2.c: New.
+
+2012-07-26 Andrew Jenner <andrew@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * gcc.c-torture/compile/pr50380.c: Add code to cause cycle of length 2.
+
+2012-07-26 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/contiguous_1.f90: Update dg-error.
+ * gfortran.dg/proc_ptr_32.f90: Ditto.
+
+2012-07-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54098
+ * gcc.dg/torture/pr54098.c: New testcase.
+
+2012-07-26 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * gcc.target/arm/neon/vld1Q_dupu64.c: Regenerate.
+ * gcc.target/arm/neon/vld1Q_dups64.c: Likewise.
+
+2012-07-26 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/44354
+ * gfortran.dg/array_constructor_39.f90: New test.
+
+2012-07-26 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/44354
+ * gfortran.dg/array_constructor_38.f90: New test.
+
+2012-07-25 Janis Johnson <janisjo@codesourcery.com>
+
+ * g++.dg/cpp0x/nullptr21.c: Remove printfs, make self-checking.
+
+2012-07-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/noreturn5.ad[sb]: New test.
+
+2012-07-25 Sandra Loosemore <sandra@codesourcery.com>
+ Paul Brook <paul@codesourcery.com>
+
+ PR target/53633
+
+ * lib/target-suports.exp (check_effective_target_naked_functions): New.
+ * c-c++-common/pr53633.c: New test.
+
+2012-07-25 Siddhesh Poyarekar <siddhesh@redhat.com>
+
+ * gcc.target/i386/asm-dialect-1.c: New test case.
+
+2012-07-25 Kirill Yukhin <kirill.yukhin@intel.com>
+ Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * gcc.target/i386/prefetchw-1.c: New.
+ * gcc.target/i386/sse-12.c: Add -mprfchw.
+ * gcc.target/i386/sse-13.c: Ditto.
+ * gcc.target/i386/sse-14.c: Ditto.
+ * gcc.target/i386/sse-22.c: Ditto.
+ * gcc.target/i386/sse-23.c: Ditto.
+ * g++.dg/other/i386-2.C: Ditto.
+ * g++.dg/other/i386-3.C: Ditto.
+
+2012-07-24 Janis Johnson <janisjo@codesourcery.com>
+
+ * lib/gcc-dg.exp (process-message): Don't ignore errors.
+
+2012-07-24 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/54051
+ * gcc.target/arm/pr54051.c: New.
+ * gcc.target/arm/vfp-1.c: Adjust test.
+
+2012-07-24 Julian Brown <julian@codesourcery.com>
+
+ * lib/target-supports.exp (check_effective_target_arm_hf_eabi): New.
+ * gcc.dg/torture/stackalign/builtin-apply-2.c: Skip for
+ hard-float ARM.
+
+2012-07-23 Paul Brook <paul@codesourcery.com>
+
+ * g++.dg/other/armv7m-1.c: New test.
+
+2012-07-23 Julian Brown <julian@codesourcery.com>
+
+ * gcc.c-torture/execute/20101011-1.c (__aeabi_idiv0): Define for
+ ARM.
+ (DO_TEST): Define to 1 for appropriate ARM targets.
+
+2012-07-22 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR tree-optimization/53881
+ * gcc.dg/pr53881.c: Renamed to ...
+ * gcc.dg/pr53881-1.c: ... this.
+ * gcc.dg/pr53881-2.c: New test.
+
+2012-07-22 Hans-Peter Nilsson <hp@axis.com>
+
+ Handle recent changes in default atomics for cris*-*-linux*.
+ * gcc.target/cris/torture/sync-mis-xchg-i-1ml.c,
+ gcc.target/cris/torture/sync-mis-xchg-i-2ml.c,
+ gcc.target/cris/torture/sync-mis-xchg-i-3ml.c,
+ gcc.target/cris/torture/sync-mis-xchg-s-1ml.c,
+ gcc.target/cris/torture/sync-mis-op-i-1ml.c,
+ gcc.target/cris/torture/sync-mis-op-i-2ml.c,
+ gcc.target/cris/torture/sync-mis-op-i-3ml.c,
+ gcc.target/cris/torture/sync-mis-op-s-1ml.c: New tests.
+ * gcc.target/cris/torture/sync-mis-op-i-2a.c: Make sure
+ -mno-unaligned-atomic-may-use-library is in effect for
+ cris*-*-linux*.
+ * gcc.target/cris/torture/sync-mis-xchg-i-1.c,
+ gcc.target/cris/torture/sync-mis-xchg-i-2.c,
+ gcc.target/cris/torture/sync-mis-xchg-i-3.c,
+ gcc.target/cris/torture/sync-mis-xchg-i-2a.c,
+ gcc.target/cris/torture/sync-mis-xchg-s-1.c,
+ gcc.target/cris/torture/sync-mis-op-i-1.c,
+ gcc.target/cris/torture/sync-mis-op-i-2.c,
+ gcc.target/cris/torture/sync-mis-op-i-1a.c,
+ gcc.target/cris/torture/sync-mis-op-i-3.c,
+ gcc.target/cris/torture/sync-mis-op-i-3a.c,
+ gcc.target/cris/torture/sync-mis-op-s-1a.c,
+ gcc.target/cris/torture/sync-mis-xchg-i-1a.c,
+ gcc.target/cris/torture/sync-mis-xchg-i-3a.c,
+ gcc.target/cris/torture/sync-mis-xchg-s-1a.c: Similar.
+ * gcc.target/cris/torture/sync-mis-op-s-1.c: Ditto.
+ (main): Remove local variable x.
+ [mis_ok]: Check that atomics don't fail.
+
+2012-07-21 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.dg/tree-ssa/vrp72.c: New test.
+ * gcc.dg/tree-ssa/vrp73.c: New test.
+ * gcc.dg/tree-ssa/vrp74.c: New test.
+ * gcc.dg/tree-ssa/vrp75.c: New test.
+
+2012-07-21 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.dg/tree-ssa/alias-21.c: New testcase.
+ * gcc.dg/tree-ssa/alias-22.c: New testcase.
+
+2012-07-21 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.target/mips/octeon-pop-2.c: New testcase.
+
+2012-07-21 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48820
+ * gfortran.dg/assumed_rank_3.f90: New.
+ * gfortran.dg/assumed_rank_11.f90: New.
+ * gfortran.dg/assumed_rank_1.f90: Update dg-error.
+ * gfortran.dg/assumed_rank_2.f90: Update dg-error.
+ * gfortran.dg/assumed_rank_7.f90: Update dg-error.
+
+2012-07-21 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.target/mips/unaligned-1.c: New testcase.
+
+2012-07-21 Hans-Peter Nilsson <hp@axis.com>
+
+ * gcc.c-torture/execute/20101011-1.c (DO_TEST): Define as 0 for CRIS.
+
+2012-07-20 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/bind_c_array_params_2.f90: New.
+ * gfortran.dg/bind_c_array_params.f03: Add -std=f2003
+ and update dg-error.
+
+2012-07-20 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/assumed_rank_12.f90: Update dg-error.
+
+2012-07-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/54038
+ * g++.dg/other/array7.C: New.
+
+2012-07-20 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc.dg/tree-prof/update-loopch.c: Look for counts on the dumps of
+ the basic block and check loop depth.
+ * gcc.dg/tree-ssa/pr18133-1.c: Dump details, not blocks. Update
+ matching patterns and comments.
+ * gcc.dg/tree-ssa/20031021-1.c: Fix check patterns.
+ * gcc.dg/tree-ssa/vector-2.c: Likewise.
+
+2012-07-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/28656
+ * c-c++-common/pr28656.c: New test.
+
+2012-07-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/54026
+ * g++.dg/init/mutable1.C: New.
+
+2012-07-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48820
+ * gfortran.dg/assumed_type_3.f90: Update dg-error.
+ * gfortran.dg/assumed_rank_1.f90: New.
+ * gfortran.dg/assumed_rank_1_c.c: New.
+ * gfortran.dg/assumed_rank_2.f90: New.
+ * gfortran.dg/assumed_rank_4.f90: New.
+ * gfortran.dg/assumed_rank_5.f90: New.
+ * gfortran.dg/assumed_rank_6.f90: New.
+ * gfortran.dg/assumed_rank_7.f90: New.
+ * gfortran.dg/assumed_rank_8.f90: New.
+ * gfortran.dg/assumed_rank_8_c.c: New.
+ * gfortran.dg/assumed_rank_9.f90: New.
+ * gfortran.dg/assumed_rank_10.f90: New.
+ * gfortran.dg/assumed_rank_12.f90: New.
+
+2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt25.adb: New test.
+ * gnat.dg/opt25_pkg1.ad[sb]: New helper.
+ * gnat.dg/opt25_pkg2.ad[sb]: Likewise.
+
+2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/aggr20.ad[sb]: New test.
+ * gnat.dg/aggr20_pkg.ads: New helper.
+
+2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/derived_type3.adb: New test.
+ * gnat.dg/derived_type3_pkg.ad[sb]: New helper.
+
+2012-07-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/53942
+ * gcc.dg/pr53942.c: New test.
+
+2012-07-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/54021
+ * g++.dg/cpp0x/constexpr-builtin2.C: New.
+
+2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr38.adb: New test.
+
+2012-07-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/54017
+ * c-c++-common/gomp/pr54017.c: New test.
+
+2012-07-19 Richard Guenther <rguenther@suse.de>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/loop_optimization11.adb: New testcase.
+ * gnat.dg/loop_optimization11_pkg.ads: Likewise.
+
+2012-07-18 Paolo Carlini <paolo.carlini@oracle.com>
+ Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/sfinae37.C: New.
+ * g++.dg/template/access23.C: New.
+ * g++.dg/template/access7.C: Adjust.
+ * g++.dg/template/sfinae10.C: Don't expect errors.
+ * g++.dg/template/sfinae6_neg.C: Don't expect errors.
+
+2012-07-18 Julian Brown <julian@codesourcery.com>
+ Sandra Loosemore <sandra@codesroucery.com>
+
+ * gcc.c-torture/execute/20101011-1.c: Skip on bare-metal m68k.
+
+2012-07-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/noreturn4.ad[sb]: New test.
+ * gnat.dg/noreturn4_pkg.ads: New helper.
+
+2012-07-18 Jie Zhang <jzhang918@gmail.com>
+ Julian Brown <julian@codesourcery.com>
+
+ * gcc.target/arm/neon-vdup-1.c: New test case.
+ * gcc.target/arm/neon-vdup-2.c: New test case.
+ * gcc.target/arm/neon-vdup-3.c: New test case.
+ * gcc.target/arm/neon-vdup-4.c: New test case.
+ * gcc.target/arm/neon-vdup-5.c: New test case.
+ * gcc.target/arm/neon-vdup-6.c: New test case.
+ * gcc.target/arm/neon-vdup-7.c: New test case.
+ * gcc.target/arm/neon-vdup-8.c: New test case.
+ * gcc.target/arm/neon-vdup-9.c: New test case.
+ * gcc.target/arm/neon-vdup-10.c: New test case.
+ * gcc.target/arm/neon-vdup-11.c: New test case.
+ * gcc.target/arm/neon-vdup-12.c: New test case.
+ * gcc.target/arm/neon-vdup-13.c: New test case.
+ * gcc.target/arm/neon-vdup-14.c: New test case.
+ * gcc.target/arm/neon-vdup-15.c: New test case.
+ * gcc.target/arm/neon-vdup-16.c: New test case.
+ * gcc.target/arm/neon-vdup-17.c: New test case.
+ * gcc.target/arm/neon-vdup-18.c: New test case.
+ * gcc.target/arm/neon-vdup-19.c: New test case.
+ * gcc.target/arm/neon-combine-sub-abs-into-vabd.c: Make intrinsic
+ arguments non-constant.
+
+2012-07-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53970
+ * g++.dg/torture/pr53970.C: New testcase.
+
+2012-07-18 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/38621
+ * gcc.c-torture/compile/pr38621.c: New.
+
+2012-07-18 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/33135
+ * gcc.target/sh/pr33135-1.c: New.
+ * gcc.target/sh/pr33135-2.c: New.
+ * gcc.target/sh/pr33135-3.c: New.
+ * gcc.target/sh/pr33135-4.c: New.
+
+2012-07-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/53995
+ * g++.dg/parse/enum9.C: New.
+
+2012-07-17 Kazu Hirata <kazu@codesourcery.com>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ * gcc.target/m68k/pr36134.c: Use dg-skip-if to skip the testcase
+ if there is a conflict with -mcpu=. Use -mcpu=5208.
+
+2012-07-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/53989
+ * g++.dg/template/array23.C: New.
+
+2012-07-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53985
+ * gfortran.dg/bind_c_usage_26.f90: New.
+ * gfortran.dg/bind_c_procs.f03: Add dg-options "-Wc-binding-type".
+ * gfortran.dg/bind_c_usage_13.f03: Ditto.
+ * gfortran.dg/bind_c_usage_18.f90: Ditto.
+ * gfortran.dg/interop_params.f03: Ditto.
+
+2012-07-17 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/inherit8.C: Adjust.
+ * g++.dg/template/using21.C: Adjust.
+ * g++.dg/template/using22.C: Adjust.
+
+ PR c++/53549
+ * g++.dg/template/current-inst1.C: New.
+ * g++.dg/parse/crash35.C: Adjust.
+
+2012-07-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52101
+ * gfortran.dg/oldstyle_4.f90: New.
+
+2012-07-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/49265
+ * gfortran.dg/module_procedure_double_colon_3.f90: New.
+ * gfortran.dg/module_procedure_double_colon_4.f90: New.
+
+2012-07-16 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/parse/access8.C: Adjust.
+ * g++.dg/template/sfinae6_neg.C: Adjust.
+
+2012-07-16 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/53824
+ * gfortran.dg/coarray_allocate_1.f90: New test.
+
+2012-07-16 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.c-torture/execute/bswap-1.c: New testcase.
+ * gcc.c-torture/compile/unalign-1.c: New testcase.
+ * gcc.c-torture/compile/20120524-1.c: New testcase.
+ * gcc.c-torture/compile/20101216-1.c: New testcase.
+
+2012-07-16 Dehao Chen <dehao@google.com>
+
+ Revert
+ 2012-07-10 Dehao Chen <dehao@google.com>
+
+ * gcc.dg/debug_info_inline.c: New test.
+
+2012-07-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/53956
+ * gfortran.dg/proc_decl_28.f90: New.
+
+2012-07-16 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.dg/torture/builtins-1.c: New testcase.
+
+2012-07-16 Hans-Peter Nilsson <hp@axis.com>
+
+ * gcc.target/cris/sync-2i.c, gcc.target/cris/sync-2s.c,
+ gcc.target/cris/sync-3i.c, gcc.target/cris/sync-3s.c,
+ gcc.target/cris/sync-4i.c, gcc.target/cris/sync-4s.c,
+ gcc.target/cris/sync-1-v10.c,
+ gcc.target/cris/sync-1-v32.c: For cris*-*-linux*, also
+ pass -mno-unaligned-atomic-may-use-library.
+ * gcc.target/cris/sync-xchg-1.c: New test.
+ * gcc.target/cris/20011127-1.c: Adjust to %P being a
+ valid register operand output modifier.
+
+2012-07-15 Andreas Schwab <schwab@linux-m68k.org>
+
+ * g++.dg/debug/dwarf2/pubnames-2.C: Support all known comment
+ characters.
+
+2012-07-13 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.target/mips/octeon2-pipe-1.c: Use cleanup-rtl-dump
+ rather than cleanup-tree-dump.
+ * gcc.target/mips/octeon-pipe-1.c: Likewise.
+
+2012-07-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53907
+ * gcc.target/i386/pr53907.c: New testcase.
+
+2012-07-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53922
+ * gcc.dg/torture/pr53922.c: New testcase.
+
+2012-07-13 Hans-Peter Nilsson <hp@axis.com>
+
+ PR rtl-optimization/53908
+ * gcc.dg/torture/pr53908.c: New test.
+
+2012-07-13 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/53531
+ * g++.dg/cpp0x/variadic135.C: New.
+
+2012-07-12 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/sfinae6_neg.C: Adjust.
+
+2012-07-12 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/c_f_pointer_shape_tests_5.f90: New.
+ * gfortran.dg/c_f_pointer_tests_3.f90: Update
+ scan-tree-dump-times pattern.
+
+2012-07-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * g++.dg/debug/dwarf2/pubnames-2.C: Allow for / comments.
+
+2012-07-11 Jason Merrill <jason@redhat.com>
+
+ DR 1402
+ * g++.g/cpp0x/defaulted37.C: New.
+
+2012-07-11 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ PR target/53859
+ * gcc.target/arm/pr53859.c: New test.
+
+2012-07-10 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53886
+ * gcc.c-torture/compile/pr53886.c: New.
+
+2012-07-10 Dehao Chen <dehao@google.com>
+
+ * gcc.dg/debug_info_inline.c: New test.
+
+2012-07-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/53733
+ * g++.dg/cpp0x/defaulted36.C: New.
+ * g++.dg/cpp0x/defaulted21.C: Adjust.
+
+ * g++.dg/cpp0x/implicit13.C: Add vbase and member tests.
+
+2012-07-09 Sterling Augustine <saugustine@google.com>
+
+ * g++.dg/debug/dwarf2/pubnames-2.C: New.
+
+2012-07-09 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR tree-optimization/53887
+ * gcc.dg/pr53887.c: New test.
+
+2012-07-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/53882
+ * g++.dg/cpp0x/nullptr29.C: New.
+
+2012-07-09 Tom de Vries <tom@codesourcery.com>
+ Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/builtin-unreachable-6.c: New test.
+ * gcc.dg/builtin-unreachable-5.c: New test.
+
+2012-07-07 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR tree-optimization/53881
+ * gcc.dg/pr53881.c: New test.
+
+2012-07-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/53862
+ * g++.dg/cpp0x/variadic134.C: New.
+
+ PR c++/53858
+ * g++.dg/cpp0x/alias-decl-20.C: New.
+
+2012-07-06 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/51879
+ * gcc.dg/pr51879-16.c: New test.
+ * gcc.dg/pr51879-17.c: Same.
+
+2012-07-06 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/52009
+ * gcc.dg/pr51879-7.c: New test.
+ * gcc.dg/pr51879-18.c: New test.
+
+2012-07-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/50852
+ * g++.dg/template/typedef39.C: New.
+
+ PR c++/53039
+ * g++.dg/cpp0x/variadic133.C: New.
+ * g++.dg/template/param1.C: Adjust.
+
+2012-07-05 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/48941
+ PR target/51980
+ * gcc.target/arm/neon/vtrnf32.c: Update.
+ * gcc.target/arm/neon/vtrns32.c: Update.
+ * gcc.target/arm/neon/vtrnu32.c: Update.
+ * gcc.target/arm/neon/vzipf32.c: Update.
+ * gcc.target/arm/neon/vzips32.c: Update.
+ * gcc.target/arm/neon/vzipu32.c: Update.
+
+2012-07-05 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/53732
+ * gfortran.dg/inline_sum_4.f90: New test.
+
+2012-07-05 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc.c-torture/compile/20000326-1.c: Fix to not optimize to empty.
+
+2012-07-05 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * gcc.target/arm/fma-sp.c: New testcase.
+ * gcc.target/arm/fma.c: Likewise.
+ * gcc.target/arm/fma.h: Likewise.
+
+2012-07-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/53848
+ * g++.dg/other/enum3.C: New.
+
+2012-07-04 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/53321
+ * g++.dg/torture/pr53321.C: New test.
+
+2012-07-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53844
+ * g++.dg/tree-ssa/pr53844.C: New testcase.
+
+2012-07-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53849
+ * gcc.dg/pr53849.c: New testcase.
+
+2012-07-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/53812
+ * g++.dg/ext/label14.C: New test.
+
+2012-07-03 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53811
+ * g++.dg/other/pr53811.C: New test.
+
+2012-07-03 Andreas Schwab <schwab@linux-m68k.org>
+
+ PR target/28896
+ * gcc.target/m68k/stack-limit-1.c: New testcase.
+
+2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/recursive_call.adb: New test.
+
+2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr37.ad[sb]: New test.
+
+2012-07-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * g++.dg/other/packed1.C: Remove SH from xfail list.
+
+2012-07-02 Jason Merrill <jason@redhat.com>
+
+ PR c++/53619
+ * g++.dg/cpp0x/lambda/lambda-this5.C: New.
+
+ PR c++/53783
+ * g++.dg/cpp0x/lambda/lambda-template7.C: New.
+
+ PR c++/53788
+ * g++.dg/cpp0x/decltype39.C: New.
+ * g++.dg/diagnostic/method1.C: Adjust.
+
+ PR c++/53816
+ * g++.dg/template/ref6.C: New.
+
+2012-07-02 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53568
+ * gcc.target/sh/pr53568-1.c: New.
+
+2012-07-02 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * gcc.target/sh/pr51244-1.c: Check that movt insn is not generated.
+
+2012-07-02 Jason Merrill <jason@redhat.com>
+
+ PR c++/53821
+ * g++.dg/cpp0x/lambda/lambda-template6.C: New.
+
+ PR c++/53524
+ * g++.dg/template/enum7.C: New.
+ * g++.dg/other/ptrmem10.C: Adjust.
+ * g++.dg/other/ptrmem11.C: Adjust.
+ * g++.dg/cpp0x/scoped_enum.C: Adjust.
+
+2012-07-02 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc.dg/tree-ssa/pr36881.c: Fix test case to not expand as bit tests.
+
+2012-07-01 Wei Guozhi <carrot@google.com>
+
+ PR target/53447
+ * gcc.target/arm/pr53447-1.c: New testcase.
+ * gcc.target/arm/pr53447-2.c: New testcase.
+ * gcc.target/arm/pr53447-3.c: New testcase.
+ * gcc.target/arm/pr53447-4.c: New testcase.
+
+2012-06-29 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47061
+ * gcc.dg/tree-ssa/vrp71.c: New testcase.
+
+2012-06-29 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/37541
+ * gcc.dg/tree-ssa/pr37508.c: Adjust and un-XFAIL.
+
+2012-06-29 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52589
+ * gcc.dg/tree-ssa/vrp70.c: New testcase.
+
+2012-06-28 Janis Johnson <janisjo@codesourcery.com>
+
+ * g++.dg/cpp0x/nullptr19.c: Remove exta directives on same line.
+
+ * g++.dg/template/error46.C: Add missing comment to dg-message.
+ * g++.dg/template/crash107.C: Likewise.
+ * g++.dg/template/error47.C: Likewise.
+ * g++.dg/template/crash108.C: Likewise.
+ * g++.dg/overload/operator5.C: Likewise.
+
+ * gcc.dg/Wstrict-aliasing-converted-assigned.c: Fix syntax
+ errors in dg-message directives, add comments.
+
+2012-06-28 Kai Tietz <ktietz@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-52672.C (ul_ptr): Use SIZE_TYPE instead of
+ hard-coded 'unsigned long'.
+
+2012-06-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51581
+ * gcc.dg/vect/pr51581-4.c: New test.
+
+ PR tree-optimization/53645
+ * gcc.c-torture/execute/pr53645-2.c: New test.
+
+2012-06-28 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53790
+ * gcc.dg/torture/pr53790.c: New testcase.
+
+2012-06-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53645
+ * gcc.c-torture/execute/pr53645.c: New test.
+
+2012-06-28 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat.dg/deep_old.adb, gnat.dg/old_errors.adb: Removed, obsolete.
+
+2012-06-28 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/53671
+ PR debug/49888
+ * gcc.dg/guality/pr49888.c: Account for the possibility that
+ the variable is optimized out at the first test.
+
+2012-06-27 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/override2.C: Adjust.
+ * g++.dg/template/error5.C: Adjust.
+ * g++.dg/parse/crash28.C: Adjust.
+
+ PR c++/53563
+ * g++.dg/parse/template27.C: New.
+ * g++.dg/template/crash74.C: Adjust expected output.
+
+2012-06-27 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/41951
+ PR fortran/49591
+ * gfortran.dg/typebound_operator_16.f03: New.
+
+2012-06-27 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.target/i386/sse4_1-pmuldq.c (TEST): Initialize
+ even src1.i and src2.i fields even in the second half of the arrays.
+
+2012-06-27 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR c++/51033.
+ * g++.dg/torture/vshuf-16.inc: New test.
+ * g++.dg/torture/vshuf-2.inc: New test.
+ * g++.dg/torture/vshuf-4.inc: New test.
+ * g++.dg/torture/vshuf-8.inc: New test.
+ * g++.dg/torture/vshuf-main.inc: New test.
+ * g++.dg/torture/vshuf-v16hi.C: New test.
+ * g++.dg/torture/vshuf-v16qi.C: New test.
+ * g++.dg/torture/vshuf-v2df.C: New test.
+ * g++.dg/torture/vshuf-v2di.C: New test.
+ * g++.dg/torture/vshuf-v2sf.C: New test.
+ * g++.dg/torture/vshuf-v2si.C: New test.
+ * g++.dg/torture/vshuf-v4df.C: New test.
+ * g++.dg/torture/vshuf-v4di.C: New test.
+ * g++.dg/torture/vshuf-v4sf.C: New test.
+ * g++.dg/torture/vshuf-v4si.C: New test.
+ * g++.dg/torture/vshuf-v8hi.C: New test.
+ * g++.dg/torture/vshuf-v8qi.C: New test.
+ * g++.dg/torture/vshuf-v8si.C: New test.
+
+2012-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53676
+ * gcc.dg/tree-ssa/scev-6.c: New testcase.
+
+2012-06-26 Janis Johnson <janisjo@codesourcery.com>
+
+ * lib/scandump.exp (scan-dump, scan-dump-not, scan-dump-dem,
+ scan-dump-dem-not): Use printable pattern in test name.
+
+2012-06-26 Sterling Augustine <saugustine@google.com>
+ Dominique Dhumieres <dominiq@lps.ens.fr>
+
+ * gcc.dg/pubtypes-2.c: Update expected output.
+ * gcc.dg/pubtypes-3.c: Likewise.
+ * gcc.dg/pubtypes-4.c: Likewise.
+
+2012-06-26 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * gcc.dg/tree-ssa/slsr-1.c: New test.
+ * gcc.dg/tree-ssa/slsr-2.c: Likewise.
+ * gcc.dg/tree-ssa/slsr-3.c: Likewise.
+ * gcc.dg/tree-ssa/slsr-4.c: Likewise.
+
+2012-06-26 Matt Turner <mattst88@gmail.com>
+
+ PR target/35294
+ * gcc.target/arm/mmx-2.c: New.
+
+2012-06-26 Richard Guenther <rguenther@suse.de>
+
+ PR c++/53752
+ * g++.dg/torture/pr53752.C: New testcase.
+
+2012-06-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53748
+ * gcc.c-torture/compile/pr53748.c: New test.
+
+2012-06-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/53498
+ PR c++/53305
+ * g++.dg/cpp0x/decltype38.C: New.
+ * g++.dg/cpp0x/variadic132.C: Remove dg-error.
+
+2012-06-25 Janis Johnson <janisjo@codesourcery.com>
+
+ * lib/target-supports-dg.exp (testname-for-summary): New.
+ * lib/profopt.exp (profopt_execute): Define testname_with_flags.
+ * lib/gcc-dg.exp (cleanup-coverage-files, cleanup-repo-notes,
+ cleanup-stack-usage, cleanup-dump, cleanup-saved-temps, scan-module,
+ scan-module-absence, output-exists, output-exists-not: Use
+ testname-for-summary.
+ (dg-test): Clean up testname_with_flags.
+ * lib/scanasm.exp (scan-assembler, scan-assembler-not, scan-hidden,
+ scan-not-hidden, scan-file, scan-file-not, scan-stack-usage,
+ scan-stack-usage-not, scan-assembler-times, scan-assembler-dem,
+ scan-assembler-dem-not, object-size: Use testname-for-summary.
+ * lib/gcov.exp (run-gcov): Likewise.
+ * lib/scandump.exp (scan-dump, scan-dump-times, scan-dump-not,
+ scan-dump-dem, scan-dump-dem-note): Likewise.
+
+ * lib/profopt.exp: Make prof_option_list local to profopt-execute.
+ * g++.dg/tree-prof/tree-prof.exp (PROFOPT_OPTIONS): Define after
+ including profopt.opt; save and restore existing value.
+ * g++.dg/bprob/bprob.exp: Likewise.
+ * gcc.dg/matrix/matrix.exp: Likewise.
+ * gcc.dg/tree-prof/tree-prof.exp: Likewise.
+ * gcc.misc-tests/bprob.exp: Likewise; also replace formerly-ignored
+ PROFOPT_OPTIONS.
+
+2012-06-25 Richard Henderson <rth@redhat.com>
+
+ * gcc.dg/pr53749.c: New.
+
+2012-06-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/52988
+ * g++.dg/cpp0x/nullptr28.C: New.
+
+2012-06-25 Christophe Lyon <christophe.lyon@st.com>
+
+ * gcc.target/arm/neon-vld1_dupQ.c: New.
+
+2012-06-25 Florian Weimer <fweimer@redhat.com>
+
+ * g++.dg/init/new35.C: New.
+ * g++.dg/init/new36.C: New.
+ * g++.dg/init/new37.C: New.
+ * g++.dg/ext/vla5.C: New warning.
+ * g++.dg/ext/vla8.C: New warning.
+ * g++.dg/cpp0x/regress/debug-debug7.C: Update diagnostics.
+
+2012-06-25 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+ James Greenhalgh <james.greenhalgh@arm.com>
+
+ * gcc.target/arm/ftest-support-arm.h New testcase.
+ * gcc.target/arm/ftest-support-thumb.h Likewise.
+ * gcc.target/arm/ftest-support.h Likewise.
+ * gcc.target/arm/ftest-armv4-arm.c: Likewise.
+ * gcc.target/arm/ftest-armv4t-arm.c: Likewise.
+ * gcc.target/arm/ftest-armv4t-thumb.c: Likewise.
+ * gcc.target/arm/ftest-armv5t-arm.c Likewise.
+ * gcc.target/arm/ftest-armv5t-thumb.c Likewise.
+ * gcc.target/arm/ftest-armv5te-arm.c: Likewise.
+ * gcc.target/arm/ftest-armv5te-thumb.c: Likewise.
+ * gcc.target/arm/ftest-armv6-arm.c Likewise.
+ * gcc.target/arm/ftest-armv6-thumb.c Likewise.
+ * gcc.target/arm/ftest-armv6k-arm.c Likewise.
+ * gcc.target/arm/ftest-armv6k-thumb.c Likewise.
+ * gcc.target/arm/ftest-armv6m-thumb.c: Likewise.
+ * gcc.target/arm/ftest-armv6t2-arm.c: Likewise.
+ * gcc.target/arm/ftest-armv6t2-thumb.c: Likewise.
+ * gcc.target/arm/ftest-armv6z-arm.c: Likewise.
+ * gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
+ * gcc.target/arm/ftest-armv7a-arm.c Likewise.
+ * gcc.target/arm/ftest-armv7a-thumb.c Likewise.
+ * gcc.target/arm/ftest-armv7m-thumb.c: Likewise.
+ * gcc.target/arm/ftest-armv7em-thumb.c: Likewise.
+ * gcc.target/arm/ftest-armv7r-arm.c Likewise.
+ * gcc.target/arm/ftest-armv7r-thumb.c Likewise.
+ * lib/target-supports.exp
+ (check_effective_target_arm_arch_FUNC): Add support for more
+ architectures.
+ (add_options_for_arm_arch_FUNC): Likewise.
+ (check_effective_target_arm_arch_FUNC_multilib): New functions.
+
+2012-06-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/53202
+ * g++.dg/cpp0x/constexpr-tuple.C: New.
+
+2012-06-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/53759
+ * gcc.target/i386/pr53759.c: New test.
+
+ PR c++/53594
+ * g++.dg/cpp0x/nsdmi7.C: New test.
+
+2012-06-24 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.target/i386/pr23943.c (size_t): Use compatible type-definition
+ for LLP64 targets.
+ * gcc.target/i386/pr38988.c: Likewise.
+
+2012-06-22 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47710
+ PR fortran/53328
+ * gfortran.dg/typebound_generic_12.f03: New.
+ * gfortran.dg/typebound_generic_13.f03: New.
+
+2012-06-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/lto15.ad[sb]: New test.
+
+2012-06-21 Meador Inge <meadori@codesourcery.com>
+
+ PR c/53702
+ * gcc.dg/Wunused-local-typedefs.c: New testcase.
+
+2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc.dg/pch/ident-1.c: New test.
+ * gcc.dg/pch/ident-1.hs: Header file for new test.
+
+2012-06-21 Michael Matz <matz@suse.de>
+
+ PR middle-end/53688
+ * gcc.c-torture/execute/pr53688.c: New test.
+
+2012-06-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/30318
+ * gcc.dg/tree-ssa/vrp69.c: New testcase.
+
+2012-06-20 Richard Earnshaw <rearnsha@arm.com>
+
+ * g++.dg/debug/dwarf2/nested-3.C: Add ARM comment character to regexp.
+
+2012-06-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.target/i386/clearcapv2.map: New file.
+ * gcc.target/i386/i386.exp: Try it first before clearcap.map.
+
+2012-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * gcc.dg/stack-usage-1.c: Remove dg-options line for sh targets
+ and add __sh__ case.
+
+2012-06-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/52637
+ * g++.dg/debug/localclass1.C: New.
+
+2012-06-16 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ * g++.dg/cpp0x/override4.C: New.
+
+2012-06-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/53651
+ * g++.dg/cpp0x/decltype37.C: New.
+
+2012-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * gcc.dg/stack-usage-1.c: Use sh*-*-* instead of sh-*-*.
+
+2012-06-19 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c-torture/compile/vector-5.c,
+ gcc.c-torture/compile/vector-6.c: New tests.
+
+2012-06-19 Richard Henderson <rth@redhat.com>
+
+ * gcc.target/i386/pr33329.c: Change multiplier constant to 12345.
+
+2012-06-19 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/vrp68.c: Adjust testcase.
+
+2012-06-18 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53712
+ * gcc.target/i386/pr53712.c: New test.
+
+2012-06-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53692
+ * gfortran.dg/elemental_optional_args_6.f90: New.
+
+2012-06-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53526
+ * gfortran.dg/coarray_lib_move_alloc_1.f90: New.
+ * gfortran.dg/coarray/move_alloc_1.f90
+
+2012-06-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53526
+ * gfortran.dg/coarray_27.f90: New.
+
+2012-06-18 Joey Ye <Joey.Ye@arm.com>
+ Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * gcc.target/arm/epilog-1.c: New test.
+
+2012-06-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53693
+ * g++.dg/torture/pr53693.C: New testcase.
+
+2012-06-18 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ PR tree-optimization/53703
+ * gcc.dg/torture/pr53703.c: New test.
+
+2012-06-18 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR middle-end/53698
+ * gcc.target/i386/pr53698.c: New test.
+
+2012-06-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/pr33329.c (f): Increase tabs array to 1024.
+
+2012-06-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53691
+ PR fortran/53685
+ * gfortran.dg/transfer_check_3.f90: New.
+
+2012-06-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/tree-ssa/vrp68.c: Fix scan-tree-dump-times argument order.
+
+2012-06-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53642
+ PR fortran/45170
+ * gfortran.dg/deferred_type_param_8.f90: New.
+
+2012-06-15 Janis Johnson <janosjo@codesourcery.com>
+
+ * lib/gcov.exp (verify-lines, verify-branches, verify-calls): Use
+ testname that includes flags, passed in as new argument, in
+ pass/fail messages.
+ (run_gcov): Get testname from dg-test, use it in pass/fail messages
+ and pass it to verify-* procedures.
+
+ * g++.dg/torture/stackalign/stackalign.exp: Combine stack
+ alignment torture options with usual torture options.
+
+ * g++.dg/cpp0x/auto27.C: Add comments to checks for multiple
+ messages reported for one line of source code.
+ * g++.dg/cpp0x/constexpr-decl.C: Likewise.
+ * g++.dg/cpp0x/decltype2.C: Likewise.
+ * g++.dg/cpp0x/decltype3.C: Likewise.
+ * g++.dg/cpp0x/lambda/lambda-syntax1.C: Likewise.
+ * g++.dg/cpp0x/regress/error-recovery1.C: Likewise.
+ * g++.dg/cpp0x/static_assert3.C: Likewise.
+ * g++.dg/cpp0x/udlit-cpp98-neg.C: Likewise.
+ * g++.dg/cpp0x/udlit-shadow-neg.C: Likewise.
+ * g++.dg/cpp0x/union1.C: Likewise.
+ * g++.dg/cpp0x/variadic-ex10.C: Likewise.
+ * g++.dg/cpp0x/variadic-ex14.C: Likewise.
+ * g++.dg/cpp0x/variadic2.C: Likewise.
+ * g++.dg/cpp0x/variadic20.C: Likewise.
+ * g++.dg/cpp0x/variadic74.C: Likewise.
+ * g++.dg/diagnostic/bitfld2.C: Likewise.
+ * g++.dg/ext/attrib44.C: Likewise.
+ * g++.dg/ext/no-asm-1.C: Likewise.
+ * g++.dg/other/error34.C: Likewise.
+ * g++.dg/parse/crash46.C: Likewise.
+ * g++.dg/parse/error10.C: Likewise.
+ * g++.dg/parse/error2.C: Likewise.
+ * g++.dg/parse/error3.C: Likewise.
+ * g++.dg/parse/error36.C: Likewise.
+ * g++.dg/parse/error8.C: Likewise.
+ * g++.dg/parse/error9.C: Likewise.
+ * g++.dg/parse/parser-pr28152-2.C: Likewise.
+ * g++.dg/parse/parser-pr28152.C: Likewise.
+ * g++.dg/parse/template25.C: Likewise.
+ * g++.dg/parse/typename11.C: Likewise.
+ * g++.dg/tc1/dr147.C: Likewise.
+ * g++.dg/template/deduce3.C: Likewise.
+ * g++.dg/template/koenig9.C: Likewise.
+ * g++.dg/template/pr23510.C: Likewise.
+ * g++.dg/warn/pr12242.C: Likewise.
+ * g++.dg/warn/pr30551-2.C: Likewise.
+ * g++.dg/warn/pr30551.C: Likewise.
+ * g++.old-deja/g++.other/typename1.C: Likewise.
+ * g++.old-deja/g++.pt/niklas01a.C: Likewise.
+
+2012-06-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR c++/51033
+ * c-c++-common/torture/vshuf-16.inc: Move from gcc.c-torture/execute/.
+ * c-c++-common/torture/vshuf-2.inc: Likewise.
+ * c-c++-common/torture/vshuf-4.inc: Likewise.
+ * c-c++-common/torture/vshuf-8.inc: Likewise.
+ * c-c++-common/torture/vshuf-main.inc: Likewise.
+ * c-c++-common/torture/vshuf-v16hi.c: Likewise.
+ * c-c++-common/torture/vshuf-v16qi.c: Likewise.
+ * c-c++-common/torture/vshuf-v2df.c: Likewise.
+ * c-c++-common/torture/vshuf-v2di.c: Likewise.
+ * c-c++-common/torture/vshuf-v2sf.c: Likewise.
+ * c-c++-common/torture/vshuf-v2si.c: Likewise.
+ * c-c++-common/torture/vshuf-v4df.c: Likewise.
+ * c-c++-common/torture/vshuf-v4di.c: Likewise.
+ * c-c++-common/torture/vshuf-v4hi.c: Likewise.
+ * c-c++-common/torture/vshuf-v4sf.c: Likewise.
+ * c-c++-common/torture/vshuf-v4si.c: Likewise.
+ * c-c++-common/torture/vshuf-v8hi.c: Likewise.
+ * c-c++-common/torture/vshuf-v8qi.c: Likewise.
+ * c-c++-common/torture/vshuf-v8si.c: Likewise.
+
+2012-06-15 Michael Matz <matz@suse.de>
+
+ * gcc.dg/tree-ssa/vector-4.c: New test.
+
+2012-06-15 Michael Matz <matz@suse.de>
+
+ * gcc.dg/debug/dwarf2/inline3.c: Adjust.
+ * gcc.dg/tree-ssa/foldstring-1.c: Adjust.
+
+2012-06-15 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ PR tree-optimization/53636
+ * gcc.target/arm/pr53636.c: New test.
+
+2012-06-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51581
+ * gcc.c-torture/execute/pr51581-1.c: New test.
+ * gcc.c-torture/execute/pr51581-2.c: New test.
+ * gcc.dg/vect/pr51581-1.c: New test.
+ * gcc.dg/vect/pr51581-2.c: New test.
+ * gcc.dg/vect/pr51581-3.c: New test.
+ * gcc.target/i386/avx-pr51581-1.c: New test.
+ * gcc.target/i386/avx-pr51581-2.c: New test.
+ * gcc.target/i386/avx2-pr51581-1.c: New test.
+ * gcc.target/i386/avx2-pr51581-2.c: New test.
+ * gcc.dg/vect/slp-26.c (main1): Divide by 0x8031 instead of 3.
+
+2012-06-15 Richard Guenther <rguenther@suse.de>
+
+ * gcc.c-torture/execute/20120615-1.c: New testcase.
+
+2012-06-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/vect8.ad[sb]: New test.
+
+2012-06-14 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/vrp.h: New testcase.
+ * gcc.dg/tree-ssa/vrp68.c: Likewise.
+
+2012-06-13 Christian Bruel <christian.bruel@st.com>
+
+ PR target/53621
+ * gcc.dg/stack-usage-1.c: Force -fomit-frame-pointer on SH.
+
+2012-06-14 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/mips.exp (mips-dg-options): Handle -msynci.
+
+2012-06-13 Janis Johnson <janisjo@codesourcery.com>
+
+ PR testsuite/20771
+ * lib/dg-pch.exp (dg-flags-pch): Add flags to make compile lines in
+ test summary unique.
+
+ * lib/scanasm.exp (scan-assembler, scan-assembler-not, scan-hidden,
+ scan-not-hiddent, scan-file, scan-file-not, scan-stack-usage,
+ scan-stack-usage-not): Don't strip torture options from test name.
+
+ * lib/scandump.exp (scan-dump-times): Use printable version of
+ regexp in test summary line.
+
+ * gcc.dg/di-longlong64-sync-1.c: Add comments to checks for multiple
+ messages reported for one line of source code.
+ * gcc.dg/format/few-1.c: Likewise.
+ * gcc.dg/ia64-sync-2.c: Likewise.
+ * gcc.dg/sync-2.c: Likewise.
+ * gcc.dg/noncompile/pr44517.c: Likewise.
+
+2012-06-13 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/49888
+ * gcc.dg/guality/pr49888.c: New.
+
+2012-06-13 Alexandre Oliva <aoliva@redhat.com>
+
+ * g++.dg/tree-ssa/ivopts-2.C: Adjust for coalescing.
+ * gcc.dg/tree-ssa/forwprop-11.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
+
+2012-06-13 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53643
+ * gfortran.dg/intent_out_7.f90: New.
+
+2012-06-13 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53597
+ * gfortran.dg/save_4.f90: New.
+
+2012-06-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/53532
+ PR c/51034
+ PR c/53196
+ * gcc.dg/pr53532.c: New test.
+ * gcc.dg/c99-complit-2.c: Add two new dg-error directives,
+ adjust line numbers.
+ * gcc.dg/noncompile/950825-1.c: Expect incomplete type error message.
+ * gcc.dg/Wcxx-compat-8.c: Likewise.
+ * gcc.dg/pr51034.c: New test.
+ * gcc.dg/pr53196-1.c: New test.
+ * gcc.dg/pr53196-2.c: New test.
+
+2012-06-12 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.dg/torture/stackalign/stackalign.exp: Combine stack
+ alignment torture options with usual torture options.
+ * gcc.dg/torture/stackalign/alloca-2.c: Use dg-additional-options
+ instead of dg-options.
+ * gcc.dg/torture/stackalign/alloca-3.c: Likewise.
+ * gcc.dg/torture/stackalign/alloca-4.c: Likewise.
+ * gcc.dg/torture/stackalign/alloca-5.c: Likewise.
+ * gcc.dg/torture/stackalign/alloca-6.c: Likewise.
+ * gcc.dg/torture/stackalign/push-1.c: Likewise.
+ * gcc.dg/torture/stackalign/vararg-3.c: Likewise.
+
+ * gcc.target/arm/di-longlong64-sync-withhelpers.c: Add comments
+ to checks for multiple messages reported for one line of source code.
+ * gcc.target/arm/di-longlong64-sync-withldrexd.c: Likewise.
+
+ * gcc.c-torture/compile/sync-1.c: Add comments to checks for multiple
+ messages reported for one line of source code.
+
+ * gcc.dg/20031223-1.c: Add comments to check for multiple
+ messages reported for one line of source code.
+ * gcc.dg/Wconversion-integer.c: Likewise.
+ * gcc.dg/Wfatal-2.c: Likewise.
+ * gcc.dg/Wfatal.c: Likewise.
+ * gcc.dg/Wobjsize-1.c: Likewise.
+ * gcc.dg/c99-vla-jump-1.c: Likewise.
+ * gcc.dg/c99-vla-jump-2.c: Likewise.
+ * gcc.dg/c99-vla-jump-3.c: Likewise.
+ * gcc.dg/c99-vla-jump-4.c: Likewise.
+ * gcc.dg/c99-vla-jump-5.c: Likewise.
+ * gcc.dg/decl-9.c: Likewise.
+ * gcc.dg/declspec-10.c: Likewise.
+ * gcc.dg/declspec-18.c: Likewise.
+ * gcc.dg/mtune.c: Likewise.
+ * gcc.dg/parser-pr28152-2.c: Likewise.
+ * gcc.dg/parser-pr28152.c: Likewise.
+ * gcc.dg/pr14475.c: Likewise.
+ * gcc.dg/pr27953.c: Likewise.
+ * gcc.dg/pr28322-3.c: Likewise.
+ * gcc.dg/pr30457.c: Likewise.
+ * gcc.dg/pr30551-2.c: Likewise.
+ * gcc.dg/pr30551-3.c: Likewise.
+ * gcc.dg/pr30551-4.c: Likewise.
+ * gcc.dg/pr30551-5.c: Likewise.
+ * gcc.dg/pr30551-6.c: Likewise.
+ * gcc.dg/pr30551.c: Likewise.
+ * gcc.dg/pr45461.c: Likewise.
+ * gcc.dg/pr48552-1.c: Likewise.
+ * gcc.dg/pr48552-2.c: Likewise.
+ * gcc.dg/redecl-1.c: Likewise.
+ * gcc.dg/transparent-union-3.c: Likewise.
+ * gcc.dg/utf-dflt.c: Likewise.
+ * gcc.dg/utf-dflt2.c: Likewise.
+ * gcc.dg/vla-8.c: Likewise.
+ * gcc.dg/vla-init-1.c: Likewise.
+ * gcc.dg/wtr-int-type-1.c: Likewise.
+
+ * c-c++-common/raw-string-3.c: Add comments to checks for multiple
+ messages reported for for one line of source code.
+ * c-c++-common/raw-string-5.c: Likewise.
+ * c-c++-common/raw-string-4.c: Likewise.
+ * c-c++-common/raw-string-6.c: Likewise.
+ * c-c++-common/pr20000.c: Likewise.
+
+ * gcc.dg/cpp/include2a.c: Add comments to checks for multiple
+ messages reported for one line of source code.
+ * gcc.dg/cpp/pr30786.c: Likewise.
+ * gcc.dg/cpp/pr28709.c: Likewise.
+ * gcc.dg/cpp/missing-header-MD.c: Likewise.
+ * gcc.dg/cpp/macspace2.c: Likewise.
+ * gcc.dg/cpp/missing-header-1.c: Likewise.
+ * gcc.dg/cpp/missing-header-MMD.c: Likewise.
+ * gcc.dg/cpp/missing-sysheader-MD.c: Likewise.
+ * gcc.dg/cpp/missing-sysheader-MMD.c: Likewise.
+
+2012-06-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/53599
+ * g++.dg/template/local7.C: New.
+
+2012-06-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53511
+ * gcc.target/sh/pr51340-1.c: Delete obsolete test case.
+ * gcc.target/sh/pr51340-2.c: Likewise.
+ * gcc.target/sh/pr51340-3.c: Likewise.
+
+2012-06-12 Michael Matz <matz@suse.de>
+
+ * gcc.dg/torture/alias-1.c: New test.
+
+2012-06-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/53589
+ * gcc.dg/torture/pr53589.c: New test.
+
+2012-06-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/50749
+ * gcc.target/sh/pr50749-sf-postinc-2.c: New.
+ * gcc.target/sh/pr50749-sf-postinc-4.c: New.
+ * gcc.target/sh/pr50749-qihisi-postinc-2.c: New.
+ * gcc.target/sh/pr50749-qihisi-postinc-4.c: New.
+ * gcc.target/sh/pr50749-sf-predec-2.c: New.
+ * gcc.target/sh/pr50749-sf-predec-4.c: New.
+ * gcc.target/sh/pr50749-qihisi-predec-1.c: New.
+ * gcc.target/sh/pr50749-qihisi-predec-3.c: New.
+ * gcc.target/sh/pr50749-sf-postinc-1.c: New.
+ * gcc.target/sh/pr50749-sf-postinc-3.c: New.
+ * gcc.target/sh/pr50749-qihisi-postinc-1.c: New.
+ * gcc.target/sh/pr50749-qihisi-postinc-3.c: New.
+ * gcc.target/sh/pr50749-sf-predec-1.c: New.
+ * gcc.target/sh/pr50749-sf-predec-3.c: New.
+ * gcc.target/sh/pr50749-qihisi-predec-2.c: New.
+ * gcc.target/sh/pr50749-qihisi-predec-4.c: New.
+
+2012-06-11 Sriraman Tallam <tmsriram@google.com>
+
+ * gcc.target/i386/builtin_target.c (vendor_signatures): New enum.
+ (check_intel_cpu_model): New function.
+ (check_amd_cpu_model): New function.
+ (check_features): New function.
+ (__get_cpuid_output): New function.
+ (check_detailed): New function.
+ (fn1): Rename to quick_check.
+ (main): Update to call quick_check and call check_detailed.
+
+2012-06-11 Richard Henderson <rth@redhat.com>
+
+ * lib/target-supports.exp
+ (check_effective_target_sync_long_long_runtime): Use
+ check_effective_target_lp64 instead of
+ check_effective_target_powerpc64 for powerpc targets.
+
+2012-06-11 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53511
+ * gcc.target/sh/pr53511-1.c: New.
+
+2012-06-11 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53470
+ * g++.dg/lto/pr53470_0.C: New testcase.
+ * gcc.dg/lto/pr53470_0.c: Likewise.
+
+2012-06-11 Richard Guenther <rguenther@suse.de>
+
+ PR c++/53605
+ * g++.dg/ext/pr53605.C: New testcase.
+
+2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/array1.ads: New test.
+ * gnat.dg/specs/array2.ads: Likewise.
+ * gnat.dg/array22.adb: Likewise.
+
+2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/constant4.adb: New test.
+ * gnat.dg/constant4_pkg.ads: New helper.
+
+2012-06-08 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/52552
+ * gfortran.dg/allocate_alloc_opt_1.f90: Modified.
+ * gfortran.dg/allocate_class_1.f90: Modified.
+ * gfortran.dg/allocate_with_typespec_4.f90: Modified.
+ * gfortran.dg/allocate_class_2.f90: New.
+
+2012-06-07 Hans-Peter Nilsson <hp@axis.com>
+
+ PR middle-end/53535
+ * gcc.dg/pr46647.c: xfail for cris-* and crisv32-*.
+
+2012-06-07 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/52861
+ * gfortran.dg/string_assign_2.f90: New test case.
+
+2012-06-07 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/52861
+ * gfortran.dg/string_assign_1.f90: New test case.
+
+2012-06-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/53580
+ * gcc.dg/gomp/nesting-1.c: Expect errors rather than warnings.
+ * gcc.dg/gomp/critical-4.c: Likewise.
+ * gfortran.dg/gomp/appendix-a/a.35.1.f90: Likewise.
+ * gfortran.dg/gomp/appendix-a/a.35.3.f90: Likewise.
+ * gfortran.dg/gomp/appendix-a/a.35.4.f90: Likewise.
+ * gfortran.dg/gomp/appendix-a/a.35.6.f90: Likewise.
+ * c-c++-common/gomp/pr53580.c: New test.
+
+2012-06-07 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/51214
+ * g++.dg/cpp0x/forw_enum11.C: New.
+
+2012-06-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53567
+ * g++.dg/cpp0x/alias-decl-19.C: New.
+
+2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
+
+ * g++.old-deja/g++.brendan/array1.C: Remove dg-options.
+
+2012-06-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/avx-os-support.h (XCR_XFEATURE_ENABLED_MASK): New.
+ (XSTATE_FP): Ditto.
+ (XSTATE_SSE): Ditto.
+ (XSTATE_YMM): Ditto.
+ (avx_os_support): Use new defines.
+
+2012-06-06 Richard Guenther <rguenther@suse.de>
+
+ PR testsuite/32380
+ * gfortran.dg/vect/pr32380.f: Adjust number of expected vectorized
+ loops.
+
+2012-06-06 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/52841
+ * g++.dg/cpp0x/pr52841.C: New testcase.
+
+2012-06-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53081
+ * gcc.dg/tree-ssa/ldist-20.c: New testcase.
+ * gcc.dg/tree-ssa/loop-19.c: Add -fno-tree-loop-distribute-patterns.
+
+2012-06-05 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/pr53487.c: New test.
+
+2012-06-05 Pat Haugen <pthaugen@us.ibm.com>
+
+ * gcc.target/powerpc/lhs-1.c: Use parm instead of stack space.
+
+2012-06-05 Edmar Wienskoski <edmar@freescale.com>
+
+ * gcc.dg/tree-ssa/vector-3.c: Adjust regular expression.
+
+2012-06-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/30442
+ * gcc.dg/vect/bb-slp-30.c: New testcase.
+
+2012-06-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53081
+ * gcc.dg/tree-ssa/ldist-19.c: New testcase.
+ * gcc.c-torture/execute/builtins/builtins.exp: Always pass
+ -fno-tree-loop-distribute-patterns.
+
+2012-06-05 Alan Modra <amodra@gmail.com>
+
+ * gcc.target/powerpc/savres.c: Add -mdynamic-no-pic for darwin.
+ Check static chain in nested funcs.
+
+2012-06-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50619
+ * gfortran.dg/init_flag_10.f90: New.
+
+2012-06-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53524
+ * g++.dg/warn/Wenum-compare-no-2: New.
+
+2012-06-04 Dodji Seketeli <dodji@redhat.com>
+
+ PR preprocessor/53463
+ * g++.dg/cpp/limits.C: New test.
+ * g++.dg/parse/error19.C: Adjust.
+ * g++.dg/warn/Wconversion-real-integer2.C: Likewise.
+ * g++.dg/warn/pr35635.C: Likewise.
+ * g++.old-deja/g++.pt/assign1.C: Likewise.
+
+2012-06-04 Edmar Wienskoski <edmar@freescale.com>
+
+ PR target/53559
+ * gcc.target/powerpc/cell_builtin_1.c: New test case.
+ * gcc.target/powerpc/cell_builtin_2.c: Ditto.
+ * gcc.target/powerpc/cell_builtin_3.c: Ditto.
+ * gcc.target/powerpc/cell_builtin_4.c: Ditto.
+ * gcc.target/powerpc/cell_builtin_5.c: Ditto.
+ * gcc.target/powerpc/cell_builtin_6.c: Ditto.
+ * gcc.target/powerpc/cell_builtin_7.c: Ditto.
+ * gcc.target/powerpc/cell_builtin_8.c: Ditto.
+
+2012-06-04 Andreas Schwab <schwab@linux-m68k.org>
+
+ * g++.dg/debug/dwarf2/nested-3.C: Allow for | comments.
+
+2012-06-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53550
+ * gcc.dg/pr53550.c: New test.
+
+2012-06-04 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/ldist-11.c: Enable -ftree-loop-distribute-patterns.
+ * gcc.dg/tree-ssa/ldist-17.c: Likewise.
+ * gcc.dg/tree-ssa/ldist-pr45948.c: Likewise.
+
+2012-06-03 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+
+ PR fortran/48831
+ * gfortran.dg/parameter_array_element_2.f90: New.
+
+2012-06-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/53512
+ * gcc.target/sh/pr53512-1.c: New.
+ * gcc.target/sh/pr53512-2.c: New.
+ * gcc.target/sh/pr53512-3.c: New.
+ * gcc.target/sh/pr53512-4.c: New.
+
+2012-06-01 Jason Merrill <jason@redhat.com>
+
+ PR c++/52973
+ * g++.dg/ext/visibility/template12.C: New.
+ * g++.dg/ext/attrib14.C: Adjust warning line.
+
+ PR c++/52725
+ * g++.dg/parse/new6.C: New.
+ * g++.dg/template/sizeof-template-argument.C: Adjust error message.
+
+2012-06-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * c-c++-common/restrict-2.c: Revert previous change.
+
+2012-06-01 Jason Merrill <jason@redhat.com>
+
+ PR c++/53137
+ * g++.dg/cpp0x/lambda/lambda-template5.C: New.
+
+ PR c++/53484
+ * g++.dg/cpp0x/auto33.C: New.
+
+2012-06-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/26155
+ * g++.dg/parse/namespace-alias-1.C: New.
+
+2012-06-01 Christian Bruel <christian.bruel@st.com>
+
+ * gcc.dg/spec-options.c: New test.
+ * gcc.dg/foo.specs: New file.
+
+2012-06-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/53517
+ * gnat.dg/lto14.adb: Skip on Solaris.
+
+2012-06-01 Hans-Peter Nilsson <hp@axis.com>
+
+ * gcc.target/cris/sync-1-v10.c,
+ gcc.target/cris/sync-1-v32.c, gcc.target/cris/sync-1.c,
+ gcc.target/cris/sync-2c.c, gcc.target/cris/sync-2i.c,
+ gcc.target/cris/sync-2s.c, gcc.target/cris/sync-3i.c,
+ gcc.target/cris/sync-3s.c, gcc.target/cris/sync-4c.c,
+ gcc.target/cris/sync-4i.c, gcc.target/cris/sync-4s.c,
+ gcc.target/cris/torture/sync-mis-op-i-1.c,
+ gcc.target/cris/torture/sync-mis-op-i-1a.c,
+ gcc.target/cris/torture/sync-mis-op-i-2.c,
+ gcc.target/cris/torture/sync-mis-op-i-2a.c,
+ gcc.target/cris/torture/sync-mis-op-i-3.c,
+ gcc.target/cris/torture/sync-mis-op-i-3a.c,
+ gcc.target/cris/torture/sync-mis-op-s-1.c,
+ gcc.target/cris/torture/sync-mis-op-s-1a.c,
+ gcc.target/cris/torture/sync-mis-xchg-i-1.c,
+ gcc.target/cris/torture/sync-mis-xchg-i-1a.c,
+ gcc.target/cris/torture/sync-mis-xchg-i-2.c,
+ gcc.target/cris/torture/sync-mis-xchg-i-2a.c,
+ gcc.target/cris/torture/sync-mis-xchg-i-3.c,
+ gcc.target/cris/torture/sync-mis-xchg-i-3a.c,
+ gcc.target/cris/torture/sync-mis-xchg-s-1.c,
+ gcc.target/cris/torture/sync-mis-xchg-s-1a.c: New tests.
+
+2012-05-31 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/ldist-pr45948-2.c: New testcase copy of
+ ldist-pr45948.c with disabled SCCP.
+
+2012-05-31 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48493
+ * gcc.dg/torture/pr48493.c: New testcase.
+
+2012-05-31 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * lib/target-supports.exp (check_effective_target_vect_char_mult): Add
+ arm32 to targets.
+ * gcc.dg/vect/slp-perm-8.c (main): Prevent vectorization
+ of the initialization loop.
+ (dg-final): Adjust the expected number of vectorized loops depending
+ on vect_char_mult target selector.
+
+2012-05-31 Hans-Peter Nilsson <hp@axis.com>
+
+ * gcc.target/cris/asm-v8.S, gcc.target/cris/asm-v10.S,
+ gcc.target/cris/asm-other.S, gcc.target/cris/inasm-v8.c,
+ gcc.target/cris/inasm-v10.c, gcc.target/cris/inasm-other.c:
+ New tests.
+
+2012-05-30 Jason Merrill <jason@redhat.com>
+
+ PR c++/53356
+ * g++.dg/init/new34.C: New.
+ * g++.dg/tree-ssa/stabilize1.C: New.
+
+2012-05-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/53356
+ * g++.dg/init/new33.C: New test.
+
+2012-05-30 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53501
+ * gcc.dg/torture/pr53501.c: New testcase.
+ * c-c++-common/restrict-2.c: Adjust.
+
+2012-05-30 Alan Modra <amodra@gmail.com>
+
+ * gcc.target/powerpc/powerpc.exp: Load torture-options.exp, call
+ torture-finish.
+
+2012-05-30 Marc Glisse <marc.glisse@inria.fr>
+
+ * gcc.target/i386/shuf-concat.c: New test.
+
+2012-05-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/53519
+ * gcc.c-torture/compile/pr53519.c: New test.
+
+2012-05-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * gcc.target/arm/neon-vrev.c: New.
+
+2012-05-29 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51340
+ * gcc.target/sh/pr51340-1.c: New.
+ * gcc.target/sh/pr51340-2.c: New.
+ * gcc.target/sh/pr51340-3.c: New.
+
+2012-05-29 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53516
+ * gcc.dg/torture/pr53516.c: New testcase.
+
+2012-05-29 Dodji Seketeli <dodji@redhat.com>
+
+ PR preprocessor/53229
+ * gcc.dg/cpp/paste6.c: Force to run without
+ -ftrack-macro-expansion.
+ * gcc.dg/cpp/paste8.c: Likewise.
+ * gcc.dg/cpp/paste8-2.c: New test, like paste8.c but run with
+ -ftrack-macro-expansion.
+ * gcc.dg/cpp/paste12.c: Force to run without
+ -ftrack-macro-expansion.
+ * gcc.dg/cpp/paste12-2.c: New test, like paste12.c but run with
+ -ftrack-macro-expansion.
+ * gcc.dg/cpp/paste13.c: Likewise.
+ * gcc.dg/cpp/paste14.c: Likewise.
+ * gcc.dg/cpp/paste14-2.c: New test, like paste14.c but run with
+ -ftrack-macro-expansion.
+ * gcc.dg/cpp/paste18.c: New test.
+
+2012-05-29 Hans-Peter Nilsson <hp@axis.com>
+
+ * gcc.target/cris/torture/trap-1.c,
+ gcc.target/cris/torture/trap-2.c,
+ gcc.target/cris/torture/trap-3.c,
+ gcc.target/cris/torture/trap-v0.c,
+ gcc.target/cris/torture/trap-v3.c: New tests.
+
+2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/25137
+ * g++.dg/warn/Wbraces3.C: New.
+ * g++.dg/warn/Wbraces4.C: Likewise.
+
+2012-05-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53505
+ * c-c++-common/torture/pr53505.c: New test.
+
+2012-05-27 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.dg/stmt-expr-4.c: New.
+
+2012-05-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53491
+ * g++.dg/parse/crash60.C: New.
+
+2012-05-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/53220
+ * c-c++-common/array-lit.c: New.
+ * g++.dg/ext/complit12.C: #if 0 out decay-to-pointer test.
+
+2012-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/50294
+ * gnat.dg/array21.adb: New test.
+
+2012-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/renaming5.adb: Adjust dg-final directive.
+
+2012-05-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/32054
+ * g++.dg/other/anon-union3.C: New.
+
+2012-05-25 Ian Lance Taylor <iant@google.com>
+
+ * gcc.dg/split-6.c: New test.
+
+2012-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/lto14.adb: New test.
+
+2012-05-25 Tristan Gingold <gingold@adacore.com>
+
+ * gcc.target/i386/large-frame.c: New.
+
+2012-05-24 Pat Haugen <pthaugen@us.ibm.com>
+ * gcc.target/powerpc/lhs-1.c: New.
+ * gcc.target/powerpc/lhs-2.c: New.
+ * gcc.target/powerpc/lhs-3.c: New.
+
+2012-05-24 Dodji Seketeli <dodji@redhat.com>
+
+ Make unwound macro expansion trace less redundant
+ * gcc.dg/cpp/macro-exp-tracking-1.c: Adjust.
+ * gcc.dg/cpp/macro-exp-tracking-2.c: Likewise.
+ * gcc.dg/cpp/macro-exp-tracking-3.c: Likewise.
+ * gcc.dg/cpp/macro-exp-tracking-4.c: Likewise.
+ * gcc.dg/cpp/macro-exp-tracking-5.c: Likewise.
+ * gcc.dg/cpp/pragma-diagnostic-2.c: Likewise.
+
+2012-05-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53464
+ * g++.dg/cpp0x/constexpr-default1.C: New.
+
+2012-05-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/32080
+ * g++.dg/eh/goto2.C: New.
+
+2012-05-24 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53460
+ * g++.dg/tree-prof/pr53460.C: New testcase.
+
+2012-05-24 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/53466
+ * g++.dg/debug/pr53466.C: New testcase.
+
+2012-05-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53465
+ * gcc.c-torture/execute/pr53465.c: New test.
+
+2012-05-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51055
+ PR fortran/45170
+ * gfortran.dg/allocate_with_typespec_6.f90: New.
+
+2012-05-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/29185
+ * g++.dg/warn/delete-array-1.C: New.
+
+2012-05-23 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/torture/pr39074-2.c: Adjust.
+ * gcc.dg/torture/pr39074.c: Likewise.
+ * gcc.dg/torture/pta-structcopy-1.c: Likewise.
+ * gcc.dg/tree-ssa/alias-19.c: Likewise.
+
+2012-05-22 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/53161
+ * g++.dg/torture/pr53161.C: New testcase.
+
+2012-05-22 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53389
+ * gfortran.dg/realloc_on_assign_15.f90: New.
+
+2012-05-22 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51071
+ * gcc.dg/torture/pr51071-2.c: New testcase.
+
+2012-05-22 Paolo Bonzini <bonzini@gnu.org>
+
+ PR tree-optimization/53336
+ * g++.dg/torture/pr53336.C: New testcase.
+
+2012-05-22 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/53322
+ * g++.dg/warn/Wunused-local-typedefs.C: Adjust to use -Wunused
+ instead of -Wunused-local-typedefs.
+
+2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51184
+ * g++.dg/other/abstract4.C: New-
+
+2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/40821
+ * g++.dg/ext/attrib46.C: New.
+
+2012-05-21 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/53418
+ * gcc.c-torture/compile/pr53418-1.c,
+ gcc.c-torture/compile/pr53418-2.c: New tests.
+
+2012-05-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53366
+ * gcc.dg/torture/pr53366-1.c: New test.
+ * gcc.dg/torture/pr53366-2.c: New test.
+ * gcc.target/i386/pr53366-1.c: New test.
+ * gcc.target/i386/pr53366-2.c: New test.
+
+ PR tree-optimization/53409
+ * gcc.c-torture/compile/pr53409.c: New test.
+
+ PR tree-optimization/53410
+ * gcc.c-torture/compile/pr53410-1.c: New test.
+ * gcc.c-torture/compile/pr53410-2.c: New test.
+
+2012-05-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/53425
+ * gcc.target/i386/pr53425-1.c: New file.
+ * gcc.target/i386/pr53425-2.c: Likewise.
+
+2012-05-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53408
+ * gcc.dg/torture/pr53408.c: New testcase.
+
+2012-05-21 Uros Bizjak <ubizjak@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/53416
+ * gcc.target/i386/pr53416.c: New file.
+
+2012-05-21 Richard Guenther <rguenther@suse.de>
+
+ * gfortran.dg/pr46519-2.f90: Adjust to avoid memset transform.
+
+2012-05-21 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/torture/ldist-1.c: New testcase.
+
+2012-05-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/lto13.adb: New test.
+ * gnat.dg/lto13_pkg.ad[sb]: New helper.
+
+2012-05-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/lto12.ads: New test.
+ * gnat.dg/specs/lto12_pkg.ads: New helper.
+
+2012-05-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53346
+ * gcc.dg/tree-ssa/ldist-18.c: New testcase.
+ * gcc.target/i386/incoming-10.c: Adjust.
+ * gcc.target/i386/incoming-11.c: Likewise.
+ * gcc.target/i386/pr46295.c: Likewise.
+
+2012-05-18 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/pr53352.c: Return zero.
+
+2012-05-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53390
+ * gcc.dg/torture/pr53390.c: New testcase.
+
+2012-05-18 Meador Inge <meadori@codesourcery.com>
+
+ PR rtl-optimization/53352
+ * gcc.dg/pr53352.c: New test.
+
+2012-05-17 David S. Miller <davem@davemloft.net>
+
+ * gfortran.dg/bessel_7.f90: Bump allowed precision to avoid
+ failure on sparc-*-linux-gnu.
+
+2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/39681
+ * g++.dg/parse/error49.C: New.
+ * g++.dg/cpp0x/error8.C: Likewise.
+ * g++.dg/ext/utf-cxx98.C: Adjust dg-error directive.
+ * g++.dg/ext/utf-dflt2.C: Likewise.
+ * g++.dg/ext/utf-gnuxx98.C: Likewise.
+ * g++.dg/ext/utf-dflt.C: Likewise.
+ * c-c++-common/raw-string-3.c: Likewise.
+ * c-c++-common/raw-string-4.c: Likewise.
+
+2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53371
+ * g++.dg/cpp0x/catch1.C: New.
+
+2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/44516
+ * g++.dg/parse/error48.C: New.
+ * g++.dg/template/crash89.C: Adjust dg-error line numbers.
+ * g++.old-deja/g++.robertl/eb109.C: Add column info to dg-error string.
+
+2012-05-16 Patrick Marlier <patrick.marlier@gmail.com>
+
+ * gcc.dg/tm/indirect-2.c: New test.
+
+2012-05-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/53217
+ * gfortran.dg/pr53217.f90: New test.
+
+2012-05-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53364
+ * g++.dg/torture/pr53364.C: New testcase.
+
+2012-05-16 Georg-Johann Lay <avr@gjlay.de>
+
+ PR testsuite/52641
+ * gcc.dg/pr52549.c: Fix test for long != void*
+ * gcc.c-torture/execute/pr52979-1.x: New file.
+ * gcc.c-torture/execute/pr52979-2.x: New file.
+
+2012-05-16 Dodji Seketeli <dodji@redhat.com>
+
+ PR preprocessor/7263
+ * gcc.dg/binary-constants-2.c: Run without tracking locations
+ accross macro expansion.
+ * gcc.dg/binary-constants-3.c: Likewise.
+ * gcc.dg/cpp/sysmac2.c: Likewise.
+ * gcc.dg/nofixed-point-2.c: Adjust for more precise
+ location.
+ * gcc.dg/cpp/syshdr3.c: New test.
+ * gcc.dg/cpp/syshdr3.h: New header for the new test above.
+ * gcc.dg/system-binary-constants-1.c: New test.
+ * gcc.dg/system-binary-constants-1.h: New header for the new test
+ above.
+ * g++.dg/cpp/syshdr3.C: New test.
+ * g++.dg/cpp/syshdr3.h: New header the new test above.
+ * g++.dg/system-binary-constants-1.C: New test.
+ * g++.dg/system-binary-constants-1.h: New header the new test
+ above.
+
+2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.old-deja/g++.pt/crash10.C: Adjust post PR11586.
+
+2012-05-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/53358
+ * gcc.dg/pr53358.c: New test.
+
+2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/11856
+ * g++.dg/warn/Wtype-limits.C: Don't warn in templates.
+ * g++.dg/warn/Wtype-limits-Wextra.C: Likewise.
+
+2012-05-15 Olivier Hainque <hainque@adacore.com>
+
+ * g++.dg/eh/sighandle.C: New testcase.
+
+2012-05-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53355
+ * gcc.dg/tree-ssa/vrp67.c: New testcase.
+
+2012-05-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * gfortran.dg/*.f90: Remove now redundant manual
+ cleanup-modules directive.
+
+2012-05-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/avx256-unaligned-load-[1234].c: Update scan strings.
+ * gcc.target/i386/avx256-unaligned-store-[1234].c: Ditto.
+
+2012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/52428
+ * gfortran.dg/int_range_io_1.f90: New test.
+
+2012-05-14 Andi Kleen <ak@linux.intel.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR target/53315
+ * gcc.target/i386/i386.exp (check_effective_target_rtm): New.
+ * gcc.target/i386/rtm-check.h: New file.
+ * gcc.target/i386/pr53315.c: New test.
+
+2012-05-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/49110
+ PR fortran/51055
+ PR fortran/53329
+ * gfortran.dg/deferred_type_param_4.f90: New.
+ * gfortran.dg/deferred_type_param_6.f90: New.
+
+2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gcc.target/i386/retarg.c: New test.
+
+2012-05-13 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
+
+ PR fortran/45170
+ * gfortran.dg/deferred_type_param_3.f90: New.
+ * gfortran.dg/deferred_type_proc_pointer_1.f90: New.
+ * gfortran.dg/deferred_type_proc_pointer_2.f90: New.
+
+2012-05-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/null_pointer_deref3.adb: New test.
+
+2012-05-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/49110
+ PR fortran/52843
+ * gfortran.dg/deferred_type_param_5.f90: New.
+
+2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/parse/error47.C: New.
+
+2012-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/52537
+ * gfortran.dg/string_compare_4.f90: Change option
+ to -fdump-tree-original. Add test case for kind=4.
+
+2012-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/52537
+ * gfortran.dg/string_compare_4.f90: New test.
+
+2012-05-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * g++.dg/debug/dwarf2/nested-3.C: Allow for ! comments.
+
+2012-05-11 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53305
+ * g++.dg/cpp0x/variadic132.C: New.
+
+2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53158
+ * g++.dg/cpp0x/lambda/lambda-err2.C: New.
+ * g++.dg/parse/error26.C: Tweak dg-error column number.
+
+2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53301
+ * g++.dg/warn/Wzero-as-null-pointer-constant-6.C: New.
+
+2012-05-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/lto11.ad[sb]: New test.
+
+2012-05-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/52908
+ * gcc.target/i386/xop-imul32widen-vector.c: Update scan-assembler
+ directive to Scan for vpmuldq, not vpmacsdql.
+
+2012-05-09 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/53185
+ * gcc.dg/vect/pr53185.c: New test.
+
+2012-05-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/53249
+ * gcc.target/i386/pr53249.c: New.
+
+2012-05-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/18437
+ * gfortran.dg/vect/rnflow-trs2a2.f90: Move ...
+ * gfortran.dg/vect/fast-math-rnflow-trs2a2.f90: ... here.
+
+2012-05-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53226
+ * gcc.c-torture/compile/pr53226.c: New test.
+
+2012-05-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.target/i386/hle-add-acq-1.c: Allow for ; after lock.
+ * gcc.target/i386/hle-add-rel-1.c: Likewise.
+ * gcc.target/i386/hle-and-acq-1.c: Likewise.
+ * gcc.target/i386/hle-and-rel-1.c: Likewise.
+ * gcc.target/i386/hle-cmpxchg-acq-1.c: Likewise.
+ * gcc.target/i386/hle-cmpxchg-rel-1.c: Likewise.
+ * gcc.target/i386/hle-or-acq-1.c: Likewise.
+ * gcc.target/i386/hle-or-rel-1.c: Likewise.
+ * gcc.target/i386/hle-sub-acq-1.c: Likewise.
+ * gcc.target/i386/hle-sub-rel-1.c: Likewise.
+ * gcc.target/i386/hle-xadd-acq-1.c: Likewise.
+ * gcc.target/i386/hle-xadd-rel-1.c: Likewise.
+ * gcc.target/i386/hle-xor-acq-1.c: Likewise.
+ * gcc.target/i386/hle-xor-rel-1.c: Likewise.
+
+2012-05-09 Dehao Chen <dehao@google.com>
+
+ * gcc.dg/predict-1.c: Remove the replicated text in this test.
+ * gcc.dg/predict-2.c: Likewise.
+ * gcc.dg/predict-3.c: Likewise.
+ * gcc.dg/predict-4.c: Likewise.
+ * gcc.dg/predict-5.c: Likewise.
+ * gcc.dg/predict-6.c: Likewise.
+
+2012-05-08 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/53272
+ * gcc.dg/torture/pr53272-1.c, gcc.dg/torture/pr53272-2.c: New test.
+
+2012-05-08 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/fold-bitand-4.c: New testcase.
+
+2012-05-08 Dehao Chen <dehao@google.com>
+
+ * gcc.dg/predict-1.c: Check if LOOP_IV_COMPARE static predict
+ heuristic is working properly.
+ * gcc.dg/predict-2.c: Likewise.
+ * gcc/dg/predict-3.c: Likewise.
+ * gcc/dg/predict-4.c: Likewise.
+ * gcc/dg/predict-5.c: Likewise.
+ * gcc/dg/predict-6.c: Likewise.
+
+2012-05-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53239
+ * g++.dg/opt/vrp3.C: New test.
+ * g++.dg/opt/vrp3-aux.cc: New file.
+ * g++.dg/opt/vrp3.h: New file.
+
+2012-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * g++.dg/debug/dwarf2/nested-3.C: Allow for / comments and missing
+ .uleb128 support in assembler output.
+
+2012-05-07 Richard Guenther <rguenther@suse.de>
+
+ PR lto/42987
+ * g++.dg/lto/pr42987_0.C: New testcase.
+ * g++.dg/lto/pr42987_1.C: Likewise.
+
+2012-05-07 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53255
+ * gfortran.dg/typebound_operator_15.f90: New.
+
+2012-05-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/41587
+ * gfortran.dg/class_array_13.f90: New.
+
+2012-05-06 Tristan Gingold <gingold@adacore.com>
+
+ * gnat.dg/warn7.adb: New test.
+
+2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/renamings.ads: Rename to...
+ * gnat.dg/specs/renaming1.ads: ...this.
+ * gnat.dg/specs/renaming2.ads: New test.
+ * gnat.dg/specs/renaming2_pkg1.ads: New helper.
+ * gnat.dg/specs/renaming2_pkg2.ads: Likewise.
+ * gnat.dg/specs/renaming2_pkg3.ads: Likewise.
+ * gnat.dg/specs/renaming2_pkg4.ad[sb]: Likewise.
+
+2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr36.ad[sb]: New test.
+ * gnat.dg/discr36_pkg.ad[sb]: New helper.
+
+2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/43772
+ * c-c++-common/pr43772.c: New.
+
+2012-05-05 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/41600
+ * gfortran.dg/select_type_26.f03 : New test.
+ * gfortran.dg/select_type_27.f03 : New test.
+
+ PR fortran/53191
+ * gfortran.dg/select_type_28.f03 : New test.
+
+2012-05-05 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/49010
+ PR fortran/24518
+ * gfortran.dg/mod_sign0_1.f90: New test.
+ * gfortran.dg/mod_large_1.f90: New test.
+
+2012-05-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53175
+ gfortran.dg/public_private_module_5.f90: New.
+
+2012-05-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53111
+ * gfortran.dg/constructor_7.f90: New.
+ * gfortran.dg/constructor_8.f90: New.
+
+2012-05-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53166
+ * g++.dg/cpp0x/static_assert7.C: New.
+
+2012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ PR tree-optimization/52633
+ * gcc.dg/vect/vect-over-widen-1.c: Two patterns should now be
+ recognized as widening shifts instead of over-widening.
+ * gcc.dg/vect/vect-over-widen-1-big-array.c: Likewise.
+ * gcc.dg/vect/vect-over-widen-4.c: Likewise.
+ * gcc.dg/vect/vect-over-widen-4-big-array.c: Likewise.
+ * gcc.target/arm/pr52633.c: New test.
+
+2012-05-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53168
+ * gcc.dg/torture/pr53168.c: New testcase.
+ * gcc.dg/tree-ssa/ssa-pre-30.c: Likewise.
+
+2012-05-04 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/lto/pr53214_0.c: New testcase.
+
+2012-05-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.target/ia64/pr48496.c: New test.
+ * gcc.target/ia64/pr52657.c: Likewise.
+
+2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR c/51712
+ * c-c++-common/pr51712.c: New.
+
+2012-05-03 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/53199
+ * gcc.target/powwerpc/pr53199.c: New file.
+
+2012-05-03 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/debug/dwarf2/nested-3.C: Adjust pattern.
+
+ * gcc.dg/debug/dwarf2/dups-types.c: New.
+ * gcc.dg/debug/dwarf2/dups-types.h: New.
+
+2012-05-03 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/debug/dwarf2/namespace-2.C: New.
+ * g++.dg/debug/dwarf2/localclass3.C: New.
+
+2012-05-03 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/debug/dwarf2/thunk1.C: New.
+
+2012-05-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53186
+ * g++.dg/other/final2.C: New.
+
+2012-05-03 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/ssa-pre-27.c: Remove XFAIL.
+
+2012-05-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/hle-cmpxchg-acq-1.c (dg-options): Add -march=x86-64.
+ * gcc.target/i386/hle-xadd-acq-1.c (dg-options): Ditto.
+ * gcc.target/i386/hle-cmpxchg-rel-1.c (dg-options): Ditto.
+ * gcc.target/i386/hle-xadd-rel-1.c (dg-options): Ditto.
+
+2012-05-03 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.target/i386/hle-xadd-rel-1.c: Match .byte 0xf3 instead of
+ .byte 0xf2.
+ * gcc.target/i386/hle-sub-rel-1.c: Likewise.
+ * gcc.target/i386/hle-xchg-rel-1.c: Likewise.
+ * gcc.target/i386/hle-add-rel-1.c: Likewise.
+
+ PR debug/53174
+ * gcc.dg/pr53174.c: New test.
+
+ PR target/53187
+ * gcc.target/arm/pr53187.c: New test.
+ * gcc.c-torture/compile/pr53187.c: New test.
+
+2012-05-03 Richard Guenther <rguenther@suse.de>
+
+ * gfortran.dg/pr52621.f90: Add -w to avoid diagnostic about
+ unsupported prefetching support.
+
+2012-05-03 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * gcc.dg/fixed-point/composite-type.c (dg-options): Add
+ option -ftrack-macro-expansion=0.
+ * gcc.dg/fixed-point/operator-bitwise.c (dg-options): Add
+ option -ftrack-macro-expansion=0.
+
+2012-05-03 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * gcc.dg/builtin-stringop-chk-1.c (dg-options): Replace
+ dg-options for target arm with dg-additional-options.
+
+2012-05-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53144
+ * gcc.dg/torture/pr53144.c: New testcase.
+
+2012-05-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52864
+ * gfortran.dg/pointer_intent_7.f90: New.
+ * gfortran.dg/pure_formal_3.f90: New.
+
+2012-05-02 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * gcc.target/s390/20030123-1.c: Add missing "volatile".
+
+2012-05-02 Martin Jambor <mjambor@suse.cz>
+
+ PR lto/52605
+ * g++.dg/lto/pr52605_0.C: New test.
+
+2012-05-02 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gcc.target/i386/hle-cmpxchg-acq-1.c: New.
+ * gcc.target/i386/hle-cmpxchg-rel-1.c: Ditto.
+ * gcc.target/i386/hle-add-acq-1.c: Ditto.
+ * gcc.target/i386/hle-add-rel-1.c: Ditto.
+ * gcc.target/i386/hle-and-acq-1.c: Ditto.
+ * gcc.target/i386/hle-and-rel-1.c: Ditto.
+ * gcc.target/i386/hle-or-acq-1.c: Ditto.
+ * gcc.target/i386/hle-or-rel-1.c: Ditto.
+ * gcc.target/i386/hle-sub-acq-1.c: Ditto.
+ * gcc.target/i386/hle-sub-rel-1.c: Ditto.
+ * gcc.target/i386/hle-xadd-acq-1.c: Ditto.
+ * gcc.target/i386/hle-xadd-rel-1.c: Ditto.
+ * gcc.target/i386/hle-xchg-acq-1.c: Ditto.
+ * gcc.target/i386/hle-xchg-rel-1.c: Ditto.
+ * gcc.target/i386/hle-xor-acq-1.c: Ditto.
+ * gcc.target/i386/hle-xor-rel-1.c: Ditto.
+
+2012-05-02 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/53153
+ * gcc.dg/pr53153.c: New test.
+
+2012-05-02 Richard Guenther <rguenther@suse.de>
+
+ * g++.dg/tree-ssa/pr19807.C: Adjust.
+
+2012-05-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53163
+ * gcc.c-torture/compile/pr53163.c: New test.
+
+ PR rtl-optimization/53160
+ * gcc.c-torture/execute/pr53160.c: New test.
+
+2012-05-01 Ian Lance Taylor <iant@google.com>
+
+ PR c/37303
+ * gcc.dg/pr37303.c: New test.
+
+2012-05-01 Richard Henderson <rth@redhat.com>
+
+ * lib/target-supports.exp
+ (check_effective_target_sync_long_long_runtime): True for
+ check_effective_target_powerpc64.
+
+2012-04-30 Marc Glisse <marc.glisse@inria.fr>
+
+ PR c++/51033
+ * gcc.dg/vector-1.c: Move to ...
+ * c-c++-common/vector-1.c: ... here.
+ * gcc.dg/vector-2.c: Move to ...
+ * c-c++-common/vector-2.c: ... here.
+ * gcc.dg/vector-3.c: Move to ...
+ * c-c++-common/vector-3.c: ... here. Adapt to C++.
+ * gcc.dg/vector-4.c: Move to ...
+ * c-c++-common/vector-4.c: ... here.
+ * gcc.dg/vector-init-1.c: Move to ...
+ * c-c++-common/vector-init-1.c: ... here.
+ * gcc.dg/vector-init-2.c: Move to ...
+ * c-c++-common/vector-init-2.c: ... here.
+ * gcc.dg/vector-subscript-1.c: Move to ... Adapt to C++.
+ * c-c++-common/vector-subscript-1.c: ... here.
+ * gcc.dg/vector-subscript-2.c: Move to ...
+ * c-c++-common/vector-subscript-2.c: ... here.
+ * gcc.dg/vector-subscript-3.c: Move to ...
+ * c-c++-common/vector-subscript-3.c: ... here.
+
+ PR c++/51314
+ * g++.dg/cpp0x/vt-51314.C: New test.
+ * g++.dg/cpp0x/variadic76.C: Fix.
+
+2012-04-30 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * gcc.dg/pr52283.c: Add missing dg-warning and dg-options.
+
+2012-04-30 Dodji Seketeli <dodji@redhat.com>
+
+ Add -Wvarargs option
+ * c-c++-common/Wvarargs.c: New test case.
+ * c-c++-common/Wvarargs-2.c: Likewise.
+
+2012-04-30 Dodji Seketeli <dodji@redhat.com>
+
+ Adjust relevant test cases wrt -ftrack-macro-expansion=[0|2]
+ * objc.dg/foreach-7.m: Force the test case to run without
+ -ftrack-macro-expansion.
+ * c-c++-common/tm/attrib-1.c: Likewise.
+ * c-c++-common/warn-ommitted-condop.c: Likewise.
+ * gcc.dg/assign-warn-1.c: Likewise.
+ * gcc.dg/assign-warn-2.c: Likewise.
+ * gcc.dg/attr-alloc_size.c: Likewise.
+ * gcc.dg/builtin-stringop-chk-1.c: Likewise.
+ * gcc.dg/builtin-stringop-chk-2.c: Likewise.
+ * gcc.dg/builtin-strncat-chk-1.c: Likewise.
+ * gcc.dg/c90-const-expr-9.c: Likewise.
+ * gcc.dg/c99-const-expr-9.c: Likewise.
+ * gcc.dg/cpp/direct2.c: Likewise. Adjust.
+ * gcc.dg/cpp/direct2s.c: Likewise.
+ * gcc.dg/cpp/pr28709.c: Likewise.
+ * gcc.dg/cpp/pragma-diagnostic-1.c: Likewise.
+ * gcc.dg/dfp/composite-type.c: Likewise.
+ * gcc.dg/uninit-6-O0.c: Adjust the test case and force it to run
+ with -ftrack-macro-expansion
+ * g++.dg/cpp0x/constexpr-ex3.C: Likewise.
+ * g++.dg/cpp0x/constexpr-overflow.C: Likewise.
+ * g++.dg/ext/cleanup-1.C: Likewise.
+ * g++.dg/ext/gnu-inline-global-reject.C: Likewise.
+ * g++.dg/template/sfinae10.C: Likewise.
+ * g++.dg/tm/wrap-2.C: Likewise.
+ * g++.dg/warn/Wconversion-real-integer.C: Likewise.
+ * g++.dg/warn/Wsign-conversion.C: Likewise.
+ * g++.dg/warn/multiple-overflow-warn-1.C: Likewise.
+ * g++.old-deja/g++.mike/p10769b.C: Likewise.
+ * g++.dg/warn/Wdouble-promotion.C: Adjust the test case and force
+ it to run with -ftrack-macro-expansion.
+ * libstdc++-v3/scripts/testsuite_flags.in: By default, run the
+ test cases without -ftrack-macro-expansion.
+
+ Fix location for static class members
+ * g++.dg/template/sfinae6_neg.C: Adjust.
+
+ Make conversion warnings work on NULL with -ftrack-macro-expansion
+ * g++.dg/warn/Wconversion-null-2.C: Add testing for __null,
+ alongside the previous testing for NULL.
+
+ Fix -Wuninitialized for -ftrack-macro-expansion
+ * gcc.dg/cpp/pragma-diagnostic-2.c: Fix this.
+
+ Strip "<built-in>" loc from displayed expansion context
+ * g++.dg/warn/Wconversion-real-integer2.C: New test.
+ * g++.dg/warn/Wconversion-real-integer-3.C: Likewise.
+ * g++.dg/warn/conversion-real-integer-3.h: New header used by the
+ new test above.
+
+ Fix expansion point loc for macro-like tokens
+ * gcc.dg/debug/dwarf2/pr41445-5.c: Adjust.
+ * gcc.dg/debug/dwarf2/pr41445-6.c: Likewise.
+
+ Fix token pasting with -ftrack-macro-expansion
+ * gcc.dg/cpp/paste17.c: New test case for
+ -ftrack-macro-expansion=2 mode only.
+ * gcc.dg/cpp/macro-exp-tracking-5.c: Likewise.
+
+2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/warn6.ad[sb]: New test.
+
+2012-04-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 53149
+ * gcc.dg/20011021-1.c: Adjust testcase.
+
+2012-04-29 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/53148
+ * gfortran.dg/function_optimize_12.f90: New test.
+
+2012-04-29 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/53156
+ * gcc.target/cris/peep2-andu2.c: Tweak expected assembly
+ code to match current output and cover new peephole2 pattern.
+
+2012-04-27 Ollie Wild <aaw@google.com>
+
+ * g++.dg/cpp0x/Wliteral-suffix.c: New test.
+
+2012-04-27 Paolo Bonzini <bonzini@gnu.org>
+
+ * gcc.c-torture/execute/20120427-2.c: New testcase.
+ * gcc.dg/tree-ssa/phi-opt-10.c: New testcase.
+ * gcc.dg/tree-ssa/ssa-pre-28.c: Bypass new optimization.
+ * gcc.dg/tree-ssa/ssa-ifcombine-7.c: Look into ifcombine dump.
+
+2012-04-27 Paolo Bonzini <bonzini@gnu.org>
+
+ PR target/53138
+ * gcc.c-torture/execute/20120427-1.c: New testcase.
+
+2012-04-27 Marc Glisse <marc.glisse@inria.fr>
+
+ PR middle-end/27139
+ * gcc.dg/tree-ssa/forwprop-18.c: New test.
+
+2012-04-27 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/51879
+ * gcc.dg/pr51879.c: New test.
+ * gcc.dg/pr51879-2.c: Same.
+ * gcc.dg/pr51879-3.c: Same.
+ * gcc.dg/pr51879-4.c: Same.
+ * gcc.dg/pr51879-6.c: Same.
+
+2012-04-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53096
+ * g++.dg/cpp0x/defaulted35.C: New.
+ * g++.dg/cpp0x/defaulted15.C: Adjust.
+
+2012-04-26 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.dg/bf-ms-layout.c: Adjust offsets to fit ms-bitfield
+ structure layout.
+
+2012-04-25 Sriraman Tallam <tmsriram@google.com>
+
+ * gcc.target/i386/builtin_target.c: Check avx2.
+
+2012-04-26 Alan Modra <amodra@gmail.com>
+
+ * gcc.target/powerpc/savres.c: New test.
+ * gcc.target/powerpc/powerpc.exp: Run it.
+
+2012-04-26 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/53120
+ * gcc.dg/torture/pr53120.c: New test.
+
+2012-04-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/52979
+ * gcc.c-torture/compile/pr52979-1.c: New test.
+ * gcc.c-torture/execute/pr52979-1.c: New test.
+ * gcc.c-torture/execute/pr52979-2.c: New test.
+
+2012-04-25 Richard Guenther <rguenther@suse.de>
+
+ * gcc.target/i386/l_fma_float_5.c: Adjust.
+ * gcc.target/i386/l_fma_double_4.c: Likewise.
+ * gcc.target/i386/l_fma_float_2.c: Likewise.
+ * gcc.target/i386/l_fma_float_6.c: Likewise.
+ * gcc.target/i386/l_fma_double_1.c: Likewise.
+ * gcc.target/i386/l_fma_double_5.c: Likewise.
+ * gcc.target/i386/l_fma_float_3.c: Likewise.
+ * gcc.target/i386/l_fma_double_2.c: Likewise.
+ * gcc.target/i386/l_fma_double_6.c: Likewise.
+ * gcc.target/i386/l_fma_float_4.c: Likewise.
+ * gcc.target/i386/l_fma_double_3.c: Likewise.
+ * gcc.target/i386/l_fma_float_1.c: Likewise.
+
+2012-04-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53058
+ * gcc.c-torture/compile/pr53058.c: New test.
+
+2012-04-25 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/53088
+ * gcc.target/i386/pr39082-1.c: Update warning location.
+
+2012-04-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/52880
+ * gcc.dg/pr52880.c: New test.
+
+2012-04-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * gcc.dg/m-un-2.c: Update.
+ * gcc.dg/20011021-1.c: Update.
+
+2012-04-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52196
+ * gfortran.dg/realloc_on_assign_14.f90: New.
+
+2012-04-24 Georg-Johann Lay <avr@gjlay.de>
+
+ PR testsuite/52641
+ PR tree-optimizations/52891
+ * gcc.c-torture/compile/pr52891-2.c: Fix test for 16-bit int.
+
+2012-04-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52363
+ * g++.dg/cpp0x/sfinae35.C: New.
+ * g++.dg/cpp0x/sfinae36.C: Likewise.
+
+2012-04-24 Sriraman Tallam <tmsriram@google.com>
+
+ * gcc.target/builtin_target.c: New testcase.
+
+2012-04-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR target/47197
+ * gcc.target/powerpc/pr47197.c: New test.
+
+2012-04-24 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53085
+ * g++.dg/torture/pr53085.C: New testcase.
+
+2012-04-24 Andrew Pinski <apinski@cavium.com>
+
+ PR tree-opt/33512
+ * gcc.dg/tree-ssa/andor-3.c: New testcase.
+ * gcc.dg/tree-ssa/andor-4.c: New testcase.
+ * gcc.dg/tree-ssa/andor-5.c: New testcase.
+
+2012-04-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/53084
+ * gcc.c-torture/execute/pr53084.c: New test.
+
+2012-04-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/cpp0x/noexcept15.C: Adjust for Rev 186726 library changes.
+
+2012-04-23 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.dg/tree-ssa/forwprop-17.c: New testcase.
+
+2012-04-23 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ PR regression/53076
+ * gcc.dg/torture/builtin-explog-1.c: Skip if -O0.
+ * gcc.dg/torture/builtin-power-1.c: Likewise.
+
+2012-04-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53070
+ * gcc.dg/torture/pr53070.c: New testcase.
+
+2012-04-23 Richard Guenther <rguenther@suse.de>
+
+ PR c/53060
+ * gcc.dg/pr53060.c: New testcase.
+
+2012-04-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimizations/52891
+ * gcc.c-torture/compile/pr52891-1.c: New test.
+ * gcc.c-torture/compile/pr52891-2.c: New test.
+
+2012-04-22 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53051
+ * gfortran.dg/read_float_4.f90: New.
+
+2012-04-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 35441
+ * c-c++-common/pr35441.C: New.
+
+2012-04-20 Ian Lance Taylor <iant@google.com>
+
+ * go.test/go-test.exp (go-set-goarch): Recognize powerpc*-*-*.
+ (go-gc-tests): Skip nilptr.go on powerpc*-*-*.
+
+2012-04-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/x86_64/abi/avx/test_passing_unions.c: Avoid undefined
+ array access.
+ * gcc.target/x86_64/abi/avx/test_passing_structs.c: Likewise.
+
+2012-04-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR rtl-optimization/44214
+ * gcc.dg/pr44214-1.c: New test.
+ * gcc.dg/pr44214-2.c: Likewise.
+ * gcc.dg/pr44214-3.c: Likewise.
+
+2012-04-20 Richard Guenther <rguenther@suse.de>
+
+ * g++.dg/torture/20120420-1.C: New testcase.
+
+2012-04-19 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc.target/i386/pr45830.c: Update scan-tree-dump.
+
+2012-04-19 Christian Bruel <christian.bruel@st.com>
+
+ * gcc.dg/pr52283.c: New test.
+
+2012-04-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * gcc.dg/pr37985.c: New test.
+
+2012-04-19 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/44688
+ * gcc.dg/var-expand1.c: Increase array size to make unrolling
+ possibly profitable.
+
+2012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/52976
+ * gfortran.dg/reassoc_11.f: New test.
+
+2012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/52976
+ * gfortran.dg/reassoc_7.f: New test.
+ * gfortran.dg/reassoc_8.f: Likewise.
+ * gfortran.dg/reassoc_9.f: Likewise.
+ * gfortran.dg/reassoc_10.f: Likewise.
+
+2012-04-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52422
+ * g++.dg/cpp0x/sfinae33.C: New.
+ * g++.dg/cpp0x/sfinae34.C: Likewise.
+
+2012-04-18 Joey Ye <joey.ye@arm.com>
+
+ * gcc.target/arm/thumb1-imm.c: Skip it in non-thumb1 target.
+
+2012-04-18 Richard Guenther <rguenther@suse.de>
+
+ * gcc.target/x86_64/abi/test_passing_unions.c: Avoid undefined
+ array access.
+ * gcc.target/x86_64/abi/test_passing_structs.c: Likewise.
+ * gcc.target/i386/avx256-unaligned-load-4.c: Fix array sizes.
+
+2012-04-17 Tom de Vries <tom@codesourcery.com>
+
+ * g++.dg/pr51264-4.C: New test.
+
+2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52599
+ * g++.dg/cpp0x/constexpr-ctor10.C: New.
+
+2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53003
+ * g++.dg/parse/crash59.C: New.
+
+2012-04-17 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/18437
+ * gfortran.dg/vect/rnflow-trs2a2.f90: New test.
+
+2012-04-17 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53011
+ * g++.dg/torture/pr53011.C: New testcase.
+
+2012-04-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/38543
+ * g++.dg/cpp0x/variadic131.C: New.
+
+ PR c++/52008
+ * g++.dg/cpp0x/variadic130.C: New.
+
+ PR c++/50830
+ * g++.dg/cpp0x/variadic129.C: New.
+
+ PR c++/50303
+ * g++.dg/cpp0x/variadic128.C: New.
+
+2012-04-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52864
+ * gfortran.dg/pointer_intent_6.f90: New.
+
+2012-04-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52916
+ * gfortran.dg/public_private_module_3.f90: Use dg-additional-sources
+ to include public_private_module_4.f90.
+ * gfortran.dg/public_private_module_4.f90: Skip this test on all
+ targets.
+
+2012-04-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/49152
+ * g++.dg/diagnostic/operator1.C: New.
+ * g++.dg/ext/label5.C: Adjust.
+ * g++.dg/ext/va-arg1.C: Likewise.
+ * g++.dg/other/error20.C: Likewise.
+ * g++.dg/other/error20.C: Likewise.
+ * g++.dg/other/error16.C: Likewise.
+ * g++.dg/other/error10.C: Likewise.
+ * g++.dg/parse/error30.C: Likewise.
+ * g++.dg/cpp0x/lambda/lambda-err1.C: Likewise.
+
+2012-04-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/51148
+ * g++.dg/cpp0x/variadic127.C: New.
+
+2012-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * lib/plugin-support.exp (plugin-test-execute): Properly determine
+ testcase name.
+ Use fail, pass instead of unresolved.
+ Don't log $optstr.
+
+ PR testsuite/52948
+ * g++.dg/plugin/dumb_plugin.c (pass_dumb_plugin_example): Remove
+ TODO_dump_func.
+ * g++.dg/plugin/selfassign.c (pass_warn_self_assign): Likewise.
+ * gcc.dg/plugin/one_time_plugin.c (one_pass): Likewise.
+ * gcc.dg/plugin/selfassign.c (pass_warn_self_assign): Likewise.
+
+2012-04-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/52968
+ * gfortran.dg/typebound_call_23.f03: New test case.
+
+2012-04-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/47220
+ * g++.dg/cpp0x/variadic126.C: New.
+
+ PR c++/52380
+ * g++.dg/cpp0x/variadic125.C: New.
+
+ PR c++/52292
+ * g++.dg/cpp0x/variadic124.C: New.
+
+ PR c++/52706
+ * g++.dg/cpp0x/nullptr27.C: New.
+
+ PR c++/52818
+ * g++.dg/warn/format8.C: New.
+
+2012-04-15 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/51082
+ * gfortran.dg/proc_ptr_comp_34.f90: New test case.
+
+2012-04-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52916
+ PR fortran/40973
+ * gfortran.dg/public_private_module_3.f90: New.
+ * gfortran.dg/public_private_module_4.f90: New.
+
+2012-04-14 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/superblock.c: New test.
+
+2012-04-14 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/pr51879-12.c: New test.
+
+2012-04-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/52824
+ * g++.dg/cpp0x/variadic123.C: New.
+ * g++.dg/cpp0x/alias-decl-15.C: Remove dg-errors.
+
+ PR c++/52905
+ * g++.dg/cpp0x/initlist-ctor1.C: New.
+
+ PR c++/52915
+ * g++.dg/other/anon-union2.C: New.
+
+2012-04-13 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/52939
+ * g++.dg/ipa/pr52939.C: New test.
+
+2012-04-13 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/pr52734.c: New test.
+
+2012-04-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52969
+ * gcc.dg/torture/pr52969.c: New testcase.
+
+2012-04-13 Richard Guenther <rguenther@suse.de>
+
+ PR c/52549
+ * gcc.dg/pr52549.c: New testcase.
+
+2012-04-13 Richard Guenther <rguenther@suse.de>
+
+ PR c/52862
+ * gcc.dg/pr52862.c: New testcase.
+
+2012-04-13 Joey Ye <joey.ye@arm.com>
+
+ * gcc.target/arm/thumb1-imm.c: New testcase.
+
+2012-04-12 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/52932
+ * gcc.target/i386/avx2-vpermps-1.c (avx2_test): Use __m256i type for
+ second function argument.
+ * gcc.target/i386/avx2-vpermps-2.c (init_permps): Update declaration.
+ (calc_permps): Update declaration. Calculate result correctly.
+ (avx2_test): Change src2 type to union256i_d.
+ * gcc.target/i386/avx2-vpermd-2.c (calc_permd): Calculate result
+ correctly.
+
+2012-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/52775
+ * gcc.target/powerpc/pr52775.c: New file.
+
+2012-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/18589
+ * gcc.dg/tree-ssa/pr18589-1.c: New test.
+ * gcc.dg/tree-ssa/pr18589-2.c: Likewise.
+ * gcc.dg/tree-ssa/pr18589-3.c: Likewise.
+ * gcc.dg/tree-ssa/pr18589-4.c: Likewise.
+ * gcc.dg/tree-ssa/pr18589-5.c: Likewise.
+ * gcc.dg/tree-ssa/pr18589-6.c: Likewise.
+ * gcc.dg/tree-ssa/pr18589-7.c: Likewise.
+ * gcc.dg/tree-ssa/pr18589-8.c: Likewise.
+ * gcc.dg/tree-ssa/pr18589-9.c: Likewise.
+ * gcc.dg/tree-ssa/pr18589-10.c: Likewise.
+
+2012-04-12 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52943
+ * gcc.dg/torture/pr52943.c: New testcase.
+
+2012-04-12 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/50751
+ * gcc/target/sh/pr50751-4.c: New.
+ * gcc/target/sh/pr50751-5.c: New.
+ * gcc/target/sh/pr50751-6.c: New.
+ * gcc/target/sh/pr50751-7.c: New.
+
+2012-04-11 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/52465
+ * g++.dg/lookup/using52.C: New.
+
+2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * lib/prune.exp (TEST_ALWAYS_FLAGS): If undefined, set to empty.
+
+2012-04-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/52876
+ * gcc.target/i386/pr52876.c: New.
+
+2012-04-11 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gcc.dg/c99-const-expr-9.c (old_offsetof): Insert a cast to
+ __UINTPTR_TYPE__.
+ * gcc.c-torture/execute/pr15296.c (intptr_t): Likewise, with
+ __INTPTR_TYPE__.
+ * gcc.dg/pr14092-1.c (intptr_t): Likewise.
+ * gcc.dg/tree-ssa/foldcast-1.c (ssize_t): Likewise.
+ * gcc.dg/c90-const-expr-6.c (intptr_t): New typedef to replace ...
+ (ptrdiff_t): ... this. All uses changed.
+ * gcc.dg/c99-const-expr-6.c (intptr_t, ptrdiff_t): Likewise.
+ * gcc.dg/torture/pta-escape-1.c (foo): Change arg type to
+ __INTPTR_TYPE__.
+ (main): Cast argument to __INTPTR_TYPE__.
+ * gcc.dg/20041106-1.c (main): Cast to __UINTPTR_TYPE__ rather than
+ size_t.
+ * gcc.dg/mallign.c (main): Likewise.
+ * gcc.dg/pr38700.c (foo): Likewise.
+ * gcc.dg/long-long-cst1.c (t): Likewise.
+ * gcc.dg/c99-const-expr-10.c (p, q, f, h, h2): Likewise.
+ * gcc.dg/array-10.c (c0, c1, c2, c3, c4, c5): Likewise.
+ * gcc.dg/pointer-arith-10.c (foo): Likewise.
+ * gcc.dg/pr25682.c (d, foo): Likewise.
+ * gcc.dg/format/cast-1.c (f): Likewise.
+ * gcc.dg/c90-const-expr-10.c
+ * gcc.dg/pr41551.c (uintptr_t): New typedef, replacing...
+ (size_t): ...this. All uses changed.
+ * gcc.c-torture/execute/pr22098-1.c (uintptr_t): Likewise.
+ * gcc.c-torture/execute/pr22098-2.c (uintptr_t): Likewise.
+ * gcc.c-torture/execute/pr22098-3.c (uintptr_t): Likewise.
+ * gcc.dg/pr34856.c (uintptr_t): Likewise.
+ * gcc.dg/sequence-pt-1.c: Likewise.
+ * gcc.dg/c90-const-expr-9.c (uintptr_t): Likewise.
+ * gcc.dg/max-1.c (intptr_t): Likewise, replacing ssize_t.
+ * gcc.dg/pr39074.c (intptr_t): Define using __INTPTR_TYPE__.
+ * gcc.dg/pr30744-1.c (my_intptr_t): New typedef. Replace all uses
+ of ptrdiff_t with it.
+ * gcc.dg/inline-23.c (my_intptr_t): Likewise.
+ * gcc.dg/pr37561.c (p): Use __INTPTR_TYPE__.
+ * gcc.dg/vla-11.c (foo11b): Use __UINTPTR_TYPE__.
+
+2012-04-11 Jason Merrill <jason@redhat.com>
+
+ PR debug/45088
+ * g++.dg/debug/dwarf2/self-ref-1.C: Define virtual destructor.
+ * g++.dg/debug/dwarf2/self-ref-1.C: Likewise.
+
+ PR c++/52906
+ * g++.dg/ext/attrib45.C: New.
+
+ * g++.dg/eh/dtor3.C: New.
+
+2012-04-11 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52621
+ * gfortran.dg/pr52621.f90: New testcase.
+
+2012-04-11 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52918
+ * g++.dg/torture/pr52918-1.C: New testcase.
+ * g++.dg/torture/pr52918-2.C: Likewise.
+
+2012-04-11 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52729
+ * gfortran.dg/block_11.f90: New.
+
+2012-04-11 Nick Clifton <nickc@redhat.com>
+
+ * gcc.dg/stack-usage-1.c (SIZE): Define for the RL78.
+
+2012-04-11 Peter Bergner <bergner@vnet.ibm.com>
+
+ PR target/16458
+ * gcc.target/powerpc/pr16458-1.c: New test.
+ * gcc.target/powerpc/pr16458-2.c: Likewise.
+ * gcc.target/powerpc/pr16458-3.c: Likewise.
+ * gcc.target/powerpc/pr16458-4.c: Likewise.
+
+2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/builtin-bswap-1.c: Test __builtin_bswap16 & __builtin_bswap64.
+ * gcc.dg/builtin-bswap-4.c: Test __builtin_bswap16.
+ * gcc.dg/builtin-bswap-5.c: Likewise.
+ * gcc.target/i386/builtin-bswap-4.c: New test.
+
+2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 24985
+ * lib/prune.exp: Add -fno-diagnostics-show-caret.
+
+2012-04-11 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/52881
+ * gcc.dg/torture/pr52881.c: New testcase.
+ * gcc.dg/torture/pr52913.c: Likewise.
+
+2012-04-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52912
+ * gcc.dg/torture/pr52912.c: New testcase.
+
+2010-04-10 Michael Matz <matz@suse.de>
+
+ * gcc.dg/vect/vect-outer-1-big-array.c: Adjust.
+ * gcc.dg/vect/vect-outer-1.c: Adjust.
+ * gcc.dg/vect/vect-outer-1a-big-array.c: Adjust.
+ * gcc.dg/vect/vect-outer-1a.c: Adjust.
+ * gcc.dg/vect/vect-outer-1b-big-array.c: Adjust.
+ * gcc.dg/vect/vect-outer-1b.c: Adjust.
+ * gcc.dg/vect/vect-outer-2b.c: Adjust.
+ * gcc.dg/vect/vect-outer-3b.c: Adjust.
+
+2012-04-10 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ PR tree-optimization/52870
+ * gcc.dg/vect/pr52870.c: New test.
+
+2012-04-09 Mike Stump <mikestump@comcast.net>
+
+ * g++.dg/cpp0x/udlit-raw-op.C: Don't use CRLF endings.
+ * gcc.dg/tree-ssa/vrp59.c: Likewise.
+ * gcc.dg/tree-ssa/vrp60.c: Likewise.
+ * gnat.dg/aggr11.adb: Likewise.
+ * gnat.dg/aggr11_pkg.ads: Likewise.
+ * gnat.dg/aggr15.adb: Likewise.
+ * gnat.dg/aggr15.ads: Likewise.
+ * gnat.dg/aggr17.adb: Likewise.
+ * gnat.dg/aggr18.adb: Likewise.
+ * gnat.dg/array14.adb: Likewise.
+ * gnat.dg/array14.ads: Likewise.
+ * gnat.dg/array14_pkg.ads: Likewise.
+ * gnat.dg/array19.adb: Likewise.
+ * gnat.dg/array19.ads: Likewise.
+ * gnat.dg/discr27.adb: Likewise.
+ * gnat.dg/discr27.ads: Likewise.
+ * gnat.dg/discr35.adb: Likewise.
+ * gnat.dg/discr35.ads: Likewise.
+ * gnat.dg/discr6.adb: Likewise.
+ * gnat.dg/discr6_pkg.ads: Likewise.
+ * gnat.dg/import1.adb: Likewise.
+ * gnat.dg/import1.ads: Likewise.
+ * gnat.dg/loop_address2.adb: Likewise.
+ * gnat.dg/opt7.adb: Likewise.
+ * gnat.dg/opt7.ads: Likewise.
+ * gnat.dg/pointer_variable_bounds.adb: Likewise.
+ * gnat.dg/pointer_variable_bounds.ads: Likewise.
+ * gnat.dg/rep_clause2.adb: Likewise.
+ * gnat.dg/rep_clause2.ads: Likewise.
+ * gnat.dg/slice2.adb: Likewise.
+ * gnat.dg/slice2.ads: Likewise.
+ * gnat.dg/slice6.adb: Likewise.
+ * gnat.dg/slice6_pkg.ads: Likewise.
+ * gnat.dg/specs/unchecked_union2.ads: Likewise.
+ * gnat.dg/taft_type2.adb: Likewise.
+ * gnat.dg/taft_type2.ads: Likewise.
+ * gnat.dg/taft_type2_pkg.ads: Likewise.
+ * gnat.dg/volatile10.adb: Likewise.
+ * gnat.dg/volatile10_pkg.ads: Likewise.
+
+ * gcc.dg/dll-8.c: Remove execute permissions.
+ * g++.dg/ext/dllexport5.C: Likewise.
+
+2012-04-09 Jan Hubicka <jh@suse.cz>
+
+ PR lto/52722
+ PR lto/51765
+ PR lto/52634
+ * gcc.dg/lto/pr52634_1.c: New testcase.
+ * gcc.dg/lto/pr52634_0.c: New testcase.
+
+2012-04-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/52883
+ * gcc.target/i386/pr52883.c: New testcase.
+
+2012-04-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lib/target-supports.exp (check_effective_target_sparc_v9): New.
+ (check_effective_target_sync_long_long): Add SPARC case.
+ (check_effective_target_sync_long_long_runtime): Likewise.
+ (check_effective_target_sync_int_long): Adjust SPARC case.
+ (check_effective_target_sync_char_short): Likewise.
+
+2012-04-08 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * gcc.target/sh/sh2a-prefetch.c: Rename to ...
+ * gcc.target/sh/prefetch.c: ... this. Enable test case for m4*.
+
+2012-04-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/40973
+ PR fortran/52751
+ * gfortran.dg/public_private_module_2.f90: New.
+
+2012-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * g++.dg/warn/Wstrict-aliasing-float-ref-int-obj.C: Add labels to
+ directives.
+
+2012-04-07 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/52893
+ * gfortran.dg/function_optimize_11.f90: New test.
+
+2012-04-06 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/52668
+ * gfortran.dg/use_only_6.f90: New test.
+
+2012-04-06 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/52668
+ * gfortran.dg/use_only_6.f90: New test.
+2012-04-06 Mike Stump <mikestump@comcast.net>
+
+ PR testsuite/50722
+ * gcc.dg/pr49994-3.c: Use -w to squelch non-portable warnings.
+
+2012-04-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/52596
+ * g++.dg/template/qualified-id5.C: New.
+
+2012-04-05 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/52882
+ * gcc.target/i386/pr52882.c: New test.
+
+2012-04-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+ Dominique D'Humieures <dominiq@lps.ens.fr>
+
+ PR testsuite/52614
+ * gcc.dg/vect/vect.exp: Use -fno-common on all targets.
+ * gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp: Likewise.
+
+2012-04-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/52845
+ * g++.dg/cpp0x/lambda/lambda-warn4.C: New.
+
+2012-04-03 Jason Merrill <jason@redhat.com>
+
+ PR c++/52796
+ * g++.dg/cpp0x/variadic-value1.C: New.
+
+2012-04-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/pack18.adb: New test.
+ * gnat.dg/pack18_pkg.ads: New helper.
+
+2012-04-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52808
+ * gcc.dg/pr52808.c: New testcase.
+
+2012-04-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52835
+ * gfortran.dg/pr52835.f90: New test.
+
+2012-04-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/aggr5.ads: New test.
+
+2012-04-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52756
+ * gcc.dg/torture/pr52756.c: New testcase.
+
+2012-04-02 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52803
+ * gcc.dg/pr52803.c: New testcase.
+
+2012-04-02 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/40942
+ * g++.old-deja/g++.pt/spec40.C: Adjust to take the resolution of
+ DR 214 in account.
+
+2012-04-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50043
+ * g++.dg/cpp0x/noexcept17.C: New.
+ * g++.old-deja/g++.eh/cleanup1.C: Adjust.
+ * g++.dg/tree-ssa/ehcleanup-1.C: Likewise.
+ * g++.dg/cpp0x/noexcept01.C: Likewise.
+ * g++.dg/eh/init-temp1.C: Likewise.
+ * g++.dg/eh/ctor1.C: Likwise.
+
+2012-03-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/controlled6.adb: New test.
+ * gnat.dg/controlled6_pkg.ads: New helper.
+ * gnat.dg/controlled6_pkg-iterators.ad[sb]: Likewise.
+
+2012-03-30 Richard Henderson <rth@redhat.com>
+
+ PR debug/52727
+ * g++.dg/opt/pr52727.C: New testcase.
+
+2012-03-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52754
+ * gcc.target/i386/pr52754.c: New testcase.
+
+2012-03-30 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52772
+ * g++.dg/torture/pr52772.C: New testcase.
+
+2012-03-29 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52718
+ * g++.dg/warn/Wzero-as-null-pointer-constant-5.C: New.
+
+2012-03-29 Jason Merrill <jason@redhat.com>
+
+ PR c++/52685
+ * g++.dg/template/inherit8.C: New.
+
+2012-03-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/52759
+ * g++.dg/ext/weak4.C: New test.
+
+ PR tree-optimization/52760
+ * gcc.c-torture/execute/pr52760.c: New test.
+
+2012-03-29 Jason Merrill <jason@redhat.com>
+
+ PR c++/52743
+ * g++.dg/cpp0x/initlist-array3.C: New.
+
+2012-03-28 Jason Merrill <jason@redhat.com>
+
+ PR c++/52746
+ * g++.dg/overload/virtual2.C: New.
+
+2012-03-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/vect7.ad[sb]: New test.
+
+2012-03-28 Paul Thomas <pault@gcc.gnu.org>
+ Tobias Burnus <burnus@gcc.gnu.org>
+
+ PR fortran/52652
+ * gfortran.dg/allocate_class_1.f90 : Change error test.
+ * gfortran.dg/allocate_with_typespec_4.f90 : Change error test.
+ * gfortran.dg/allocate_alloc_opt_1.f90 : Change error test.
+ * gfortran.dg/deallocate_alloc_opt_1.f90 : Change error test.
+
+2012-03-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/52691
+ * gcc.dg/pr52691.c: New test.
+
+ PR middle-end/52750
+ * gcc.c-torture/compile/pr52750.c: New test.
+
+2012-03-28 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/52692
+ * gcc.target/avr/torture/builtins-2.c: New test.
+
+2012-03-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/52736
+ * gcc.target/i386/pr52736.c: New test.
+
+2012-03-27 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/52693
+ * gcc.dg/torture/pr52693.c: New test.
+
+2012-03-27 Meador Inge <meadori@codesourcery.com>
+
+ PR c++/52672
+ * g++.dg/cpp0x/constexpr-52672.C: New testcase.
+
+2012-03-27 Mike Stump <mikestump@comcast.net>
+
+ PR target/52665
+ * gcc.target/i386/pr28946.c: Use -fno-ident to avoid spurious
+ failures that match branch names.
+
+2012-03-27 Uros Bizjak <ubizjak@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/52698
+ * gcc.target/i386/pr52698.c: New test.
+
+2012-03-27 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52720
+ * gcc.dg/torture/pr52720.c: New testcase.
+
+2012-03-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/pack17.adb: New test.
+
+2012-03-27 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * gcc.target/arm/thumb-ifcvt.c: Only run for -mthumb.
+ * gcc.target/arm/thumb-16bit-ops.c: Likewise.
+
+2012-03-26 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/50052
+ * gcc.dg/ipa/ipa-sra-2.c: Also run on strict-alignment platforms.
+
+2012-03-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52701
+ * gfortran.dg/pr52701.f90: New testcase.
+
+2012-03-26 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ PR tree-optimization/52686
+ * gcc.target/arm/pr52686.c: New test.
+
+2012-03-26 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.target/avr/torture/avr-torture.exp (AVR_TORTURE_OPTIONS):
+ Add "-Os -flto" to list.
+
+2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/concat2.ad[sb]: New test.
+
+2012-03-24 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/auto3.C: Compile with -pedantic-errors.
+ * g++.dg/cpp0x/trailing2.C: Likewise.
+ * g++.dg/warn/pr23075.C: Change dg-warning to dg-bogus.
+ * g++.dg/cpp1y/auto-fn1.C: New.
+ * g++.dg/cpp1y/auto-fn2.C: New.
+ * g++.dg/cpp1y/auto-fn3.C: New.
+ * g++.dg/cpp1y/auto-fn4.C: New.
+ * g++.dg/cpp1y/auto-fn5.C: New.
+ * g++.dg/cpp1y/auto-fn6.C: New.
+ * g++.dg/cpp1y/auto-fn7.C: New.
+ * g++.dg/cpp1y/auto-fn8.C: New.
+ * g++.dg/cpp1y/auto-fn9.C: New.
+ * g++.dg/cpp1y/auto-fn10.C: New.
+ * g++.dg/cpp1y/auto-fn11.C: New.
+
+2012-03-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52678
+ * gfortran.dg/pr52678.f: New testcase.
+
+2012-03-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52638
+ * g++.dg/torture/pr52638.C: New testcase.
+
+2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52487
+ * g++.dg/cpp0x/lambda/lambda-ice7.C: New.
+
+2012-03-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/52671
+ * g++.dg/ext/attrib44.C: New test.
+
+2012-03-22 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/51737
+ * g++.dg/torture/pr51737.C: New testcase
+
+2012-03-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52548
+ * gcc.dg/tree-ssa/ssa-pre-29.c: New testcase.
+
+2012-03-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * lib/fortran-modules.exp (list-module-names-1): Remove
+ warning.
+
+2012-03-21 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/50751
+ * gcc.target/sh/pr50751-1.c: New.
+ * gcc.target/sh/pr50751-2.c: New.
+ * gcc.target/sh/pr50751-3.c: New.
+
+2012-03-21 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/52479
+ * gcc.target/sh/sh4a-cos.c: Remove.
+ * gcc.target/sh/sh4a-sin.c: Remove.
+ * gcc.target/sh/sh4a-sincos.c: Remove.
+
+2012-03-21 Richard Earnshaw <rearnsha@arm.com>
+
+ * gcc.target/arm/neon/vgetQ_laneu64.c: Regenerated.
+ * gcc.target/arm/neon/vgetQ_lanes64.c: Likewise.
+
+2012-03-21 Martin Jambor <mjambor@suse.cz>
+
+ PR testsuite/52641
+ * gcc.dg/misaligned-expand-1.c (cst): Cast to int.
+ * gcc.dg/misaligned-expand-2.c (cst): Likewise.
+
+2012-03-21 Andrew Stubbs <ams@codesourcery.com>
+
+ * gcc.target/arm/thumb-16bit-ops.c: New file.
+ * gcc.target/arm/thumb-ifcvt.c: New file.
+
+2012-03-20 Jason Merrill <jason@redhat.com>
+
+ * lib/target-supports.exp: Add { target c++1y }.
+
+ * g++.dg/cpp0x/auto32.C: New.
+
+2012-03-20 Georg-Johann Lay <avr@gjlay.de>
+
+ PR testsuite/52641
+ * gcc.dg/torture/pr48124-1.c: Add dg-require-effective-target
+ int32plus.
+ * gcc.dg/torture/pr48124-4.c: Ditto:
+ * gcc.dg/torture/pr52530.c: Use long instead of int if int=16.
+
+2012-03-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/52510
+ * g++.dg/cpp0x/initlist66.C: New.
+
+2012-03-20 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.target/avr/progmem.h (pgm_read_char): Define depending on
+ __AVR_HAVE_LPMX__
+
+2012-03-20 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49868
+ * gcc.target/avr/torture/addr-space-2.h: New file.
+ * gcc.target/avr/torture/addr-space-2-g.h: New test.
+ * gcc.target/avr/torture/addr-space-2-0.h: New test.
+ * gcc.target/avr/torture/addr-space-2-1.h: New test.
+ * gcc.target/avr/torture/addr-space-2-x.h: New test.
+
+2012-03-20 Richard Guenther <rguenther@suse.de>
+
+ * gnat.dg/pack16.adb: New testcase.
+ * gnat.dg/pack16_pkg.ads: Likewise.
+ * gnat.dg/specs/pack8.ads: Likewise.
+ * gnat.dg/specs/pack8_pkg.ads: Likewise.
+
+2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/warn/Wuseless-cast.C: Extend.
+
+2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/14710
+ * g++.dg/warn/Wuseless-cast.C: New.
+
+2012-03-17 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/52608
+ * gfortran.dg/pr52608.f90: New test.
+
+2012-03-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52585
+ * gfortran.dg/proc_ptr_36.f90: New.
+
+2012-03-16 Martin Jambor <mjambor@suse.cz>
+
+ * gcc.dg/misaligned-expand-1.c: New test.
+ * gcc.dg/misaligned-expand-3.c: Likewise.
+
+2012-03-16 Richard Guenther <rguenther@suse.de>
+ Kai Tietz <ktietz@redhat.com>
+
+ PR middle-end/48814
+ * gcc.c-torture/execute/pr48814-1.c: New test.
+ * gcc.c-torture/execute/pr48814-2.c: New test.
+ * gcc.dg/tree-ssa/assign-1.c: New test.
+ * gcc.dg/tree-ssa/assign-2.c: New test.
+ * gcc.dg/tree-ssa/assign-3.c: New test.
+
+2012-03-16 Richard Guenther <rguenther@suse.de>
+
+ * gnat.dg/specs/pack7.ads: New testcase.
+
+2012-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/52568
+ * gcc.dg/torture/vshuf-4.inc: Add two new tests.
+ * gcc.dg/torture/vshuf-8.inc: Likewise.
+ * gcc.dg/torture/vshuf-16.inc: Likewise.
+ * gcc.dg/torture/vshuf-32.inc: Likewise.
+
+2012-03-15 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/torture/pr52582.C: New.
+
+2012-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * lib/fortran-modules.exp: New file which was forgotten in r185430.
+
+2012-03-15 Ira Rosen <irar@il.ibm.com>
+ Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * gcc.dg/vect/slp-cond-3.c: New test.
+ * gcc.dg/vect/slp-cond-4.c: New test.
+
+2012-03-15 Ira Rosen <irar@il.ibm.com>
+ Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * gcc.dg/vect/bb-slp-pattern-1.c: New test.
+ * gcc.dg/vect/bb-slp-pattern-2.c: New test.
+
+2012-03-15 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/52434
+ PR libfortran/48878
+ PR libfortran/38199
+ * gfortran.dg/edit_real_1.f90: Don't assume roundTiesToAway.
+ * gfortran.dg/round_1.f03: Likewise.
+
+2012-03-15 Jakub Jelinek <jakub@redhat.com>
+ Andrew Pinski <apinski@cavium.com>
+
+ PR middle-end/52592
+ * gcc.dg/pr52592.c: New test.
+
+2012-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * gfortran.fortran-torture/compile/compile.exp: Simplify.
+ * gfortran.fortran-torture/execute/execute.exp: Likewise.
+ * lib/gcc-dg.exp (cleanup-modules): Move to ..
+ * lib/fortran-modules.exp: .. this new file. Adjust users.
+ * lib/gfortran-dg.exp (gfortran-dg-runtest,
+ gfortran-dg-debug-runtest): Call cleanup-modules.
+ * lib/fortran-torture.exp (fortran-torture-execute,
+ fortran-torture): Likewise.
+ * gfortran.dg/coarray/caf.exp: Likewise.
+ * lib/lto.exp: Likewise.
+ * gfortran.dg/class_4a.f03: Adjust cleanup-modules and keep-modules.
+ * gfortran.dg/class_4b.f03: Likewise.
+ * gfortran.dg/class_4c.f03: Likewise.
+ * gfortran.dg/class_45a.f03: Likewise.
+ * gfortran.dg/binding_label_tests_10.f03: Likewise.
+ * gfortran.dg/binding_label_tests_10_main.f03: Likewise.
+ * gfortran.dg/binding_label_tests_11.f03: Likewise.
+ * gfortran.dg/binding_label_tests_11_main.f03: Likewise.
+ * gfortran.dg/binding_label_tests_13.f03: Likewise.
+ * gfortran.dg/binding_label_tests_13_main.f03: Likewise.
+ * gfortran.dg/test_common_binding_labels_2.f03: Likewise.
+ * gfortran.dg/test_common_binding_labels_2_main.f03: Likewise.
+ * gfortran.dg/test_common_binding_labels_3.f03: Likewise.
+ * gfortran.dg/test_common_binding_labels_3_main.f03: Likewise.
+ * gfortran.dg/whole_file_28.f90: Likewise.
+ * gfortran.dg/whole_file_29.f90: Likewise.
+ * gfortran.dg/whole_file_30.f90: Likewise.
+ * gfortran.dg/whole_file_31.f90: Likewise.
+
+2012-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52267
+ * gcc.dg/pr52267.c: New test.
+ * gcc.dg/tree-ssa/vrp65.c: New test.
+ * gcc.dg/tree-ssa/vrp66.c: New test.
+
+2012-03-15 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52580
+ * gfortran.dg/vect/pr52580.f: New testcase.
+
+2012-03-15 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * gcc.target/sh/fpul-usage-1.c: New.
+
+2012-03-14 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/49468
+ * gcc.target/sh/pr49468-si.c: Make dg-skip-if not the first directive.
+ * gcc.target/sh/pr49468-di.c: Likewise.
+
+2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * g++.dg/warn/miss-format-1.C: Remove *-*-solaris2.8 handling.
+ * gcc.dg/c99-stdint-6.c: Likewise.
+ * gcc.dg/lto/20090210_0.c: Likewise.
+ * gcc.dg/pr28796-2.c: Don't skip on sparc*-sun-solaris2.8.
+ * gcc.dg/pragma-init-fini.c: Don't skip on i?86-*-solaris2.8.
+ * gcc.dg/pragma-init-fini-2.c: Likewise.
+ * gcc.dg/torture/pr47917.c: Remove *-*-solaris2.8 handling.
+ * gcc.target/i386/pr22076.c: Remove i?86-*-solaris2.8 handling.
+ * gcc.target/i386/pr22152.c: Likewise.
+ * gcc.target/i386/vect8-ret.c: Likewise.
+ * lib/target-supports.exp (add_options_for_tls): Remove Solaris 8
+ handling.
+
+2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * g++.dg/other/anon5.C: Don't skip on mips-sgi-irix*.
+ * g++.dg/tree-prof/partition1.C: Likewise.
+ * g++.dg/tree-prof/partition2.C: Likewise.
+ * g++.old-deja/g++.other/init19.C: Remove mips-sgi-irix*
+ handling.
+ * gcc.c-torture/compile/labels-3.c: Remove dg-options.
+ * gcc.c-torture/execute/20010724-1.c: Remove.
+ * gcc.c-torture/execute/20010724-1.x: Remove.
+ * gcc.c-torture/execute/20040208-2.c: Remove.
+ * gcc.c-torture/execute/20040208-2.x: Remove.
+ * gcc.c-torture/execute/ieee/20000320-1.c [__mips__ && __sgi__]:
+ Remove.
+ (main) [__mips__ && __sgi__]: Remove.
+ * gcc.c-torture/execute/ieee/copysign1.c: Remove IRIX reference.
+ * gcc.c-torture/execute/ieee/copysign2.c: Likewise.
+ * gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: Remove
+ mips-sgi-irix6* handling.
+ * gcc.dg/cpp/assert4.c [__mips__]: Remove __sgi__, sgi.
+ * gcc.dg/torture/20090618-1.c: Don't skip on mips-sgi-irix*.
+ * gcc.dg/torture/builtin-frexp-1.c: Remove mips*-*-irix6*
+ handling.
+ * gcc.dg/torture/builtin-logb-1.c: Likewise.
+ * gcc.dg/torture/pr47917.c: Remove mips-sgi-irix6.5 handling.
+ * gcc.dg/tree-ssa/ssa-store-ccp-3.c: Don't skip on mips*-*-irix*.
+ * gcc.misc-tests/linkage.exp: Remove mips-sgi-irix6* handling.
+ * gcc.target/mips/args-1.c [!__sgi__]: Remove.
+ * gcc.target/mips/interrupt_handler-2.c: Don't skip on
+ mips-sgi-irix6*.
+ * gcc.target/mips/interrupt_handler-3.c: Likewise.
+ * gcc.target/mips/save-restore-1.c: Don't skip on mips-sgi-irix6*.
+ * gcc.target/mips/save-restore-3.c: Likewise.
+ * gcc.target/mips/save-restore-4.c: Likewise.
+ * gcc.target/mips/save-restore-5.c: Likewise.
+ * gfortran.dg/g77/cabs.f: Don't xfail on mips-sgi-irix6*.
+ * lib/prune.exp (prune_gcc_output): Remove pruning of IRIX 6 ld
+ messages.
+ * lib/target-libpath.exp (set_ld_library_path_env_vars): Remove
+ IRIX 6 handling.
+ (restore_ld_library_path_env_vars): Likewise.
+ * lib/target-supports.exp (check_profiling_available): Remove
+ mips*-*-irix* handling.
+ (check_ascii_locale_available): Remove mips-sgi-irix* handling.
+ (add_options_for_c99_runtime): Remove mips-sgi-irix6.5* handling.
+ * objc.dg/stabs-1.m: Don't xfail on mips-sgi-irix6.5.
+
+2012-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/52582
+ * g++.dg/opt/pr52582.C: New test.
+
+2012-03-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52571
+ * gcc.dg/vect/vect-2.c: Initialize arrays.
+ * gcc.dg/vect/no-section-anchors-vect-34.c: Likewise.
+ * gcc.target/i386/recip-vec-divf.c: Use -fno-common.
+ * gcc.target/i386/recip-vec-sqrtf.c: Likewise.
+
+2012-03-14 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52080
+ PR middle-end/52097
+ PR middle-end/48124
+ * gcc.dg/torture/pr48124-1.c: New testcase.
+ * gcc.dg/torture/pr48124-2.c: Likewise.
+ * gcc.dg/torture/pr48124-3.c: Likewise.
+ * gcc.dg/torture/pr48124-4.c: Likewise.
+
+2012-03-14 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52578
+ * gcc.dg/pr52578.c: New testcase.
+
+2012-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/52521
+ * g++.dg/cpp0x/udlit-args2.C: New test.
+
+2012-03-13 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/48596
+ * gcc.target/sh/pr48596.c: Move accidentally added new test case to ...
+ * gcc.c-torture/compile/pr48596.c: ... here.
+
+2012-01-30 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51641
+ * g++.dg/lookup/hidden-class17.C: New test.
+
+2012-03-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/52577
+ * gcc.dg/Wunused-var-3.c: New test.
+
+2012-03-13 Martin Jambor <mjambor@suse.cz>
+
+ * gcc.dg/misaligned-expand-2.c: New test.
+
+2012-03-13 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52134
+ * gcc.dg/pr52134.c: New testcase.
+
+2012-03-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * ada/acats/tests/cd/cdd1001.a (CDD1001): Fix typo.
+
+2012-03-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/46728
+ * gcc.target/powerpc/pr46728-4.c: Use preferred syntax.
+ * gcc.target/powerpc/pr46728-5.c: Likewise.
+ * gcc.target/powerpc/pr46728-8.c: Likewise.
+ * gcc.target/powerpc/pr46728-10.c: Likewise.
+ * gcc.target/powerpc/pr46728-11.c: Likewise.
+ * gcc.target/powerpc/pr46728-13.c: Likewise.
+ * gcc.target/powerpc/pr46728-14.c: Likewise.
+ * gcc.target/powerpc/pr46728-15.c: Likewise.
+
+2012-03-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52299
+ * g++.dg/warn/Wdiv-by-zero-bogus.C: New.
+
+2012-03-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/46728
+ * gcc.target/powerpc/pr46728-4.c: Skip for powerpc*-*-darwin*.
+ * gcc.target/powerpc/pr46728-5.c: Likewise.
+ * gcc.target/powerpc/pr46728-8.c: Likewise.
+ * gcc.target/powerpc/pr46728-10.c: Likewise.
+ * gcc.target/powerpc/pr46728-11.c: Likewise.
+ * gcc.target/powerpc/pr46728-13.c: Likewise.
+ * gcc.target/powerpc/pr46728-14.c: Likewise.
+ * gcc.target/powerpc/pr46728-15.c: Likewise.
+
+2012-03-12 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49868
+ * gcc.target/avr/torture/addr-space-1.h: New file.
+ * gcc.target/avr/torture/addr-space-1-g.h: New test.
+ * gcc.target/avr/torture/addr-space-1-0.h: New test.
+ * gcc.target/avr/torture/addr-space-1-1.h: New test.
+ * gcc.target/avr/torture/addr-space-1-x.h: New test.
+
+2012-03-12 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.dg/tree-ssa/phi-opt-7.c: New testcase.
+
+2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * g++.dg/abi/rtti3.C: Remove alpha*-dec-osf* handling.
+ * g++.dg/abi/thunk4.C: Likewise.
+ * g++.dg/cdce3.C: Don't skip on*-dec-osf5*.
+ Adapt line numbers.
+ * g++.dg/compat/struct-layout-1_generate.c: Remove alpha*-dec-osf*
+ handling.
+ * g++.dg/cpp0x/constexpr-rom.C: Likewise.
+ * g++.dg/eh/spbp.C: Likewise.
+ * g++.dg/ext/label13.C: Likewise.
+ * g++.dg/guality/guality.exp: Likewise.
+ * g++.dg/other/anon5.C: Likewise.
+ * g++.dg/other/pragma-ep-1.C: Remove.
+ * g++.dg/warn/miss-format-1.C: Remove alpha*-dec-osf* handling.
+ * g++.dg/warn/pr31246.C: Likewise.
+ * g++.dg/warn/weak1.C: Likewise.
+ * g++.old-deja/g++.eh/badalloc1.C: Likewise.
+ * g++.old-deja/g++.ext/attrib5.C: Likewise.
+ * gcc.c-torture/compile/limits-declparen.c: Likewise.
+ * gcc.c-torture/compile/limits-pointer.c: Likewise.
+ * gcc.c-torture/execute/20001229-1.c: Remove __osf__ handling.
+ * gcc.dg/attr-weakref-1.c: Remove alpha*-dec-osf* handling.
+ * gcc.dg/c99-stdint-6.c: Remove alpha*-dec-osf5* handling.
+ * gcc.dg/c99-tgmath-1.c: Likewise.
+ * gcc.dg/c99-tgmath-2.c: Likewise.
+ * gcc.dg/c99-tgmath-3.c: Likewise.
+ * gcc.dg/c99-tgmath-4.c: Likewise.
+ * gcc.dg/compat/struct-layout-1_generate.c: Remove alpha*-dec-osf*
+ handling.
+ * gcc.dg/debug/pr49032.c: Likewise.
+ * gcc.dg/guality/guality.exp: Likewise.
+ * gcc.dg/intmax_t-1.c: Likewise.
+ * gcc.dg/pr48616.c: Likewise.
+ * gcc.dg/pragma-ep-1.c: Remove.
+ * gcc.dg/pragma-ep-2.c: Remove.
+ * gcc.dg/pragma-ep-3.c: Remove.
+ * gcc.dg/torture/pr47917.c: Remove alpha*-dec-osf5* handling.
+ * gcc.dg/tree-ssa/pr42585.c: Remove alpha*-dec-osf* handling.
+ * gcc.misc-tests/gcov-14.c: Likewise.
+ * gfortran.dg/guality/guality.exp: Likewise.
+ * lib/target-supports.exp (check_weak_available): Likewise.
+ (add_options_for_tls): Likewise.
+ (check_ascii_locale_available): Likewise.
+ * obj-c++.dg/dwarf-2.mm: Likewise.
+ * objc.dg/dwarf-1.m: Likewise.
+ * objc.dg/dwarf-2.m: Likewise.
+
+2012-03-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51721
+ * gcc.dg/tree-ssa/vrp64.c: New test.
+
+ PR tree-optimization/52533
+ * gcc.c-torture/compile/pr52533.c: New test.
+
+2012-03-12 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gcc.target/i386/rtm-xabort-1.c: New.
+ * gcc.target/i386/rtm-xbegin-1.c: Ditto.
+ * gcc.target/i386/rtm-xend-1.c: Ditto.
+ * gcc.target/i386/rtm-xtest-1.c: Ditto.
+ * gcc.target/i386/sse-12.c: Test RTM intrinsics.
+ * gcc.target/i386/sse-13.c: Ditto.
+ * gcc.target/i386/sse-14.c: Ditto.
+ * gcc.target/i386/sse-22.c: Ditto.
+ * gcc.target/i386/sse-23.c: Ditto.
+ * g++.dg/other/i386-2.C: Ditto.
+ * g++.dg/other/i386-3.C: Ditto.
+
+2012-03-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52542
+ * gfortran.dg/proc_ptr_35.f90: New.
+
+2012-03-11 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/52530
+ * gcc.dg/torture/pr52530.c: New test.
+
+2012-03-11 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * gcc.target/sh/pr51244-1.c: Fix thinkos.
+
+2012-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/52450
+ * gcc.dg/torture/pr52402.c: Skip execution on 32-bit hppa*-*-hpux*.
+
+ * gcc.dg/torture/pr52407.c: Add -fno-common option on hppa*-*-hpux*.
+
+2012-03-09 Andrew Pinski <apinski@cavium.com>
+
+ PR middle-end/51988
+ * gcc.dg/tree-ssa/phi-opt-8.c: New testcase.
+ * gcc.dg/tree-ssa/phi-opt-9.c: New testcase.
+
+2012-03-09 Jiangning Liu <jiangning.liu@arm.com>
+
+ * gcc.dg/tree-ssa/scev-3.c: New.
+ * gcc.dg/tree-ssa/scev-4.c: New.
+
+2012-03-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52469
+ * gfortran.dg/proc_ptr_34.f90
+
+2012-03-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/52521
+ * g++.dg/cpp0x/udlit-mangle.C: New.
+
+2012-03-06 Pat Haugen <pthaugen@us.ibm.com>
+
+ * gcc.dg/torture/va-arg-25.c: Fix typo for powerpc64-*-* check.
+
+2012-03-06 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52493
+ * gcc.dg/torture/pr52493.c: New testcase.
+
+2012-03-06 Richard Guenther <rguenther@suse.de>
+
+ PR lto/52097
+ * gcc.dg/lto/pr52097_0.c: New testcase.
+
+2012-03-06 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * gcc.target/sh/pr51244-1.c: New.
+ * gcc.target/sh/pr51244-2.c: New.
+ * gcc.target/sh/pr51244-3.c: New.
+
+2012-03-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/51930
+ * g++.dg/ext/visibility/template11.C: New.
+
+ * g++.dg/cpp0x/implicit13.C: New.
+
+2012-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51721
+ * gcc.dg/tree-ssa/vrp63.c: New test.
+ * gcc.dg/pr51721.c: New test.
+
+2012-03-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50981
+ * gfortran.dg/elemental_optional_args_5.f03: Add subcomponent actual
+ argument checks.
+
+2012-03-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/52146
+ * gcc.target/i386/pr52146.c: Update final-scan to allow $-18874240.
+
+2012-03-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50981
+ * gfortran.dg/elemental_optional_args_5.f03: Add array checks.
+
+2012-03-04 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/torture/pr52402.c: Add dg-require-effective-target
+ int32plus.
+
+2012-03-03 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/nsdmi-defer6.C: New.
+
+ Core 1270
+ * g++.dg/cpp0x/initlist65.C: New.
+
+ PR c++/36797
+ * g++.dg/ext/is_empty2.C: New.
+
+2012-03-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48820
+ * gfortran.dg/assumed_type_3.f90: Undo previous commit.
+
+2012-03-03 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/bind_c_dts_4.f03: Add dg-options -Wc-binding-type.
+ * gfortran.dg/bind_c_implicit_vars.f03: Ditto.
+ * gfortran.dg/bind_c_usage_8.f03: Ditto.
+ * gfortran.dg/c_kind_tests_2.f03: Ditto.
+ * gfortran.dg/class_30.f90: Remove dg-warning line.
+ * gfortran.dg/bind_c_usage_25.f90: New.
+
+2012-03-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48820
+ * gfortran.dg/assumed_type_1.f90: Correct dg-error.
+ * gfortran.dg/assumed_type_3.f90: Correct dg-error.
+ * gfortran.dg/assumed_type_4.f90: Correct dg-error.
+
+2012-03-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48820
+ * gfortran.dg/assumed_type_1.f90: New.
+ * gfortran.dg/assumed_type_2.f90: New.
+ * gfortran.dg/assumed_type_3.f90: New.
+ * gfortran.dg/assumed_type_4.f90: New.
+
+2012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/49486
+ * gcc.target/sh/pr49468-si.c: Skip unsupported test for SH64.
+ * gcc.target/sh/pr49468-di.c: New.
+
+2012-03-02 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * gcc.dg/graphite/pr50561.c: Update.
+
+2012-03-02 Peter Bergner <bergner@vnet.ibm.com>
+
+ * gcc.target/powerpc/pr52457.c: New test.
+
+2012-03-02 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * gcc.target/arm/sat-1.c: New test.
+
+2012-03-02 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/46716
+ * gcc.target/i386/pr46716.c: New test.
+
+2012-03-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51989
+ * g++.dg/cpp0x/sfinae32.C: New.
+
+2012-03-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52406
+ * gcc.dg/torture/pr52406.c: New testcase.
+
+2012-03-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52325
+ * gfortran.dg/derived_comp_array_ref_8.f90: New.
+ * gfortran.dg/nullify_2.f90: Update dg-error.
+ * gfortran.dg/nullify_4.f90: Ditto.
+ * gfortran.dg/pointer_init_6.f90: Ditto.
+
+2012-03-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52270
+ * gfortran.dg/class_51.f90: New.
+
+2012-03-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52452
+ * gfortran.dg/intrinsic_8.f90: New.
+
+2012-03-01 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.dg/torture/pr47917.c: Make test using POSIX-printf
+ routines on mingw targets.
+ * gcc.dg/vect/pr46126.c (uintptr_t): Add support for LLP64 target.
+
+2012-03-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52445
+ * gcc.dg/pr52445.c: New test.
+
+2012-02-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/52437
+ * gcc.c-torture/compile/pr52437.c: New test.
+
+ PR middle-end/52419
+ * gcc.dg/torture/pr52419.c: New test.
+
+ PR tree-optimization/52429
+ * gcc.dg/torture/pr52429.c: New test.
+ * g++.dg/opt/pr52429.C: New test.
+
+2012-02-29 Richard Guenther <rguenther@suse.de>
+
+ PR testsuite/52297
+ * gcc.dg/lto/trans-mem-1_0.c: Remove.
+ * gcc.dg/lto/trans-mem-1_1.c: Likewise.
+ * gcc.dg/lto/trans-mem-2_0.c: Likewise.
+ * gcc.dg/lto/trans-mem-2_1.c: Likewise.
+ * gcc.dg/lto/trans-mem-4_0.c: Likewise.
+ * gcc.dg/lto/trans-mem-4_1.c: Likewise.
+
+2012-02-29 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/torture/pr52402.c: Add -w -Wno-psabi to dg-options.
+
+2012-02-29 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52386
+ * gfortran.dg/realloc_on_assign_13.f90 : New test.
+
+2012-02-28 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ PR target/51534
+ * gcc.target/arm/neon/pr51534.c: New testcase.
+
+2012-02-28 Richard Guenther <rguenther@suse.de>
+
+ PR target/52407
+ * gcc.dg/torture/pr52407.c: New testcase.
+
+2012-02-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * gcc.target/arm/vfp1.c (dg_do run): Run on all eabi variants.
+ * gcc.target/arm/vfp2.c: Likewise.
+ * gcc.target/arm/vfp3.c: Likewise.
+ * gcc.target/arm/vfp4.c: Likewise.
+ * gcc.target/arm/vfp5.c: Likewise.
+ * gcc.target/arm/vfp6.c: Likewise.
+ * gcc.target/arm/vfp7.c: Likewise.
+ * gcc.target/arm/vfp8.c: Likewise.
+ * gcc.target/arm/vfp9.c: Likewise.
+ * gcc.target/arm/vfp10.c: Likewise.
+ * gcc.target/arm/vfp11.c: Likewise.
+ * gcc.target/arm/vfp12.c: Likewise.
+ * gcc.target/arm/vfp13.c: Likewise.
+ * gcc.target/arm/vfp14.c: Likewise.
+ * gcc.target/arm/vfp15.c: Likewise.
+ * gcc.target/arm/vfp16.c: Likewise.
+ * gcc.target/arm/vfp17.c: Likewise.
+ * gcc.target/arm/neon-constants.h: New file.
+ * gcc.target/arm/neon-vect1.c: New test.
+ * gcc.target/arm/neon-vect2.c: New test.
+ * gcc.target/arm/neon-vect3.c: New test.
+ * gcc.target/arm/neon-vect4.c: New test.
+ * gcc.target/arm/neon-vect5.c: New test.
+ * gcc.target/arm/neon-vect6.c: New test.
+ * gcc.target/arm/neon-vect7.c: New test.
+ * gcc.target/arm/neon-vect8.c: New test.
+
+2012-02-28 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52402
+ * gcc.dg/torture/pr52402.c: New testcase.
+
+2012-02-28 Richard Guenther <rguenther@suse.de>
+
+ PR lto/52400
+ * g++.dg/lto/pr52400_0.C: New testcase.
+
+2012-02-28 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.target/avr/torture/builtins-1.c: New test.
+ * gcc.target/avr/torture/builtins-error.c: New test.
+
+2012-02-28 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.target/i386/pr46939.c (long): Fix LP64 vs LLP64 issue.
+ * gcc.target/i386/pr45352-2.c: Likewise.
+ * gcc.target/i386/bitfield3.c: Add -mno-ms-bitfields for mingw targets.
+ * gcc.target/i386/xop-vshift-1.c (random): Use on mingw
+ targets instead rand.
+ * gcc.target/i386/sse4_1-blendps-2.c: Likewise.
+ * gcc.target/i386/sse2-mul-1.c: Likewise.
+ * gcc.target/i386/sse4_1-blendps.c: Likewise.
+ * gcc.target/i386/pad-6b.c: Adjust test for x64 mingw target.
+ * gcc.target/i386/pad-1.c: Likewise.
+ * gcc.target/i386/pad-9.c: Likewise.
+ * gcc.target/i386/pad-2.c: Likewise.
+ * gcc.target/i386/pad-5b.c: Likewise.
+ * gcc.target/i386/pad-8.c: Likewise.
+ * gcc.target/i386/pr46470.c: Skip for x64 mingw target.
+ * gcc.target/i386/pr44130.c: Likewise.
+ * gcc.target/i386/align-main-1.c: Likewise.
+ * gcc.target/i386/align-main-2.c: Likewise.
+ * gcc.target/i386/sw-1.c: Likewise.
+ * gcc.target/i386/avx-vzeroupper-5.c: Add -mabi=sysv
+ on x64 mingw target.
+ * gcc.target/i386/avx-vzeroupper-4.c: Likewise.
+ * gcc.target/i386/pr46295.c: Likewise.
+ * gcc.target/i386/amd64-abi-1.c: Likewise.
+ * gcc.target/i386/amd64-abi-2.c: Likewise.
+ * gcc.target/i386/pr39082-1.c: Likewise.
+ * gcc.target/i386/pr39162.c: Likewise.
+ * gcc.target/i386/pr22152.c: Likewise.
+ * gcc.target/i386/wrgsbase-2.c: Adjust dg-final rule.
+ * gcc.target/i386/wrfsbase-2.c: Likewise.
+ * gcc.target/i386/local.c: Likewise
+ * gcc.target/i386/wrgsbase-1.c: Likewise.
+ * gcc.target/i386/wrfsbase-1.c: Likewise.
+ * gcc.target/i386/pr39315-3.c: Likewise.
+ * gcc.target/i386/pr35767-4.c: Likewise.
+ * gcc.target/i386/pr45336-3.c (pextrd): Don't check for
+ x64 mingw target.
+ * gcc.target/i386/pr45336-2.c: Likewise.
+ * gcc.target/i386/pr45336-1.c: Likewise.
+ * gcc.target/i386/pr45336-4.c: Likewise.
+
+2012-02-27 Tristan Gingold <gingold@adacore.com>
+
+ * gnat.dg/array20.ad[sb]: New test.
+
+2012-02-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/52375
+ * gcc.target/arm/pr52375.c: New test.
+ * gcc.c-torture/compile/pr52375.c: New test.
+
+2012-02-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * gfortran.dg/typebound_operator_9.f03: Skip on SPU.
+ * gcc.dg/torture/builtin-complex-1.c: Skip "float" tests on SPU.
+
+2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/aggr19.adb: New test.
+ * gnat.dg/aggr19_pkg.ad[sb]: New helper.
+
+2012-02-26 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/49263
+ * gcc.target/sh/pr49263.c: New.
+
+2012-02-24 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc.dg/simulate-thread/simulate-thread.gdb: Use return value from
+ simulate_thread_wrapper_other_threads
+ * gcc.dg/simulate-thread/atomic-load-int128.c (simulate_thread_main):
+ Move initialization of 'value' to main().
+ (main): Initialize 'value';
+ * gcc.dg/simulate-thread/speculative-store.c
+ (simulate_thread_step_verify): Return 0 when successful.
+ * gcc.dg/simulate-thread/simulate-thread.h (HOSTILE_THREAD_THRESHOLD):
+ Reduce threshold.
+ (INSN_COUNT_THRESHOLD): New. Instruction limit to terminate test.
+ (simulate_thread_wrapper_other_threads): Return a success/fail value
+ and issue an error if the instruction count threshold is exceeded.
+
+2012-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/50580
+ * gcc.target/mips/interrupt_handler-2.c: Skip on mips-sgi-irix6*.
+ * gcc.target/mips/interrupt_handler-3.c: Likewise.
+
+2012-02-24 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/52355
+ * gcc.dg/pr52355.c: New testcase.
+
+2012-02-23 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.dg/pack-test-5.c: Add -mno-ms-bitfields option for mingw-targets.
+ * gcc.dg/Wpadded.c: Likewise.
+ * gcc.dg/bf-ms-layout-2.c: Adjust offsets to fit ms-bitfield
+ structure-layout.
+ * gcc.dg/di-sync-multithread.c: Replace for mingw-target the use
+ for sleep by Sleep and add windows.h include for this function.
+ * gcc.dg/format/dfp-printf-1.c: Adjust dg-skip-if rule for mingw
+ targets.
+ * gcc.dg/stack-usage-1.c (SIZE): Provide proper SIZE for x64 mingw
+ target.
+ * gcc.dg/tls/thr-cse-1.c: Provide proper pattern for x64 mingw target.
+ * gcc.dg/tls/opt-11.c (memset): Use __extension__ to avoid fail
+ on x64 mingw target.
+ * gcc.dg/bf-ms-attrib.c: Adjust expected size for ms_struct layout.
+ * gcc.dg/pr50251.c: Disable test for x64 mingw target.
+ * gcc.c-torture/execute/930930-1.c (long): Replace by ptr_t to avoid
+ failure on LLP64 target.
+
+2012-02-23 Uros Bizjak <ubizjak@gmail.com>
+
+ PR c/52290
+ * gcc.dg/noncompile/pr52290.c: New test.
+
+2012-02-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52019
+ * gcc.dg/tree-ssa/ipa-split-6.c: New test.
+
+2012-02-22 Kai Tietz <ktietz@redhat.com>
+
+ * g++.dg/opt/devirt2.C: Add rule for *-*-mingw* target.
+ * g++.dg/opt/pr48549.C (long): Replace by long by __PTRDIFF_TYPE__
+ derived pdiff_t type.
+ * g++.dg/torture/pr49720.C: Likewise
+
+2012-02-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/52330
+ * gcc.target/i386/pr52330.c: New test.
+
+2012-02-22 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52335
+ * gfortran.dg/io_constraints_10.f90: New.
+
+2012-02-22 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * lib/target-supports.exp (check_effective_target_vect_condition):
+ Return true for NEON.
+
+2012-02-21 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.dg/bf-ms-layout-3.c: Mark char typed bitfield as extension.
+
+2012-02-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52324
+ * gcc.dg/tree-ssa/ssa-lim-10.c: New testcase.
+
+2012-02-21 Georg-Johann Lay <avr@gjlay.de>
+
+ PR middle-end/51782
+ * gcc.target/avr/torture/pr51782-1.c: New test.
+
+2012-02-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52318
+ * gcc.dg/pr52318.c: New test.
+
+2012-02-20 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.dg/bf-ms-layout-3.c: New testcase.
+
+2012-02-20 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR testsuite/52229
+ PR fortran/32380
+ * gfortran.dg/vect/pr32380.f: XFAIL on PowerPC and ia-64.
+
+2012-02-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52298
+ * gcc.dg/torture/pr52298.c: New testcase.
+ * gcc.dg/vect/pr52298.c: Likewise.
+
+2012-02-20 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/pr52132.c: Fix FAIL on 16-bit int platforms.
+ * gcc.c-torture/execute/pr52286.c: Ditto.
+
+2012-02-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52286
+ * gcc.c-torture/execute/pr52286.c: New test.
+
+2012-02-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52295
+ * gfortran.dg/interface_35.f90: Use -std=f2003.
+ * gfortran.dg/proc_ptr_comp_20.f90: Remove dg-warning.
+ * gfortran.dg/interface_assignment_4.f90: Ditto.
+ * gfortran.dg/bessel_1.f90: Ditto.
+ * gfortran.dg/func_result_6.f90: Ditto.
+ * gfortran.dg/hypot_1.f90: Ditto.
+ * gfortran.dg/proc_ptr_comp_21.f90: Ditto.
+
+2012-02-17 Tobias Burnus <burnus@net-b.de>
+
+ PR translation/52232
+ PR translation/52234
+ PR translation/52245
+ PR translation/52246
+ PR translation/52262
+ PR translation/52273
+ * gfortran.dg/coarray_22.f90: Update dg-error.
+ * gfortran.dg/allocate_alloc_opt_4.f90: Ditto.
+
+2012-02-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/51753
+ * lib/gcc-simulate-thread.exp: Load timeout.exp.
+ (simulate-thread): Use default timeout.
+
+2012-02-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/52248
+ * g++.dg/ext/timevar1.C: New.
+
+2012-02-16 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/52126
+ * g++.dg/template/using21.C: New.
+ * g++.dg/template/using22.C: Likewise.
+
+2012-02-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/51415
+ * g++.dg/cpp0x/lambda/lambda-err1.C: New.
+
+2012-02-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52255
+ * gcc.c-torture/compile/pr52255.c: New test.
+
+ PR debug/52260
+ * g++.dg/debug/dwarf2/pr52260.C: New test.
+
+ PR middle-end/51929
+ * g++.dg/ipa/pr51929.C: New test.
+
+2012-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/52199
+ * gcc.target/powerpc/pr52199.c: New file.
+
+2012-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/52152
+ * objc.dg/stabs-1.m: xfail on mips-sgi-irix6.5.
+
+2012-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/pr51867.c: Don't include <math.h>.
+ (sqrtf): Declare.
+
+2012-02-15 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/lto/20091013-1_1.c: xfail for avr.
+ * gcc.dg/lto/20091013-1_2.c: xfail for avr.
+
+2012-02-15 Tobias Grosser <grosser@fim.uni-passau.de>
+
+ PR tree-optimization/50561
+ * gcc.dg/graphite/pr50561.c: New testcase.
+
+2012-02-15 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.target/avr/torture/builtin_insert_bits-1.c: New test.
+ * gcc.target/avr/torture/builtin_insert_bits-2.c: New test.
+
+2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr35.ad[sb]: New test.
+
+2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/volatile10.adb: New test.
+ * gnat.dg/volatile10_pkg.ads: New helper.
+
+2012-02-14 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/ext/attrib43.C: New.
+
+2012-02-14 Hans-Peter Nilsson <hp@axis.com>
+
+ * lib/target-supports.exp (check_effective_target_fgnu_tm): New proc.
+ * gfortran.dg/trans-mem-skel.f90: Gate test on effective_target
+ fgnu_tm.
+ * gcc.dg/lto/trans-mem-1_0.c, gcc.dg/lto/trans-mem-2_0.c,
+ gcc.dg/lto/trans-mem-3_0.c, gcc.dg/lto/trans-mem-4_0.c: Ditto.
+ * gcc.dg/tm/tm.exp: Gate the whole of gcc.dg/tm on
+ effective_target fgnu_tm.
+ * g++.dg/tm/tm.exp: Ditto for g++.dg/tm.
+
+2012-02-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/52247
+ * g++.dg/template/asmgoto1.C: New test.
+
+2012-02-14 Ian Lance Taylor <iant@google.com>
+
+ PR go/48501
+ * go.test/go-test.exp (go-gc-tests): Disable optimizations when
+ compiling generated file for 64bit and index tests.
+
+2012-02-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/lower-subreg-1.c: Fix and simplify target selector.
+
+2012-02-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52244
+ PR tree-optimization/51528
+ * gcc.dg/torture/pr52244.c: New testcase.
+
+2012-02-14 Walter Lee <walt@tilera.com>
+
+ * g++.dg/other/PR23205.C: Disable test on tile.
+ * g++.dg/other/pr23205-2.C: Disable test on tile.
+ * gcc.dg/20020312-2.c: Add a condition for __tile__.
+ * gcc.dg/20040813-1.c: Disable test on tile.
+ * gcc.dg/lower-subreg-1.c: Disable test on tilegx.
+ * gcc.misc-tests/linkage.exp: Handle tilegx.
+
+2012-02-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/52210
+ * gcc.dg/pr52210.c: New test.
+
+2012-02-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/39055
+ * g++.dg/overload/defarg5.C: New.
+
+2012-02-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/52181
+ * c-c++-common/pr52181.c: New test.
+
+2012-02-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/52215
+ * g++.dg/ext/atomic-1.C: New test.
+
+2012-02-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.c-torture/execute/pr51933.c: Modify for s390 31 bit.
+
+2012-02-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/52209
+ * gcc.c-torture/execute/pr52209.c: New test.
+
+2012-02-12 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50981
+ * gfortran.dg/elemental_optional_args_5.f03: New test.
+
+2012-02-12 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR testsuite/50076
+ * c-c++-common/cxxbitfields-3.c: Adjust scan assembler for nonpic
+ cases.
+
+2012-02-11 Ian Lance Taylor <iant@google.com>
+
+ PR go/51874
+ * go.test/go-test.exp (go-gc-tests): Don't run nilptr test on
+ SPARC Solaris. Don't run the test at all on systems where it may
+ not work, rather than xfailing it.
+
+2012-02-11 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR rtl-optimization/52175
+ * gcc.c-torture/compile/pr52175.c: New test.
+
+2012-02-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/51910
+ * g++.dg/template/repo10.C: New.
+
+2012-02-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/52132
+ * gcc.dg/pr52132.c: New test.
+
+2012-02-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/aggr4.ads: New test.
+ * gnat.dg/specs/aggr4_pkg.ads: New helper.
+
+2012-02-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/52146
+ * gcc.target/i386/pr52146.c: New.
+
+2012-02-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/52177
+ * c-c++-common/pr52177.c: New test.
+
+2012-02-10 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/48600
+ * g++.dg/torture/pr48600.C: New testcase.
+
+2012-02-09 Peter Bergner <bergner@vnet.ibm.com>
+
+ PR middle-end/52140
+ * gcc.dg/dfp/pr52140.c: New test.
+
+2012-02-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/32380
+ * gfortran.dg/vect/pr32380.f: Use dg-additional-options instead
+ of dg-options.
+
+2012-02-09 Bin Cheng <bin.cheng@arm.com>
+
+ PR middle-end/51867
+ * c-c++-common/dfp/signbit-2.c: Change '-O0' to '-O1'.
+ * gcc.dg/pr51867.c: New test.
+
+2012-02-09 Ian Lance Taylor <iant@google.com>
+
+ * go.test/go-test.exp (go-gc-tests): Don't run stack.go on systems
+ which don't support -fsplit-stack. Turn off optimization when
+ compiling select5-out.go.
+
+2012-02-08 Ian Lance Taylor <iant@google.com>
+
+ * go.test/go-test.exp (go-gc-tests): Don't run chan/select2.go on
+ systems which don't support -fsplit-stack.
+
+2012-02-08 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc.dg/simulate-thread/simulate-thread.exp: Use -O0, -O2, and -O3.
+ * gcc.dg/simulate-thread/simulate-thread.gdb: Don't display every
+ machine instuction in the log.
+
+2012-02-08 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * lib/gcc-simulate-thread.exp (simulate-thread): Increase timeout
+ to 20 seconds.
+
+2012-02-08 Magnus Granberg <zorry@gentoo.org>
+
+ PR driver/48524
+ * gcc.dg/pr48524.c: New test.
+ * gcc.dg/pr48524.spec: New spec file for test.
+
+2012-02-08 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/32380
+ * gfortran.dg/vect/pr32380.f90: New test.
+
+2012-02-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52151
+ * gfortran.dg/realloc_on_assign_12.f90: New.
+
+2012-02-08 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/52170
+ * gcc.dg/torture/pr52170.c: New testcase.
+
+2012-02-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR gcov-profile/52150
+ * gcc.dg/tree-prof/pr52150.c: New test.
+
+ PR rtl-optimization/52139
+ * gcc.dg/pr52139.c: New test.
+
+2012-02-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/51675
+ * g++.dg/cpp0x/constexpr-union3.C: New.
+
+ PR c++/52035
+ * g++.dg/lto/pr52035_0.C: New.
+
+2012-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * gfortran.dg/guality/pr41558.f90: Use lp64 instead of hppa*64*-*-*.
+ * gcc.dg/special/weak-1.c: Likewise.
+ * gcc.dg/ucnid-12.c: Likewise.
+ * gcc.dg/torture/pr45678-1.c: Likewise.
+ * gcc.dg/torture/pr45678-2.c: Likewise.
+ * gcc.dg/vector-4.c: Likewise.
+ * gcc.dg/ipa/inline-5.c: Likewise.
+ * gcc.dg/ucnid-11.c: Likewise.
+ * gcc.misc-tests/gcov-13.c: Likewise.
+ * gcc.misc-tests/gcov-14.c: Likewise.
+ * g++.dg/ext/label13.C: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-31.c: Use dg-additional-options for extra
+ hppa*-*-hpux* options.
+ * gcc.dg/tree-ssa/ssa-fre-33.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-34.c: Likewise.
+ * gcc.dg/pr48616.c: Likewise.
+ * gcc.dg/pr17957.c: Likewise.
+ * gcc.dg/pr17055-1.c: Likewise.
+ * gcc.dg/pr32912-1.c: Likewise.
+ * gcc.dg/tm/pr51472.c: Likewise.
+ * c-c++-common/fold-bitand-4.c: Likewise.
+ * c-c++-common/Wunused-var-12.c: Use lp64 instead of hppa*64*-*-*.
+ Use dg-additional-options for extra options.
+
+2012-02-07 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * gcc.target/epiphany/interrupt-2.c: New test.
+
+2012-02-07 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/52155
+ * gcc.target/mips/mips.exp (mips-dg-options): Handle target.
+ * gcc.target/mips/loongson-shift-count-truncated-1.c: Force -mlong64
+ for MIPS ELF.
+
+2012-02-07 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/52152
+ * objc.dg/stabs-1.m: XFAIL for mips*-*-elf*.
+
+2012-02-07 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR middle-end/24306
+ PR target/52154
+ * lib/target-supports.exp (check_effective_target_mips_eabi): New.
+ * gcc.target/mips/va-arg-1.c: New test.
+
+2012-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/no-r11-3.c (outer_func): Fix error message
+ for -mno-pointers-to-nested-functions.
+
+2012-02-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.c-torture/execute/20120207-1.c: New test.
+
+2012-02-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/52060
+ * gcc.dg/torture/pr52060.c: New test.
+
+ PR middle-end/52074
+ * gcc.c-torture/compile/pr52074.c: New test.
+
+2012-02-07 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51514
+ * gfortran.dg/class_to_type_2.f90: New.
+
+2012-02-06 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/32373
+ * gfortran.dg/vect/vect-8.f90: Use vect_double effective target.
+ Remove module.
+
+2012-02-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/52088
+ * g++.dg/template/conv13.C: New.
+
+2012-02-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52115
+ * gcc.c-torture/compile/pr52115.c: New testcase.
+
+2012-02-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/52129
+ * gcc.c-torture/execute/pr52129.c: New test.
+
+2012-02-06 Andrey Belevantsev <abel@ispras.ru>
+
+ * gcc.dg/pr48374.c: Actually add the test I forgot
+ in the 2012-01-25 commit.
+
+2012-02-05 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/32373
+ * gfortran.dg/vect/vect-8.f90: New test case.
+
+2012-02-05 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/48847
+ * gfortran.dg/warn_unused_dummy_argument_3.f90: New test.
+
+2012-02-05 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52102
+ * gfortran.dg/class_48.f90 : Add test of allocate class array
+ component with source in subroutine test3. Remove commenting
+ out in subroutine test4, since branching on unitialized variable
+ is now fixed (no PR for this last.).
+
+2012-02-05 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.dg/tree-prof/stringop-2.c (main): Add a nomips16 attribute
+ on MIPS targets.
+ * gfortran.dg/pr45636.f90: XFAIL for MIPS16 targets.
+
+2012-02-05 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/52125
+ * lib/target-supports.exp (check_effective_target_mips_rel): New.
+ * gcc.dg/pr48774.c: Skip on MIPS REL targets.
+
+2012-02-05 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * lib/target-supports.exp (check_effective_target_mips_llsc): New.
+ (check_effective_target_sync_int_long): Use it.
+ (check_effective_target_sync_char_short): Likewise.
+ * gcc.target/mips/atomic-memory-1.c: Restrict error check to mips_llsc.
+
+2012-02-05 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51972
+ * gfortran.dg/class_48.f90: Add some further checks.
+
+2012-02-05 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/52091
+ * gcc.dg/vect/pr52091.c: New test.
+
+2012-02-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/52113
+ * gcc.target/avr/pr52113.c: New test.
+
+2012-02-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/52092
+ * gcc.c-torture/compile/pr52092.c: New test.
+
+2012-02-02 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/41587
+ * gfortran.dg/class_array_10.f03: New test.
+
+ PR fortran/46356
+ * gfortran.dg/class_array_11.f03: New test.
+
+ PR fortran/51754
+ * gfortran.dg/class_array_12.f03: New test.
+
+2012-02-02 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52012
+ * gfortran.dg/realloc_on_assign_11.f90: New test.
+
+2012-02-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52093
+ * gfortran.dg/shape_7.f90: New.
+
+2012-02-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/mips-prepend-1.c: New test.
+
+2012-02-02 Jan Hubicka <jh@suse.cz>
+ Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/51998
+ * gcc.dg/alias-12.c: New testcase.
+ * gcc.dg/alias-13.c: New testcase.
+
+2012-02-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/52086
+ * gcc.dg/pr52086.c: New test.
+
+ PR tree-optimization/52073
+ * gcc.c-torture/compile/pr52073.c: New test.
+
+2012-02-01 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/51958
+ * gfortran.dg/function_optimize_10.f90: New test.
+
+2012-02-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * go.test/go-test.exp (go-gc-tests): xfail test/nilptr.go runtime
+ test on alpha*-*-*.
+
+2012-02-01 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52024
+ * gfortran.dg/typebound_operator_14.f90: New.
+
+2012-02-01 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52059
+ * gfortran.dg/elemental_function_1.f90: New.
+
+2012-02-01 Georg-Johann Lay <avr@gjlay.de>
+
+ PR rtl-optimization/51374
+ * gcc.target/avr/torture/pr51374-1.c:
+ Also fail if SBIS is seen.
+
+2012-02-01 Georg-Johann Lay <avr@gjlay.de>
+
+ PR rtl-optimization/51374
+ * gcc.target/avr/torture/pr51374-1.c: New.
+
+2012-01-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52024
+ * gfortran.dg/typebound_generic_11.f90: New.
+
+2012-01-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52029
+ * gfortran.dg/class_49.f90: New.
+
+2012-01-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52013
+ * gfortran.dg/elemental_args_check_6.f90: New.
+
+2012-01-31 Jason Merrill <jason@redhat.com>
+
+ PR c++/52043
+ * g++.dg/cpp0x/variadic122.C: New.
+
+2012-01-31 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/52012
+ * gfortran.dg/realloc_on_assign_10.f90: New test.
+
+2012-01-31 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51528
+ * gcc.dg/torture/pr51528.c: New testcase.
+
+2012-01-30 Uros Bizjak <ubizjak@gmail.com>
+
+ PR go/48501
+ * lib/go.exp (go_target_compile): Append timeout= to options.
+ * go.test/go-test.exp (go-gc-tests): Add dg-timeout-factor for
+ select5-out.go test on alpha*-*-* targets.
+
+2012-01-30 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/extend-1.c (TEST_CHAR): Use signed char.
+ (TEST_SHORT): Reformat in the same way.
+ * gcc.target/mips/octeon-exts-6.c (TEST_CHAR): Use signed char.
+ (TEST_SHORT): Reformat in the same way.
+ * gcc.target/mips/octeon2-lx-1.c (TEST): Make sign explicit.
+ * gcc.target/mips/pr37362.c: Skip for mips-sde-elf.
+ * gcc.target/mips/mmcount-ra-address-1.c (bazl): Add NOMIPS16.
+ * gcc.target/mips/mmcount-ra-address-2.c (bar): Likewise.
+ * gcc.target/mips/mmcount-ra-address-3.c (bar): Likewise.
+
+2012-01-30 Bin Cheng <bin.cheng@arm.com>
+
+ PR target/51835
+ * gcc.target/arm/pr51835.c: New testcase.
+
+2012-01-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52028
+ * gcc.dg/torture/pr52028.c: New testcase.
+ * gfortran.dg/ldist-pr45199.f: Adjust.
+ * gcc.dg/tree-ssa/ldist-16.c: Likewise.
+ * gcc.dg/tree-ssa/ldist-17.c: Likewise.
+ * gcc.dg/tree-ssa/ldist-pr45948.c: Likewise.
+
+2012-01-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/52027
+ * gcc.dg/tree-prof/pr52027.c: New test.
+
+ PR tree-optimization/52046
+ * gcc.dg/pr52046.c: New test.
+
+ PR debug/52048
+ * g++.dg/other/pr52048.C: New test.
+
+2012-01-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/52045
+ * gcc.dg/pr52045.c: New testcase.
+
+2012-01-30 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * gcc.target/arm/di-longlong64-sync-withldrexd.c: Accept
+ new code generated for __sync_lock_release.
+
+2012-01-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.dg/dfp/fe-convert-2.c: Force use of soft dfp on s390 and s390x.
+
+2012-01-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR testsuite/51875
+ * gfortran.dg/guality/pr41558.f90: Skip on 32-bit hppa*-*-hpux*.
+
+ * g++.dg/ext/visibility/template10.C: Fix typo.
+
+ * gcc.dg/tm/pr51472.c: Add -fno-common option on hppa-*-hpux*.
+
+2012-01-29 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51327
+ * g++.dg/cpp0x/constexpr-ice6.C: New.
+
+2012-01-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/41600
+ * gfortran.dg/default_initialization_6.f90: New.
+
+2012-01-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51972
+ * gfortran.dg/class_allocate_12.f90: Enable disabled test.
+ * gfortran.dg/class_48.f90: New.
+
+2012-01-29 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/51808
+ * gfortran.dg/module_md5_1.f90: Update MD5 sum.
+
+2012-01-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51972
+ * gfortran.dg/class_allocate_12.f90: New.
+
+2012-01-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/torture/pr50444.c: Fix dg directives.
+
+2012-01-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/52006
+ * gcc.target/arm/pr52006.c: New test.
+
+2012-01-27 Aldy Hernandez <aldyh@redhat.com>
+
+ PR testsuite/52011
+ * gcc.dg/lto/trans-mem.h: New file.
+ * gcc.dg/lto/trans-mem-2_0.c: Include it.
+ * gcc.dg/lto/trans-mem-1_1.c: Same.
+ * gcc.dg/lto/trans-mem-4_1.c: Same.
+ * gcc.dg/lto/trans-mem-3_1.c: Same.
+
+2012-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52022
+ * gfortran.dg/dummy_procedure_7.f90: New.
+
+2012-01-27 Andreas Schwab <schwab@linux-m68k.org>
+
+ * g++.dg/cpp0x/constexpr-rom.C: Don't add -G0 on *-*-darwin*
+ *-*-aix* alpha*-*-osf* alpha*-*-*vms*.
+
+2012-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/51852
+ * g++.dg/other/gc5.C: New test.
+
+2012-01-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50444
+ * gcc.dg/torture/pr50444.c: New testcase.
+
+2012-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51970
+ PR fortran/51977
+ * gfortran.dg/move_alloc_13.f90: New.
+
+2012-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51953
+ * gfortran.dg/allocate_alloc_opt_13.f90: New.
+ * gfortran.dg/allocate_alloc_opt_4.f90: Add -std=f2003
+ and change dg-error string.
+
+2012-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52016
+ * gfortran.dg/elemental_args_check_5.f90: New.
+
+2012-01-27 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51959
+ * g++.dg/torture/pr51959.C: New testcase.
+
+2012-01-27 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/51990
+ * gcc.dg/pr51990.c: New test.
+ * gcc.dg/pr51990-2.c: Same.
+
+2012-01-27 Paul Thomas <pault@gcc.gnu.org>
+ Tobias Burnus <burnus@gcc.gnu.org>
+
+ PR fortran/48705
+ * gfortran.dg/class_allocate_11.f03: New.
+
+ PR fortran/51870
+ PR fortran/51943
+ PR fortran/51946
+ * gfortran.dg/class_allocate_7.f03: New.
+ * gfortran.dg/class_allocate_8.f03: New.
+ * gfortran.dg/class_allocate_9.f03: New.
+ * gfortran.dg/class_allocate_10.f03: New.
+
+2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr34.adb: New test.
+ * gnat.dg/discr34_pkg.ads: New helper.
+
+2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr33.adb: New test.
+
+2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/limited_with3.ad[sb): New test.
+ * gnat.dg/limited_with3_pkg1.ad[sb]: New helper.
+ * gnat.dg/limited_with3_pkg2.ads: Likewise.
+ * gnat.dg/limited_with3_pkg3.ads: Likewise.
+
+2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/stack_usage1.adb: New test.
+ * gnat.dg/stack_usage1_pkg.ad[sb]: New helper.
+
+ * gcc.dg/pr44194-1.c: Remove superfluous include directive.
+ * gcc.dg/pr44194-2.c: Likewise.
+
+2012-01-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51370
+ * g++.dg/template/crash112.C: New.
+
+2012-01-27 Richard Henderson <rth@redhat.com>
+
+ * gcc.dg/atomic-flag.c: Adjust for __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
+
+2012-01-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gfortran.dg/reassoc_4.f: Use dg-additional-options.
+
+2012-01-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/51895
+ * g++.dg/opt/pr51895.C: New test.
+
+2012-01-26 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/48794
+ * gfortran.dg/gomp/pr48794-2.f90: New testcase.
+
+2012-01-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.dg/ssa-dom-thread-4.c: Set -mbranch-cost=2 for s390 and s390x.
+
+2012-01-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.dg/pr46309.c: Set branch-cost to 2 for s390 and s390x.
+ * gcc.dg/pr44194-1.c: Disable since s390 returns structs always in
+ memory.
+ * gfortran.dg/reassoc_4.f: Force max-completely-peeled-insns to
+ the default value for s390 and s390x.
+
+2012-01-25 Aldy Hernandez <aldyh@redhat.com>
+
+ PR lto/51698
+ * gcc.dg/lto/trans-mem-4_0.c: New.
+ * gcc.dg/lto/trans-mem-4_1.c: New.
+ * gcc.dg/lto/trans-mem-2_0.c: Provide correct argument types for
+ TM builtins.
+ * gcc.dg/lto/trans-mem-1_0.c: Require stdint_types.
+ * gcc.dg/lto/trans-mem-1_1.c: Provide correct argument types for
+ TM builtins.
+ * gcc.dg/lto/trans-mem-3_0.c: Require stdint_types.
+ * gcc.dg/lto/trans-mem-3_1.c: Provide correct argument types for
+ TM builtins.
+
+2012-01-25 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.target/avr/torture/int24-mul.c: Rename __pgm to __flash.
+
+2012-01-25 Ian Lance Taylor <iant@google.com>
+
+ * go.test/go-test.exp (go-gc-tests): Handle a few more test lines.
+
+2012-01-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51995
+ * gfortran.dg/typebound_proc_25.f90: New.
+
+2012-01-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/51992
+ * g++.dg/lto/pr51992_0.C: New.
+
+2012-01-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51987
+ * gcc.target/i386/pr51987.c: New test.
+
+2012-01-25 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * gcc.dg/tm/lto-1.c: Require lto support in target.
+
+2012-01-25 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/48374
+ * gcc.dg/pr48374.c: New test.
+
+2012-01-25 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * gcc.dg/pr50908-2.c (dg-options): Add -fno-short-enums.
+
+2012-01-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51966
+ * gfortran.dg/derived_constructor_char_3.f90: New.
+
+2012-01-24 Ian Lance Taylor <iant@google.com>
+
+ * go.test/go-test.exp (filecmp): New procedure.
+ (errchk): Handle quoted square brackets.
+ (go-gc-tests): Set go_compile_args. Handle various new test
+ lines. Skip a few new tests.
+ * lib/go-torture.exp (go-torture-execute): Use go_compile_args.
+
+2012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * lib/target-supports.exp (proc check_effective_target_vect_perm)
+ (check_effective_target_vect_extract_even_odd)
+ (check_effective_target_vect_interleave): Return true for MIPS
+ paired-single.
+
+2012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.c-torture/execute/scal-to-vec1.c (one): New volatile variable.
+ (main): Use it instead of argc.
+
+2012-01-24 Jason Merrill <jason@redhat.com>
+
+ PR c++/51973
+ * g++.dg/cpp0x/sfinae31.C: New.
+
+2012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.dg/memcpy-4.c: Don't expect /s on MEMs.
+
+2012-01-24 Jason Merrill <jason@redhat.com>
+
+ PR c++/51812
+ * g++.dg/inherit/covariant20.C: New.
+
+2012-01-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51223
+ * g++.dg/parse/crash58.C: New.
+
+2012-01-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/51957
+ * gcc.dg/pr51957-1.c: New test.
+ * gcc.dg/pr51957-1.h: New file.
+ * gcc.dg/pr51957-2.c: New test.
+
+2012-01-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/51930
+ * g++.dg/ext/visibility/template10.C: New.
+
+2012-01-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51948
+ * gfortran.dg/move_alloc_12.f90: New.
+
+2012-01-23 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR middle-end/45416
+ * gcc.dg/pr45416.c: Skip for Thumb1. Handle ubfx.
+
+2012-01-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51398
+ * g++.dg/template/crash111.C: New.
+
+2012-01-23 Arnaud Charlet <charlet@adacore.com>
+
+ * ada/acats/tests/cxh/cxh1001.a: Removed, test not suitable on all
+ configurations.
+ * ada/acats/run_all.sh: Simplify by removing cxh1001 special case.
+
+2012-01-23 Dodji Seketeli <dodji@redhat.com>
+
+ PR testsuite/51941
+ * g++.dg/debug/dwarf2/nested-3.C: Accept multiple lines between
+ the DW_TAG_class_type and DW_AT_name: "Executor".
+
+2012-01-23 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * lib/target-supports.exp
+ (check_effective_target_vect_extract_even_odd): Handle ARM neon.
+ (check_effective_target_vect_interleave): Likewise.
+
+2012-01-22 Jason Merrill <jason@redhat.com>
+
+ PR c++/51925
+ * g++.dg/template/using20.C: New.
+ * g++.dg/template/template-id-2.C: Adjust diagnostic.
+
+2012-01-23 Jason Merrill <jason@redhat.com>
+
+ PR target/51934
+ * g++.dg/torture/pr51344.C: Limit to x86.
+
+2012-01-23 Greta Yorsh <Greta.Yorsh@arm.com>
+
+ * c-c++-common/tm/omp.c: Require target with pthread support.
+
+2012-01-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51949
+ * gcc.dg/torture/pr51949.c: New testcase.
+
+2012-01-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/51933
+ * gcc.c-torture/execute/pr51933.c: New test.
+
+2012-01-22 Douglas B Rupp <rupp@gnat.com>
+
+ * gcc.dg/builtins-config.h (HAVE_C99_RUNTIME):
+ Do not define for Interix.
+
+2012-01-22 Jason Merrill <jason@redhat.com>
+
+ PR c++/51832
+ * g++.dg/lto/pr51832.h: New.
+ * g++.dg/lto/pr51832_0.C: New.
+ * g++.dg/lto/pr51832_1.C: New.
+
+2012-01-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/ext-elim-1.c: New test.
+
+2012-01-22 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/51931
+ * gcc.c-torture/compile/20001226-1.c: Add nomips16 attribute.
+ * g++.dg/opt/longbranch1.C: Likewise.
+
+2012-01-22 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * g++.old-deja/g++.pt/ptrmem6.C: xfail a test for ARM and MIPS
+ in C++11 mode.
+
+2012-01-21 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/50556
+ * gfortran.dg/namelist_74.f90: New test.
+ * gfortran.dg/namelist_59.f90: Remove SAVE attribute.
+
+2012-01-21 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51913
+ * gfortran.dg/class_47.f90: New.
+
+2012-01-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/renaming5.ad[sb]: New test.
+
+2012-01-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/51919
+ * g++.dg/pch/mangle1.{C,Hs}: Remove.
+
+2012-01-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/51922
+ * g++.dg/ext/attrib42.C: Require ilp32.
+
+2012-01-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/51915
+ * gcc.target/arm/pr51915.c: New test.
+
+2012-01-20 Cary Coutant <ccoutant@google.com>
+ Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/45682
+ * g++.dg/debug/dwarf2/nested-3.C: New test.
+
+2012-01-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51402
+ * g++.dg/template/crash110.C: New.
+
+2012-01-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.misc-tests/gcov-14.c: Skip on alpha*-dec-osf*.
+ Remove default options on hppa*-*-hpux*.
+
+2012-01-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * g++.dg/ext/visibility/template9.C: Add dg-require-visibility.
+
+2012-01-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.c-torture/compile/pr51856.c: New testcase.
+
+2012-01-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * go.test/go-test.exp (go-gc-tests): Pass correctly formatted
+ options to go_target_compile.
+
+2012-01-20 Kai Tietz <ktietz@redhat.com>
+
+ * g++.dg/torture/pr51344.C: Fix typo.
+
+2012-01-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51903
+ * g++.dg/torture/pr51903.C: New testcase.
+
+2012-01-20 Tobias Burnus <burnus@net-b.de>
+ Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/51056
+ * gfortran.dg/use_21.f90: New.
+
+2012-01-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/51106
+ * gcc.dg/torture/pr51106-1.c: New test.
+ * gcc.dg/torture/pr51106-2.c: New test.
+
+2012-01-19 Kai Tietz <ktietz@redhat.com>
+
+ * g++.dg/torture/pr51344.C: New test.
+
+2012-01-19 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51904
+ * gfortran.dg/intrinsic_size_2.f90: New.
+
+2012-01-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/51889
+ * g++.dg/inherit/using7.C: New.
+
+2012-01-19 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/37997
+ * gcc.dg/tree-ssa/ssa-pre-28.c: New testcase.
+
+2012-01-19 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/51505
+ * gcc.dg/pr51505.c: New test.
+
+2012-01-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/51634
+ * gfortran.dg/typebound_operator_12.f03: New.
+ * gfortran.dg/typebound_operator_13.f03: New.
+
+2012-01-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51225
+ * g++.dg/cpp0x/pr51225.C: New.
+
+2012-01-17 Ian Lance Taylor <iant@google.com>
+
+ PR go/50656
+ * go.test/go-test.exp (go-gc-tests): Recognize some more test lines.
+
+2012-01-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51869
+ * gfortran.dg/realloc_on_assign_9.f90: New.
+
+2012-01-17 Aldy Hernandez <aldyh@redhat.com>
+
+ PR other/51165
+ * gcc.dg/tm/memopt-3.c: Remove xfail.
+ * gcc.dg/tm/memopt-4.c: Remove xfail.
+ * gcc.dg/tm/memopt-5.c: Remove xfail.
+ * gcc.dg/tm/memopt-7.c: Remove xfail.
+
+2012-01-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51877
+ * gcc.c-torture/execute/pr51877.c: New test.
+
+2012-01-17 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * gcc.dg/vect/no-section-anchors-vect-69.c: Change
+ {!vect_align_arrays} to vect_sizes_32B_16B.
+ * gcc.dg/vect/vect-multitypes-1.c: Ditto.
+ * gcc.dg/vect/vect-peel-3.c: Ditto.
+
+2012-01-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/51854
+ * g++.dg/abi/mangle60.C: New.
+
+ PR c++/51827
+ * g++.dg/pch/mangle1.{C,Hs}: New.
+
+2012-01-16 Mikael Morin <mikael@gcc.gnu.org>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50981
+ * gfortran.dg/elemental_optional_args_3.f90: New
+ * gfortran.dg/elemental_optional_args_4.f90: New
+
+2012-01-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51809
+ * gfortran.dg/use_20.f90: New
+
+2012-01-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/51868
+ * g++.dg/cpp0x/rv-bitfield.C: New.
+ * g++.dg/cpp0x/rv-bitfield2.C: New.
+
+2012-01-16 Paul Thomas <pault@gcc.gnu.org>
+
+ * gfortran.dg/class_array_3.f03: Remove the explicit loop in
+ subroutine 'qsort' and use index array to assign the result.
+
+2012-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51865
+ * gcc.dg/pr51865.c: New test.
+
+2012-01-15 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Expect 4 threaded edges for MIPS.
+
+2012-01-15 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/code-readable-2.c: Allow the jump table address
+ to be loaded from the constant pool, rather than via %hi and %lo.
+
+2012-01-15 Uros Bizjak <ubizjak@gmail.com>
+
+ PR rtl-optimization/51821
+ * gcc.dg/pr51821.c: New test.
+
+2012-01-15 Andreas Schwab <schwab@linux-m68k.org>
+
+ * gcc.dg/torture/pr8081.c: Fix char signedness assumption.
+
+2012-01-14 Andreas Schwab <schwab@linux-m68k.org>
+
+ * g++.dg/cpp0x/constexpr-rom.C: Add -G0 where applicable.
+
+2012-01-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51800
+ * gfortran.dg/init_flag_8.f90: New.
+ * gfortran.dg/init_flag_9.f90: New.
+
+2011-01-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51816
+ * gfortran.dg/use_18.f90: New.
+ * gfortran.dg/use_19.f90: New.
+
+2012-01-13 Ian Lance Taylor <iant@google.com>
+
+ PR c++/50012
+ * g++.dg/warn/Wsign-compare-4.C: New.
+
+2012-01-13 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/48351
+ * gfortran.dg/alloc_comp_assign.f03: New.
+ * gfortran.dg/allocatable_scalar_9.f90: Reduce count of
+ __BUILTIN_FREE from 38 to 32.
+
+2012-01-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/20681
+ * g++.dg/warn/Wreturn-type-7.C: New.
+
+2012-01-13 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.c-torture/execute/20120111-1.c: Fix wrong int = int32_t
+ assumption.
+ * g++.dg/ipa/pr51759.C: Fix assumption sizeof(int) > 2.
+ * gcc.dg/cpp/warn-multichar.c: Fix to work on int=16 platforms.
+ * gcc.dg/cpp/warn-multichar-2.c: Ditto.
+ * gcc.dg/debug/dwarf2/pr49871.c: Add dg-require-effective-target
+ int32plus because of big array needed.
+ * gcc.dg/pr50527.c: Don't FAIL if sizeof(void*) = 2
+ * gcc.dg/lto/20090218-2_1.c: Fix prototype of malloc, memcpy.
+
+2012-01-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/51813
+ * g++.dg/ext/visibility/template9.C: New.
+
+ PR c++/51620
+ * g++.dg/cpp0x/defaulted34.C: New.
+ * g++.dg/template/virtual3.C: New.
+
+2012-01-13 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/8081
+ * gcc.dg/torture/pr8081.c: New testcase.
+
+2012-01-13 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/pr46309.c: Set branch cost to greater 1 for avr.
+
+2012-01-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/51714
+ * g++.dg/ext/stmtexpr14.C: New.
+
+2012-01-13 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51633
+ * g++.dg/cpp0x/constexpr-diag4.C: New test.
+
+2012-01-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/48051
+ * g++.dg/abi/mangle48.C: Test qualified-names, too.
+ * g++.dg/abi/mangle58.C: Likewise.
+
+ PR c++/51403
+ * g++.dg/template/arg8.C: New.
+
+2012-01-12 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/51799
+ * gcc.dg/vect/pr51799.c: New test.
+ * gcc.dg/vect/vect-widen-shift-u8.c: Expect two widening shift
+ patterns.
+
+2012-01-12 Dominique d'Humieres <dominiq@lps.ens.fr>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51057
+ PR fortran/51616
+ * lib/target-supports.exp
+ (check_effective_target_fortran_largest_fp_has_sqrt): New.
+ * gfortran.dg/quad_2.f90: Use it, add pattern for IBM's real(16).
+
+2012-01-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/51565
+ * g++.dg/ext/attrib42.C: New.
+
+2012-01-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/51796
+ * gcc.dg/pr51796.c: New test.
+
+2012-01-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/51818
+ * g++.dg/cpp0x/lambda/lambda-mangle3.C: New.
+
+2012-01-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/array19.ad[sb]: New test.
+
+2012-01-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt23.ad[sb]: New test.
+ * gnat.dg/opt23_pkg.ad[sb]: New helper.
+ * gnat.dg/opt24.ad[sb]: New test.
+
+2012-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/49642
+ * gcc.dg/tree-ssa/pr49642-1.c: New test.
+ * gcc.dg/tree-ssa/pr49642-2.c: New test.
+
+2012-01-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/51613
+ * g++.dg/template/explicit-args5.C: New.
+
+2012-01-11 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * gcc.c-torture/execute/20120110-1.c: New testcase.
+
+2012-01-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/51614
+ * g++.dg/inherit/ambig1.C: New.
+
+ PR c++/51433
+ * g++.dg/cpp0x/constexpr-cache1.C: New.
+
+2012-01-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51801
+ * gcc.dg/torture/pr51801.c: New testcase.
+
+2012-01-10 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51652
+ * gfortran.dg/allocate_with_typespec_5.f90: New.
+
+2012-01-10 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/class_39.f03: Update dg-error string.
+
+2012-01-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50913
+ * gcc.dg/graphite/interchange-16.c: New testcase.
+ * gcc.dg/graphite/scop-20.c: XFAIL.
+ * gfortran.dg/graphite/interchange-1.f: Likewise.
+ * gfortran.dg/graphite/block-1.f90: Likewise.
+ * gfortran.dg/graphite/block-2.f: Likewise.
+
+2012-01-10 Richard Henderson <rth@redhat.com>
+
+ * lib/target-supports.exp (check_effective_target_vect_perm,
+ check_effective_target_vect_perm_byte,
+ check_effective_target_vect_perm_short): Enable for arm neon.
+
+2012-01-09 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/46328
+ * gfortran.dg/typebound_operator_11.f90: New.
+
+2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/array18.adb: New test.
+ * gnat.dg/array18_pkg.ads: New helper.
+
+2012-01-09 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/51791
+ * gfortran.dg/typebound_operator_7.f03: Insert parentheses
+ around base object in first assignment in main program.
+ * gfortran.dg/typebound_operator_10.f03: New test.
+
+2012-01-09 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/51759
+ * g++.dg/ipa/pr51759.C: New test.
+
+2012-01-09 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51758
+ * gfortran.dg/optional_absent_2.f90: New.
+
+2012-01-09 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51578
+ * gfortran.dg/use_17.f90: New.
+
+2012-01-09 Gary Funck <gary@intrepid.com>
+
+ PR preprocessor/33919
+ * gcc.dg/pr33919.c: New test.
+ * gcc.dg/pr33919-0.h: New test header file.
+ * gcc.dg/pr33919-1.h: Ditto.
+ * gcc.dg/pr33919-2.h: Ditto.
+
+2012-01-07 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimize/51694
+ * gcc.c-torture/compile/pr51694.c: new testcase.
+
+2012-01-07 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/51600
+ * g++.dg/torture/pr51600.C: New testcase.
+
+2012-01-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR gcov-profile/51715
+ PR gcov-profile/51717
+ * gcc.misc-tests/gcov-13.c: Skip on 32-bit hppa*-*-hpux*.
+ * gcc.misc-tests/gcov-14.c: Likewise.
+
+2012-01-06 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/parse/new5.C: New.
+
+2012-01-06 Patrick Marlier <patrick.marlier@gmail.com>
+
+ PR testsuite/51655
+ * c-c++-common/tm/memcpy-1.c: Declare memcpy instead of
+ including <string.h>.
+
+2012-01-06 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/abi/mangle51.C: New.
+ * g++.dg/abi/mangle52.C: New.
+ * g++.dg/abi/mangle53.C: New.
+ * g++.dg/abi/mangle54.C: New.
+ * g++.dg/abi/mangle55.C: New.
+ * g++.dg/abi/mangle56.C: New.
+ * g++.dg/abi/mangle57.C: New.
+ * g++.dg/abi/mangle58.C: New.
+ * g++.dg/abi/mangle59.C: New.
+ * g++.dg/cpp0x/trailing3.C: Update mangling.
+ * g++.dg/cpp0x/variadic111.C: Update mangling.
+ * g++.dg/cpp0x/variadic4.C: Update mangling.
+ * g++.dg/cpp0x/variadic42.C: Pass -fabi-version=5.
+ * g++.dg/template/nontype22.C: Works now.
+ * g++.dg/template/pr35240.C: Works now.
+
+ * g++.dg/cpp0x/error7.C: New.
+
+2012-01-06 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/deallocate_stat_2.f90: New.
+ * coarray/allocate_errgmsg.f90: New.
+ * gfortran.dg/coarray_lib_alloc_1.f90: New.
+ * gfortran.dg/coarray_lib_alloc_2.f90: New.
+ * coarray/subobject_1.f90: Fix for num_images > 1.
+ * gfortran.dg/deallocate_stat.f90: Update due to changed
+ stat= handling.
+
+2012-01-06 Andrew Stubbs <ams@codesourcery.com>
+
+ * gcc.target/arm/headmerge-2.c: Adjust scan pattern.
+
+2012-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ada/acats/overflow.lst: Add cb20004.
+
+2012-01-05 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51541
+ * g++.dg/cpp0x/alias-decl-18.C: New test.
+
+2012-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.c-torture/execute/20120104-1.c: New test.
+
+2012-01-05 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/PR48946
+ * gfortran.dg/typebound_operator_9.f03: This is now a copy of
+ the old typebound_operator_8.f03.
+ * gfortran.dg/typebound_operator_8.f03: New version of
+ typebound_operator_7.f03 with 'u' a derived type instead of a
+ class object.
+
+2012-01-05 Richard Guenther <rguenther@suse.de>
+
+ * g++.dg/torture/pr49309.C: Skip for -flto.
+
+2012-01-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/51761
+ * gcc.c-torture/compile/pr51761.c: New test.
+
+2012-01-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51760
+ * gcc.dg/torture/pr51760.c: New testcase.
+
+2012-01-05 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/51472
+ * gcc.dg/tm/memopt-6.c: Adjust regexp.
+
+2012-01-05 Richard Guenther <rguenther@suse.de>
+
+ PR lto/41576
+ * gfortran.dg/lto/pr41576_0.f90: New testcase.
+ * gfortran.dg/lto/pr41576_1.f90: Likewise.
+
+2012-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/51695
+ * gcc.dg/pr51695.c: New test.
+
+2012-01-04 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.target/mips/mips64-dsp-ldx1.c: New test.
+ * gcc.target/mips/octeon2-lx-1.c: New test.
+ * gcc.target/mips/mips64-dsp-ldx.c: New test.
+ * gcc.target/mips/octeon2-lx-2.c: New test.
+ * gcc.target/mips/octeon2-lx-3.c: New test.
+
+2012-01-04 Patrick Marlier <patrick.marlier@gmail.com>
+
+ PR other/51163
+ PR other/51164
+ * gcc.dg/tm/alias-1.c: Adjust regexp.
+ * gcc.dg/tm/alias-2.c: Adjust regexp.
+
+2012-01-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51064
+ * g++.dg/warn/Wparentheses-26.C: New.
+
+2012-01-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ * gfortran.dg/elemental_optional_args_2.f90: New test.
+
+2012-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/49693
+ * gfortran.dg/common_17.f90: New test.
+
+2012-01-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49651
+ * gcc.dg/tree-ssa/pta-ptrarith-1.c: Adjust.
+ * gcc.dg/tree-ssa/pta-ptrarith-2.c: Likewise.
+
+2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51738
+ * g++.dg/cpp0x/initlist-postfix-open-square.C: New.
+
+2012-01-03 Andrew Pinski <apinski@cavium.com>
+
+ * lib/scanasm.exp (dg-function-on-line): Always use a special format
+ for all mips targets. Also allow an optional .cfi_startproc.
+
+2012-01-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * gfortran.dg/typebound_operator_8.f03: Use dg-add-options ieee.
+
+2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/29273
+ * g++.dg/rtti/dyncast5.C: New.
+
+2012-01-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51070
+ * gcc.dg/torture/pr51070-2.c: New testcase.
+
+2012-01-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51692
+ * gcc.dg/torture/pr51692.c: New testcase.
+
+2012-01-03 Richard Guenther <rguenther@suse.de>
+
+ PR debug/51650
+ * g++.dg/lto/pr51650-3_0.C: New testcase.
+
+2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/15867
+ * g++.dg/warn/Wredundant-decls-spec.C: New.
+
+2012-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51719
+ * g++.dg/tree-prof/pr51719.C: New test.
+
+2012-01-03 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51730
+ * gcc.dg/fold-compare-6.c: New testcase.
+
+2012-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/51669
+ * g++.dg/gomp/pr51669.C: New test.
+
+2012-01-02 Jason Merrill <jason@redhat.com>
+
+ PR c++/51675
+ * g++.dg/cpp0x/constexpr-union2.C: New.
+
+ PR c++/51666
+ * g++.dg/cpp0x/nsdmi-defer5.C: New.
+
+2012-01-02 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51462
+ * g++.dg/cpp0x/constexpr-99.C: New test.
+
+2012-01-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/20140
+ * g++.dg/template/init9.C: New.
+
+2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.dg/memcpy-4.c: Add nomips16 attribute for MIPS targets.
+ Increase copy to 5 bytes. Look for at least two "mem/s/u"s,
+ rather than a specific number.
+
+2012-01-02 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/46262
+ PR fortran/46328
+ PR fortran/51052
+ * gfortran.dg/typebound_operator_7.f03: New.
+ * gfortran.dg/typebound_operator_8.f03: New.
+
+2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/51729
+ * gcc.target/mips/dspr2-MULT.c: Remove -ffixed-hi -ffixed-lo.
+ XFAIL.
+ * gcc.target/mips/dspr2-MULTU.c: Likewise.
+
+2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.dg/pr46309.c: Add -mtune=octeon2 for MIPS.
+
+2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * g++.dg/cpp0x/constexpr-rom.C: Look for .rdata rather than rodata
+ for MIPS.
+
+2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gfortran.dg/io_real_boz_3.f90: Require fortran_real_16.
+ * gfortran.dg/io_real_boz_4.f90: Likewise.
+ * gfortran.dg/io_real_boz_5.f90: Likewise.
+
+2012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * g++.dg/opt/devirt2.C: Add -mno-abicalls for MIPS.
+
+2012-01-02 Revital Eres <revital.eres@linaro.org>
+
+ * gcc.dg/sms-11.c: New file.
+
+2012-01-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51682
+ * gfortran.dg/coarray/image_index_3.f90: New.
+
+2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/16603
+ * g++.dg/parse/enum8.C: New.
+
+2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51379
+ * g++.dg/conversion/reinterpret4.C: New.
+ * g++.dg/conversion/reinterpret1.C: Adjust.
+
+2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/cpp0x/constexpr-delegating2.C: Add missing piece.
+
+2012-01-01 Fabien Chêne <fabien@gcc.gnu.org>
+
+ * g++.old-deja/g++.brendan/crash25.C: Adjust.
+ * g++.old-deja/g++.brendan/crash56.C: Likewise.
+ * g++.old-deja/g++.jason/access14.C: Likewise.
+ * g++.old-deja/g++.jason/access8.C: Likewise.
+ * g++.old-deja/g++.jason/access1.C: Likewise.
+ * g++.old-deja/g++.other/access3.C: Likewise.
+ * g++.old-deja/g++.other/access5.C: Likewise.
+ * g++.old-deja/g++.law/unsorted1.C: Likewise.
+ * g++.old-deja/g++.law/visibility22.C: Likewise.
+ * g++.old-deja/g++.law/visibility26.C: Likewise.
+ * g++.old-deja/g++.mike/p2746.C: Likewise.
+ * g++.dg/debug/using1.C: Likewise.
+ * g++.dg/lookup/using51.C: Likewise.
+ * g++.dg/inherit/using5.C: Likewise.
+ * g++.dg/inherit/pr30297.C: Likewise.
+ * g++.dg/inherit/access8.C: Likewise.
+ * g++.dg/torture/pr39362.C: Likewise.
+ * g++.dg/template/crash13.C: Likewise.
+ * g++.dg/template/using10.C: Likewise.
+
+2012-01-01 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/51502
+ * lib/gcc-dg.exp (scan-module-absence): Really commit last change.
+
+2012-01-01 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/51704
+ * gfortran.dg/vect/no-fre-no-copy-prop-O3-pr51704.f90: New.
+ * gfortran.dg/vect/vect.exp: Run no-fre-no-copy-prop-O3-* with
+ corresponding flags.
+
+2012-01-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51723
+ * g++.dg/cpp0x/constexpr-delegating2.C: New.
+
+2012-01-01 Jan Hubicka <jh@suse.cz>
+
+ PR rtl-optimization/51069
+ * gcc.c-torture/compile/pr51069.c: New testcase.
+
+2012-01-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51683
+ * gcc.dg/pr51683.c: New test.
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/testsuite/g++.dg/bprob/bprob.exp b/gcc/testsuite/g++.dg/bprob/bprob.exp
index bb0d4643ac9..0ffbd0fa12e 100644
--- a/gcc/testsuite/g++.dg/bprob/bprob.exp
+++ b/gcc/testsuite/g++.dg/bprob/bprob.exp
@@ -1,4 +1,5 @@
-# Copyright (C) 2001, 2002, 2004, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2004, 2007, 2008, 2011, 2012
+# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/charset/charset.exp b/gcc/testsuite/g++.dg/charset/charset.exp
index fe35f6a4403..533160f5a2a 100644
--- a/gcc/testsuite/g++.dg/charset/charset.exp
+++ b/gcc/testsuite/g++.dg/charset/charset.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2007, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor11.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor11.C
new file mode 100644
index 00000000000..4b526eaa794
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor11.C
@@ -0,0 +1,16 @@
+// PR c++/55856
+// { dg-options -std=c++11 }
+
+struct A
+{
+ A(const char *);
+};
+
+template <class T>
+struct B
+{
+ T t;
+ template <class U> constexpr B(U&& u): t(u) { };
+};
+
+B<A&&> b("");
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor12.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor12.C
new file mode 100644
index 00000000000..a5a4b4d14a9
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-ctor12.C
@@ -0,0 +1,14 @@
+// PR c++/55753
+// { dg-options -std=c++11 }
+
+template <typename Tp>
+struct C {
+ constexpr C(const Tp& r) { }
+};
+
+template <typename Tp>
+struct B {
+ B() {
+ C<double> cpl = C<double>((true ? 1.0 : C<double>()));
+ }
+};
diff --git a/gcc/testsuite/g++.dg/cpp0x/parse2.C b/gcc/testsuite/g++.dg/cpp0x/parse2.C
index eea6b41aa17..77ea14a92a8 100644
--- a/gcc/testsuite/g++.dg/cpp0x/parse2.C
+++ b/gcc/testsuite/g++.dg/cpp0x/parse2.C
@@ -10,3 +10,6 @@ int main()
{
X<::A> x;
}
+
+int a;
+bool b = 0<::a;
diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2.exp b/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2.exp
index 7b112ac6001..09d52f088fb 100644
--- a/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2.exp
+++ b/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2007, 2007, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2007, 2010, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/dfp/dfp.exp b/gcc/testsuite/g++.dg/dfp/dfp.exp
index 4d235e5c084..0eb1c515095 100644
--- a/gcc/testsuite/g++.dg/dfp/dfp.exp
+++ b/gcc/testsuite/g++.dg/dfp/dfp.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2005, 2006, 2007, 2009, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_constructor-2.C b/gcc/testsuite/g++.dg/ext/has_nothrow_constructor-2.C
new file mode 100644
index 00000000000..9191c3e97f8
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_constructor-2.C
@@ -0,0 +1,7 @@
+// PR c++/55842
+// { dg-options -std=c++11 }
+
+template <class=void> struct number {
+ number() noexcept(noexcept(0)) { }
+};
+const int z=__has_nothrow_constructor(number<>);
diff --git a/gcc/testsuite/g++.dg/ext/visibility/anon11.C b/gcc/testsuite/g++.dg/ext/visibility/anon11.C
new file mode 100644
index 00000000000..dfb4f12bbe8
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/visibility/anon11.C
@@ -0,0 +1,13 @@
+// PR c++/55877
+// { dg-final { scan-assembler-not "\\.local" } }
+
+typedef struct {
+ typedef enum { X, Y } A;
+ typedef struct { } B;
+ struct C { };
+} D;
+
+D d;
+D::A a;
+D::B b;
+D::C c;
diff --git a/gcc/testsuite/g++.dg/gcov/gcov.exp b/gcc/testsuite/g++.dg/gcov/gcov.exp
index 73703dcaf91..813be850e93 100644
--- a/gcc/testsuite/g++.dg/gcov/gcov.exp
+++ b/gcc/testsuite/g++.dg/gcov/gcov.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997, 2001, 2002, 2007 Free Software Foundation, Inc.
+# Copyright (C) 1997, 2001, 2002, 2007, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/gomp/gomp.exp b/gcc/testsuite/g++.dg/gomp/gomp.exp
index 445cea89983..3815a3590fd 100644
--- a/gcc/testsuite/g++.dg/gomp/gomp.exp
+++ b/gcc/testsuite/g++.dg/gomp/gomp.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2011 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/g++.dg/graphite/graphite.exp b/gcc/testsuite/g++.dg/graphite/graphite.exp
index 7c96f58c70d..31636c6242e 100644
--- a/gcc/testsuite/g++.dg/graphite/graphite.exp
+++ b/gcc/testsuite/g++.dg/graphite/graphite.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/init/array34.C b/gcc/testsuite/g++.dg/init/array34.C
new file mode 100644
index 00000000000..1c2e022e5eb
--- /dev/null
+++ b/gcc/testsuite/g++.dg/init/array34.C
@@ -0,0 +1,15 @@
+// PR c++/53650
+// We should loop over array inits if they don't involve temporaries
+// that need extending.
+// { dg-options "-fdump-tree-gimple" }
+// { dg-final { scan-tree-dump-times "Class::Class" 1 "gimple" } }
+// { dg-final { cleanup-tree-dump "gimple" } }
+
+struct Class {
+ Class();
+};
+
+int main() {
+ Class table [10] = {};
+ return 0;
+}
diff --git a/gcc/testsuite/g++.dg/plugin/plugin.exp b/gcc/testsuite/g++.dg/plugin/plugin.exp
index fb962dfdead..f7a80159f0e 100644
--- a/gcc/testsuite/g++.dg/plugin/plugin.exp
+++ b/gcc/testsuite/g++.dg/plugin/plugin.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/tls/tls.exp b/gcc/testsuite/g++.dg/tls/tls.exp
index 7745cd52da4..44de9597905 100644
--- a/gcc/testsuite/g++.dg/tls/tls.exp
+++ b/gcc/testsuite/g++.dg/tls/tls.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2002, 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2005, 2007, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/tm/tm.exp b/gcc/testsuite/g++.dg/tm/tm.exp
index f191abc9c1c..46cba12c8ec 100644
--- a/gcc/testsuite/g++.dg/tm/tm.exp
+++ b/gcc/testsuite/g++.dg/tm/tm.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2011, 2012 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp b/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp
index b4aa22dc465..bf287da61f4 100644
--- a/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp
+++ b/gcc/testsuite/g++.dg/tree-prof/tree-prof.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2001, 2002, 2004, 2005, 2007, 2008, 2011
+# Copyright (C) 2001, 2002, 2004, 2005, 2007, 2008, 2011, 2012
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
diff --git a/gcc/testsuite/g++.dg/vect/vect.exp b/gcc/testsuite/g++.dg/vect/vect.exp
index 7cb02d026fe..7149ee3c129 100644
--- a/gcc/testsuite/g++.dg/vect/vect.exp
+++ b/gcc/testsuite/g++.dg/vect/vect.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2007, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash28.C b/gcc/testsuite/g++.old-deja/g++.other/crash28.C
index 59f1e844eea..c0f4bfa66e6 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/crash28.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/crash28.C
@@ -31,5 +31,5 @@ public:
};
void foo::x() throw(bar)
{
- if (!b) throw bar (static_cast<::N::X*>(this)); // { dg-error "lambda expressions|expected" } parse error
+ if (!b) throw bar (static_cast<::N::X*>(this)); // { dg-error "lambda expressions|expected|invalid" } parse error
}
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr55832.c b/gcc/testsuite/gcc.c-torture/compile/pr55832.c
new file mode 100644
index 00000000000..221c3c988e6
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr55832.c
@@ -0,0 +1,23 @@
+/* PR tree-optimization/55832 */
+
+int g, b;
+
+void
+foo (void)
+{
+ union U { int i; unsigned short s; } a = { 0 };
+ unsigned char c;
+ unsigned short d = 0, *p = &a.s;
+
+ if (g)
+ a.i--;
+
+ if (b && a.i < (d = 1))
+ return;
+
+ for (; a.i < 15; a.i++)
+ b |= d <= c;
+
+ if (!*p)
+ g = 0;
+}
diff --git a/gcc/testsuite/gcc.dg/fold-reassoc-2.c b/gcc/testsuite/gcc.dg/fold-reassoc-2.c
new file mode 100644
index 00000000000..e2dd100b71e
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/fold-reassoc-2.c
@@ -0,0 +1,14 @@
+/* { dg-do compile } */
+/* { dg-options "-O -fdump-tree-original" } */
+
+int foo (int i)
+{
+ return (i + 2) - (i + 1);
+}
+int bar (int i)
+{
+ return (i + 2) + ~i;
+}
+
+/* { dg-final { scan-tree-dump "return 1;" "original" } } */
+/* { dg-final { cleanup-tree-dump "original" } } */
diff --git a/gcc/testsuite/gcc.dg/gomp/gomp.exp b/gcc/testsuite/gcc.dg/gomp/gomp.exp
index 4cb4cafa400..a1e13fcbe0f 100644
--- a/gcc/testsuite/gcc.dg/gomp/gomp.exp
+++ b/gcc/testsuite/gcc.dg/gomp/gomp.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2011 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
diff --git a/gcc/testsuite/gcc.dg/graphite/graphite.exp b/gcc/testsuite/gcc.dg/graphite/graphite.exp
index cdf35ebab8a..76e3965bc6a 100644
--- a/gcc/testsuite/gcc.dg/graphite/graphite.exp
+++ b/gcc/testsuite/gcc.dg/graphite/graphite.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/pr55838.c b/gcc/testsuite/gcc.dg/pr55838.c
new file mode 100644
index 00000000000..d2d6e142ba2
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr55838.c
@@ -0,0 +1,13 @@
+/* PR rtl-optimization/55838 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -funroll-loops" } */
+
+int a;
+unsigned char c;
+
+void
+f (void)
+{
+ while (c++ < 2)
+ c = a += 129;
+}
diff --git a/gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp b/gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp
index cf1123aaaa7..f8fb8fc8bcc 100644
--- a/gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp
+++ b/gcc/testsuite/gcc.dg/simulate-thread/simulate-thread.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2011, 2012 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/tm/tm.exp b/gcc/testsuite/gcc.dg/tm/tm.exp
index 07c14936520..df4bd9aa221 100644
--- a/gcc/testsuite/gcc.dg/tm/tm.exp
+++ b/gcc/testsuite/gcc.dg/tm/tm.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2011, 2012 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.dg/torture/pr55755.c b/gcc/testsuite/gcc.dg/torture/pr55755.c
new file mode 100644
index 00000000000..3c8bb6ba41a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr55755.c
@@ -0,0 +1,43 @@
+/* { dg-do run } */
+/* { dg-require-effective-target int32plus } */
+
+struct S4
+{
+ unsigned f0:24;
+} __attribute__((__packed__));
+
+struct S4 g_10 = {
+ 6210831
+};
+
+struct S5
+{
+ int i;
+ struct S4 l_8[2];
+} __attribute__((__packed__));
+
+int a, b;
+
+struct S4 func_2 (int x)
+{
+ struct S5 l = {
+ 0,
+ {{0}, {0}}
+ };
+ l.i = a;
+ g_10 = l.l_8[1];
+ for (; x<2; x++) {
+ struct S4 tmp = {
+ 11936567
+ };
+ l.l_8[x] = tmp;
+ }
+ b = l.i;
+ return g_10;
+}
+
+int main (void)
+{
+ func_2 (0);
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr55862.c b/gcc/testsuite/gcc.dg/torture/pr55862.c
new file mode 100644
index 00000000000..eb8dceb9bf8
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr55862.c
@@ -0,0 +1,31 @@
+/* { dg-do compile } */
+
+int g, a, *b;
+
+void f(void)
+{
+ int *p;
+
+ if(g)
+ {
+ int **k = &p;
+
+ for(; g; p++)
+ for(a = 0; a < 1; a++)
+ {
+ int *c = p;
+label2:
+ if(a < 1)
+ *c = 0;
+ }
+
+ goto label1;
+
+ while(g++)
+ for(*b = 0; *b; b++)
+ label1:
+ ;
+ }
+
+ goto label2;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/tls/tls-reload-1.c b/gcc/testsuite/gcc.dg/torture/tls/tls-reload-1.c
index 464a65122b2..bd9a0b891a4 100644
--- a/gcc/testsuite/gcc.dg/torture/tls/tls-reload-1.c
+++ b/gcc/testsuite/gcc.dg/torture/tls/tls-reload-1.c
@@ -1,5 +1,6 @@
/* { dg-do run } */
/* { dg-require-effective-target tls_runtime } */
+/* { dg-add-options tls } */
#define ARRAY(X) X##_array
#define DECLARE(X) \
@@ -41,7 +42,7 @@ main (void)
int i;
setup (array);
- B(CHECK, tls);
+ C(CHECK, tls);
if (!y)
abort ();
return 0;
diff --git a/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp b/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp
index e3c5e3d0486..dc6becc9359 100644
--- a/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp
+++ b/gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2001, 2002, 2004, 2005, 2007, 2008, 2011
+# Copyright (C) 2001, 2002, 2004, 2005, 2007, 2008, 2011, 2012
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr45144.c b/gcc/testsuite/gcc.dg/tree-ssa/pr45144.c
index 85b2b159766..af23fb5970b 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr45144.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr45144.c
@@ -43,5 +43,5 @@ bar (unsigned orig, unsigned *new)
*new = foo (&a);
}
-/* { dg-final { scan-tree-dump " = VIEW_CONVERT_EXPR<unsigned int>\\(a\\);" "optimized"} } */
+/* { dg-final { scan-tree-dump-not "unnamed-unsigned:19" "optimized"} } */
/* { dg-final { cleanup-tree-dump "optimized" } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/sra-13.c b/gcc/testsuite/gcc.dg/tree-ssa/sra-13.c
new file mode 100644
index 00000000000..12b77fe2f27
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tree-ssa/sra-13.c
@@ -0,0 +1,114 @@
+/* Test that SRA replacement can deal with assignments that have
+ sub-replacements on one side and a single scalar replacement on another. */
+/* { dg-do run } */
+/* { dg-options "-O1" } */
+
+struct A
+{
+ int i1, i2;
+};
+
+struct B
+{
+ long long int l;
+};
+
+union U
+{
+ struct A a;
+ struct B b;
+};
+
+int b, gi;
+long gl;
+union U gu1, gu2;
+
+int __attribute__ ((noinline, noclone))
+foo (void)
+{
+ union U x, y;
+ int r;
+
+ y = gu1;
+ if (b)
+ y.b.l = gl;
+
+ x = y;
+
+ if (!b)
+ r = x.a.i1;
+ else
+ r = 0;
+
+ gu2 = x;
+ return r;
+}
+
+long long int __attribute__ ((noinline, noclone))
+bar (void)
+{
+ union U x, y;
+ int r;
+
+ y = gu1;
+ if (b)
+ y.a.i1 = gi;
+
+ x = y;
+
+ if (!b)
+ r = x.b.l;
+ else
+ r = 0;
+
+ gu2 = x;
+ return r;
+}
+
+
+int
+main (void)
+{
+ int r;
+ long long int s;
+
+ b = 0;
+ gu1.a.i1 = 123;
+ gu1.a.i2 = 234;
+ r = foo ();
+ if (r != 123)
+ __builtin_abort ();
+ if (gu2.a.i1 != 123)
+ __builtin_abort ();
+ if (gu2.a.i2 != 234)
+ __builtin_abort ();
+
+ b = 1;
+ gl = 10000001;
+ gu1.b.l = 10000000;
+ r = foo ();
+ if (r != 0)
+ __builtin_abort ();
+ if (gu2.b.l != 10000001)
+ __builtin_abort ();
+
+ b = 0;
+ gu1.b.l = 20000000;
+ s = bar ();
+ if (s != 20000000)
+ __builtin_abort ();
+ if (gu2.b.l != 20000000)
+ __builtin_abort ();
+
+ b = 1;
+ gi = 456;
+ gu1.a.i1 = 123;
+ gu1.a.i2 = 234;
+ s = bar ();
+ if (s != 0)
+ __builtin_abort ();
+ if (gu2.a.i1 != 456)
+ __builtin_abort ();
+
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp b/gcc/testsuite/gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp
index e19120fec1d..699a4946916 100644
--- a/gcc/testsuite/gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp
+++ b/gcc/testsuite/gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2010
+# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2010, 2012
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
diff --git a/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp b/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp
index 1a22e7dbcae..70929543f35 100644
--- a/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp
+++ b/gcc/testsuite/gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008
+# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008, 2011
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
diff --git a/gcc/testsuite/gcc.dg/vect/pr55857-1.c b/gcc/testsuite/gcc.dg/vect/pr55857-1.c
new file mode 100644
index 00000000000..ad41d304321
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vect/pr55857-1.c
@@ -0,0 +1,17 @@
+/* { dg-do compile } */
+
+void
+foo (int *data, unsigned len, const int qlp_coeff[], int lp, int residual[])
+{
+ int i;
+ int sum;
+ for(i = 0; i < (int)len; i++)
+ {
+ sum = 0;
+ sum += qlp_coeff[1] * data[i-2];
+ sum += qlp_coeff[0] * data[i-1];
+ residual[i] = data[i] - (sum >> lp);
+ }
+}
+
+/* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/pr55857-2.c b/gcc/testsuite/gcc.dg/vect/pr55857-2.c
new file mode 100644
index 00000000000..3bfff824794
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vect/pr55857-2.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+
+void foo (int *data, unsigned len, const int qlp_coeff[],
+ unsigned order, int lp, int residual[])
+{
+ int i;
+ int sum;
+ if(order == 2)
+ for(i = 0; i < (int)len; i++)
+ {
+ sum = 0;
+ sum += qlp_coeff[1] * data[i-2];
+ sum += qlp_coeff[0] * data[i-1];
+ residual[i] = data[i] - (sum >> lp);
+ }
+ else
+ for(i = 0; i < (int)len; i++)
+ residual[i] = data[i] - ((qlp_coeff[0] * data[i-1]) >> lp);
+}
+
+/* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect.exp b/gcc/testsuite/gcc.dg/vect/vect.exp
index 426516325b2..14170666226 100644
--- a/gcc/testsuite/gcc.dg/vect/vect.exp
+++ b/gcc/testsuite/gcc.dg/vect/vect.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008, 2010
+# Copyright (C) 1997, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
diff --git a/gcc/testsuite/gcc.misc-tests/bprob.exp b/gcc/testsuite/gcc.misc-tests/bprob.exp
index 6f520ec729c..69e768bce2b 100644
--- a/gcc/testsuite/gcc.misc-tests/bprob.exp
+++ b/gcc/testsuite/gcc.misc-tests/bprob.exp
@@ -1,4 +1,5 @@
-# Copyright (C) 2001, 2002, 2004, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2004, 2007, 2008, 2011, 2012
+# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/gcov.exp b/gcc/testsuite/gcc.misc-tests/gcov.exp
index 85a1c34abd9..19ab270ecd2 100644
--- a/gcc/testsuite/gcc.misc-tests/gcov.exp
+++ b/gcc/testsuite/gcc.misc-tests/gcov.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997, 2001, 2007 Free Software Foundation, Inc.
+# Copyright (C) 1997, 2001, 2007, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.misc-tests/linkage.exp b/gcc/testsuite/gcc.misc-tests/linkage.exp
index 9b553ae2950..a594dd4688e 100644
--- a/gcc/testsuite/gcc.misc-tests/linkage.exp
+++ b/gcc/testsuite/gcc.misc-tests/linkage.exp
@@ -1,5 +1,5 @@
-# Copyright (C) 1988, 90-96, 1997, 2000, 2001, 2002, 2007, 2008, 2010, 2012
-# Free Software Foundation, Inc.
+# Copyright (C) 1988, 90-96, 1997, 2000, 2001, 2002, 2007, 2008, 2010, 2011,
+# 2012 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/aarch64/cmp-1.c b/gcc/testsuite/gcc.target/aarch64/cmp-1.c
new file mode 100644
index 00000000000..4c082b484ab
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/cmp-1.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+int f(int a, int b)
+{
+ if(a<b)
+ return 1;
+ if(a>b)
+ return -1;
+ return 0;
+}
+
+/* We should optimize away the second cmp. */
+/* { dg-final { scan-assembler-times "cmp\tw" 1 } } */
+
diff --git a/gcc/testsuite/gcc.target/arm/arm.exp b/gcc/testsuite/gcc.target/arm/arm.exp
index de528921017..ea135b201ac 100644
--- a/gcc/testsuite/gcc.target/arm/arm.exp
+++ b/gcc/testsuite/gcc.target/arm/arm.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997, 2004, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 1997, 2004, 2006, 2007, 2012 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/avr/avr.exp b/gcc/testsuite/gcc.target/avr/avr.exp
index a552a968560..ecd80f5aa9a 100644
--- a/gcc/testsuite/gcc.target/avr/avr.exp
+++ b/gcc/testsuite/gcc.target/avr/avr.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/avr/torture/avr-torture.exp b/gcc/testsuite/gcc.target/avr/torture/avr-torture.exp
index 61cd3197fb6..5a658d103fb 100644
--- a/gcc/testsuite/gcc.target/avr/torture/avr-torture.exp
+++ b/gcc/testsuite/gcc.target/avr/torture/avr-torture.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2011, 2012 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/bfin/builtins/bfin-builtins.exp b/gcc/testsuite/gcc.target/bfin/builtins/bfin-builtins.exp
index 645460e03c6..fdb4ffe15a8 100644
--- a/gcc/testsuite/gcc.target/bfin/builtins/bfin-builtins.exp
+++ b/gcc/testsuite/gcc.target/bfin/builtins/bfin-builtins.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/mips/mips.exp b/gcc/testsuite/gcc.target/mips/mips.exp
index 23e34227539..88487ab9ef5 100644
--- a/gcc/testsuite/gcc.target/mips/mips.exp
+++ b/gcc/testsuite/gcc.target/mips/mips.exp
@@ -1,4 +1,5 @@
-# Copyright (C) 1997, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+# Copyright (C) 1997, 2007, 2008, 2009, 2010, 2011, 2012
+# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/sparc/sparc.exp b/gcc/testsuite/gcc.target/sparc/sparc.exp
index 51c9c16ecb7..4f865a7ee5f 100644
--- a/gcc/testsuite/gcc.target/sparc/sparc.exp
+++ b/gcc/testsuite/gcc.target/sparc/sparc.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997, 2004, 2007 Free Software Foundation, Inc.
+# Copyright (C) 1997, 2004, 2007, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/tic6x/builtins/c6x-builtins.exp b/gcc/testsuite/gcc.target/tic6x/builtins/c6x-builtins.exp
index 3a7f0896e5f..f0e5fd6188d 100644
--- a/gcc/testsuite/gcc.target/tic6x/builtins/c6x-builtins.exp
+++ b/gcc/testsuite/gcc.target/tic6x/builtins/c6x-builtins.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/tic6x/tic6x.exp b/gcc/testsuite/gcc.target/tic6x/tic6x.exp
index f9d1c7a1620..e9037283d84 100644
--- a/gcc/testsuite/gcc.target/tic6x/tic6x.exp
+++ b/gcc/testsuite/gcc.target/tic6x/tic6x.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2010 Free Software Foundation, Inc.
+# Copyright (C) 2010, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gcc.target/x86_64/abi/callabi/callabi.exp b/gcc/testsuite/gcc.target/x86_64/abi/callabi/callabi.exp
index e76d0c10150..64c3b81fdbe 100644
--- a/gcc/testsuite/gcc.target/x86_64/abi/callabi/callabi.exp
+++ b/gcc/testsuite/gcc.target/x86_64/abi/callabi/callabi.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gfortran.dg/assignment_1.f90 b/gcc/testsuite/gfortran.dg/assignment_1.f90
index c8018a3d4c3..4322e5934c0 100644
--- a/gcc/testsuite/gfortran.dg/assignment_1.f90
+++ b/gcc/testsuite/gfortran.dg/assignment_1.f90
@@ -12,7 +12,7 @@ integer, target :: t, s
t = 1
p => s
! We didn't dereference the pointer in the following line.
-p = f() ! { dg-warning "POINTER valued function" "" }
+p = f() ! { dg-warning "POINTER-valued function" "" }
p = p+1
if (p.ne.2) call abort()
if (p.ne.s) call abort()
diff --git a/gcc/testsuite/gfortran.dg/assignment_4.f90 b/gcc/testsuite/gfortran.dg/assignment_4.f90
new file mode 100644
index 00000000000..77181a2054e
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/assignment_4.f90
@@ -0,0 +1,16 @@
+! { dg-do compile }
+! { dg-options "-Wall" }
+!
+! PR 55855: [OOP] incorrect warning with procedure pointer component on pointer-valued base object
+!
+! Contributed by Andrew Benson <abensonca@gmail.com>
+
+ implicit none
+ type :: event
+ procedure(logical), pointer, nopass :: task
+ end type event
+ logical :: r
+ type(event), pointer :: myEvent
+ allocate(myEvent)
+ r=myEvent%task()
+end
diff --git a/gcc/testsuite/gfortran.dg/class_array_15.f03 b/gcc/testsuite/gfortran.dg/class_array_15.f03
new file mode 100644
index 00000000000..7d1d4d7181b
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/class_array_15.f03
@@ -0,0 +1,116 @@
+! { dg-do run }
+!
+! Tests the fixes for three bugs with the same underlying cause. All are regressions
+! that come about because class array elements end up with a different tree type
+! to the class array. In addition, the language specific flag that marks a class
+! container is not being set.
+!
+! PR53876 contributed by Prince Ogunbade <pogos77@hotmail.com>
+! PR54990 contributed by Janus Weil <janus@gcc.gnu.org>
+! PR54992 contributed by Tobias Burnus <burnus@gcc.gnu.org>
+! The two latter bugs were reported by Andrew Benson
+! starting at http://gcc.gnu.org/ml/fortran/2012-10/msg00087.html
+!
+module G_Nodes
+ type :: nc
+ type(tn), pointer :: hostNode
+ end type nc
+ type, extends(nc) :: ncBh
+ end type ncBh
+ type, public, extends(ncBh) :: ncBhStd
+ double precision :: massSeedData
+ end type ncBhStd
+ type, public :: tn
+ class (ncBh), allocatable, dimension(:) :: cBh
+ end type tn
+ type(ncBhStd) :: defaultBhC
+contains
+ subroutine Node_C_Bh_Move(targetNode)
+ implicit none
+ type (tn ), intent(inout) , target :: targetNode
+ class(ncBh), allocatable , dimension(:) :: instancesTemporary
+! These two lines resulted in the wrong result:
+ allocate(instancesTemporary(2),source=defaultBhC)
+ call Move_Alloc(instancesTemporary,targetNode%cBh)
+! These two lines gave the correct result:
+!!deallocate(targetNode%cBh)
+!!allocate(targetNode%cBh(2))
+ targetNode%cBh(1)%hostNode => targetNode
+ targetNode%cBh(2)%hostNode => targetNode
+ return
+ end subroutine Node_C_Bh_Move
+ function bhGet(self,instance)
+ implicit none
+ class (ncBh), pointer :: bhGet
+ class (tn ), intent(inout), target :: self
+ integer , intent(in ) :: instance
+ bhGet => self%cBh(instance)
+ return
+ end function bhGet
+end module G_Nodes
+
+ call pr53876
+ call pr54990
+ call pr54992
+end
+
+subroutine pr53876
+ IMPLICIT NONE
+ TYPE :: individual
+ integer :: icomp ! Add an extra component to test offset
+ REAL, DIMENSION(:), ALLOCATABLE :: genes
+ END TYPE
+ CLASS(individual), DIMENSION(:), ALLOCATABLE :: indv
+ allocate (indv(2), source = [individual(1, [99,999]), &
+ individual(2, [999,9999])])
+ CALL display_indv(indv(2)) ! Similarly, reference 2nd element to test offset
+CONTAINS
+ SUBROUTINE display_indv(self)
+ CLASS(individual), INTENT(IN) :: self
+ if (any(self%genes .ne. [999,9999]) )call abort
+ END SUBROUTINE
+END
+
+subroutine pr54990
+ implicit none
+ type :: ncBhStd
+ integer :: i
+ end type
+ type, extends(ncBhStd) :: ncBhStde
+ integer :: i2(2)
+ end type
+ type :: tn
+ integer :: i ! Add an extra component to test offset
+ class (ncBhStd), allocatable, dimension(:) :: cBh
+ end type
+ integer :: i
+ type(tn), target :: a
+ allocate (a%cBh(2), source = [(ncBhStde(i*99, [1,2]), i = 1,2)])
+ select type (q => a%cBh(2)) ! Similarly, reference 2nd element to test offset
+ type is (ncBhStd)
+ call abort
+ type is (ncBhStde)
+ if (q%i .ne. 198) call abort ! This tests that the component really gets the
+ end select ! language specific flag denoting a class type
+end
+
+subroutine pr54992 ! This test remains as the original.
+ use G_Nodes
+ implicit none
+ type (tn), target :: b
+ class(ncBh), pointer :: bh
+ class(ncBh), allocatable, dimension(:) :: t
+ allocate(b%cBh(1),source=defaultBhC)
+ b%cBh(1)%hostNode => b
+! #1 this worked
+ if (loc(b) .ne. loc(b%cBh(1)%hostNode)) call abort
+ call Node_C_Bh_Move(b)
+! #2 this worked
+ if (loc(b) .ne. loc(b%cBh(1)%hostNode)) call abort
+ if (loc(b) .ne. loc(b%cBh(2)%hostNode)) call abort
+! #3 this did not
+ bh => bhGet(b,instance=1)
+ if (loc (b) .ne. loc(bh%hostNode)) call abort
+ bh => bhGet(b,instance=2)
+ if (loc (b) .ne. loc(bh%hostNode)) call abort
+end
diff --git a/gcc/testsuite/gfortran.dg/graphite/graphite.exp b/gcc/testsuite/gfortran.dg/graphite/graphite.exp
index 73c2aeed42f..8dfe0d3ff89 100644
--- a/gcc/testsuite/gfortran.dg/graphite/graphite.exp
+++ b/gcc/testsuite/gfortran.dg/graphite/graphite.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2010, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gfortran.dg/null_7.f90 b/gcc/testsuite/gfortran.dg/null_7.f90
new file mode 100644
index 00000000000..d6d77d2b0a4
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/null_7.f90
@@ -0,0 +1,20 @@
+! { dg-do compile }
+!
+! PR fortran/55763
+!
+
+implicit none
+integer, pointer :: x
+class(*), pointer :: y
+integer, pointer :: p1 => null(x) ! { dg-error "NULL.. initialization at .1. may not have MOLD" }
+integer, pointer :: p2 => null(mold=x) ! { dg-error "NULL.. initialization at .1. may not have MOLD" }
+class(*), pointer :: p3 =>null(x) ! { dg-error "NULL.. initialization at .1. may not have MOLD" }
+type t
+ real, pointer :: a1 => null(x) ! { dg-error "NULL.. initialization at .1. may not have MOLD" }
+ real, pointer :: a2 => null ( mold = x) ! { dg-error "NULL.. initialization at .1. may not have MOLD" }
+ class(*), pointer :: a3 => null(mold = x ) ! { dg-error "NULL.. initialization at .1. may not have MOLD" }
+end type t
+
+x => null(x) ! OK
+y => null(y) ! OK
+end
diff --git a/gcc/testsuite/gfortran.dg/select_type_31.f03 b/gcc/testsuite/gfortran.dg/select_type_31.f03
new file mode 100644
index 00000000000..a2858121957
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/select_type_31.f03
@@ -0,0 +1,52 @@
+! { dg-do compile }
+! { dg-options "-fcoarray=single" }
+! Test the fix for PR55172.
+!
+! Contributed by Arjen Markus <arjen.markus@deltares.nl>
+!
+module gn
+ type :: ncb
+ end type ncb
+ type, public :: tn
+ class(ncb), allocatable, dimension(:) :: cb
+ end type tn
+contains
+ integer function name(self)
+ implicit none
+ class (tn), intent(in) :: self
+ select type (component => self%cb(i)) ! { dg-error "has no IMPLICIT type" }
+ end select
+ end function name
+end module gn
+
+! Further issues, raised by Tobias Burnus in the course of fixing the PR
+
+module gn1
+ type :: ncb1
+ end type ncb1
+ type, public :: tn1
+ class(ncb1), allocatable, dimension(:) :: cb
+ end type tn1
+contains
+ integer function name(self)
+ implicit none
+ class (tn1), intent(in) :: self
+ select type (component => self%cb([4,7+1])) ! { dg-error "needs a temporary" }
+ end select
+ end function name
+end module gn1
+
+module gn2
+ type :: ncb2
+ end type ncb2
+ type, public :: tn2
+ class(ncb2), allocatable :: cb[:]
+ end type tn2
+contains
+ integer function name(self)
+ implicit none
+ class (tn2), intent(in) :: self
+ select type (component => self%cb[4]) ! { dg-error "must not be coindexed" }
+ end select
+ end function name
+end module gn2
diff --git a/gcc/testsuite/gfortran.dg/unlimited_polymorphic_3.f03 b/gcc/testsuite/gfortran.dg/unlimited_polymorphic_3.f03
index 5ed98974d7c..05a4b3f54ec 100644
--- a/gcc/testsuite/gfortran.dg/unlimited_polymorphic_3.f03
+++ b/gcc/testsuite/gfortran.dg/unlimited_polymorphic_3.f03
@@ -28,9 +28,7 @@ contains
end type t
type(t), pointer :: x
class(*), pointer :: ptr1 => null() ! pointer initialization
- class(*), pointer :: ptr2 => null(x) ! pointer initialization
if (same_type_as (ptr1, x) .neqv. .FALSE.) call abort
- if (same_type_as (ptr2, x) .neqv. .TRUE.) call abort
end subroutine bar
end program main
diff --git a/gcc/testsuite/gfortran.dg/unlimited_polymorphic_7.f90 b/gcc/testsuite/gfortran.dg/unlimited_polymorphic_7.f90
new file mode 100644
index 00000000000..3bd4d4d7340
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/unlimited_polymorphic_7.f90
@@ -0,0 +1,19 @@
+! { dg-do compile }
+!
+! PR fortran/55763
+!
+! Contributed by Harald Anlauf
+!
+
+module gfcbug121
+ implicit none
+ type myobj
+ class(*), allocatable :: x
+ contains
+ procedure :: print
+ end type myobj
+contains
+ subroutine print(this)
+ class(myobj) :: this
+ end subroutine print
+end module gfcbug121
diff --git a/gcc/testsuite/gfortran.dg/unlimited_polymorphic_8.f90 b/gcc/testsuite/gfortran.dg/unlimited_polymorphic_8.f90
new file mode 100644
index 00000000000..e0fa931eb4a
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/unlimited_polymorphic_8.f90
@@ -0,0 +1,20 @@
+! { dg-do compile }
+! { dg-options "-fdump-tree-original" }
+!
+! PR fortran/55854
+!
+! Contributed by Damian Rouson
+!
+
+ type foo
+ class(*), allocatable :: x
+ end type
+contains
+ subroutine bar(this)
+ type(foo), intent(out) :: this
+ end
+end
+
+! { dg-final { scan-tree-dump-times "foo.0.x._data = 0B;" 1 "original" } }
+! { dg-final { scan-tree-dump-times "foo.0.x._vptr = .* &__vtab__.tar;" 1 "original" } }
+! { dg-final { cleanup-tree-dump "optimized" } }
diff --git a/gcc/testsuite/gfortran.dg/use_22.f90 b/gcc/testsuite/gfortran.dg/use_22.f90
new file mode 100644
index 00000000000..d61df671322
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/use_22.f90
@@ -0,0 +1,35 @@
+! { dg-do compile }
+!
+! PR fortran/55827
+! gfortran used to ICE with the call to `tostring' depending on how the
+! `tostring' symbol was USE-associated.
+!
+! Contributed by Lorenz Hüdepohl <bugs@stellardeath.org>
+
+module stringutils
+ interface
+ pure function strlen(handle) result(len)
+ integer, intent(in) :: handle
+ integer :: len
+ end function
+ end interface
+end module
+module intermediate ! does not die if this module is merged with stringutils
+ contains
+ function tostring(handle) result(string)
+ use stringutils
+ integer, intent(in) :: handle
+ character(len=strlen(handle)) :: string
+ end function
+end module
+module usage
+ contains
+ subroutine dies_here(handle)
+ use stringutils ! does not die if this unnecessary line is omitted or placed after "use intermediate"
+ use intermediate
+ integer :: handle
+ write(*,*) tostring(handle) ! ICE
+ end subroutine
+end module
+
+
diff --git a/gcc/testsuite/gfortran.dg/use_23.f90 b/gcc/testsuite/gfortran.dg/use_23.f90
new file mode 100644
index 00000000000..da05e1a8e20
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/use_23.f90
@@ -0,0 +1,42 @@
+! { dg-do compile }
+!
+! PR fortran/42769
+! This test used to ICE in resolve_typebound_procedure because T1's GET
+! procedure was wrongly associated to MOD2's MY_GET (instead of the original
+! MOD1's MY_GET) in MOD3's SUB.
+!
+! Original testcase by Salvator Filippone <sfilippone@uniroma2.it>
+! Reduced by Janus Weil <janus@gcc.gnu.org>
+
+module mod1
+ type :: t1
+ contains
+ procedure, nopass :: get => my_get
+ end type
+contains
+ logical function my_get()
+ end function
+end module
+
+module mod2
+contains
+ logical function my_get()
+ end function
+end module
+
+module mod3
+contains
+ subroutine sub(a)
+ use mod2, only: my_get
+ use mod1, only: t1
+ type(t1) :: a
+ end subroutine
+end module
+
+
+use mod2, only: my_get
+use mod3, only: sub
+end
+
+
+
diff --git a/gcc/testsuite/gfortran.dg/use_24.f90 b/gcc/testsuite/gfortran.dg/use_24.f90
new file mode 100644
index 00000000000..b709347b0fd
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/use_24.f90
@@ -0,0 +1,53 @@
+! { dg-do run }
+!
+! PR fortran/42769
+! The static resolution of A%GET used to be incorrectly simplified to MOD2's
+! MY_GET instead of the original MOD1's MY_GET, depending on the order in which
+! MOD1 and MOD2 were use-associated.
+!
+! Original testcase by Salvator Filippone <sfilippone@uniroma2.it>
+! Reduced by Janus Weil <janus@gcc.gnu.org>
+
+module mod1
+ type :: t1
+ contains
+ procedure, nopass :: get => my_get
+ end type
+contains
+ subroutine my_get(i)
+ i = 2
+ end subroutine
+end module
+
+module mod2
+contains
+ subroutine my_get(i) ! must have the same name as the function in mod1
+ i = 5
+ end subroutine
+end module
+
+
+ call test1()
+ call test2()
+
+contains
+
+ subroutine test1()
+ use mod2
+ use mod1
+ type(t1) :: a
+ call a%get(j)
+ if (j /= 2) call abort
+ end subroutine test1
+
+ subroutine test2()
+ use mod1
+ use mod2
+ type(t1) :: a
+ call a%get(j)
+ if (j /= 2) call abort
+ end subroutine test2
+end
+
+
+
diff --git a/gcc/testsuite/gfortran.dg/use_25.f90 b/gcc/testsuite/gfortran.dg/use_25.f90
new file mode 100644
index 00000000000..b79297f9fce
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/use_25.f90
@@ -0,0 +1,39 @@
+! { dg-do compile }
+!
+! PR fortran/42769
+! This test used to be rejected because the typebound call A%GET was
+! simplified to MY_GET which is an ambiguous name in the main program
+! namespace.
+!
+! Original testcase by Salvator Filippone <sfilippone@uniroma2.it>
+! Reduced by Janus Weil <janus@gcc.gnu.org>
+
+module mod1
+ type :: t1
+ contains
+ procedure, nopass :: get => my_get
+ end type
+contains
+ subroutine my_get()
+ print *,"my_get (mod1)"
+ end subroutine
+end module
+
+module mod2
+contains
+ subroutine my_get() ! must have the same name as the function in mod1
+ print *,"my_get (mod2)"
+ end subroutine
+end module
+
+ use mod2
+ use mod1
+ type(t1) :: a
+ call call_get
+ contains
+ subroutine call_get
+ call a%get()
+ end subroutine call_get
+end
+
+
diff --git a/gcc/testsuite/gfortran.dg/use_26.f90 b/gcc/testsuite/gfortran.dg/use_26.f90
new file mode 100644
index 00000000000..2e66401a14c
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/use_26.f90
@@ -0,0 +1,76 @@
+! { dg-do compile }
+!
+! PR fortran/45836
+! The B_TYPE_INSTANCE%SIZERETURN() typebound function used to be rejected on a
+! type mismatch because the function was resolved to A's SIZERETURN instead of
+! B's because of the ambiguity of the SIZERETURN name in the MAIN namespace.
+!
+! Original testcase by someone <ortp21@gmail.com>
+
+module A
+implicit none
+ type :: a_type
+ private
+ integer :: size = 1
+ contains
+ procedure :: sizeReturn
+ end type a_type
+ contains
+ function sizeReturn( a_type_ )
+ implicit none
+ integer :: sizeReturn
+ class(a_type) :: a_type_
+
+ sizeReturn = a_type_%size
+ end function sizeReturn
+end module A
+
+module B
+implicit none
+ type :: b_type
+ private
+ integer :: size = 2
+ contains
+ procedure :: sizeReturn
+ end type b_type
+ contains
+ function sizeReturn( b_type_ )
+ implicit none
+ integer :: sizeReturn
+ class(b_type) :: b_type_
+
+ sizeReturn = b_type_%size
+ end function sizeReturn
+end module B
+
+program main
+
+ call test1
+ call test2
+
+contains
+
+ subroutine test1
+ use A
+ use B
+ implicit none
+ type(a_type) :: a_type_instance
+ type(b_type) :: b_type_instance
+
+ print *, a_type_instance%sizeReturn()
+ print *, b_type_instance%sizeReturn()
+ end subroutine test1
+
+ subroutine test2
+ use B
+ use A
+ implicit none
+ type(a_type) :: a_type_instance
+ type(b_type) :: b_type_instance
+
+ print *, a_type_instance%sizeReturn()
+ print *, b_type_instance%sizeReturn()
+ end subroutine test2
+end program main
+
+
diff --git a/gcc/testsuite/gfortran.dg/use_27.f90 b/gcc/testsuite/gfortran.dg/use_27.f90
new file mode 100644
index 00000000000..71d77cc0180
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/use_27.f90
@@ -0,0 +1,103 @@
+! { dg-do run }
+!
+! PR fortran/45900
+! The BTYPEINSTANCE%CALLBACK() typebound call was resolved incorrectly to
+! A's CALLBACK procedure instead of B's because the CALLBACK name is ambiguous
+! in the MAIN namespace.
+!
+! Original testcase by someone <ortp21@gmail.com>
+
+module A
+implicit none
+ type :: aType
+ contains
+ procedure :: callback
+ end type aType
+ contains
+ subroutine callback( callback_, i )
+ implicit none
+ class(aType) :: callback_
+ integer :: i
+
+ i = 3
+ end subroutine callback
+
+ subroutine solver( callback_, i )
+ implicit none
+ class(aType) :: callback_
+ integer :: i
+
+ call callback_%callback(i)
+ end subroutine solver
+end module A
+
+module B
+use A, only: aType
+implicit none
+ type, extends(aType) :: bType
+ integer :: i
+ contains
+ procedure :: callback
+ end type bType
+ contains
+ subroutine callback( callback_, i )
+ implicit none
+ class(bType) :: callback_
+ integer :: i
+
+ i = 7
+ end subroutine callback
+end module B
+
+program main
+ call test1()
+ call test2()
+
+contains
+
+ subroutine test1
+ use A
+ use B
+ implicit none
+ type(aType) :: aTypeInstance
+ type(bType) :: bTypeInstance
+ integer :: iflag
+
+ bTypeInstance%i = 4
+
+ iflag = 0
+ call bTypeInstance%callback(iflag)
+ if (iflag /= 7) call abort
+ iflag = 1
+ call solver( bTypeInstance, iflag )
+ if (iflag /= 7) call abort
+
+ iflag = 2
+ call aTypeInstance%callback(iflag)
+ if (iflag /= 3) call abort
+ end subroutine test1
+
+ subroutine test2
+ use B
+ use A
+ implicit none
+ type(aType) :: aTypeInstance
+ type(bType) :: bTypeInstance
+ integer :: iflag
+
+ bTypeInstance%i = 4
+
+ iflag = 0
+ call bTypeInstance%callback(iflag)
+ if (iflag /= 7) call abort
+ iflag = 1
+ call solver( bTypeInstance, iflag )
+ if (iflag /= 7) call abort
+
+ iflag = 2
+ call aTypeInstance%callback(iflag)
+ if (iflag /= 3) call abort
+ end subroutine test2
+end program main
+
+
diff --git a/gcc/testsuite/gfortran.fortran-torture/compile/compile.exp b/gcc/testsuite/gfortran.fortran-torture/compile/compile.exp
index 5bc8d7fb876..91e5f41bd15 100644
--- a/gcc/testsuite/gfortran.fortran-torture/compile/compile.exp
+++ b/gcc/testsuite/gfortran.fortran-torture/compile/compile.exp
@@ -1,5 +1,5 @@
# Expect driver script for GCC Regression Tests
-# Copyright (C) 2003, 2007, 2008 Free Software Foundation
+# Copyright (C) 2003, 2007, 2008, 2012 Free Software Foundation
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/execute.exp b/gcc/testsuite/gfortran.fortran-torture/execute/execute.exp
index d9f0a1bedfd..c2022f61c7f 100644
--- a/gcc/testsuite/gfortran.fortran-torture/execute/execute.exp
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/execute.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2003, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2007, 2008, 2012 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/testsuite/gnat.dg/alignment10.adb b/gcc/testsuite/gnat.dg/alignment10.adb
new file mode 100644
index 00000000000..61779f1d7b4
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/alignment10.adb
@@ -0,0 +1,20 @@
+-- { dg-do run }
+
+procedure Alignment10 is
+
+ type Short_T is mod 2 ** 16;
+ for Short_T'Size use 16;
+ for Short_T'Alignment use 1;
+
+ subtype Short_Sub_T is Short_T range 1000 .. 1005;
+
+ A : aliased Short_T := 1000;
+ B : Short_Sub_T;
+ for B'Address use A'Address;
+ pragma Import (Ada, B);
+
+begin
+ if B /= 1000 then
+ raise Program_Error;
+ end if;
+end;
diff --git a/gcc/testsuite/gnat.dg/specs/clause_on_volatile.ads b/gcc/testsuite/gnat.dg/specs/clause_on_volatile.ads
new file mode 100644
index 00000000000..4a046c15cba
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/specs/clause_on_volatile.ads
@@ -0,0 +1,85 @@
+-- { dg-do compile }
+
+package Clause_On_Volatile is
+
+ type U8 is mod 2 ** 8;
+
+ type Word is record
+ A, B : U8;
+ end record;
+ For Word'Alignment use 4;
+
+ type Vword is new Word;
+ For Vword'Alignment use 4;
+ pragma Volatile (Vword);
+
+ type Aword is new Word;
+ For Aword'Alignment use 4;
+ pragma Atomic (Aword);
+
+ type R1 is record
+ W : Word;
+ end record;
+ for R1 use record
+ W at 0 range 0 .. 15; -- OK, packing regular
+ end record;
+
+ type A1 is record
+ AW : Aword;
+ end record;
+ For A1'Alignment use 4;
+ for A1 use record
+ AW at 0 range 0 .. 15; -- { dg-error "must be natural size" }
+ end record;
+
+ type A2 is record
+ B : U8;
+ AW : Aword;
+ end record;
+ For A2'Alignment use 4;
+ for A2 use record
+ B at 0 range 0 .. 7;
+ AW at 1 range 0 .. 31; -- { dg-error "must be multiple" }
+ end record;
+
+ type A3 is record
+ B : U8;
+ AW : Aword;
+ end record;
+ For A3'Alignment use 4;
+ for A3 use record
+ B at 0 range 0 .. 7;
+ AW at 1 range 0 .. 15; -- { dg-error "must be (multiple|natural size)" }
+ end record;
+
+ --
+
+ type V1 is record
+ VW : Vword;
+ end record;
+ For V1'Alignment use 4;
+ for V1 use record
+ VW at 0 range 0 .. 15; -- { dg-error "must be natural size" }
+ end record;
+
+ type V2 is record
+ B : U8;
+ VW : Vword;
+ end record;
+ For V2'Alignment use 4;
+ for V2 use record
+ B at 0 range 0 .. 7;
+ VW at 1 range 0 .. 31; -- { dg-error "must be multiple" }
+ end record;
+
+ type V3 is record
+ B : U8;
+ VW : Vword;
+ end record;
+ For V3'Alignment use 4;
+ for V3 use record
+ B at 0 range 0 .. 7;
+ VW at 1 range 0 .. 15; -- { dg-error "must be (multiple|natural size)" }
+ end record;
+
+end Clause_On_Volatile;
diff --git a/gcc/testsuite/obj-c++.dg/property/property.exp b/gcc/testsuite/obj-c++.dg/property/property.exp
index 468e34b37dc..133ff658f6a 100644
--- a/gcc/testsuite/obj-c++.dg/property/property.exp
+++ b/gcc/testsuite/obj-c++.dg/property/property.exp
@@ -1,5 +1,5 @@
# GCC Objective-C++ testsuite that uses the `dg.exp' driver.
-# Copyright (C) 2004, 2007, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2007, 2010, 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/gcc/timevar.c b/gcc/timevar.c
index 2d1fe72ce99..3afcf987257 100644
--- a/gcc/timevar.c
+++ b/gcc/timevar.c
@@ -1,5 +1,5 @@
/* Timing variables for measuring compiler performance.
- Copyright (C) 2000, 2003, 2004, 2005, 2007, 2010
+ Copyright (C) 2000, 2003, 2004, 2005, 2007, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Alex Samuel <samuel@codesourcery.com>
diff --git a/gcc/timevar.def b/gcc/timevar.def
index 3ad8ba2d7b5..b8cb01a5522 100644
--- a/gcc/timevar.def
+++ b/gcc/timevar.def
@@ -1,7 +1,7 @@
/* This file contains the definitions for timing variables used to
measure run-time performance of the compiler.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010, 2011
+ 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Alex Samuel <samuel@codesourcery.com>
diff --git a/gcc/timevar.h b/gcc/timevar.h
index dad9dfdf2b0..efdf1835deb 100644
--- a/gcc/timevar.h
+++ b/gcc/timevar.h
@@ -1,5 +1,5 @@
/* Timing variables for measuring compiler performance.
- Copyright (C) 2000, 2003, 2004, 2005, 2007, 2009, 2010
+ Copyright (C) 2000, 2003, 2004, 2005, 2007, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Alex Samuel <samuel@codesourcery.com>
diff --git a/gcc/tlink.c b/gcc/tlink.c
index 2ec0f876131..b0ea8750851 100644
--- a/gcc/tlink.c
+++ b/gcc/tlink.c
@@ -2,7 +2,7 @@
them.
Copyright (C) 1995, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2007, 2008,
- 2009, 2010, 2011 Free Software Foundation, Inc.
+ 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Jason Merrill (jason@cygnus.com).
This file is part of GCC.
diff --git a/gcc/toplev.h b/gcc/toplev.h
index 9a41e075371..5403e7522eb 100644
--- a/gcc/toplev.h
+++ b/gcc/toplev.h
@@ -1,6 +1,6 @@
/* toplev.h - Various declarations for functions found in toplev.c
Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007,
- 2008, 2009, 2010
+ 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tracer.c b/gcc/tracer.c
index b13e3a1b03f..6465ed43fc6 100644
--- a/gcc/tracer.c
+++ b/gcc/tracer.c
@@ -1,7 +1,7 @@
/* The tracer pass for the GNU compiler.
Contributed by Jan Hubicka, SuSE Labs.
Adapted to work on GIMPLE instead of RTL by Robert Kidd, UIUC.
- Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/trans-mem.h b/gcc/trans-mem.h
index 58ad2a2914d..05f84f9a38e 100644
--- a/gcc/trans-mem.h
+++ b/gcc/trans-mem.h
@@ -1,5 +1,5 @@
/* Miscellaneous transactional memory support definitions.
- Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-affine.c b/gcc/tree-affine.c
index 456670d01e9..67b5feee288 100644
--- a/gcc/tree-affine.c
+++ b/gcc/tree-affine.c
@@ -1,5 +1,6 @@
/* Operations with affine combinations of trees.
- Copyright (C) 2005, 2007, 2008, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2008, 2010, 2011, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-affine.h b/gcc/tree-affine.h
index 4d3a49df032..fbdc7cec203 100644
--- a/gcc/tree-affine.h
+++ b/gcc/tree-affine.h
@@ -1,5 +1,5 @@
/* Operations with affine combinations of trees.
- Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2008, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-call-cdce.c b/gcc/tree-call-cdce.c
index 273aed20a93..8bb9f15b98d 100644
--- a/gcc/tree-call-cdce.c
+++ b/gcc/tree-call-cdce.c
@@ -1,5 +1,5 @@
/* Conditional Dead Call Elimination pass for the GNU compiler.
- Copyright (C) 2008, 2009, 2010
+ Copyright (C) 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Xinliang David Li <davidxl@google.com>
diff --git a/gcc/tree-chrec.c b/gcc/tree-chrec.c
index c9c3f7f0275..3b1516b3285 100644
--- a/gcc/tree-chrec.c
+++ b/gcc/tree-chrec.c
@@ -1,5 +1,5 @@
/* Chains of recurrences.
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Sebastian Pop <pop@cri.ensmp.fr>
diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c
index 4b278a728ce..16f47ba59f2 100644
--- a/gcc/tree-complex.c
+++ b/gcc/tree-complex.c
@@ -1,5 +1,5 @@
/* Lower complex number operations to scalar operations.
- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c
index 98f243c4328..fc76d89d298 100644
--- a/gcc/tree-data-ref.c
+++ b/gcc/tree-data-ref.c
@@ -217,16 +217,18 @@ dump_conflict_function (FILE *outf, conflict_function *cf)
unsigned i;
if (cf->n == NO_DEPENDENCE)
- fprintf (outf, "no dependence\n");
+ fprintf (outf, "no dependence");
else if (cf->n == NOT_KNOWN)
- fprintf (outf, "not known\n");
+ fprintf (outf, "not known");
else
{
for (i = 0; i < cf->n; i++)
{
+ if (i != 0)
+ fprintf (outf, " ");
fprintf (outf, "[");
dump_affine_function (outf, cf->fns[i]);
- fprintf (outf, "]\n");
+ fprintf (outf, "]");
}
}
}
@@ -244,24 +246,23 @@ dump_subscript (FILE *outf, struct subscript *subscript)
if (CF_NONTRIVIAL_P (cf))
{
tree last_iteration = SUB_LAST_CONFLICT (subscript);
- fprintf (outf, " last_conflict: ");
- print_generic_stmt (outf, last_iteration, 0);
+ fprintf (outf, "\n last_conflict: ");
+ print_generic_expr (outf, last_iteration, 0);
}
cf = SUB_CONFLICTS_IN_B (subscript);
- fprintf (outf, " iterations_that_access_an_element_twice_in_B: ");
+ fprintf (outf, "\n iterations_that_access_an_element_twice_in_B: ");
dump_conflict_function (outf, cf);
if (CF_NONTRIVIAL_P (cf))
{
tree last_iteration = SUB_LAST_CONFLICT (subscript);
- fprintf (outf, " last_conflict: ");
- print_generic_stmt (outf, last_iteration, 0);
+ fprintf (outf, "\n last_conflict: ");
+ print_generic_expr (outf, last_iteration, 0);
}
- fprintf (outf, " (Subscript distance: ");
- print_generic_stmt (outf, SUB_DISTANCE (subscript), 0);
- fprintf (outf, " )\n");
- fprintf (outf, " )\n");
+ fprintf (outf, "\n (Subscript distance: ");
+ print_generic_expr (outf, SUB_DISTANCE (subscript), 0);
+ fprintf (outf, " ))\n");
}
/* Print the classic direction vector DIRV to OUTF. */
@@ -1508,13 +1509,6 @@ static inline void
finalize_ddr_dependent (struct data_dependence_relation *ddr,
tree chrec)
{
- if (dump_file && (dump_flags & TDF_DETAILS))
- {
- fprintf (dump_file, "(dependence classified: ");
- print_generic_expr (dump_file, chrec, 0);
- fprintf (dump_file, ")\n");
- }
-
DDR_ARE_DEPENDENT (ddr) = chrec;
free_subscripts (DDR_SUBSCRIPTS (ddr));
DDR_SUBSCRIPTS (ddr).create (0);
@@ -2648,8 +2642,7 @@ end_analyze_subs_aa:
dump_conflict_function (dump_file, *overlaps_a);
fprintf (dump_file, ")\n (overlaps_b = ");
dump_conflict_function (dump_file, *overlaps_b);
- fprintf (dump_file, ")\n");
- fprintf (dump_file, ")\n");
+ fprintf (dump_file, "))\n");
}
}
@@ -2770,7 +2763,7 @@ analyze_siv_subscript (tree chrec_a,
{
siv_subscript_dontknow:;
if (dump_file && (dump_flags & TDF_DETAILS))
- fprintf (dump_file, "siv test failed: unimplemented.\n");
+ fprintf (dump_file, " siv test failed: unimplemented");
*overlaps_a = conflict_fn_not_known ();
*overlaps_b = conflict_fn_not_known ();
*last_conflicts = chrec_dont_know;
@@ -2995,8 +2988,7 @@ analyze_overlapping_iterations (tree chrec_a,
dump_conflict_function (dump_file, *overlap_iterations_a);
fprintf (dump_file, ")\n (overlap_iterations_b = ");
dump_conflict_function (dump_file, *overlap_iterations_b);
- fprintf (dump_file, ")\n");
- fprintf (dump_file, ")\n");
+ fprintf (dump_file, "))\n");
}
}
@@ -3555,19 +3547,12 @@ static void
subscript_dependence_tester (struct data_dependence_relation *ddr,
struct loop *loop_nest)
{
-
- if (dump_file && (dump_flags & TDF_DETAILS))
- fprintf (dump_file, "(subscript_dependence_tester \n");
-
if (subscript_dependence_tester_1 (ddr, DDR_A (ddr), DDR_B (ddr), loop_nest))
dependence_stats.num_dependence_dependent++;
compute_subscript_distance (ddr);
if (build_classic_dist_vector (ddr, loop_nest))
build_classic_dir_vector (ddr);
-
- if (dump_file && (dump_flags & TDF_DETAILS))
- fprintf (dump_file, ")\n");
}
/* Returns true when all the access functions of A are affine or
@@ -4147,11 +4132,11 @@ compute_affine_dependence (struct data_dependence_relation *ddr,
if (access_functions_are_affine_or_constant_p (dra, loop_nest)
&& access_functions_are_affine_or_constant_p (drb, loop_nest))
{
+ subscript_dependence_tester (ddr, loop_nest);
+
if (flag_check_data_deps)
{
- /* Compute the dependences using the first algorithm. */
- subscript_dependence_tester (ddr, loop_nest);
-
+ /* Dump the dependences from the first algorithm. */
if (dump_file && (dump_flags & TDF_DETAILS))
{
fprintf (dump_file, "\n\nBanerjee Analyzer\n");
@@ -4187,8 +4172,6 @@ compute_affine_dependence (struct data_dependence_relation *ddr,
dir_vects));
}
}
- else
- subscript_dependence_tester (ddr, loop_nest);
}
/* As a last case, if the dependence cannot be determined, or if
diff --git a/gcc/tree-dfa.c b/gcc/tree-dfa.c
index 3bba8d3f8e2..2384006d82b 100644
--- a/gcc/tree-dfa.c
+++ b/gcc/tree-dfa.c
@@ -1,6 +1,6 @@
/* Data flow functions for trees.
- Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-diagnostic.c b/gcc/tree-diagnostic.c
index 7c63069efc1..f0fefa0a7ff 100644
--- a/gcc/tree-diagnostic.c
+++ b/gcc/tree-diagnostic.c
@@ -2,7 +2,7 @@
Collection that are only for use in the compilers proper and not
the driver or other programs.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010 Free Software Foundation, Inc.
+ 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-diagnostic.h b/gcc/tree-diagnostic.h
index 819792caaa7..69c02a7033b 100644
--- a/gcc/tree-diagnostic.h
+++ b/gcc/tree-diagnostic.h
@@ -2,7 +2,7 @@
subroutines that are only for use in the compilers proper and not
the driver or other programs.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
- 2010, Free Software Foundation, Inc.
+ 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c
index 8cc624b764c..e3dfb25285c 100644
--- a/gcc/tree-eh.c
+++ b/gcc/tree-eh.c
@@ -1,5 +1,5 @@
/* Exception handling semantics and decomposition for trees.
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-flow-inline.h b/gcc/tree-flow-inline.h
index 64177ce87d7..03a04264e72 100644
--- a/gcc/tree-flow-inline.h
+++ b/gcc/tree-flow-inline.h
@@ -1,5 +1,5 @@
/* Inline functions for tree-flow.h
- Copyright (C) 2001, 2003, 2005, 2006, 2007, 2008, 2010
+ Copyright (C) 2001, 2003, 2005, 2006, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@redhat.com>
diff --git a/gcc/tree-inline.h b/gcc/tree-inline.h
index 38b918c848b..c85d9a98c4d 100644
--- a/gcc/tree-inline.h
+++ b/gcc/tree-inline.h
@@ -1,5 +1,5 @@
/* Tree inlining hooks and declarations.
- Copyright 2001, 2003, 2004, 2005, 2007, 2008, 2009, 2010
+ Copyright 2001, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Alexandre Oliva <aoliva@redhat.com>
diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c
index 33d4c45648c..bb149ce80dd 100644
--- a/gcc/tree-loop-distribution.c
+++ b/gcc/tree-loop-distribution.c
@@ -1,5 +1,5 @@
/* Loop distribution.
- Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Georges-Andre Silber <Georges-Andre.Silber@ensmp.fr>
and Sebastian Pop <sebastian.pop@amd.com>.
diff --git a/gcc/tree-nested.c b/gcc/tree-nested.c
index 30c9cd38fc2..bf7845157f7 100644
--- a/gcc/tree-nested.c
+++ b/gcc/tree-nested.c
@@ -1,5 +1,5 @@
/* Nested function decomposition for GIMPLE.
- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-nomudflap.c b/gcc/tree-nomudflap.c
index 07cf00ff372..eca1acc2bf2 100644
--- a/gcc/tree-nomudflap.c
+++ b/gcc/tree-nomudflap.c
@@ -1,5 +1,5 @@
/* Mudflap: narrow-pointer bounds-checking by tree rewriting.
- Copyright (C) 2001, 2002, 2003, 2007, 2008, 2009, 2010
+ Copyright (C) 2001, 2002, 2003, 2007, 2008, 2009, 2010, 2012
Free Software Foundation, Inc.
Contributed by Frank Ch. Eigler <fche@redhat.com>
diff --git a/gcc/tree-nrv.c b/gcc/tree-nrv.c
index c471a72ae2e..3e144c86e12 100644
--- a/gcc/tree-nrv.c
+++ b/gcc/tree-nrv.c
@@ -1,5 +1,5 @@
/* Language independent return value optimizations
- Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010
+ Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-object-size.c b/gcc/tree-object-size.c
index ffc3fdd1359..1a77ff2347c 100644
--- a/gcc/tree-object-size.c
+++ b/gcc/tree-object-size.c
@@ -1,5 +1,5 @@
/* __builtin_object_size (ptr, object_size_type) computation
- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>
diff --git a/gcc/tree-optimize.c b/gcc/tree-optimize.c
index 48f7d450b10..ec1a6b0dbb1 100644
--- a/gcc/tree-optimize.c
+++ b/gcc/tree-optimize.c
@@ -1,5 +1,5 @@
/* Top-level control of tree optimizations.
- Copyright 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
+ Copyright 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@redhat.com>
diff --git a/gcc/tree-outof-ssa.c b/gcc/tree-outof-ssa.c
index 5119b1d6fcf..b0f25141986 100644
--- a/gcc/tree-outof-ssa.c
+++ b/gcc/tree-outof-ssa.c
@@ -1,5 +1,5 @@
/* Convert a program in SSA form into Normal form.
- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Andrew Macleod <amacleod@redhat.com>
diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h
index 9806d96bc12..94b836b6214 100644
--- a/gcc/tree-pass.h
+++ b/gcc/tree-pass.h
@@ -1,5 +1,5 @@
/* Definitions for describing one tree-ssa optimization pass.
- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>
diff --git a/gcc/tree-phinodes.c b/gcc/tree-phinodes.c
index 2c269647ddf..cec3a7b6142 100644
--- a/gcc/tree-phinodes.c
+++ b/gcc/tree-phinodes.c
@@ -1,5 +1,5 @@
/* Generic routines for manipulating PHIs
- Copyright (C) 2003, 2005, 2007, 2008, 2009, 2010
+ Copyright (C) 2003, 2005, 2007, 2008, 2009, 2010, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c
index ceeaec53825..77f4e850627 100644
--- a/gcc/tree-pretty-print.c
+++ b/gcc/tree-pretty-print.c
@@ -1,6 +1,6 @@
/* Pretty formatting of GENERIC trees in C syntax.
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
- 2011 Free Software Foundation, Inc.
+ 2011, 2012 Free Software Foundation, Inc.
Adapted from c-pretty-print.c by Diego Novillo <dnovillo@redhat.com>
This file is part of GCC.
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c
index 9fc2f79ab89..3702badcd4a 100644
--- a/gcc/tree-scalar-evolution.c
+++ b/gcc/tree-scalar-evolution.c
@@ -1,5 +1,5 @@
/* Scalar evolution detector.
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Sebastian Pop <s.pop@laposte.net>
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index 286ef266920..9c75393afae 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -3087,15 +3087,13 @@ sra_modify_assign (gimple *stmt, gimple_stmt_iterator *gsi)
??? This should move to fold_stmt which we simply should
call after building a VIEW_CONVERT_EXPR here. */
if (AGGREGATE_TYPE_P (TREE_TYPE (lhs))
- && !contains_bitfld_comp_ref_p (lhs)
- && !access_has_children_p (lacc))
+ && !contains_bitfld_comp_ref_p (lhs))
{
lhs = build_ref_for_model (loc, lhs, 0, racc, gsi, false);
gimple_assign_set_lhs (*stmt, lhs);
}
else if (AGGREGATE_TYPE_P (TREE_TYPE (rhs))
- && !contains_vce_or_bfcref_p (rhs)
- && !access_has_children_p (racc))
+ && !contains_vce_or_bfcref_p (rhs))
rhs = build_ref_for_model (loc, rhs, 0, lacc, gsi, false);
if (!useless_type_conversion_p (TREE_TYPE (lhs), TREE_TYPE (rhs)))
diff --git a/gcc/tree-ssa-address.c b/gcc/tree-ssa-address.c
index 3b1e068515a..55e8e8f0b9c 100644
--- a/gcc/tree-ssa-address.c
+++ b/gcc/tree-ssa-address.c
@@ -1,5 +1,5 @@
/* Memory address lowering and addressing mode selection.
- Copyright (C) 2004, 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-copyrename.c b/gcc/tree-ssa-copyrename.c
index 47bb9b87a98..1ceec90a195 100644
--- a/gcc/tree-ssa-copyrename.c
+++ b/gcc/tree-ssa-copyrename.c
@@ -1,5 +1,5 @@
/* Rename SSA copies.
- Copyright (C) 2004, 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2004, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Andrew MacLeod <amacleod@redhat.com>
diff --git a/gcc/tree-ssa-dse.c b/gcc/tree-ssa-dse.c
index 55c37a09438..a616f973b21 100644
--- a/gcc/tree-ssa-dse.c
+++ b/gcc/tree-ssa-dse.c
@@ -1,5 +1,5 @@
/* Dead store elimination
- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-ifcombine.c b/gcc/tree-ssa-ifcombine.c
index 19143b177c3..0a4abfe8083 100644
--- a/gcc/tree-ssa-ifcombine.c
+++ b/gcc/tree-ssa-ifcombine.c
@@ -1,5 +1,6 @@
/* Combining of if-expressions on trees.
- Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
Contributed by Richard Guenther <rguenther@suse.de>
This file is part of GCC.
diff --git a/gcc/tree-ssa-live.c b/gcc/tree-ssa-live.c
index ea6fa592768..e59263b9729 100644
--- a/gcc/tree-ssa-live.c
+++ b/gcc/tree-ssa-live.c
@@ -1,5 +1,5 @@
/* Liveness for SSA trees.
- Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Andrew MacLeod <amacleod@redhat.com>
diff --git a/gcc/tree-ssa-loop-manip.c b/gcc/tree-ssa-loop-manip.c
index 845c40e712a..cabb4acefb2 100644
--- a/gcc/tree-ssa-loop-manip.c
+++ b/gcc/tree-ssa-loop-manip.c
@@ -1,5 +1,5 @@
/* High-level loop manipulation functions.
- Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010
+ Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-loop-prefetch.c b/gcc/tree-ssa-loop-prefetch.c
index 33cf6ec82c6..341e3d8a0b8 100644
--- a/gcc/tree-ssa-loop-prefetch.c
+++ b/gcc/tree-ssa-loop-prefetch.c
@@ -1,5 +1,5 @@
/* Array prefetching.
- Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-loop-unswitch.c b/gcc/tree-ssa-loop-unswitch.c
index b24f3d74dce..349e5a74499 100644
--- a/gcc/tree-ssa-loop-unswitch.c
+++ b/gcc/tree-ssa-loop-unswitch.c
@@ -1,5 +1,6 @@
/* Loop unswitching.
- Copyright (C) 2004, 2005, 2007, 2008, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2005, 2007, 2008, 2010, 2012
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-operands.h b/gcc/tree-ssa-operands.h
index ccacd280b72..cb7a30a58f6 100644
--- a/gcc/tree-ssa-operands.h
+++ b/gcc/tree-ssa-operands.h
@@ -1,5 +1,5 @@
/* SSA operand management for trees.
- Copyright (C) 2003, 2005, 2006, 2007, 2008, 2010
+ Copyright (C) 2003, 2005, 2006, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-phiprop.c b/gcc/tree-ssa-phiprop.c
index fdd19f0e714..f313c5879ca 100644
--- a/gcc/tree-ssa-phiprop.c
+++ b/gcc/tree-ssa-phiprop.c
@@ -1,5 +1,6 @@
/* Backward propagation of indirect loads through PHIs.
- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012
+ Free Software Foundation, Inc.
Contributed by Richard Guenther <rguenther@suse.de>
This file is part of GCC.
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 17877bae1d7..ed8973824a8 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -1,6 +1,6 @@
/* SSA-PRE for trees.
- Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ 2011, 2012 Free Software Foundation, Inc.
Contributed by Daniel Berlin <dan@dberlin.org> and Steven Bosscher
<stevenb@suse.de>
@@ -1729,6 +1729,10 @@ phi_translate_1 (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2,
edge e = find_edge (pred, gimple_bb (def_stmt));
tree def = PHI_ARG_DEF (def_stmt, e->dest_idx);
+ /* Valueize it. */
+ if (TREE_CODE (def) == SSA_NAME)
+ def = VN_INFO (def)->valnum;
+
/* Handle constant. */
if (is_gimple_min_invariant (def))
return get_or_alloc_expr_for_constant (def);
diff --git a/gcc/tree-ssa-sink.c b/gcc/tree-ssa-sink.c
index 1d965d839b3..ef3552b674f 100644
--- a/gcc/tree-ssa-sink.c
+++ b/gcc/tree-ssa-sink.c
@@ -1,5 +1,5 @@
/* Code sinking for trees
- Copyright (C) 2001, 2002, 2003, 2004, 2007, 2008, 2009, 2010
+ Copyright (C) 2001, 2002, 2003, 2004, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Daniel Berlin <dan@dberlin.org>
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c
index 5ff4ce1a7a4..4c3cb329624 100644
--- a/gcc/tree-ssa-structalias.c
+++ b/gcc/tree-ssa-structalias.c
@@ -1,5 +1,5 @@
/* Tree based points-to analysis
- Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Daniel Berlin <dberlin@dberlin.org>
diff --git a/gcc/tree-ssa-ter.c b/gcc/tree-ssa-ter.c
index 3375a2777c9..98ae520b4de 100644
--- a/gcc/tree-ssa-ter.c
+++ b/gcc/tree-ssa-ter.c
@@ -1,5 +1,5 @@
/* Routines for performing Temporary Expression Replacement (TER) in SSA trees.
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Andrew MacLeod <amacleod@redhat.com>
diff --git a/gcc/tree-ssa-uncprop.c b/gcc/tree-ssa-uncprop.c
index 1df7d07308c..1a87c5466c9 100644
--- a/gcc/tree-ssa-uncprop.c
+++ b/gcc/tree-ssa-uncprop.c
@@ -1,5 +1,5 @@
/* Routines for discovering and unpropagating edge equivalences.
- Copyright (C) 2005, 2007, 2008, 2010
+ Copyright (C) 2005, 2007, 2008, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssa-uninit.c b/gcc/tree-ssa-uninit.c
index cdfcd5a8700..cf4e2db4168 100644
--- a/gcc/tree-ssa-uninit.c
+++ b/gcc/tree-ssa-uninit.c
@@ -1,6 +1,6 @@
/* Predicate aware uninitialized variable warning.
- Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2010 Free Software
- Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2010, 2011, 2012
+ Free Software Foundation, Inc.
Contributed by Xinliang David Li <davidxl@google.com>
This file is part of GCC.
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index a1d1bb45f5c..d2ec5389725 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -1,6 +1,6 @@
/* Miscellaneous SSA utility functions.
- Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
- Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011,
+ 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-ssanames.c b/gcc/tree-ssanames.c
index 8738de31b0b..4d6d39d3615 100644
--- a/gcc/tree-ssanames.c
+++ b/gcc/tree-ssanames.c
@@ -1,5 +1,5 @@
/* Generic routines for manipulating SSA_NAME expressions
- Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010
+ Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/tree-stdarg.c b/gcc/tree-stdarg.c
index 121044ec684..2f75a16bd7b 100644
--- a/gcc/tree-stdarg.c
+++ b/gcc/tree-stdarg.c
@@ -1,5 +1,5 @@
/* Pass computing data for optimizing stdarg functions.
- Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010, 2011
+ Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>
diff --git a/gcc/tree-streamer-in.c b/gcc/tree-streamer-in.c
index 73dc73cf383..2b0d2da560b 100644
--- a/gcc/tree-streamer-in.c
+++ b/gcc/tree-streamer-in.c
@@ -1,6 +1,6 @@
/* Routines for reading trees from a file stream.
- Copyright 2011 Free Software Foundation, Inc.
+ Copyright 2011, 2012 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c
index 525426c6d20..0b671dd4472 100644
--- a/gcc/tree-streamer-out.c
+++ b/gcc/tree-streamer-out.c
@@ -1,6 +1,6 @@
/* Routines for emitting trees to a file stream.
- Copyright 2011 Free Software Foundation, Inc.
+ Copyright 2011, 2012 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/tree-streamer.h b/gcc/tree-streamer.h
index c687f032821..3c985cc2741 100644
--- a/gcc/tree-streamer.h
+++ b/gcc/tree-streamer.h
@@ -1,6 +1,6 @@
/* Data structures and functions for streaming trees.
- Copyright 2011 Free Software Foundation, Inc.
+ Copyright 2011, 2012 Free Software Foundation, Inc.
Contributed by Diego Novillo <dnovillo@google.com>
This file is part of GCC.
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index 44fe374f965..1294b6d5c01 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -3576,7 +3576,7 @@ vect_create_addr_base_for_vector_ref (gimple stmt,
stmt_vec_info stmt_info = vinfo_for_stmt (stmt);
struct data_reference *dr = STMT_VINFO_DATA_REF (stmt_info);
tree data_ref_base = unshare_expr (DR_BASE_ADDRESS (dr));
- tree base_name;
+ const char *base_name;
tree data_ref_base_var;
tree vec_stmt;
tree addr_base, addr_expr;
@@ -3601,12 +3601,12 @@ vect_create_addr_base_for_vector_ref (gimple stmt,
}
if (loop_vinfo)
- base_name = build_fold_indirect_ref (data_ref_base);
+ base_name = get_name (data_ref_base);
else
{
base_offset = ssize_int (0);
init = ssize_int (0);
- base_name = build_fold_indirect_ref (unshare_expr (DR_REF (dr)));
+ base_name = get_name (DR_REF (dr));
}
data_ref_base_var = create_tmp_var (TREE_TYPE (data_ref_base), "batmp");
@@ -3654,7 +3654,7 @@ vect_create_addr_base_for_vector_ref (gimple stmt,
vec_stmt = fold_convert (vect_ptr_type, addr_base);
addr_expr = vect_get_new_vect_var (vect_ptr_type, vect_pointer_var,
- get_name (base_name));
+ base_name);
vec_stmt = force_gimple_operand (vec_stmt, &seq, false, addr_expr);
gimple_seq_add_seq (new_stmt_list, seq);
@@ -3729,7 +3729,7 @@ vect_create_data_ref_ptr (gimple stmt, tree aggr_type, struct loop *at_loop,
gimple_stmt_iterator *gsi, gimple *ptr_incr,
bool only_init, bool *inv_p)
{
- tree base_name;
+ const char *base_name;
stmt_vec_info stmt_info = vinfo_for_stmt (stmt);
loop_vec_info loop_vinfo = STMT_VINFO_LOOP_VINFO (stmt_info);
struct loop *loop = NULL;
@@ -3786,23 +3786,22 @@ vect_create_data_ref_ptr (gimple stmt, tree aggr_type, struct loop *at_loop,
/* Create an expression for the first address accessed by this load
in LOOP. */
- base_name = build_fold_indirect_ref (unshare_expr (DR_BASE_ADDRESS (dr)));
+ base_name = get_name (DR_BASE_ADDRESS (dr));
if (dump_enabled_p ())
{
- tree data_ref_base = base_name;
+ tree dr_base_type = TREE_TYPE (DR_BASE_OBJECT (dr));
dump_printf_loc (MSG_NOTE, vect_location,
"create %s-pointer variable to type: ",
tree_code_name[(int) TREE_CODE (aggr_type)]);
dump_generic_expr (MSG_NOTE, TDF_SLIM, aggr_type);
- if (TREE_CODE (data_ref_base) == VAR_DECL
- || TREE_CODE (data_ref_base) == ARRAY_REF)
+ if (TREE_CODE (dr_base_type) == ARRAY_TYPE)
dump_printf (MSG_NOTE, " vectorizing an array ref: ");
- else if (TREE_CODE (data_ref_base) == COMPONENT_REF)
+ else if (TREE_CODE (dr_base_type) == RECORD_TYPE)
dump_printf (MSG_NOTE, " vectorizing a record based array ref: ");
- else if (TREE_CODE (data_ref_base) == SSA_NAME)
+ else
dump_printf (MSG_NOTE, " vectorizing a pointer ref: ");
- dump_generic_expr (MSG_NOTE, TDF_SLIM, base_name);
+ dump_generic_expr (MSG_NOTE, TDF_SLIM, DR_BASE_OBJECT (dr));
}
/* (1) Create the new aggregate-pointer variable. */
@@ -3813,8 +3812,7 @@ vect_create_data_ref_ptr (gimple stmt, tree aggr_type, struct loop *at_loop,
aggr_ptr_type
= build_qualified_type (aggr_ptr_type,
TYPE_QUALS (TREE_TYPE (TREE_OPERAND (base, 0))));
- aggr_ptr = vect_get_new_vect_var (aggr_ptr_type, vect_pointer_var,
- get_name (base_name));
+ aggr_ptr = vect_get_new_vect_var (aggr_ptr_type, vect_pointer_var, base_name);
/* Vector and array types inherit the alias set of their component
type by default so we need to use a ref-all pointer if the data
@@ -3827,7 +3825,7 @@ vect_create_data_ref_ptr (gimple stmt, tree aggr_type, struct loop *at_loop,
= build_pointer_type_for_mode (aggr_type,
TYPE_MODE (aggr_ptr_type), true);
aggr_ptr = vect_get_new_vect_var (aggr_ptr_type, vect_pointer_var,
- get_name (base_name));
+ base_name);
}
/* Likewise for any of the data references in the stmt group. */
@@ -3845,7 +3843,7 @@ vect_create_data_ref_ptr (gimple stmt, tree aggr_type, struct loop *at_loop,
TYPE_MODE (aggr_ptr_type), true);
aggr_ptr
= vect_get_new_vect_var (aggr_ptr_type, vect_pointer_var,
- get_name (base_name));
+ base_name);
break;
}
diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c
index d3f23c995d6..23ef50c5bd7 100644
--- a/gcc/tree-vect-loop-manip.c
+++ b/gcc/tree-vect-loop-manip.c
@@ -1,5 +1,5 @@
/* Vectorizer Specific Loop Manipulations
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Dorit Naishlos <dorit@il.ibm.com>
and Ira Rosen <irar@il.ibm.com>
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index c0b81a77fd6..7ba1fa1b8ea 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -1326,11 +1326,11 @@ vect_analyze_loop_form (struct loop *loop)
before the loop if needed), where the loop header contains all the
executable statements, and the latch is empty. */
if (!empty_block_p (loop->latch)
- || !gimple_seq_empty_p (phi_nodes (loop->latch)))
+ || !gimple_seq_empty_p (phi_nodes (loop->latch)))
{
if (dump_enabled_p ())
dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
- "not vectorized: unexpected loop form.");
+ "not vectorized: latch block not empty.");
if (flag_enable_cilk && pragma_simd_assert_requested_p
(loop->pragma_simd_index))
error_at (vect_location, "loop not vectorized. "
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index 79f8d712db3..ba10cb004cf 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -5235,19 +5235,6 @@ vectorizable_load (gimple stmt, gimple_stmt_iterator *gsi, gimple *vec_stmt,
/* Record the mapping between SSA_NAMEs and statements. */
vect_record_grouped_load_vectors (stmt, dr_chain);
}
- /* Handle invariant-load. */
- else if (inv_p && !bb_vinfo)
- {
- gimple_stmt_iterator gsi2 = *gsi;
- gcc_assert (!grouped_load && !slp_perm);
- gsi_next (&gsi2);
- new_temp = vect_init_vector (stmt, scalar_dest,
- vectype, &gsi2);
- new_stmt = SSA_NAME_DEF_STMT (new_temp);
- /* Store vector loads in the corresponding SLP_NODE. */
- if (slp)
- SLP_TREE_VEC_STMTS (slp_node).quick_push (new_stmt);
- }
else
{
for (i = 0; i < vec_num; i++)
@@ -5395,6 +5382,17 @@ vectorizable_load (gimple stmt, gimple_stmt_iterator *gsi, gimple *vec_stmt,
}
}
+ /* 4. Handle invariant-load. */
+ if (inv_p && !bb_vinfo)
+ {
+ gimple_stmt_iterator gsi2 = *gsi;
+ gcc_assert (!grouped_load);
+ gsi_next (&gsi2);
+ new_temp = vect_init_vector (stmt, scalar_dest,
+ vectype, &gsi2);
+ new_stmt = SSA_NAME_DEF_STMT (new_temp);
+ }
+
if (negative)
{
tree perm_mask = perm_mask_for_reverse (vectype);
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index d4522ccc103..19ef97fd79f 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -1,5 +1,5 @@
/* Vectorizer
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Dorit Naishlos <dorit@il.ibm.com>
diff --git a/gcc/tree.def b/gcc/tree.def
index 1d62918fd2c..e32eba0c0d6 100644
--- a/gcc/tree.def
+++ b/gcc/tree.def
@@ -1,7 +1,7 @@
/* This file contains the definitions and documentation for the
tree codes used in GCC.
Copyright (C) 1987, 1988, 1993, 1995, 1997, 1998, 2000, 2001, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/treestruct.def b/gcc/treestruct.def
index 769cbfa9b36..c60220ee339 100644
--- a/gcc/treestruct.def
+++ b/gcc/treestruct.def
@@ -1,7 +1,7 @@
/* This file contains the definitions for the tree structure
enumeration used in GCC.
-Copyright (C) 2005, 2007, 2008, 2010 Free Software Foundation, Inc.
+Copyright (C) 2005, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/value-prof.h b/gcc/value-prof.h
index 6abe42e6551..168d0c7b4b7 100644
--- a/gcc/value-prof.h
+++ b/gcc/value-prof.h
@@ -1,5 +1,5 @@
/* Definitions for transformations based on profile information for values.
- Copyright (C) 2003, 2004, 2005, 2007, 2008, 2010
+ Copyright (C) 2003, 2004, 2005, 2007, 2008, 2010, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index f5ba115bcfe..9f1a5071f3d 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -1,6 +1,6 @@
/* Variable tracking routines for the GNU compiler.
- Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012
- Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012,
+ 2013 Free Software Foundation, Inc.
This file is part of GCC.
@@ -5545,6 +5545,7 @@ reverse_op (rtx val, const_rtx expr, rtx insn)
cselib_val *v;
struct elt_loc_list *l;
enum rtx_code code;
+ int count;
if (GET_CODE (expr) != SET)
return;
@@ -5586,10 +5587,13 @@ reverse_op (rtx val, const_rtx expr, rtx insn)
/* Adding a reverse op isn't useful if V already has an always valid
location. Ignore ENTRY_VALUE, while it is always constant, we should
prefer non-ENTRY_VALUE locations whenever possible. */
- for (l = v->locs; l; l = l->next)
+ for (l = v->locs, count = 0; l; l = l->next, count++)
if (CONSTANT_P (l->loc)
&& (GET_CODE (l->loc) != CONST || !references_value_p (l->loc, 0)))
return;
+ /* Avoid creating too large locs lists. */
+ else if (count == PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE))
+ return;
switch (GET_CODE (src))
{
diff --git a/gcc/xcoffout.c b/gcc/xcoffout.c
index d0733764bfc..92ff239ac89 100644
--- a/gcc/xcoffout.c
+++ b/gcc/xcoffout.c
@@ -1,6 +1,6 @@
/* Output xcoff-format symbol table information from GNU compiler.
Copyright (C) 1992, 1994, 1995, 1997, 1998, 1999, 2000, 2002, 2003, 2004,
- 2007, 2008, 2010 Free Software Foundation, Inc.
+ 2007, 2008, 2010, 2011, 2012 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/gcc/xcoffout.h b/gcc/xcoffout.h
index 1692279d12b..0f94253b52a 100644
--- a/gcc/xcoffout.h
+++ b/gcc/xcoffout.h
@@ -1,6 +1,6 @@
/* XCOFF definitions. These are needed in dbxout.c, final.c,
and xcoffout.h.
- Copyright (C) 1998, 2000, 2002, 2003, 2004, 2007, 2008
+ Copyright (C) 1998, 2000, 2002, 2003, 2004, 2007, 2008, 2012
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index fc78ca81060..840bad34325 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,15 @@
+2013-01-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/54526 (again)
+ * lex.c (_cpp_lex_direct): In C++11 mode, implement 2.5 p3, bullet 2.
+
+2013-01-03 Marc Glisse <marc.glisse@inria.fr>
+
+ PR bootstrap/50177
+ * line-map.c (get_combined_adhoc_loc): Cast from extern "C" type.
+ (new_linemap): Likewise.
+ (linemap_enter_macro): Likewise.
+
2012-12-03 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/55380
diff --git a/libcpp/lex.c b/libcpp/lex.c
index 23809bc4b0a..866bb1156f1 100644
--- a/libcpp/lex.c
+++ b/libcpp/lex.c
@@ -1,6 +1,6 @@
/* CPP Library - lexical analysis.
- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010,
- 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007-2013
+ Free Software Foundation, Inc.
Contributed by Per Bothner, 1994-95.
Based on CCCP program by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -2290,6 +2290,17 @@ _cpp_lex_direct (cpp_reader *pfile)
{
if (*buffer->cur == ':')
{
+ /* C++11 [2.5/3 lex.pptoken], "Otherwise, if the next
+ three characters are <:: and the subsequent character
+ is neither : nor >, the < is treated as a preprocessor
+ token by itself". */
+ if (CPP_OPTION (pfile, cplusplus)
+ && (CPP_OPTION (pfile, lang) == CLK_CXX11
+ || CPP_OPTION (pfile, lang) == CLK_GNUCXX11)
+ && buffer->cur[1] == ':'
+ && buffer->cur[2] != ':' && buffer->cur[2] != '>')
+ break;
+
buffer->cur++;
result->flags |= DIGRAPH;
result->type = CPP_OPEN_SQUARE;
diff --git a/libcpp/line-map.c b/libcpp/line-map.c
index 61ab0318c03..49b94871baa 100644
--- a/libcpp/line-map.c
+++ b/libcpp/line-map.c
@@ -122,8 +122,10 @@ get_combined_adhoc_loc (struct line_maps *set,
{
char *orig_data = (char *) set->location_adhoc_data_map.data;
long long offset;
- line_map_realloc reallocator
- = set->reallocator ? set->reallocator : xrealloc;
+ /* Cast away extern "C" from the type of xrealloc. */
+ line_map_realloc reallocator = (set->reallocator
+ ? set->reallocator
+ : (line_map_realloc) xrealloc);
if (set->location_adhoc_data_map.allocated == 0)
set->location_adhoc_data_map.allocated = 128;
@@ -217,8 +219,10 @@ new_linemap (struct line_maps *set,
/* We ran out of allocated line maps. Let's allocate more. */
unsigned alloc_size;
- line_map_realloc reallocator
- = set->reallocator ? set->reallocator : xrealloc;
+ /* Cast away extern "C" from the type of xrealloc. */
+ line_map_realloc reallocator = (set->reallocator
+ ? set->reallocator
+ : (line_map_realloc) xrealloc);
line_map_round_alloc_size_func round_alloc_size =
set->round_alloc_size;
@@ -430,8 +434,10 @@ linemap_enter_macro (struct line_maps *set, struct cpp_hashnode *macro_node,
{
struct line_map *map;
source_location start_location;
- line_map_realloc reallocator
- = set->reallocator ? set->reallocator : xrealloc;
+ /* Cast away extern "C" from the type of xrealloc. */
+ line_map_realloc reallocator = (set->reallocator
+ ? set->reallocator
+ : (line_map_realloc) xrealloc);
start_location = LINEMAPS_MACRO_LOWEST_LOCATION (set) - num_tokens;
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index fb9a454ea7a..fd62a7e0cff 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,8 @@
+2013-01-04 Nick Clifton <nickc@redhat.com>
+
+ * config/v850/lib1funcs.S: Only provide CALLT support functions if
+ the CALLT instruction is supported.
+
2012-12-20 Jonathan Wakely <jwakely.gcc@gmail.com>
* gthr.h (__gthread_cond_timedwait_recursive): Do not require.
diff --git a/libgcc/config/v850/lib1funcs.S b/libgcc/config/v850/lib1funcs.S
index 04e9b1e0ad4..45ef1de7dd8 100644
--- a/libgcc/config/v850/lib1funcs.S
+++ b/libgcc/config/v850/lib1funcs.S
@@ -1,27 +1,27 @@
/* libgcc routines for NEC V850.
- Copyright (C) 1996, 1997, 2002, 2005, 2009, 2010
+ Copyright (C) 1996, 1997, 2002, 2005, 2009, 2010, 2013
Free Software Foundation, Inc.
-This file is part of GCC.
+ This file is part of GCC.
-GCC is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3, or (at your option) any
-later version.
+ GCC is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 3, or (at your option) any
+ later version.
-This file is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
+ This file is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
+ Under Section 7 of GPL version 3, you are granted additional
+ permissions described in the GCC Runtime Library Exception, version
+ 3.1, as published by the Free Software Foundation.
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-<http://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU General Public License and
+ a copy of the GCC Runtime Library Exception along with this program;
+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ <http://www.gnu.org/licenses/>. */
#ifdef L_mulsi3
.text
@@ -1764,6 +1764,7 @@ __restore_all_interrupt:
.size __restore_all_interrupt,.-__restore_all_interrupt
#endif /* L_save_all_interrupt */
+#if defined __V850_CALLT__
#if defined(__v850e__) || defined(__v850e1__) || defined(__v850e2__) || defined(__v850e2v3__)
#ifdef L_callt_save_r2_r29
/* Put these functions into the call table area. */
@@ -2146,6 +2147,7 @@ __callt_return_r31c: .short ctoff(.L_callt_return_r31c)
#endif
#endif /* __v850e__ */
+#endif /* __V850_CALLT__ */
/* libgcc2 routines for NEC V850. */
/* Double Integer Arithmetical Operation. */
@@ -2327,4 +2329,3 @@ ___muldi3:
#endif /* defined(__v850e__) */
.size ___muldi3, . - ___muldi3
#endif
-
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 2c4dcbb7e46..a5b4034dc38 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,9 @@
+2013-01-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54678
+ * intrinsics/env.c (get_environment_variable_i8): Don't use
+ uninitialized variable.
+
2013-01-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/55818
@@ -7,1279 +13,8 @@
(read_logical): Likewise.
(read_character): Likewise.
(read_complex): Likewise.
-
-2012-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libfortran/48976
- * io/inquire.c (inquire_via_unit): Set user stream inquiry variable to
- appropriate value based on unit access method. (inquire_via_filename):
- Since filename is not associated with an open unit, set stream inquiry
- to UNKNOWN.
- * io/io.h: Define inquire stream parameters.
-
-2012-12-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libfortran/48960
- * io/open.c (st_parameter_open): Assign newunit number to user
- variable only if the the associated open statement is successful.
-
-2012-12-26 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/55539
- * io/write_float.def (output_float): Take into account decimal
- dot.
-
-2012-12-21 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR libfortran/30162
- * io/unix.c (raw_tell): If the lseek is done on a
- non-seekable file, return 0.
-
-2012-12-20 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/36044
- * gfortran.map: Add _gfortran_backtrace.
- * libgfortran.h: Rename 'show_backtrace' and export.
- * runtime/backtrace.c (show_backtrace): Rename to 'backtrace'.
- Don't show message. Close file descriptor. Export.
- * runtime/compile_options.c (backtrace_handler): Renamed
- 'show_backtrace'. Move message outside.
- * runtime/error.c (sys_abort): Ditto.
-
-2012-12-19 Paul Thomas <pault@gcc.gnu.org>
-
- * intrinsics/extends_type_of.c : Return correct results for
- null vptrs.
-
-2012-12-03 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/55548
- * intrinsics/system_clock.c (gf_gettime_mono): Add argument 'tck',
- which returns the clock resolution.
- (system_clock_4): Get resolution from gf_gettime_mono, but limit to
- 1000/s.
- (system_clock_8): Get resolution from gf_gettime_mono.
-
-2012-10-28 Tobias Burnus <burnus@net-b.de>
-
- * m4/bessel.m4: Remove useless statement.
- * m4/ifunction.m4: Remove unreachable code.
- * generated/bessel_r10.c: Regenerated.
- * generated/bessel_r16.c: Regenerated.
- * generated/bessel_r4.c: Regenerated.
- * generated/bessel_r8.c: Regenerated.
- * generated/iall_i1.c: Regenerated.
- * generated/iall_i16.c: Regenerated.
- * generated/iall_i2.c: Regenerated.
- * generated/iall_i4.c: Regenerated.
- * generated/iall_i8.c: Regenerated.
- * generated/iany_i1.c: Regenerated.
- * generated/iany_i16.c: Regenerated.
- * generated/iany_i2.c: Regenerated.
- * generated/iany_i4.c: Regenerated.
- * generated/iany_i8.c: Regenerated.
- * generated/iparity_i1.c: Regenerated.
- * generated/iparity_i16.c: Regenerated.
- * generated/iparity_i2.c: Regenerated.
- * generated/iparity_i4.c: Regenerated.
- * generated/iparity_i8.c: Regenerated.
- * generated/maxloc1_16_i1.c: Regenerated.
- * generated/maxloc1_16_i16.c: Regenerated.
- * generated/maxloc1_16_i2.c: Regenerated.
- * generated/maxloc1_16_i4.c: Regenerated.
- * generated/maxloc1_16_i8.c: Regenerated.
- * generated/maxloc1_16_r10.c: Regenerated.
- * generated/maxloc1_16_r16.c: Regenerated.
- * generated/maxloc1_16_r4.c: Regenerated.
- * generated/maxloc1_16_r8.c: Regenerated.
- * generated/maxloc1_4_i1.c: Regenerated.
- * generated/maxloc1_4_i16.c: Regenerated.
- * generated/maxloc1_4_i2.c: Regenerated.
- * generated/maxloc1_4_i4.c: Regenerated.
- * generated/maxloc1_4_i8.c: Regenerated.
- * generated/maxloc1_4_r10.c: Regenerated.
- * generated/maxloc1_4_r16.c: Regenerated.
- * generated/maxloc1_4_r4.c: Regenerated.
- * generated/maxloc1_4_r8.c: Regenerated.
- * generated/maxloc1_8_i1.c: Regenerated.
- * generated/maxloc1_8_i16.c: Regenerated.
- * generated/maxloc1_8_i2.c: Regenerated.
- * generated/maxloc1_8_i4.c: Regenerated.
- * generated/maxloc1_8_i8.c: Regenerated.
- * generated/maxloc1_8_r10.c: Regenerated.
- * generated/maxloc1_8_r16.c: Regenerated.
- * generated/maxloc1_8_r4.c: Regenerated.
- * generated/maxloc1_8_r8.c: Regenerated.
- * generated/maxval_i1.c: Regenerated.
- * generated/maxval_i16.c: Regenerated.
- * generated/maxval_i2.c: Regenerated.
- * generated/maxval_i4.c: Regenerated.
- * generated/maxval_i8.c: Regenerated.
- * generated/maxval_r10.c: Regenerated.
- * generated/maxval_r16.c: Regenerated.
- * generated/maxval_r4.c: Regenerated.
- * generated/maxval_r8.c: Regenerated.
- * generated/minloc1_16_i1.c: Regenerated.
- * generated/minloc1_16_i16.c: Regenerated.
- * generated/minloc1_16_i2.c: Regenerated.
- * generated/minloc1_16_i4.c: Regenerated.
- * generated/minloc1_16_i8.c: Regenerated.
- * generated/minloc1_16_r10.c: Regenerated.
- * generated/minloc1_16_r16.c: Regenerated.
- * generated/minloc1_16_r4.c: Regenerated.
- * generated/minloc1_16_r8.c: Regenerated.
- * generated/minloc1_4_i1.c: Regenerated.
- * generated/minloc1_4_i16.c: Regenerated.
- * generated/minloc1_4_i2.c: Regenerated.
- * generated/minloc1_4_i4.c: Regenerated.
- * generated/minloc1_4_i8.c: Regenerated.
- * generated/minloc1_4_r10.c: Regenerated.
- * generated/minloc1_4_r16.c: Regenerated.
- * generated/minloc1_4_r4.c: Regenerated.
- * generated/minloc1_4_r8.c: Regenerated.
- * generated/minloc1_8_i1.c: Regenerated.
- * generated/minloc1_8_i16.c: Regenerated.
- * generated/minloc1_8_i2.c: Regenerated.
- * generated/minloc1_8_i4.c: Regenerated.
- * generated/minloc1_8_i8.c: Regenerated.
- * generated/minloc1_8_r10.c: Regenerated.
- * generated/minloc1_8_r16.c: Regenerated.
- * generated/minloc1_8_r4.c: Regenerated.
- * generated/minloc1_8_r8.c: Regenerated.
- * generated/minval_i1.c: Regenerated.
- * generated/minval_i16.c: Regenerated.
- * generated/minval_i2.c: Regenerated.
- * generated/minval_i4.c: Regenerated.
- * generated/minval_i8.c: Regenerated.
- * generated/minval_r10.c: Regenerated.
- * generated/minval_r16.c: Regenerated.
- * generated/minval_r4.c: Regenerated.
- * generated/minval_r8.c: Regenerated.
- * generated/product_c10.c: Regenerated.
- * generated/product_c16.c: Regenerated.
- * generated/product_c4.c: Regenerated.
- * generated/product_c8.c: Regenerated.
- * generated/product_i1.c: Regenerated.
- * generated/product_i16.c: Regenerated.
- * generated/product_i2.c: Regenerated.
- * generated/product_i4.c: Regenerated.
- * generated/product_i8.c: Regenerated.
- * generated/product_r10.c: Regenerated.
- * generated/product_r16.c: Regenerated.
- * generated/product_r4.c: Regenerated.
- * generated/product_r8.c: Regenerated.
- * generated/sum_c10.c: Regenerated.
- * generated/sum_c16.c: Regenerated.
- * generated/sum_c4.c: Regenerated.
- * generated/sum_c8.c: Regenerated.
- * generated/sum_i1.c: Regenerated.
- * generated/sum_i16.c: Regenerated.
- * generated/sum_i2.c: Regenerated.
- * generated/sum_i4.c: Regenerated.
- * generated/sum_i8.c: Regenerated.
- * generated/sum_r10.c: Regenerated.
- * generated/sum_r16.c: Regenerated.
- * generated/sum_r4.c: Regenerated.
- * generated/sum_r8.c: Regenerated.
-
-2012-10-10 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/54878
- * io/unix.c (tempfile_open): Set umask before calling mkstemp.
-
-2012-10-06 Janne Blomqvist <jb@gcc.gnu.org>
-
- * configure.ac: Check for presence of secure_getenv.
- * libgfortran.h: Use HAVE_SECURE_GETENV.
- * Makefile.in: Regenerated.
- * aclocal.m4: Regenerated.
- * config.h.in: Regenerated.
- * configure: Regenerated.
-
-2012-10-06 Thomas König <tkoenig@gcc.gnu.org>
-
- PR libfortran/54736
- * runtime/environ.c (search_unit): Correct logic
- for binary search.
- (mark_single): Fix index errors.
-
-2012-09-29 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/52724
- * list_read.c (next_char): Handle kind=4 characters.
- * unix.c (open_internal4): Correct lenth of internal file.
-
-2012-09-14 David Edelsohn <dje.gcc@gmail.com>
-
- * configure: Regenerated.
-
-2012-09-05 Uros Bizjak <ubizjak@gmail.com>
-
- * config/fpu-387.h (set_fpu): Prefix stmxcsr and ldmxcsr with %v.
-
-2012-07-25 Andreas Schwab <schwab@linux-m68k.org>
-
- * io/list_read.c (list_formatted_read_scalar): Fix copying real
- value back to temporary.
-
-2012-06-21 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/39654
- * io/intrinsics.c (ftell2): New function.
- * gfortran.map (_gfortran_ftell2): Export function.
-
-2012-06-04 Robert Mason <rbmj@verizon.net>
- Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/53456
- * intrinsics/time_1.h (gf_cputime): Fix typo in clock_gettime branch.
-
-2012-06-01 Tobias Burnus <burnus@net-b.de>
-
- * intrinsics/chmod.c (chmod_func): On MinGW, don't set is_dir and
- fix octal-mode handling.
- * io/unit.c (get_internal_unit): Add cast.
- * io/unix.c (min): Undef "min" before defining it.
- * runtime/backtrace.c (show_backtrace): Move label into
- ifndef __MINGW__ block.
-
-2012-05-31 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/51007
- * configure.ac: Allow gnu, gnu* variants for --enable-symvers argument.
- * configure: Regenerated.
-
-2012-05-31 Tobias Burnus <burnus@net-b.de>
-
- Revert:
- 2012-05-16 Tobias Burnus <burnus@net-b.de>
-
- * io/unix.c (tempfile_open): Pass mode to "open" for O_CREAT.
-
-2012-05-30 Tobias Burnus <burnus@net-b.de>
-
- * io/io.h: Fix comment typos.
- * io/list_read.c: Ditto.
-
-2012-05-27 Janne Blomqvist <jb@gcc.gnu.org>
-
- * intrinsics/time_1.h (gf_cputime): Don't reevaluate HZ expression
- for times fallback, clarify operation ordering for times and clock
- fallbacks.
- (gf_gettime): Fix comment typo.
-
-2012-05-24 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/53456
- * intrinsics/time_1.h (gf_cputime): Fallback for clock_gettime.
-
-2012-05-23 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/53456
- * intrinsics/time_1.h (gf_gettime): Fallback for clock_gettime.
-
-2012-05-23 Robert Mason <rbmj@verizon.net>
- Tobias Burnus <burnus@net-b.de>
-
- PR libfortran/53445
- * intrinsics/chmod.c (chmod_func): Ignore S_ISVTX on VxWorks.
-
-2012-05-23 Tobias Burnus <burnus@net-b.de>
-
- PR libfortran/53444
- * acinclude.m4 (LIBGFOR_CHECK_STRERROR_R): Add configure checks for
- two- and three-argument versions of strerror_r.
- * configure.ac (LIBGFOR_CHECK_STRERROR_R): Use it.
- * runtime/error.c (gf_strerror): Handle two-argument version
- of strerror_r.
- * config.h.in: Regenerate.
- * configure: Regenerate.
-
-2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * configure: Regenerated.
-
-2012-05-16 Tobias Burnus <burnus@net-b.de>
-
- * io/unix.c (tempfile_open): Pass mode to "open" for O_CREAT.
-
-2012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/52428
- * io/io.h (max_value): Rename to si_max, remove second argument.
- * io/list_read.c (convert_integer): Use unsigned types when
- parsing the digits, set max value depending on the sign.
- * io/read.c (max_value): Rename to si_max, remove second argument,
- simplify.
- (read_decimal): Set max value depending on sign, always check
- overflow.
- (read_radix): Calculate max unsigned value directly.
- * libgfortran.h (struct compile_options_t): Remove range_check
- field.
- * runtime/compile_options.c (set_options): Skip handling
- options[7].
- (init_compile_options): Don't set removed field.
-
-2012-05-11 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53310
- * intrinsics/eoshift2.c (eoshift2): Do not leak
- memory by allocating it in the loop.
-
-2012-05-05 Janne Blomqvist <jb@gcc.gnu.org>
-
- * config.h.in: Regenerated.
- * configure: Regenerated.
- * configure.ac: Add checks for getegid and __secure_getenv.
- * io/unix.c (P_tmpdir): Fallback definition for macro.
- (tempfile_open): New function.
- (tempfile): Use secure_getenv, call tempfile_open to try each
- directory in turn.
- * libgfortran.h (DEFAULT_TMPDIR): Remove macro.
- (secure_getenv): New macro/prototype.
- * runtime/environ.c (secure_getenv): New function.
- (variable_table): Rename GFORTRAN_TMPDIR to TMPDIR.
- * runtime/main.c (find_addr2line): Use secure_getenv.
-
-2012-04-22 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/53051
- * io/list_read.c (parse_real): Support "q" for the
- exponential.
- * io/read.c (read_f): Ditto.
-
-2012-04-17 Tobias Burnus <burnus@net-b.de>
-
- PR libfortran/38199
- PR libfortran/50673
- * io/unit.c (get_internal_unit): Properly check for the presence
- of the format string.
-
-2012-04-15 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR libfortran/38199
- PR libfortran/50673
- * intrinsics/string_intriniscs_inc.c (string_len_trim):
- Remove prototypes for string_len_trim and move to...
- * libgfortran.h (string_len_trim): ... here and
- (string_len_trim_char4): ...here.
- * io/unit.c: For non-array internal arrays where we do reading,
- adjust the record length to the last non-blank character.
- * io/unix.c: Fix typo.
-
-2012-04-10 Michael Matz <matz@suse.de>
-
- * m4/cshift0.m4 (cshift0_'rtype_code`): Guard use of modulo.
-
- * generated/cshift0_c10.c: Regenerated.
- * generated/cshift0_c16.c: Regenerated.
- * generated/cshift0_c4.c: Regenerated.
- * generated/cshift0_c8.c: Regenerated.
- * generated/cshift0_i16.c: Regenerated.
- * generated/cshift0_i1.c: Regenerated.
- * generated/cshift0_i2.c: Regenerated.
- * generated/cshift0_i4.c: Regenerated.
- * generated/cshift0_i8.c: Regenerated.
- * generated/cshift0_r10.c: Regenerated.
- * generated/cshift0_r16.c: Regenerated.
- * generated/cshift0_r4.c: Regenerated.
- * generated/cshift0_r8.c: Regenerated.
-
-2012-04-04 Tristan Gingold <gingold@adacore.com>
-
- * libgfortran.h: Include complex.h before math.h
-
-2012-04-02 Tristan Gingold <gingold@adacore.com>
-
- * configure.ac: Use new version of GCC_CHECK_MATH_FUNC.
- * configure: Regenerate
- * config.h.in: Regenerate.
-
-2012-03-30 Uros Bizjak <ubizjak@gmail.com>
-
- PR libgfortran/52758
- * intrinsics/chmod.c (chmod_func): Remove out-of-bounds
- initialization of rwxXstugo.
-
-2012-03-27 Tristan Gingold <gingold@adacore.com>
-
- * configure.ac: Add description to AC_DEFINE in
- GCC_CHECK_MATH_FUNC.
- * configure: Regenerate
- * config.h.in: Regenerate.
-
-2012-03-26 Janne Blomqvist <jb@gcc.gnu.org>
-
- * runtime/memory.c (get_mem): Rename to xmalloc, check for zero
- size.
- (internal_malloc_size): Remove.
- * libgfortran.h (get_mem): Rename to xmalloc.
- (internal_malloc_size): Remove prototype.
- * Makefile.am (i_iall_c): Fix dependency.
- (i_iany_c): Likewise.
- (i_iparity_c): Likewise.
- (i_norm2_c): Likewise.
- (i_parity_c): Likewise.
- * Makefile.in: Regenerated.
- * m4/parity.m4: Fix typo in comment.
- * generated/all_l1.c: Regenerated.
- * generated/all_l16.c: Regenerated.
- * generated/all_l2.c: Regenerated.
- * generated/all_l4.c: Regenerated.
- * generated/all_l8.c: Regenerated.
- * generated/any_l1.c: Regenerated.
- * generated/any_l16.c: Regenerated.
- * generated/any_l2.c: Regenerated.
- * generated/any_l4.c: Regenerated.
- * generated/any_l8.c: Regenerated.
- * generated/bessel_r10.c: Regenerated.
- * generated/bessel_r16.c: Regenerated.
- * generated/bessel_r4.c: Regenerated.
- * generated/bessel_r8.c: Regenerated.
- * generated/count_16_l.c: Regenerated.
- * generated/count_1_l.c: Regenerated.
- * generated/count_2_l.c: Regenerated.
- * generated/count_4_l.c: Regenerated.
- * generated/count_8_l.c: Regenerated.
- * generated/cshift1_16.c: Regenerated.
- * generated/cshift1_4.c: Regenerated.
- * generated/cshift1_8.c: Regenerated.
- * generated/eoshift1_16.c: Regenerated.
- * generated/eoshift1_4.c: Regenerated.
- * generated/eoshift1_8.c: Regenerated.
- * generated/eoshift3_16.c: Regenerated.
- * generated/eoshift3_4.c: Regenerated.
- * generated/eoshift3_8.c: Regenerated.
- * generated/iall_i1.c: Regenerated.
- * generated/iall_i16.c: Regenerated.
- * generated/iall_i2.c: Regenerated.
- * generated/iall_i4.c: Regenerated.
- * generated/iall_i8.c: Regenerated.
- * generated/iany_i1.c: Regenerated.
- * generated/iany_i16.c: Regenerated.
- * generated/iany_i2.c: Regenerated.
- * generated/iany_i4.c: Regenerated.
- * generated/iany_i8.c: Regenerated.
- * generated/in_pack_c10.c: Regenerated.
- * generated/in_pack_c16.c: Regenerated.
- * generated/in_pack_c4.c: Regenerated.
- * generated/in_pack_c8.c: Regenerated.
- * generated/in_pack_i1.c: Regenerated.
- * generated/in_pack_i16.c: Regenerated.
- * generated/in_pack_i2.c: Regenerated.
- * generated/in_pack_i4.c: Regenerated.
- * generated/in_pack_i8.c: Regenerated.
- * generated/in_pack_r10.c: Regenerated.
- * generated/in_pack_r16.c: Regenerated.
- * generated/in_pack_r4.c: Regenerated.
- * generated/in_pack_r8.c: Regenerated.
- * generated/iparity_i1.c: Regenerated.
- * generated/iparity_i16.c: Regenerated.
- * generated/iparity_i2.c: Regenerated.
- * generated/iparity_i4.c: Regenerated.
- * generated/iparity_i8.c: Regenerated.
- * generated/matmul_c10.c: Regenerated.
- * generated/matmul_c16.c: Regenerated.
- * generated/matmul_c4.c: Regenerated.
- * generated/matmul_c8.c: Regenerated.
- * generated/matmul_i1.c: Regenerated.
- * generated/matmul_i16.c: Regenerated.
- * generated/matmul_i2.c: Regenerated.
- * generated/matmul_i4.c: Regenerated.
- * generated/matmul_i8.c: Regenerated.
- * generated/matmul_l16.c: Regenerated.
- * generated/matmul_l4.c: Regenerated.
- * generated/matmul_l8.c: Regenerated.
- * generated/matmul_r10.c: Regenerated.
- * generated/matmul_r16.c: Regenerated.
- * generated/matmul_r4.c: Regenerated.
- * generated/matmul_r8.c: Regenerated.
- * generated/maxloc0_16_i1.c: Regenerated.
- * generated/maxloc0_16_i16.c: Regenerated.
- * generated/maxloc0_16_i2.c: Regenerated.
- * generated/maxloc0_16_i4.c: Regenerated.
- * generated/maxloc0_16_i8.c: Regenerated.
- * generated/maxloc0_16_r10.c: Regenerated.
- * generated/maxloc0_16_r16.c: Regenerated.
- * generated/maxloc0_16_r4.c: Regenerated.
- * generated/maxloc0_16_r8.c: Regenerated.
- * generated/maxloc0_4_i1.c: Regenerated.
- * generated/maxloc0_4_i16.c: Regenerated.
- * generated/maxloc0_4_i2.c: Regenerated.
- * generated/maxloc0_4_i4.c: Regenerated.
- * generated/maxloc0_4_i8.c: Regenerated.
- * generated/maxloc0_4_r10.c: Regenerated.
- * generated/maxloc0_4_r16.c: Regenerated.
- * generated/maxloc0_4_r4.c: Regenerated.
- * generated/maxloc0_4_r8.c: Regenerated.
- * generated/maxloc0_8_i1.c: Regenerated.
- * generated/maxloc0_8_i16.c: Regenerated.
- * generated/maxloc0_8_i2.c: Regenerated.
- * generated/maxloc0_8_i4.c: Regenerated.
- * generated/maxloc0_8_i8.c: Regenerated.
- * generated/maxloc0_8_r10.c: Regenerated.
- * generated/maxloc0_8_r16.c: Regenerated.
- * generated/maxloc0_8_r4.c: Regenerated.
- * generated/maxloc0_8_r8.c: Regenerated.
- * generated/maxloc1_16_i1.c: Regenerated.
- * generated/maxloc1_16_i16.c: Regenerated.
- * generated/maxloc1_16_i2.c: Regenerated.
- * generated/maxloc1_16_i4.c: Regenerated.
- * generated/maxloc1_16_i8.c: Regenerated.
- * generated/maxloc1_16_r10.c: Regenerated.
- * generated/maxloc1_16_r16.c: Regenerated.
- * generated/maxloc1_16_r4.c: Regenerated.
- * generated/maxloc1_16_r8.c: Regenerated.
- * generated/maxloc1_4_i1.c: Regenerated.
- * generated/maxloc1_4_i16.c: Regenerated.
- * generated/maxloc1_4_i2.c: Regenerated.
- * generated/maxloc1_4_i4.c: Regenerated.
- * generated/maxloc1_4_i8.c: Regenerated.
- * generated/maxloc1_4_r10.c: Regenerated.
- * generated/maxloc1_4_r16.c: Regenerated.
- * generated/maxloc1_4_r4.c: Regenerated.
- * generated/maxloc1_4_r8.c: Regenerated.
- * generated/maxloc1_8_i1.c: Regenerated.
- * generated/maxloc1_8_i16.c: Regenerated.
- * generated/maxloc1_8_i2.c: Regenerated.
- * generated/maxloc1_8_i4.c: Regenerated.
- * generated/maxloc1_8_i8.c: Regenerated.
- * generated/maxloc1_8_r10.c: Regenerated.
- * generated/maxloc1_8_r16.c: Regenerated.
- * generated/maxloc1_8_r4.c: Regenerated.
- * generated/maxloc1_8_r8.c: Regenerated.
- * generated/maxval_i1.c: Regenerated.
- * generated/maxval_i16.c: Regenerated.
- * generated/maxval_i2.c: Regenerated.
- * generated/maxval_i4.c: Regenerated.
- * generated/maxval_i8.c: Regenerated.
- * generated/maxval_r10.c: Regenerated.
- * generated/maxval_r16.c: Regenerated.
- * generated/maxval_r4.c: Regenerated.
- * generated/maxval_r8.c: Regenerated.
- * generated/minloc0_16_i1.c: Regenerated.
- * generated/minloc0_16_i16.c: Regenerated.
- * generated/minloc0_16_i2.c: Regenerated.
- * generated/minloc0_16_i4.c: Regenerated.
- * generated/minloc0_16_i8.c: Regenerated.
- * generated/minloc0_16_r10.c: Regenerated.
- * generated/minloc0_16_r16.c: Regenerated.
- * generated/minloc0_16_r4.c: Regenerated.
- * generated/minloc0_16_r8.c: Regenerated.
- * generated/minloc0_4_i1.c: Regenerated.
- * generated/minloc0_4_i16.c: Regenerated.
- * generated/minloc0_4_i2.c: Regenerated.
- * generated/minloc0_4_i4.c: Regenerated.
- * generated/minloc0_4_i8.c: Regenerated.
- * generated/minloc0_4_r10.c: Regenerated.
- * generated/minloc0_4_r16.c: Regenerated.
- * generated/minloc0_4_r4.c: Regenerated.
- * generated/minloc0_4_r8.c: Regenerated.
- * generated/minloc0_8_i1.c: Regenerated.
- * generated/minloc0_8_i16.c: Regenerated.
- * generated/minloc0_8_i2.c: Regenerated.
- * generated/minloc0_8_i4.c: Regenerated.
- * generated/minloc0_8_i8.c: Regenerated.
- * generated/minloc0_8_r10.c: Regenerated.
- * generated/minloc0_8_r16.c: Regenerated.
- * generated/minloc0_8_r4.c: Regenerated.
- * generated/minloc0_8_r8.c: Regenerated.
- * generated/minloc1_16_i1.c: Regenerated.
- * generated/minloc1_16_i16.c: Regenerated.
- * generated/minloc1_16_i2.c: Regenerated.
- * generated/minloc1_16_i4.c: Regenerated.
- * generated/minloc1_16_i8.c: Regenerated.
- * generated/minloc1_16_r10.c: Regenerated.
- * generated/minloc1_16_r16.c: Regenerated.
- * generated/minloc1_16_r4.c: Regenerated.
- * generated/minloc1_16_r8.c: Regenerated.
- * generated/minloc1_4_i1.c: Regenerated.
- * generated/minloc1_4_i16.c: Regenerated.
- * generated/minloc1_4_i2.c: Regenerated.
- * generated/minloc1_4_i4.c: Regenerated.
- * generated/minloc1_4_i8.c: Regenerated.
- * generated/minloc1_4_r10.c: Regenerated.
- * generated/minloc1_4_r16.c: Regenerated.
- * generated/minloc1_4_r4.c: Regenerated.
- * generated/minloc1_4_r8.c: Regenerated.
- * generated/minloc1_8_i1.c: Regenerated.
- * generated/minloc1_8_i16.c: Regenerated.
- * generated/minloc1_8_i2.c: Regenerated.
- * generated/minloc1_8_i4.c: Regenerated.
- * generated/minloc1_8_i8.c: Regenerated.
- * generated/minloc1_8_r10.c: Regenerated.
- * generated/minloc1_8_r16.c: Regenerated.
- * generated/minloc1_8_r4.c: Regenerated.
- * generated/minloc1_8_r8.c: Regenerated.
- * generated/minval_i1.c: Regenerated.
- * generated/minval_i16.c: Regenerated.
- * generated/minval_i2.c: Regenerated.
- * generated/minval_i4.c: Regenerated.
- * generated/minval_i8.c: Regenerated.
- * generated/minval_r10.c: Regenerated.
- * generated/minval_r16.c: Regenerated.
- * generated/minval_r4.c: Regenerated.
- * generated/minval_r8.c: Regenerated.
- * generated/norm2_r10.c: Regenerated.
- * generated/norm2_r16.c: Regenerated.
- * generated/norm2_r4.c: Regenerated.
- * generated/norm2_r8.c: Regenerated.
- * generated/pack_c10.c: Regenerated.
- * generated/pack_c16.c: Regenerated.
- * generated/pack_c4.c: Regenerated.
- * generated/pack_c8.c: Regenerated.
- * generated/pack_i1.c: Regenerated.
- * generated/pack_i16.c: Regenerated.
- * generated/pack_i2.c: Regenerated.
- * generated/pack_i4.c: Regenerated.
- * generated/pack_i8.c: Regenerated.
- * generated/pack_r10.c: Regenerated.
- * generated/pack_r16.c: Regenerated.
- * generated/pack_r4.c: Regenerated.
- * generated/pack_r8.c: Regenerated.
- * generated/parity_l1.c: Regenerated.
- * generated/parity_l16.c: Regenerated.
- * generated/parity_l2.c: Regenerated.
- * generated/parity_l4.c: Regenerated.
- * generated/parity_l8.c: Regenerated.
- * generated/product_c10.c: Regenerated.
- * generated/product_c16.c: Regenerated.
- * generated/product_c4.c: Regenerated.
- * generated/product_c8.c: Regenerated.
- * generated/product_i1.c: Regenerated.
- * generated/product_i16.c: Regenerated.
- * generated/product_i2.c: Regenerated.
- * generated/product_i4.c: Regenerated.
- * generated/product_i8.c: Regenerated.
- * generated/product_r10.c: Regenerated.
- * generated/product_r16.c: Regenerated.
- * generated/product_r4.c: Regenerated.
- * generated/product_r8.c: Regenerated.
- * generated/reshape_c10.c: Regenerated.
- * generated/reshape_c16.c: Regenerated.
- * generated/reshape_c4.c: Regenerated.
- * generated/reshape_c8.c: Regenerated.
- * generated/reshape_i16.c: Regenerated.
- * generated/reshape_i4.c: Regenerated.
- * generated/reshape_i8.c: Regenerated.
- * generated/reshape_r10.c: Regenerated.
- * generated/reshape_r16.c: Regenerated.
- * generated/reshape_r4.c: Regenerated.
- * generated/reshape_r8.c: Regenerated.
- * generated/shape_i16.c: Regenerated.
- * generated/shape_i4.c: Regenerated.
- * generated/shape_i8.c: Regenerated.
- * generated/spread_c10.c: Regenerated.
- * generated/spread_c16.c: Regenerated.
- * generated/spread_c4.c: Regenerated.
- * generated/spread_c8.c: Regenerated.
- * generated/spread_i1.c: Regenerated.
- * generated/spread_i16.c: Regenerated.
- * generated/spread_i2.c: Regenerated.
- * generated/spread_i4.c: Regenerated.
- * generated/spread_i8.c: Regenerated.
- * generated/spread_r10.c: Regenerated.
- * generated/spread_r16.c: Regenerated.
- * generated/spread_r4.c: Regenerated.
- * generated/spread_r8.c: Regenerated.
- * generated/sum_c10.c: Regenerated.
- * generated/sum_c16.c: Regenerated.
- * generated/sum_c4.c: Regenerated.
- * generated/sum_c8.c: Regenerated.
- * generated/sum_i1.c: Regenerated.
- * generated/sum_i16.c: Regenerated.
- * generated/sum_i2.c: Regenerated.
- * generated/sum_i4.c: Regenerated.
- * generated/sum_i8.c: Regenerated.
- * generated/sum_r10.c: Regenerated.
- * generated/sum_r16.c: Regenerated.
- * generated/sum_r4.c: Regenerated.
- * generated/sum_r8.c: Regenerated.
- * generated/transpose_c10.c: Regenerated.
- * generated/transpose_c16.c: Regenerated.
- * generated/transpose_c4.c: Regenerated.
- * generated/transpose_c8.c: Regenerated.
- * generated/transpose_i16.c: Regenerated.
- * generated/transpose_i4.c: Regenerated.
- * generated/transpose_i8.c: Regenerated.
- * generated/transpose_r10.c: Regenerated.
- * generated/transpose_r16.c: Regenerated.
- * generated/transpose_r4.c: Regenerated.
- * generated/transpose_r8.c: Regenerated.
- * generated/unpack_c10.c: Regenerated.
- * generated/unpack_c16.c: Regenerated.
- * generated/unpack_c4.c: Regenerated.
- * generated/unpack_c8.c: Regenerated.
- * generated/unpack_i1.c: Regenerated.
- * generated/unpack_i16.c: Regenerated.
- * generated/unpack_i2.c: Regenerated.
- * generated/unpack_i4.c: Regenerated.
- * generated/unpack_i8.c: Regenerated.
- * generated/unpack_r10.c: Regenerated.
- * generated/unpack_r16.c: Regenerated.
- * generated/unpack_r4.c: Regenerated.
- * generated/unpack_r8.c: Regenerated.
- * intrinsics/cshift0.c: Use xmalloc.
- * intrinsics/ctime.c: Likewise.
- * intrinsics/date_and_time.c: Likewise.
- * intrinsics/eoshift0.c: Likewise.
- * intrinsics/eoshift2.c: Likewise.
- * intrinsics/getlog.c: Likewise.
- * intrinsics/pack_generic.c: Likewise.
- * intrinsics/reshape_generic.c: Likewise.
- * intrinsics/spread_generic.c: Likewise.
- * intrinsics/string_intrinsics_inc.c: Likewise.
- * intrinsics/transpose_generic.c: Likewise.
- * intrinsics/unpack_generic.c: Likewise.
- * io/fbuf.c: Likewise.
- * io/format.c: Likewise.
- * io/intrinsics.c: Likewise.
- * io/list_read.c: Likewise.
- * io/open.c: Likewise.
- * io/transfer.c: Likewise.
- * io/unit.c: Likewise.
- * io/unix.c: Likewise.
- * io/write.c: Likewise.
- * m4/bessel.m4: Likewise.
- * m4/cshift1.m4: Likewise.
- * m4/eoshift1.m4: Likewise.
- * m4/eoshift3.m4: Likewise.
- * m4/iforeach.m4: Likewise.
- * m4/ifunction.m4: Likewise.
- * m4/ifunction_logical.m4: Likewise.
- * m4/in_pack.m4: Likewise.
- * m4/matmul.m4: Likewise.
- * m4/matmull.m4: Likewise.
- * m4/pack.m4: Likewise.
- * m4/reshape.m4: Likewise.
- * m4/shape.m4: Likewise.
- * m4/spread.m4: Likewise.
- * m4/transpose.m4: Likewise.
- * m4/unpack.m4: Likewise.
- * runtime/convert_char.c: Likewise.
- * runtime/environ.c: Likewise.
- * runtime/in_pack_generic.c: Likewise.
-
-2012-03-26 Tristan Gingold <gingold@adacore.com>
-
- * configure.ac: Use GCC_CHECK_MATH_FUNC for math functions.
- * acinclude.m4: Include ../config/math.m4
- * configure: Regenerate.
- * Makefile.in: Regenerate.
-
-2012-03-25 Janne Blomqvist <jb@gcc.gnu.org>
-
- * runtime/memory.c (xcalloc): New function.
- * libgfortran.h (xcalloc): New prototype.
- * io/list_read.c (push_char): Use xcalloc instead of get_mem and
- memset.
- (l_push_char): Likewise.
- * io/unit.c (insert_unit): Likewise.
- (get_internal_unit): Likewise.
- * io/unix.c (open_internal): Likewise.
- (open_internal4): Likewise.
- (fd_to_stream): Likewise.
-
-2012-03-17 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/52608
- * io/write_float.def (output_float): Move removal of initial zeros
- until after the scale factor has been applied.
-
-2012-03-16 Janne Blomqvist <jb@gcc.gnu.org>
-
- * io/unix.h (struct stream): Rename to stream_vtable.
- (struct stream): New struct definition.
- (sread): Dereference vtable pointer.
- (swrite): Likewise.
- (sseek): Likewise.
- (struncate): Likewise.
- (sflush): Likewise.
- (sclose): Likewise.
- * io/unix.c (raw_vtable): New variable.
- (buf_vtable): Likewise.
- (mem_vtable): Likewise.
- (mem4_vtable): Likewise.
- (raw_init): Assign vtable pointer.
- (buf_init): Likewise.
- (open_internal): Likewise.
- (open_internal4): Likewise.
-
-2012-03-15 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/52434
- PR libfortran/48878
- PR libfortran/38199
- * io/unit.c (get_internal_unit): Default to ROUND_UNSPECIFIED.
- (init_units): Likewise.
- * io/write_float.def (determine_precision): New function.
- (output_float): Take into account buffer with %f format, no need
- for our own rounding if unspecified or processor specified
- rounding.
- (DTOA): Simplify format string, add parameters.
- (FDTOA): New macros similar to DTOA, but using %f format.
- (OUTPUT_FLOAT_FMT_G): Stack allocate newf, determine correct
- precision and fill buffer.
- (EN_PREC): New macro.
- (determine_en_precision): New function.
- (WRITE_FLOAT): For G format, move buffer filling into
- output_float_FMT_G, use FDTOA for F format.
- (write_float): Increase buffer due to F format.
-
-2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * intrinsics/c99_functions.c [__sgi__ && !HAVE_COMPLEX_H]: Remove.
-
-2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac: Remove Tru64 reference.
- * acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Remove alpha*-dec-osf*
- handling.
- * configure: Regenerate.
- * intrinsics/c99_functions.c [__osf__]: Remove.
-
-2012-03-10 Tobias Burnus <burnus@net-b.de>
-
- * libgfortran.h (descriptor_dimension, GFC_DIMENSION_LBOUND,
- GFC_DIMENSION_EXTENT, GFC_DIMENSION_SET, GFC_DESCRIPTOR_DATA,
- GFC_ARRAY_DESCRIPTOR): Rename _lbound to lower_bound and
- data to base_addr.
- * intrinsics/cshift0.c (size0, cshift0): Handle data to
- base_addr rename.
- * intrinsics/date_and_time.c (date_and_time, secnds, itime_i4,
- itime_i8, gmtime_i4, gmtime_i8, ltime_i4, ltime_i8): Ditto.
- * intrinsics/dtime.c (dtime_sub): Ditto.
- * intrinsics/eoshift0.c (eoshift0): Ditto.
- * intrinsics/eoshift2.c (eoshift2): Ditto.
- * intrinsics/etime.c (etime_sub): Ditto.
- * intrinsics/iso_c_binding.c (c_f_pointer_u0): Ditto.
- * intrinsics/move_alloc.c (move_alloc): Ditto.
- * intrinsics/pack_generic.c (pack_internal, pack,
- pack_s_internal): Ditto.
- * intrinsics/random.c (arandom_r4, arandom_r8, arandom_r10,
- arandom_r16, random_seed_i4, random_seed_i8): Ditto.
- * intrinsics/reshape_generic.c (reshape_internal): Ditto.
- * intrinsics/spread_generic.c (spread_internal,
- spread_internal_scalar, spread, spread_scalar): Ditto.
- * intrinsics/stat.c (stat_i4_sub_0, stat_i8_sub_0, fstat_i4_sub,
- fstat_i8_sub): Ditto.
- * intrinsics/transpose_generic.c (transpose_internal): Ditto.
- * intrinsics/unpack_generic.c (unpack_bounds, unpack_internal,
- unpack1, unpack0, unpack0_char4): Ditto.
- * m4/bessel.m4 (bessel_jn_r'rtype_kind`, bessel_yn_r'rtype_kind`):
- Ditto.
- * m4/cshift0.m4 (cshift0_'rtype_code`): Ditto.
- * m4/cshift1.m4 (cshift1): Ditto.
- * m4/eoshift1.m4 (eoshift1): Ditto.
- * m4/eoshift3.m4 (eoshift3): Ditto.
- * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Ditto.
- * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Ditto.
- * m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Ditto.
- * m4/in_pack.m4 (internal_pack_'rtype_ccode`): Ditto.
- * m4/in_unpack.m4 (internal_unpack_'rtype_ccode`): Ditto.
- * m4/matmul.m4 (matmul_'rtype_code`): Ditto.
- * m4/matmull.m4 (matmul_'rtype_code`): Ditto.
- * m4/pack.m4 (pack_'rtype_code`): Ditto.
- * m4/reshape.m4 (reshape_'rtype_ccode`): Ditto.
- * m4/shape.m4 (shape_'rtype_kind`): Ditto.
- * m4/spread.m4 (spread_'rtype_code`): Ditto.
- * m4/transpose.m4 (transpose_'rtype_code`): Ditto.
- * m4/unpack.m4 (unpack0_'rtype_code`, unpack1_'rtype_code`): Ditto.
- * runtime/bounds.c (count_0): Ditto.
- * runtime/in_pack_generic.c (internal_pack): Ditto.
- * runtime/in_unpack_generic.c (internal_unpack): Ditto.
- * generated/cshift0_r4.c: Regenerated.
- * generated/unpack_r8.c: Regenerated.
- * generated/cshift0_c10.c: Regenerated.
- * generated/in_unpack_i1.c: Regenerated.
- * generated/eoshift1_16.c: Regenerated.
- * generated/iany_i16.c: Regenerated.
- * generated/reshape_i4.c: Regenerated.
- * generated/parity_l16.c: Regenerated.
- * generated/in_unpack_r16.c: Regenerated.
- * generated/iparity_i1.c: Regenerated.
- * generated/minloc0_16_r10.c: Regenerated.
- * generated/minloc1_16_i8.c: Regenerated.
- * generated/bessel_r8.c: Regenerated.
- * generated/maxloc0_4_i8.c: Regenerated.
- * generated/maxloc1_8_i1.c: Regenerated.
- * generated/sum_c10.c: Regenerated.
- * generated/maxloc0_8_r10.c: Regenerated.
- * generated/unpack_r16.c: Regenerated.
- * generated/maxloc1_16_i1.c: Regenerated.
- * generated/minloc1_4_i1.c: Regenerated.
- * generated/unpack_i4.c: Regenerated.
- * generated/in_pack_i1.c: Regenerated.
- * generated/cshift0_i1.c: Regenerated.
- * generated/minloc0_16_i4.c: Regenerated.
- * generated/minloc1_8_r8.c: Regenerated.
- * generated/maxval_r8.c: Regenerated.
- * generated/unpack_i2.c: Regenerated.
- * generated/matmul_r16.c: Regenerated.
- * generated/maxloc0_16_r8.c: Regenerated.
- * generated/maxloc1_8_i16.c: Regenerated.
- * generated/maxloc0_4_r4.c: Regenerated.
- * generated/pack_c10.c: Regenerated.
- * generated/in_unpack_c8.c: Regenerated.
- * generated/maxloc1_8_i8.c: Regenerated.
- * generated/in_pack_c16.c: Regenerated.
- * generated/parity_l1.c: Regenerated.
- * generated/in_pack_i2.c: Regenerated.
- * generated/maxloc0_4_r8.c: Regenerated.
- * generated/pack_r4.c: Regenerated.
- * generated/matmul_r8.c: Regenerated.
- * generated/pack_i1.c: Regenerated.
- * generated/minloc0_16_r16.c: Regenerated.
- * generated/cshift0_c8.c: Regenerated.
- * generated/minloc1_4_i16.c: Regenerated.
- * generated/minloc0_4_r4.c: Regenerated.
- * generated/product_i2.c: Regenerated.
- * generated/maxval_r10.c: Regenerated.
- * generated/minloc0_16_r8.c: Regenerated.
- * generated/in_pack_i8.c: Regenerated.
- * generated/all_l8.c: Regenerated.
- * generated/minloc0_8_i16.c: Regenerated.
- * generated/minloc1_8_i2.c: Regenerated.
- * generated/matmul_l8.c: Regenerated.
- * generated/spread_r10.c: Regenerated.
- * generated/product_c4.c: Regenerated.
- * generated/reshape_r16.c: Regenerated.
- * generated/cshift0_i16.c: Regenerated.
- * generated/minloc1_8_r10.c: Regenerated.
- * generated/iparity_i8.c: Regenerated.
- * generated/minloc0_16_i8.c: Regenerated.
- * generated/minloc1_8_i1.c: Regenerated.
- * generated/maxloc0_16_r10.c: Regenerated.
- * generated/maxloc1_8_i4.c: Regenerated.
- * generated/maxloc0_16_i8.c: Regenerated.
- * generated/maxloc1_16_i16.c: Regenerated.
- * generated/reshape_i8.c: Regenerated.
- * generated/all_l16.c: Regenerated.
- * generated/cshift1_8.c: Regenerated.
- * generated/matmul_c10.c: Regenerated.
- * generated/pack_r16.c: Regenerated.
- * generated/transpose_r10.c: Regenerated.
- * generated/maxloc1_16_i2.c: Regenerated.
- * generated/minloc1_4_r4.c: Regenerated.
- * generated/reshape_r8.c: Regenerated.
- * generated/product_r10.c: Regenerated.
- * generated/spread_c10.c: Regenerated.
- * generated/reshape_r4.c: Regenerated.
- * generated/in_unpack_i4.c: Regenerated.
- * generated/minval_r4.c: Regenerated.
- * generated/minloc1_16_r16.c: Regenerated.
- * generated/norm2_r8.c: Regenerated.
- * generated/iany_i2.c: Regenerated.
- * generated/eoshift3_8.c: Regenerated.
- * generated/maxloc1_16_r8.c: Regenerated.
- * generated/maxloc0_16_r16.c: Regenerated.
- * generated/cshift0_i8.c: Regenerated.
- * generated/all_l1.c: Regenerated.
- * generated/minloc1_16_r10.c: Regenerated.
- * generated/spread_i16.c: Regenerated.
- * generated/minloc1_8_r16.c: Regenerated.
- * generated/spread_r16.c: Regenerated.
- * generated/matmul_c8.c: Regenerated.
- * generated/pack_r10.c: Regenerated.
- * generated/reshape_r10.c: Regenerated.
- * generated/sum_r10.c: Regenerated.
- * generated/count_8_l.c: Regenerated.
- * generated/minloc1_16_i16.c: Regenerated.
- * generated/maxloc0_16_i2.c: Regenerated.
- * generated/count_1_l.c: Regenerated.
- * generated/unpack_c16.c: Regenerated.
- * generated/any_l8.c: Regenerated.
- * generated/minloc1_16_i1.c: Regenerated.
- * generated/sum_r4.c: Regenerated.
- * generated/in_unpack_r8.c: Regenerated.
- * generated/product_r8.c: Regenerated.
- * generated/in_unpack_r4.c: Regenerated.
- * generated/unpack_i1.c: Regenerated.
- * generated/cshift0_r8.c: Regenerated.
- * generated/spread_i2.c: Regenerated.
- * generated/minloc1_4_r10.c: Regenerated.
- * generated/minloc1_16_i2.c: Regenerated.
- * generated/minloc0_16_i2.c: Regenerated.
- * generated/eoshift3_16.c: Regenerated.
- * generated/maxloc0_8_i4.c: Regenerated.
- * generated/maxloc1_16_r10.c: Regenerated.
- * generated/maxloc1_4_i16.c: Regenerated.
- * generated/maxloc1_4_r8.c: Regenerated.
- * generated/parity_l2.c: Regenerated.
- * generated/maxloc0_16_i16.c: Regenerated.
- * generated/product_r4.c: Regenerated.
- * generated/in_unpack_r10.c: Regenerated.
- * generated/maxloc1_8_i2.c: Regenerated.
- * generated/iparity_i2.c: Regenerated.
- * generated/maxloc1_8_r4.c: Regenerated.
- * generated/maxloc1_8_r8.c: Regenerated.
- * generated/iall_i4.c: Regenerated.
- * generated/maxloc0_4_i16.c: Regenerated.
- * generated/cshift0_i4.c: Regenerated.
- * generated/in_unpack_c10.c: Regenerated.
- * generated/unpack_c8.c: Regenerated.
- * generated/transpose_c8.c: Regenerated.
- * generated/in_unpack_c16.c: Regenerated.
- * generated/product_c16.c: Regenerated.
- * generated/minval_r8.c: Regenerated.
- * generated/minloc0_4_i1.c: Regenerated.
- * generated/minloc0_8_r16.c: Regenerated.
- * generated/in_unpack_i16.c: Regenerated.
- * generated/reshape_c16.c: Regenerated.
- * generated/pack_i4.c: Regenerated.
- * generated/minval_r10.c: Regenerated.
- * generated/maxloc0_4_r10.c: Regenerated.
- * generated/unpack_i8.c: Regenerated.
- * generated/minloc1_16_r8.c: Regenerated.
- * generated/pack_c16.c: Regenerated.
- * generated/maxval_r4.c: Regenerated.
- * generated/spread_r8.c: Regenerated.
- * generated/minloc0_16_r4.c: Regenerated.
- * generated/maxval_i4.c: Regenerated.
- * generated/matmul_r4.c: Regenerated.
- * generated/product_c8.c: Regenerated.
- * generated/maxloc1_4_i4.c: Regenerated.
- * generated/any_l4.c: Regenerated.
- * generated/cshift0_r16.c: Regenerated.
- * generated/maxloc1_16_r4.c: Regenerated.
- * generated/in_pack_r10.c: Regenerated.
- * generated/iall_i1.c: Regenerated.
- * generated/product_i1.c: Regenerated.
- * generated/maxloc0_4_i1.c: Regenerated.
- * generated/maxloc0_8_r16.c: Regenerated.
- * generated/minloc1_8_i16.c: Regenerated.
- * generated/reshape_c10.c: Regenerated.
- * generated/matmul_l4.c: Regenerated.
- * generated/cshift0_c16.c: Regenerated.
- * generated/spread_r4.c: Regenerated.
- * generated/sum_r16.c: Regenerated.
- * generated/in_unpack_c4.c: Regenerated.
- * generated/maxval_i8.c: Regenerated.
- * generated/maxloc0_8_r8.c: Regenerated.
- * generated/unpack_i16.c: Regenerated.
- * generated/norm2_r4.c: Regenerated.
- * generated/maxloc1_4_r16.c: Regenerated.
- * generated/in_pack_r4.c: Regenerated.
- * generated/sum_c8.c: Regenerated.
- * generated/parity_l8.c: Regenerated.
- * generated/minval_i2.c: Regenerated.
- * generated/transpose_c10.c: Regenerated.
- * generated/cshift0_r10.c: Regenerated.
- * generated/cshift0_i2.c: Regenerated.
- * generated/spread_c4.c: Regenerated.
- * generated/maxval_r16.c: Regenerated.
- * generated/unpack_c10.c: Regenerated.
- * generated/bessel_r4.c: Regenerated.
- * generated/minloc0_8_i1.c: Regenerated.
- * generated/product_c10.c: Regenerated.
- * generated/minloc1_4_i4.c: Regenerated.
- * generated/minloc1_4_i2.c: Regenerated.
- * generated/transpose_c4.c: Regenerated.
- * generated/in_pack_c8.c: Regenerated.
- * generated/minval_i8.c: Regenerated.
- * generated/maxloc1_4_i2.c: Regenerated.
- * generated/maxloc1_4_i1.c: Regenerated.
- * generated/iall_i8.c: Regenerated.
- * generated/iany_i8.c: Regenerated.
- * generated/sum_c16.c: Regenerated.
- * generated/spread_i8.c: Regenerated.
- * generated/sum_i8.c: Regenerated.
- * generated/pack_i2.c: Regenerated.
- * generated/unpack_r10.c: Regenerated.
- * generated/minloc0_4_i4.c: Regenerated.
- * generated/iany_i4.c: Regenerated.
- * generated/maxloc0_4_i4.c: Regenerated.
- * generated/in_pack_r8.c: Regenerated.
- * generated/spread_i1.c: Regenerated.
- * generated/maxval_i16.c: Regenerated.
- * generated/pack_c8.c: Regenerated.
- * generated/iparity_i16.c: Regenerated.
- * generated/matmul_c16.c: Regenerated.
- * generated/eoshift1_8.c: Regenerated.
- * generated/any_l16.c: Regenerated.
- * generated/maxloc1_4_i8.c: Regenerated.
- * generated/minloc0_8_r4.c: Regenerated.
- * generated/transpose_c16.c: Regenerated.
- * generated/reshape_c4.c: Regenerated.
- * generated/minloc0_8_r8.c: Regenerated.
- * generated/count_16_l.c: Regenerated.
- * generated/minloc0_16_i1.c: Regenerated.
- * generated/minloc1_16_r4.c: Regenerated.
- * generated/maxloc0_8_i1.c: Regenerated.
- * generated/matmul_i1.c: Regenerated.
- * generated/sum_i2.c: Regenerated.
- * generated/cshift1_4.c: Regenerated.
- * generated/minloc0_4_i2.c: Regenerated.
- * generated/bessel_r10.c: Regenerated.
- * generated/matmul_c4.c: Regenerated.
- * generated/parity_l4.c: Regenerated.
- * generated/in_unpack_i2.c: Regenerated.
- * generated/product_i16.c: Regenerated.
- * generated/maxloc0_16_i4.c: Regenerated.
- * generated/minloc0_4_r10.c: Regenerated.
- * generated/transpose_i16.c: Regenerated.
- * generated/matmul_l16.c: Regenerated.
- * generated/any_l1.c: Regenerated.
- * generated/minval_r16.c: Regenerated.
- * generated/shape_i16.c: Regenerated.
- * generated/in_pack_c4.c: Regenerated.
- * generated/minloc1_8_r4.c: Regenerated.
- * generated/iany_i1.c: Regenerated.
- * generated/matmul_i16.c: Regenerated.
- * generated/maxloc0_16_r4.c: Regenerated.
- * generated/spread_c8.c: Regenerated.
- * generated/product_i8.c: Regenerated.
- * generated/minloc1_8_i4.c: Regenerated.
- * generated/product_i4.c: Regenerated.
- * generated/minval_i16.c: Regenerated.
- * generated/pack_r8.c: Regenerated.
- * generated/matmul_r10.c: Regenerated.
- * generated/shape_i8.c: Regenerated.
- * generated/eoshift1_4.c: Regenerated.
- * generated/minloc1_16_i4.c: Regenerated.
- * generated/transpose_r16.c: Regenerated.
- * generated/spread_c16.c: Regenerated.
- * generated/maxloc0_8_i16.c: Regenerated.
- * generated/minval_i1.c: Regenerated.
- * generated/sum_i4.c: Regenerated.
- * generated/in_pack_r16.c: Regenerated.
- * generated/iall_i16.c: Regenerated.
- * generated/minloc0_8_r10.c: Regenerated.
- * generated/maxloc0_8_i8.c: Regenerated.
- * generated/transpose_i4.c: Regenerated.
- * generated/maxloc0_4_i2.c: Regenerated.
- * generated/iall_i2.c: Regenerated.
- * generated/maxloc0_8_r4.c: Regenerated.
- * generated/minloc0_4_r16.c: Regenerated.
- * generated/minloc1_4_r8.c: Regenerated.
- * generated/minloc0_4_i8.c: Regenerated.
- * generated/minval_i4.c: Regenerated.
- * generated/minloc1_8_i8.c: Regenerated.
- * generated/in_pack_i16.c: Regenerated.
- * generated/spread_i4.c: Regenerated.
- * generated/cshift0_c4.c: Regenerated.
- * generated/minloc0_4_i16.c: Regenerated.
- * generated/sum_r8.c: Regenerated.
- * generated/minloc0_16_i16.c: Regenerated.
- * generated/sum_i1.c: Regenerated.
- * generated/all_l2.c: Regenerated.
- * generated/sum_c4.c: Regenerated.
- * generated/shape_i4.c: Regenerated.
- * generated/maxval_i1.c: Regenerated.
- * generated/norm2_r10.c: Regenerated.
- * generated/unpack_c4.c: Regenerated.
- * generated/maxloc0_16_i1.c: Regenerated.
- * generated/all_l4.c: Regenerated.
- * generated/maxloc1_16_i8.c: Regenerated.
- * generated/sum_i16.c: Regenerated.
- * generated/maxloc1_8_r16.c: Regenerated.
- * generated/minloc1_4_r16.c: Regenerated.
- * generated/maxloc1_16_r16.c: Regenerated.
- * generated/transpose_i8.c: Regenerated.
- * generated/minloc0_8_i2.c: Regenerated.
- * generated/product_r16.c: Regenerated.
- * generated/in_pack_c10.c: Regenerated.
- * generated/maxloc0_4_r16.c: Regenerated.
- * generated/pack_c4.c: Regenerated.
- * generated/bessel_r16.c: Regenerated.
- * generated/norm2_r16.c: Regenerated.
- * generated/in_unpack_i8.c: Regenerated.
- * generated/maxloc1_16_i4.c: Regenerated.
- * generated/minloc1_4_i8.c: Regenerated.
- * generated/eoshift3_4.c: Regenerated.
- * generated/maxloc1_8_r10.c: Regenerated.
- * generated/matmul_i8.c: Regenerated.
- * generated/matmul_i4.c: Regenerated.
- * generated/reshape_i16.c: Regenerated.
- * generated/matmul_i2.c: Regenerated.
- * generated/transpose_r8.c: Regenerated.
- * generated/transpose_r4.c: Regenerated.
- * generated/cshift1_16.c: Regenerated.
- * generated/maxloc1_4_r10.c: Regenerated.
- * generated/iparity_i4.c: Regenerated.
- * generated/in_pack_i4.c: Regenerated.
- * generated/maxloc0_8_i2.c: Regenerated.
- * generated/unpack_r4.c: Regenerated.
- * generated/count_4_l.c: Regenerated.
- * generated/maxloc1_4_r4.c: Regenerated.
- * generated/minloc0_8_i8.c: Regenerated.
- * generated/any_l2.c: Regenerated.
- * generated/minloc0_8_i4.c: Regenerated.
- * generated/pack_i8.c: Regenerated.
- * generated/count_2_l.c: Regenerated.
- * generated/reshape_c8.c: Regenerated.
- * generated/maxval_i2.c: Regenerated.
- * generated/minloc0_4_r8.c: Regenerated.
-
-2012-01-20 Tobias Burnus <burnus@net-b.de>
-
- PR libgfortran/51899
- * configure.ac: Check whether umask is available.
- * intrinsics/chmod.c (chmod_func): Make compile with MinGW.
- * configure: Regenerate.
- * config.h.in: Regenerate.
-
-2012-01-12 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/36755
- * intrinsics/chmod.c (chmod_func): Replace call to /bin/chmod
-
-2012-01-12 Janne Blomqvist <jb@gcc.gnu.org>
-
- * configure.ac: Remove check for fdopen.
- * runtime/backtrace.c (CAN_PIPE): Fix comment, remove check for
- fdopen.
- * configure: Regenerated.
- * config.h.in: Regenerated.
-
-2012-01-12 Janne Blomqvist <jb@gcc.gnu.org>
- Tobias Burnus <burnus@net-b.de>
-
- PR libfortran/51803
- * runtime/main.c (store_exe_path): Avoid malloc if getcwd fails or
- is not available.
-
-2012-01-11 Tobias Burnus <burnus@net-b.de>
-
- * runtime/main.c (store_exe_path): Fix absolute path
- detection for Windows.
-
-2012-01-11 Janne Blomqvist <jb@gcc.gnu.org>
- Mike Stump <mikestump@comcast.net>
-
- PR libfortran/51803
- * runtime/main.c (store_exe_path): Handle getcwd failure and lack
- of the function better.
-
-2012-01-10 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51197
- * runtime/compile_options.c (show_signal): List
- more signals.
-
-2012-01-09 Harald Anlauf <anlauf@gmx.de>
- Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51197
- * runtime/backtrace.c (show_backtrace): Modify wording written
- before the backtrace.
- * runtime/compile_options.c (show_signal): New function.
- (backtrace_handler): Use it.
-
-2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * Makefile.am (libgfortran_la_LDFLAGS): Add -Wc,-shared-libgcc.
- * Makefile.in: Regenerate.
-
-2012-01-06 Tobias Burnus <burnus@net-b.de>
-
- * caf/single.c (_gfortran_caf_register, _gfortran_caf_deregister):
- Fix token handling.
- * caf/mpi.c (_gfortran_caf_register, _gfortran_caf_deregister): Ditto.
- * caf/libcaf.h (STAT_STOPPED_IMAGE): Sync with libgfortran.h.
- (_gfortran_caf_register, _gfortran_caf_deregister): Update prototype.
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2013 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/libgfortran/ChangeLog-2012 b/libgfortran/ChangeLog-2012
new file mode 100644
index 00000000000..fa651f9264c
--- /dev/null
+++ b/libgfortran/ChangeLog-2012
@@ -0,0 +1,1276 @@
+2012-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libfortran/48976
+ * io/inquire.c (inquire_via_unit): Set user stream inquiry variable to
+ appropriate value based on unit access method. (inquire_via_filename):
+ Since filename is not associated with an open unit, set stream inquiry
+ to UNKNOWN.
+ * io/io.h: Define inquire stream parameters.
+
+2012-12-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libfortran/48960
+ * io/open.c (st_parameter_open): Assign newunit number to user
+ variable only if the the associated open statement is successful.
+
+2012-12-26 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/55539
+ * io/write_float.def (output_float): Take into account decimal
+ dot.
+
+2012-12-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR libfortran/30162
+ * io/unix.c (raw_tell): If the lseek is done on a
+ non-seekable file, return 0.
+
+2012-12-20 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/36044
+ * gfortran.map: Add _gfortran_backtrace.
+ * libgfortran.h: Rename 'show_backtrace' and export.
+ * runtime/backtrace.c (show_backtrace): Rename to 'backtrace'.
+ Don't show message. Close file descriptor. Export.
+ * runtime/compile_options.c (backtrace_handler): Renamed
+ 'show_backtrace'. Move message outside.
+ * runtime/error.c (sys_abort): Ditto.
+
+2012-12-19 Paul Thomas <pault@gcc.gnu.org>
+
+ * intrinsics/extends_type_of.c : Return correct results for
+ null vptrs.
+
+2012-12-03 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55548
+ * intrinsics/system_clock.c (gf_gettime_mono): Add argument 'tck',
+ which returns the clock resolution.
+ (system_clock_4): Get resolution from gf_gettime_mono, but limit to
+ 1000/s.
+ (system_clock_8): Get resolution from gf_gettime_mono.
+
+2012-10-28 Tobias Burnus <burnus@net-b.de>
+
+ * m4/bessel.m4: Remove useless statement.
+ * m4/ifunction.m4: Remove unreachable code.
+ * generated/bessel_r10.c: Regenerated.
+ * generated/bessel_r16.c: Regenerated.
+ * generated/bessel_r4.c: Regenerated.
+ * generated/bessel_r8.c: Regenerated.
+ * generated/iall_i1.c: Regenerated.
+ * generated/iall_i16.c: Regenerated.
+ * generated/iall_i2.c: Regenerated.
+ * generated/iall_i4.c: Regenerated.
+ * generated/iall_i8.c: Regenerated.
+ * generated/iany_i1.c: Regenerated.
+ * generated/iany_i16.c: Regenerated.
+ * generated/iany_i2.c: Regenerated.
+ * generated/iany_i4.c: Regenerated.
+ * generated/iany_i8.c: Regenerated.
+ * generated/iparity_i1.c: Regenerated.
+ * generated/iparity_i16.c: Regenerated.
+ * generated/iparity_i2.c: Regenerated.
+ * generated/iparity_i4.c: Regenerated.
+ * generated/iparity_i8.c: Regenerated.
+ * generated/maxloc1_16_i1.c: Regenerated.
+ * generated/maxloc1_16_i16.c: Regenerated.
+ * generated/maxloc1_16_i2.c: Regenerated.
+ * generated/maxloc1_16_i4.c: Regenerated.
+ * generated/maxloc1_16_i8.c: Regenerated.
+ * generated/maxloc1_16_r10.c: Regenerated.
+ * generated/maxloc1_16_r16.c: Regenerated.
+ * generated/maxloc1_16_r4.c: Regenerated.
+ * generated/maxloc1_16_r8.c: Regenerated.
+ * generated/maxloc1_4_i1.c: Regenerated.
+ * generated/maxloc1_4_i16.c: Regenerated.
+ * generated/maxloc1_4_i2.c: Regenerated.
+ * generated/maxloc1_4_i4.c: Regenerated.
+ * generated/maxloc1_4_i8.c: Regenerated.
+ * generated/maxloc1_4_r10.c: Regenerated.
+ * generated/maxloc1_4_r16.c: Regenerated.
+ * generated/maxloc1_4_r4.c: Regenerated.
+ * generated/maxloc1_4_r8.c: Regenerated.
+ * generated/maxloc1_8_i1.c: Regenerated.
+ * generated/maxloc1_8_i16.c: Regenerated.
+ * generated/maxloc1_8_i2.c: Regenerated.
+ * generated/maxloc1_8_i4.c: Regenerated.
+ * generated/maxloc1_8_i8.c: Regenerated.
+ * generated/maxloc1_8_r10.c: Regenerated.
+ * generated/maxloc1_8_r16.c: Regenerated.
+ * generated/maxloc1_8_r4.c: Regenerated.
+ * generated/maxloc1_8_r8.c: Regenerated.
+ * generated/maxval_i1.c: Regenerated.
+ * generated/maxval_i16.c: Regenerated.
+ * generated/maxval_i2.c: Regenerated.
+ * generated/maxval_i4.c: Regenerated.
+ * generated/maxval_i8.c: Regenerated.
+ * generated/maxval_r10.c: Regenerated.
+ * generated/maxval_r16.c: Regenerated.
+ * generated/maxval_r4.c: Regenerated.
+ * generated/maxval_r8.c: Regenerated.
+ * generated/minloc1_16_i1.c: Regenerated.
+ * generated/minloc1_16_i16.c: Regenerated.
+ * generated/minloc1_16_i2.c: Regenerated.
+ * generated/minloc1_16_i4.c: Regenerated.
+ * generated/minloc1_16_i8.c: Regenerated.
+ * generated/minloc1_16_r10.c: Regenerated.
+ * generated/minloc1_16_r16.c: Regenerated.
+ * generated/minloc1_16_r4.c: Regenerated.
+ * generated/minloc1_16_r8.c: Regenerated.
+ * generated/minloc1_4_i1.c: Regenerated.
+ * generated/minloc1_4_i16.c: Regenerated.
+ * generated/minloc1_4_i2.c: Regenerated.
+ * generated/minloc1_4_i4.c: Regenerated.
+ * generated/minloc1_4_i8.c: Regenerated.
+ * generated/minloc1_4_r10.c: Regenerated.
+ * generated/minloc1_4_r16.c: Regenerated.
+ * generated/minloc1_4_r4.c: Regenerated.
+ * generated/minloc1_4_r8.c: Regenerated.
+ * generated/minloc1_8_i1.c: Regenerated.
+ * generated/minloc1_8_i16.c: Regenerated.
+ * generated/minloc1_8_i2.c: Regenerated.
+ * generated/minloc1_8_i4.c: Regenerated.
+ * generated/minloc1_8_i8.c: Regenerated.
+ * generated/minloc1_8_r10.c: Regenerated.
+ * generated/minloc1_8_r16.c: Regenerated.
+ * generated/minloc1_8_r4.c: Regenerated.
+ * generated/minloc1_8_r8.c: Regenerated.
+ * generated/minval_i1.c: Regenerated.
+ * generated/minval_i16.c: Regenerated.
+ * generated/minval_i2.c: Regenerated.
+ * generated/minval_i4.c: Regenerated.
+ * generated/minval_i8.c: Regenerated.
+ * generated/minval_r10.c: Regenerated.
+ * generated/minval_r16.c: Regenerated.
+ * generated/minval_r4.c: Regenerated.
+ * generated/minval_r8.c: Regenerated.
+ * generated/product_c10.c: Regenerated.
+ * generated/product_c16.c: Regenerated.
+ * generated/product_c4.c: Regenerated.
+ * generated/product_c8.c: Regenerated.
+ * generated/product_i1.c: Regenerated.
+ * generated/product_i16.c: Regenerated.
+ * generated/product_i2.c: Regenerated.
+ * generated/product_i4.c: Regenerated.
+ * generated/product_i8.c: Regenerated.
+ * generated/product_r10.c: Regenerated.
+ * generated/product_r16.c: Regenerated.
+ * generated/product_r4.c: Regenerated.
+ * generated/product_r8.c: Regenerated.
+ * generated/sum_c10.c: Regenerated.
+ * generated/sum_c16.c: Regenerated.
+ * generated/sum_c4.c: Regenerated.
+ * generated/sum_c8.c: Regenerated.
+ * generated/sum_i1.c: Regenerated.
+ * generated/sum_i16.c: Regenerated.
+ * generated/sum_i2.c: Regenerated.
+ * generated/sum_i4.c: Regenerated.
+ * generated/sum_i8.c: Regenerated.
+ * generated/sum_r10.c: Regenerated.
+ * generated/sum_r16.c: Regenerated.
+ * generated/sum_r4.c: Regenerated.
+ * generated/sum_r8.c: Regenerated.
+
+2012-10-10 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54878
+ * io/unix.c (tempfile_open): Set umask before calling mkstemp.
+
+2012-10-06 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * configure.ac: Check for presence of secure_getenv.
+ * libgfortran.h: Use HAVE_SECURE_GETENV.
+ * Makefile.in: Regenerated.
+ * aclocal.m4: Regenerated.
+ * config.h.in: Regenerated.
+ * configure: Regenerated.
+
+2012-10-06 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR libfortran/54736
+ * runtime/environ.c (search_unit): Correct logic
+ for binary search.
+ (mark_single): Fix index errors.
+
+2012-09-29 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/52724
+ * list_read.c (next_char): Handle kind=4 characters.
+ * unix.c (open_internal4): Correct lenth of internal file.
+
+2012-09-14 David Edelsohn <dje.gcc@gmail.com>
+
+ * configure: Regenerated.
+
+2012-09-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/fpu-387.h (set_fpu): Prefix stmxcsr and ldmxcsr with %v.
+
+2012-07-25 Andreas Schwab <schwab@linux-m68k.org>
+
+ * io/list_read.c (list_formatted_read_scalar): Fix copying real
+ value back to temporary.
+
+2012-06-21 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/39654
+ * io/intrinsics.c (ftell2): New function.
+ * gfortran.map (_gfortran_ftell2): Export function.
+
+2012-06-04 Robert Mason <rbmj@verizon.net>
+ Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/53456
+ * intrinsics/time_1.h (gf_cputime): Fix typo in clock_gettime branch.
+
+2012-06-01 Tobias Burnus <burnus@net-b.de>
+
+ * intrinsics/chmod.c (chmod_func): On MinGW, don't set is_dir and
+ fix octal-mode handling.
+ * io/unit.c (get_internal_unit): Add cast.
+ * io/unix.c (min): Undef "min" before defining it.
+ * runtime/backtrace.c (show_backtrace): Move label into
+ ifndef __MINGW__ block.
+
+2012-05-31 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/51007
+ * configure.ac: Allow gnu, gnu* variants for --enable-symvers argument.
+ * configure: Regenerated.
+
+2012-05-31 Tobias Burnus <burnus@net-b.de>
+
+ Revert:
+ 2012-05-16 Tobias Burnus <burnus@net-b.de>
+
+ * io/unix.c (tempfile_open): Pass mode to "open" for O_CREAT.
+
+2012-05-30 Tobias Burnus <burnus@net-b.de>
+
+ * io/io.h: Fix comment typos.
+ * io/list_read.c: Ditto.
+
+2012-05-27 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * intrinsics/time_1.h (gf_cputime): Don't reevaluate HZ expression
+ for times fallback, clarify operation ordering for times and clock
+ fallbacks.
+ (gf_gettime): Fix comment typo.
+
+2012-05-24 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/53456
+ * intrinsics/time_1.h (gf_cputime): Fallback for clock_gettime.
+
+2012-05-23 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/53456
+ * intrinsics/time_1.h (gf_gettime): Fallback for clock_gettime.
+
+2012-05-23 Robert Mason <rbmj@verizon.net>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR libfortran/53445
+ * intrinsics/chmod.c (chmod_func): Ignore S_ISVTX on VxWorks.
+
+2012-05-23 Tobias Burnus <burnus@net-b.de>
+
+ PR libfortran/53444
+ * acinclude.m4 (LIBGFOR_CHECK_STRERROR_R): Add configure checks for
+ two- and three-argument versions of strerror_r.
+ * configure.ac (LIBGFOR_CHECK_STRERROR_R): Use it.
+ * runtime/error.c (gf_strerror): Handle two-argument version
+ of strerror_r.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+
+2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure: Regenerated.
+
+2012-05-16 Tobias Burnus <burnus@net-b.de>
+
+ * io/unix.c (tempfile_open): Pass mode to "open" for O_CREAT.
+
+2012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/52428
+ * io/io.h (max_value): Rename to si_max, remove second argument.
+ * io/list_read.c (convert_integer): Use unsigned types when
+ parsing the digits, set max value depending on the sign.
+ * io/read.c (max_value): Rename to si_max, remove second argument,
+ simplify.
+ (read_decimal): Set max value depending on sign, always check
+ overflow.
+ (read_radix): Calculate max unsigned value directly.
+ * libgfortran.h (struct compile_options_t): Remove range_check
+ field.
+ * runtime/compile_options.c (set_options): Skip handling
+ options[7].
+ (init_compile_options): Don't set removed field.
+
+2012-05-11 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53310
+ * intrinsics/eoshift2.c (eoshift2): Do not leak
+ memory by allocating it in the loop.
+
+2012-05-05 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * config.h.in: Regenerated.
+ * configure: Regenerated.
+ * configure.ac: Add checks for getegid and __secure_getenv.
+ * io/unix.c (P_tmpdir): Fallback definition for macro.
+ (tempfile_open): New function.
+ (tempfile): Use secure_getenv, call tempfile_open to try each
+ directory in turn.
+ * libgfortran.h (DEFAULT_TMPDIR): Remove macro.
+ (secure_getenv): New macro/prototype.
+ * runtime/environ.c (secure_getenv): New function.
+ (variable_table): Rename GFORTRAN_TMPDIR to TMPDIR.
+ * runtime/main.c (find_addr2line): Use secure_getenv.
+
+2012-04-22 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/53051
+ * io/list_read.c (parse_real): Support "q" for the
+ exponential.
+ * io/read.c (read_f): Ditto.
+
+2012-04-17 Tobias Burnus <burnus@net-b.de>
+
+ PR libfortran/38199
+ PR libfortran/50673
+ * io/unit.c (get_internal_unit): Properly check for the presence
+ of the format string.
+
+2012-04-15 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR libfortran/38199
+ PR libfortran/50673
+ * intrinsics/string_intriniscs_inc.c (string_len_trim):
+ Remove prototypes for string_len_trim and move to...
+ * libgfortran.h (string_len_trim): ... here and
+ (string_len_trim_char4): ...here.
+ * io/unit.c: For non-array internal arrays where we do reading,
+ adjust the record length to the last non-blank character.
+ * io/unix.c: Fix typo.
+
+2012-04-10 Michael Matz <matz@suse.de>
+
+ * m4/cshift0.m4 (cshift0_'rtype_code`): Guard use of modulo.
+
+ * generated/cshift0_c10.c: Regenerated.
+ * generated/cshift0_c16.c: Regenerated.
+ * generated/cshift0_c4.c: Regenerated.
+ * generated/cshift0_c8.c: Regenerated.
+ * generated/cshift0_i16.c: Regenerated.
+ * generated/cshift0_i1.c: Regenerated.
+ * generated/cshift0_i2.c: Regenerated.
+ * generated/cshift0_i4.c: Regenerated.
+ * generated/cshift0_i8.c: Regenerated.
+ * generated/cshift0_r10.c: Regenerated.
+ * generated/cshift0_r16.c: Regenerated.
+ * generated/cshift0_r4.c: Regenerated.
+ * generated/cshift0_r8.c: Regenerated.
+
+2012-04-04 Tristan Gingold <gingold@adacore.com>
+
+ * libgfortran.h: Include complex.h before math.h
+
+2012-04-02 Tristan Gingold <gingold@adacore.com>
+
+ * configure.ac: Use new version of GCC_CHECK_MATH_FUNC.
+ * configure: Regenerate
+ * config.h.in: Regenerate.
+
+2012-03-30 Uros Bizjak <ubizjak@gmail.com>
+
+ PR libgfortran/52758
+ * intrinsics/chmod.c (chmod_func): Remove out-of-bounds
+ initialization of rwxXstugo.
+
+2012-03-27 Tristan Gingold <gingold@adacore.com>
+
+ * configure.ac: Add description to AC_DEFINE in
+ GCC_CHECK_MATH_FUNC.
+ * configure: Regenerate
+ * config.h.in: Regenerate.
+
+2012-03-26 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * runtime/memory.c (get_mem): Rename to xmalloc, check for zero
+ size.
+ (internal_malloc_size): Remove.
+ * libgfortran.h (get_mem): Rename to xmalloc.
+ (internal_malloc_size): Remove prototype.
+ * Makefile.am (i_iall_c): Fix dependency.
+ (i_iany_c): Likewise.
+ (i_iparity_c): Likewise.
+ (i_norm2_c): Likewise.
+ (i_parity_c): Likewise.
+ * Makefile.in: Regenerated.
+ * m4/parity.m4: Fix typo in comment.
+ * generated/all_l1.c: Regenerated.
+ * generated/all_l16.c: Regenerated.
+ * generated/all_l2.c: Regenerated.
+ * generated/all_l4.c: Regenerated.
+ * generated/all_l8.c: Regenerated.
+ * generated/any_l1.c: Regenerated.
+ * generated/any_l16.c: Regenerated.
+ * generated/any_l2.c: Regenerated.
+ * generated/any_l4.c: Regenerated.
+ * generated/any_l8.c: Regenerated.
+ * generated/bessel_r10.c: Regenerated.
+ * generated/bessel_r16.c: Regenerated.
+ * generated/bessel_r4.c: Regenerated.
+ * generated/bessel_r8.c: Regenerated.
+ * generated/count_16_l.c: Regenerated.
+ * generated/count_1_l.c: Regenerated.
+ * generated/count_2_l.c: Regenerated.
+ * generated/count_4_l.c: Regenerated.
+ * generated/count_8_l.c: Regenerated.
+ * generated/cshift1_16.c: Regenerated.
+ * generated/cshift1_4.c: Regenerated.
+ * generated/cshift1_8.c: Regenerated.
+ * generated/eoshift1_16.c: Regenerated.
+ * generated/eoshift1_4.c: Regenerated.
+ * generated/eoshift1_8.c: Regenerated.
+ * generated/eoshift3_16.c: Regenerated.
+ * generated/eoshift3_4.c: Regenerated.
+ * generated/eoshift3_8.c: Regenerated.
+ * generated/iall_i1.c: Regenerated.
+ * generated/iall_i16.c: Regenerated.
+ * generated/iall_i2.c: Regenerated.
+ * generated/iall_i4.c: Regenerated.
+ * generated/iall_i8.c: Regenerated.
+ * generated/iany_i1.c: Regenerated.
+ * generated/iany_i16.c: Regenerated.
+ * generated/iany_i2.c: Regenerated.
+ * generated/iany_i4.c: Regenerated.
+ * generated/iany_i8.c: Regenerated.
+ * generated/in_pack_c10.c: Regenerated.
+ * generated/in_pack_c16.c: Regenerated.
+ * generated/in_pack_c4.c: Regenerated.
+ * generated/in_pack_c8.c: Regenerated.
+ * generated/in_pack_i1.c: Regenerated.
+ * generated/in_pack_i16.c: Regenerated.
+ * generated/in_pack_i2.c: Regenerated.
+ * generated/in_pack_i4.c: Regenerated.
+ * generated/in_pack_i8.c: Regenerated.
+ * generated/in_pack_r10.c: Regenerated.
+ * generated/in_pack_r16.c: Regenerated.
+ * generated/in_pack_r4.c: Regenerated.
+ * generated/in_pack_r8.c: Regenerated.
+ * generated/iparity_i1.c: Regenerated.
+ * generated/iparity_i16.c: Regenerated.
+ * generated/iparity_i2.c: Regenerated.
+ * generated/iparity_i4.c: Regenerated.
+ * generated/iparity_i8.c: Regenerated.
+ * generated/matmul_c10.c: Regenerated.
+ * generated/matmul_c16.c: Regenerated.
+ * generated/matmul_c4.c: Regenerated.
+ * generated/matmul_c8.c: Regenerated.
+ * generated/matmul_i1.c: Regenerated.
+ * generated/matmul_i16.c: Regenerated.
+ * generated/matmul_i2.c: Regenerated.
+ * generated/matmul_i4.c: Regenerated.
+ * generated/matmul_i8.c: Regenerated.
+ * generated/matmul_l16.c: Regenerated.
+ * generated/matmul_l4.c: Regenerated.
+ * generated/matmul_l8.c: Regenerated.
+ * generated/matmul_r10.c: Regenerated.
+ * generated/matmul_r16.c: Regenerated.
+ * generated/matmul_r4.c: Regenerated.
+ * generated/matmul_r8.c: Regenerated.
+ * generated/maxloc0_16_i1.c: Regenerated.
+ * generated/maxloc0_16_i16.c: Regenerated.
+ * generated/maxloc0_16_i2.c: Regenerated.
+ * generated/maxloc0_16_i4.c: Regenerated.
+ * generated/maxloc0_16_i8.c: Regenerated.
+ * generated/maxloc0_16_r10.c: Regenerated.
+ * generated/maxloc0_16_r16.c: Regenerated.
+ * generated/maxloc0_16_r4.c: Regenerated.
+ * generated/maxloc0_16_r8.c: Regenerated.
+ * generated/maxloc0_4_i1.c: Regenerated.
+ * generated/maxloc0_4_i16.c: Regenerated.
+ * generated/maxloc0_4_i2.c: Regenerated.
+ * generated/maxloc0_4_i4.c: Regenerated.
+ * generated/maxloc0_4_i8.c: Regenerated.
+ * generated/maxloc0_4_r10.c: Regenerated.
+ * generated/maxloc0_4_r16.c: Regenerated.
+ * generated/maxloc0_4_r4.c: Regenerated.
+ * generated/maxloc0_4_r8.c: Regenerated.
+ * generated/maxloc0_8_i1.c: Regenerated.
+ * generated/maxloc0_8_i16.c: Regenerated.
+ * generated/maxloc0_8_i2.c: Regenerated.
+ * generated/maxloc0_8_i4.c: Regenerated.
+ * generated/maxloc0_8_i8.c: Regenerated.
+ * generated/maxloc0_8_r10.c: Regenerated.
+ * generated/maxloc0_8_r16.c: Regenerated.
+ * generated/maxloc0_8_r4.c: Regenerated.
+ * generated/maxloc0_8_r8.c: Regenerated.
+ * generated/maxloc1_16_i1.c: Regenerated.
+ * generated/maxloc1_16_i16.c: Regenerated.
+ * generated/maxloc1_16_i2.c: Regenerated.
+ * generated/maxloc1_16_i4.c: Regenerated.
+ * generated/maxloc1_16_i8.c: Regenerated.
+ * generated/maxloc1_16_r10.c: Regenerated.
+ * generated/maxloc1_16_r16.c: Regenerated.
+ * generated/maxloc1_16_r4.c: Regenerated.
+ * generated/maxloc1_16_r8.c: Regenerated.
+ * generated/maxloc1_4_i1.c: Regenerated.
+ * generated/maxloc1_4_i16.c: Regenerated.
+ * generated/maxloc1_4_i2.c: Regenerated.
+ * generated/maxloc1_4_i4.c: Regenerated.
+ * generated/maxloc1_4_i8.c: Regenerated.
+ * generated/maxloc1_4_r10.c: Regenerated.
+ * generated/maxloc1_4_r16.c: Regenerated.
+ * generated/maxloc1_4_r4.c: Regenerated.
+ * generated/maxloc1_4_r8.c: Regenerated.
+ * generated/maxloc1_8_i1.c: Regenerated.
+ * generated/maxloc1_8_i16.c: Regenerated.
+ * generated/maxloc1_8_i2.c: Regenerated.
+ * generated/maxloc1_8_i4.c: Regenerated.
+ * generated/maxloc1_8_i8.c: Regenerated.
+ * generated/maxloc1_8_r10.c: Regenerated.
+ * generated/maxloc1_8_r16.c: Regenerated.
+ * generated/maxloc1_8_r4.c: Regenerated.
+ * generated/maxloc1_8_r8.c: Regenerated.
+ * generated/maxval_i1.c: Regenerated.
+ * generated/maxval_i16.c: Regenerated.
+ * generated/maxval_i2.c: Regenerated.
+ * generated/maxval_i4.c: Regenerated.
+ * generated/maxval_i8.c: Regenerated.
+ * generated/maxval_r10.c: Regenerated.
+ * generated/maxval_r16.c: Regenerated.
+ * generated/maxval_r4.c: Regenerated.
+ * generated/maxval_r8.c: Regenerated.
+ * generated/minloc0_16_i1.c: Regenerated.
+ * generated/minloc0_16_i16.c: Regenerated.
+ * generated/minloc0_16_i2.c: Regenerated.
+ * generated/minloc0_16_i4.c: Regenerated.
+ * generated/minloc0_16_i8.c: Regenerated.
+ * generated/minloc0_16_r10.c: Regenerated.
+ * generated/minloc0_16_r16.c: Regenerated.
+ * generated/minloc0_16_r4.c: Regenerated.
+ * generated/minloc0_16_r8.c: Regenerated.
+ * generated/minloc0_4_i1.c: Regenerated.
+ * generated/minloc0_4_i16.c: Regenerated.
+ * generated/minloc0_4_i2.c: Regenerated.
+ * generated/minloc0_4_i4.c: Regenerated.
+ * generated/minloc0_4_i8.c: Regenerated.
+ * generated/minloc0_4_r10.c: Regenerated.
+ * generated/minloc0_4_r16.c: Regenerated.
+ * generated/minloc0_4_r4.c: Regenerated.
+ * generated/minloc0_4_r8.c: Regenerated.
+ * generated/minloc0_8_i1.c: Regenerated.
+ * generated/minloc0_8_i16.c: Regenerated.
+ * generated/minloc0_8_i2.c: Regenerated.
+ * generated/minloc0_8_i4.c: Regenerated.
+ * generated/minloc0_8_i8.c: Regenerated.
+ * generated/minloc0_8_r10.c: Regenerated.
+ * generated/minloc0_8_r16.c: Regenerated.
+ * generated/minloc0_8_r4.c: Regenerated.
+ * generated/minloc0_8_r8.c: Regenerated.
+ * generated/minloc1_16_i1.c: Regenerated.
+ * generated/minloc1_16_i16.c: Regenerated.
+ * generated/minloc1_16_i2.c: Regenerated.
+ * generated/minloc1_16_i4.c: Regenerated.
+ * generated/minloc1_16_i8.c: Regenerated.
+ * generated/minloc1_16_r10.c: Regenerated.
+ * generated/minloc1_16_r16.c: Regenerated.
+ * generated/minloc1_16_r4.c: Regenerated.
+ * generated/minloc1_16_r8.c: Regenerated.
+ * generated/minloc1_4_i1.c: Regenerated.
+ * generated/minloc1_4_i16.c: Regenerated.
+ * generated/minloc1_4_i2.c: Regenerated.
+ * generated/minloc1_4_i4.c: Regenerated.
+ * generated/minloc1_4_i8.c: Regenerated.
+ * generated/minloc1_4_r10.c: Regenerated.
+ * generated/minloc1_4_r16.c: Regenerated.
+ * generated/minloc1_4_r4.c: Regenerated.
+ * generated/minloc1_4_r8.c: Regenerated.
+ * generated/minloc1_8_i1.c: Regenerated.
+ * generated/minloc1_8_i16.c: Regenerated.
+ * generated/minloc1_8_i2.c: Regenerated.
+ * generated/minloc1_8_i4.c: Regenerated.
+ * generated/minloc1_8_i8.c: Regenerated.
+ * generated/minloc1_8_r10.c: Regenerated.
+ * generated/minloc1_8_r16.c: Regenerated.
+ * generated/minloc1_8_r4.c: Regenerated.
+ * generated/minloc1_8_r8.c: Regenerated.
+ * generated/minval_i1.c: Regenerated.
+ * generated/minval_i16.c: Regenerated.
+ * generated/minval_i2.c: Regenerated.
+ * generated/minval_i4.c: Regenerated.
+ * generated/minval_i8.c: Regenerated.
+ * generated/minval_r10.c: Regenerated.
+ * generated/minval_r16.c: Regenerated.
+ * generated/minval_r4.c: Regenerated.
+ * generated/minval_r8.c: Regenerated.
+ * generated/norm2_r10.c: Regenerated.
+ * generated/norm2_r16.c: Regenerated.
+ * generated/norm2_r4.c: Regenerated.
+ * generated/norm2_r8.c: Regenerated.
+ * generated/pack_c10.c: Regenerated.
+ * generated/pack_c16.c: Regenerated.
+ * generated/pack_c4.c: Regenerated.
+ * generated/pack_c8.c: Regenerated.
+ * generated/pack_i1.c: Regenerated.
+ * generated/pack_i16.c: Regenerated.
+ * generated/pack_i2.c: Regenerated.
+ * generated/pack_i4.c: Regenerated.
+ * generated/pack_i8.c: Regenerated.
+ * generated/pack_r10.c: Regenerated.
+ * generated/pack_r16.c: Regenerated.
+ * generated/pack_r4.c: Regenerated.
+ * generated/pack_r8.c: Regenerated.
+ * generated/parity_l1.c: Regenerated.
+ * generated/parity_l16.c: Regenerated.
+ * generated/parity_l2.c: Regenerated.
+ * generated/parity_l4.c: Regenerated.
+ * generated/parity_l8.c: Regenerated.
+ * generated/product_c10.c: Regenerated.
+ * generated/product_c16.c: Regenerated.
+ * generated/product_c4.c: Regenerated.
+ * generated/product_c8.c: Regenerated.
+ * generated/product_i1.c: Regenerated.
+ * generated/product_i16.c: Regenerated.
+ * generated/product_i2.c: Regenerated.
+ * generated/product_i4.c: Regenerated.
+ * generated/product_i8.c: Regenerated.
+ * generated/product_r10.c: Regenerated.
+ * generated/product_r16.c: Regenerated.
+ * generated/product_r4.c: Regenerated.
+ * generated/product_r8.c: Regenerated.
+ * generated/reshape_c10.c: Regenerated.
+ * generated/reshape_c16.c: Regenerated.
+ * generated/reshape_c4.c: Regenerated.
+ * generated/reshape_c8.c: Regenerated.
+ * generated/reshape_i16.c: Regenerated.
+ * generated/reshape_i4.c: Regenerated.
+ * generated/reshape_i8.c: Regenerated.
+ * generated/reshape_r10.c: Regenerated.
+ * generated/reshape_r16.c: Regenerated.
+ * generated/reshape_r4.c: Regenerated.
+ * generated/reshape_r8.c: Regenerated.
+ * generated/shape_i16.c: Regenerated.
+ * generated/shape_i4.c: Regenerated.
+ * generated/shape_i8.c: Regenerated.
+ * generated/spread_c10.c: Regenerated.
+ * generated/spread_c16.c: Regenerated.
+ * generated/spread_c4.c: Regenerated.
+ * generated/spread_c8.c: Regenerated.
+ * generated/spread_i1.c: Regenerated.
+ * generated/spread_i16.c: Regenerated.
+ * generated/spread_i2.c: Regenerated.
+ * generated/spread_i4.c: Regenerated.
+ * generated/spread_i8.c: Regenerated.
+ * generated/spread_r10.c: Regenerated.
+ * generated/spread_r16.c: Regenerated.
+ * generated/spread_r4.c: Regenerated.
+ * generated/spread_r8.c: Regenerated.
+ * generated/sum_c10.c: Regenerated.
+ * generated/sum_c16.c: Regenerated.
+ * generated/sum_c4.c: Regenerated.
+ * generated/sum_c8.c: Regenerated.
+ * generated/sum_i1.c: Regenerated.
+ * generated/sum_i16.c: Regenerated.
+ * generated/sum_i2.c: Regenerated.
+ * generated/sum_i4.c: Regenerated.
+ * generated/sum_i8.c: Regenerated.
+ * generated/sum_r10.c: Regenerated.
+ * generated/sum_r16.c: Regenerated.
+ * generated/sum_r4.c: Regenerated.
+ * generated/sum_r8.c: Regenerated.
+ * generated/transpose_c10.c: Regenerated.
+ * generated/transpose_c16.c: Regenerated.
+ * generated/transpose_c4.c: Regenerated.
+ * generated/transpose_c8.c: Regenerated.
+ * generated/transpose_i16.c: Regenerated.
+ * generated/transpose_i4.c: Regenerated.
+ * generated/transpose_i8.c: Regenerated.
+ * generated/transpose_r10.c: Regenerated.
+ * generated/transpose_r16.c: Regenerated.
+ * generated/transpose_r4.c: Regenerated.
+ * generated/transpose_r8.c: Regenerated.
+ * generated/unpack_c10.c: Regenerated.
+ * generated/unpack_c16.c: Regenerated.
+ * generated/unpack_c4.c: Regenerated.
+ * generated/unpack_c8.c: Regenerated.
+ * generated/unpack_i1.c: Regenerated.
+ * generated/unpack_i16.c: Regenerated.
+ * generated/unpack_i2.c: Regenerated.
+ * generated/unpack_i4.c: Regenerated.
+ * generated/unpack_i8.c: Regenerated.
+ * generated/unpack_r10.c: Regenerated.
+ * generated/unpack_r16.c: Regenerated.
+ * generated/unpack_r4.c: Regenerated.
+ * generated/unpack_r8.c: Regenerated.
+ * intrinsics/cshift0.c: Use xmalloc.
+ * intrinsics/ctime.c: Likewise.
+ * intrinsics/date_and_time.c: Likewise.
+ * intrinsics/eoshift0.c: Likewise.
+ * intrinsics/eoshift2.c: Likewise.
+ * intrinsics/getlog.c: Likewise.
+ * intrinsics/pack_generic.c: Likewise.
+ * intrinsics/reshape_generic.c: Likewise.
+ * intrinsics/spread_generic.c: Likewise.
+ * intrinsics/string_intrinsics_inc.c: Likewise.
+ * intrinsics/transpose_generic.c: Likewise.
+ * intrinsics/unpack_generic.c: Likewise.
+ * io/fbuf.c: Likewise.
+ * io/format.c: Likewise.
+ * io/intrinsics.c: Likewise.
+ * io/list_read.c: Likewise.
+ * io/open.c: Likewise.
+ * io/transfer.c: Likewise.
+ * io/unit.c: Likewise.
+ * io/unix.c: Likewise.
+ * io/write.c: Likewise.
+ * m4/bessel.m4: Likewise.
+ * m4/cshift1.m4: Likewise.
+ * m4/eoshift1.m4: Likewise.
+ * m4/eoshift3.m4: Likewise.
+ * m4/iforeach.m4: Likewise.
+ * m4/ifunction.m4: Likewise.
+ * m4/ifunction_logical.m4: Likewise.
+ * m4/in_pack.m4: Likewise.
+ * m4/matmul.m4: Likewise.
+ * m4/matmull.m4: Likewise.
+ * m4/pack.m4: Likewise.
+ * m4/reshape.m4: Likewise.
+ * m4/shape.m4: Likewise.
+ * m4/spread.m4: Likewise.
+ * m4/transpose.m4: Likewise.
+ * m4/unpack.m4: Likewise.
+ * runtime/convert_char.c: Likewise.
+ * runtime/environ.c: Likewise.
+ * runtime/in_pack_generic.c: Likewise.
+
+2012-03-26 Tristan Gingold <gingold@adacore.com>
+
+ * configure.ac: Use GCC_CHECK_MATH_FUNC for math functions.
+ * acinclude.m4: Include ../config/math.m4
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+
+2012-03-25 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * runtime/memory.c (xcalloc): New function.
+ * libgfortran.h (xcalloc): New prototype.
+ * io/list_read.c (push_char): Use xcalloc instead of get_mem and
+ memset.
+ (l_push_char): Likewise.
+ * io/unit.c (insert_unit): Likewise.
+ (get_internal_unit): Likewise.
+ * io/unix.c (open_internal): Likewise.
+ (open_internal4): Likewise.
+ (fd_to_stream): Likewise.
+
+2012-03-17 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/52608
+ * io/write_float.def (output_float): Move removal of initial zeros
+ until after the scale factor has been applied.
+
+2012-03-16 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * io/unix.h (struct stream): Rename to stream_vtable.
+ (struct stream): New struct definition.
+ (sread): Dereference vtable pointer.
+ (swrite): Likewise.
+ (sseek): Likewise.
+ (struncate): Likewise.
+ (sflush): Likewise.
+ (sclose): Likewise.
+ * io/unix.c (raw_vtable): New variable.
+ (buf_vtable): Likewise.
+ (mem_vtable): Likewise.
+ (mem4_vtable): Likewise.
+ (raw_init): Assign vtable pointer.
+ (buf_init): Likewise.
+ (open_internal): Likewise.
+ (open_internal4): Likewise.
+
+2012-03-15 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/52434
+ PR libfortran/48878
+ PR libfortran/38199
+ * io/unit.c (get_internal_unit): Default to ROUND_UNSPECIFIED.
+ (init_units): Likewise.
+ * io/write_float.def (determine_precision): New function.
+ (output_float): Take into account buffer with %f format, no need
+ for our own rounding if unspecified or processor specified
+ rounding.
+ (DTOA): Simplify format string, add parameters.
+ (FDTOA): New macros similar to DTOA, but using %f format.
+ (OUTPUT_FLOAT_FMT_G): Stack allocate newf, determine correct
+ precision and fill buffer.
+ (EN_PREC): New macro.
+ (determine_en_precision): New function.
+ (WRITE_FLOAT): For G format, move buffer filling into
+ output_float_FMT_G, use FDTOA for F format.
+ (write_float): Increase buffer due to F format.
+
+2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * intrinsics/c99_functions.c [__sgi__ && !HAVE_COMPLEX_H]: Remove.
+
+2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac: Remove Tru64 reference.
+ * acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Remove alpha*-dec-osf*
+ handling.
+ * configure: Regenerate.
+ * intrinsics/c99_functions.c [__osf__]: Remove.
+
+2012-03-10 Tobias Burnus <burnus@net-b.de>
+
+ * libgfortran.h (descriptor_dimension, GFC_DIMENSION_LBOUND,
+ GFC_DIMENSION_EXTENT, GFC_DIMENSION_SET, GFC_DESCRIPTOR_DATA,
+ GFC_ARRAY_DESCRIPTOR): Rename _lbound to lower_bound and
+ data to base_addr.
+ * intrinsics/cshift0.c (size0, cshift0): Handle data to
+ base_addr rename.
+ * intrinsics/date_and_time.c (date_and_time, secnds, itime_i4,
+ itime_i8, gmtime_i4, gmtime_i8, ltime_i4, ltime_i8): Ditto.
+ * intrinsics/dtime.c (dtime_sub): Ditto.
+ * intrinsics/eoshift0.c (eoshift0): Ditto.
+ * intrinsics/eoshift2.c (eoshift2): Ditto.
+ * intrinsics/etime.c (etime_sub): Ditto.
+ * intrinsics/iso_c_binding.c (c_f_pointer_u0): Ditto.
+ * intrinsics/move_alloc.c (move_alloc): Ditto.
+ * intrinsics/pack_generic.c (pack_internal, pack,
+ pack_s_internal): Ditto.
+ * intrinsics/random.c (arandom_r4, arandom_r8, arandom_r10,
+ arandom_r16, random_seed_i4, random_seed_i8): Ditto.
+ * intrinsics/reshape_generic.c (reshape_internal): Ditto.
+ * intrinsics/spread_generic.c (spread_internal,
+ spread_internal_scalar, spread, spread_scalar): Ditto.
+ * intrinsics/stat.c (stat_i4_sub_0, stat_i8_sub_0, fstat_i4_sub,
+ fstat_i8_sub): Ditto.
+ * intrinsics/transpose_generic.c (transpose_internal): Ditto.
+ * intrinsics/unpack_generic.c (unpack_bounds, unpack_internal,
+ unpack1, unpack0, unpack0_char4): Ditto.
+ * m4/bessel.m4 (bessel_jn_r'rtype_kind`, bessel_yn_r'rtype_kind`):
+ Ditto.
+ * m4/cshift0.m4 (cshift0_'rtype_code`): Ditto.
+ * m4/cshift1.m4 (cshift1): Ditto.
+ * m4/eoshift1.m4 (eoshift1): Ditto.
+ * m4/eoshift3.m4 (eoshift3): Ditto.
+ * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Ditto.
+ * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Ditto.
+ * m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Ditto.
+ * m4/in_pack.m4 (internal_pack_'rtype_ccode`): Ditto.
+ * m4/in_unpack.m4 (internal_unpack_'rtype_ccode`): Ditto.
+ * m4/matmul.m4 (matmul_'rtype_code`): Ditto.
+ * m4/matmull.m4 (matmul_'rtype_code`): Ditto.
+ * m4/pack.m4 (pack_'rtype_code`): Ditto.
+ * m4/reshape.m4 (reshape_'rtype_ccode`): Ditto.
+ * m4/shape.m4 (shape_'rtype_kind`): Ditto.
+ * m4/spread.m4 (spread_'rtype_code`): Ditto.
+ * m4/transpose.m4 (transpose_'rtype_code`): Ditto.
+ * m4/unpack.m4 (unpack0_'rtype_code`, unpack1_'rtype_code`): Ditto.
+ * runtime/bounds.c (count_0): Ditto.
+ * runtime/in_pack_generic.c (internal_pack): Ditto.
+ * runtime/in_unpack_generic.c (internal_unpack): Ditto.
+ * generated/cshift0_r4.c: Regenerated.
+ * generated/unpack_r8.c: Regenerated.
+ * generated/cshift0_c10.c: Regenerated.
+ * generated/in_unpack_i1.c: Regenerated.
+ * generated/eoshift1_16.c: Regenerated.
+ * generated/iany_i16.c: Regenerated.
+ * generated/reshape_i4.c: Regenerated.
+ * generated/parity_l16.c: Regenerated.
+ * generated/in_unpack_r16.c: Regenerated.
+ * generated/iparity_i1.c: Regenerated.
+ * generated/minloc0_16_r10.c: Regenerated.
+ * generated/minloc1_16_i8.c: Regenerated.
+ * generated/bessel_r8.c: Regenerated.
+ * generated/maxloc0_4_i8.c: Regenerated.
+ * generated/maxloc1_8_i1.c: Regenerated.
+ * generated/sum_c10.c: Regenerated.
+ * generated/maxloc0_8_r10.c: Regenerated.
+ * generated/unpack_r16.c: Regenerated.
+ * generated/maxloc1_16_i1.c: Regenerated.
+ * generated/minloc1_4_i1.c: Regenerated.
+ * generated/unpack_i4.c: Regenerated.
+ * generated/in_pack_i1.c: Regenerated.
+ * generated/cshift0_i1.c: Regenerated.
+ * generated/minloc0_16_i4.c: Regenerated.
+ * generated/minloc1_8_r8.c: Regenerated.
+ * generated/maxval_r8.c: Regenerated.
+ * generated/unpack_i2.c: Regenerated.
+ * generated/matmul_r16.c: Regenerated.
+ * generated/maxloc0_16_r8.c: Regenerated.
+ * generated/maxloc1_8_i16.c: Regenerated.
+ * generated/maxloc0_4_r4.c: Regenerated.
+ * generated/pack_c10.c: Regenerated.
+ * generated/in_unpack_c8.c: Regenerated.
+ * generated/maxloc1_8_i8.c: Regenerated.
+ * generated/in_pack_c16.c: Regenerated.
+ * generated/parity_l1.c: Regenerated.
+ * generated/in_pack_i2.c: Regenerated.
+ * generated/maxloc0_4_r8.c: Regenerated.
+ * generated/pack_r4.c: Regenerated.
+ * generated/matmul_r8.c: Regenerated.
+ * generated/pack_i1.c: Regenerated.
+ * generated/minloc0_16_r16.c: Regenerated.
+ * generated/cshift0_c8.c: Regenerated.
+ * generated/minloc1_4_i16.c: Regenerated.
+ * generated/minloc0_4_r4.c: Regenerated.
+ * generated/product_i2.c: Regenerated.
+ * generated/maxval_r10.c: Regenerated.
+ * generated/minloc0_16_r8.c: Regenerated.
+ * generated/in_pack_i8.c: Regenerated.
+ * generated/all_l8.c: Regenerated.
+ * generated/minloc0_8_i16.c: Regenerated.
+ * generated/minloc1_8_i2.c: Regenerated.
+ * generated/matmul_l8.c: Regenerated.
+ * generated/spread_r10.c: Regenerated.
+ * generated/product_c4.c: Regenerated.
+ * generated/reshape_r16.c: Regenerated.
+ * generated/cshift0_i16.c: Regenerated.
+ * generated/minloc1_8_r10.c: Regenerated.
+ * generated/iparity_i8.c: Regenerated.
+ * generated/minloc0_16_i8.c: Regenerated.
+ * generated/minloc1_8_i1.c: Regenerated.
+ * generated/maxloc0_16_r10.c: Regenerated.
+ * generated/maxloc1_8_i4.c: Regenerated.
+ * generated/maxloc0_16_i8.c: Regenerated.
+ * generated/maxloc1_16_i16.c: Regenerated.
+ * generated/reshape_i8.c: Regenerated.
+ * generated/all_l16.c: Regenerated.
+ * generated/cshift1_8.c: Regenerated.
+ * generated/matmul_c10.c: Regenerated.
+ * generated/pack_r16.c: Regenerated.
+ * generated/transpose_r10.c: Regenerated.
+ * generated/maxloc1_16_i2.c: Regenerated.
+ * generated/minloc1_4_r4.c: Regenerated.
+ * generated/reshape_r8.c: Regenerated.
+ * generated/product_r10.c: Regenerated.
+ * generated/spread_c10.c: Regenerated.
+ * generated/reshape_r4.c: Regenerated.
+ * generated/in_unpack_i4.c: Regenerated.
+ * generated/minval_r4.c: Regenerated.
+ * generated/minloc1_16_r16.c: Regenerated.
+ * generated/norm2_r8.c: Regenerated.
+ * generated/iany_i2.c: Regenerated.
+ * generated/eoshift3_8.c: Regenerated.
+ * generated/maxloc1_16_r8.c: Regenerated.
+ * generated/maxloc0_16_r16.c: Regenerated.
+ * generated/cshift0_i8.c: Regenerated.
+ * generated/all_l1.c: Regenerated.
+ * generated/minloc1_16_r10.c: Regenerated.
+ * generated/spread_i16.c: Regenerated.
+ * generated/minloc1_8_r16.c: Regenerated.
+ * generated/spread_r16.c: Regenerated.
+ * generated/matmul_c8.c: Regenerated.
+ * generated/pack_r10.c: Regenerated.
+ * generated/reshape_r10.c: Regenerated.
+ * generated/sum_r10.c: Regenerated.
+ * generated/count_8_l.c: Regenerated.
+ * generated/minloc1_16_i16.c: Regenerated.
+ * generated/maxloc0_16_i2.c: Regenerated.
+ * generated/count_1_l.c: Regenerated.
+ * generated/unpack_c16.c: Regenerated.
+ * generated/any_l8.c: Regenerated.
+ * generated/minloc1_16_i1.c: Regenerated.
+ * generated/sum_r4.c: Regenerated.
+ * generated/in_unpack_r8.c: Regenerated.
+ * generated/product_r8.c: Regenerated.
+ * generated/in_unpack_r4.c: Regenerated.
+ * generated/unpack_i1.c: Regenerated.
+ * generated/cshift0_r8.c: Regenerated.
+ * generated/spread_i2.c: Regenerated.
+ * generated/minloc1_4_r10.c: Regenerated.
+ * generated/minloc1_16_i2.c: Regenerated.
+ * generated/minloc0_16_i2.c: Regenerated.
+ * generated/eoshift3_16.c: Regenerated.
+ * generated/maxloc0_8_i4.c: Regenerated.
+ * generated/maxloc1_16_r10.c: Regenerated.
+ * generated/maxloc1_4_i16.c: Regenerated.
+ * generated/maxloc1_4_r8.c: Regenerated.
+ * generated/parity_l2.c: Regenerated.
+ * generated/maxloc0_16_i16.c: Regenerated.
+ * generated/product_r4.c: Regenerated.
+ * generated/in_unpack_r10.c: Regenerated.
+ * generated/maxloc1_8_i2.c: Regenerated.
+ * generated/iparity_i2.c: Regenerated.
+ * generated/maxloc1_8_r4.c: Regenerated.
+ * generated/maxloc1_8_r8.c: Regenerated.
+ * generated/iall_i4.c: Regenerated.
+ * generated/maxloc0_4_i16.c: Regenerated.
+ * generated/cshift0_i4.c: Regenerated.
+ * generated/in_unpack_c10.c: Regenerated.
+ * generated/unpack_c8.c: Regenerated.
+ * generated/transpose_c8.c: Regenerated.
+ * generated/in_unpack_c16.c: Regenerated.
+ * generated/product_c16.c: Regenerated.
+ * generated/minval_r8.c: Regenerated.
+ * generated/minloc0_4_i1.c: Regenerated.
+ * generated/minloc0_8_r16.c: Regenerated.
+ * generated/in_unpack_i16.c: Regenerated.
+ * generated/reshape_c16.c: Regenerated.
+ * generated/pack_i4.c: Regenerated.
+ * generated/minval_r10.c: Regenerated.
+ * generated/maxloc0_4_r10.c: Regenerated.
+ * generated/unpack_i8.c: Regenerated.
+ * generated/minloc1_16_r8.c: Regenerated.
+ * generated/pack_c16.c: Regenerated.
+ * generated/maxval_r4.c: Regenerated.
+ * generated/spread_r8.c: Regenerated.
+ * generated/minloc0_16_r4.c: Regenerated.
+ * generated/maxval_i4.c: Regenerated.
+ * generated/matmul_r4.c: Regenerated.
+ * generated/product_c8.c: Regenerated.
+ * generated/maxloc1_4_i4.c: Regenerated.
+ * generated/any_l4.c: Regenerated.
+ * generated/cshift0_r16.c: Regenerated.
+ * generated/maxloc1_16_r4.c: Regenerated.
+ * generated/in_pack_r10.c: Regenerated.
+ * generated/iall_i1.c: Regenerated.
+ * generated/product_i1.c: Regenerated.
+ * generated/maxloc0_4_i1.c: Regenerated.
+ * generated/maxloc0_8_r16.c: Regenerated.
+ * generated/minloc1_8_i16.c: Regenerated.
+ * generated/reshape_c10.c: Regenerated.
+ * generated/matmul_l4.c: Regenerated.
+ * generated/cshift0_c16.c: Regenerated.
+ * generated/spread_r4.c: Regenerated.
+ * generated/sum_r16.c: Regenerated.
+ * generated/in_unpack_c4.c: Regenerated.
+ * generated/maxval_i8.c: Regenerated.
+ * generated/maxloc0_8_r8.c: Regenerated.
+ * generated/unpack_i16.c: Regenerated.
+ * generated/norm2_r4.c: Regenerated.
+ * generated/maxloc1_4_r16.c: Regenerated.
+ * generated/in_pack_r4.c: Regenerated.
+ * generated/sum_c8.c: Regenerated.
+ * generated/parity_l8.c: Regenerated.
+ * generated/minval_i2.c: Regenerated.
+ * generated/transpose_c10.c: Regenerated.
+ * generated/cshift0_r10.c: Regenerated.
+ * generated/cshift0_i2.c: Regenerated.
+ * generated/spread_c4.c: Regenerated.
+ * generated/maxval_r16.c: Regenerated.
+ * generated/unpack_c10.c: Regenerated.
+ * generated/bessel_r4.c: Regenerated.
+ * generated/minloc0_8_i1.c: Regenerated.
+ * generated/product_c10.c: Regenerated.
+ * generated/minloc1_4_i4.c: Regenerated.
+ * generated/minloc1_4_i2.c: Regenerated.
+ * generated/transpose_c4.c: Regenerated.
+ * generated/in_pack_c8.c: Regenerated.
+ * generated/minval_i8.c: Regenerated.
+ * generated/maxloc1_4_i2.c: Regenerated.
+ * generated/maxloc1_4_i1.c: Regenerated.
+ * generated/iall_i8.c: Regenerated.
+ * generated/iany_i8.c: Regenerated.
+ * generated/sum_c16.c: Regenerated.
+ * generated/spread_i8.c: Regenerated.
+ * generated/sum_i8.c: Regenerated.
+ * generated/pack_i2.c: Regenerated.
+ * generated/unpack_r10.c: Regenerated.
+ * generated/minloc0_4_i4.c: Regenerated.
+ * generated/iany_i4.c: Regenerated.
+ * generated/maxloc0_4_i4.c: Regenerated.
+ * generated/in_pack_r8.c: Regenerated.
+ * generated/spread_i1.c: Regenerated.
+ * generated/maxval_i16.c: Regenerated.
+ * generated/pack_c8.c: Regenerated.
+ * generated/iparity_i16.c: Regenerated.
+ * generated/matmul_c16.c: Regenerated.
+ * generated/eoshift1_8.c: Regenerated.
+ * generated/any_l16.c: Regenerated.
+ * generated/maxloc1_4_i8.c: Regenerated.
+ * generated/minloc0_8_r4.c: Regenerated.
+ * generated/transpose_c16.c: Regenerated.
+ * generated/reshape_c4.c: Regenerated.
+ * generated/minloc0_8_r8.c: Regenerated.
+ * generated/count_16_l.c: Regenerated.
+ * generated/minloc0_16_i1.c: Regenerated.
+ * generated/minloc1_16_r4.c: Regenerated.
+ * generated/maxloc0_8_i1.c: Regenerated.
+ * generated/matmul_i1.c: Regenerated.
+ * generated/sum_i2.c: Regenerated.
+ * generated/cshift1_4.c: Regenerated.
+ * generated/minloc0_4_i2.c: Regenerated.
+ * generated/bessel_r10.c: Regenerated.
+ * generated/matmul_c4.c: Regenerated.
+ * generated/parity_l4.c: Regenerated.
+ * generated/in_unpack_i2.c: Regenerated.
+ * generated/product_i16.c: Regenerated.
+ * generated/maxloc0_16_i4.c: Regenerated.
+ * generated/minloc0_4_r10.c: Regenerated.
+ * generated/transpose_i16.c: Regenerated.
+ * generated/matmul_l16.c: Regenerated.
+ * generated/any_l1.c: Regenerated.
+ * generated/minval_r16.c: Regenerated.
+ * generated/shape_i16.c: Regenerated.
+ * generated/in_pack_c4.c: Regenerated.
+ * generated/minloc1_8_r4.c: Regenerated.
+ * generated/iany_i1.c: Regenerated.
+ * generated/matmul_i16.c: Regenerated.
+ * generated/maxloc0_16_r4.c: Regenerated.
+ * generated/spread_c8.c: Regenerated.
+ * generated/product_i8.c: Regenerated.
+ * generated/minloc1_8_i4.c: Regenerated.
+ * generated/product_i4.c: Regenerated.
+ * generated/minval_i16.c: Regenerated.
+ * generated/pack_r8.c: Regenerated.
+ * generated/matmul_r10.c: Regenerated.
+ * generated/shape_i8.c: Regenerated.
+ * generated/eoshift1_4.c: Regenerated.
+ * generated/minloc1_16_i4.c: Regenerated.
+ * generated/transpose_r16.c: Regenerated.
+ * generated/spread_c16.c: Regenerated.
+ * generated/maxloc0_8_i16.c: Regenerated.
+ * generated/minval_i1.c: Regenerated.
+ * generated/sum_i4.c: Regenerated.
+ * generated/in_pack_r16.c: Regenerated.
+ * generated/iall_i16.c: Regenerated.
+ * generated/minloc0_8_r10.c: Regenerated.
+ * generated/maxloc0_8_i8.c: Regenerated.
+ * generated/transpose_i4.c: Regenerated.
+ * generated/maxloc0_4_i2.c: Regenerated.
+ * generated/iall_i2.c: Regenerated.
+ * generated/maxloc0_8_r4.c: Regenerated.
+ * generated/minloc0_4_r16.c: Regenerated.
+ * generated/minloc1_4_r8.c: Regenerated.
+ * generated/minloc0_4_i8.c: Regenerated.
+ * generated/minval_i4.c: Regenerated.
+ * generated/minloc1_8_i8.c: Regenerated.
+ * generated/in_pack_i16.c: Regenerated.
+ * generated/spread_i4.c: Regenerated.
+ * generated/cshift0_c4.c: Regenerated.
+ * generated/minloc0_4_i16.c: Regenerated.
+ * generated/sum_r8.c: Regenerated.
+ * generated/minloc0_16_i16.c: Regenerated.
+ * generated/sum_i1.c: Regenerated.
+ * generated/all_l2.c: Regenerated.
+ * generated/sum_c4.c: Regenerated.
+ * generated/shape_i4.c: Regenerated.
+ * generated/maxval_i1.c: Regenerated.
+ * generated/norm2_r10.c: Regenerated.
+ * generated/unpack_c4.c: Regenerated.
+ * generated/maxloc0_16_i1.c: Regenerated.
+ * generated/all_l4.c: Regenerated.
+ * generated/maxloc1_16_i8.c: Regenerated.
+ * generated/sum_i16.c: Regenerated.
+ * generated/maxloc1_8_r16.c: Regenerated.
+ * generated/minloc1_4_r16.c: Regenerated.
+ * generated/maxloc1_16_r16.c: Regenerated.
+ * generated/transpose_i8.c: Regenerated.
+ * generated/minloc0_8_i2.c: Regenerated.
+ * generated/product_r16.c: Regenerated.
+ * generated/in_pack_c10.c: Regenerated.
+ * generated/maxloc0_4_r16.c: Regenerated.
+ * generated/pack_c4.c: Regenerated.
+ * generated/bessel_r16.c: Regenerated.
+ * generated/norm2_r16.c: Regenerated.
+ * generated/in_unpack_i8.c: Regenerated.
+ * generated/maxloc1_16_i4.c: Regenerated.
+ * generated/minloc1_4_i8.c: Regenerated.
+ * generated/eoshift3_4.c: Regenerated.
+ * generated/maxloc1_8_r10.c: Regenerated.
+ * generated/matmul_i8.c: Regenerated.
+ * generated/matmul_i4.c: Regenerated.
+ * generated/reshape_i16.c: Regenerated.
+ * generated/matmul_i2.c: Regenerated.
+ * generated/transpose_r8.c: Regenerated.
+ * generated/transpose_r4.c: Regenerated.
+ * generated/cshift1_16.c: Regenerated.
+ * generated/maxloc1_4_r10.c: Regenerated.
+ * generated/iparity_i4.c: Regenerated.
+ * generated/in_pack_i4.c: Regenerated.
+ * generated/maxloc0_8_i2.c: Regenerated.
+ * generated/unpack_r4.c: Regenerated.
+ * generated/count_4_l.c: Regenerated.
+ * generated/maxloc1_4_r4.c: Regenerated.
+ * generated/minloc0_8_i8.c: Regenerated.
+ * generated/any_l2.c: Regenerated.
+ * generated/minloc0_8_i4.c: Regenerated.
+ * generated/pack_i8.c: Regenerated.
+ * generated/count_2_l.c: Regenerated.
+ * generated/reshape_c8.c: Regenerated.
+ * generated/maxval_i2.c: Regenerated.
+ * generated/minloc0_4_r8.c: Regenerated.
+
+2012-01-20 Tobias Burnus <burnus@net-b.de>
+
+ PR libgfortran/51899
+ * configure.ac: Check whether umask is available.
+ * intrinsics/chmod.c (chmod_func): Make compile with MinGW.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+
+2012-01-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/36755
+ * intrinsics/chmod.c (chmod_func): Replace call to /bin/chmod
+
+2012-01-12 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * configure.ac: Remove check for fdopen.
+ * runtime/backtrace.c (CAN_PIPE): Fix comment, remove check for
+ fdopen.
+ * configure: Regenerated.
+ * config.h.in: Regenerated.
+
+2012-01-12 Janne Blomqvist <jb@gcc.gnu.org>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR libfortran/51803
+ * runtime/main.c (store_exe_path): Avoid malloc if getcwd fails or
+ is not available.
+
+2012-01-11 Tobias Burnus <burnus@net-b.de>
+
+ * runtime/main.c (store_exe_path): Fix absolute path
+ detection for Windows.
+
+2012-01-11 Janne Blomqvist <jb@gcc.gnu.org>
+ Mike Stump <mikestump@comcast.net>
+
+ PR libfortran/51803
+ * runtime/main.c (store_exe_path): Handle getcwd failure and lack
+ of the function better.
+
+2012-01-10 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51197
+ * runtime/compile_options.c (show_signal): List
+ more signals.
+
+2012-01-09 Harald Anlauf <anlauf@gmx.de>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51197
+ * runtime/backtrace.c (show_backtrace): Modify wording written
+ before the backtrace.
+ * runtime/compile_options.c (show_signal): New function.
+ (backtrace_handler): Use it.
+
+2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.am (libgfortran_la_LDFLAGS): Add -Wc,-shared-libgcc.
+ * Makefile.in: Regenerate.
+
+2012-01-06 Tobias Burnus <burnus@net-b.de>
+
+ * caf/single.c (_gfortran_caf_register, _gfortran_caf_deregister):
+ Fix token handling.
+ * caf/mpi.c (_gfortran_caf_register, _gfortran_caf_deregister): Ditto.
+ * caf/libcaf.h (STAT_STOPPED_IMAGE): Sync with libgfortran.h.
+ (_gfortran_caf_register, _gfortran_caf_deregister): Update prototype.
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgfortran/intrinsics/env.c b/libgfortran/intrinsics/env.c
index 8836038488a..252ee2f5c8a 100644
--- a/libgfortran/intrinsics/env.c
+++ b/libgfortran/intrinsics/env.c
@@ -185,7 +185,8 @@ get_environment_variable_i8 (char *name, char *value, GFC_INTEGER_8 *length,
trim_name4 = *trim_name;
get_environment_variable_i4 (name, value, &length4, &status4,
- &trim_name4, name_len, value_len);
+ trim_name ? &trim_name4 : NULL,
+ name_len, value_len);
if (length)
*length = length4;
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 0875603bc75..4479c77f274 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,9 @@
+2013-01-04 Ian Lance Taylor <iant@google.com>
+
+ PR other/54800
+ * simple-object-mach-o.c (simple_object_mach_o_segment): Don't
+ bother to zero out a buffer we are about to set anyhow.
+
2013-01-01 David Edelsohn <dje.gcc@gmail.com>
* simple-object-xcoff.c: New file.
diff --git a/libiberty/simple-object-mach-o.c b/libiberty/simple-object-mach-o.c
index af5e4f9ca88..6fde6722bef 100644
--- a/libiberty/simple-object-mach-o.c
+++ b/libiberty/simple-object-mach-o.c
@@ -1,5 +1,5 @@
/* simple-object-mach-o.c -- routines to manipulate Mach-O object files.
- Copyright 2010, 2011 Free Software Foundation, Inc.
+ Copyright 2010, 2011, 2013 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
This program is free software; you can redistribute it and/or modify it
@@ -701,12 +701,13 @@ simple_object_mach_o_segment (simple_object_read *sobj, off_t offset,
/* Otherwise, make a name like __segment,__section as per the
convention in mach-o asm. */
name = &namebuf[0];
- memset (namebuf, 0, MACH_O_NAME_LEN * 2 + 2);
memcpy (namebuf, (char *) sechdr + segname_offset, MACH_O_NAME_LEN);
+ namebuf[MACH_O_NAME_LEN] = '\0';
l = strlen (namebuf);
namebuf[l] = ',';
memcpy (namebuf + l + 1, (char *) sechdr + sectname_offset,
MACH_O_NAME_LEN);
+ namebuf[l + 1 + MACH_O_NAME_LEN] = '\0';
}
simple_object_mach_o_section_info (omr->is_big_endian, is_32, sechdr,
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index ff22755dbe1..412ccd94828 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,239 +1,10 @@
-2012-12-19 Matthias Klose <doko@ubuntu.com>
-
- Import GNU Classpath (20121202).
-
- * Regenerate class and header files.
- * Regenerate auto* files.
- * sources.am, gcj/javaprims.h: Regenerate.
- * gnu/java/nio/FileLockImpl.java (close): New override.
-
-2012-12-12 H.J. Lu <hongjiu.lu@intel.com>
-
- * Makefile.am (lib_gnu_awt_xlib_la_CPPFLAGS): Use
- $(LIBSTDCXX_RAW_CXX_CXXLAGS).
- (lib_gnu_awt_xlib_la_LDFLAGS): Use $(LIBSTDCXX_RAW_CXX_LDLAGS).
- * configure.ac (GCC_LIBSTDCXX_RAW_CXX_FLAGS): New.
- * aclocal.m4: Regenerated.
- * Makefile.in:Likewise.
- * configure: Likewise.
-
-2012-11-19 Matthias Klose <doko@ubuntu.com>
-
- * libtool-version: Bump soversion.
-
-2012-10-15 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac: Match arm*-*-linux-* for ARM Linux/GNU.
- * configure: Regenerate.
-
-2012-09-14 Dehao Chen <dehao@google.com>
-
- * testsuite/libjava.lang/sourcelocation.java: New cases.
- * testsuite/libjava.lang/sourcelocation.out: New cases.
-
-2012-09-14 David Edelsohn <dje.gcc@gmail.com>
-
- * configure: Regenerated.
-
-2012-07-19 Tristan Gingold <gingold@adacore.com>
- Richard Henderson <rth@redhat.com>
-
- * libgcj.ver: Add __gcj_personality_seh0.
- * exception.cc (__gcj_personality_seh0): New function.
- Adjust for SEH.
-
-2012-07-18 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libjava/53973
- * include/x86_64-signal.h (CHECK_67H_PREFIX): Removed.
- (HANDLE_DIVIDE_OVERFLOW): Skip 67h address size prefix
- unconditionally.
-
-2012-07-18 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libjava/53973
- * include/x86_64-signal.h (CHECK_67H_PREFIX): New.
- (HANDLE_DIVIDE_OVERFLOW): Check and and skip 67h address size
- prefix if CHECK_67H_PREFIX is 1. Use ULL suffix for 64-bit
- integer.
-
-2012-06-20 David Edelsohn <dje.gcc@gmail.com>
- Alan Modra <amodra@gmail.com>
-
- * sysdep/powerpc/locks.h (compare_and_swap): Use GCC atomic
- intrinsics.
- (release_set): Same.
- (compare_and_swap_release): Same.
- (read_barrier): Same.
- (write_barrier): Same.
-
-2012-06-15 Andreas Schwab <schwab@linux-m68k.org>
-
- * sysdep/m68k/locks.h (compare_and_swap): Use
- __sync_bool_compare_and_swap.
- (release_set): Use write_barrier instead of inlining it.
-
-2012-06-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * sysdep/s390/locks.h (compare_and_swap, release_set)
- (read_barrier, write_barrier): Use the GCC atomic builtins.
-
-2012-06-14 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * sysdep/sh/locks.h (__cas_lock): Remove.
- (__cas_start_atomic, __cas_end_atomic): Likewise.
- (compare_and_swap): Call __sync_bool_compare_and_swap.
-
-2012-05-21 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/52700
- * configure.ac: Allow gnu, gnu-versioned-namespace for
- --enable-symvers arguments.
- * configure: Regenerate.
-
-2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * configure: Regenerated.
-
-2012-04-23 Andrew Haley <aph@redhat.com>
-
- * defineclass.cc (MAJOR_1_7, MINOR_1_7): New.
- (parse): Allow MAJOR_1_7 classfile version.
-
-2012-04-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libgcj/52645
- * gnu/java/net/natPlainDatagramSocketImplPosix.cc (setOption):
- Restore HAVE_INET6 check.
- * gnu/java/net/natPlainDatagramSocketImplWin32.cc (setOption):
- Likewise.
-
-2012-03-25 Gerald Pfeifer <gerald@pfeifer.com>
-
- PR libgcj/52694
- * java/io/natVMConsole.cc (IUCLC): Define, if undefined.
-
-2012-03-16 Andrew John Hughes <ahughes@redhat.com>
-
- * Makefile.am: Add natVMConsole.cc.
- * Makefile.in: Regenerated.
- * gcj/Makefile.in: Likewise.
- * gcj/javaprims.h: Classes updated.
- * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.h,
- * gnu/javax/net/ssl/provider/CipherSuite.h,
- * gnu/javax/net/ssl/provider/OutputSecurityParameters.h,
- * include/Makefile.in:
- Regenerated.
- * java/io/Console.h,
- * java/io/IOError.h,
- * java/io/ObjectOutputStream$2.h:
- Initial generation.
- * java/io/ObjectOutputStream.h: Regenerated.
- * java/io/VMConsole.h: Initial generation.
- * java/io/VMConsole.java: Copied from classpath/vm/reference.
- * java/io/natVMConsole.cc: Implemented readPassword.
- * java/nio/channels/spi/SelectorProvider$1.h,
- * java/security/KeyStore$1.h:
- Initial generation.
- * java/security/ProtectionDomain.h,
- * java/text/DateFormatSymbols.h,
- * java/util/HashMap.h,
- * java/util/regex/Matcher.h,
- * java/util/regex/Pattern.h:
- Regenerated.
- * javax/xml/stream/util/ReaderDelegate.h:
- Removed.
- * sources.am,
- * testsuite/Makefile.in:
- Regenerated.
-
-2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (THREADLIBS): Remove *-*-solaris2.8 handling.
- * configure: Regenerate.
-
-2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (libgcj_cv_exidx): Remove IRIX 6 ld workaround.
- (mips-sgi-irix6*): Remove.
- (mips-sgi-irix*): Remove.
- (AC_CHECK_HEADERS): Remove bstring.h.
- * configure: Regenerate.
- * include/config.h.in: Regenerate.
- * configure.host (mips-sgi-irix6*): Remove.
-
- * include/posix-signal.h [__sgi__]: Remove.
-
- * gnu/java/net/natPlainDatagramSocketImplPosix.cc
- [HAVE_BSTRING_H]: Remove.
- * gnu/java/net/natPlainDatagramSocketImplWin32.cc: Likewise.
- * gnu/java/net/natPlainSocketImplPosix.cc: Likewise.
-
-2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (alpha*-dec-osf*): Remove.
- * configure: Regenerate.
- * configure.host (alpha*-dec-osf*): Remove.
-
- * gnu/java/net/natPlainDatagramSocketImplPosix.cc (setOption): Use
- IPV6_MULTICAST_IF unconditionally.
- * gnu/java/net/natPlainDatagramSocketImplWin32.cc (setOption):
- Likewise.
- * gnu/java/net/natPlainSocketImplPosix.cc
- (gnu::java::net::PlainSocketImpl::accept): Use ::accept instead of
- _Jv_accept.
- * include/posix-signal.h [__alpha__ && __osf__]: Remove.
- * include/posix.h (_POSIX_PII_SOCKET): Don't define.
- (_Jv_accept): Remove.
-
- * java/io/File.java (File._access): Rename to access.
- Change callers.
- (File._stat): Likewise.
- * java/io/File.h: Regenerate.
- * classpath/lib/java/io/File.class: Regenerate.
- * java/io/natFilePosix.cc (java::io::File::_access): Rename to
- access.
- (java::io::File::_stat): Rename to stat.
- * java/io/natFileWin32.cc: Likewise.
-
- * testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
- Remove alpha*-dec-osf* handling.
- * testsuite/libjava.jvmti/jvmti-interp.exp
- (gcj_jni_compile_c_to_so): Likewise.
- * testsuite/libjava.jvmti/jvmti.exp (gcj_jvmti_compile_cxx_to_o):
- Likewise.
-
-2012-02-23 Patrick Marlier <patrick.marlier@gmail.com>
- Jack Howarth <howarth@bromo.med.uc.edu>
-
- PR target/49461
- * configure.ac (SYSTEMSPEC): No longer pass -no_pie for darwin11.
- * configure: Regenerate.
-
-2012-02-02 Kai Tietz <ktietz@redhat.com>
-
- PR libjava/48512
- * configure.ac (THREADSTARTFILESPEC): Don't add crtmet.o file for
- w64 windows targets.
- * configure: Regenerated.
-
-2012-02-01 Kai Tietz <ktietz@redhat.com>
-
- PR target/51500
- * interpret.cc (_Jv_init_cif): Handle thiscall
- convention for 32-bit Windows.
- * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA):
- Likewise.
- * java/lang/reflect/natVMProxy.cc (invoke_t): Add
- thiscall-attribute for 32-bit Windows.
-
-2012-01-01 Jakub Jelinek <jakub@redhat.com>
+2013-01-03 Jakub Jelinek <jakub@redhat.com>
* gnu/gcj/convert/Convert.java (version): Update copyright notice
dates.
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2013 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/libjava/ChangeLog-2012 b/libjava/ChangeLog-2012
new file mode 100644
index 00000000000..ff22755dbe1
--- /dev/null
+++ b/libjava/ChangeLog-2012
@@ -0,0 +1,240 @@
+2012-12-19 Matthias Klose <doko@ubuntu.com>
+
+ Import GNU Classpath (20121202).
+
+ * Regenerate class and header files.
+ * Regenerate auto* files.
+ * sources.am, gcj/javaprims.h: Regenerate.
+ * gnu/java/nio/FileLockImpl.java (close): New override.
+
+2012-12-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Makefile.am (lib_gnu_awt_xlib_la_CPPFLAGS): Use
+ $(LIBSTDCXX_RAW_CXX_CXXLAGS).
+ (lib_gnu_awt_xlib_la_LDFLAGS): Use $(LIBSTDCXX_RAW_CXX_LDLAGS).
+ * configure.ac (GCC_LIBSTDCXX_RAW_CXX_FLAGS): New.
+ * aclocal.m4: Regenerated.
+ * Makefile.in:Likewise.
+ * configure: Likewise.
+
+2012-11-19 Matthias Klose <doko@ubuntu.com>
+
+ * libtool-version: Bump soversion.
+
+2012-10-15 Matthias Klose <doko@ubuntu.com>
+
+ * configure.ac: Match arm*-*-linux-* for ARM Linux/GNU.
+ * configure: Regenerate.
+
+2012-09-14 Dehao Chen <dehao@google.com>
+
+ * testsuite/libjava.lang/sourcelocation.java: New cases.
+ * testsuite/libjava.lang/sourcelocation.out: New cases.
+
+2012-09-14 David Edelsohn <dje.gcc@gmail.com>
+
+ * configure: Regenerated.
+
+2012-07-19 Tristan Gingold <gingold@adacore.com>
+ Richard Henderson <rth@redhat.com>
+
+ * libgcj.ver: Add __gcj_personality_seh0.
+ * exception.cc (__gcj_personality_seh0): New function.
+ Adjust for SEH.
+
+2012-07-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR libjava/53973
+ * include/x86_64-signal.h (CHECK_67H_PREFIX): Removed.
+ (HANDLE_DIVIDE_OVERFLOW): Skip 67h address size prefix
+ unconditionally.
+
+2012-07-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR libjava/53973
+ * include/x86_64-signal.h (CHECK_67H_PREFIX): New.
+ (HANDLE_DIVIDE_OVERFLOW): Check and and skip 67h address size
+ prefix if CHECK_67H_PREFIX is 1. Use ULL suffix for 64-bit
+ integer.
+
+2012-06-20 David Edelsohn <dje.gcc@gmail.com>
+ Alan Modra <amodra@gmail.com>
+
+ * sysdep/powerpc/locks.h (compare_and_swap): Use GCC atomic
+ intrinsics.
+ (release_set): Same.
+ (compare_and_swap_release): Same.
+ (read_barrier): Same.
+ (write_barrier): Same.
+
+2012-06-15 Andreas Schwab <schwab@linux-m68k.org>
+
+ * sysdep/m68k/locks.h (compare_and_swap): Use
+ __sync_bool_compare_and_swap.
+ (release_set): Use write_barrier instead of inlining it.
+
+2012-06-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * sysdep/s390/locks.h (compare_and_swap, release_set)
+ (read_barrier, write_barrier): Use the GCC atomic builtins.
+
+2012-06-14 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * sysdep/sh/locks.h (__cas_lock): Remove.
+ (__cas_start_atomic, __cas_end_atomic): Likewise.
+ (compare_and_swap): Call __sync_bool_compare_and_swap.
+
+2012-05-21 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/52700
+ * configure.ac: Allow gnu, gnu-versioned-namespace for
+ --enable-symvers arguments.
+ * configure: Regenerate.
+
+2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure: Regenerated.
+
+2012-04-23 Andrew Haley <aph@redhat.com>
+
+ * defineclass.cc (MAJOR_1_7, MINOR_1_7): New.
+ (parse): Allow MAJOR_1_7 classfile version.
+
+2012-04-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libgcj/52645
+ * gnu/java/net/natPlainDatagramSocketImplPosix.cc (setOption):
+ Restore HAVE_INET6 check.
+ * gnu/java/net/natPlainDatagramSocketImplWin32.cc (setOption):
+ Likewise.
+
+2012-03-25 Gerald Pfeifer <gerald@pfeifer.com>
+
+ PR libgcj/52694
+ * java/io/natVMConsole.cc (IUCLC): Define, if undefined.
+
+2012-03-16 Andrew John Hughes <ahughes@redhat.com>
+
+ * Makefile.am: Add natVMConsole.cc.
+ * Makefile.in: Regenerated.
+ * gcj/Makefile.in: Likewise.
+ * gcj/javaprims.h: Classes updated.
+ * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.h,
+ * gnu/javax/net/ssl/provider/CipherSuite.h,
+ * gnu/javax/net/ssl/provider/OutputSecurityParameters.h,
+ * include/Makefile.in:
+ Regenerated.
+ * java/io/Console.h,
+ * java/io/IOError.h,
+ * java/io/ObjectOutputStream$2.h:
+ Initial generation.
+ * java/io/ObjectOutputStream.h: Regenerated.
+ * java/io/VMConsole.h: Initial generation.
+ * java/io/VMConsole.java: Copied from classpath/vm/reference.
+ * java/io/natVMConsole.cc: Implemented readPassword.
+ * java/nio/channels/spi/SelectorProvider$1.h,
+ * java/security/KeyStore$1.h:
+ Initial generation.
+ * java/security/ProtectionDomain.h,
+ * java/text/DateFormatSymbols.h,
+ * java/util/HashMap.h,
+ * java/util/regex/Matcher.h,
+ * java/util/regex/Pattern.h:
+ Regenerated.
+ * javax/xml/stream/util/ReaderDelegate.h:
+ Removed.
+ * sources.am,
+ * testsuite/Makefile.in:
+ Regenerated.
+
+2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (THREADLIBS): Remove *-*-solaris2.8 handling.
+ * configure: Regenerate.
+
+2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (libgcj_cv_exidx): Remove IRIX 6 ld workaround.
+ (mips-sgi-irix6*): Remove.
+ (mips-sgi-irix*): Remove.
+ (AC_CHECK_HEADERS): Remove bstring.h.
+ * configure: Regenerate.
+ * include/config.h.in: Regenerate.
+ * configure.host (mips-sgi-irix6*): Remove.
+
+ * include/posix-signal.h [__sgi__]: Remove.
+
+ * gnu/java/net/natPlainDatagramSocketImplPosix.cc
+ [HAVE_BSTRING_H]: Remove.
+ * gnu/java/net/natPlainDatagramSocketImplWin32.cc: Likewise.
+ * gnu/java/net/natPlainSocketImplPosix.cc: Likewise.
+
+2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (alpha*-dec-osf*): Remove.
+ * configure: Regenerate.
+ * configure.host (alpha*-dec-osf*): Remove.
+
+ * gnu/java/net/natPlainDatagramSocketImplPosix.cc (setOption): Use
+ IPV6_MULTICAST_IF unconditionally.
+ * gnu/java/net/natPlainDatagramSocketImplWin32.cc (setOption):
+ Likewise.
+ * gnu/java/net/natPlainSocketImplPosix.cc
+ (gnu::java::net::PlainSocketImpl::accept): Use ::accept instead of
+ _Jv_accept.
+ * include/posix-signal.h [__alpha__ && __osf__]: Remove.
+ * include/posix.h (_POSIX_PII_SOCKET): Don't define.
+ (_Jv_accept): Remove.
+
+ * java/io/File.java (File._access): Rename to access.
+ Change callers.
+ (File._stat): Likewise.
+ * java/io/File.h: Regenerate.
+ * classpath/lib/java/io/File.class: Regenerate.
+ * java/io/natFilePosix.cc (java::io::File::_access): Rename to
+ access.
+ (java::io::File::_stat): Rename to stat.
+ * java/io/natFileWin32.cc: Likewise.
+
+ * testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
+ Remove alpha*-dec-osf* handling.
+ * testsuite/libjava.jvmti/jvmti-interp.exp
+ (gcj_jni_compile_c_to_so): Likewise.
+ * testsuite/libjava.jvmti/jvmti.exp (gcj_jvmti_compile_cxx_to_o):
+ Likewise.
+
+2012-02-23 Patrick Marlier <patrick.marlier@gmail.com>
+ Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR target/49461
+ * configure.ac (SYSTEMSPEC): No longer pass -no_pie for darwin11.
+ * configure: Regenerate.
+
+2012-02-02 Kai Tietz <ktietz@redhat.com>
+
+ PR libjava/48512
+ * configure.ac (THREADSTARTFILESPEC): Don't add crtmet.o file for
+ w64 windows targets.
+ * configure: Regenerated.
+
+2012-02-01 Kai Tietz <ktietz@redhat.com>
+
+ PR target/51500
+ * interpret.cc (_Jv_init_cif): Handle thiscall
+ convention for 32-bit Windows.
+ * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA):
+ Likewise.
+ * java/lang/reflect/natVMProxy.cc (invoke_t): Add
+ thiscall-attribute for 32-bit Windows.
+
+2012-01-01 Jakub Jelinek <jakub@redhat.com>
+
+ * gnu/gcj/convert/Convert.java (version): Update copyright notice
+ dates.
+ * gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libjava/classpath/ChangeLog.gcj b/libjava/classpath/ChangeLog.gcj
index 45da96b0792..98ce4382983 100644
--- a/libjava/classpath/ChangeLog.gcj
+++ b/libjava/classpath/ChangeLog.gcj
@@ -1,3 +1,9 @@
+2013-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ * gnu/java/rmi/registry/RegistryImpl.java (version): Update
+ copyright notice dates.
+ * tools/gnu/classpath/tools/orbd/Main.java (run): Likewise.
+
2012-12-03 Matthias Klose <doko@ubuntu.com>
* configure.ac (AM_INIT_AUTOMAKE): Call with no-dist.
diff --git a/libjava/classpath/gnu/java/rmi/registry/RegistryImpl.java b/libjava/classpath/gnu/java/rmi/registry/RegistryImpl.java
index c95a1e3508b..830a727c575 100644
--- a/libjava/classpath/gnu/java/rmi/registry/RegistryImpl.java
+++ b/libjava/classpath/gnu/java/rmi/registry/RegistryImpl.java
@@ -1,6 +1,6 @@
/* RegistryImpl.java --
Copyright (c) 1996, 1997, 1998, 1999, 2002, 2005, 2008, 2009, 2010, 2011,
- 2012 Free Software Foundation, Inc.
+ 2012, 2013 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -111,7 +111,7 @@ public static void version() {
+ System.getProperty("java.vm.name")
+ ") "
+ System.getProperty("java.vm.version"));
- System.out.println("Copyright 2012 Free Software Foundation, Inc.");
+ System.out.println("Copyright 2013 Free Software Foundation, Inc.");
System.out.println("This is free software; see the source for copying conditions. There is NO");
System.out.println("warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.");
System.exit(0);
diff --git a/libjava/classpath/tools/gnu/classpath/tools/orbd/Main.java b/libjava/classpath/tools/gnu/classpath/tools/orbd/Main.java
index 33de649959c..9e51ec6ef56 100644
--- a/libjava/classpath/tools/gnu/classpath/tools/orbd/Main.java
+++ b/libjava/classpath/tools/gnu/classpath/tools/orbd/Main.java
@@ -1,5 +1,5 @@
/* NamingServicePersistent.java -- The persistent naming service.
- Copyright (C) 2006, 2008, 2009, 2010, 2011, 2012
+ Copyright (C) 2006, 2008, 2009, 2010, 2011, 2012, 2013
Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -180,7 +180,7 @@ public class Main
System.out.println("GNU Classpath persistent naming service "
+ "started at " + iorr.Internet.host + ":"
+ iorr.Internet.port + " key 'NameService'.\n\n"
- + "Copyright (C) 2012 Free Software Foundation\n"
+ + "Copyright (C) 2013 Free Software Foundation\n"
+ "This tool comes with ABSOLUTELY NO WARRANTY. "
+ "This is free software, and you are\nwelcome to "
+ "redistribute it under conditions, defined in "
diff --git a/libjava/defineclass.cc b/libjava/defineclass.cc
index 17f60816c69..c7a32ccd919 100644
--- a/libjava/defineclass.cc
+++ b/libjava/defineclass.cc
@@ -1,6 +1,6 @@
// defineclass.cc - defining a class from .class format.
-/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2012
Free Software Foundation
This file is part of libgcj.
diff --git a/libjava/gnu/gcj/convert/Convert.java b/libjava/gnu/gcj/convert/Convert.java
index 27ddc883551..9fa3e703554 100644
--- a/libjava/gnu/gcj/convert/Convert.java
+++ b/libjava/gnu/gcj/convert/Convert.java
@@ -1,5 +1,5 @@
-/* Copyright (C) 1999, 2002, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
- Free Software Foundation
+/* Copyright (C) 1999, 2002, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
+ 2013 Free Software Foundation
This file is part of libgcj.
@@ -46,7 +46,7 @@ public class Convert
+ ") "
+ System.getProperty("java.vm.version"));
System.out.println();
- System.out.println("Copyright (C) 2012 Free Software Foundation, Inc.");
+ System.out.println("Copyright (C) 2013 Free Software Foundation, Inc.");
System.out.println("This is free software; see the source for copying conditions. There is NO");
System.out.println("warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.");
System.exit(0);
diff --git a/libjava/gnu/gcj/tools/gcj_dbtool/Main.java b/libjava/gnu/gcj/tools/gcj_dbtool/Main.java
index 51dc12f07f4..c4e8c371184 100644
--- a/libjava/gnu/gcj/tools/gcj_dbtool/Main.java
+++ b/libjava/gnu/gcj/tools/gcj_dbtool/Main.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+/* Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
Free Software Foundation
This file is part of libgcj.
@@ -47,7 +47,7 @@ public class Main
+ ") "
+ System.getProperty("java.vm.version"));
System.out.println();
- System.out.println("Copyright 2012 Free Software Foundation, Inc.");
+ System.out.println("Copyright 2013 Free Software Foundation, Inc.");
System.out.println("This is free software; see the source for copying conditions. There is NO");
System.out.println("warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.");
return;
diff --git a/libjava/include/dwarf2-signal.h b/libjava/include/dwarf2-signal.h
index 812968217ee..a064ab47249 100644
--- a/libjava/include/dwarf2-signal.h
+++ b/libjava/include/dwarf2-signal.h
@@ -1,6 +1,6 @@
// dwarf2-signal.h - Catch runtime signals and turn them into exceptions.
-/* Copyright (C) 2000, 2001, 2009 Free Software Foundation
+/* Copyright (C) 2000, 2001, 2009, 2011 Free Software Foundation
This file is part of libgcj.
diff --git a/libjava/include/jni_md.h b/libjava/include/jni_md.h
index 40381270495..7709c0bc486 100644
--- a/libjava/include/jni_md.h
+++ b/libjava/include/jni_md.h
@@ -1,5 +1,5 @@
/* jni_md.h
- Copyright (C) 2001, 2005, 2007, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2005, 2007, 2010, 2011 Free Software Foundation, Inc.
This file is part of GNU Classpath.
diff --git a/libjava/include/x86_64-signal.h b/libjava/include/x86_64-signal.h
index d03b91439ef..12383b5485a 100644
--- a/libjava/include/x86_64-signal.h
+++ b/libjava/include/x86_64-signal.h
@@ -1,7 +1,7 @@
// x86_64-signal.h - Catch runtime signals and turn them into exceptions
// on an x86_64 based GNU/Linux system.
-/* Copyright (C) 2003, 2006, 2007 Free Software Foundation
+/* Copyright (C) 2003, 2006, 2007, 2012 Free Software Foundation
This file is part of libgcj.
diff --git a/libjava/shlibpath.m4 b/libjava/shlibpath.m4
index 363affa8712..a86002cfcf9 100644
--- a/libjava/shlibpath.m4
+++ b/libjava/shlibpath.m4
@@ -1,5 +1,5 @@
# shlibpath.m4 - Define LTDL_SHLIBPATH_VAR. -*-Autoconf-*-
-## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2005
+## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2005, 2011
## Free Software Foundation, Inc.
## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
##
diff --git a/libmudflap/ChangeLog b/libmudflap/ChangeLog
index a5f05f63da6..b2b29d61e01 100644
--- a/libmudflap/ChangeLog
+++ b/libmudflap/ChangeLog
@@ -1,3 +1,7 @@
+2013-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ * mf-runtime.c (__mf_usage): Update copyright notice dates.
+
2012-12-15 Alexandre Oliva <aoliva@redhat.com>
* mf-hooks1.c (free): Return on NULL before any logging.
diff --git a/libmudflap/mf-runtime.c b/libmudflap/mf-runtime.c
index 5d3e3a2275f..844a7cbc720 100644
--- a/libmudflap/mf-runtime.c
+++ b/libmudflap/mf-runtime.c
@@ -1,6 +1,6 @@
/* Mudflap: narrow-pointer bounds-checking by tree rewriting.
- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2011, 2012
- Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2011, 2012,
+ 2013 Free Software Foundation, Inc.
Contributed by Frank Ch. Eigler <fche@redhat.com>
and Graydon Hoare <graydon@redhat.com>
Splay Tree code originally by Mark Mitchell <mark@markmitchell.com>,
@@ -448,7 +448,7 @@ __mf_usage ()
fprintf (stderr,
"This is a %s%sGCC \"mudflap\" memory-checked binary.\n"
- "Mudflap is Copyright (C) 2002-2012 Free Software Foundation, Inc.\n"
+ "Mudflap is Copyright (C) 2002-2013 Free Software Foundation, Inc.\n"
"\n"
"Unless setuid, a program's mudflap options be set by an environment variable:\n"
"\n"
diff --git a/libobjc/Makefile.in b/libobjc/Makefile.in
index 1427bac43b2..c54fb8758b5 100644
--- a/libobjc/Makefile.in
+++ b/libobjc/Makefile.in
@@ -1,6 +1,6 @@
# Makefile for GNU Objective C runtime library.
# Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
#This file is part of GCC.
diff --git a/libobjc/Object.m b/libobjc/Object.m
index 552acb037fa..42517ade226 100644
--- a/libobjc/Object.m
+++ b/libobjc/Object.m
@@ -1,5 +1,5 @@
/* The implementation of class Object for Objective-C.
- Copyright (C) 1993, 1994, 1995, 1997, 2002, 2009, 2010
+ Copyright (C) 1993, 1994, 1995, 1997, 2002, 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/Protocol.m b/libobjc/Protocol.m
index 400f2a2087b..4f0e5e376e5 100644
--- a/libobjc/Protocol.m
+++ b/libobjc/Protocol.m
@@ -1,5 +1,5 @@
/* This file contains the implementation of class Protocol.
- Copyright (C) 1993, 2004, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1993, 2004, 2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/class.c b/libobjc/class.c
index 3b750829f3b..913f8bac1bc 100644
--- a/libobjc/class.c
+++ b/libobjc/class.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime class related functions
- Copyright (C) 1993, 1995, 1996, 1997, 2001, 2002, 2009, 2010
+ Copyright (C) 1993, 1995, 1996, 1997, 2001, 2002, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup and Dennis Glatting.
diff --git a/libobjc/error.c b/libobjc/error.c
index b56aa4da665..1e8a130e52b 100644
--- a/libobjc/error.c
+++ b/libobjc/error.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime Error Functions
- Copyright (C) 1993, 1994, 1995, 1996, 1997, 2002, 2009, 2010
+ Copyright (C) 1993, 1994, 1995, 1996, 1997, 2002, 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/gc.c b/libobjc/gc.c
index d009230b78f..573f6c76e82 100644
--- a/libobjc/gc.c
+++ b/libobjc/gc.c
@@ -1,5 +1,5 @@
/* Basic data types for Objective C.
- Copyright (C) 1998, 2002, 2004, 2005, 2006, 2009, 2010
+ Copyright (C) 1998, 2002, 2004, 2005, 2006, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Ovidiu Predescu.
diff --git a/libobjc/init.c b/libobjc/init.c
index 23ba41ba128..83f61403700 100644
--- a/libobjc/init.c
+++ b/libobjc/init.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime initialization
- Copyright (C) 1993, 1995, 1996, 1997, 2002, 2009, 2010
+ Copyright (C) 1993, 1995, 1996, 1997, 2002, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup
+load support contributed by Ovidiu Predescu <ovidiu@net-community.com>
diff --git a/libobjc/libobjc.def b/libobjc/libobjc.def
index 8a295c824f7..5d405ac6382 100644
--- a/libobjc/libobjc.def
+++ b/libobjc/libobjc.def
@@ -1,5 +1,5 @@
; GNU Objective C Runtime DLL Export Definitions
-; Copyright (C) 1997, 2001, 2003, 2005, 2009, 2010
+; Copyright (C) 1997, 2001, 2003, 2005, 2009, 2010, 2011
; Free Software Foundation, Inc.
; Contributed by Scott Christley <scottc@net-community.com>
;
diff --git a/libobjc/linking.m b/libobjc/linking.m
index cf28e569657..d4a9c7ee709 100644
--- a/libobjc/linking.m
+++ b/libobjc/linking.m
@@ -1,5 +1,5 @@
/* Force linking of classes required by Objective C runtime.
- Copyright (C) 1997, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2009, 2010, 2011 Free Software Foundation, Inc.
Contributed by Ovidiu Predescu (ovidiu@net-community.com).
This file is part of GCC.
diff --git a/libobjc/memory.c b/libobjc/memory.c
index c02176ef874..4116868cbf7 100644
--- a/libobjc/memory.c
+++ b/libobjc/memory.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime Memory allocation functions
- Copyright (C) 1993, 1994, 1995, 1996, 1997, 2002, 2009, 2010
+ Copyright (C) 1993, 1994, 1995, 1996, 1997, 2002, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup
diff --git a/libobjc/objc-private/common.h b/libobjc/objc-private/common.h
index d1f071114ec..0203cae51bd 100644
--- a/libobjc/objc-private/common.h
+++ b/libobjc/objc-private/common.h
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime Common Private Definitions
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2011 Free Software Foundation, Inc.
Contributed by Nicola Pero
This file is part of GCC.
diff --git a/libobjc/objc-private/module-abi-8.h b/libobjc/objc-private/module-abi-8.h
index 06846e79690..ff0b2a9ddb8 100644
--- a/libobjc/objc-private/module-abi-8.h
+++ b/libobjc/objc-private/module-abi-8.h
@@ -1,6 +1,6 @@
/* Definitions of Module Structures used by ABI version 8
Copyright (C) 1993, 1995, 1996, 1997, 2001, 2002, 2003, 2004, 2005,
- 2007, 2009, 2010 Free Software Foundation, Inc.
+ 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/objc-private/protocols.h b/libobjc/objc-private/protocols.h
index 3219ff28935..fe04a52b20d 100644
--- a/libobjc/objc-private/protocols.h
+++ b/libobjc/objc-private/protocols.h
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime protocols - Private functions
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2011 Free Software Foundation, Inc.
Contributed by Nicola Pero <nicola.pero@meta-innovation.com>
This file is part of GCC.
diff --git a/libobjc/objc-private/runtime.h b/libobjc/objc-private/runtime.h
index bd11392ebec..8ecba73f8f5 100644
--- a/libobjc/objc-private/runtime.h
+++ b/libobjc/objc-private/runtime.h
@@ -1,5 +1,6 @@
/* GNU Objective C Runtime internal declarations
- Copyright (C) 1993, 1995, 1996, 1997, 2002, 2004, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1995, 1996, 1997, 2002, 2004, 2009, 2011
+ Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup
This file is part of GCC.
diff --git a/libobjc/objc-private/selector.h b/libobjc/objc-private/selector.h
index 32223b9d691..627214a2181 100644
--- a/libobjc/objc-private/selector.h
+++ b/libobjc/objc-private/selector.h
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime selector implementation - Private functions
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2011 Free Software Foundation, Inc.
Contributed by Nicola Pero <nicola.pero@meta-innovation.com>
This file is part of GCC.
diff --git a/libobjc/objc/Object.h b/libobjc/objc/Object.h
index e2fa926e7b5..37fc5102613 100644
--- a/libobjc/objc/Object.h
+++ b/libobjc/objc/Object.h
@@ -1,5 +1,6 @@
/* Interface for the Object class for Objective-C.
- Copyright (C) 1993, 1994, 1995, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1994, 1995, 2009, 2010, 2011
+ Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/objc/Protocol.h b/libobjc/objc/Protocol.h
index f2b7b789630..64ca76ce9ea 100644
--- a/libobjc/objc/Protocol.h
+++ b/libobjc/objc/Protocol.h
@@ -1,5 +1,5 @@
/* Declare the class Protocol for Objective C programs.
- Copyright (C) 1993, 2004, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1993, 2004, 2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/objc/message.h b/libobjc/objc/message.h
index 92b52633aa2..da0461a2071 100644
--- a/libobjc/objc/message.h
+++ b/libobjc/objc/message.h
@@ -1,6 +1,6 @@
/* GNU Objective C Runtime messaging declarations
Copyright (C) 1993, 1995, 1996, 2004, 2009,
- 2010 Free Software Foundation, Inc.
+ 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/objc/objc.h b/libobjc/objc/objc.h
index 1fa43737e4e..2fead5ce609 100644
--- a/libobjc/objc/objc.h
+++ b/libobjc/objc/objc.h
@@ -1,6 +1,6 @@
/* Basic data types for Objective C.
Copyright (C) 1993, 1995, 1996, 2004, 2009,
- 2010 Free Software Foundation, Inc.
+ 2010, 2011 Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/objc/runtime.h b/libobjc/objc/runtime.h
index c649e239d9e..ec8f88e39a1 100644
--- a/libobjc/objc/runtime.h
+++ b/libobjc/objc/runtime.h
@@ -1,5 +1,5 @@
/* GNU Objective-C Runtime API - Modern API
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2011 Free Software Foundation, Inc.
Contributed by Nicola Pero <nicola.pero@meta-innovation.com>
This file is part of GCC.
diff --git a/libobjc/objects.c b/libobjc/objects.c
index fe11062835b..bdbe1dd58bf 100644
--- a/libobjc/objects.c
+++ b/libobjc/objects.c
@@ -1,5 +1,6 @@
/* GNU Objective C Runtime class related functions
- Copyright (C) 1993, 1995, 1996, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1995, 1996, 2009, 2010, 2011
+ Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup
This file is part of GCC.
diff --git a/libobjc/protocols.c b/libobjc/protocols.c
index a02f2cd999e..ccf037a9a18 100644
--- a/libobjc/protocols.c
+++ b/libobjc/protocols.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime protocol related functions.
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2011 Free Software Foundation, Inc.
Contributed by Nicola Pero
This file is part of GCC.
diff --git a/libobjc/sarray.c b/libobjc/sarray.c
index f58c416a22d..0aa225d0c12 100644
--- a/libobjc/sarray.c
+++ b/libobjc/sarray.c
@@ -1,5 +1,5 @@
/* Sparse Arrays for Objective C dispatch tables
- Copyright (C) 1993, 1995, 1996, 2002, 2004, 2009, 2010
+ Copyright (C) 1993, 1995, 1996, 2002, 2004, 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of GCC.
diff --git a/libobjc/selector.c b/libobjc/selector.c
index 55ca7064bd2..767e02b6596 100644
--- a/libobjc/selector.c
+++ b/libobjc/selector.c
@@ -1,5 +1,5 @@
/* GNU Objective C Runtime selector related functions
- Copyright (C) 1993, 1995, 1996, 1997, 2002, 2004, 2009, 2010
+ Copyright (C) 1993, 1995, 1996, 1997, 2002, 2004, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by Kresten Krab Thorup
diff --git a/libquadmath/libquadmath.texi b/libquadmath/libquadmath.texi
index 1ce245e8e69..4dff6665bd1 100644
--- a/libquadmath/libquadmath.texi
+++ b/libquadmath/libquadmath.texi
@@ -6,7 +6,7 @@
@c %**end of header
@copying
-Copyright @copyright{} 2010 Free Software Foundation, Inc.
+Copyright @copyright{} 2010, 2011 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 7b3973f5456..e043d6bb89e 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,4687 +1,35 @@
-2012-12-21 Kai Tietz <ktietz@redhat.com>
+2013-01-07 Jonathan Wakely <jwakely.gcc@gmail.com>
- * config/os/mingw32/os_defines.h (_GLIBCXX_LLP64): Define if llp64
- abi is used.
- * config/os/mingw32-w64/os_defines.h: Likewise.
- * libsupc++/cxxabi.h (__base_class_type_info): Adjust
- type of __offset_flags for llp64.
- * libsupc++/eh_alloc.cc (EMERGENCY_OBJ_SIZE): Define proper
- for llp64 abi.
- (EMERGENCY_OBJ_COUNT): Likewise.
- (bitmask_type): Likewise.
- * libsupc++/hash_bytes.cc (_Hash_bytes): Handle llp64.
+ PR libstdc++/55847
+ * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
+ * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
+ string.
-2012-12-20 Jonathan Wakely <jwakely.gcc@gmail.com>
+ PR libstdc++/55728
+ * include/std/functional (bad_function_call::what()): Declare.
+ * src/c++11/functional.cc (bad_function_call::what()): Define.
+ * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
+ * testsuite/20_util/bad_function_call/what.cc: New.
- * include/std/functional (_Require): Move to ...
- * include/std/type_traits (_Require): ... here.
- * include/bits/shared_ptr_base.h (__shared_count::_S_create_from_up):
- Handle unique_ptr for arrays or with custom pointer types.
- (__shared_ptr::__shared_ptr(unique_ptr<_Tp1, _Del>&&): Likewise.
- * include/bits/unique_ptr.h (unique_ptr<_Tp[], _Dp>): Use
- _Dp::pointer if defined. Implement proposed resolution of LWG 2118.
- * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: New.
- * testsuite/20_util/unique_ptr/assign/cv_qual.cc: New.
- * testsuite/20_util/unique_ptr/cons/array_convertible_neg.cc: New.
- * testsuite/20_util/unique_ptr/cons/convertible_neg.cc: New.
- * testsuite/20_util/unique_ptr/cons/cv_qual.cc: New.
- * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: New.
- * testsuite/20_util/unique_ptr/requirements/pointer_type_array.cc: New.
- * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Adjust comments.
- * testsuite/20_util/unique_ptr/cons/pointer_array_convertible_neg.cc:
- Likewise.
- * testsuite/20_util/unique_ptr/requirements/pointer_type.cc: Likewise.
- * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line number.
- * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
- * testsuite/20_util/default_delete/48631_neg.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
- * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
- * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust
- dg-error text.
- * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Use
- different instantiations so static_assert fails for each.
+2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
-2012-12-20 Jonathan Wakely <jwakely.gcc@gmail.com>
+ * include/bits/unordered_map.h: Fix typo in comments.
+ * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
+ counts for unordered associative containers.
- PR libstdc++/55741
- * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Check for Sleep.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * src/c++11/thread.cc (__sleep_for): Use Sleep if available.
+2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
-2012-12-18 Jonathan Wakely <jwakely.gcc@gmail.com>
+ * doc/xml/manual/abi.xml: Update library and symbol versions.
- * doc/xml/manual/abi.xml: Update URLs for C++ ABI.
- * doc/xml/manual/policy_data_structures_biblio.xml: Add xmlns
- attribute.
- * doc/xml/manual/debug_mode.xml: Give filenames to chunks.
- * doc/xml/manual/diagnostics.xml: Likewise.
- * doc/xml/manual/extensions.xml: Likewise.
- * doc/xml/manual/bitmap_allocator.xml: Likewise.
- * doc/xml/manual/mt_allocator.xml: Likewise.
- * doc/xml/manual/policy_data_structures.xml: Likewise.
- * doc/xml/manual/parallel_mode.xml: Likewise.
- * doc/xml/manual/profile_mode.xml: Likewise.
- * doc/xml/manual/spine.xml: Likewise. Update copyright years.
- * doc/html/*: Regenerate.
+2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
-2012-12-17 Jonathan Wakely <jwakely.gcc@gmail.com>
+ * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
+ in copyright years.
+ * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
- * include/std/future (__async_sfinae_helper): Remove.
+
+Copyright (C) 2013 Free Software Foundation, Inc.
-2012-12-16 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * src/c++11/thread.cc (execute_native_thread_routine): Do not swallow
- __forced_unwind exceptions.
- * testsuite/30_threads/thread/native_handle/cancel.cc: New.
-
-2012-12-14 Steve Ellcey <sellcey@mips.com>
-
- * testsuite/21_strings/basic_string/append/wchar_t/3.cc: Shrink
- memory usage under simulator.
- * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Ditto.
- * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
- Ditto.
- * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
- Ditto.
-
-2012-12-13 Steve Ellcey <sellcey@mips.com>
-
- * testsuite/21_strings/basic_string/capacity/char/18654.cc: Shrink
- memory usage under simulator.
- * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Ditto.
- * testsuite/22_locale/collate/transform/char/28277.cc: Ditto.
- * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Ditto.
-
-2012-12-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * doc/xml/manual/documentation_hacking.xml: Fix validation issue.
-
-2012-12-11 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/55631
- * include/ext/alloc_traits.h: Include missing header.
- * include/ext/pointer.h: Likewise.
- * include/ext/string_conversions.h: Require C++11.
- * libsupc++/initializer_list: Reindent.
-
-2012-12-10 Benjamin Kosnik <bkoz@redhat.com>
-
- * doc/Makefile.am (xml_sources_manual): Add
- policy_data_structures_biblio.xml.
- (${docbook_outdir}/latex): Add.
- (doc-xml-validate-docbook): Split into..
- (doc-xml-validate-dtd-db):... this for DTD.
- (doc-xml-validate-rng-db):... this for Relax NG.
- (doc-pdf-docbook-dirs): Add.
- (doc-pdf-docbook-pre): Add.
- * doc/xml/manual/build_hacking.xml: Add literal markup.
- * doc/xml/manual/documentation_hacking.xml: Clean whitespace in
- <filename> markup. Add notes about debugging the generation process.
- * doc/xml/manual/policy_data_structures.xml: Split biblio into...
- * doc/xml/manual/policy_data_structures_biblio.xml: ... this. New.
- * doc/xml/manual/test_policy_data_structures.xml: Fixup <filename>
- markup.
-
-2012-12-10 Matthias Klose <doko@ubuntu.com>
-
- * src/Makefile.am (libstdc++-symbols.ver): Use CONFIG_HEADER.
- * src/Makefile.in: Regenerate.
-
-2012-12-09 Andreas Schwab <schwab@linux-m68k.org>
-
- * testsuite/lib/libstdc++.exp (dg-test): Unset testname_with_flags
- after running the test.
-
-2012-12-04 Andreas Schwab <schwab@linux-m68k.org>
-
- * include/Makefile.am (${host_builddir}/c++config.h): Replace
- [<space><tab>] by [<tab><space>].
- * include/Makefile.in: Regenerate.
-
-2012-12-04 Steven Bosscher <steven@gcc.gnu.org>
-
- * include/Makefile.am: Fix regexp broken by previous commit.
- * include/Makefile.in: Likewise.
-
-2012-12-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp:
- Remove.
- * include/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp:
- Remove.
- * include/Makefile.am (pb_headers): Remove include files.
- * include/Makefile.in: Regenerated.
-
-2012-12-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR libstdc++/55503
- * testsuite/30_threads/condition_variable/members/53841.cc: Add
- hppa*-hp-hpux11* to -pthread dg-options.
-
-2012-11-29 Kai Tietz <ktietz@redhat.com>
-
- PR target/55445
- * libsupc++/eh_personaltity.cc (__SEH__): Additional check
- for not being SjLj.
-
-2012-11-28 Andrew Pinski <apinski@cavium.com>
-
- PR bootstrap/54279
- * scripts/testsuite_flags.in (--build-cxx): Use xg++ instead of g++.
- * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
-
-2012-11-28 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/std/functional (_Mem_fn): Constrain function call operators
- to avoid ambiguities. Use perfect forwarding.
- * testsuite/20_util/function_objects/mem_fn/55463.cc: Additional
- tests.
- * testsuite/20_util/function_objects/mem_fn/forward.cc: New.
- * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
-
-2012-11-27 Ollie Wild <aaw@google.com>
-
- * include/bits/stl_tree.h (@headername): Fix incorrect Doxygen macro
- invocation.
-
-2012-11-26 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/std/functional (__is_socketlike): Change from class
- template to alias template.
-
-2012-11-26 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/55463
- * include/std/functional (_Mem_fn): Handle rvalue objects. Add
- noexcept-specifications.
- * testsuite/20_util/function_objects/mem_fn/55463.cc: New.
- * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
-
-2012-11-23 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/52680
- * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Check for usleep and
- sleep if nanosleep is not available. Bump libtool revision.
- * config.h.in: Regenerate.
- * configure: Likewise.
- * config/abi/pre/gnu.ver (GLIBCXX_3.4.18): Add __sleep_for.
- * include/std/thread (this_thread::__sleep_for): Add.
- (this_thread::yield, this_thread::sleep_until, this_thread::sleep_for):
- Declare unconditionally.
- * src/c++11/thread.cc (this_thread::__sleep_for): Define.
- * testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Rename to
- check_v3_target_sleep.
- * testsuite/lib/dg-options.exp (dg-require-nanosleep): Rename to
- dg-require-sleep.
- * testsuite/30_threads/condition_variable_any/53830.cc: Update.
- * testsuite/30_threads/this_thread/2.cc: Likewise.
- * testsuite/30_threads/this_thread/3.cc: Likewise.
- * testsuite/30_threads/this_thread/4.cc: Likewise.
- * testsuite/30_threads/async/54297.cc: Likewise.
-
-2012-11-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/55413
- * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Initialize
- __bbegin_bkt and __prev_bkt to avoid uninitialized warnings.
- * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
- dg-error line number.
-
-2012-11-20 Matthias Klose <doko@ubuntu.com>
-
- * doc/doxygen/user.cfg.in (ALIASES). Escape sharp braces.
- * include/bits/allocator.h: Escape sharp braces in comment.
- * include/profile/impl/profiler_algos.h: Likewise.
-
-2012-11-20 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/ext/array_allocator.h: Replace uses of
- __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
-
-2012-11-19 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * testsuite/20_util/allocator/requirements/typedefs.cc: Check rebind
- and improve propagate_on_container_move_assignment check.
-
-2012-11-19 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/bits/stl_algo.h (reverse_copy): Update comment per DR 2074.
- * include/bits/unordered_map.h: Apply DR 2005 resolution.
- * doc/xml/manual/status_cxx2011.xml: Update per DR 2048.
- * include/bits/allocator.h (allocator): Apply DR 2103 resolution.
- * include/ext/array_allocator.h: Likewise.
- * include/ext/bitmap_allocator.h: Likewise.
- * include/ext/malloc_allocator.h: Likewise.
- * include/ext/mt_allocator.h: Likewise.
- * include/ext/new_allocator.h: Likewise.
- * include/ext/pool_allocator.h: Likewise.
- * include/ext/throw_allocator.h: Likewise.
- * include/ext/alloc_traits.h (__allocator_always_compares_equal): Add
- additional specializations.
- * include/std/functional: Add comment about DR resolution.
- * include/std/future: Likewise.
- * include/std/scoped_allocator: Likewise.
- * include/std/thread: Likewise.
- * testsuite/20_util/allocator/requirements/typedefs.cc: New.
- * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
-
-2012-11-19 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/bits/hashtable.h: Improve comments.
- * include/bits/hashtable_policy.h: Likewise.
-
-2012-11-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/55363
- * include/std/array (tuple_size, tuple_element): Move out
- NAMESPACE_CONTAINER.
- * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
- dg-error line numbers.
- * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
- Likewise.
-
-2012-11-16 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove
- automatic shrink.
- (_Prime_rehash_policy::_M_bkt_for_elements): Do not call
- _M_next_bkt anymore.
- (_Prime_rehash_policy::_M_next_bkt): Move usage of
- _S_growth_factor ...
- (_Prime_rehash_policy::_M_need_rehash): ... here.
- * include/bits/hashtable.h (_Hashtable<>): Adapt.
- * testsuite/performance/23_containers/insert_erase/41975.cc: Add
- _USE_TR1 to force build using std::tr1 container.
- * testsuite/performance/23_containers/insert/unordered_set.cc:
- Likewise.
- * testsuite/performance/23_containers/insert/54075.cc: New.
-
-2012-11-16 Tom Tromey <tromey@redhat.com>
-
- * testsuite/libstdc++-prettyprinters/whatis.cc: New file.
- * testsuite/lib/gdb-test.exp (whatis-test): New proc.
- (gdb-test): Handle 'whatis' tests.
- (gdb_batch_check): New proc.
- (gdb_version_check): Rewrite to use gdb_batch_check.
- * python/libstdcxx/v6/printers.py: Import gdb.types.
- (FilteringTypePrinter): New class.
- (add_one_type_printer, register_type_printers): New functions.
- (register_libstdcxx_printers): Call register_type_printers.
-
-2012-11-15 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/53841
- * include/std/condition_variable (condition_variable::wait_until):
- Handle clocks with higher resolution than __clock_t.
- (condition_variable::__wait_until_impl): Remove unnecessary _Clock
- parameter.
- * testsuite/30_threads/condition_variable/members/53841.cc: New.
-
-2012-11-14 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/55320
- * include/std/functional (function::function(F)): Set _M_manager after
- operations that could throw.
- (_Function_base::_Ref_manager::_M_init_functor): Use addressof.
- * include/tr1/functional
- (_Function_base::_Ref_manager::_M_init_functor): Use addressof.
- (_Function_base::_Base_manager::_M_get_pointer): Likewise.
- * testsuite/20_util/function/cons/55320.cc: New.
- * testsuite/20_util/function/cons/addressof.cc: New.
- * testsuite/20_util/function/cons/callable.cc: Remove header.
- * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
- * testsuite/tr1/3_function_objects/function/10.cc: New.
-
-2012-11-14 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/26_numerics/complex/abi_tag.cc: Adjust expected
- demangling for 128bit long-double targets.
-
-2012-11-12 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/std/future (atomic_future): Remove declaration of
- non-standard name.
-
-2012-11-11 Jason Merrill <jason@redhat.com>
-
- * include/std/complex (real, imag): Add ABI tag in C++11 mode.
-
-2012-11-11 Andreas Schwab <schwab@linux-m68k.org>
-
- * doc/xml/chapter.txml: Remove whitespace inside <keyword>.
- * doc/xml/class.txml: Likewise.
- * doc/xml/manual/abi.xml: Likewise.
- * doc/xml/manual/algorithms.xml: Likewise.
- * doc/xml/manual/allocator.xml: Likewise.
- * doc/xml/manual/appendix_contributing.xml: Likewise.
- * doc/xml/manual/appendix_free.xml: Likewise.
- * doc/xml/manual/appendix_porting.xml: Likewise.
- * doc/xml/manual/atomics.xml: Likewise.
- * doc/xml/manual/auto_ptr.xml: Likewise.
- * doc/xml/manual/backwards_compatibility.xml: Likewise.
- * doc/xml/manual/bitmap_allocator.xml: Likewise.
- * doc/xml/manual/build_hacking.xml: Likewise.
- * doc/xml/manual/codecvt.xml: Likewise.
- * doc/xml/manual/concurrency.xml: Likewise.
- * doc/xml/manual/concurrency_extensions.xml: Likewise.
- * doc/xml/manual/configure.xml: Likewise.
- * doc/xml/manual/containers.xml: Likewise.
- * doc/xml/manual/ctype.xml: Likewise.
- * doc/xml/manual/debug.xml: Likewise.
- * doc/xml/manual/debug_mode.xml: Likewise.
- * doc/xml/manual/diagnostics.xml: Likewise.
- * doc/xml/manual/extensions.xml: Likewise.
- * doc/xml/manual/internals.xml: Likewise.
- * doc/xml/manual/intro.xml: Likewise.
- * doc/xml/manual/io.xml: Likewise.
- * doc/xml/manual/iterators.xml: Likewise.
- * doc/xml/manual/locale.xml: Likewise.
- * doc/xml/manual/localization.xml: Likewise.
- * doc/xml/manual/messages.xml: Likewise.
- * doc/xml/manual/mt_allocator.xml: Likewise.
- * doc/xml/manual/numerics.xml: Likewise.
- * doc/xml/manual/parallel_mode.xml: Likewise.
- * doc/xml/manual/policy_data_structures.xml: Likewise.
- * doc/xml/manual/prerequisites.xml: Likewise.
- * doc/xml/manual/profile_mode.xml: Likewise.
- * doc/xml/manual/shared_ptr.xml: Likewise.
- * doc/xml/manual/status_cxx1998.xml: Likewise.
- * doc/xml/manual/status_cxx2011.xml: Likewise.
- * doc/xml/manual/status_cxxtr1.xml: Likewise.
- * doc/xml/manual/status_cxxtr24733.xml: Likewise.
- * doc/xml/manual/strings.xml: Likewise.
- * doc/xml/manual/support.xml: Likewise.
- * doc/xml/manual/test.xml: Likewise.
- * doc/xml/manual/using_exceptions.xml: Likewise.
- * doc/xml/manual/utilities.xml: Likewise.
- * doc/xml/spine.xml: Likewise.
-
- * acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Also check for
- /usr/share/xml/docbook/stylesheet/nwalsh5/current.
- * configure: Regenerate.
-
-2012-11-11 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/policy_data_structures.xml: Update reference
- for select.
-
-2012-11-10 Jason Merrill <jason@redhat.com>
-
- * many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
-
-2012-11-08 François Dumont <fdumont@gcc.gnu.org>
-
- PR libstdc++/54075
- * include/bits/hashtable.h (_Hashtable<>::rehash): Reset hash
- policy state if no rehash.
- * testsuite/23_containers/unordered_set/modifiers/reserve.cc
- (test02): New.
-
-2012-11-08 Paolo Carlini <paolo.carlini@oracle.com>
-
- * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
- Don't pass -D_GLIBCXX_DEBUG by hand (check-debug does).
-
-2012-11-08 Florian Weimer <fweimer@redhat.com>
-
- * testsuite/18_support/cxa_vec.cc: Fix typo in comment.
-
-2012-11-08 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/profile/iterator_tracker.h (operator++): Fix returning
- dangling reference.
- (operator--): Likewise.
-
-2012-11-07 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/debug/array (_GLIBCXX_THROW_OR_ABORT): Move...
- * include/bits/c++config: ... here.
- * include/bits/shared_ptr_base.h (__throw_bad_weak_ptr): Use it.
- * include/ext/pb_ds/exception.hpp: Likewise.
- * include/ext/throw_allocator.h (__throw_forced_error): Likewise.
- * include/ext/concurrence.h (__throw_concurrence_lock_error,
- __throw_concurrence_unlock_error, __throw_concurrence_broadcast_error,
- __throw_concurrence_wait_error): Likewise.
- * include/tr1/shared_ptr.h (__throw_bad_weak_ptr): Likewise.
- * include/tr1/functional (function<_Res(_ArgTypes...)>::operator()
- (_ArgTypes...)): Likewise.
- * libsupc++/eh_aux_runtime.cc (__cxxabiv1::__cxa_bad_cast,
- __cxxabiv1::__cxa_bad_typeid): Likewise.
- * libsupc++/vec.cc (compute_size): Likewise.
- * libsupc++/new_op.cc (operator new (std::size_t)): Likewise.
- * src/c++11/functexcept.cc: Likewise.
- * testsuite/util/io/illegal_input_error.hpp
- (__throw_illegal_input_error): Likewise.
- * libsupc++/eh_personality.cc: Avoid warning with -fno-exceptions.
- * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
- numbers.
- * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
- Likewise.
- * testsuite/23_containers/array/tuple_interface/
- tuple_element_debug_neg.cc: Likewise.
- * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
-
-2012-11-07 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/bits/stl_vector.h (vector(size_type)): Add missing allocator
- parameter.
- * include/bits/stl_bvector.h: Likewise.
- * include/debug/vector (vector(size_type)): Likewise.
- * include/profile/vector (vector(size_type)): Likewise. Pass allocator
- to base constructor.
- * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
- Adjust dg-error line numbers.
- * testsuite/23_containers/vector/requirements/dr438/
- constructor_1_neg.cc: Likewise.
- * testsuite/23_containers/vector/requirements/dr438/
- constructor_2_neg.cc: Likewise.
- * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
- Likewise.
-
-2012-11-06 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/51850
- * include/debug/array: New, debug-mode implementation.
- * include/profile/array: New.
- * include/std/array: Adjust.
- * include/std/tuple: Just include <array>.
- * include/Makefile.am: Add.
- * include/Makefile.in: Regenerate.
- * testsuite/23_containers/array/debug/front1_neg.cc: New.
- * testsuite/23_containers/array/debug/
- square_brackets_operator1_neg.cc: Likewise.
- * testsuite/23_containers/array/debug/front2_neg.cc: Likewise.
- * testsuite/23_containers/array/debug/
- square_brackets_operator2_neg.cc: Likewise.
- * testsuite/23_containers/array/debug/back1_neg.cc: Likewise.
- * testsuite/23_containers/array/debug/back2_neg.cc: Likewise.
- * testsuite/23_containers/array/tuple_interface/get_neg.cc: Tweak
- to run only in normal-mode.
- * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
- Likewise.
- * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: New.
- * testsuite/23_containers/array/tuple_interface/
- tuple_element_debug_neg.cc: Likewise.
-
-2012-11-06 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * testsuite/20_util/shared_ptr/cons/55123.cc: Remove duplicate
- include.
-
-2012-11-06 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/bits/atomic_base.h: Don't include <cstddef>, use nullptr.
- * include/std/atomic: Likewise.
- * include/tr2/dynamic_bitset: Likewise.
-
- * libsupc++/vec.cc (compute_size(std::size_t, std::size_t,
- std::size_t)): Fix for -fno-exceptions.
-
-2012-11-06 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/profile/map.h (map::emplace_hint): Add missing return.
-
-2012-11-05 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/profile/deque: Constrain InputIterator parameters.
- * include/profile/forward_list: Likewise.
- * include/profile/list: Likewise.
- * include/profile/map.h: Likewise.
- * include/profile/multimap.h: Likewise.
- * include/profile/set.h: Likewise.
- * include/profile/multiset.h: Likewise.
- * include/profile/vector: Likewise.
-
-2012-11-05 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/profile/forward_list: Update to meet allocator-aware
- requirements.
- * include/debug/forward_list: Likewise.
- * include/debug/vector: Verify allocators are swapped or equal.
- * include/debug/macros.h (__glibcxx_check_equal_allocs): Define.
- * include/debug/formatter.h: Add new debug message.
- * src/c++11/debug.cc: Likewise.
- * testsuite/23_containers/forward_list/allocator/swap.cc: Do not
- swap containers with non-propagating, non-equal allocators.
- * testsuite/23_containers/vector/allocator/swap.cc: Likewise.
-
-2012-11-05 Benjamin Kosnik <bkoz@redhat.com>
- Oleg Smolsky <oleg@smolsky.net>
-
- PR libstdc++/55028
- * config/abi/pre/gnu-versioned-namespace.ver: Add symbols.
- * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc: New.
-
-2012-10-05 François Dumont <fdumont@gcc.gnu.org>
-
- * include/ext/throw_allocator.h (__throw_value_base): Add move
- semantic, not throwing.
- (__throw_value_limit): Likewise.
- (__throw_value_random): Likewise.
- * testsuite/util/exception/safety.h: Add validation of C++11
- methods emplace/emplace_front/emplace_back/emplace_hint.
- * testsuite/util/testsuite_container_traits.h: Signal emplace
- support on deque, forward_list, list and vector.
- * testsuite/23_containers/deque/requirements/exception/
- propagation_consistent.cc: Remove dg-do run fail.
-
-2012-11-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/55215
- * include/bits/random.tcc (mersenne_twister_engine<>::seed(_Sseq&)):
- Assign state_size to _M_p.
- * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
- New.
- * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
- Likewise.
- * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
- Likewise.
- * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
- 55215.cc: Likewise.
- * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
- Likewise.
- * testsuite/26_numerics/random/linear_congruential_engine/cons/
- 55215.cc: Likewise.
-
-2012-11-03 Florian Weimer <fweimer@redhat.com>
-
- * libsupc++/vec.cc (compute_size): New.
- (__cxa_vec_new2, __cxa_vec_new3): Use it.
- * testsuite/18_support/cxa_vec.cc: New.
-
-2012-11-03 Robert Mason <rbmj@verizon.net>
-
- * config/os/vxworks/os_defines.h:
- Keep vxWorks from defining min()/max() as macros
-
-2012-11-03 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/html/*: Regenerate.
-
-2012-11-02 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/configure.xml: Adjust GNU libc link.
-
- * doc/xml/manual/debug.xml: Adjust GDB documentation link.
- Use GCC instead of gcc.
-
- * doc/xml/manual/prerequisites.xml: Remove detailed reference
- to binutils downloads.
-
-2012-11-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/55169
- * include/bits/random.h: Remove all uses of param().
- (chi_squared_distribution<>::__generate_impl(_ForwardIterator,
- _ForwardIterator, _UniformRandomNumberGenerator&)): Declare
- * include/bits/random.tcc: ... define.
- * include/ext/random: Remove all uses of param().
-
-2012-11-02 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/allocator.xml: Update reference to Hoard.
- Update reference to Berger's OOPSLA 2002 paper.
-
-2012-11-02 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
- (StdForwardListPrinter): Likewise.
-
-2012-11-02 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/bits/forward_list.h (forward_list(size_type)): Add missing
- allocator parameter.
- (_Fwd_list_node_base): Use NSDMI and define constructor as defaulted.
- (_Fwd_list_node::_M_value): Replace with uninitialized storage.
- (_Fwd_list_node::_M_valptr()): Define functions to access storage.
- (_Fwd_list_iterator, _Fwd_list_const_iterator): Use _M_valptr.
- (_Fwd_list_base::_M_create_node): Only use allocator to construct the
- element not the node.
- * include/bits/forward_list.tcc (_Fwd_list_base::_M_erase_after): Only
- use allocator to destroy the element not the node.
- * testsuite/23_containers/forward_list/cons/11.cc: Remove unused
- headers.
- * testsuite/23_containers/forward_list/cons/12.cc: Likewise.
- * testsuite/23_containers/forward_list/cons/13.cc: New.
- * testsuite/23_containers/forward_list/cons/14.cc: New.
-
-2012-11-02 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/codecvt.xml: Fix reference to Austin Common
- Standards Revision Group.
- * doc/xml/manual/messages.xml: Ditto.
- * doc/xml/manual/using_exceptions.xml: Ditto.
-
- * doc/xml/manual/messages.xml: Fix reference to GNU gettext.
-
- * doc/xml/manual/policy_data_structures.xml: Fix reference to
- STL at SGI.
- Update reference to COM at Microsoft.
- Update reference to Worst-case efficient priority queues at ACM.
-
-2012-11-01 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * testsuite/18_support/initializer_list/range_access.cc: Fix copying
- permission statement.
- * testsuite/20_util/specialized_algorithms/uninitialized_copy/
- 808590.cc: Likewise.
- * testsuite/20_util/specialized_algorithms/uninitialized_copy/
- move_iterators/1.cc: Likewise.
- * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
- move_iterators/1.cc: Likewise.
- * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
- Likewise.
- * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
- Likewise.
- * testsuite/21_strings/basic_string/range_access/char/1.cc: Likewise.
- * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc:
- Likewise.
- * testsuite/23_containers/array/element_access/at_neg.cc: Likewise.
- * testsuite/23_containers/array/range_access.cc: Likewise.
- * testsuite/23_containers/deque/capacity/29134-2.cc: Likewise.
- * testsuite/23_containers/deque/capacity/29134.cc: Likewise.
- * testsuite/23_containers/deque/capacity/shrink_to_fit.cc: Likewise.
- * testsuite/23_containers/deque/range_access.cc: Likewise.
- * testsuite/23_containers/deque/requirements/do_the_right_thing.cc:
- Likewise.
- * testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
- * testsuite/23_containers/forward_list/cons/1.cc: Likewise.
- * testsuite/23_containers/forward_list/cons/10.cc: Likewise.
- * testsuite/23_containers/forward_list/cons/11.cc: Likewise.
- * testsuite/23_containers/forward_list/cons/12.cc: Likewise.
- * testsuite/23_containers/forward_list/cons/2.cc: Likewise.
- * testsuite/23_containers/forward_list/cons/3.cc: Likewise.
- * testsuite/23_containers/forward_list/cons/4.cc: Likewise.
- * testsuite/23_containers/forward_list/cons/5.cc: Likewise.
- * testsuite/23_containers/forward_list/cons/6.cc: Likewise.
- * testsuite/23_containers/forward_list/cons/7.cc: Likewise.
- * testsuite/23_containers/forward_list/cons/8.cc: Likewise.
- * testsuite/23_containers/forward_list/cons/9.cc: Likewise.
- * testsuite/23_containers/forward_list/debug/clear.cc: Likewise.
- * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/move_constructor.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/splice_after.cc: Likewise.
- * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/swap.cc: Likewise.
- * testsuite/23_containers/forward_list/modifiers/1.cc: Likewise.
- * testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
- * testsuite/23_containers/forward_list/modifiers/3.cc: Likewise.
- * testsuite/23_containers/forward_list/modifiers/4.cc: Likewise.
- * testsuite/23_containers/forward_list/modifiers/5.cc: Likewise.
- * testsuite/23_containers/forward_list/modifiers/6.cc: Likewise.
- * testsuite/23_containers/forward_list/operations/1.cc: Likewise.
- * testsuite/23_containers/forward_list/operations/2.cc: Likewise.
- * testsuite/23_containers/forward_list/operations/3.cc: Likewise.
- * testsuite/23_containers/forward_list/operations/4.cc: Likewise.
- * testsuite/23_containers/forward_list/operations/5.cc: Likewise.
- * testsuite/23_containers/forward_list/operations/6.cc: Likewise.
- * testsuite/23_containers/forward_list/operations/7.cc: Likewise.
- * testsuite/23_containers/forward_list/range_access.cc: Likewise.
- * testsuite/23_containers/forward_list/requirements/
- do_the_right_thing.cc: Likewise.
- * testsuite/23_containers/list/capacity/1.cc: Likewise.
- * testsuite/23_containers/list/capacity/1.h: Likewise.
- * testsuite/23_containers/list/capacity/29134.cc: Likewise.
- * testsuite/23_containers/list/modifiers/1.cc: Likewise.
- * testsuite/23_containers/list/modifiers/1.h: Likewise.
- * testsuite/23_containers/list/modifiers/1_c++0x.cc: Likewise.
- * testsuite/23_containers/list/modifiers/2.cc: Likewise.
- * testsuite/23_containers/list/modifiers/2.h: Likewise.
- * testsuite/23_containers/list/modifiers/3.cc: Likewise.
- * testsuite/23_containers/list/modifiers/3.h: Likewise.
- * testsuite/23_containers/list/modifiers/insert/25288.cc: Likewise.
- * testsuite/23_containers/list/modifiers/insert/25288.h: Likewise.
- * testsuite/23_containers/list/operations/1.cc: Likewise.
- * testsuite/23_containers/list/operations/1.h: Likewise.
- * testsuite/23_containers/list/operations/2.cc: Likewise.
- * testsuite/23_containers/list/operations/2.h: Likewise.
- * testsuite/23_containers/list/operations/2_c++0x.cc: Likewise.
- * testsuite/23_containers/list/operations/3.cc: Likewise.
- * testsuite/23_containers/list/operations/3.h: Likewise.
- * testsuite/23_containers/list/operations/3_c++0x.cc: Likewise.
- * testsuite/23_containers/list/operations/4.cc: Likewise.
- * testsuite/23_containers/list/operations/4.h: Likewise.
- * testsuite/23_containers/list/operations/42352.cc: Likewise.
- * testsuite/23_containers/list/operations/5.cc: Likewise.
- * testsuite/23_containers/list/operations/5.h: Likewise.
- * testsuite/23_containers/list/range_access.cc: Likewise.
- * testsuite/23_containers/list/requirements/do_the_right_thing.cc:
- Likewise.
- * testsuite/23_containers/map/capacity/29134.cc: Likewise.
- * testsuite/23_containers/map/range_access.cc: Likewise.
- * testsuite/23_containers/multimap/capacity/29134.cc: Likewise.
- * testsuite/23_containers/multimap/range_access.cc: Likewise.
- * testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
- * testsuite/23_containers/multiset/range_access.cc: Likewise.
- * testsuite/23_containers/set/capacity/29134.cc: Likewise.
- * testsuite/23_containers/set/range_access.cc: Likewise.
- * testsuite/23_containers/unordered_map/final_hash.cc: Likewise.
- * testsuite/23_containers/unordered_map/observers.cc: Likewise.
- * testsuite/23_containers/unordered_map/range_access.cc: Likewise.
- * testsuite/23_containers/unordered_map/requirements/52942.cc:
- Likewise.
- * testsuite/23_containers/unordered_map/requirements/53067.cc:
- Likewise.
- * testsuite/23_containers/unordered_map/requirements/53339.cc:
- Likewise.
- * testsuite/23_containers/unordered_multimap/final_hash.cc: Likewise.
- * testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
- * testsuite/23_containers/unordered_multimap/range_access.cc: Likewise.
- * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
- Likewise.
- * testsuite/23_containers/unordered_multiset/final_hash.cc: Likewise.
- * testsuite/23_containers/unordered_multiset/observers.cc: Likewise.
- * testsuite/23_containers/unordered_multiset/range_access.cc: Likewise.
- * testsuite/23_containers/unordered_set/final_hash.cc: Likewise.
- * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
- * testsuite/23_containers/unordered_set/observers.cc: Likewise.
- * testsuite/23_containers/unordered_set/range_access.cc: Likewise.
- * testsuite/23_containers/unordered_set/requirements/52942.cc:
- Likewise.
- * testsuite/23_containers/unordered_set/requirements/53067.cc:
- Likewise.
- * testsuite/23_containers/vector/bool/capacity/29134.cc: Likewise.
- * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
- Likewise.
- * testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.
- * testsuite/23_containers/vector/capacity/29134.cc: Likewise.
- * testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Likewise.
- * testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: Likewise.
- * testsuite/23_containers/vector/range_access.cc: Likewise.
- * testsuite/23_containers/vector/requirements/do_the_right_thing.cc:
- Likewise.
- * testsuite/24_iterators/range_access.cc: Likewise.
- * testsuite/25_algorithms/copy/1.cc: Likewise.
- * testsuite/25_algorithms/copy/2.cc: Likewise.
- * testsuite/25_algorithms/copy/3.cc: Likewise.
- * testsuite/25_algorithms/copy/34595.cc: Likewise.
- * testsuite/25_algorithms/copy/4.cc: Likewise.
- * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
- * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
- * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
- * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
- * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
- * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
- * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
- Likewise.
- * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
- Likewise.
- * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
- Likewise.
- * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
- Likewise.
- * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
- * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
- * testsuite/25_algorithms/copy_n/1.cc: Likewise.
- * testsuite/25_algorithms/copy_n/2.cc: Likewise.
- * testsuite/25_algorithms/copy_n/3.cc: Likewise.
- * testsuite/25_algorithms/copy_n/4.cc: Likewise.
- * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
- * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
- * testsuite/25_algorithms/fill/4.cc: Likewise.
- * testsuite/25_algorithms/fill_n/1.cc: Likewise.
- * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc:
- Likewise.
- * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc:
- Likewise.
- * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
- Likewise.
- * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
- Likewise.
- * testsuite/25_algorithms/heap/1.cc: Likewise.
- * testsuite/25_algorithms/heap/moveable.cc: Likewise.
- * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
- * testsuite/25_algorithms/is_heap/1.cc: Likewise.
- * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
- * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
- * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
- * testsuite/25_algorithms/move/1.cc: Likewise.
- * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
- * testsuite/25_algorithms/move_backward/1.cc: Likewise.
- * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
- * testsuite/25_algorithms/partition/1.cc: Likewise.
- * testsuite/25_algorithms/partition/moveable.cc: Likewise.
- * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
- * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
- * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
- * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
- * testsuite/25_algorithms/stable_partition/pr52822.cc: Likewise.
- * testsuite/26_numerics/valarray/range_access.cc: Likewise.
- * testsuite/28_regex/range_access.cc: Likewise.
- * testsuite/ext/vstring/capacity/29134.cc: Likewise.
- * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
- * testsuite/ext/vstring/hash/char/1.cc: Likewise.
- * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
- * testsuite/ext/vstring/range_access.cc: Likewise.
- * testsuite/ext/vstring/requirements/do_the_right_thing.cc: Likewise.
- * testsuite/performance/25_algorithms/copy_backward_deque_iterators.cc:
- Likewise.
- * testsuite/performance/25_algorithms/copy_deque_iterators.cc:
- Likewise.
- * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
- Likewise.
- * testsuite/tr1/6_containers/unordered_multimap/capacity/
- 29134-multimap.cc: Likewise.
- * testsuite/tr1/6_containers/unordered_multiset/capacity/
- 29134-multiset.cc: Likewise.
- * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
- Likewise.
-
-2012-11-01 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/hashtable_policy.h (__details::_Before_begin<>):
- New, combine a base node instance and an allocator.
- * include/bits/hashtable.h (_Hashtable<>::_M_node_allocator): Remove.
- (_Hashtable<>::_M_before_begin): Rename into _M_bbegin and type
- modified to __detail::_Before_begin<>.
- (_Hashtable<>::_M_node_allocator()): New, get the node allocator
- part of _M_bbegin.
- (_Hashtable<>::_M_before_begin()): New, get the before begin node
- part of _M_bbegin.
- (_Hashtable<>): Adapt to use latter.
-
-2012-11-01 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/bits/forward_list.h (forward_list::assign): Dispatch to new
- functions based on assignability of elements.
- (forward_list::_M_assign): Add overloaded functions for assigning
- via assignment or via clearing and insertion.
- (forward_list::_M_assign_val): Likewise.
- (forward_list::_M_move_assign(forward_list&&, false_type)): Do not
- erase elements that are not moved.
- * include/bits/forward_list.tcc (forward_list::operator=): Call
- assign() to copy elements.
- * testsuite/23_containers/forward_list/cons/10.cc: New.
- * testsuite/23_containers/forward_list/cons/11.cc: New.
- * testsuite/23_containers/forward_list/cons/12.cc: New.
-
-2012-10-31 Jonathan Yong <jon_y@users.sourceforge.net>
-
- * config/os/mingw32-w64/os_defines.h: Do not define anymore
- _GLIBCXX_HAVE_BROKEN_VSWPRINTF.
-
-2012-10-31 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/bits/forward_list.h (forward_list): Adjust comments.
- (forward_list(const forward_list&, const _Alloc&)): Use
- _M_range_initialize to copy elements.
- (forward_list(forward_list&&, const _Alloc&)): Add exception
- specification.
- (_Fwd_list_base(const _Fwd_list_base&, const _Node_alloc_type&)):
- Remove.
- * include/bits/forward_list.tcc (_Fwd_list_base(const _Fwd_list_base&,
- const _Node_alloc_type&)): Remove.
- (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Fix
- memory leak when allocators are not equal.
-
-2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/55123
- * include/bits/shared_ptr_base.h (__shared_count::_S_create_from_up):
- Do not instantiate allocator with element_type.
- * testsuite/20_util/shared_ptr/cons/55123.cc: New.
-
-2012-10-28 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/55041
- * python/libstdcxx/v6/printers.py (Tr1UnorderedMapPrinter): Update
- to handle hashtable as member of unordered_map not base class.
- (Tr1UnorderedSetPrinter): Likewise.
-
-2012-10-27 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/unordered_map.h (unordered_map<>): Prefer
- aggregation to inheritance with _Hashtable.
- (unordered_multimap<>): Likewise.
- * include/bits/unordered_set.h
- (unordered_set<>(const unordered_set&)): Use default
- implementation.
- (unordered_set<>(unordered_set&&)): Likewise.
- (unordered_set<>::operator=(const unordered_set&)): Likewise.
- (unordered_set<>::operator=(unordered_set&&)): Likewise.
- (unordered_multiset<>(const unordered_multiset&)): Likewise.
- (unordered_multiset<>(unordered_multiset&&)): Likewise.
- (unordered_multiset<>::operator=(const unordered_multiset&)):
- Likewise.
- (unordered_multiset<>::operator=(unordered_multiset&&)): Likewise.
- * include/debug/unordered_map (operator==): Adapt.
- * include/profile/unordered_map (operator==): Adapt.
-
-2012-10-24 Daniel Krugler <daniel.kruegler@gmail.com>
-
- * include/std/type_traits (common_type): Implement LWG 2141.
- * testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
- Update.
- * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
- * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
- Likewise.
- * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
- Likewise.
- * testsuite/20_util/common_type/requirements/typedefs-2.cc: Likewise.
-
-2012-10-24 Haakan Younes <hyounes@google.com>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/55047
- * include/bits/random.h (exponential_distribution<>::operator):
- Fix formula to std::log(result_type(1) - __aurng()).
- * include/bits/random.tcc: Likewise, everywhere.
-
-2012-10-23 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * config/cpu/aarch64/cxxabi_tweaks.h: New file.
- * configure.host: Enable aarch64.
-
-2012-10-22 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/unordered_set.h (unordered_set<>): Prefer
- aggregation to inheritance with _Hashtable.
- (unordered_multiset<>): Likewise.
- * include/debug/unordered_set (operator==): Adapt.
- * include/profile/unordered_set (operator==): Adapt.
-
-2012-10-22 Yufeng Zhang <yufeng.zhang@arm.com>
- Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/xml/manual/configure.xml (--enable-clocale): Document the
- 'newlib' and 'darwin' options. Minor stylistic improvements.
-
-2012-10-21 François Dumont <fdumont@gcc.gnu.org>
-
- * include/profile/map.h (map::emplace_hint): Remove invalid
- parenthesis.
-
-2012-10-21 Hans-Peter Nilsson <hp@bitrange.com>
-
- * testsuite/23_containers/bitset/45713.cc: Skip for mmix-*-*.
- Tweak sizetype-related comment.
-
-2012-10-20 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/std/scoped_allocator: Avoid badname.
-
-2012-10-19 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/xml/manual/status_cxx2011.xml: Update.
-
-2012-10-19 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/std/scoped_allocator (__outermost_alloc_traits): Define.
- (scoped_allocator_adaptor::destroy): Use it.
- (scoped_allocator_adaptor::construct): Likewise. Overload for
- piecewise construction of std::pair objects.
- * testsuite/20_util/scoped_allocator/2.cc: New.
- * doc/xml/manual/status_cxx2011.xml: Update.
-
-2012-10-18 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/bits/forward_list.h: Add C++11 allocator support.
- * include/bits/forward_list.tcc: Likewise.
- * doc/xml/manual/status_cxx2011.xml: Update.
- * testsuite/23_containers/forward_list/allocator/copy.cc: New.
- * testsuite/23_containers/forward_list/allocator/copy_assign.cc: New.
- * testsuite/23_containers/forward_list/allocator/minimal.cc: New.
- * testsuite/23_containers/forward_list/allocator/move_assign.cc: New.
- * testsuite/23_containers/forward_list/allocator/noexcept.cc: New.
- * testsuite/23_containers/forward_list/allocator/swap.cc: New.
-
-2012-10-18 François Dumont <fdumont@gcc.gnu.org>
-
- * include/debug/formatter.h (_Debug_msg_id): Add
- __msg_valid_load_factor.
- * include/debug/macros.h (__glibcxx_check_max_load_factor): New.
- * include/debug/unordered_set
- (unordered_set<>::max_load_factor(float)): Check max load factor
- is positive.
- (unordered_multiset<>::max_load_factor(float)): Likewise.
- * include/debug/unordered_map
- (unordered_map<>::max_load_factor(float)): Likewise.
- (unordered_multimap<>::max_load_factor(float)): Likewise.
- * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
- New.
- * testsuite/23_containers/unordered_multimap/debug/
- max_load_factor_neg.cc: New.
- * testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc:
- New.
- * testsuite/23_containers/unordered_multiset/debug/
- max_load_factor_neg.cc: New.
-
-2012-10-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/move.h (move_if_noexcept): Mark constexpr.
- * include/std/array (front, back): Same.
- * include/std/chrono: Add comment.
- * include/std/tuple (__tuple_compare): Mark __eq, __less constexpr.
- (operator ==, <, >, !=, <=, >=): Same.
- * testsuite/20_util/forward/c_neg.cc: Adjust line numbers.
- * testsuite/20_util/forward/f_neg.cc: Same.
- * testsuite/20_util/move_if_noexcept/constexpr.cc: New.
- * testsuite/20_util/tuple/comparison_operators/constexpr.cc: New.
- * testsuite/20_util/tuple/creation_functions/constexpr.cc: Add.
- * testsuite/23_containers/array/element_access/
- constexpr_element_access.cc: Same.
- * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
- line numbers.
- * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
- Same.
-
- * testsuite/20_util/tuple/comparison_operators/35480_neg.cc:
- Temporarily add dg-excess-errors.
-
-2012-10-16 François Dumont <fdumont@gcc.gnu.org>
-
- * include/debug/formatter.h (_Debug_msg_id): Add
- __msg_bucket_index_oob.
- * include/debug/macros.h (__glibcxx_check_bucket_index): New.
- * include/debug/unordered_set (unordered_set<>::begin(size_type)):
- Add check on bucket index.
- (unordered_set<>::begin(size_type) const): Likewise.
- (unordered_set<>::cbegin(size_type) const): Likewise.
- (unordered_set<>::end(size_type)): Likewise.
- (unordered_set<>::end(size_type) const): Likewise.
- (unordered_set<>::cend(size_type) const): Likewise.
- (unordered_set<>::bucket_size(size_type)): Likewise.
- (unordered_multiset<>::begin(size_type)): Likewise.
- (unordered_multiset<>::begin(size_type) const): Likewise.
- (unordered_multiset<>::cbegin(size_type) const): Likewise.
- (unordered_multiset<>::end(size_type)): Likewise.
- (unordered_multiset<>::end(size_type) const): Likewise.
- (unordered_multiset<>::cend(size_type) const): Likewise.
- (unordered_multiset<>::bucket_size(size_type)): Likewise.
- * include/debug/unordered_map (unordered_map<>::begin(size_type)):
- Likewise.
- (unordered_map<>::begin(size_type) const): Likewise.
- (unordered_map<>::cbegin(size_type) const): Likewise.
- (unordered_map<>::end(size_type)): Likewise.
- (unordered_map<>::end(size_type) const): Likewise.
- (unordered_map<>::cend(size_type) const): Likewise.
- (unordered_map<>::bucket_size(size_type)): Likewise.
- (unordered_multimap<>::begin(size_type)): Likewise.
- (unordered_multimap<>::begin(size_type) const): Likewise.
- (unordered_multimap<>::cbegin(size_type) const): Likewise.
- (unordered_multimap<>::end(size_type)): Likewise.
- (unordered_multimap<>::end(size_type) const): Likewise.
- (unordered_multimap<>::cend(size_type) const): Likewise.
- (unordered_multimap<>::bucket_size(size_type)): Likewise.
- * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
- New.
- * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: New.
- * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: New.
- * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: New.
- * testsuite/23_containers/unordered_map/debug/end1_neg.cc: New.
- * testsuite/23_containers/unordered_map/debug/end2_neg.cc: New.
- * testsuite/23_containers/unordered_map/debug/cend_neg.cc: New.
- * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
- New.
- * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: New.
- * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: New.
- * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: New.
- * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: New.
- * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: New.
- * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: New.
- * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
- New.
- * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: New.
- * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: New.
- * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: New.
- * testsuite/23_containers/unordered_set/debug/end1_neg.cc: New.
- * testsuite/23_containers/unordered_set/debug/end2_neg.cc: New.
- * testsuite/23_containers/unordered_set/debug/cend_neg.cc: New.
- * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
- New.
- * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc: New.
- * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc: New.
- * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc: New.
- * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: New.
- * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: New.
- * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc: New.
-
-2012-10-15 Matthias Klose <doko@ubuntu.com>
-
- * configure.host: Match arm*-*-linux-* for ARM Linux/GNU.
- * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
- * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
-
-2012-10-15 Pavel Chupin <pavel.v.chupin@intel.com>
-
- * Makefile.in: Regenerate.
- * acinclude.m4: Replace code with GCC_AC_THREAD_HEADER use.
- * configure: Regenerate.
- * doc/Makefile.in: Regenerate.
- * include/Makefile.am: Regenerate.
- * include/Makefile.in: Rename variable.
- * libsupc++/Makefile.in: Regenerate.
- * po/Makefile.in: Regenerate.
- * python/Makefile.in: Regenerate.
- * src/Makefile.in: Regenerate.
- * src/c++11/Makefile.in: Regenerate.
- * src/c++98/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2012-10-14 Jason Merrill <jason@redhat.com>
-
- PR target/54908
- * libsupc++/atexit_thread.cc: Rewrite to keep the cleanup list
- with get/setspecific. Destroy the key on dlclose.
-
-2012-10-12 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- * include/ext/random: Add __gnu_cxx::arcsine_distribution<>
- and __gnu_cxx::hoyt_distribution<> classes.
- * include/ext/random.tcc: Add out-of-line functions for
- __gnu_cxx::arcsine_distribution<> and __gnu_cxx::hoyt_distribution<>.
- * testsuite/ext/random/hoyt_distribution/cons/parms.cc: New file.
- * testsuite/ext/random/hoyt_distribution/cons/default.cc: New file.
- * testsuite/ext/random/hoyt_distribution/requirements/
- explicit_instantiation/1.cc: New file.
- * testsuite/ext/random/hoyt_distribution/requirements/typedefs.cc:
- New file.
- * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: New file.
- * testsuite/ext/random/hoyt_distribution/operators/equal.cc: New file.
- * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
- New file.
- * testsuite/ext/random/arcsine_distribution/cons/parms.cc: New file.
- * testsuite/ext/random/arcsine_distribution/cons/default.cc: New file.
- * testsuite/ext/random/arcsine_distribution/requirements/
- explicit_instantiation/1.cc: New file.
- * testsuite/ext/random/arcsine_distribution/requirements/typedefs.cc:
- New file.
- * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
- New file.
- * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
- New file.
- * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
- New file.
-
-2012-10-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/bits/hashtable_policy.h: Revert libstdc++/53067 quick
- hacks thanks to the resolution of c++/51213.
-
-2012-10-11 Paolo Carlini <paolo.carlini@oracle.com>
-
- * testsuite/23_containers/bitset/45713.cc: Tweak.
-
-2012-10-11 Hans-Peter Nilsson <hp@axis.com>
-
- PR testsuite/54897
- * testsuite/23_containers/bitset/45713.cc: Skip for avr*-*-*
- cris*-*-* h8300*-*-* mcore*-*-* moxie*-*-*.
-
-2012-10-11 Daniel Krugler <daniel.kruegler@gmail.com>
-
- * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
- Update / extend.
- * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
- Likewise.
- * testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
- Likewise.
-
-2012-10-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libstdc++/54872
- * config/abi/pre/gnu.ver (GLIBCXX_3.4.11) [!__sun__ && !__svr4__]:
- Don't export _ZNSt12system_errorC*.
-
-2012-10-10 Jack Howarth <howarth@bromo.med.uc.edu>
- Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/54847
- * config/os/bsd/darwin/os_defines.h: Define _GLIBCXX_USE_NANOSLEEP
- and _GLIBCXX_USE_SCHED_YIELD.
- * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add comment.
-
-2012-10-10 Mark Kettenis <kettenis@openbsd.org>
-
- * configure.host (*-*-openbsd*) Set cpu_include_dir.
- * config/os/bsd/openbsd/ctype_base.h: New file.
- * config/os/bsd/openbsd/ctype_configure_char.cc: New file.
- * config/os/bsd/openbsd/ctype_inline.h: New file.
- * config/os/bsd/openbsd/os_defines.h: New file.
- * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Use newlib locale model
- for OpenBSD.
- * configure: Regenerated.
-
-2012-10-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/std/type_traits (__do_common_type_impl): Revert for now
- LWG 2141-related change.
- * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
- * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
- Adjust.
-
-2012-10-09 Daniel Krugler <daniel.kruegler@gmail.com>
-
- * include/std/type_traits (common_type): Provide "SFINAE-friendly"
- implementation.
- (__success_type, __failure_type): Fix.
- * include/std/chrono (common_type): Likewise for the chrono::time_point
- specialization.
- * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc: New.
- * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
- Likewise.
- * testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
- Likewise.
- * testsuite/20_util/common_type/requirements/typedefs-1.cc: Adjust wrt
- LWG 2141.
- * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
- dg-error line numbers.
- * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
- * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
- * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
- * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
- Likewise.
- * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
-
- * testsuite/20_util/result_of/sfinae_friendly_1.cc: Trivial stylistic
- tweaks.
- * testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.
-
-2012-10-09 Andrew MacLeod <amacleod@redhat.com>
-
- PR libstdc++/54861
- * include/bits/atomic_base.h (atomic_signal_fence): Call
- __atomic_signal_fence instead of __atomic_thread_fence.
-
-2012-10-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc:
- Fix constant value.
-
-2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/54869
- * include/ext/random (simd_fast_mersenne_twister_engine): Provide
- only for little endian targets.
- * include/ext/random.tcc: Likewise.
- * config/cpu/i486/opt/ext/opt_random.h: Likewise.
- * testsuite/lib/libstdc++.exp (check_v3_target_little_endian): Add.
- * testsuite/lib/dg-options.exp (dg-require-little-endian): Add.
- * testsuite/ext/random/simd_fast_mersenne_twister_engine/
- operators/equal.cc: Use the latter.
- * testsuite/ext/random/simd_fast_mersenne_twister_engine/
- operators/serialize.cc: Likewise.
- * testsuite/ext/random/simd_fast_mersenne_twister_engine/
- operators/inequal.cc: Likewise.
- * testsuite/ext/random/simd_fast_mersenne_twister_engine/
- cons/copy.cc: Likewise.
- * testsuite/ext/random/simd_fast_mersenne_twister_engine/
- cons/seed1.cc: Likewise.
- * testsuite/ext/random/simd_fast_mersenne_twister_engine/
- cons/seed2.cc: Likewise.
- * testsuite/ext/random/simd_fast_mersenne_twister_engine/
- cons/default.cc: Likewise.
- * testsuite/ext/random/simd_fast_mersenne_twister_engine/
- cons/seed_seq.cc: Likewise.
-
-2012-10-09 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/54754
- * include/parallel/compatibility.h: Use atomic built-ins when they are
- lock-free.
-
-2012-10-09 Uros Bizjak <ubizjak@gmail.com>
-
- * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.7.
-
-2012-10-08 Jason Merrill <jason@redhat.com>
-
- * libsupc++/cxxabi.h: Declare __cxa_thread_atexit.
- * libsupc++/atexit_thread.cc: New.
- * libsupc++/Makefile.am (nested_exception.lo): Add it.
- * config/abi/pre/gnu.ver: Add __cxa_thread_atexit.
-
-2012-10-07 Matthias Klose <doko@ubuntu.com>
-
- * testsuite/28_regex/algorithms/match/basic: Remove empty directory.
- * testsuite/28_regex/algorithms/match/extended: Likewise.
- * testsuite/28_regex/algorithms/match: Likewise.
-
-2012-10-06 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/52764
- * include/c_global/cstdint: Remove __STDC_LIMIT_MACROS and
- __STDC_CONSTANT_MACROS related macros.
-
-2012-10-06 Joe Seymour <jseymour@codesourcery.com>
-
- * include/tr2/dynamic_bitset: Fix cxxabi_forced.h include path.
-
-2012-10-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/28_regex/algorithms/match: Rename to...
- * testsuite/28_regex/algorithms/regex_match: ...this.
- * testsuite/28_regex/basic_regex/regex.cc: Rename to...
- * testsuite/28_regex/basic_regex/ctors/basic/default.cc: ...this.
- * testsuite/util/testsuite_regex.h: New.
- * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: New.
-
-2012-10-05 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line
- numbers.
-
-2012-10-05 Marc Glisse <marc.glisse@inria.fr>
-
- PR libstdc++/54686
- * include/c_global/cstdlib (abs(long long)): Define with
- __builtin_llabs when we have long long.
- (abs(long)): Use __builtin_labs.
- (abs(__int128)): Define when we have __int128.
-
-2012-10-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/c_global/cstdlib: Remove redundant pasto code protected
- by __GXX_EXPERIMENTAL_CXX0X__.
- * include/c_global/cwctype: Likewise.
- * include/c_global/ccomplex: Remove uses of obsolete macro
- _GLIBCXX_INCLUDE_AS_TR1.
- * include/c_global/cfloat: Likewise.
-
-2012-10-05 Marc Glisse <marc.glisse@inria.fr>
-
- PR libstdc++/54686
- * include/c_std/cstdlib (abs(long long)): Define with
- __builtin_llabs when we have long long.
- (abs(long)): Use __builtin_labs.
- (abs(__int128)): Define when we have __int128.
- * testsuite/26_numerics/headers/cstdlib/54686.c: New file.
-
-2012-10-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/53248
- * include/std/array (__array_traits<>): Add.
- (array<>): Allow for zero-size arrays of non default-constructible
- elements.
- * testsuite/23_containers/array/requirements/
- non_default_constructible.cc: New.
- * testsuite/23_containers/array/requirements/zero_sized_arrays.cc:
- Adjust.
- * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
- dg-error line numbers.
- * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
- Likewise.
-
-2012-10-02 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR other/53889
- * include/std/mutex (__recursive_mutex_base::~__recursive_mutex_base):
- Use __gthread_recursive_mutex_destroy.
- (__recursive_mutex_base::_S_destroy): Remove.
- (__recursive_mutex_base::_S_destroy_win32): Likewise.
- * include/ext/concurrence.h (__recursive_mutex::~__recursive_mutex):
- Use __gthread_recursive_mutex_destroy.
- (__recursive_mutex::_S_destroy): Remove.
- (__recursive_mutex::_S_destroy_win32): Likewise.
-
-2012-10-01 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/abi/pre/gnu-versioned-namespace.ver: Add more
- typeinfo/vtable exports.
-
-2012-10-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/54757
- * include/ext/random (rice_distribution<>::operator()): Use std::hypot
- only if _GLIBCXX_USE_C99_MATH_TR1.
- * include/ext/random.tcc (rice_distribution<>::__generate_impl):
- Likewise.
-
-2012-10-01 Daniel Krugler <daniel.kruegler@gmail.com>
-
- * include/std/type_traits (result_of): Provide "SFINAE-friendly"
- (see N3436) implementation.
- * testsuite/20_util/result_of/sfinae_friendly_1.cc: New.
- * testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.
- * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Tweak
- dg-error line numbers.
- * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
- Likewise.
- * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
-
-2012-09-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * doc/doxygen/user.cfg.in: Update to doxygen 1.8.2.
-
-2012-09-30 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/ext/ropeimpl.h (__uninitialized_fill_n_a): Fix using
- declaration.
- * testsuite/ext/rope/5.cc: New.
-
-2012-09-30 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/54577
- * doc/xml/manual/status_cxx2011.xml: N2350 changes are missing from
- sequence containers.
- * doc/html/*: Regenerate.
-
-2012-09-29 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/34106
- * include/parallel/compatibility.h: Remove non-GCC code.
-
-2012-09-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * fragment.am (CONFIG_CXXFLAGS): Remove EXTRA_CXX_FLAGS.
- * libsupc++/Makefile.am (LTCXXCOMPILE): Add EXTRA_CXX_FLAGS here.
- * src/Makefile.am: Same.
- * src/c++98/Makefile.am: Same.
- * src/c++11/Makefile.am: Same.
- * Makefile.in: Regenerated.
- * src/Makefile.am: Same.
- * src/c++11/Makefile.in: Same.
- * src/c++98/Makefile.in: Same.
- * include/Makefile.in: Same.
- * po/Makefile.in: Same.
- * python/Makefile.in: Same.
- * testsuite/Makefile.in: Same.
-
-2012-09-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/c++98/Makefile.am: Fixup PARALLEL_FLAGS.
-
-2012-09-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL.
- * include/Makefile.am: Same.
- * src/c++98/Makefile.am: Same.
- * src/Makefile.am: Same.
- * Makefile.in: Regenerated.
- * aclocal.m4: Same.
- * configure: Same.
- * doc/Makefile.in: Same.
- * include/Makefile.in: Same.
- * libsupc++/Makefile.in: Same.
- * po/Makefile.in: Same.
- * python/Makefile.in: Same.
- * src/Makefile.in: Same.
- * testsuite/Makefile.in: Same.
- * src/c++11/Makefile.in: Same.
- * src/c++98/Makefile.in: Same.
-
- * src/c++98/compatibility-debug_list-2.cc: Update comments.
- * src/c++98/compatibility-debug_list.cc: Same.
- * src/c++98/compatibility-list-2.cc: Renamed to src/c++98/list-aux-2.cc
- * src/c++98/compatibility-list.cc: Renamed to src/c++98/list-aux.cc
- * src/c++98/compatibility-parallel_list-2.cc: Renamed to
- src/c++98/list_associated-2.cc.
- * src/c++98/compatibility-parallel_list.cc: Renamed to
- src/c++98/list_associated.cc.
-
-2012-09-27 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/54727
- * config/cpu/i486/opt/bits/opt_random.h: Avoid UINT64_C.
-
-2012-09-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/ext/random: Add include checks for c++11 and <cstdint>.
-
-2012-09-26 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/54314
- * config/abi/pre/gnu.ver: Add vtable exports.
- * config/abi/pre/gnu-versioned-namespace.ver: Same.
-
-2012-09-26 Akira Takahashi <faithandbrave@gmail.com>
-
- PR libstdc++/53515
- * include/bits/stl_iterator_base_funcs.h (__advance(_InputIterator&,
- _Distance, input_iterator_tag)): Add _GLIBCXX_DEBUG_ASSERT(__n >= 0).
-
-2012-09-26 Ulrich Drepper <drepper@gmail.com>
-
- Optimize bulk mode for normal_distribution<double> for SSE3.
- * configure.host: Define cpu_opt_bits_random.
- * configure.ac: Substitute CPU_OPT_BITS_RANDOM.
- * include/Makefile.am (bits_headers): Add ${bits_host_headers}.
- (bits_host_headers): Define.
- * include/bits/random.tcc: Move __details::_Power_of_2 to...
- * include/bits/random.h: ...here.
- * include/std/random: Include <bits/opt_random.h>.
- * config/cpu/i486/opt/bits/opt_random.h: New file.
- * config/cpu/generic/opt/bits/opt_random.h: New file.
- * configure: Regenerated.
- * Makefile.in: Regenerated.
- * aclocal.m4: Regenerated.
- * doc/Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * libsupc++/Makefile.in: Regenerated.
- * po/Makefile.in: Regenerated.
- * python/Makefile.in: Regenerated.
- * src/Makefile.in: Regenerated.
- * src/c++11/Makefile.in: Regenerated.
- * src/c++98/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * config/cpu/generic/opt/ext/opt_random.h: Fix comment.
-
-2012-09-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- * doc/xml/manual/status_cxx2011.xml: Update vs PR 44436.
-
-2012-09-24 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- * include/ext/random: Add __gnu_cxx::k_distribution<> class.
- * include/ext/random.tcc: Add out-of-line functions for
- __gnu_cxx::k_distribution<>.
- * testsuite/ext/random/k_distribution/operators/equal.cc: New file.
- * testsuite/ext/random/k_distribution/operators/serialize.cc: New file.
- * testsuite/ext/random/k_distribution/operators/inequal.cc: New file.
- * testsuite/ext/random/k_distribution/cons/parms.cc: New file.
- * testsuite/ext/random/k_distribution/cons/default.cc: New file.
- * testsuite/ext/random/k_distribution/requirements/typedefs.cc:
- New file.
- * testsuite/ext/random/k_distribution/requirements/
- explicit_instantiation/1.cc: New file.
-
-2012-09-24 François Dumont <fdumont@gcc.gnu.org>
-
- PR libstdc++/44436
- * include/bits/stl_tree.h
- (_Rb_tree<>::_M_insert_): Take _Base_ptr rather than
- _Const_Base_ptr.
- (_Rb_tree<>::_M_insert_node): New.
- (_Rb_tree<>::_M_get_insert_unique_pos): New, search code of
- _M_insert_unique method.
- (_Rb_tree<>::_M_insert_unique): Use latter.
- (_Rb_tree<>::_M_emplace_unique): New, likewise.
- (_Rb_tree<>::_M_get_insert_equal_pos): New, search code of
- _M_insert_equal method.
- (_Rb_tree<>::_M_insert_equal): Use latter.
- (_Rb_tree<>::_M_emplace_equal): New, likewise.
- (_Rb_tree<>::_M_get_insert_hint_unique_pos): New, search code of
- _M_insert_unique_ method.
- (_Rb_tree<>::_M_insert_unique_): Use latter.
- (_Rb_tree<>::_M_emplace_hint_unique): New, likewise.
- (_Rb_tree<>::_M_get_insert_hint_equal_pos): New, search code of
- _M_insert_equal_ method.
- (_Rb_tree<>::_M_insert_equal_): Use latter.
- (_Rb_tree<>::_M_emplace_hint_equal): New, likewise.
- (_Rb_tree<>::_M_insert_lower): Remove first _Base_ptr parameter,
- useless as always null.
- * include/bits/stl_map.h: Include <tuple> in C++11.
- (map<>::operator[](const key_type&)): Use
- _Rb_tree<>::_M_emplace_hint_unique in C++11.
- (map<>::operator[](key_type&&)): Likewise.
- (map<>::emplace): New.
- (map<>::emplace_hint): New.
- * include/bits/stl_multimap.h (multimap<>::emplace): New.
- (multimap<>::emplace_hint): New.
- * include/bits/stl_set.h (set<>::emplace): New.
- (set<>::emplace_hint): New.
- * include/bits/stl_multiset.h (multiset<>::emplace): New.
- (multiset<>::emplace_hint): New.
- * include/debug/map.h (std::__debug::map<>::emplace): New.
- (std::__debug::map<>::emplace_hint): New.
- * include/debug/multimap.h (std::__debug::multimap<>::emplace):
- New.
- (std::__debug::multimap<>::emplace_hint): New.
- * include/debug/set.h (std::__debug::set<>::emplace): New.
- (std::__debug::set<>::emplace_hint): New.
- * include/debug/multiset.h (std::__debug::multiset<>::emplace):
- New.
- (std::__debug::multiset<>::emplace_hint): New.
- * include/profile/map.h (std::__profile::map<>::emplace): New.
- (std::__profile::map<>::emplace_hint): New.
- * include/profile/multimap.h (std::__profile::multimap<>::emplace):
- New.
- (std::__profile::multimap<>::emplace_hint): New.
- * include/profile/set.h (std::__profile::set<>::emplace): New.
- (std::__profile::set<>::emplace_hint): New.
- * include/profile/multiset.h (std::__profile::multiset<>::emplace):
- New.
- (std::__profile::multiset<>::emplace_hint): New.
- * testsuite/util/testsuite_container_traits.h: Signal that emplace
- and emplace_hint are available on std::map, std::multimap,
- std::set and std::multiset in C++11.
- * testsuite/23_containers/map/operators/2.cc: New.
- * testsuite/23_containers/map/modifiers/emplace/1.cc: New.
- * testsuite/23_containers/multimap/modifiers/emplace/1.cc: New.
- * testsuite/23_containers/set/modifiers/emplace/1.cc: New.
- * testsuite/23_containers/multiset/modifiers/emplace/1.cc: New.
-
-2012-09-24 François Dumont <fdumont@gcc.gnu.org>
-
- * testsuite/performance/23_containers/insert_erase/41975.cc: Use
- __uset_hashtable rather than removed __unordered_set.
-
-2012-09-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- Revert:
- 2012-09-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/bits/stl_algobase.h (max, min): Use conditional operator.
-
-2012-09-23 Uros Bizjak <ubizjak@gmail.com>
-
- PR libstdc++/54675
- * include/ext/random: Avoid the badname __alpha (and, for
- consistency, __mu, __nu, __sigma and __omega too).
- * include/bits/random.tcc: Likewise.
-
-2012-09-21 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- * include/ext/random: Add __gnu_cxx::pareto_distribution<> class.
- * include/ext/random.tcc: Add out-of-line functions for
- __gnu_cxx::pareto_distribution<>.
- * testsuite/ext/random/pareto_distribution/operators/equal.cc: New file.
- * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
- New file.
- * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
- New file.
- * testsuite/ext/random/pareto_distribution/cons/parms.cc: New file.
- * testsuite/ext/random/pareto_distribution/cons/default.cc: New file.
- * testsuite/ext/random/pareto_distribution/requirements/typedefs.cc:
- New file.
- * testsuite/ext/random/pareto_distribution/requirements/
- explicit_instantiation/1.cc: New file.
-
-2012-09-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/bits/stl_algobase.h (max, min): Use conditional operator.
-
-2012-09-18 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/28811
- PR libstdc++/54482
- * configure.ac (glibcxx_lt_pic_flag,
- glibcxx_compiler_pic_flag,
- glibcxx_compiler_shared_flag): New. Use them.
- (lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above.
- (pic_mode): Set to default.
- (PIC_CXXFLAGS): Remove.
- * Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment.
- * libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and
- glibcxx_compiler_shared_flag. Comment.
- * src/c++11/Makefile.am: Same.
- * src/c++98/Makefile.am: Same.
- * src/Makefile.am: Use glibcxx_compiler_pic_flag.
-
- * Makefile.in: Regenerated.
- * aclocal.m4: Same.
- * configure: Same.
- * doc/Makefile.in: Same.
- * include/Makefile.in: Same.
- * libsupc++/Makefile.in: Same.
- * po/Makefile.in: Same.
- * python/Makefile.in: Same.
- * src/Makefile.in: Same.
- * src/c++11/Makefile.in: Same.
- * src/c++98/Makefile.in: Same.
- * testsuite/Makefile.in: Same.
-
- * src/c++11/compatibility-atomic-c++0x.cc: Use
- _GLIBCXX_SHARED instead of PIC to designate shared-only
- code blocks.
- * src/c++11/compatibility-c++0x.cc: Same.
- * src/c++11/compatibility-thread-c++0x.cc: Same.
- * src/c++98/compatibility-list-2.cc: Same.
- * src/c++98/compatibility.cc: : Same.
-
- * testsuite/17_intro/shared_with_static_deps.cc: New.
-
- * doc/xml/manual/build_hacking.xml: Separate configure from
- make/build issues, add build details.
-
-2012-09-18 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- * include/ext/random: Add __gnu_cxx::nakagami_distribution<> class.
- * include/ext/random.tcc: Add out-of-line functions for
- __gnu_cxx::nakagami_distribution<>.
- * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
- New file.
- * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
- New file.
- * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
- New file.
- * testsuite/ext/random/nakagami_distribution/cons/parms.cc: New file.
- * testsuite/ext/random/nakagami_distribution/cons/default.cc: New file.
- * testsuite/ext/random/nakagami_distribution/requirements/typedefs.cc:
- New file.
- * testsuite/ext/random/nakagami_distribution/requirements/
- explicit_instantiation/1.cc: New file.
-
-2012-09-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/54612
- * include/ext/random.tcc (operator==
- (const __gnu_cxx::simd_fast_mersenne_twister_engine<>&,
- const __gnu_cxx::simd_fast_mersenne_twister_engine<>&)): Fix
- state_size use.
- * config/cpu/i486/opt/ext/opt_random.h: Guard with __SSE2__.
-
-2012-09-17 Ulrich Drepper <drepper@gmail.com>
-
- * configure.ac: Substitute CPU_OPT_EXT_RANDOM.
- * configure.host: Define cpu_opt_ext_random to location of the
- optimized version of <ext/random>.
- * include/Makefile.am (ext_headers): Add ${ext_host_headers}.
- (ext_host_headers): Define.
- * include/ext/random (simd_fast_mersenne_twister_engine<>
- ::operator==): Don't define function here.
- * include/ext/random.tcc (simd_fast_mersenne_twister_engine): Don't
- define code using SSE2 here. Define generic code only if
- _GLIBCXX_OPT_HAVE_RANDOM_SFMT_GEN_READ is not defined.
- (simd_fast_mersenne_twister_engine<>
- ::operator==): Define here if
- _GLIBCXX_OPT_HAVE_RANDOM_SFMT_OPERATOREQUAL is not defined.
- * config/cpu/generic/opt/ext/opt_random.h: New file.
- * config/cpu/i486/opt/ext/opt_random.h: New file.
- * libsupc++/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
- * po/Makefile.in: Regenerated.
- * configure: Regenerated.
- * Makefile.in: Regenerated.
- * doc/Makefile.in: Regenerated.
- * aclocal.m4: Regenerated.
- * python/Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * src/c++98/Makefile.in: Regenerated.
- * src/c++11/Makefile.in: Regenerated.
- * src/Makefile.in: Regenerated.
-
-2012-09-16 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- * include/ext/random.tcc (__gnu_cxx::rice_distribution<>
- ::__generate_impl): Remove bogus _Adaptor usage.
-
-2012-09-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/ext/random (rice_distribution<>::operator==): Change
- inline friend definition to non-template.
- * testsuite/ext/random/rice_distribution/requirements/
- explicit_instantiation/1.cc: New.
-
- * testsuite/26_numerics/random/normal_mv_distribution: Move...
- * testsuite/ext/random/normal_mv_distribution: ... here.
- * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine:
- Move...
- * testsuite/ext/random/simd_fast_mersenne_twister_engine: ... here.
- * testsuite/26_numerics/random/beta_distribution: Move...
- * testsuite/ext/random/beta_distribution: ... here.
- * testsuite/26_numerics/random/rice_distribution: Move...
- * testsuite/ext/random/rice_distribution: ... here.
-
-2012-09-14 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- * include/ext/random: Add __gnu_cxx::rice_distribution<> class.
- * include/ext/random.tcc: Add out-of-line functions for
- __gnu_cxx::rice_distribution<>.
- * testsuite/26_numerics/random/rice_distribution/
- operators/equal.cc: New file.
- * testsuite/26_numerics/random/rice_distribution/
- operators/serialize.cc: New file.
- * testsuite/26_numerics/random/rice_distribution/
- operators/inequal.cc: New file.
- * testsuite/26_numerics/random/rice_distribution/
- cons/parms.cc: New file.
- * testsuite/26_numerics/random/rice_distribution/
- cons/default.cc: New file.
- * testsuite/26_numerics/random/rice_distribution/
- requirements/typedefs.cc: New file.
-
-2012-09-14 David Edelsohn <dje.gcc@gmail.com>
-
- * configure: Regenerated.
-
-2012-09-14 Jonathan Wakely <jwakely.gcc@gmail.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- PR libstdc++/54576
- * src/c++11/random.cc: Check if _GLIBCXX_USE_C99_STDINT_TR1 is defined.
-
-2012-09-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Define.
- * configure.ac: Call GLIBCXX_CHECK_ASSEMBLER_HWCAP.
- * fragment.am (CONFIG_CXXFLAGS): Add $(HWCAP_FLAGS).
- * configure: Regenerate.
- * Makefile.in: Regenerate.
- * doc/Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * libsupc++/Makefile.in: Regenerate.
- * po/Makefile.in: Regenerate.
- * python/Makefile.in: Regenerate.
- * src/Makefile.in: Regenerate.
- * src/c++11/Makefile.in: Regenerate.
- * src/c++98/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2012-09-11 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/54172
- * libsupc++/guard.cc (__cxa_guard_acquire): Fix up the last
- argument of the first __atomic_compare_exchange_n.
-
-2012-09-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
- Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/43852
- * acinclude.m4 (GLIBCXX_ENABLE_VERBOSE): Define.
- * configure.ac (GLIBCXX_ENABLE_VERBOSE): Use it.
- * config.h.in: Regenerate.
- * configure: Likewise.
- * libsupc++/eh_term_handler.cc (_GLIBCXX_VERBOSE): Check new macro.
- * libsupc++/pure.cc (_GLIBCXX_VERBOSE): Likewise.
- * doc/xml/manual/configure.xml (--disable-libstdcxx-verbose): Document.
- * doc/html/manual/configure.html: Regenerate.
-
-2012-09-09 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR bootstrap/54419
- * acinclude.m4 (GLIBCXX_CHECK_X86_RDRAND): Remove stray character.
- * configure: Regenerated.
-
-2012-09-09 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/54388
- * include/std/array (array::at() const): Ensure lvalue result.
- * testsuite/23_containers/array/element_access/54388.cc: New.
- * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
- dg-error line numbers.
- * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
- Likewise.
-
-2012-09-09 Ulrich Drepper <drepper@gmail.com>
- Dominique d'Humieres <dominiq@lps.ens.fr>
- Jack Howarth <howarth@bromo.med.uc.edu>
-
- PR bootstrap/54419
- * acinclude.m4: Define GLIBCXX_CHECK_X86_RDRAND.
- * configure.ac: Use GLIBCXX_CHECK_X86_RDRAND to test for rdrand
- support in assembler.
- * src/c++11/random.cc (__x86_rdrand): Depend on _GLIBCXX_X86_RDRAND.
- (random_device::_M_init): Likewise.
- (random_device::_M_getval): Likewise.
- * configure: Regenerated.
- * config.h.in: Regenerated.
-
-2012-09-09 Ulrich Drepper <drepper@gmail.com>
-
- * src/c++11/random.cc (random_device::_M_init): Use new macro
- signature_INTEL_ebx to check for Intel processors.
-
-2012-09-06 Thiago Macieira <thiago.macieira@intel.com>
-
- PR libstdc++/54172
- * libsupc++/guard.cc (__cxa_guard_acquire): Exit the loop earlier if
- we detect that another thread has had success. Don't compare_exchange
- from a finished state back to a waiting state. Comment.
-
-2012-09-05 François Dumont <fdumont@gcc.gnu.org>
-
- PR libstdc++/54296
- * include/bits/hashtable.h (_M_erase(size_type, __node_base*,
- __node_type*)): New.
- (erase(const_iterator)): Use latter.
- (_M_erase(std::true_type, const key_type&)): New, likewise.
- (_M_erase(std::false_type, const key_type&)): New. Find all nodes
- matching the key before deallocating them so that the key doesn't
- get invalidated.
- (erase(const key_type&)): Use the new member functions.
- * testsuite/23_containers/unordered_map/erase/54296.cc: New.
- * testsuite/23_containers/unordered_multimap/erase/54296.cc: New.
-
-2012-09-05 Ulrich Drepper <drepper@gmail.com>
-
- * src/c++11/random.cc (random_device::_M_init): Check whether cpuid
- instruction is available by using __get_cpuid_max.
-
- * include/ext/random.tcc (__gnu_cxx:normal_mv_distribution<>)
- (operator()): Use __generate() function of _M_nd.
-
- * include/ext/random: Add __gnu_cxx:normal_mv_distribution<> class.
- * include/ext/random.tccAdd out-of-line functions for
- __gnu_cxx::normal_mv_distribution<>.
- * testsuite/26_numerics/random/normal_mv_distribution/
- operators/equal.cc: New file.
- * testsuite/26_numerics/random/normal_mv_distribution/
- operators/serialize.cc: New file.
- * testsuite/26_numerics/random/normal_mv_distribution/
- operators/inequal.cc: New file.
- * testsuite/26_numerics/random/normal_mv_distribution/
- cons/default.cc: New file.
- * testsuite/26_numerics/random/normal_mv_distribution/
- cons/parms.cc: New file.
- * testsuite/26_numerics/random/normal_mv_distribution/
- requirements/explicit_instantiation/1.cc: New file.
- * testsuite/26_numerics/random/normal_mv_distribution/
- requirements/typedefs.cc: New file.
-
-2012-09-04 Ulrich Drepper <drepper@gmail.com>
-
- * include/ext/random: Add __gnu_cxx::beta_distribution<> class.
- * include/ext/random.tcc: Add out-of-line functions for
- __gnu_cxx::beta_distribution<>.
- * testsuite/26_numerics/random/beta_distribution/
- operators/equal.cc: New file.
- * testsuite/26_numerics/random/beta_distribution/
- operators/serialize.cc: New file.
- * testsuite/26_numerics/random/beta_distribution/
- operators/inequal.cc: New file.
- * testsuite/26_numerics/random/beta_distribution/
- cons/parms.cc: New file.
- * testsuite/26_numerics/random/beta_distribution/
- cons/default.cc: New file.
- * testsuite/26_numerics/random/beta_distribution/
- requirements/typedefs.cc: New file.
- * testsuite/26_numerics/random/beta_distribution/
- requirements/explicit_instantiation/1.cc: New file.
-
-2012-09-04 Steven Bosscher <steven@gcc.gnu.org>
-
- PR bootstrap/54453
- * include/Makefile.am: Fix regex.
- * include/Makefile.in: Regenerate.
-
-2012-08-30 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/54005 continued
- * include/std/atomic: Use __atomic_lock_free with NULL.
- * include/bits/atomic_base.h: Same.
-
-2012-08-30 Ulrich Drepper <drepper@gmail.com>
-
- * include/bits/random.h (random_device) [GLIBCXX_USE_RANDOM_TR1]:
- Remove 'return' from constructor.
-
-2012-08-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.
-
-2012-08-29 Ulrich Drepper <drepper@gmail.com>
-
- * include/bits/random.h (random_device): Move implementation to...
- * src/c++11/random.cc: ...here. New file.
- * config/abi/pre/gnu.ver: Add new version GLIBCXX_3.4.18. Export
- std::random_device::* symbols.
- * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Generated.
- * src/c++11/Makefile.am (sources): Add random.cc.
- * src/c++11/Makefile.in: Regenerated.
-
- Add simd_fast_mersenne_twister_engine class.
- * include/ext/random: New file.
- * include/ext/random.tcc: New file.
- * include/Makefile.am (ext_headers): Add random and random.tcc.
- * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
- operators/inequal.cc: New file.
- * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
- operators/equal.cc: New file.
- * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
- operators/serialize.cc: New file.
- * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
- cons/seed2.cc: New file.
- * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
- cons/default.cc: New file.
- * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
- cons/seed_seq.cc: New file.
- * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
- cons/copy.cc: New file.
- * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
- cons/seed1.cc: New file.
-
-2012-08-28 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/54102, part 2
- * doc/Makefile.am (XSL_HTML_STYLE): use xhtml, not html.
- * doc/Makefile.in: Regenerate.
- * doc/html/*: Same.
-
-2012-08-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * doc/html/*: Regenerate.
-
-2012-08-28 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/54102
- * doc/xsl/customization.xsl.in: New.
- * configure.ac: Output local copy of customization xsl.
- * doc/Makefile.am (stamp-html-single-docbook): Use XSL_LOCAL_STYLE.
- (stamp-html-docbook): Set stringparam to UTF-8.
- * Makefile.in: Regenerated.
- * configure: Same.
- * doc/Makefile.in: Same.
-
-2012-08-27 Ulrich Drepper <drepper@gmail.com>
-
- Add interfaces to retrieve random numbers in bulk.
- * include/bits/random.h (uniform_int_distribution<>): Add __generate
- and __generate_impl functions.
- (uniform_real_distribution<>): Likewise.
- (bernoulli_distribution): Likewise.
- (geometric_distribution<>): Likewise.
- (negative_binomial_distribution<>): Likewise.
- (poisson_distribution<>): Likewise.
- (exponential_distribution<>): Likewise.
- (normal_distribution<>): Likewise.
- (lognormal_distribution<>): Likewise.
- (chi_squared_distribution<>): Likewise.
- (cauchy_distribution<>): Likewise.
- (fisher_f_distribution<>): Likewise.
- (student_t_distribution<>): Likewise.
- (gamma_distribution<>): Likewise.
- (weibull_distribution<>): Likewise.
- (extreme_value_distribution<>): Likewise.
- (discrete_distribution<>): Likewise.
- (piecewise_constant_distribution<>): Likewise.
- (piecewise_linear_distribution<>): Likewise.
- * include/bits/random.tcc (__detail::_Power_of_2): New function.
- (uniform_int_distribution<>::__generate_impl): New function.
- (uniform_real_distribution<>::__generate_impl): New function.
- (bernoulli_distribution::__generate_impl): New function.
- (geometric_distribution<>::__generate_impl): New function.
- (negative_binomial_distribution<>::__generate_impl): New function.
- (poisson_distribution<>::__generate_impl): New function.
- (exponential_distribution<>::__generate_impl): New function.
- (normal_distribution<>::__generate_impl): New function.
- (lognormal_distribution<>::__generate_impl): New function.
- (chi_squared_distribution<>::__generate_impl): New function.
- (cauchy_distribution<>::__generate_impl): New function.
- (fisher_f_distribution<>::__generate_impl): New function.
- (student_t_distribution<>::__generate_impl): New function.
- (gamma_distribution<>::__generate_impl): New function.
- (weibull_distribution<>::__generate_impl): New function.
- (extreme_value_distribution<>::__generate_impl): New function.
- (discrete_distribution<>::__generate_impl): New function.
- (piecewise_constant_distribution<>::__generate_impl): New function.
- (piecewise_linear_distribution<>::__generate_impl): New function.
-
-2012-08-22 Ulrich Drepper <drepper@gmail.com>
-
- * include/bits/random.h (mersenne_twister_engine): Don't inline
- discard here. New member function _M_gen_rand.
- * include/bits/random.tcc (mersenne_twister_engine<>::_M_gen_rand):
- New function. Extracted from operator().
- (mersenne_twister_engine<>::discard): New implementation which
- skips in large steps.
- (mersenne_twister_engine<>::operator()): Use _M_gen_rand.
-
-2012-08-26 Marc Glisse <marc.glisse@inria.fr>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/54376
- * include/bits/random.h (lognormal_distribution<>::operator==,
- gamma_distribution<>::operator==,
- chi_squared_distribution<>::operator==,
- fisher_f_distribution<>::operator==,
- student_t_distribution<>::operator==,
- binomial_distribution<>::operator==,
- negative_binomial_distribution<>::operator==,
- poisson_distribution<>::operator==): Change inline friend definition
- to non-template.
- * testsuite/26_numerics/random/binomial_distribution/requirements/
- explicit_instantiation/1.cc: New.
- * testsuite/26_numerics/random/cauchy_distribution/requirements/
- explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/chi_squared_distribution/
- requirements/explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/discrete_distribution/requirements/
- explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/exponential_distribution/
- requirements/explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/extreme_value_distribution/
- requirements/explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/fisher_f_distribution/requirements/
- explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/gamma_distribution/requirements/
- explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/geometric_distribution/requirements/
- explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/lognormal_distribution/requirements/
- explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/negative_binomial_distribution/
- requirements/explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/normal_distribution/requirements/
- explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/piecewise_constant_distribution/
- requirements/explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/piecewise_linear_distribution/
- requirements/explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/poisson_distribution/requirements/
- explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/student_t_distribution/requirements/
- explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/uniform_int_distribution/
- requirements/explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/uniform_real_distribution/
- requirements/explicit_instantiation/1.cc: Likewise.
- * testsuite/26_numerics/random/weibull_distribution/requirements/
- explicit_instantiation/1.cc: Likewise.
-
-2012-08-26 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * testsuite/30_threads/async/54297.cc: Add dg-require-nanosleep.
-
-2012-08-26 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/54297
- * src/c++11/future.cc (~_Async_state_common): Move to...
- * src/c++11/compatibility-thread-c++0x.cc (~_Async_state_common):
- Here.
- (_GLIBCXX_ABI_COMPAT_ASYNC): Rename to _GLIBCXX_ASYNC_ABI_COMPAT.
- * include/std/future (_GLIBCXX_ABI_COMPAT_ASYNC): Likewise.
-
-2012-08-26 Jonathan Wakely <jwakely.gcc@gmail.com>
- Geoff Romer <gromer@google.com>
-
- PR libstdc++/54351
- * include/bits/unique_ptr.h (unique_ptr<T>::~unique_ptr): Do not use
- reset().
- (unique_ptr<T[]>::~unique_ptr()): Likewise.
- * testsuite/20_util/unique_ptr/54351.cc: New.
- * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
- line numbers.
-
-2012-08-25 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/54297
- * include/std/future (~_Async_state_impl): Join thread before
- derived class members are destroyed.
- (~_Async_state_common): Only define non-trivial destructor when
- included from future.cc for ABI compatibility reasons.
- * src/c++11/future.cc (_GLIBCXX_ABI_COMPAT_ASYNC): Define.
- * testsuite/30_threads/async/54297.cc: New.
-
-2012-08-25 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/54248
- * include/bits/concept_check.h: Replace references to boost
- namespace.
-
-2012-08-23 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/54354
- * doc/xml/manual/status_cxx2011.xml: Note missing manipulators.
- * doc/html/*: Regenerate.
-
-2012-08-15 Tom Tromey <tromey@redhat.com>
-
- * testsuite/libstdc++-prettyprinters/cxx11.cc (struct datum):
- New.
- (global): New global.
- (main): Add test for unique_ptr.
- * python/libstdcxx/v6/printers.py
- (UniquePointerPrinter.to_string): Extract the pointer and also
- print its type.
-
-2012-08-13 David Adler <d.adler.s@gmail.com>
-
- PR libstdc++/54185
- * src/c++11/condition_variable.cc (condition_variable): Always
- destroy native type in destructor.
- * testsuite/30_threads/condition_variable/54185.cc: New.
-
-2012-08-13 François Dumont <fdumont@gcc.gnu.org>
- Ollie Wild <aaw@google.com>
-
- * include/bits/hashtable.h
- (_Hashtable<>_M_insert_multi_node(hash_code, node_type*)): New.
- (_Hashtable<>_M_insert(_Args&&, false_type)): Use latter.
- (_Hashtable<>::_M_emplace(false_type, _Args&&...)): Likewise.
- (_Hashtable<>::_M_insert_bucket): Replace by ...
- (_Hashtable<>::_M_insert_unique_node(size_type, hash_code, node_type*)):
- ... this, new.
- (_Hashtable<>::_M_insert(_Args&&, true_type)): Use latter.
- (_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise.
- * include/bits/hashtable_policy.h (_Map_base<>::operator[]): Use
- latter, emplace the value_type rather than insert.
- * include/std/unordered_map: Include tuple.
- * include/std/unordered_set: Likewise.
- * testsuite/util/testsuite_counter_type.h: New.
- * testsuite/23_containers/unordered_map/operators/2.cc: New.
-
-2012-08-13 Marc Glisse <marc.glisse@inria.fr>
-
- PR libstdc++/54112
- * include/c_compatibility/complex.h: Undefine complex, always
- include system's complex.h if present.
- * testsuite/26_numerics/complex/c99.cc: New testcase.
- * testsuite/17_intro/headers/c++1998/complex.cc: Likewise.
- * doc/xml/manual/numerics.xml: Document it.
-
-2012-08-12 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/52681
- * src/c++11/thread.cc (thread::_M_start_thread): Improve error text
- when threads are not enabled.
-
-2012-08-09 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * acinclude.m4: Update references to final C++11 standard.
- * include/bits/shared_ptr.h: Likewise.
- * include/bits/shared_ptr_base.h: Likewise.
- * include/bits/unique_ptr.h: Likewise.
- * include/std/chrono: Likewise.
- * include/std/thread: Likewise.
-
-2012-08-07 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/54005
- * include/std/atomic: Use __atomic_always_lock_free.
- * include/bits/atomic_base.h: Same.
-
-2012-08-06 Paolo Carlini <paolo.carlini@oracle.com>
-
- * testsuite/decimal/mixed-mode-cmp_neg.cc: Add test variable; minor
- tweaks.
- * testsuite/decimal/unary-arith.cc: Likewise.
- * testsuite/decimal/ctor.cc: Likewise.
- * testsuite/decimal/conversion-to-integral.cc: Likewise.
- * testsuite/decimal/make-decimal.cc: Likewise.
- * testsuite/decimal/comparison.cc: Likewise.
- * testsuite/decimal/incdec-memfunc.cc: Likewise.
- * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
- * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
- * testsuite/decimal/cast_neg.cc: Likewise.
- * testsuite/decimal/incdec.cc: Likewise.
- * testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
- * testsuite/decimal/binary-arith.cc: Likewise.
- * testsuite/decimal/conversion-from-float.cc: Likewise.
- * testsuite/decimal/conversion-from-integral.cc: Likewise.
- * testsuite/decimal/compound-assignment.cc: Likewise.
-
-2012-08-06 Peter Bergner <bergner@vnet.ibm.com>
-
- PR libstdc++/54036
- * include/decimal/decimal.h (_DEFINE_DECIMAL_UNARY_OP): Use _Op as
- a unary operator.
- * testsuite/decimal/pr54036-1.cc: New test.
- * testsuite/decimal/pr54036-2.cc: Likewise.
- * testsuite/decimal/pr54036-3.cc: Likewise.
-
-2012-08-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- Revert:
- 2012-08-03 Ollie Wild <aaw@google.com>
- Richard Smith <richardsmith@google.com>
-
- * include/bits/stl_map.h (operator[](key_type&&)): Replace
- std::make_pair with value_type.
- * testsuite/23_containers/map/operators/2.cc: New test.
-
-2012-08-03 François Dumont <fdumont@gcc.gnu.org>
-
- * include/debug/functions.h (__check_partition_lower_aux): Remove
- redundant comparison with pivot value.
- (__check_partition_upper_aux): Likewise.
-
-2012-08-03 Ollie Wild <aaw@google.com>
- Richard Smith <richardsmith@google.com>
-
- * include/bits/stl_map.h (operator[](key_type&&)): Replace
- std::make_pair with value_type.
- * testsuite/23_containers/map/operators/2.cc: New test.
-
-2012-08-03 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/std/memory: Include auto_ptr.h later.
- * include/bits/shared_ptr.h (shared_ptr(auto_ptr<_Up>&&): Remove
- definition.
- * include/bits/shared_ptr_base.h (__shared_ptr(auto_ptr<_Up>&&):
- Likewise.
- * include/bits/unique_ptr.h (unique_ptr(auto_ptr<_Up>&&): Likewise.
- * include/backward/auto_ptr.h (unique_ptr(auto_ptr<_Up>&&): Define.
- (shared_ptr(auto_ptr<_Up>&&, __shared_ptr(auto_ptr<_Up>&&): Likewise.
- * include/std/future: Reduce header dependencies.
- * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
- numbers.
- * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
- * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
-
-2012-07-30 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/c++config (_GLIBCXX_END_NAMESPACE_CONTAINER): Fix
- order of closures.
- (_GLIBCXX_END_NAMESPACE_ALGO): Likewise.
-
-2012-07-29 François Dumont <fdumont@gcc.gnu.org>
-
- PR libstdc++/54075
- * include/bits/hashtable_policy.h
- (_Prime_rehash_policy::_M_next_bkt): Add a growth factor set to 2
- to boost growth in the number of buckets.
- * testsuite/performance/23_containers/insert/unordered_set.cc: New.
-
-2012-07-25 François Dumont <fdumont@gcc.gnu.org>
-
- PR libstdc++/54075
- * include/bits/hashtable.h
- (_Hashtable<>::_Hashtable(_InputIterator, _InputIterator,
- size_type, ...): Remove std::max usage to guarantee that hashtable
- state is consistent with hash policy state.
- (_Hashtable<>::rehash): Likewise. Set _M_prev_resize to 0 to avoid
- the hashtable shrinking on next insertion.
- * testsuite/23_containers/unordered_set/modifiers/reserve.cc: New.
- * testsuite/23_containers/unordered_multiset/modifiers/reserve.cc: New.
- * testsuite/23_containers/unordered_map/modifiers/reserve.cc: New.
- * testsuite/23_containers/unordered_multimap/modifiers/reserve.cc: New.
-
-2012-07-20 Chip Salzenberg <chip@pobox.com>
- Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/54025
- * include/std/chrono (duration<>::duration): Fix per C++11.
- * testsuite/20_util/duration/cons/54025.cc: New.
- * testsuite/20_util/duration/cons/constexpr.cc: Adjust.
-
-2012-07-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- * testsuite/30_threads/thread/adl.cc: Add missing dg-requires.
-
-2012-07-19 Tristan Gingold <gingold@adacore.com>
- Richard Henderson <rth@redhat.com>
-
- * libsupc++/eh_personality.cc (__gxx_personality_seh0): New function.
- Adjust for SEH.
- * config/abi/pre/gnu.ver: Add __gxx_personality_seh0.
-
-2012-07-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51213
- * testsuite/20_util/pair/noncopyable.cc: New.
-
-2012-07-16 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/53270
- * include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
- NSDMI in C++98 mode too.
- * include/ext/rope: Add system_header pragma.
- (_Refcount_Base, _Rope_RopeRep): Use NSDMI.
- (_Rope_RopeRep::~_Rope_RopeRep): Destroy mutex.
-
-2012-07-16 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/53978
- * include/bits/alloc_traits.h (allocator_traits): Define static
- constants.
- * include/bits/ptr_traits.h (pointer_traits): Likewise.
- * include/ext/alloc_traits.h (__allocator_always_compares_equal):
- Likewise.
-
-2012-07-13 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/53657
- * include/bits/stl_pair.h (pair<>::pair(pair&&)): Declare defaulted,
- per C++11.
- * include/bits/stl_map.h (map<>::insert(_Pair&&), map<>::insert
- (const_iterator, _Pair&&)): Constrain with std::is_constructible,
- per LWG2005.
- * include/bits/stl_multimap.h (multimap<>::insert(_Pair&&),
- multimap<>::insert(const_iterator, _Pair&&)): Likewise.
- * include/bits/hashtable_policy.h (_Insert<>::insert(_Pair&&),
- _Insert<>::insert(const_iterator, _Pair&&)): Likewise.
- * include/debug/unordered_map: Adjust.
- * include/debug/map.h: Likewise.
- * include/debug/multimap.h: Likewise.
- * include/profile/unordered_map: Likewise.
- * include/profile/map.h: Likewise.
- * include/profile/multimap.h: Likewise.
-
-2012-07-06 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/53872
- * include/std/thread (thread::_M_make_routine): Qualify make_shared
- to prevent ADL.
- * testsuite/30_threads/thread/adl.cc: New.
-
-2012-07-05 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/std/condition_variable: Update copyright years.
-
-2012-07-04 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/53830
- * include/std/condition_variable (condition_variable_any::wait):
- Move _Unlock type to class scope.
- (condition_variable_any::wait_until): Reuse it.
- * testsuite/30_threads/condition_variable_any/53830.cc: New.
-
-2012-07-04 Matthias Klose <doko@ubuntu.com>
-
- * testsuite/28_regex/headers/04_header: Remove empty directory.
- * testsuite/28_regex/algorithms/02_match: Likewise.
-
-2012-07-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/53840
- * include/std/ratio (ratio_multiply, ratio_divide, ratio_add,
- ratio_subtract): Use template aliases.
- * include/std/chrono (duration<>::duration(const duration<>&),
- duration_cast): Adjust.
- * testsuite/20_util/ratio/operations/53840.cc: New.
- * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
- * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
- * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
- * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
-
-2012-07-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- Revert:
- 2011-10-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/49561
- * include/bits/stl_list.h (_List_base<>::_List_impl::_M_size):
- Add in C++0x mode.
- (_List_base<>::_List_impl, _List_base<>::_M_get_node,
- _List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&),
- list<>::size, list<>::swap, list<>::splice): Use it.
- (operator==(const list<>&, const list<>&)): Rewrite in C++0x mode.
- * include/bits/list.tcc (list<>::erase): Likewise.
- (list<>::merge): Adjust in C++0x mode.
- * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
- Adjust dg-error line number.
- * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
- Likewise.
- * testsuite/23_containers/list/requirements/dr438/
- constructor_1_neg.cc: Likewise.
- * testsuite/23_containers/list/requirements/dr438/
- constructor_2_neg.cc: Likewise.
-
-2012-06-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/c++config: Remove __regex nested namespace.
- * include/bits/regex_compiler.h: Change __regex to
- __detail. Adjust doxygen markup, add regex-details group.
- * include/bits/regex_constants.h: Same.
- * include/bits/regex_cursor.h: Same.
- * include/bits/regex_error.h: Same.
- * include/bits/regex_grep_matcher.h: Same.
- * include/bits/regex_grep_matcher.tcc: Same.
- * include/bits/regex_nfa.h: Same.
- * include/bits/regex_nfa.tcc: Same.
- * include/bits/regex.h: Same. Remove static from global constants.
-
- * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
-
- * include/bits/locale_classes.tcc: Add use_facet, has_facet to
- locales group.
-
-2012-06-25 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- * include/tr2/bool_set (count, size, num_blocks, empty, max_size):
- Add noexcept.
-
-2012-06-25 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- * include/tr2/dynamic_bitset (count, size, num_blocks, empty, max_size):
- Add noexcept.
-
-2012-06-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * doc/doxygen/user.cfg.in: Change COMPACT_LATEX to NO.
-
-2012-06-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/28_regex/algorithms/02_match: To...
- * testsuite/28_regex/algorithms/match: ...this.
- * testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc: Remove
- duplicate.
-
-2012-06-18 Jörg Sonnenberger <joerg@britannica.bec.de>
- Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/53678
- * config/os/bsd/netbsd/ctype_base.h: Check for _CTYPE_U.
- * testsuite/22_locale/ctype_base/53678.cc: New.
-
-2012-06-15 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/53578
- * include/ext/concurrence.h (__recursive_mutex::_S_destroy): Fix
- narrowing conversion.
- * include/std/mutex (__recursive_mutex_base::_S_destroy): Likewise.
-
-2012-06-14 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/53270
- * include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
- NSDMI in C++11 mode.
- * include/ext/rope (_Refcount_Base): Likewise. Destroy mutex in
- destructor when initialized by function.
-
-2012-06-14 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/53648
- * include/std/tuple (__empty_not_final): Do not use EBO for tuples.
- * testsuite/20_util/tuple/53648.cc: New.
- * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line
- number.
-
-2012-06-14 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
-
-2012-06-01 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
-
-2012-05-31 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/53543
- * include/bits/hashtable_policy.h (_Insert::__is_convertible):
- Rename to __is_conv to avoid clash with clang built-in.
-
-2012-05-29 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/stl_tempbuf.h (__uninitialized_construct_buf)
- (__uninitialized_construct_buf_dispatch<>::__ucr): Fix to work
- with iterator returning rvalue.
- * testsuite/25_algorithms/stable_sort/3.cc: New.
-
-2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53503
- * testsuite/26_numerics/headers/cmath/53503.cc: New.
-
-2012-05-22 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/53322
- * include/bits/stl_algobase.h (lower_bound)
- (lexicographical_compare): Do not declare unused local typedefs
- here when Concepts are turned off.
-
-2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- * testsuite/22_locale/num_put/put/char/9780-2.cc: Avoid -Wall warnings.
- * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
- * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
- * Likewise.
- * testsuite/23_containers/unordered_map/observers.cc: Likewise.
- * testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
- * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
- * testsuite/23_containers/unordered_multimap/erase/2.cc: Likewise.
- * testsuite/23_containers/unordered_multimap/insert/53115.cc: Likewise.
- * testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
- * testsuite/23_containers/vector/debug/alloc_prop.cc: Likewise.
- * testsuite/23_containers/unordered_set/observers.cc: Likewise.
- * testsuite/23_containers/unordered_set/erase/1.cc: Likewise.
- * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
- * testsuite/23_containers/unordered_multiset/erase/2.cc: Likewise.
- * testsuite/23_containers/unordered_multiset/insert/53115.cc: Likewise.
- * testsuite/23_containers/unordered_multiset/insert/multiset_range.cc:
- * Likewise.
- * testsuite/23_containers/unordered_multiset/observers.cc: Likewise.
-
-2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53361
- * testsuite/23_containers/array/cons/53361.cc: New.
-
-2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/44516
- * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust
- dg-error line number.
-
-2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * configure: Regenerated.
-
-2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/53339
- * include/bits/hashtable_policy.h (__detail::_Identity,
- __detail::_Select1st): Add.
- (_Map_base, _Hashtable_base): Use the latter, adjust parameters.
- * include/bits/hashtable.h (_Hashtable::__key_extract): Adjust.
- * include/bits/unordered_set.h (__uset_hashtable, __umset_hashtable):
- Likewise.
- * include/bits/unordered_map.h (__umap_hashtable, __ummap_hashtable):
- Likewise.
- * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd)
- Unconditionally derive from unary_function.
- * include/ext/functional (identity, select1st, select2nd): Remove
- #ifdef __GXX_EXPERIMENTAL_CXX0X__ bits.
- * testsuite/23_containers/unordered_map/requirements/53339.cc: New.
- * testsuite/23_containers/unordered_multimap/requirements/
- 53339.cc: Likewise.
-
-2012-05-11 François Dumont <fdumont@gcc.gnu.org>
-
- PR libstdc++/53263
- * include/debug/safe_iterator.h (__gnu_debug::__base): Move...
- * include/debug/functions.h: ... Here.
- (__check_sorted_aux): Add overload for random access safe
- iterators.
- (__check_partition_lower_aux): New.
- (__check_partition_lower): Use latter.
- (__check_partition_upper_aux): New.
- (__check_partition_upper): Use latter.
- * include/debug/macros.h (__glibcxx_check_heap)
- (__glibcxx_check_heap_pred): Use __gnu_debug::__base on iterator range.
-
-2012-05-10 DJ Delorie <dj@redhat.com>
-
- * include/bits/random.tcc (seed_seq::generate): Cast max()
- operands to size_t to ensure a template match.
- * include/std/bitset (_M_copy_from_ptr): Cast min() operands to
- size_t to ensure a template match.
-
-2012-05-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * scripts/testsuite_flags.in (cxxflags): Remove
- -ftrack-macro-expansion=0.
-
-2012-05-03 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/xml/faq.xml: Update outdated allocator documentation.
- * doc/xml/manual/allocator.xml: Likewise.
- * doc/xml/manual/debug.xml: Likewise.
- * doc/xml/manual/evolution.xml: Likewise.
- * doc/xml/manual/using.xml: Likewise.
-
-2012-05-02 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/44015
- * include/bits/basic_ios.h: Add tparam markup for
- * doxygen. include/bits/basic_string.h: Same.
- * include/bits/forward_list.h: Same.
- * include/bits/stl_bvector.h: Same.
- * include/bits/stl_deque.h: Same.
- * include/bits/stl_list.h: Same. include/bits/stl_map.h:
- * Same. include/bits/stl_multimap.h: Same.
- * include/bits/stl_multiset.h: Same.
- * include/bits/stl_pair.h: Same.
- * include/bits/stl_queue.h: Same.
- * include/bits/stl_set.h: Same.
- * include/bits/stl_stack.h: Same.
- * include/bits/stl_vector.h: Same.
- * include/bits/unordered_map.h: Same.
- * include/bits/unordered_set.h: Same. include/std/array:
- * Same. include/std/atomic: Same. include/std/fstream:
- * Same. include/std/istream: Same. include/std/ostream:
- * Same. include/std/sstream: Same.
- * include/std/streambuf: Same.
- * testsuite/23_containers/deque/requirements/dr438/*:
- Adjust line numbers.
- * testsuite/23_containers/list/requirements/dr438/*: Same.
- * testsuite/23_containers/vector/requirements/dr438/*: Same.
-
-2012-05-02 DJ Delorie <dj@redhat.com>
-
- * crossconfig.m4: Since we know that all TPF builds are cross-
- builds and cannot run configuration-time link tests, do not
- allow it; just go with known supported linker options.
- * configure: Regenerate (called as GLIBCXX_CROSSCONFIG).
-
-2012-05-02 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/hashtable_policy.h: Correct namepace nesting for
- _Hashtable forward declaration.
-
-2012-05-01 François Dumont <fdumont@gcc.gnu.org>
-
- PR libstdc++/53115
- * include/bits/hashtable.h
- (_Hashtable<>::_M_rehash_aux(size_type, false_type)): Fix buckets
- after insertion of several equivalent elements.
- * testsuite/23_containers/unordered_multiset/insert/53115.cc: New.
- * testsuite/23_containers/unordered_multimap/insert/53115.cc: New.
-
-2012-04-29 Marc Glisse <marc.glisse@inria.fr>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/51795
- * include/bits/stl_algobase.h (__lg<>(_Size)): Remove.
- (__lg(int), __lg(unsigned), __lg(long), __lg(unsigned long),
- __lg(long long), __lg(unsigned long long)): Define constexpr.
- * include/bits/random.h (_Mod<>): Overcome Schrage's algorithm
- limitations.
- (__mod): Adjust.
- (linear_congruential): Remove FIXME static_assert.
- * include/bits/random.tcc (_Mod<>): Adjust.
- * testsuite/26_numerics/random/linear_congruential_engine/operators/
- 51795.cc: New.
-
-2012-04-29 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/std/functional (function::function(F)): LWG 2132: Disable
- constructor if argument isn't callable.
- * testsuite/20_util/function/cons/callable.cc: New.
-
-2012-04-29 Marc Glisse <marc.glisse@inria.fr>
-
- PR libstdc++/22200
- * include/std/limits (numeric_limits<>::is_modulo): False for
- signed types.
-
-2012-04-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/hashtable.h: Adjust doxygen markup for base
- classes.
- * include/bits/hashtable_policy.h: Same.
-
-2012-04-25 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/52689
- * testsuite/17_intro/static.cc: Fix.
- * testsuite/lib/dg-options.exp (dg-require-static-libstdcxx): New.
- * testsuite/lib/libstdc++.exp (check_v3_target_static_libstdcxx): New.
-
-2012-04-25 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/std/scoped_allocator (scoped_allocator::__outermost): Do
- not pass non-POD to varargs function.
- * testsuite/20_util/scoped_allocator/1.cc: Fix test.
-
-2012-04-24 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/52689
- * testsuite/17_intro/static.cc: New.
-
-2012-04-23 Daniel Krugler <daniel.kruegler@gmail.com>
-
- * include/std/type_traits (is_nothrow_destructible): Implement.
- (is_destructible): Implement LWG 2049.
- * testsuite/util/testsuite_tr1.h: Add tests.
- * testsuite/20_util/is_nothrow_destructible/value.cc: New.
- * testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc:
- * testsuite/20_util/is_nothrow_destructible/requirements/
- explicit_instantiation.cc: Likewise.
- * testsuite/20_util/is_destructible/value.cc: Adjust and extend.
- * testsuite/20_util/is_default_constructible/value.cc: Tweak.
- * testsuite/20_util/is_constructible/value-2.cc: Likewise.
- * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
- dg-error line numbers.
- * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
- Likewise.
- * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
-
-2012-04-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/53080
- * include/std/array (tuple_element, get): static_assert I < N.
- * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
- New.
- * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
- * testsuite/23_containers/array/tuple_interface/tuple_element.cc: Fix.
-
-2012-04-23 Chris Jefferson <chris@bubblescope.net>
-
- PR testsuite/53046
- * testsuite/25_algorithms/stable_partition/mem_check.cc: Fix size
- of array A.
- * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
-
-2012-04-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/53067
- * include/bits/hashtable_policy.h: Change inheritances to public.
- * testsuite/23_containers/unordered_map/requirements/53067.cc: New.
- * testsuite/23_containers/unordered_set/requirements/53067.cc: Likewise.
-
-2012-04-22 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/ext/alloc_traits.h (__alloc_traits::difference_type):
- Define.
-
-2012-04-22 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/53027
- * include/bits/ptr_traits.h (pointer_traits::rebind): Make public.
- * testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check
- rebind works.
-
-2012-04-22 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/debug/forward_list (forward_list::splice_after): Check
- allocators are equal.
- * src/c++11/debug.cc: Fix spelling.
- * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
- New.
- * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
- Likewise.
-
-2012-04-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/53052
- * include/std/type_traits (is_explicitly_convertible): Remove.
- * testsuite/20_util/is_explicitly_convertible: Likewise.
- * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
- Adjust dg-error line numbers.
- * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
- Likewise.
- * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
-
-2012-04-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/20_util/specialized_algorithms/uninitialized_copy/
- 808590.cc: New.
-
-2012-04-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/util/testsuite_abi.cc (compare_symbols): Change
- summary header to avoid confusion with DejaGnu header.
-
-2012-04-15 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/52702
- * include/std/type_traits (is_trivially_destructible): Add.
- (has_trivial_destructor): Remove.
- * testsuite/util/testsuite_common_types.h: Adjust.
- * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
- * testsuite/20_util/pair/requirements/dr801.cc: Likewise.
- * testsuite/20_util/is_trivially_destructible/value.cc: New.
- * testsuite/20_util/is_trivially_destructible/requirements/
- typedefs.cc: Likewise.
- * testsuite/20_util/is_trivially_destructible/requirements/
- explicit_instantiation.cc: Likewise.
- * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
- Adjust dg-error line numbers.
- * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
- Likewise.
- * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
-
-2012-04-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/52699
- * include/bits/random.tcc (independent_bits_engine<>::operator()())
- Avoid various overflows; use common_type on result_type and
- _RandomNumberEngine::result_type; avoid floating point computations;
- other smaller tweaks.
-
- * include/bits/random.tcc (uniform_int_distribution<>::operator())
- Use common_type; assume _UniformRandomNumberGenerator::result_type
- unsigned; tidy.
-
- * include/bits/stl_algobase.h (__lg(unsigned), __lg(unsigned long),
- __lg(unsigned long long)): Add.
-
-2012-04-14 Alan Modra <amodra@gmail.com>
-
- PR libstdc++/52839
- * acinclude.m4 (_GLIBCXX_ATOMIC_BUILTINS): Do not depend on
- glibcxx_cv_atomic_long_long.
- * configure: Regenerate.
-
-2012-04-13 Paolo Carlini <paolo.carlini@oracle.com>
-
- * testsuite/26_numerics/cmath/51083.cc: Move...
- * testsuite/26_numerics/headers/cmath/51083.cc: ... here.
-
-2012-04-13 Laurent Alfonsi <laurent.alfonsi@st.com>
-
- PR libstdc++/52604
- * src/c++98/mt_allocator.cc: (__freelist::~__freelist): Reset pointer.
-
-2012-04-13 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/debug/safe_iterator.h (_BeforeBeginHelper<>::
- _S_Is_Beginnest): Add.
- * include/debug/forward_list (_BeforeBeginHelper<>::
- _S_Is_Beginnest): Likewise.
- (_Safe_iterator<>::_M_is_beginnest): Add.
- * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
- Use the latter.
- * testsuite/23_containers/forward_list/debug/splice_after.cc:
- Add test.
-
-2012-04-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/unordered_map.h (__unordered_map): Remove.
- (__unordered_multimap): Remove.
- Add aliases for __umap_traits, __umap_hashtable, __ummap_traits,
- __ummap_hashtable.
- (unordered_map): Derive from __umap_hashtable.
- (unordered_multimap): Derive from __ummap_hashtable.
- * include/bits/unordered_set.h (__unordered_set): Remove.
- (__unordered_multiset): Remove.
- Add aliases for __uset_traits, __uset_hashtable, __umset_traits,
- __umset_hashtable.
- (unordered_set): Derive from __uset_hashtable.
- (unordered_multiset): Derive from __umset_hashtable.
- * include/bits/hashtable.h (__cache_default): New, consolidated
- cache defaults for _Hashtable. Adjust comments for doxygen.
- (_Hashtable): Consolidate bool template parameters into new,
- _Traits class. Inherited base classes synthesize _Hashtable in
- CRTP via original 10 parameters. Prefer using declarations to
- typedefs, add __node_type, __bucket_type, etc. Push many nested
- types down hierarchy to _Hashtable_base. Add constructors
- necessary for top-level unordered_containers. Consolidate insert
- member functions and logic in new base class, __detail::_Insert
- and __detail::_Insert_base.
- (_Hashtable::operator=(initializer_list)): Add.
- * include/bits/hashtable_policy.h: Convert to doxygen markup.
- (_Hashtable_traits) New. Consolidate bool template parameters here.
- (_Insert, _Insert_base): New, consolidated insert member functions.
- (_Map_base, _Equality, _Rehash_base): Adjust template parameters,
- use base types.
- (_Hashtable_base): Move type declarations useful to other base
- classes into this class.
- * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
- * testsuite/23_containers/unordered_set/instantiation_neg.cc:
- Adjust traits, line numbers.
-
-2012-04-12 Jeffrey Yasskin <jyasskin@google.com>
-
- PR libstdc++/52822
- * include/bits/stl_algo.h (__find_if_not): Expose in C++98 mode.
- (__find_if_not_n): Like __find_if_not, but works on and updates a
- counted range instead of a bounded range.
- (stable_partition): Guarantee !__pred(*__first) in call to
- __stable_partition_adaptive() or __inplace_stable_partition().
- (__stable_partition_adaptive): Use new precondition to avoid
- moving/copying objects onto themselves. Guarantee new
- precondition to recursive calls.
- (__inplace_stable_partition): Use new precondition to simplify
- base case, remove __last parameter. Guarantee new precondition to
- recursive calls.
- * testsuite/25_algorithms/stable_partition/moveable.cc (test02):
- Test a sequence that starts with a value matching the predicate.
- * testsuite/25_algorithms/stable_partition/pr52822.cc: Test
- vectors, which have a destructive self-move-assignment.
-
-2012-04-12 Andreas Schwab <schwab@linux-m68k.org>
-
- * testsuite/Makefile.am (check_DEJAGNUnormal0): Run
- prettyprinters.exp.
- * testsuite/Makefile.in: Regenerated.
-
-2012-04-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/52942
- * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd):
- In C++11 mode do not derive from std::unary_function.
- * include/ext/functional (identity, select1st, select2nd): Adjust.
- * testsuite/23_containers/unordered_map/requirements/52942.cc: New.
- * testsuite/23_containers/unordered_set/requirements/52942.cc: Likewise.
-
-2012-04-11 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/52924
- * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add
- user-defined destructor.
- (_Sp_counted_inplace): Likewise.
- * testsuite/20_util/shared_ptr/cons/52924.cc: New.
- * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
- line numbers.
-
-2012-04-11 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/xml/manual/debug.xml (Debug Versions of Library Binary Files):
- Re-arrange text slightly.
-
-2012-04-11 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * testsuite/performance/30_threads/future/polling.cc: Adjust.
-
-2012-04-11 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/bits/forward_list.h (splice_after(const_iterator,
- forward_list&), splice_after(const_iterator, forward_list&,
- const_iterator), splice_after(const_iterator, forward_list&,
- const_iterator, const_iterator), merge(forward_list&),
- merge(forward_list&, _Comp)): Add per C++11 as published (and
- LWG 1310).
- * include/debug/forward_list: Adjust.
-
- * include/bits/forward_list.h (splice_after(const_iterator,
- forward_list&&, const_iterator)): Only declare.
- (_M_transfer_after): Remove.
- (_M_splice_after(const_iterator, forward_list&&)): Change signature.
- (splice_after(const_iterator, forward_list&&, const_iterator,
- const_iterator)): Use the latter.
- * include/bits/forward_list.tcc (splice_after(const_iterator,
- forward_list&&, const_iterator)): Define here.
- (_M_splice_after): Define, use throughout.
-
- * include/bits/forward_list.h (insert_after(const_iterator,
- std::initializer_list<_Tp>)): Forward to insert_after(const_iterator,
- _InputIterator, _InputIterator).
- * include/bits/forward_list.tcc: Remove definition.
-
- * testsuite/23_containers/forward_list/modifiers/6.cc: New.
- * testsuite/23_containers/forward_list/operations/1.cc: Adjust.
-
-2012-04-11 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/52931
- * include/bits/functional_hash.h (struct hash): Remove definition.
- * testsuite/20_util/hash/52931.cc: New.
-
-2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR 24985
- * testsuite/lib/prune.exp: Handle caret.
-
-2012-04-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- Partially revert:
- 2012-03-28 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/52689
- * src/c++98/compatibility-list.cc: Same.
-
-2012-04-05 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- PR bootstrap/52840
- * src/Makefile.am (build-debug): Do not adjust vpath dir, remove
- Makefile.tmp
- * src/Makefile.in: Adjust as per above.
-
-2012-04-04 Uros Bizjak <ubizjak@gmail.com>
-
- Partially revert:
- 2012-03-28 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/52689
- * src/c++98/compatibility-ldbl.cc: Guard with PIC
-
-2012-04-02 Tristan Gingold <gingold@adacore.com>
-
- * crossconfig.m4 (*-*-*vms*): Add.
- * configure: Regenerate.
-
-2012-04-01 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/52591
- * include/bits/stl_vector.h (vector::operator=(vector&&)): Dispatch
- to _M_move_assign depending on whether allocator is moved.
- (vector::_M_move_assign): Add overloaded functions.
- * testsuite/23_containers/vector/52591.cc: New.
- * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
- Adjust dg-error line number.
- * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
- Likewise.
- * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
- Likewise.
- * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
- Likewise.
-
-2012-04-01 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/std/functional (__callable_functor): Overload for
- volatile-qualified pointers.
- * testsuite/20_util/function/10.cc: New.
-
-2012-03-30 Jeffrey Yasskin <jyasskin@gcc.gnu.org>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/52799
- * include/bits/deque.tcc (emplace): Fix thinko, replace push_front
- -> emplace_front, and likewise for *_back.
- * testsuite/23_containers/deque/modifiers/emplace/52799.cc: New.
- * testsuite/23_containers/list/modifiers/emplace/52799.cc: Likewise.
- * testsuite/23_containers/vector/modifiers/emplace/52799.cc: Likewise.
-
-2012-03-28 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/52689
- * libsupc++/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
- * libsupc++/Makefile.in: Regenerated.
- * src/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
- (libstdc___la_SOURCES): Add in compatiblity files, with content
- that varies with -DPIC.
- * src/Makefile.in: Regenerated.
- * src/c++11/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
- * src/c++11/Makefile.in: Regenerated.
- * src/c++11/compatibility-atomic-c++0x.cc: Guard with PIC.
- * src/c++11/compatibility-c++0x.cc: Same.
- * src/c++11/future.cc: Consolidate compatibility bits into..
- * src/c++11/mutex.cc: Consolidate compatibility bits into..
- * src/c++11/compatibility-thread-cxx0x.cc: ...here. New.
- * src/c++98/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
- * src/c++98/Makefile.in: Regenerated.
- * src/c++98/compatibility-ldbl.cc: Guard with PIC
- * src/c++98/compatibility-list-2.cc: Same.
- * src/c++98/compatibility-list.cc: Same.
- * src/c++98/compatibility.cc: Tweak comments.
-
-2012-03-28 Terry Guo <terry.guo@arm.com>
-
- * testsuite/Makefile.am (TEST_GCC_EXEC_PREFIX): New.
- * testsuite/Makefile.in: Regenerated.
-
-2012-03-27 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/std/functional (mem_fn): Qualify to prevent ADL.
- * testsuite/20_util/function_objects/mem_fn/adl.cc: New.
-
-2012-03-27 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/std/type_traits (result_of): Fix handling of cv-quals.
- * testsuite/20_util/result_of/1.cc: New.
- * testsuite/20_util/result_of/2.cc: New.
- * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
- line numbers.
- * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
- Likewise.
- * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
- Likewise.
-
-2012-03-23 David S. Miller <davem@davemloft.net>
-
- * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Update.
-
-2012-03-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * scripts/testsuite_flags.in (--cxxflags): Let CXXFLAGS set -g -O2.
- * testsuite/lib/libstdc++.exp: Same.
-
-2012-03-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/bits/forward_list.h: Slightly tweak two comments.
-
-2012-03-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * doc/Makefile.am: XML output names have only .xml suffix.
- * doc/Makefile.in: Regenerate.
-
-2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/std/array (array<>::at(size_type) const): Fix version
- for undefined __EXCEPTIONS.
-
-2013-03-21 Andreas Tobler <andreast@fgznet.ch>
-
- * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
- Skip this test on powerpc64-*-freebsd*.
-
-2012-03-20 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/bits/stl_list.h (list::_M_size): Use NSDMI.
- * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
- Adjust line numbers.
- * testsuite/23_containers/list/requirements/dr438/
- constructor_1_neg.cc: Likewise.
- * testsuite/23_containers/list/requirements/dr438/
- constructor_2_neg.cc: Likewise.
- * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
- Likewise.
-
-2012-03-19 Paweł Sikora <pawel.sikora@agmk.net>
-
- PR libstdc++/52540
- * include/Makefile.am (c++config.h): Fix sed rule to not break
- the _GLIBCXX_EXTERN_TEMPLATE redefinition.
- * include/Makefile.in: Regenerate.
-
-2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- * testsuite/Makefile.in: Regenerate.
-
-2012-03-19 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/allocator.h (std::allocator): Base class is
- __allocator_base.
- (uses_allocator): Add to sub-grouping.
- * include/ext/new_allocator.h: Doxygen markup for tparm.
-
- * config/allocator/bitmap_allocator_base.h: Use __allocator_base
- template alias in C++11.
- * config/allocator/malloc_allocator_base.h: Same.
- * config/allocator/mt_allocator_base.h: Same.
- * config/allocator/new_allocator_base.h: Same.
- * config/allocator/pool_allocator_base.h: Same.
-
-2012-03-19 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/pb_ds/detail/pat_trie_/
- constructors_destructor_fn_imps.hpp: Increment after recursion.
- * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Convert
- node_type markup from brief.
-
-2012-03-16 François Dumont <fdumont@gcc.gnu.org>
-
- PR libstdc++/52476
- * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Add.
- (_Hashtable<>::_M_rehash): Use the latter.
- * testsuite/23_containers/unordered_multimap/insert/52476.cc: New.
- * testsuite/23_containers/unordered_multiset/insert/52476.cc: New.
-
-2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/os/solaris/solaris2.8: Rename to ...
- * config/os/solaris/solaris2.9: ... this.
- * config/abi/post/solaris2.8: Rename to ...
- * config/abi/post/solaris2.9: ... this.
- * configure.host (os_include_dir): Remove solaris2.8.
- Reflect renaming.
- (abi_baseline_pair): Remove *-*-solaris2.8.
- Reflect renaming.
-
- * configure.ac (GLIBCXX_CHECK_MATH_PROTO): Remove
- (GLIBCXX_CHECK_STDLIB_PROTO): Remove.
- * acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO): Remove
- (GLIBCXX_CHECK_STDLIB_PROTO): Remove.
- (GLIBCXX_CHECK_GTHREADS): Remove Solaris 8 handling.
- * crossconfig.m4 (GLIBCXX_CROSSCONFIG): Remove *-solaris2.8
- handling.
- * configure: Regenerate.
- * config.h.in: Regenerate.
-
- * config/os/solaris/solaris2.9/os_defines.h
- (__CORRECT_ISO_CPP_MATH_H_PROTO): Define.
- (__CORRECT_ISO_CPP_STDLIB_H_PROTO): Define.
- * include/c_global/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1
- to __CORRECT_ISO_CPP_MATH_H_PROTO.
- [!__CORRECT_ISO_CPP_MATH_H_PROTO2]: Remove.
- * include/tr1/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1 to
- __CORRECT_ISO_CPP_MATH_H_PROTO.
-
- * doc/xml/manual/configure.xml (Configure, --enable-libstdcxx-threads):
- Remove Solaris 8 reference.
-
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
- Don't xfail on *-*-solaris2.8.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
- Likewise.
- * testsuite/ext/enc_filebuf/char/13598.cc: Don't xfail on
- *-*-solaris2.8.
-
-2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.host (irix6.5*): Remove.
- * config/os/irix: Remove.
- * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc())
- [_GLIBCXX_FIONREAD_TAKES_OFF_T]: Remove.
-
- * doc/xml/faq.xml: Remove IRIX reference.
- * doc/xml/manual/using.xml (Finding Dynamic or Shared Libraries):
- Remove IRIX example.
-
- * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
- Remove mips-sgi-irix6* handling.
- * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
- * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
- * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
- * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
- * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
- * testsuite/23_containers/list/pthread1.cc: Likewise.
- * testsuite/23_containers/list/pthread5.cc: Likewise.
- * testsuite/23_containers/map/pthread6.cc: Likewise.
- * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
- * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
- * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
- * testsuite/30_threads/async/42819.cc: Likewise.
- * testsuite/30_threads/async/49668.cc: Likewise.
- * testsuite/30_threads/async/any.cc: Likewise.
- * testsuite/30_threads/async/async.cc: Likewise.
- * testsuite/30_threads/async/launch.cc: Likewise.
- * testsuite/30_threads/async/sync.cc: Likewise.
- * testsuite/30_threads/call_once/39909.cc: Likewise.
- * testsuite/30_threads/call_once/49668.cc: Likewise.
- * testsuite/30_threads/call_once/call_once1.cc: Likewise.
- * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
- * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
- * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
- * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
- Likewise.
- * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
- * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
- * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
- * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
- * testsuite/30_threads/future/cons/move.cc: Likewise.
- * testsuite/30_threads/future/members/45133.cc: Likewise.
- * testsuite/30_threads/future/members/get.cc: Likewise.
- * testsuite/30_threads/future/members/get2.cc: Likewise.
- * testsuite/30_threads/future/members/share.cc: Likewise.
- * testsuite/30_threads/future/members/valid.cc: Likewise.
- * testsuite/30_threads/future/members/wait.cc: Likewise.
- * testsuite/30_threads/future/members/wait_for.cc: Likewise.
- * testsuite/30_threads/future/members/wait_until.cc: Likewise.
- * testsuite/30_threads/lock/1.cc: Likewise.
- * testsuite/30_threads/lock/2.cc: Likewise.
- * testsuite/30_threads/lock/3.cc: Likewise.
- * testsuite/30_threads/lock/4.cc: Likewise.
- * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
- * testsuite/30_threads/mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
- * testsuite/30_threads/mutex/lock/1.cc: Likewise.
- * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
- * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
- * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/packaged_task/49668.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
- * testsuite/30_threads/promise/cons/1.cc: Likewise.
- * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
- * testsuite/30_threads/promise/cons/move.cc: Likewise.
- * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
- * testsuite/30_threads/promise/members/get_future.cc: Likewise.
- * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
- * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
- * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
- * testsuite/30_threads/promise/members/set_value.cc: Likewise.
- * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
- * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
- * testsuite/30_threads/promise/members/swap.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
- Likewise.
- * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
- Likewise.
- * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
- * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
- * testsuite/30_threads/shared_future/members/get.cc: Likewise.
- * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
- * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
- * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
- * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
- * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
- * testsuite/30_threads/this_thread/1.cc: Likewise.
- * testsuite/30_threads/this_thread/2.cc: Likewise.
- * testsuite/30_threads/this_thread/3.cc: Likewise.
- * testsuite/30_threads/this_thread/4.cc: Likewise.
- * testsuite/30_threads/thread/cons/1.cc: Likewise.
- * testsuite/30_threads/thread/cons/2.cc: Likewise.
- * testsuite/30_threads/thread/cons/3.cc: Likewise.
- * testsuite/30_threads/thread/cons/4.cc: Likewise.
- * testsuite/30_threads/thread/cons/49668.cc: Likewise.
- * testsuite/30_threads/thread/cons/5.cc: Likewise.
- * testsuite/30_threads/thread/cons/6.cc: Likewise.
- * testsuite/30_threads/thread/cons/7.cc: Likewise.
- * testsuite/30_threads/thread/cons/8.cc: Likewise.
- * testsuite/30_threads/thread/cons/9.cc: Likewise.
- * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
- * testsuite/30_threads/thread/members/1.cc: Likewise.
- * testsuite/30_threads/thread/members/2.cc: Likewise.
- * testsuite/30_threads/thread/members/3.cc: Likewise.
- * testsuite/30_threads/thread/members/4.cc: Likewise.
- * testsuite/30_threads/thread/members/5.cc: Likewise.
- * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
- * testsuite/30_threads/thread/native_handle/typesizes.cc: Likewise.
- * testsuite/30_threads/thread/swap/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
- * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
- * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/try_lock/1.cc: Likewise.
- * testsuite/30_threads/try_lock/2.cc: Likewise.
- * testsuite/30_threads/try_lock/3.cc: Likewise.
- * testsuite/30_threads/try_lock/4.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
- * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
- * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
- * testsuite/ext/rope/pthread7-rope.cc: Likewise.
- * testsuite/tr1/2_general_utilities/shared_ptr/thread/
- default_weaktoshared.cc: Likewise.
- * testsuite/tr1/2_general_utilities/shared_ptr/thread/
- mutex_weaktoshared.cc: Likewise.
-
- * testsuite/23_containers/vector/capacity/resize/1.cc: Remove
- dg-options for mips*-*-irix6*.
-
- * testsuite/27_io/ios_base/storage/1.cc: Likewise.
- * testsuite/27_io/ios_base/storage/2.cc: Likewise.
- * testsuite/27_io/ios_base/storage/3.cc: Likewise.
-
- * testsuite/lib/libstdc++.exp (v3-build_support): Remove IRIX 6
- workaround.
-
-2012-03-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/bits/forward_list.h: Fix comments.
-
-2012-03-13 Terry Guo <terry.guo@arm.com>
-
- * testsuite/Makefile.in (TEST_GCC_EXEC_PREFIX): New.
-
-2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.host: Remove osf* handling.
- * config/os/osf: Remove.
- * doc/xml/manual/using.xml: Remove OSF reference.
-
- * testsuite/18_support/pthread_guard.cc: Remove alpha*-*-osf* handling.
- * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise.
- * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
- * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
- * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
- * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
- * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
- * testsuite/23_containers/list/pthread1.cc: Likewise.
- * testsuite/23_containers/list/pthread5.cc: Likewise.
- * testsuite/23_containers/map/pthread6.cc: Likewise.
- * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
- * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
- * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
- * testsuite/30_threads/async/42819.cc: Likewise.
- * testsuite/30_threads/async/49668.cc: Likewise.
- * testsuite/30_threads/async/any.cc: Likewise.
- * testsuite/30_threads/async/async.cc: Likewise.
- * testsuite/30_threads/async/launch.cc: Likewise.
- * testsuite/30_threads/async/sync.cc: Likewise.
- * testsuite/30_threads/call_once/39909.cc: Likewise.
- * testsuite/30_threads/call_once/49668.cc: Likewise.
- * testsuite/30_threads/call_once/call_once1.cc: Likewise.
- * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
- * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
- * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
- * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
- Likewise.
- * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
- * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
- * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
- * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
- * testsuite/30_threads/future/cons/move.cc: Likewise.
- * testsuite/30_threads/future/members/45133.cc: Likewise.
- * testsuite/30_threads/future/members/get.cc: Likewise.
- * testsuite/30_threads/future/members/get2.cc: Likewise.
- * testsuite/30_threads/future/members/share.cc: Likewise.
- * testsuite/30_threads/future/members/valid.cc: Likewise.
- * testsuite/30_threads/future/members/wait.cc: Likewise.
- * testsuite/30_threads/future/members/wait_for.cc: Likewise.
- * testsuite/30_threads/future/members/wait_until.cc: Likewise.
- * testsuite/30_threads/lock/1.cc: Likewise.
- * testsuite/30_threads/lock/2.cc: Likewise.
- * testsuite/30_threads/lock/3.cc: Likewise.
- * testsuite/30_threads/lock/4.cc: Likewise.
- * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
- * testsuite/30_threads/mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
- * testsuite/30_threads/mutex/lock/1.cc: Likewise.
- * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
- * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
- * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/packaged_task/49668.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
- * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
- * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
- * testsuite/30_threads/promise/cons/1.cc: Likewise.
- * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
- * testsuite/30_threads/promise/cons/move.cc: Likewise.
- * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
- * testsuite/30_threads/promise/members/get_future.cc: Likewise.
- * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
- * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
- * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
- * testsuite/30_threads/promise/members/set_value.cc: Likewise.
- * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
- * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
- * testsuite/30_threads/promise/members/swap.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
- Likewise.
- * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
- Likewise.
- * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
- Likewise.
- * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
- * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
- * testsuite/30_threads/shared_future/members/get.cc: Likewise.
- * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
- * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
- * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
- * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
- * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
- * testsuite/30_threads/this_thread/1.cc: Likewise.
- * testsuite/30_threads/this_thread/2.cc: Likewise.
- * testsuite/30_threads/this_thread/3.cc: Likewise.
- * testsuite/30_threads/this_thread/4.cc: Likewise.
- * testsuite/30_threads/thread/cons/1.cc: Likewise.
- * testsuite/30_threads/thread/cons/2.cc: Likewise.
- * testsuite/30_threads/thread/cons/3.cc: Likewise.
- * testsuite/30_threads/thread/cons/4.cc: Likewise.
- * testsuite/30_threads/thread/cons/49668.cc: Likewise.
- * testsuite/30_threads/thread/cons/5.cc: Likewise.
- * testsuite/30_threads/thread/cons/6.cc: Likewise.
- * testsuite/30_threads/thread/cons/7.cc: Likewise.
- * testsuite/30_threads/thread/cons/8.cc: Likewise.
- * testsuite/30_threads/thread/cons/9.cc: Likewise.
- * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
- * testsuite/30_threads/thread/members/1.cc: Likewise.
- * testsuite/30_threads/thread/members/2.cc: Likewise.
- * testsuite/30_threads/thread/members/3.cc: Likewise.
- * testsuite/30_threads/thread/members/4.cc: Likewise.
- * testsuite/30_threads/thread/members/5.cc: Likewise.
- * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
- * testsuite/30_threads/thread/swap/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
- * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
- * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/try_lock/1.cc: Likewise.
- * testsuite/30_threads/try_lock/2.cc: Likewise.
- * testsuite/30_threads/try_lock/3.cc: Likewise.
- * testsuite/30_threads/try_lock/4.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
- * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
- * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
- * testsuite/ext/rope/pthread7-rope.cc: Likewise.
- * testsuite/tr1/2_general_utilities/shared_ptr/thread/
- default_weaktoshared.cc: Likewise.
- * testsuite/tr1/2_general_utilities/shared_ptr/thread/
- mutex_weaktoshared.cc: Likewise.
-
-2012-03-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/52562
- * libsupc++/typeinfo (type_info::name, before, operator==,
- operator!=): Mark noexcept in C++11 mode.
- * libsupc++/tinfo.cc (type_info::operator==): Adjust.
- * libsupc++/tinfo2.cc (type_info::before): Likewise.
- * testsuite/18_support/type_info/52562.cc: New.
-
-2012-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
- symbols added in last change.
-
- PR libstdc++/52456
- * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
-
-2012-03-09 Andreas Schwab <schwab@linux-m68k.org>
-
- * config/locale/gnu/monetary_members.cc
- (moneypunct<char,true>::_M_initialize_moneypunct): Throw caught
- exception again.
- (moneypunct<char,false>::_M_initialize_moneypunct): Likewise.
- * testsuite/22_locale/locale/cons/12352.cc: Also test en_US
- locale.
-
-2012-03-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/debug/formatter.h (enum _Debug_msg_id): Add
- __msg_self_move_assign.
- * include/debug/macros.h (__glibcxx_check_self_move_assign): Add.
- * src/c++11/debug.cc (_S_debug_messages): Update.
- * include/debug/safe_iterator.h (_Safe_iterator<>::operator=
- (_Safe_iterator&&)): Add check for self move assignment.
- * include/debug/set.h: Likewise.
- * include/debug/unordered_map: Likewise.
- * include/debug/multiset.h: Likewise.
- * include/debug/forward_list: Likewise.
- * include/debug/unordered_set: Likewise.
- * include/debug/vector: Likewise.
- * include/debug/map.h: Likewise.
- * include/debug/deque: Likewise.
- * include/debug/string: Likewise.
- * include/debug/list: Likewise.
- * include/debug/multimap.h: Likewise.
- * testsuite/21_strings/debug/self_move_assign_neg.cc: New.
- * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc: Likewise.
- * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
- Likewise.
- * testsuite/23_containers/unordered_map/debug/
- iterator_self_move_assign_neg.cc: Likewise.
- * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
- Likewise.
- * testsuite/23_containers/multimap/debug/
- iterator_self_move_assign_neg.cc: Likewise.
- * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
- * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
- Likewise.
- * testsuite/23_containers/unordered_multimap/debug/
- self_move_assign_neg.cc: Likewise.
- * testsuite/23_containers/unordered_multimap/debug/
- iterator_self_move_assign_neg.cc: Likewise.
- * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
- Likewise.
- * testsuite/23_containers/forward_list/debug/
- iterator_self_move_assign_neg.cc: Likewise.
- * testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc:
- Likewise.
- * testsuite/23_containers/unordered_set/debug/
- iterator_self_move_assign_neg.cc: Likewise.
- * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
- Likewise.
- * testsuite/23_containers/vector/debug/
- iterator_self_move_assign_neg.cc: Likewise.
- * testsuite/23_containers/deque/debug/self_move_assign_neg.cc: Likewise.
- * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
- Likewise.
- * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
- Likewise.
- * testsuite/23_containers/multiset/debug/
- iterator_self_move_assign_neg.cc: Likewise.
- * testsuite/23_containers/list/debug/self_move_assign_neg.cc:
- Likewise.
- * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
- Likewise.
- * testsuite/23_containers/unordered_multiset/debug/
- self_move_assign_neg.cc: Likewise.
- * testsuite/23_containers/unordered_multiset/debug/
- iterator_self_move_assign_neg.cc: Likewise.
- * testsuite/23_containers/map/debug/self_move_assign_neg.cc:
- Likewise.
- * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
- Likewise.
-
-2012-03-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.0.
- * include/bits/locale_facets.h: Adjust markup to avoid warnings.
- * include/ext/pb_ds/assoc_container.hpp: Same.
- * include/ext/pb_ds/priority_queue.hpp: Same.
- * include/std/fstream: Same.
- * include/std/ratio: Same.
- * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust line
- numbers.
- * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
-
-2012-03-08 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/52433
- * include/debug/safe_iterator.h (_Safe_iterator): Add debug checks
- to move constructor and move assignment operator.
-
-2012-03-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/bits/stl_algobase.h (iter_swap): In C++11 mode simply
- call swap.
- * include/bits/stl_bvector.h (swap(_Bit_reference,
- _Bit_reference), swap(_Bit_reference, bool&),
- swap(bool&, _Bit_reference)): Add.
- * testsuite/23_containers/vector/bool/swap.cc: New.
-
-2012-03-04 Paolo Carlini <paolo.carlini@oracle.com>
- Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/43813
- * include/bits/stl_iterator_base_types.h (_RequireInputIter): New.
- * include/ext/vstring.h (__versa_string<>::__versa_string
- (_InputIterator, _InputIterator, const _Alloc&),
- __versa_string<>::append(_InputIterator, _InputIterator),
- __versa_string<>::assign(_InputIterator, _InputIterator),
- __versa_string<>::insert(iterator, _InputIterator,
- _InputIterator), __versa_string<>::replace(iterator, iterator,
- _InputIterator, _InputIterator)): Use it.
- * include/bits/stl_list.h (list<>::list(_InputIterator,
- _InputIterator, const allocator_type&), list<>::assign(_InputIterator,
- _InputIterator), list<>::insert(iterator, _InputIterator,
- _InputIterator)): Likewise.
- * include/bits/stl_vector.h (vector<>::vector(_InputIterator,
- _InputIterator, const allocator_type&), vector<>::assign(_InputIterator,
- _InputIterator), vectort<>::insert(iterator, _InputIterator,
- _InputIterator)): Likewise.
- * include/bits/stl_deque.h (deque<>::deque(_InputIterator,
- _InputIterator, const allocator_type&), deque<>::deque(_InputIterator,
- _InputIterator), deque<>::insert(iterator, _InputIterator,
- _InputIterator)): Likewise.
- * include/bits/stl_bvector.h (vector<>::vector(_InputIterator,
- _InputIterator, const allocator_type&), vector<>::deque(_InputIterator,
- _InputIterator), vector<>::insert(iterator, _InputIterator,
- _InputIterator)): Likewise.
- * include/bits/forward_list.h (forward_list<>::forward_list
- (_InputIterator, _InputIterator, const allocator_type&),
- forward_list<>::assign(_InputIterator, _InputIterator),
- forward_list<>::insert_after(const_iterator, _InputIterator,
- _InputIterator)): Likewise.
- (forward_list<>::_M_initialize_dispatch(,, __true_type): Remove.
- (forward_list<>::_M_range_initialize): Add, adjust everywhere.
- * include/bits/forward_list.tcc: Adjust.
- * include/debug/forward_list: Adjust.
- * include/debug/vector: Likewise.
- * include/debug/deque: Likewise.
- * include/debug/list: Likewise.
- * testsuite/ext/vstring/requirements/do_the_right_thing.cc: New.
- * testsuite/23_containers/forward_list/requirements/
- do_the_right_thing.cc: Likewise.
- * testsuite/23_containers/vector/requirements/
- do_the_right_thing.cc: Likewise.
- * testsuite/23_containers/deque/requirements/
- do_the_right_thing.cc: Likewise.
- * testsuite/23_containers/list/requirements/
- do_the_right_thing.cc: Likewise.
- * testsuite/23_containers/forward_list/requirements/dr438/
- assign_neg.cc: Adjust dg-error line number.
- * testsuite/23_containers/forward_list/requirements/dr438/
- insert_neg.cc: Likewise.
- * testsuite/23_containers/forward_list/requirements/dr438/
- constructor_1_neg.cc: Likewise.
- * testsuite/23_containers/forward_list/requirements/dr438/
- constructor_2_neg.cc: Likewise.
- * testsuite/23_containers/vector/requirements/dr438/
- assign_neg.cc: Likewise.
- * testsuite/23_containers/vector/requirements/dr438/
- insert_neg.cc: Likewise.
- * testsuite/23_containers/vector/requirements/dr438/
- constructor_1_neg.cc: Likewise.
- * testsuite/23_containers/vector/requirements/dr438/
- constructor_2_neg.cc: Likewise.
- * testsuite/23_containers/deque/requirements/dr438/
- assign_neg.cc: Likewise.
- * testsuite/23_containers/deque/requirements/dr438/
- insert_neg.cc: Likewise.
- * testsuite/23_containers/deque/requirements/dr438/
- constructor_1_neg.cc: Likewise.
- * testsuite/23_containers/deque/requirements/dr438/
- constructor_2_neg.cc: Likewise.
- * testsuite/23_containers/list/requirements/dr438/
- assign_neg.cc: Likewise.
- * testsuite/23_containers/list/requirements/dr438/
- insert_neg.cc: Likewise.
- * testsuite/23_containers/list/requirements/dr438/
- constructor_1_neg.cc: Likewise.
- * testsuite/23_containers/list/requirements/dr438/
- constructor_2_neg.cc: Likewise.
-
-2012-03-04 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/52433
- * include/debug/safe_iterator.h (_Safe_iterator): Add move
- constructor and move assignment operator.
- * testsuite/23_containers/vector/debug/52433.cc: New.
-
-2012-03-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- * include/std/limits (numeric_limits): Fix returns per C++11.
- * testsuite/18_support/numeric_limits/primary.cc: New.
-
-2012-03-02 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c_global/cstdio: Remove extraneous extern.
- * include/c_std/cstdio: Same.
-
-2012-03-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/abi/post/solaris2.8/baseline_symbols.txt: Regenerate.
- * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
- * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
- * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
- * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
-
-2012-03-01 Benjamin Kosnik <bkoz@redhat.com>
- Ramana Radhakrishnan <ramana@gcc.gnu.org>
-
- PR libstdc++/51785
- * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): New.
- * configure.ac: Call it.
- * configure: Regenerate.
- * config.h.in: Same.
- * config/os/gnu-linux/os_defines.h: Conditionally undefine
- _GLIBCXX_HAVE_GETS.
- * include/c_global/cstdio: Conditionally declare deprecated gets.
- * include/c_std/cstdio: Same.
-
-2012-03-01 Michael Spertus <mike_spertus@symantec.com>
-
- * include/tr2/type_traits (typelist): To __reflection_typelist.
- (first, rest, empty): Remove.
-
-2012-03-01 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/Makefile.am (CLEANFILES): Add *.gdb.
- * testsuite/Makefile.in: Regenerate.
-
-2012-02-29 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
-
-2012-02-28 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/52191
- * testsuite/util/testsuite_abi.cc (compare_symbols): Check new
- symbols added into the latest version. Mark tls entities as
- undesignated.
-
-2012-02-28 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/52414
- * src/Makefile.am (libstdc++-symbols.ver): Only remove comment lines
- if they are at the beginning of lines (with optional whitespace before
- #).
- * src/Makefile.in: Regenerated.
-
-2012-02-27 Jakub Jelinek <jakub@redhat.com>
-
- * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
- * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
- Likewise.
- * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
- * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
- * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
- * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
- * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
- * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
-
-2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libstdc++/52188
- * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Remove symvers_renaming.
- Remove ENABLE_SYMVERS_SOL2.
- * configure: Regenerate.
- * src/Makefile.am [ENABLE_SYMVERS] (libstdc++-symbols.ver):
- Postprocess mapfile.
- [ENABLE_SYMVERS_GNU]: Remove ENABLE_SYMVERS_SOL2 handling.
- * src/Makefile.in: Regenerate.
-
- * config/abi/pre/gnu.ver (GLIBCXX_3.4.5) [!__sun__ && !__svr4__]:
- Don't export
- _ZNSt19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEppEv.
-
-2012-02-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR testsuite/52201
- * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
- Require atomic builtins.
- * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
-
-2012-02-23 Jason Merrill <jason@redhat.com>
-
- * include/bits/locale_facets.h (class num_get): Undo reordering of
- do_get virtual functions.
-
-2012-02-14 Edward Smith-Rowland <3dw4rd@verizon.net>
-
- * testsuite/26_numerics/random/
- uniform_real_distribution/requirements/typedefs.cc: Check param_type.
- * testsuite/26_numerics/random/
- piecewise_constant_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- chi_squared_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- normal_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- uniform_int_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- poisson_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- bernoulli_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- discrete_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- weibull_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- cauchy_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- negative_binomial_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- gamma_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- fisher_f_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- exponential_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- binomial_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- lognormal_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- extreme_value_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- piecewise_linear_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- student_t_distribution/requirements/typedefs.cc: Ditto.
- * testsuite/26_numerics/random/
- geometric_distribution/requirements/typedefs.cc: Ditto.
-
-2012-02-21 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/50349
- * config/abi/pre/gnu.ver: Only one local.
- * config/abi/pre/gnu-versioned-namespace.ver: Same.
-
-2012-02-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/52317 (cont)
- * include/profile/unordered_map: Ad Library Exception comment.
- * include/profile/set: Likewise.
- * include/profile/base.h: Likewise.
- * include/profile/impl/profiler_list_to_slist.h: Likewise.
- * include/profile/impl/profiler_container_size.h: Likewise.
- * include/profile/impl/profiler_vector_size.h: Likewise.
- * include/profile/impl/profiler_hash_func.h: Likewise.
- * include/profile/impl/profiler_trace.h: Likewise.
- * include/profile/impl/profiler_list_to_vector.h: Likewise.
- * include/profile/impl/profiler_vector_to_list.h: Likewise.
- * include/profile/impl/profiler.h: Likewise.
- * include/profile/impl/profiler_state.h: Likewise.
- * include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
- * include/profile/impl/profiler_algos.h: Likewise.
- * include/profile/impl/profiler_hashtable_size.h: Likewise.
- * include/profile/impl/profiler_node.h: Likewise.
- * include/profile/vector: Likewise.
- * include/profile/unordered_set: Likewise.
- * include/profile/map.h: Likewise.
- * include/profile/map: Likewise.
-
-2012-02-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/52317
- * python/Makefile.am: Update boilerplate license text to GPLv3.
- * include/profile/unordered_map: Likewise.
- * include/profile/set: Likewise.
- * include/profile/base.h: Likewise.
- * include/profile/impl/profiler_list_to_slist.h: Likewise.
- * include/profile/impl/profiler_container_size.h: Likewise.
- * include/profile/impl/profiler_vector_size.h: Likewise.
- * include/profile/impl/profiler_hash_func.h: Likewise.
- * include/profile/impl/profiler_trace.h: Likewise.
- * include/profile/impl/profiler_list_to_vector.h: Likewise.
- * include/profile/impl/profiler_vector_to_list.h: Likewise.
- * include/profile/impl/profiler.h: Likewise.
- * include/profile/impl/profiler_state.h: Likewise.
- * include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
- * include/profile/impl/profiler_algos.h: Likewise.
- * include/profile/impl/profiler_hashtable_size.h: Likewise.
- * include/profile/impl/profiler_node.h: Likewise.
- * include/profile/vector: Likewise.
- * include/profile/unordered_set: Likewise.
- * include/profile/map.h: Likewise.
- * include/profile/map: Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/
- wchar_t/dr1261.cc: Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/
- char/dr1261.cc: Likewise.
- * testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise.
-
-2012-02-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/52241
- * src/c++98/tree.cc (local_Rb_tree_increment,
- local_Rb_tree_decrement): Add.
- (_Rb_tree_increment(const _Rb_tree_node_base*),
- _Rb_tree_decrement(const _Rb_tree_node_base*)): Use the latter.
- (_Rb_tree_increment(_Rb_tree_node_base*),
- _Rb_tree_decrement(_Rb_tree_node_base*)): New.
-
-2012-02-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/52309
- * include/bits/hashtable_policy.h (_Equality_base<, true,>::
- _M_equal(const _Hashtable&)): Compare values with operator==.
- * testsuite/23_containers/unordered_set/operators/52309.cc: New.
-
-2012-02-17 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/51798 continued.
- * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Grep for
- __atomic_, not __sync.
- * configure: Regenerated.
-
-2012-02-17 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/47058
- * acinclude.m4 (GLIBCXX_ENABLE_WERROR): New.
- (GLIBCXX_EXPORT_FLAGS): Add -Wabi to WARN_FLAGS
- * configure.ac: Use it.
- * fragment.am: Set WERROR_FLAG conditionally on --disable-werror.
- * configure: Regenerate.
- * python/Makefile.in: Same.
- * Makefile.in: Same.
- * doc/Makefile.in: Same.
- * include/Makefile.in: Same.
- * po/Makefile.in: Same.
- * python/Makefile.in: Same.
- * src/Makefile.in: Same.
- * src/c++11/Makefile.in: Same.
- * src/c++98/Makefile.in: Same.
- * testsuite/Makefile.in: Same.
-
-2012-02-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libstdc++/52189
- * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Handle
- --enable-libstdcxx-threads.
- Disable on Solaris 8/9 with symbol versioning.
- * configure.ac (GLIBCXX_CHECK_GTHREADS): Move after
- GLIBCXX_ENABLE_SYMVERS.
- * configure: Regenerate.
- * doc/xml/manual/configure.xml (--enable-libstdcxx-threads): Explain.
-
-2012-02-15 DJ Delorie <dj@redhat.com>
-
- * src/c++98/locale.cc (locale::facet::_S_get_c_locale): Fix typo.
-
-2012-02-15 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/51368
- * acinclude.m4 (GLIBCXX_ENABLE_PYTHON): New.
- * configure.ac: Use it.
- * python/Makefile.am: Same.
- * configure: Regenerate.
- * python/Makefile.in: Regenerate.
- * Makefile.in: Same.
- * doc/Makefile.in: Same.
- * include/Makefile.in: Same.
- * po/Makefile.in: Same.
- * src/Makefile.in: Same.
- * src/c++11/Makefile.in: Same.
- * src/c++98/Makefile.in: Same.
- * testsuite/Makefile.in: Same.
-
-2012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * 30_threads/thread/native_handle/typesizes.cc: Do not run on cygwin.
-
-2012-02-14 Tom Tromey <tromey@redhat.com>
-
- * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add new
- tests.
- * python/libstdcxx/v6/printers.py (Tr1HashtableIterator.__init__):
- Rewrite.
- (Tr1HashtableIterator.update): Remove.
- (Tr1HashtableIterator.next): Rewrite.
-
-2012-02-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
- * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
-
-2012-02-13 Richard Henderson <rth@redhat.com>
-
- PR libstdc++/51798 continued.
- * include/bits/shared_ptr_base.h
- (_Sp_counted_base<_S_atomic>::_M_add_ref_lock): Hoist initial load
- outside compare_exchange loop.
- * include/tr1/shared_ptr.h: Same.
- * include/parallel/compatibility.h (__compare_and_swap_32): Use strong
- version of compare_exchange.
- (__compare_and_swap_64): Same.
- * include/profile/impl/profiler_state.h (__gnu_profile::__turn): Same.
- * libsupc++/guard.cc (__cxa_guard_acquire): Same.
-
-2012-02-10 Benjamin Kosnik <bkoz@redhat.com>
- Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/51798 continued.
- * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Use __atomic_*
- builtins instead of __sync_* builtins for atomic functionality.
- * include/bits/shared_ptr_base.h: Same.
- * include/parallel/compatibility.h: Same.
- * include/profile/impl/profiler_state.h: Same.
- * include/tr1/shared_ptr.h: Same.
- * libsupc++/eh_ptr.cc: Same.
- * libsupc++/eh_throw.cc: Same.
- * libsupc++/eh_tm.cc: Same.
- * libsupc++/guard.cc: Same.
- * configure: Regenerated.
- * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
- * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
-
-2012-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libstdc++/51296
- * config/os/osf/ctype_base.h,
- config/os/osf/ctype_configure_char.cc,
- config/os/osf/ctype_inline.h, config/os/osf/error_constants.h:
- Copy from config/os/generic.
- * config/os/osf/os_defines.h: Likewise.
- (_GTHREAD_USE_MUTEX_INIT_FUNC, _GTHREAD_USE_COND_INIT_FUNC):
- Define.
- * configure.host <osf*>: Use os/osf for os_include_dir.
-
-2012-02-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated.
-
-2012-02-09 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/xml/manual/documentation_hacking.xml: Fix invalid attribute.
-
-2012-02-08 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/xml/manual/status_cxx2011.xml: Update C++11 status table.
-
-2012-02-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * doc/doxygen/user.cfg.in: Update to doxygen 1.7.6.1.
- * doc/xml/manual/documentation_hacking.xml: Update.
-
-2012-02-07 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * testsuite/30_threads/call_once/39909.cc: Remove duplicate target
- selector.
- * testsuite/30_threads/call_once/49668.cc: Likewise.
- * testsuite/30_threads/call_once/call_once1.cc: Likewise.
- * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
- * testsuite/30_threads/mutex/cons/1.cc: Likewise.
- * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
- * testsuite/30_threads/mutex/lock/1.cc: Likewise.
- * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
- * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
- * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
- * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
- * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
- * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
- * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
-
-2012-02-07 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/51296
- * include/std/mutex (__mutex_base::~__mutex_base): Declare noexcept.
- * src/c++11/condition_variable.cc (condition_variable): Use macro for
- initializer function.
-
- PR libstdc++/51906
- * config/os/bsd/darwin/os_defines.h: Disable static initializer for
- recursive mutexes.
-
-2012-02-06 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/52128
- * src/c++11/future.cc: Add explicit instantiation.
-
-2012-02-06 François Dumont <fdumont@gcc.gnu.org>
-
- * include/debug/safe_iterator.h
- (_Safe_iterator::_M_before_dereferenceable): Avoid the expensive
- creation of a _Safe_iterator instance to do the check.
-
-2012-02-05 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/52104
- * include/std/future (__future_base::_Async_state_common): Define
- destructor inline for targets without TLS.
- * src/c++11/future.cc (__future_base::_Async_state_common): Only
- define destructor for TLS targets.
-
-2012-02-05 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/51956
- * python/libstdcxx/v6/printers.py (StdPointerPrinter): Rename to...
- (SharedPointerPrinter): This. Also show weak count.
- * testsuite/libstdc++-prettyprinters/shared_ptr.cc: New.
-
-2012-02-05 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Modify to
- PASS instead of XFAIL.
-
-2012-02-05 Jeffrey Yasskin <jyasskin@gcc.gnu.org>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/52119
- * include/std/limits (__glibcxx_min): Fix to avoid undefined behavior.
-
-2012-02-03 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/49445
- * testsuite/29_atomics/atomic/cons/49445.cc: Add.
-
-2012-02-03 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/51811
- * include/bits/atomic_base.h (atomic<_Tp*>): Fix offsets.
- * testsuite/29_atomics/atomic/operators/51811.cc: New.
- * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: New.
-
-2012-02-03 Jakub Jelinek <jakub@redhat.com>
-
- * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
- * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
- Likewise.
- * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
- * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
- * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
- * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
- * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
- * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
-
-2012-02-02 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/52068
- * src/c++11/Makefile.am (toolexeclib_LTLIBRARIES,
- libc__11_la_SOURCES): Remove.
- * src/c++11/Makefile.in: Regenerate.
- * src/c++98/Makefile.am (toolexeclib_LTLIBRARIES,
- libc__98_la_SOURCES): Remove.
- * src/c++98/Makefile.in: Regenerate.
-
-2012-02-01 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/49204
- * include/std/future (__future_base::_State_base::wait()): Use lambda
- expression for predicate and remove redundant test.
- (__future_base::_State_base::wait_for()): Return future_status and
- use lambda expression for predicate.
- (__future_base::_State_base::wait_until()): Likewise.
- (__basic_future::wait_for(), __basic_future::wait_until()): Likewise.
- (__future_base::_Async_state): Replace with _Async_state_common
- class for non-dependent functionality and _Async_state_impl class
- template for dependent functionality.
- (__future_base::_Async_state_common::_M_join): Serialize attempts to
- join thread.
- (__future_base::_Async_state_common::_M_run_deferred): Join.
- (__future_base::_Async_state::_M_do_run): Replace with lambda.
- * src/c++11/future.cc (__future_base::_Async_state_common): Define
- destructor, so key function is in the library.
- * config/abi/pre/gnu.ver: Add exports for ~_Async_state_common.
- * testsuite/30_threads/packaged_task/members/get_future.cc: Expect
- future_status return instead of bool.
- * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
- * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
- * testsuite/30_threads/future/members/wait_until.cc: Likewise.
- * testsuite/30_threads/future/members/wait_for.cc: Likewise.
- * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
- * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
- * testsuite/30_threads/promise/members/swap.cc: Likewise.
-
-2012-01-30 Tom Tromey <tromey@redhat.com>
-
- PR libstdc++/51649:
- * testsuite/libstdc++-prettyprinters/debug.cc: New file.
- * testsuite/lib/gdb-test.exp (regexp-test): New proc.
- (note-test): Update.
- (gdb-test): Handle regexp tests. Add some logging.
- * testsuite/libstdc++-prettyprinters/simple.cc: Compile with -O0.
- (placeholder, use): Remove.
- (main): Add tests for deque, list, map, and set iterators. Add
- tests for slist and slist iterator.
- * testsuite/libstdc++-prettyprinters/48362.cc (main): Handle __7
- namespace.
- * python/libstdcxx/v6/printers.py (StdListPrinter.children): Use
- the type's _Node typedef.
- (StdListIteratorPrinter.to_string): Change how node type is
- computed.
- (StdSlistPrinter.children): Use the type's _Node typedef.
- (StdSlistIteratorPrinter.to_string): Likewise.
- (StdRbtreeIteratorPrinter.to_string): Use the type's _Link_type
- typedef.
- (StdMapPrinter.children): Change how the node's type is computed.
- (StdSetPrinter.children): Likewise.
- (StdForwardListPrinter.children): Use the type's _Node typedef.
- (Printer.add_version): New method.
- (Printer.add_container): New method.
- (build_libstdcxx_dictionary): Handle __7 and __cxx1998
- namespaces.
- (find_type): New function.
-
-2012-01-27 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR libstdc++/51795
- * include/bits/random.h (linear_congruential_generator): Add
- static_assert preventing instantiation for values of 'a' and 'm'
- currently handled incorrectly by _Mod::__calc.
- * include/bits/random.tcc (seed_seq::generate): Avoid unsafe
- uses of _Mod::__calc.
-
-2012-01-27 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/51798
- * config/cpu/generic/atomicity_builtins/atomicity.h
- (__exchange_and_add, __atomic_add): Use __atomic_fetch_add
- with __ATOMIC_ACQ_REL semantics instead of __sync_fetch_and_add.
- * include/ext/atomicity.h (__exchange_and_add, __atomic_add):
- Likewise.
-
-2011-01-27 Rafael Avila de Espindola <rafael.espindola@gmail.com>
-
- * libsupc++/typeinfo: Correctly match #pragma GCC visibility
- pop with #pragma GCC visibility push.
-
-2012-01-27 Benjamin Kosnik <bkoz@redhat.com>
- Matthias Klose <doko@ubuntu.com>
-
- * configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Use -gdwarf-4 -g3 -O0.
- * configure.in: Regenerated.
- * src/Makefile.am (all-once, install-data-once): New rules.
- (all-local, install-data-local): Use them.
- (build-debug, install-debug): Tweak.
- * src/Makefile.in: Regenerate.
-
-2012-01-27 Richard Henderson <rth@redhat.com>
-
- * include/bits/atomic_base.h (__atomic_flag_base): Define _M_i
- based on the value of __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
- (ATOMIC_FLAG_INIT): Initialize with 0, not false.
- (atomic_flag::atomic_flag): Use __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
-
-2012-01-26 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/51985
- * src/c++98/Makefile.am (libc__98_la_SOURCES,
- libc__98convenience_la_SOURCES): Remove $(inst_sources).
- * src/c++98/Makefile.in: Regenerated.
-
-2012-01-25 Richard Sandiford <rdsandiford@googlemail.com>
-
- * testsuite/20_util/system_clock/1.cc: Add dg-require-time.
- * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
- * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Add
- dg-require-fileio.
- * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
- * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
-
-2012-01-25 Matthias Klose <doko@ubuntu.com>
-
- * testsuite/30_threads/condition_variable_any/requirements: Remove
- empty directory.
-
-2012-01-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/Makefile.am (libstdc++convenience.la): Correct stamp rule, copy.
- * src/Makefile.in: Regenerate.
-
-2012-01-23 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/49829
- Add libc++98convenience.la, libc++11convenience.la.
- * src/c++98: New directory.
- * src/c++11: New directory.
- * acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11.
- * configure: Regenerated.
- * Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS.
- * Makefile.in: Regenerate.
- * libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for
- -fno-implicit-templates.
- * libsupc++/Makefile.in: Regenerate.
- * src/Makefile.am (inst_sources): Move... C++11 files into
- separate directory for libstdc++11convenience.la. Files are:
- fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc).
- (sources): Move C++11 files. Files are: compatibility-c++0x.cc,
- compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc,
- functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc,
- system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc,
- mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc.
- (libstdc++convenience.la): Add new target.
- (SUBDIRS): Add c++11, c++98.
- * src/Makefile.in: Regenerate.
- * src/c++11/Makefile.am: New.
- * src/c++11/Makefile.in: Generate.
- * src/c++98/Makefile.am: New, C++98 files.
- * src/c++98/Makefile.in: Generate.
-
-2012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- libstdc++-v3:
- * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail on
- 32-bit Solaris 10/x86.
- * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
-
-2012-01-21 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/50982
- * testsuite/30_threads/*: Add powerpc-ibm-aix* to target selectors.
-
-2012-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/51845
- * include/bits/hashtable.h
- (_Hashtable<>::erase(const_iterator, const_iterator)): Also update
- _M_buckets[__n_bkt] if __is_bucket_begin.
- * testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc:
- New test.
-
-2012-01-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): Fix quoting.
-
-2012-01-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.ac: Move epub checks...
- * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): ...here, use
- test -f instead of AC_CHECK_FILES.
-
-2012-01-18 François Dumont <fdumont@gcc.gnu.org>
- Roman Kononov <roman@binarylife.net>
-
- PR libstdc++/51866
- * include/bits/hashtable.h (_Hashtable<>::_M_insert(_Arg, false_type)):
- Do not keep a reference to a potentially moved instance.
- * testsuite/23_containers/unordered_multiset/insert/51866.cc: New.
- * testsuite/23_containers/unordered_multimap/insert/51866.cc: New.
-
-2012-01-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * doc/html/*: Regenerate.
-
-2012-01-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.ac (BUILD_EPUB): Adjust for epub3.
- * configure: Regenerate.
- * Makefile.in: Same.
- * doc/Makefile.am (stamp-epub-docbook): Update for epub3.
- * doc/Makefile.in: Regenerate.
- * include/Makefile.in: Same.
- * libsupc++/Makefile.in: Same.
- * po/Makefile.in: Same.
- * python/Makefile.in: Same.
- * src/Makefile.in: Same.
- * testsuite/Makefile.in: Same.
-
- * doc/xml/manual/documentation_hacking.xml: Update.
-
-2012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/47852
- * configure.host (irix6.5*): Add -lpthread to OPT_LDFLAGS.
-
-2012-01-14 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/bits/stl_iterator.h (reverse_iterator): Doxygen comments.
-
-2012-01-13 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/hashtable_policy.h (_Hash_node_base): New, use it as
- base class of ...
- (_Hash_node<Value, true>, _Hash_node<Value, false>): ... those.
- * include/bits/hashtable.h (_Hashtable): Replace _M_begin_bucket_index
- by _M_before_begin. Review implementation so that we do not need to
- look for previous non-empty bucket when inserting nodes.
-
-2012-01-09 Kai Tietz <ktietz@redhat.com>
-
- PR libstc++/51673 part 2
- * config/abi/pre/gnu-versioned-namespace.ver: Adjusted new/delete
- operators signature for LLP64 size_t, and adjusted signatures for
- mt-allocator using size_t.
-
-2012-01-09 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstc++/51673 part 1
- * config/abi/pre/gnu-versioned-namespace.ver: Sync cxxabi symbols
- with gnu.ver.
-
-2012-01-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * fragment.am (WARN_CXXFLAGS): Add -Wabi.
- * Makefile.in: Regenerate.
- * doc/Makefile.in: Same.
- * include/Makefile.in: Same.
- * libsupc++/Makefile.in: Same.
- * src/Makefile.in: Same.
- * testsuite/Makefile.in: Same.
- * po/Makefile.in: Same.
- * python/Makefile.in: Same.
-
-2012-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * python/libstdcxx/v6/printers.py (StdForwardListPrinter): Add.
- * testsuite/libstdc++-prettyprinters/cxx11.cc: New.
-
-2012-01-06 Jason Merrill <jason@redhat.com>
-
- * testsuite/abi/demangle/regression/cw-16.cc (main): Adjust
- expected demangling.
-
-2012-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/51504
- * doc/xml/manual/debug.xml: Suggest using symbol interposition
- to override symbols using annotation macros.
-
-2012-01-05 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/hashtable_policy.h (_Hashtable_base<>::_M_eq()):
- protected rather than private, use it...
- * include/bits/hashtable.h (_Hashtable<>::key_eq()): ... here.
- * testsuite/23_containers/unordered_set/observers.cc: New.
- * testsuite/23_containers/unordered_multiset/observers.cc: New.
- * testsuite/23_containers/unordered_map/observers.cc: New.
- * testsuite/23_containers/unordered_multimap/observers.cc: New.
-
-2012-01-03 François Dumont <fdumont@gcc.gnu.org>
-
- * include/bits/hashtable_policy.h (_Ebo_helper<>): Rename to the more
- specific _Hashtable_ebo_helper. Hide this implementation detail thanks
- to private inheritance.
-
-2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51738
- * testsuite/23_containers/map/element_access/39901.cc: New.
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/ChangeLog-1998 b/libstdc++-v3/ChangeLog-1998
index 2549db48483..ed443df32f2 100644
--- a/libstdc++-v3/ChangeLog-1998
+++ b/libstdc++-v3/ChangeLog-1998
@@ -939,4 +939,9 @@
* iterator (class reverse_iterator): Do some tweaks to be in sync
w/ the FDIS.
+
+Copyright (C) 1998 Free Software Foundation, Inc.
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/ChangeLog-1999 b/libstdc++-v3/ChangeLog-1999
index 29a506317cf..846535bf966 100644
--- a/libstdc++-v3/ChangeLog-1999
+++ b/libstdc++-v3/ChangeLog-1999
@@ -3541,4 +3541,9 @@
* bits/std_fstream.h: Set _M_buf_size based on cstdio's BUFSIZ.
Re-implement virtual functions.
* bits/fstream.tcc: Delete unused mf's.
+
+Copyright (C) 1999 Free Software Foundation, Inc.
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/ChangeLog-2000 b/libstdc++-v3/ChangeLog-2000
index 274f223b362..d81a03d9f51 100644
--- a/libstdc++-v3/ChangeLog-2000
+++ b/libstdc++-v3/ChangeLog-2000
@@ -5641,4 +5641,9 @@ Thu Nov 2 10:11:45 2000 Mark P Mitchell <mark@codesourcery.com>
* docs/index.html, docs/links.html, docs/mail.html,
docs/status.html, docs/thanks.html, docs/faq/index.txt: Ditto.
* docs/how.html: Ditto. (This file should go away soon.)
+
+Copyright (C) 2000 Free Software Foundation, Inc.
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/ChangeLog-2001 b/libstdc++-v3/ChangeLog-2001
index e7d658febc0..27012af4a39 100644
--- a/libstdc++-v3/ChangeLog-2001
+++ b/libstdc++-v3/ChangeLog-2001
@@ -6065,3 +6065,9 @@
* tests_flags.in: Fix typo in usage.
* tests_flags.in: Set target specific LIBS for cygwin.
+
+Copyright (C) 2001 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/ChangeLog-2002 b/libstdc++-v3/ChangeLog-2002
index 3448363ee08..a7da86da75b 100644
--- a/libstdc++-v3/ChangeLog-2002
+++ b/libstdc++-v3/ChangeLog-2002
@@ -5588,3 +5588,9 @@
* configure.in: Add support for NetBSD cross compiles.
* configure: Regenerate.
+
+Copyright (C) 2002 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/ChangeLog-2003 b/libstdc++-v3/ChangeLog-2003
index b01638cd7a5..3def08eef8b 100644
--- a/libstdc++-v3/ChangeLog-2003
+++ b/libstdc++-v3/ChangeLog-2003
@@ -8617,3 +8617,9 @@
* config/cpu/i486/atomicity.h (__exchange_and_add, __atomic_add):
*__mem is also an output.
* config/cpu/m68k/atomicity.h (__exchange_and_add): Likewise.
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/ChangeLog-2004 b/libstdc++-v3/ChangeLog-2004
index 71642834917..5481e252799 100644
--- a/libstdc++-v3/ChangeLog-2004
+++ b/libstdc++-v3/ChangeLog-2004
@@ -6707,3 +6707,9 @@
Dimension _M_atoms_out and _M_atoms_in one position smaller.
(__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
and _M_atoms_in.
+
+Copyright (C) 2004 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/ChangeLog-2005 b/libstdc++-v3/ChangeLog-2005
index 48ae4c1f54f..a71ba23e39f 100644
--- a/libstdc++-v3/ChangeLog-2005
+++ b/libstdc++-v3/ChangeLog-2005
@@ -5466,3 +5466,9 @@
null-terminate array1 at the outset.
* testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
Likewise.
+
+Copyright (C) 2005 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/ChangeLog-2006 b/libstdc++-v3/ChangeLog-2006
index 4f91c8e56e4..abfca29c20d 100644
--- a/libstdc++-v3/ChangeLog-2006
+++ b/libstdc++-v3/ChangeLog-2006
@@ -5849,3 +5849,9 @@
detail existing @GLIBCXX_3.4 exports of basic_ostream, num_put,
money_put, etc., symbols to avoid exporting _M_insert symbols
@GLIBCXX_3.4.
+
+Copyright (C) 2006 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/ChangeLog-2007 b/libstdc++-v3/ChangeLog-2007
index d3a1407a91e..8c5fcd1056d 100644
--- a/libstdc++-v3/ChangeLog-2007
+++ b/libstdc++-v3/ChangeLog-2007
@@ -8241,3 +8241,9 @@
* include/tr1/random (gamma_distribution): Fix typo in formula.
* docs/doxygen/user.cfg.in: Use package amsmath.
+
+Copyright (C) 2007 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/ChangeLog-2008 b/libstdc++-v3/ChangeLog-2008
index b1ba0aadc9b..056ae6c84e1 100644
--- a/libstdc++-v3/ChangeLog-2008
+++ b/libstdc++-v3/ChangeLog-2008
@@ -4799,3 +4799,9 @@
random_access_iterator_tag, random_access_iterator_tag)): Careful
with undereferenceable iterators.
* testsuite/25_algorithms/sort/34636.cc: New.
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/ChangeLog-2009 b/libstdc++-v3/ChangeLog-2009
index e5064a33dc9..acfb058c8bb 100644
--- a/libstdc++-v3/ChangeLog-2009
+++ b/libstdc++-v3/ChangeLog-2009
@@ -12425,3 +12425,9 @@
* testsuite/27_io/basic_istream/read/wchar_t/38678.cc: Likewise.
* testsuite/27_io/basic_ostream/write/char/38678.cc: Likewise.
* testsuite/27_io/basic_ostream/write/wchar_t/38678.cc: Likewise.
+
+Copyright (C) 2009 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/ChangeLog-2010 b/libstdc++-v3/ChangeLog-2010
index 82831e77ec4..c4691625d2f 100644
--- a/libstdc++-v3/ChangeLog-2010
+++ b/libstdc++-v3/ChangeLog-2010
@@ -7186,3 +7186,9 @@
Likewise.
* testsuite/ext/vstring/requirements/exception/
generation_prohibited.cc: Likewise.
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/ChangeLog-2011 b/libstdc++-v3/ChangeLog-2011
index 6d1ab92f88c..37ab4df2759 100644
--- a/libstdc++-v3/ChangeLog-2011
+++ b/libstdc++-v3/ChangeLog-2011
@@ -6356,7 +6356,6 @@
PR libstdc++/46922
* config/abi/pre/gnu.ver: Export std::bad_function_call symbols.
-
Copyright (C) 2011 Free Software Foundation, Inc.
diff --git a/libstdc++-v3/ChangeLog-2012 b/libstdc++-v3/ChangeLog-2012
new file mode 100644
index 00000000000..3b53aece35a
--- /dev/null
+++ b/libstdc++-v3/ChangeLog-2012
@@ -0,0 +1,4693 @@
+2012-12-21 Kai Tietz <ktietz@redhat.com>
+
+ * config/os/mingw32/os_defines.h (_GLIBCXX_LLP64): Define if llp64
+ abi is used.
+ * config/os/mingw32-w64/os_defines.h: Likewise.
+ * libsupc++/cxxabi.h (__base_class_type_info): Adjust
+ type of __offset_flags for llp64.
+ * libsupc++/eh_alloc.cc (EMERGENCY_OBJ_SIZE): Define proper
+ for llp64 abi.
+ (EMERGENCY_OBJ_COUNT): Likewise.
+ (bitmask_type): Likewise.
+ * libsupc++/hash_bytes.cc (_Hash_bytes): Handle llp64.
+
+2012-12-20 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/std/functional (_Require): Move to ...
+ * include/std/type_traits (_Require): ... here.
+ * include/bits/shared_ptr_base.h (__shared_count::_S_create_from_up):
+ Handle unique_ptr for arrays or with custom pointer types.
+ (__shared_ptr::__shared_ptr(unique_ptr<_Tp1, _Del>&&): Likewise.
+ * include/bits/unique_ptr.h (unique_ptr<_Tp[], _Dp>): Use
+ _Dp::pointer if defined. Implement proposed resolution of LWG 2118.
+ * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: New.
+ * testsuite/20_util/unique_ptr/assign/cv_qual.cc: New.
+ * testsuite/20_util/unique_ptr/cons/array_convertible_neg.cc: New.
+ * testsuite/20_util/unique_ptr/cons/convertible_neg.cc: New.
+ * testsuite/20_util/unique_ptr/cons/cv_qual.cc: New.
+ * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: New.
+ * testsuite/20_util/unique_ptr/requirements/pointer_type_array.cc: New.
+ * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Adjust comments.
+ * testsuite/20_util/unique_ptr/cons/pointer_array_convertible_neg.cc:
+ Likewise.
+ * testsuite/20_util/unique_ptr/requirements/pointer_type.cc: Likewise.
+ * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line number.
+ * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
+ * testsuite/20_util/default_delete/48631_neg.cc: Likewise.
+ * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
+ * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
+ * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust
+ dg-error text.
+ * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Use
+ different instantiations so static_assert fails for each.
+
+2012-12-20 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/55741
+ * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Check for Sleep.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * src/c++11/thread.cc (__sleep_for): Use Sleep if available.
+
+2012-12-18 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/xml/manual/abi.xml: Update URLs for C++ ABI.
+ * doc/xml/manual/policy_data_structures_biblio.xml: Add xmlns
+ attribute.
+ * doc/xml/manual/debug_mode.xml: Give filenames to chunks.
+ * doc/xml/manual/diagnostics.xml: Likewise.
+ * doc/xml/manual/extensions.xml: Likewise.
+ * doc/xml/manual/bitmap_allocator.xml: Likewise.
+ * doc/xml/manual/mt_allocator.xml: Likewise.
+ * doc/xml/manual/policy_data_structures.xml: Likewise.
+ * doc/xml/manual/parallel_mode.xml: Likewise.
+ * doc/xml/manual/profile_mode.xml: Likewise.
+ * doc/xml/manual/spine.xml: Likewise. Update copyright years.
+ * doc/html/*: Regenerate.
+
+2012-12-17 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/std/future (__async_sfinae_helper): Remove.
+
+2012-12-16 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * src/c++11/thread.cc (execute_native_thread_routine): Do not swallow
+ __forced_unwind exceptions.
+ * testsuite/30_threads/thread/native_handle/cancel.cc: New.
+
+2012-12-14 Steve Ellcey <sellcey@mips.com>
+
+ * testsuite/21_strings/basic_string/append/wchar_t/3.cc: Shrink
+ memory usage under simulator.
+ * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Ditto.
+ * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
+ Ditto.
+ * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
+ Ditto.
+
+2012-12-13 Steve Ellcey <sellcey@mips.com>
+
+ * testsuite/21_strings/basic_string/capacity/char/18654.cc: Shrink
+ memory usage under simulator.
+ * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Ditto.
+ * testsuite/22_locale/collate/transform/char/28277.cc: Ditto.
+ * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Ditto.
+
+2012-12-12 Benjamin Kosnik <bkoz@redhat.com>
+
+ * doc/xml/manual/documentation_hacking.xml: Fix validation issue.
+
+2012-12-11 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/55631
+ * include/ext/alloc_traits.h: Include missing header.
+ * include/ext/pointer.h: Likewise.
+ * include/ext/string_conversions.h: Require C++11.
+ * libsupc++/initializer_list: Reindent.
+
+2012-12-10 Benjamin Kosnik <bkoz@redhat.com>
+
+ * doc/Makefile.am (xml_sources_manual): Add
+ policy_data_structures_biblio.xml.
+ (${docbook_outdir}/latex): Add.
+ (doc-xml-validate-docbook): Split into..
+ (doc-xml-validate-dtd-db):... this for DTD.
+ (doc-xml-validate-rng-db):... this for Relax NG.
+ (doc-pdf-docbook-dirs): Add.
+ (doc-pdf-docbook-pre): Add.
+ * doc/xml/manual/build_hacking.xml: Add literal markup.
+ * doc/xml/manual/documentation_hacking.xml: Clean whitespace in
+ <filename> markup. Add notes about debugging the generation process.
+ * doc/xml/manual/policy_data_structures.xml: Split biblio into...
+ * doc/xml/manual/policy_data_structures_biblio.xml: ... this. New.
+ * doc/xml/manual/test_policy_data_structures.xml: Fixup <filename>
+ markup.
+
+2012-12-10 Matthias Klose <doko@ubuntu.com>
+
+ * src/Makefile.am (libstdc++-symbols.ver): Use CONFIG_HEADER.
+ * src/Makefile.in: Regenerate.
+
+2012-12-09 Andreas Schwab <schwab@linux-m68k.org>
+
+ * testsuite/lib/libstdc++.exp (dg-test): Unset testname_with_flags
+ after running the test.
+
+2012-12-04 Andreas Schwab <schwab@linux-m68k.org>
+
+ * include/Makefile.am (${host_builddir}/c++config.h): Replace
+ [<space><tab>] by [<tab><space>].
+ * include/Makefile.in: Regenerate.
+
+2012-12-04 Steven Bosscher <steven@gcc.gnu.org>
+
+ * include/Makefile.am: Fix regexp broken by previous commit.
+ * include/Makefile.in: Likewise.
+
+2012-12-03 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp:
+ Remove.
+ * include/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp:
+ Remove.
+ * include/Makefile.am (pb_headers): Remove include files.
+ * include/Makefile.in: Regenerated.
+
+2012-12-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR libstdc++/55503
+ * testsuite/30_threads/condition_variable/members/53841.cc: Add
+ hppa*-hp-hpux11* to -pthread dg-options.
+
+2012-11-29 Kai Tietz <ktietz@redhat.com>
+
+ PR target/55445
+ * libsupc++/eh_personaltity.cc (__SEH__): Additional check
+ for not being SjLj.
+
+2012-11-28 Andrew Pinski <apinski@cavium.com>
+
+ PR bootstrap/54279
+ * scripts/testsuite_flags.in (--build-cxx): Use xg++ instead of g++.
+ * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
+
+2012-11-28 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/std/functional (_Mem_fn): Constrain function call operators
+ to avoid ambiguities. Use perfect forwarding.
+ * testsuite/20_util/function_objects/mem_fn/55463.cc: Additional
+ tests.
+ * testsuite/20_util/function_objects/mem_fn/forward.cc: New.
+ * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
+
+2012-11-27 Ollie Wild <aaw@google.com>
+
+ * include/bits/stl_tree.h (@headername): Fix incorrect Doxygen macro
+ invocation.
+
+2012-11-26 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/std/functional (__is_socketlike): Change from class
+ template to alias template.
+
+2012-11-26 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/55463
+ * include/std/functional (_Mem_fn): Handle rvalue objects. Add
+ noexcept-specifications.
+ * testsuite/20_util/function_objects/mem_fn/55463.cc: New.
+ * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
+
+2012-11-23 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/52680
+ * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Check for usleep and
+ sleep if nanosleep is not available. Bump libtool revision.
+ * config.h.in: Regenerate.
+ * configure: Likewise.
+ * config/abi/pre/gnu.ver (GLIBCXX_3.4.18): Add __sleep_for.
+ * include/std/thread (this_thread::__sleep_for): Add.
+ (this_thread::yield, this_thread::sleep_until, this_thread::sleep_for):
+ Declare unconditionally.
+ * src/c++11/thread.cc (this_thread::__sleep_for): Define.
+ * testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Rename to
+ check_v3_target_sleep.
+ * testsuite/lib/dg-options.exp (dg-require-nanosleep): Rename to
+ dg-require-sleep.
+ * testsuite/30_threads/condition_variable_any/53830.cc: Update.
+ * testsuite/30_threads/this_thread/2.cc: Likewise.
+ * testsuite/30_threads/this_thread/3.cc: Likewise.
+ * testsuite/30_threads/this_thread/4.cc: Likewise.
+ * testsuite/30_threads/async/54297.cc: Likewise.
+
+2012-11-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/55413
+ * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Initialize
+ __bbegin_bkt and __prev_bkt to avoid uninitialized warnings.
+ * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
+ dg-error line number.
+
+2012-11-20 Matthias Klose <doko@ubuntu.com>
+
+ * doc/doxygen/user.cfg.in (ALIASES). Escape sharp braces.
+ * include/bits/allocator.h: Escape sharp braces in comment.
+ * include/profile/impl/profiler_algos.h: Likewise.
+
+2012-11-20 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/ext/array_allocator.h: Replace uses of
+ __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
+
+2012-11-19 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * testsuite/20_util/allocator/requirements/typedefs.cc: Check rebind
+ and improve propagate_on_container_move_assignment check.
+
+2012-11-19 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/bits/stl_algo.h (reverse_copy): Update comment per DR 2074.
+ * include/bits/unordered_map.h: Apply DR 2005 resolution.
+ * doc/xml/manual/status_cxx2011.xml: Update per DR 2048.
+ * include/bits/allocator.h (allocator): Apply DR 2103 resolution.
+ * include/ext/array_allocator.h: Likewise.
+ * include/ext/bitmap_allocator.h: Likewise.
+ * include/ext/malloc_allocator.h: Likewise.
+ * include/ext/mt_allocator.h: Likewise.
+ * include/ext/new_allocator.h: Likewise.
+ * include/ext/pool_allocator.h: Likewise.
+ * include/ext/throw_allocator.h: Likewise.
+ * include/ext/alloc_traits.h (__allocator_always_compares_equal): Add
+ additional specializations.
+ * include/std/functional: Add comment about DR resolution.
+ * include/std/future: Likewise.
+ * include/std/scoped_allocator: Likewise.
+ * include/std/thread: Likewise.
+ * testsuite/20_util/allocator/requirements/typedefs.cc: New.
+ * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
+
+2012-11-19 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/bits/hashtable.h: Improve comments.
+ * include/bits/hashtable_policy.h: Likewise.
+
+2012-11-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/55363
+ * include/std/array (tuple_size, tuple_element): Move out
+ NAMESPACE_CONTAINER.
+ * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
+ dg-error line numbers.
+ * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
+ Likewise.
+
+2012-11-16 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove
+ automatic shrink.
+ (_Prime_rehash_policy::_M_bkt_for_elements): Do not call
+ _M_next_bkt anymore.
+ (_Prime_rehash_policy::_M_next_bkt): Move usage of
+ _S_growth_factor ...
+ (_Prime_rehash_policy::_M_need_rehash): ... here.
+ * include/bits/hashtable.h (_Hashtable<>): Adapt.
+ * testsuite/performance/23_containers/insert_erase/41975.cc: Add
+ _USE_TR1 to force build using std::tr1 container.
+ * testsuite/performance/23_containers/insert/unordered_set.cc:
+ Likewise.
+ * testsuite/performance/23_containers/insert/54075.cc: New.
+
+2012-11-16 Tom Tromey <tromey@redhat.com>
+
+ * testsuite/libstdc++-prettyprinters/whatis.cc: New file.
+ * testsuite/lib/gdb-test.exp (whatis-test): New proc.
+ (gdb-test): Handle 'whatis' tests.
+ (gdb_batch_check): New proc.
+ (gdb_version_check): Rewrite to use gdb_batch_check.
+ * python/libstdcxx/v6/printers.py: Import gdb.types.
+ (FilteringTypePrinter): New class.
+ (add_one_type_printer, register_type_printers): New functions.
+ (register_libstdcxx_printers): Call register_type_printers.
+
+2012-11-15 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/53841
+ * include/std/condition_variable (condition_variable::wait_until):
+ Handle clocks with higher resolution than __clock_t.
+ (condition_variable::__wait_until_impl): Remove unnecessary _Clock
+ parameter.
+ * testsuite/30_threads/condition_variable/members/53841.cc: New.
+
+2012-11-14 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/55320
+ * include/std/functional (function::function(F)): Set _M_manager after
+ operations that could throw.
+ (_Function_base::_Ref_manager::_M_init_functor): Use addressof.
+ * include/tr1/functional
+ (_Function_base::_Ref_manager::_M_init_functor): Use addressof.
+ (_Function_base::_Base_manager::_M_get_pointer): Likewise.
+ * testsuite/20_util/function/cons/55320.cc: New.
+ * testsuite/20_util/function/cons/addressof.cc: New.
+ * testsuite/20_util/function/cons/callable.cc: Remove header.
+ * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
+ * testsuite/tr1/3_function_objects/function/10.cc: New.
+
+2012-11-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * testsuite/26_numerics/complex/abi_tag.cc: Adjust expected
+ demangling for 128bit long-double targets.
+
+2012-11-12 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/std/future (atomic_future): Remove declaration of
+ non-standard name.
+
+2012-11-11 Jason Merrill <jason@redhat.com>
+
+ * include/std/complex (real, imag): Add ABI tag in C++11 mode.
+
+2012-11-11 Andreas Schwab <schwab@linux-m68k.org>
+
+ * doc/xml/chapter.txml: Remove whitespace inside <keyword>.
+ * doc/xml/class.txml: Likewise.
+ * doc/xml/manual/abi.xml: Likewise.
+ * doc/xml/manual/algorithms.xml: Likewise.
+ * doc/xml/manual/allocator.xml: Likewise.
+ * doc/xml/manual/appendix_contributing.xml: Likewise.
+ * doc/xml/manual/appendix_free.xml: Likewise.
+ * doc/xml/manual/appendix_porting.xml: Likewise.
+ * doc/xml/manual/atomics.xml: Likewise.
+ * doc/xml/manual/auto_ptr.xml: Likewise.
+ * doc/xml/manual/backwards_compatibility.xml: Likewise.
+ * doc/xml/manual/bitmap_allocator.xml: Likewise.
+ * doc/xml/manual/build_hacking.xml: Likewise.
+ * doc/xml/manual/codecvt.xml: Likewise.
+ * doc/xml/manual/concurrency.xml: Likewise.
+ * doc/xml/manual/concurrency_extensions.xml: Likewise.
+ * doc/xml/manual/configure.xml: Likewise.
+ * doc/xml/manual/containers.xml: Likewise.
+ * doc/xml/manual/ctype.xml: Likewise.
+ * doc/xml/manual/debug.xml: Likewise.
+ * doc/xml/manual/debug_mode.xml: Likewise.
+ * doc/xml/manual/diagnostics.xml: Likewise.
+ * doc/xml/manual/extensions.xml: Likewise.
+ * doc/xml/manual/internals.xml: Likewise.
+ * doc/xml/manual/intro.xml: Likewise.
+ * doc/xml/manual/io.xml: Likewise.
+ * doc/xml/manual/iterators.xml: Likewise.
+ * doc/xml/manual/locale.xml: Likewise.
+ * doc/xml/manual/localization.xml: Likewise.
+ * doc/xml/manual/messages.xml: Likewise.
+ * doc/xml/manual/mt_allocator.xml: Likewise.
+ * doc/xml/manual/numerics.xml: Likewise.
+ * doc/xml/manual/parallel_mode.xml: Likewise.
+ * doc/xml/manual/policy_data_structures.xml: Likewise.
+ * doc/xml/manual/prerequisites.xml: Likewise.
+ * doc/xml/manual/profile_mode.xml: Likewise.
+ * doc/xml/manual/shared_ptr.xml: Likewise.
+ * doc/xml/manual/status_cxx1998.xml: Likewise.
+ * doc/xml/manual/status_cxx2011.xml: Likewise.
+ * doc/xml/manual/status_cxxtr1.xml: Likewise.
+ * doc/xml/manual/status_cxxtr24733.xml: Likewise.
+ * doc/xml/manual/strings.xml: Likewise.
+ * doc/xml/manual/support.xml: Likewise.
+ * doc/xml/manual/test.xml: Likewise.
+ * doc/xml/manual/using_exceptions.xml: Likewise.
+ * doc/xml/manual/utilities.xml: Likewise.
+ * doc/xml/spine.xml: Likewise.
+
+ * acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Also check for
+ /usr/share/xml/docbook/stylesheet/nwalsh5/current.
+ * configure: Regenerate.
+
+2012-11-11 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/xml/manual/policy_data_structures.xml: Update reference
+ for select.
+
+2012-11-10 Jason Merrill <jason@redhat.com>
+
+ * many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
+
+2012-11-08 François Dumont <fdumont@gcc.gnu.org>
+
+ PR libstdc++/54075
+ * include/bits/hashtable.h (_Hashtable<>::rehash): Reset hash
+ policy state if no rehash.
+ * testsuite/23_containers/unordered_set/modifiers/reserve.cc
+ (test02): New.
+
+2012-11-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
+ Don't pass -D_GLIBCXX_DEBUG by hand (check-debug does).
+
+2012-11-08 Florian Weimer <fweimer@redhat.com>
+
+ * testsuite/18_support/cxa_vec.cc: Fix typo in comment.
+
+2012-11-08 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/profile/iterator_tracker.h (operator++): Fix returning
+ dangling reference.
+ (operator--): Likewise.
+
+2012-11-07 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/debug/array (_GLIBCXX_THROW_OR_ABORT): Move...
+ * include/bits/c++config: ... here.
+ * include/bits/shared_ptr_base.h (__throw_bad_weak_ptr): Use it.
+ * include/ext/pb_ds/exception.hpp: Likewise.
+ * include/ext/throw_allocator.h (__throw_forced_error): Likewise.
+ * include/ext/concurrence.h (__throw_concurrence_lock_error,
+ __throw_concurrence_unlock_error, __throw_concurrence_broadcast_error,
+ __throw_concurrence_wait_error): Likewise.
+ * include/tr1/shared_ptr.h (__throw_bad_weak_ptr): Likewise.
+ * include/tr1/functional (function<_Res(_ArgTypes...)>::operator()
+ (_ArgTypes...)): Likewise.
+ * libsupc++/eh_aux_runtime.cc (__cxxabiv1::__cxa_bad_cast,
+ __cxxabiv1::__cxa_bad_typeid): Likewise.
+ * libsupc++/vec.cc (compute_size): Likewise.
+ * libsupc++/new_op.cc (operator new (std::size_t)): Likewise.
+ * src/c++11/functexcept.cc: Likewise.
+ * testsuite/util/io/illegal_input_error.hpp
+ (__throw_illegal_input_error): Likewise.
+ * libsupc++/eh_personality.cc: Avoid warning with -fno-exceptions.
+ * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
+ numbers.
+ * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
+ Likewise.
+ * testsuite/23_containers/array/tuple_interface/
+ tuple_element_debug_neg.cc: Likewise.
+ * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
+ Likewise.
+ * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
+
+2012-11-07 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/bits/stl_vector.h (vector(size_type)): Add missing allocator
+ parameter.
+ * include/bits/stl_bvector.h: Likewise.
+ * include/debug/vector (vector(size_type)): Likewise.
+ * include/profile/vector (vector(size_type)): Likewise. Pass allocator
+ to base constructor.
+ * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
+ Adjust dg-error line numbers.
+ * testsuite/23_containers/vector/requirements/dr438/
+ constructor_1_neg.cc: Likewise.
+ * testsuite/23_containers/vector/requirements/dr438/
+ constructor_2_neg.cc: Likewise.
+ * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
+ Likewise.
+
+2012-11-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/51850
+ * include/debug/array: New, debug-mode implementation.
+ * include/profile/array: New.
+ * include/std/array: Adjust.
+ * include/std/tuple: Just include <array>.
+ * include/Makefile.am: Add.
+ * include/Makefile.in: Regenerate.
+ * testsuite/23_containers/array/debug/front1_neg.cc: New.
+ * testsuite/23_containers/array/debug/
+ square_brackets_operator1_neg.cc: Likewise.
+ * testsuite/23_containers/array/debug/front2_neg.cc: Likewise.
+ * testsuite/23_containers/array/debug/
+ square_brackets_operator2_neg.cc: Likewise.
+ * testsuite/23_containers/array/debug/back1_neg.cc: Likewise.
+ * testsuite/23_containers/array/debug/back2_neg.cc: Likewise.
+ * testsuite/23_containers/array/tuple_interface/get_neg.cc: Tweak
+ to run only in normal-mode.
+ * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
+ Likewise.
+ * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: New.
+ * testsuite/23_containers/array/tuple_interface/
+ tuple_element_debug_neg.cc: Likewise.
+
+2012-11-06 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * testsuite/20_util/shared_ptr/cons/55123.cc: Remove duplicate
+ include.
+
+2012-11-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/bits/atomic_base.h: Don't include <cstddef>, use nullptr.
+ * include/std/atomic: Likewise.
+ * include/tr2/dynamic_bitset: Likewise.
+
+ * libsupc++/vec.cc (compute_size(std::size_t, std::size_t,
+ std::size_t)): Fix for -fno-exceptions.
+
+2012-11-06 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/profile/map.h (map::emplace_hint): Add missing return.
+
+2012-11-05 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/profile/deque: Constrain InputIterator parameters.
+ * include/profile/forward_list: Likewise.
+ * include/profile/list: Likewise.
+ * include/profile/map.h: Likewise.
+ * include/profile/multimap.h: Likewise.
+ * include/profile/set.h: Likewise.
+ * include/profile/multiset.h: Likewise.
+ * include/profile/vector: Likewise.
+
+2012-11-05 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/profile/forward_list: Update to meet allocator-aware
+ requirements.
+ * include/debug/forward_list: Likewise.
+ * include/debug/vector: Verify allocators are swapped or equal.
+ * include/debug/macros.h (__glibcxx_check_equal_allocs): Define.
+ * include/debug/formatter.h: Add new debug message.
+ * src/c++11/debug.cc: Likewise.
+ * testsuite/23_containers/forward_list/allocator/swap.cc: Do not
+ swap containers with non-propagating, non-equal allocators.
+ * testsuite/23_containers/vector/allocator/swap.cc: Likewise.
+
+2012-11-05 Benjamin Kosnik <bkoz@redhat.com>
+ Oleg Smolsky <oleg@smolsky.net>
+
+ PR libstdc++/55028
+ * config/abi/pre/gnu-versioned-namespace.ver: Add symbols.
+ * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc: New.
+
+2012-10-05 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/ext/throw_allocator.h (__throw_value_base): Add move
+ semantic, not throwing.
+ (__throw_value_limit): Likewise.
+ (__throw_value_random): Likewise.
+ * testsuite/util/exception/safety.h: Add validation of C++11
+ methods emplace/emplace_front/emplace_back/emplace_hint.
+ * testsuite/util/testsuite_container_traits.h: Signal emplace
+ support on deque, forward_list, list and vector.
+ * testsuite/23_containers/deque/requirements/exception/
+ propagation_consistent.cc: Remove dg-do run fail.
+
+2012-11-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/55215
+ * include/bits/random.tcc (mersenne_twister_engine<>::seed(_Sseq&)):
+ Assign state_size to _M_p.
+ * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
+ New.
+ * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
+ Likewise.
+ * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
+ Likewise.
+ * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
+ 55215.cc: Likewise.
+ * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
+ Likewise.
+ * testsuite/26_numerics/random/linear_congruential_engine/cons/
+ 55215.cc: Likewise.
+
+2012-11-03 Florian Weimer <fweimer@redhat.com>
+
+ * libsupc++/vec.cc (compute_size): New.
+ (__cxa_vec_new2, __cxa_vec_new3): Use it.
+ * testsuite/18_support/cxa_vec.cc: New.
+
+2012-11-03 Robert Mason <rbmj@verizon.net>
+
+ * config/os/vxworks/os_defines.h:
+ Keep vxWorks from defining min()/max() as macros
+
+2012-11-03 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/html/*: Regenerate.
+
+2012-11-02 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/xml/manual/configure.xml: Adjust GNU libc link.
+
+ * doc/xml/manual/debug.xml: Adjust GDB documentation link.
+ Use GCC instead of gcc.
+
+ * doc/xml/manual/prerequisites.xml: Remove detailed reference
+ to binutils downloads.
+
+2012-11-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/55169
+ * include/bits/random.h: Remove all uses of param().
+ (chi_squared_distribution<>::__generate_impl(_ForwardIterator,
+ _ForwardIterator, _UniformRandomNumberGenerator&)): Declare
+ * include/bits/random.tcc: ... define.
+ * include/ext/random: Remove all uses of param().
+
+2012-11-02 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/xml/manual/allocator.xml: Update reference to Hoard.
+ Update reference to Berger's OOPSLA 2002 paper.
+
+2012-11-02 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
+ (StdForwardListPrinter): Likewise.
+
+2012-11-02 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/bits/forward_list.h (forward_list(size_type)): Add missing
+ allocator parameter.
+ (_Fwd_list_node_base): Use NSDMI and define constructor as defaulted.
+ (_Fwd_list_node::_M_value): Replace with uninitialized storage.
+ (_Fwd_list_node::_M_valptr()): Define functions to access storage.
+ (_Fwd_list_iterator, _Fwd_list_const_iterator): Use _M_valptr.
+ (_Fwd_list_base::_M_create_node): Only use allocator to construct the
+ element not the node.
+ * include/bits/forward_list.tcc (_Fwd_list_base::_M_erase_after): Only
+ use allocator to destroy the element not the node.
+ * testsuite/23_containers/forward_list/cons/11.cc: Remove unused
+ headers.
+ * testsuite/23_containers/forward_list/cons/12.cc: Likewise.
+ * testsuite/23_containers/forward_list/cons/13.cc: New.
+ * testsuite/23_containers/forward_list/cons/14.cc: New.
+
+2012-11-02 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/xml/manual/codecvt.xml: Fix reference to Austin Common
+ Standards Revision Group.
+ * doc/xml/manual/messages.xml: Ditto.
+ * doc/xml/manual/using_exceptions.xml: Ditto.
+
+ * doc/xml/manual/messages.xml: Fix reference to GNU gettext.
+
+ * doc/xml/manual/policy_data_structures.xml: Fix reference to
+ STL at SGI.
+ Update reference to COM at Microsoft.
+ Update reference to Worst-case efficient priority queues at ACM.
+
+2012-11-01 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * testsuite/18_support/initializer_list/range_access.cc: Fix copying
+ permission statement.
+ * testsuite/20_util/specialized_algorithms/uninitialized_copy/
+ 808590.cc: Likewise.
+ * testsuite/20_util/specialized_algorithms/uninitialized_copy/
+ move_iterators/1.cc: Likewise.
+ * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
+ move_iterators/1.cc: Likewise.
+ * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/range_access/char/1.cc: Likewise.
+ * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc:
+ Likewise.
+ * testsuite/23_containers/array/element_access/at_neg.cc: Likewise.
+ * testsuite/23_containers/array/range_access.cc: Likewise.
+ * testsuite/23_containers/deque/capacity/29134-2.cc: Likewise.
+ * testsuite/23_containers/deque/capacity/29134.cc: Likewise.
+ * testsuite/23_containers/deque/capacity/shrink_to_fit.cc: Likewise.
+ * testsuite/23_containers/deque/range_access.cc: Likewise.
+ * testsuite/23_containers/deque/requirements/do_the_right_thing.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
+ * testsuite/23_containers/forward_list/cons/1.cc: Likewise.
+ * testsuite/23_containers/forward_list/cons/10.cc: Likewise.
+ * testsuite/23_containers/forward_list/cons/11.cc: Likewise.
+ * testsuite/23_containers/forward_list/cons/12.cc: Likewise.
+ * testsuite/23_containers/forward_list/cons/2.cc: Likewise.
+ * testsuite/23_containers/forward_list/cons/3.cc: Likewise.
+ * testsuite/23_containers/forward_list/cons/4.cc: Likewise.
+ * testsuite/23_containers/forward_list/cons/5.cc: Likewise.
+ * testsuite/23_containers/forward_list/cons/6.cc: Likewise.
+ * testsuite/23_containers/forward_list/cons/7.cc: Likewise.
+ * testsuite/23_containers/forward_list/cons/8.cc: Likewise.
+ * testsuite/23_containers/forward_list/cons/9.cc: Likewise.
+ * testsuite/23_containers/forward_list/debug/clear.cc: Likewise.
+ * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/move_constructor.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/splice_after.cc: Likewise.
+ * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/swap.cc: Likewise.
+ * testsuite/23_containers/forward_list/modifiers/1.cc: Likewise.
+ * testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
+ * testsuite/23_containers/forward_list/modifiers/3.cc: Likewise.
+ * testsuite/23_containers/forward_list/modifiers/4.cc: Likewise.
+ * testsuite/23_containers/forward_list/modifiers/5.cc: Likewise.
+ * testsuite/23_containers/forward_list/modifiers/6.cc: Likewise.
+ * testsuite/23_containers/forward_list/operations/1.cc: Likewise.
+ * testsuite/23_containers/forward_list/operations/2.cc: Likewise.
+ * testsuite/23_containers/forward_list/operations/3.cc: Likewise.
+ * testsuite/23_containers/forward_list/operations/4.cc: Likewise.
+ * testsuite/23_containers/forward_list/operations/5.cc: Likewise.
+ * testsuite/23_containers/forward_list/operations/6.cc: Likewise.
+ * testsuite/23_containers/forward_list/operations/7.cc: Likewise.
+ * testsuite/23_containers/forward_list/range_access.cc: Likewise.
+ * testsuite/23_containers/forward_list/requirements/
+ do_the_right_thing.cc: Likewise.
+ * testsuite/23_containers/list/capacity/1.cc: Likewise.
+ * testsuite/23_containers/list/capacity/1.h: Likewise.
+ * testsuite/23_containers/list/capacity/29134.cc: Likewise.
+ * testsuite/23_containers/list/modifiers/1.cc: Likewise.
+ * testsuite/23_containers/list/modifiers/1.h: Likewise.
+ * testsuite/23_containers/list/modifiers/1_c++0x.cc: Likewise.
+ * testsuite/23_containers/list/modifiers/2.cc: Likewise.
+ * testsuite/23_containers/list/modifiers/2.h: Likewise.
+ * testsuite/23_containers/list/modifiers/3.cc: Likewise.
+ * testsuite/23_containers/list/modifiers/3.h: Likewise.
+ * testsuite/23_containers/list/modifiers/insert/25288.cc: Likewise.
+ * testsuite/23_containers/list/modifiers/insert/25288.h: Likewise.
+ * testsuite/23_containers/list/operations/1.cc: Likewise.
+ * testsuite/23_containers/list/operations/1.h: Likewise.
+ * testsuite/23_containers/list/operations/2.cc: Likewise.
+ * testsuite/23_containers/list/operations/2.h: Likewise.
+ * testsuite/23_containers/list/operations/2_c++0x.cc: Likewise.
+ * testsuite/23_containers/list/operations/3.cc: Likewise.
+ * testsuite/23_containers/list/operations/3.h: Likewise.
+ * testsuite/23_containers/list/operations/3_c++0x.cc: Likewise.
+ * testsuite/23_containers/list/operations/4.cc: Likewise.
+ * testsuite/23_containers/list/operations/4.h: Likewise.
+ * testsuite/23_containers/list/operations/42352.cc: Likewise.
+ * testsuite/23_containers/list/operations/5.cc: Likewise.
+ * testsuite/23_containers/list/operations/5.h: Likewise.
+ * testsuite/23_containers/list/range_access.cc: Likewise.
+ * testsuite/23_containers/list/requirements/do_the_right_thing.cc:
+ Likewise.
+ * testsuite/23_containers/map/capacity/29134.cc: Likewise.
+ * testsuite/23_containers/map/range_access.cc: Likewise.
+ * testsuite/23_containers/multimap/capacity/29134.cc: Likewise.
+ * testsuite/23_containers/multimap/range_access.cc: Likewise.
+ * testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
+ * testsuite/23_containers/multiset/range_access.cc: Likewise.
+ * testsuite/23_containers/set/capacity/29134.cc: Likewise.
+ * testsuite/23_containers/set/range_access.cc: Likewise.
+ * testsuite/23_containers/unordered_map/final_hash.cc: Likewise.
+ * testsuite/23_containers/unordered_map/observers.cc: Likewise.
+ * testsuite/23_containers/unordered_map/range_access.cc: Likewise.
+ * testsuite/23_containers/unordered_map/requirements/52942.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_map/requirements/53067.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_map/requirements/53339.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_multimap/final_hash.cc: Likewise.
+ * testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
+ * testsuite/23_containers/unordered_multimap/range_access.cc: Likewise.
+ * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_multiset/final_hash.cc: Likewise.
+ * testsuite/23_containers/unordered_multiset/observers.cc: Likewise.
+ * testsuite/23_containers/unordered_multiset/range_access.cc: Likewise.
+ * testsuite/23_containers/unordered_set/final_hash.cc: Likewise.
+ * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
+ * testsuite/23_containers/unordered_set/observers.cc: Likewise.
+ * testsuite/23_containers/unordered_set/range_access.cc: Likewise.
+ * testsuite/23_containers/unordered_set/requirements/52942.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_set/requirements/53067.cc:
+ Likewise.
+ * testsuite/23_containers/vector/bool/capacity/29134.cc: Likewise.
+ * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
+ Likewise.
+ * testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.
+ * testsuite/23_containers/vector/capacity/29134.cc: Likewise.
+ * testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Likewise.
+ * testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: Likewise.
+ * testsuite/23_containers/vector/range_access.cc: Likewise.
+ * testsuite/23_containers/vector/requirements/do_the_right_thing.cc:
+ Likewise.
+ * testsuite/24_iterators/range_access.cc: Likewise.
+ * testsuite/25_algorithms/copy/1.cc: Likewise.
+ * testsuite/25_algorithms/copy/2.cc: Likewise.
+ * testsuite/25_algorithms/copy/3.cc: Likewise.
+ * testsuite/25_algorithms/copy/34595.cc: Likewise.
+ * testsuite/25_algorithms/copy/4.cc: Likewise.
+ * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
+ * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
+ * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
+ * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
+ * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
+ * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
+ * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
+ Likewise.
+ * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
+ Likewise.
+ * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
+ Likewise.
+ * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
+ Likewise.
+ * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
+ * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
+ * testsuite/25_algorithms/copy_n/1.cc: Likewise.
+ * testsuite/25_algorithms/copy_n/2.cc: Likewise.
+ * testsuite/25_algorithms/copy_n/3.cc: Likewise.
+ * testsuite/25_algorithms/copy_n/4.cc: Likewise.
+ * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
+ * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
+ * testsuite/25_algorithms/fill/4.cc: Likewise.
+ * testsuite/25_algorithms/fill_n/1.cc: Likewise.
+ * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc:
+ Likewise.
+ * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc:
+ Likewise.
+ * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
+ Likewise.
+ * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
+ Likewise.
+ * testsuite/25_algorithms/heap/1.cc: Likewise.
+ * testsuite/25_algorithms/heap/moveable.cc: Likewise.
+ * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
+ * testsuite/25_algorithms/is_heap/1.cc: Likewise.
+ * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
+ * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
+ * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
+ * testsuite/25_algorithms/move/1.cc: Likewise.
+ * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
+ * testsuite/25_algorithms/move_backward/1.cc: Likewise.
+ * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
+ * testsuite/25_algorithms/partition/1.cc: Likewise.
+ * testsuite/25_algorithms/partition/moveable.cc: Likewise.
+ * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
+ * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
+ * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
+ * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
+ * testsuite/25_algorithms/stable_partition/pr52822.cc: Likewise.
+ * testsuite/26_numerics/valarray/range_access.cc: Likewise.
+ * testsuite/28_regex/range_access.cc: Likewise.
+ * testsuite/ext/vstring/capacity/29134.cc: Likewise.
+ * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
+ * testsuite/ext/vstring/hash/char/1.cc: Likewise.
+ * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
+ * testsuite/ext/vstring/range_access.cc: Likewise.
+ * testsuite/ext/vstring/requirements/do_the_right_thing.cc: Likewise.
+ * testsuite/performance/25_algorithms/copy_backward_deque_iterators.cc:
+ Likewise.
+ * testsuite/performance/25_algorithms/copy_deque_iterators.cc:
+ Likewise.
+ * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
+ Likewise.
+ * testsuite/tr1/6_containers/unordered_multimap/capacity/
+ 29134-multimap.cc: Likewise.
+ * testsuite/tr1/6_containers/unordered_multiset/capacity/
+ 29134-multiset.cc: Likewise.
+ * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
+ Likewise.
+
+2012-11-01 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/hashtable_policy.h (__details::_Before_begin<>):
+ New, combine a base node instance and an allocator.
+ * include/bits/hashtable.h (_Hashtable<>::_M_node_allocator): Remove.
+ (_Hashtable<>::_M_before_begin): Rename into _M_bbegin and type
+ modified to __detail::_Before_begin<>.
+ (_Hashtable<>::_M_node_allocator()): New, get the node allocator
+ part of _M_bbegin.
+ (_Hashtable<>::_M_before_begin()): New, get the before begin node
+ part of _M_bbegin.
+ (_Hashtable<>): Adapt to use latter.
+
+2012-11-01 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/bits/forward_list.h (forward_list::assign): Dispatch to new
+ functions based on assignability of elements.
+ (forward_list::_M_assign): Add overloaded functions for assigning
+ via assignment or via clearing and insertion.
+ (forward_list::_M_assign_val): Likewise.
+ (forward_list::_M_move_assign(forward_list&&, false_type)): Do not
+ erase elements that are not moved.
+ * include/bits/forward_list.tcc (forward_list::operator=): Call
+ assign() to copy elements.
+ * testsuite/23_containers/forward_list/cons/10.cc: New.
+ * testsuite/23_containers/forward_list/cons/11.cc: New.
+ * testsuite/23_containers/forward_list/cons/12.cc: New.
+
+2012-10-31 Jonathan Yong <jon_y@users.sourceforge.net>
+
+ * config/os/mingw32-w64/os_defines.h: Do not define anymore
+ _GLIBCXX_HAVE_BROKEN_VSWPRINTF.
+
+2012-10-31 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/bits/forward_list.h (forward_list): Adjust comments.
+ (forward_list(const forward_list&, const _Alloc&)): Use
+ _M_range_initialize to copy elements.
+ (forward_list(forward_list&&, const _Alloc&)): Add exception
+ specification.
+ (_Fwd_list_base(const _Fwd_list_base&, const _Node_alloc_type&)):
+ Remove.
+ * include/bits/forward_list.tcc (_Fwd_list_base(const _Fwd_list_base&,
+ const _Node_alloc_type&)): Remove.
+ (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Fix
+ memory leak when allocators are not equal.
+
+2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/55123
+ * include/bits/shared_ptr_base.h (__shared_count::_S_create_from_up):
+ Do not instantiate allocator with element_type.
+ * testsuite/20_util/shared_ptr/cons/55123.cc: New.
+
+2012-10-28 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/55041
+ * python/libstdcxx/v6/printers.py (Tr1UnorderedMapPrinter): Update
+ to handle hashtable as member of unordered_map not base class.
+ (Tr1UnorderedSetPrinter): Likewise.
+
+2012-10-27 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/unordered_map.h (unordered_map<>): Prefer
+ aggregation to inheritance with _Hashtable.
+ (unordered_multimap<>): Likewise.
+ * include/bits/unordered_set.h
+ (unordered_set<>(const unordered_set&)): Use default
+ implementation.
+ (unordered_set<>(unordered_set&&)): Likewise.
+ (unordered_set<>::operator=(const unordered_set&)): Likewise.
+ (unordered_set<>::operator=(unordered_set&&)): Likewise.
+ (unordered_multiset<>(const unordered_multiset&)): Likewise.
+ (unordered_multiset<>(unordered_multiset&&)): Likewise.
+ (unordered_multiset<>::operator=(const unordered_multiset&)):
+ Likewise.
+ (unordered_multiset<>::operator=(unordered_multiset&&)): Likewise.
+ * include/debug/unordered_map (operator==): Adapt.
+ * include/profile/unordered_map (operator==): Adapt.
+
+2012-10-24 Daniel Krugler <daniel.kruegler@gmail.com>
+
+ * include/std/type_traits (common_type): Implement LWG 2141.
+ * testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
+ Update.
+ * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
+ * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
+ Likewise.
+ * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
+ Likewise.
+ * testsuite/20_util/common_type/requirements/typedefs-2.cc: Likewise.
+
+2012-10-24 Haakan Younes <hyounes@google.com>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/55047
+ * include/bits/random.h (exponential_distribution<>::operator):
+ Fix formula to std::log(result_type(1) - __aurng()).
+ * include/bits/random.tcc: Likewise, everywhere.
+
+2012-10-23 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * config/cpu/aarch64/cxxabi_tweaks.h: New file.
+ * configure.host: Enable aarch64.
+
+2012-10-22 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/unordered_set.h (unordered_set<>): Prefer
+ aggregation to inheritance with _Hashtable.
+ (unordered_multiset<>): Likewise.
+ * include/debug/unordered_set (operator==): Adapt.
+ * include/profile/unordered_set (operator==): Adapt.
+
+2012-10-22 Yufeng Zhang <yufeng.zhang@arm.com>
+ Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/xml/manual/configure.xml (--enable-clocale): Document the
+ 'newlib' and 'darwin' options. Minor stylistic improvements.
+
+2012-10-21 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/profile/map.h (map::emplace_hint): Remove invalid
+ parenthesis.
+
+2012-10-21 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * testsuite/23_containers/bitset/45713.cc: Skip for mmix-*-*.
+ Tweak sizetype-related comment.
+
+2012-10-20 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/std/scoped_allocator: Avoid badname.
+
+2012-10-19 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/xml/manual/status_cxx2011.xml: Update.
+
+2012-10-19 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/std/scoped_allocator (__outermost_alloc_traits): Define.
+ (scoped_allocator_adaptor::destroy): Use it.
+ (scoped_allocator_adaptor::construct): Likewise. Overload for
+ piecewise construction of std::pair objects.
+ * testsuite/20_util/scoped_allocator/2.cc: New.
+ * doc/xml/manual/status_cxx2011.xml: Update.
+
+2012-10-18 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/bits/forward_list.h: Add C++11 allocator support.
+ * include/bits/forward_list.tcc: Likewise.
+ * doc/xml/manual/status_cxx2011.xml: Update.
+ * testsuite/23_containers/forward_list/allocator/copy.cc: New.
+ * testsuite/23_containers/forward_list/allocator/copy_assign.cc: New.
+ * testsuite/23_containers/forward_list/allocator/minimal.cc: New.
+ * testsuite/23_containers/forward_list/allocator/move_assign.cc: New.
+ * testsuite/23_containers/forward_list/allocator/noexcept.cc: New.
+ * testsuite/23_containers/forward_list/allocator/swap.cc: New.
+
+2012-10-18 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/debug/formatter.h (_Debug_msg_id): Add
+ __msg_valid_load_factor.
+ * include/debug/macros.h (__glibcxx_check_max_load_factor): New.
+ * include/debug/unordered_set
+ (unordered_set<>::max_load_factor(float)): Check max load factor
+ is positive.
+ (unordered_multiset<>::max_load_factor(float)): Likewise.
+ * include/debug/unordered_map
+ (unordered_map<>::max_load_factor(float)): Likewise.
+ (unordered_multimap<>::max_load_factor(float)): Likewise.
+ * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
+ New.
+ * testsuite/23_containers/unordered_multimap/debug/
+ max_load_factor_neg.cc: New.
+ * testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc:
+ New.
+ * testsuite/23_containers/unordered_multiset/debug/
+ max_load_factor_neg.cc: New.
+
+2012-10-17 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/move.h (move_if_noexcept): Mark constexpr.
+ * include/std/array (front, back): Same.
+ * include/std/chrono: Add comment.
+ * include/std/tuple (__tuple_compare): Mark __eq, __less constexpr.
+ (operator ==, <, >, !=, <=, >=): Same.
+ * testsuite/20_util/forward/c_neg.cc: Adjust line numbers.
+ * testsuite/20_util/forward/f_neg.cc: Same.
+ * testsuite/20_util/move_if_noexcept/constexpr.cc: New.
+ * testsuite/20_util/tuple/comparison_operators/constexpr.cc: New.
+ * testsuite/20_util/tuple/creation_functions/constexpr.cc: Add.
+ * testsuite/23_containers/array/element_access/
+ constexpr_element_access.cc: Same.
+ * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
+ line numbers.
+ * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
+ Same.
+
+ * testsuite/20_util/tuple/comparison_operators/35480_neg.cc:
+ Temporarily add dg-excess-errors.
+
+2012-10-16 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/debug/formatter.h (_Debug_msg_id): Add
+ __msg_bucket_index_oob.
+ * include/debug/macros.h (__glibcxx_check_bucket_index): New.
+ * include/debug/unordered_set (unordered_set<>::begin(size_type)):
+ Add check on bucket index.
+ (unordered_set<>::begin(size_type) const): Likewise.
+ (unordered_set<>::cbegin(size_type) const): Likewise.
+ (unordered_set<>::end(size_type)): Likewise.
+ (unordered_set<>::end(size_type) const): Likewise.
+ (unordered_set<>::cend(size_type) const): Likewise.
+ (unordered_set<>::bucket_size(size_type)): Likewise.
+ (unordered_multiset<>::begin(size_type)): Likewise.
+ (unordered_multiset<>::begin(size_type) const): Likewise.
+ (unordered_multiset<>::cbegin(size_type) const): Likewise.
+ (unordered_multiset<>::end(size_type)): Likewise.
+ (unordered_multiset<>::end(size_type) const): Likewise.
+ (unordered_multiset<>::cend(size_type) const): Likewise.
+ (unordered_multiset<>::bucket_size(size_type)): Likewise.
+ * include/debug/unordered_map (unordered_map<>::begin(size_type)):
+ Likewise.
+ (unordered_map<>::begin(size_type) const): Likewise.
+ (unordered_map<>::cbegin(size_type) const): Likewise.
+ (unordered_map<>::end(size_type)): Likewise.
+ (unordered_map<>::end(size_type) const): Likewise.
+ (unordered_map<>::cend(size_type) const): Likewise.
+ (unordered_map<>::bucket_size(size_type)): Likewise.
+ (unordered_multimap<>::begin(size_type)): Likewise.
+ (unordered_multimap<>::begin(size_type) const): Likewise.
+ (unordered_multimap<>::cbegin(size_type) const): Likewise.
+ (unordered_multimap<>::end(size_type)): Likewise.
+ (unordered_multimap<>::end(size_type) const): Likewise.
+ (unordered_multimap<>::cend(size_type) const): Likewise.
+ (unordered_multimap<>::bucket_size(size_type)): Likewise.
+ * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
+ New.
+ * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: New.
+ * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: New.
+ * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: New.
+ * testsuite/23_containers/unordered_map/debug/end1_neg.cc: New.
+ * testsuite/23_containers/unordered_map/debug/end2_neg.cc: New.
+ * testsuite/23_containers/unordered_map/debug/cend_neg.cc: New.
+ * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
+ New.
+ * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: New.
+ * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: New.
+ * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: New.
+ * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: New.
+ * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: New.
+ * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: New.
+ * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
+ New.
+ * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: New.
+ * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: New.
+ * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: New.
+ * testsuite/23_containers/unordered_set/debug/end1_neg.cc: New.
+ * testsuite/23_containers/unordered_set/debug/end2_neg.cc: New.
+ * testsuite/23_containers/unordered_set/debug/cend_neg.cc: New.
+ * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
+ New.
+ * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc: New.
+ * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc: New.
+ * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc: New.
+ * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: New.
+ * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: New.
+ * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc: New.
+
+2012-10-15 Matthias Klose <doko@ubuntu.com>
+
+ * configure.host: Match arm*-*-linux-* for ARM Linux/GNU.
+ * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
+ * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
+
+2012-10-15 Pavel Chupin <pavel.v.chupin@intel.com>
+
+ * Makefile.in: Regenerate.
+ * acinclude.m4: Replace code with GCC_AC_THREAD_HEADER use.
+ * configure: Regenerate.
+ * doc/Makefile.in: Regenerate.
+ * include/Makefile.am: Regenerate.
+ * include/Makefile.in: Rename variable.
+ * libsupc++/Makefile.in: Regenerate.
+ * po/Makefile.in: Regenerate.
+ * python/Makefile.in: Regenerate.
+ * src/Makefile.in: Regenerate.
+ * src/c++11/Makefile.in: Regenerate.
+ * src/c++98/Makefile.in: Regenerate.
+ * testsuite/Makefile.in: Regenerate.
+
+2012-10-14 Jason Merrill <jason@redhat.com>
+
+ PR target/54908
+ * libsupc++/atexit_thread.cc: Rewrite to keep the cleanup list
+ with get/setspecific. Destroy the key on dlclose.
+
+2012-10-12 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ * include/ext/random: Add __gnu_cxx::arcsine_distribution<>
+ and __gnu_cxx::hoyt_distribution<> classes.
+ * include/ext/random.tcc: Add out-of-line functions for
+ __gnu_cxx::arcsine_distribution<> and __gnu_cxx::hoyt_distribution<>.
+ * testsuite/ext/random/hoyt_distribution/cons/parms.cc: New file.
+ * testsuite/ext/random/hoyt_distribution/cons/default.cc: New file.
+ * testsuite/ext/random/hoyt_distribution/requirements/
+ explicit_instantiation/1.cc: New file.
+ * testsuite/ext/random/hoyt_distribution/requirements/typedefs.cc:
+ New file.
+ * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: New file.
+ * testsuite/ext/random/hoyt_distribution/operators/equal.cc: New file.
+ * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
+ New file.
+ * testsuite/ext/random/arcsine_distribution/cons/parms.cc: New file.
+ * testsuite/ext/random/arcsine_distribution/cons/default.cc: New file.
+ * testsuite/ext/random/arcsine_distribution/requirements/
+ explicit_instantiation/1.cc: New file.
+ * testsuite/ext/random/arcsine_distribution/requirements/typedefs.cc:
+ New file.
+ * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
+ New file.
+ * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
+ New file.
+ * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
+ New file.
+
+2012-10-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/bits/hashtable_policy.h: Revert libstdc++/53067 quick
+ hacks thanks to the resolution of c++/51213.
+
+2012-10-11 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * testsuite/23_containers/bitset/45713.cc: Tweak.
+
+2012-10-11 Hans-Peter Nilsson <hp@axis.com>
+
+ PR testsuite/54897
+ * testsuite/23_containers/bitset/45713.cc: Skip for avr*-*-*
+ cris*-*-* h8300*-*-* mcore*-*-* moxie*-*-*.
+
+2012-10-11 Daniel Krugler <daniel.kruegler@gmail.com>
+
+ * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
+ Update / extend.
+ * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
+ Likewise.
+ * testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
+ Likewise.
+
+2012-10-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libstdc++/54872
+ * config/abi/pre/gnu.ver (GLIBCXX_3.4.11) [!__sun__ && !__svr4__]:
+ Don't export _ZNSt12system_errorC*.
+
+2012-10-10 Jack Howarth <howarth@bromo.med.uc.edu>
+ Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/54847
+ * config/os/bsd/darwin/os_defines.h: Define _GLIBCXX_USE_NANOSLEEP
+ and _GLIBCXX_USE_SCHED_YIELD.
+ * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add comment.
+
+2012-10-10 Mark Kettenis <kettenis@openbsd.org>
+
+ * configure.host (*-*-openbsd*) Set cpu_include_dir.
+ * config/os/bsd/openbsd/ctype_base.h: New file.
+ * config/os/bsd/openbsd/ctype_configure_char.cc: New file.
+ * config/os/bsd/openbsd/ctype_inline.h: New file.
+ * config/os/bsd/openbsd/os_defines.h: New file.
+ * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Use newlib locale model
+ for OpenBSD.
+ * configure: Regenerated.
+
+2012-10-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/std/type_traits (__do_common_type_impl): Revert for now
+ LWG 2141-related change.
+ * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
+ * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
+ Adjust.
+
+2012-10-09 Daniel Krugler <daniel.kruegler@gmail.com>
+
+ * include/std/type_traits (common_type): Provide "SFINAE-friendly"
+ implementation.
+ (__success_type, __failure_type): Fix.
+ * include/std/chrono (common_type): Likewise for the chrono::time_point
+ specialization.
+ * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc: New.
+ * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
+ Likewise.
+ * testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
+ Likewise.
+ * testsuite/20_util/common_type/requirements/typedefs-1.cc: Adjust wrt
+ LWG 2141.
+ * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
+ dg-error line numbers.
+ * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
+ * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
+ * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
+ * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
+ Likewise.
+ * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
+
+ * testsuite/20_util/result_of/sfinae_friendly_1.cc: Trivial stylistic
+ tweaks.
+ * testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.
+
+2012-10-09 Andrew MacLeod <amacleod@redhat.com>
+
+ PR libstdc++/54861
+ * include/bits/atomic_base.h (atomic_signal_fence): Call
+ __atomic_signal_fence instead of __atomic_thread_fence.
+
+2012-10-09 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc:
+ Fix constant value.
+
+2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/54869
+ * include/ext/random (simd_fast_mersenne_twister_engine): Provide
+ only for little endian targets.
+ * include/ext/random.tcc: Likewise.
+ * config/cpu/i486/opt/ext/opt_random.h: Likewise.
+ * testsuite/lib/libstdc++.exp (check_v3_target_little_endian): Add.
+ * testsuite/lib/dg-options.exp (dg-require-little-endian): Add.
+ * testsuite/ext/random/simd_fast_mersenne_twister_engine/
+ operators/equal.cc: Use the latter.
+ * testsuite/ext/random/simd_fast_mersenne_twister_engine/
+ operators/serialize.cc: Likewise.
+ * testsuite/ext/random/simd_fast_mersenne_twister_engine/
+ operators/inequal.cc: Likewise.
+ * testsuite/ext/random/simd_fast_mersenne_twister_engine/
+ cons/copy.cc: Likewise.
+ * testsuite/ext/random/simd_fast_mersenne_twister_engine/
+ cons/seed1.cc: Likewise.
+ * testsuite/ext/random/simd_fast_mersenne_twister_engine/
+ cons/seed2.cc: Likewise.
+ * testsuite/ext/random/simd_fast_mersenne_twister_engine/
+ cons/default.cc: Likewise.
+ * testsuite/ext/random/simd_fast_mersenne_twister_engine/
+ cons/seed_seq.cc: Likewise.
+
+2012-10-09 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/54754
+ * include/parallel/compatibility.h: Use atomic built-ins when they are
+ lock-free.
+
+2012-10-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.7.
+
+2012-10-08 Jason Merrill <jason@redhat.com>
+
+ * libsupc++/cxxabi.h: Declare __cxa_thread_atexit.
+ * libsupc++/atexit_thread.cc: New.
+ * libsupc++/Makefile.am (nested_exception.lo): Add it.
+ * config/abi/pre/gnu.ver: Add __cxa_thread_atexit.
+
+2012-10-07 Matthias Klose <doko@ubuntu.com>
+
+ * testsuite/28_regex/algorithms/match/basic: Remove empty directory.
+ * testsuite/28_regex/algorithms/match/extended: Likewise.
+ * testsuite/28_regex/algorithms/match: Likewise.
+
+2012-10-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52764
+ * include/c_global/cstdint: Remove __STDC_LIMIT_MACROS and
+ __STDC_CONSTANT_MACROS related macros.
+
+2012-10-06 Joe Seymour <jseymour@codesourcery.com>
+
+ * include/tr2/dynamic_bitset: Fix cxxabi_forced.h include path.
+
+2012-10-05 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/28_regex/algorithms/match: Rename to...
+ * testsuite/28_regex/algorithms/regex_match: ...this.
+ * testsuite/28_regex/basic_regex/regex.cc: Rename to...
+ * testsuite/28_regex/basic_regex/ctors/basic/default.cc: ...this.
+ * testsuite/util/testsuite_regex.h: New.
+ * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: New.
+
+2012-10-05 Jakub Jelinek <jakub@redhat.com>
+
+ * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line
+ numbers.
+
+2012-10-05 Marc Glisse <marc.glisse@inria.fr>
+
+ PR libstdc++/54686
+ * include/c_global/cstdlib (abs(long long)): Define with
+ __builtin_llabs when we have long long.
+ (abs(long)): Use __builtin_labs.
+ (abs(__int128)): Define when we have __int128.
+
+2012-10-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/c_global/cstdlib: Remove redundant pasto code protected
+ by __GXX_EXPERIMENTAL_CXX0X__.
+ * include/c_global/cwctype: Likewise.
+ * include/c_global/ccomplex: Remove uses of obsolete macro
+ _GLIBCXX_INCLUDE_AS_TR1.
+ * include/c_global/cfloat: Likewise.
+
+2012-10-05 Marc Glisse <marc.glisse@inria.fr>
+
+ PR libstdc++/54686
+ * include/c_std/cstdlib (abs(long long)): Define with
+ __builtin_llabs when we have long long.
+ (abs(long)): Use __builtin_labs.
+ (abs(__int128)): Define when we have __int128.
+ * testsuite/26_numerics/headers/cstdlib/54686.c: New file.
+
+2012-10-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/53248
+ * include/std/array (__array_traits<>): Add.
+ (array<>): Allow for zero-size arrays of non default-constructible
+ elements.
+ * testsuite/23_containers/array/requirements/
+ non_default_constructible.cc: New.
+ * testsuite/23_containers/array/requirements/zero_sized_arrays.cc:
+ Adjust.
+ * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
+ dg-error line numbers.
+ * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
+ Likewise.
+
+2012-10-02 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR other/53889
+ * include/std/mutex (__recursive_mutex_base::~__recursive_mutex_base):
+ Use __gthread_recursive_mutex_destroy.
+ (__recursive_mutex_base::_S_destroy): Remove.
+ (__recursive_mutex_base::_S_destroy_win32): Likewise.
+ * include/ext/concurrence.h (__recursive_mutex::~__recursive_mutex):
+ Use __gthread_recursive_mutex_destroy.
+ (__recursive_mutex::_S_destroy): Remove.
+ (__recursive_mutex::_S_destroy_win32): Likewise.
+
+2012-10-01 Benjamin Kosnik <bkoz@redhat.com>
+
+ * config/abi/pre/gnu-versioned-namespace.ver: Add more
+ typeinfo/vtable exports.
+
+2012-10-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/54757
+ * include/ext/random (rice_distribution<>::operator()): Use std::hypot
+ only if _GLIBCXX_USE_C99_MATH_TR1.
+ * include/ext/random.tcc (rice_distribution<>::__generate_impl):
+ Likewise.
+
+2012-10-01 Daniel Krugler <daniel.kruegler@gmail.com>
+
+ * include/std/type_traits (result_of): Provide "SFINAE-friendly"
+ (see N3436) implementation.
+ * testsuite/20_util/result_of/sfinae_friendly_1.cc: New.
+ * testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.
+ * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Tweak
+ dg-error line numbers.
+ * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
+ Likewise.
+ * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
+
+2012-09-30 Benjamin Kosnik <bkoz@redhat.com>
+
+ * doc/doxygen/user.cfg.in: Update to doxygen 1.8.2.
+
+2012-09-30 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/ext/ropeimpl.h (__uninitialized_fill_n_a): Fix using
+ declaration.
+ * testsuite/ext/rope/5.cc: New.
+
+2012-09-30 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/54577
+ * doc/xml/manual/status_cxx2011.xml: N2350 changes are missing from
+ sequence containers.
+ * doc/html/*: Regenerate.
+
+2012-09-29 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/34106
+ * include/parallel/compatibility.h: Remove non-GCC code.
+
+2012-09-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ * fragment.am (CONFIG_CXXFLAGS): Remove EXTRA_CXX_FLAGS.
+ * libsupc++/Makefile.am (LTCXXCOMPILE): Add EXTRA_CXX_FLAGS here.
+ * src/Makefile.am: Same.
+ * src/c++98/Makefile.am: Same.
+ * src/c++11/Makefile.am: Same.
+ * Makefile.in: Regenerated.
+ * src/Makefile.am: Same.
+ * src/c++11/Makefile.in: Same.
+ * src/c++98/Makefile.in: Same.
+ * include/Makefile.in: Same.
+ * po/Makefile.in: Same.
+ * python/Makefile.in: Same.
+ * testsuite/Makefile.in: Same.
+
+2012-09-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ * src/c++98/Makefile.am: Fixup PARALLEL_FLAGS.
+
+2012-09-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ * acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL.
+ * include/Makefile.am: Same.
+ * src/c++98/Makefile.am: Same.
+ * src/Makefile.am: Same.
+ * Makefile.in: Regenerated.
+ * aclocal.m4: Same.
+ * configure: Same.
+ * doc/Makefile.in: Same.
+ * include/Makefile.in: Same.
+ * libsupc++/Makefile.in: Same.
+ * po/Makefile.in: Same.
+ * python/Makefile.in: Same.
+ * src/Makefile.in: Same.
+ * testsuite/Makefile.in: Same.
+ * src/c++11/Makefile.in: Same.
+ * src/c++98/Makefile.in: Same.
+
+ * src/c++98/compatibility-debug_list-2.cc: Update comments.
+ * src/c++98/compatibility-debug_list.cc: Same.
+ * src/c++98/compatibility-list-2.cc: Renamed to src/c++98/list-aux-2.cc
+ * src/c++98/compatibility-list.cc: Renamed to src/c++98/list-aux.cc
+ * src/c++98/compatibility-parallel_list-2.cc: Renamed to
+ src/c++98/list_associated-2.cc.
+ * src/c++98/compatibility-parallel_list.cc: Renamed to
+ src/c++98/list_associated.cc.
+
+2012-09-27 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/54727
+ * config/cpu/i486/opt/bits/opt_random.h: Avoid UINT64_C.
+
+2012-09-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/ext/random: Add include checks for c++11 and <cstdint>.
+
+2012-09-26 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/54314
+ * config/abi/pre/gnu.ver: Add vtable exports.
+ * config/abi/pre/gnu-versioned-namespace.ver: Same.
+
+2012-09-26 Akira Takahashi <faithandbrave@gmail.com>
+
+ PR libstdc++/53515
+ * include/bits/stl_iterator_base_funcs.h (__advance(_InputIterator&,
+ _Distance, input_iterator_tag)): Add _GLIBCXX_DEBUG_ASSERT(__n >= 0).
+
+2012-09-26 Ulrich Drepper <drepper@gmail.com>
+
+ Optimize bulk mode for normal_distribution<double> for SSE3.
+ * configure.host: Define cpu_opt_bits_random.
+ * configure.ac: Substitute CPU_OPT_BITS_RANDOM.
+ * include/Makefile.am (bits_headers): Add ${bits_host_headers}.
+ (bits_host_headers): Define.
+ * include/bits/random.tcc: Move __details::_Power_of_2 to...
+ * include/bits/random.h: ...here.
+ * include/std/random: Include <bits/opt_random.h>.
+ * config/cpu/i486/opt/bits/opt_random.h: New file.
+ * config/cpu/generic/opt/bits/opt_random.h: New file.
+ * configure: Regenerated.
+ * Makefile.in: Regenerated.
+ * aclocal.m4: Regenerated.
+ * doc/Makefile.in: Regenerated.
+ * include/Makefile.in: Regenerated.
+ * libsupc++/Makefile.in: Regenerated.
+ * po/Makefile.in: Regenerated.
+ * python/Makefile.in: Regenerated.
+ * src/Makefile.in: Regenerated.
+ * src/c++11/Makefile.in: Regenerated.
+ * src/c++98/Makefile.in: Regenerated.
+ * testsuite/Makefile.in: Regenerated.
+
+ * config/cpu/generic/opt/ext/opt_random.h: Fix comment.
+
+2012-09-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * doc/xml/manual/status_cxx2011.xml: Update vs PR 44436.
+
+2012-09-24 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ * include/ext/random: Add __gnu_cxx::k_distribution<> class.
+ * include/ext/random.tcc: Add out-of-line functions for
+ __gnu_cxx::k_distribution<>.
+ * testsuite/ext/random/k_distribution/operators/equal.cc: New file.
+ * testsuite/ext/random/k_distribution/operators/serialize.cc: New file.
+ * testsuite/ext/random/k_distribution/operators/inequal.cc: New file.
+ * testsuite/ext/random/k_distribution/cons/parms.cc: New file.
+ * testsuite/ext/random/k_distribution/cons/default.cc: New file.
+ * testsuite/ext/random/k_distribution/requirements/typedefs.cc:
+ New file.
+ * testsuite/ext/random/k_distribution/requirements/
+ explicit_instantiation/1.cc: New file.
+
+2012-09-24 François Dumont <fdumont@gcc.gnu.org>
+
+ PR libstdc++/44436
+ * include/bits/stl_tree.h
+ (_Rb_tree<>::_M_insert_): Take _Base_ptr rather than
+ _Const_Base_ptr.
+ (_Rb_tree<>::_M_insert_node): New.
+ (_Rb_tree<>::_M_get_insert_unique_pos): New, search code of
+ _M_insert_unique method.
+ (_Rb_tree<>::_M_insert_unique): Use latter.
+ (_Rb_tree<>::_M_emplace_unique): New, likewise.
+ (_Rb_tree<>::_M_get_insert_equal_pos): New, search code of
+ _M_insert_equal method.
+ (_Rb_tree<>::_M_insert_equal): Use latter.
+ (_Rb_tree<>::_M_emplace_equal): New, likewise.
+ (_Rb_tree<>::_M_get_insert_hint_unique_pos): New, search code of
+ _M_insert_unique_ method.
+ (_Rb_tree<>::_M_insert_unique_): Use latter.
+ (_Rb_tree<>::_M_emplace_hint_unique): New, likewise.
+ (_Rb_tree<>::_M_get_insert_hint_equal_pos): New, search code of
+ _M_insert_equal_ method.
+ (_Rb_tree<>::_M_insert_equal_): Use latter.
+ (_Rb_tree<>::_M_emplace_hint_equal): New, likewise.
+ (_Rb_tree<>::_M_insert_lower): Remove first _Base_ptr parameter,
+ useless as always null.
+ * include/bits/stl_map.h: Include <tuple> in C++11.
+ (map<>::operator[](const key_type&)): Use
+ _Rb_tree<>::_M_emplace_hint_unique in C++11.
+ (map<>::operator[](key_type&&)): Likewise.
+ (map<>::emplace): New.
+ (map<>::emplace_hint): New.
+ * include/bits/stl_multimap.h (multimap<>::emplace): New.
+ (multimap<>::emplace_hint): New.
+ * include/bits/stl_set.h (set<>::emplace): New.
+ (set<>::emplace_hint): New.
+ * include/bits/stl_multiset.h (multiset<>::emplace): New.
+ (multiset<>::emplace_hint): New.
+ * include/debug/map.h (std::__debug::map<>::emplace): New.
+ (std::__debug::map<>::emplace_hint): New.
+ * include/debug/multimap.h (std::__debug::multimap<>::emplace):
+ New.
+ (std::__debug::multimap<>::emplace_hint): New.
+ * include/debug/set.h (std::__debug::set<>::emplace): New.
+ (std::__debug::set<>::emplace_hint): New.
+ * include/debug/multiset.h (std::__debug::multiset<>::emplace):
+ New.
+ (std::__debug::multiset<>::emplace_hint): New.
+ * include/profile/map.h (std::__profile::map<>::emplace): New.
+ (std::__profile::map<>::emplace_hint): New.
+ * include/profile/multimap.h (std::__profile::multimap<>::emplace):
+ New.
+ (std::__profile::multimap<>::emplace_hint): New.
+ * include/profile/set.h (std::__profile::set<>::emplace): New.
+ (std::__profile::set<>::emplace_hint): New.
+ * include/profile/multiset.h (std::__profile::multiset<>::emplace):
+ New.
+ (std::__profile::multiset<>::emplace_hint): New.
+ * testsuite/util/testsuite_container_traits.h: Signal that emplace
+ and emplace_hint are available on std::map, std::multimap,
+ std::set and std::multiset in C++11.
+ * testsuite/23_containers/map/operators/2.cc: New.
+ * testsuite/23_containers/map/modifiers/emplace/1.cc: New.
+ * testsuite/23_containers/multimap/modifiers/emplace/1.cc: New.
+ * testsuite/23_containers/set/modifiers/emplace/1.cc: New.
+ * testsuite/23_containers/multiset/modifiers/emplace/1.cc: New.
+
+2012-09-24 François Dumont <fdumont@gcc.gnu.org>
+
+ * testsuite/performance/23_containers/insert_erase/41975.cc: Use
+ __uset_hashtable rather than removed __unordered_set.
+
+2012-09-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ Revert:
+ 2012-09-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/bits/stl_algobase.h (max, min): Use conditional operator.
+
+2012-09-23 Uros Bizjak <ubizjak@gmail.com>
+
+ PR libstdc++/54675
+ * include/ext/random: Avoid the badname __alpha (and, for
+ consistency, __mu, __nu, __sigma and __omega too).
+ * include/bits/random.tcc: Likewise.
+
+2012-09-21 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ * include/ext/random: Add __gnu_cxx::pareto_distribution<> class.
+ * include/ext/random.tcc: Add out-of-line functions for
+ __gnu_cxx::pareto_distribution<>.
+ * testsuite/ext/random/pareto_distribution/operators/equal.cc: New file.
+ * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
+ New file.
+ * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
+ New file.
+ * testsuite/ext/random/pareto_distribution/cons/parms.cc: New file.
+ * testsuite/ext/random/pareto_distribution/cons/default.cc: New file.
+ * testsuite/ext/random/pareto_distribution/requirements/typedefs.cc:
+ New file.
+ * testsuite/ext/random/pareto_distribution/requirements/
+ explicit_instantiation/1.cc: New file.
+
+2012-09-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/bits/stl_algobase.h (max, min): Use conditional operator.
+
+2012-09-18 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/28811
+ PR libstdc++/54482
+ * configure.ac (glibcxx_lt_pic_flag,
+ glibcxx_compiler_pic_flag,
+ glibcxx_compiler_shared_flag): New. Use them.
+ (lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above.
+ (pic_mode): Set to default.
+ (PIC_CXXFLAGS): Remove.
+ * Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment.
+ * libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and
+ glibcxx_compiler_shared_flag. Comment.
+ * src/c++11/Makefile.am: Same.
+ * src/c++98/Makefile.am: Same.
+ * src/Makefile.am: Use glibcxx_compiler_pic_flag.
+
+ * Makefile.in: Regenerated.
+ * aclocal.m4: Same.
+ * configure: Same.
+ * doc/Makefile.in: Same.
+ * include/Makefile.in: Same.
+ * libsupc++/Makefile.in: Same.
+ * po/Makefile.in: Same.
+ * python/Makefile.in: Same.
+ * src/Makefile.in: Same.
+ * src/c++11/Makefile.in: Same.
+ * src/c++98/Makefile.in: Same.
+ * testsuite/Makefile.in: Same.
+
+ * src/c++11/compatibility-atomic-c++0x.cc: Use
+ _GLIBCXX_SHARED instead of PIC to designate shared-only
+ code blocks.
+ * src/c++11/compatibility-c++0x.cc: Same.
+ * src/c++11/compatibility-thread-c++0x.cc: Same.
+ * src/c++98/compatibility-list-2.cc: Same.
+ * src/c++98/compatibility.cc: : Same.
+
+ * testsuite/17_intro/shared_with_static_deps.cc: New.
+
+ * doc/xml/manual/build_hacking.xml: Separate configure from
+ make/build issues, add build details.
+
+2012-09-18 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ * include/ext/random: Add __gnu_cxx::nakagami_distribution<> class.
+ * include/ext/random.tcc: Add out-of-line functions for
+ __gnu_cxx::nakagami_distribution<>.
+ * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
+ New file.
+ * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
+ New file.
+ * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
+ New file.
+ * testsuite/ext/random/nakagami_distribution/cons/parms.cc: New file.
+ * testsuite/ext/random/nakagami_distribution/cons/default.cc: New file.
+ * testsuite/ext/random/nakagami_distribution/requirements/typedefs.cc:
+ New file.
+ * testsuite/ext/random/nakagami_distribution/requirements/
+ explicit_instantiation/1.cc: New file.
+
+2012-09-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/54612
+ * include/ext/random.tcc (operator==
+ (const __gnu_cxx::simd_fast_mersenne_twister_engine<>&,
+ const __gnu_cxx::simd_fast_mersenne_twister_engine<>&)): Fix
+ state_size use.
+ * config/cpu/i486/opt/ext/opt_random.h: Guard with __SSE2__.
+
+2012-09-17 Ulrich Drepper <drepper@gmail.com>
+
+ * configure.ac: Substitute CPU_OPT_EXT_RANDOM.
+ * configure.host: Define cpu_opt_ext_random to location of the
+ optimized version of <ext/random>.
+ * include/Makefile.am (ext_headers): Add ${ext_host_headers}.
+ (ext_host_headers): Define.
+ * include/ext/random (simd_fast_mersenne_twister_engine<>
+ ::operator==): Don't define function here.
+ * include/ext/random.tcc (simd_fast_mersenne_twister_engine): Don't
+ define code using SSE2 here. Define generic code only if
+ _GLIBCXX_OPT_HAVE_RANDOM_SFMT_GEN_READ is not defined.
+ (simd_fast_mersenne_twister_engine<>
+ ::operator==): Define here if
+ _GLIBCXX_OPT_HAVE_RANDOM_SFMT_OPERATOREQUAL is not defined.
+ * config/cpu/generic/opt/ext/opt_random.h: New file.
+ * config/cpu/i486/opt/ext/opt_random.h: New file.
+ * libsupc++/Makefile.in: Regenerated.
+ * testsuite/Makefile.in: Regenerated.
+ * po/Makefile.in: Regenerated.
+ * configure: Regenerated.
+ * Makefile.in: Regenerated.
+ * doc/Makefile.in: Regenerated.
+ * aclocal.m4: Regenerated.
+ * python/Makefile.in: Regenerated.
+ * include/Makefile.in: Regenerated.
+ * src/c++98/Makefile.in: Regenerated.
+ * src/c++11/Makefile.in: Regenerated.
+ * src/Makefile.in: Regenerated.
+
+2012-09-16 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ * include/ext/random.tcc (__gnu_cxx::rice_distribution<>
+ ::__generate_impl): Remove bogus _Adaptor usage.
+
+2012-09-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/ext/random (rice_distribution<>::operator==): Change
+ inline friend definition to non-template.
+ * testsuite/ext/random/rice_distribution/requirements/
+ explicit_instantiation/1.cc: New.
+
+ * testsuite/26_numerics/random/normal_mv_distribution: Move...
+ * testsuite/ext/random/normal_mv_distribution: ... here.
+ * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine:
+ Move...
+ * testsuite/ext/random/simd_fast_mersenne_twister_engine: ... here.
+ * testsuite/26_numerics/random/beta_distribution: Move...
+ * testsuite/ext/random/beta_distribution: ... here.
+ * testsuite/26_numerics/random/rice_distribution: Move...
+ * testsuite/ext/random/rice_distribution: ... here.
+
+2012-09-14 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ * include/ext/random: Add __gnu_cxx::rice_distribution<> class.
+ * include/ext/random.tcc: Add out-of-line functions for
+ __gnu_cxx::rice_distribution<>.
+ * testsuite/26_numerics/random/rice_distribution/
+ operators/equal.cc: New file.
+ * testsuite/26_numerics/random/rice_distribution/
+ operators/serialize.cc: New file.
+ * testsuite/26_numerics/random/rice_distribution/
+ operators/inequal.cc: New file.
+ * testsuite/26_numerics/random/rice_distribution/
+ cons/parms.cc: New file.
+ * testsuite/26_numerics/random/rice_distribution/
+ cons/default.cc: New file.
+ * testsuite/26_numerics/random/rice_distribution/
+ requirements/typedefs.cc: New file.
+
+2012-09-14 David Edelsohn <dje.gcc@gmail.com>
+
+ * configure: Regenerated.
+
+2012-09-14 Jonathan Wakely <jwakely.gcc@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR libstdc++/54576
+ * src/c++11/random.cc: Check if _GLIBCXX_USE_C99_STDINT_TR1 is defined.
+
+2012-09-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Define.
+ * configure.ac: Call GLIBCXX_CHECK_ASSEMBLER_HWCAP.
+ * fragment.am (CONFIG_CXXFLAGS): Add $(HWCAP_FLAGS).
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+ * doc/Makefile.in: Regenerate.
+ * include/Makefile.in: Regenerate.
+ * libsupc++/Makefile.in: Regenerate.
+ * po/Makefile.in: Regenerate.
+ * python/Makefile.in: Regenerate.
+ * src/Makefile.in: Regenerate.
+ * src/c++11/Makefile.in: Regenerate.
+ * src/c++98/Makefile.in: Regenerate.
+ * testsuite/Makefile.in: Regenerate.
+
+2012-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR libstdc++/54172
+ * libsupc++/guard.cc (__cxa_guard_acquire): Fix up the last
+ argument of the first __atomic_compare_exchange_n.
+
+2012-09-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
+ Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/43852
+ * acinclude.m4 (GLIBCXX_ENABLE_VERBOSE): Define.
+ * configure.ac (GLIBCXX_ENABLE_VERBOSE): Use it.
+ * config.h.in: Regenerate.
+ * configure: Likewise.
+ * libsupc++/eh_term_handler.cc (_GLIBCXX_VERBOSE): Check new macro.
+ * libsupc++/pure.cc (_GLIBCXX_VERBOSE): Likewise.
+ * doc/xml/manual/configure.xml (--disable-libstdcxx-verbose): Document.
+ * doc/html/manual/configure.html: Regenerate.
+
+2012-09-09 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR bootstrap/54419
+ * acinclude.m4 (GLIBCXX_CHECK_X86_RDRAND): Remove stray character.
+ * configure: Regenerated.
+
+2012-09-09 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/54388
+ * include/std/array (array::at() const): Ensure lvalue result.
+ * testsuite/23_containers/array/element_access/54388.cc: New.
+ * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
+ dg-error line numbers.
+ * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
+ Likewise.
+
+2012-09-09 Ulrich Drepper <drepper@gmail.com>
+ Dominique d'Humieres <dominiq@lps.ens.fr>
+ Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR bootstrap/54419
+ * acinclude.m4: Define GLIBCXX_CHECK_X86_RDRAND.
+ * configure.ac: Use GLIBCXX_CHECK_X86_RDRAND to test for rdrand
+ support in assembler.
+ * src/c++11/random.cc (__x86_rdrand): Depend on _GLIBCXX_X86_RDRAND.
+ (random_device::_M_init): Likewise.
+ (random_device::_M_getval): Likewise.
+ * configure: Regenerated.
+ * config.h.in: Regenerated.
+
+2012-09-09 Ulrich Drepper <drepper@gmail.com>
+
+ * src/c++11/random.cc (random_device::_M_init): Use new macro
+ signature_INTEL_ebx to check for Intel processors.
+
+2012-09-06 Thiago Macieira <thiago.macieira@intel.com>
+
+ PR libstdc++/54172
+ * libsupc++/guard.cc (__cxa_guard_acquire): Exit the loop earlier if
+ we detect that another thread has had success. Don't compare_exchange
+ from a finished state back to a waiting state. Comment.
+
+2012-09-05 François Dumont <fdumont@gcc.gnu.org>
+
+ PR libstdc++/54296
+ * include/bits/hashtable.h (_M_erase(size_type, __node_base*,
+ __node_type*)): New.
+ (erase(const_iterator)): Use latter.
+ (_M_erase(std::true_type, const key_type&)): New, likewise.
+ (_M_erase(std::false_type, const key_type&)): New. Find all nodes
+ matching the key before deallocating them so that the key doesn't
+ get invalidated.
+ (erase(const key_type&)): Use the new member functions.
+ * testsuite/23_containers/unordered_map/erase/54296.cc: New.
+ * testsuite/23_containers/unordered_multimap/erase/54296.cc: New.
+
+2012-09-05 Ulrich Drepper <drepper@gmail.com>
+
+ * src/c++11/random.cc (random_device::_M_init): Check whether cpuid
+ instruction is available by using __get_cpuid_max.
+
+ * include/ext/random.tcc (__gnu_cxx:normal_mv_distribution<>)
+ (operator()): Use __generate() function of _M_nd.
+
+ * include/ext/random: Add __gnu_cxx:normal_mv_distribution<> class.
+ * include/ext/random.tccAdd out-of-line functions for
+ __gnu_cxx::normal_mv_distribution<>.
+ * testsuite/26_numerics/random/normal_mv_distribution/
+ operators/equal.cc: New file.
+ * testsuite/26_numerics/random/normal_mv_distribution/
+ operators/serialize.cc: New file.
+ * testsuite/26_numerics/random/normal_mv_distribution/
+ operators/inequal.cc: New file.
+ * testsuite/26_numerics/random/normal_mv_distribution/
+ cons/default.cc: New file.
+ * testsuite/26_numerics/random/normal_mv_distribution/
+ cons/parms.cc: New file.
+ * testsuite/26_numerics/random/normal_mv_distribution/
+ requirements/explicit_instantiation/1.cc: New file.
+ * testsuite/26_numerics/random/normal_mv_distribution/
+ requirements/typedefs.cc: New file.
+
+2012-09-04 Ulrich Drepper <drepper@gmail.com>
+
+ * include/ext/random: Add __gnu_cxx::beta_distribution<> class.
+ * include/ext/random.tcc: Add out-of-line functions for
+ __gnu_cxx::beta_distribution<>.
+ * testsuite/26_numerics/random/beta_distribution/
+ operators/equal.cc: New file.
+ * testsuite/26_numerics/random/beta_distribution/
+ operators/serialize.cc: New file.
+ * testsuite/26_numerics/random/beta_distribution/
+ operators/inequal.cc: New file.
+ * testsuite/26_numerics/random/beta_distribution/
+ cons/parms.cc: New file.
+ * testsuite/26_numerics/random/beta_distribution/
+ cons/default.cc: New file.
+ * testsuite/26_numerics/random/beta_distribution/
+ requirements/typedefs.cc: New file.
+ * testsuite/26_numerics/random/beta_distribution/
+ requirements/explicit_instantiation/1.cc: New file.
+
+2012-09-04 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR bootstrap/54453
+ * include/Makefile.am: Fix regex.
+ * include/Makefile.in: Regenerate.
+
+2012-08-30 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/54005 continued
+ * include/std/atomic: Use __atomic_lock_free with NULL.
+ * include/bits/atomic_base.h: Same.
+
+2012-08-30 Ulrich Drepper <drepper@gmail.com>
+
+ * include/bits/random.h (random_device) [GLIBCXX_USE_RANDOM_TR1]:
+ Remove 'return' from constructor.
+
+2012-08-30 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.
+
+2012-08-29 Ulrich Drepper <drepper@gmail.com>
+
+ * include/bits/random.h (random_device): Move implementation to...
+ * src/c++11/random.cc: ...here. New file.
+ * config/abi/pre/gnu.ver: Add new version GLIBCXX_3.4.18. Export
+ std::random_device::* symbols.
+ * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Generated.
+ * src/c++11/Makefile.am (sources): Add random.cc.
+ * src/c++11/Makefile.in: Regenerated.
+
+ Add simd_fast_mersenne_twister_engine class.
+ * include/ext/random: New file.
+ * include/ext/random.tcc: New file.
+ * include/Makefile.am (ext_headers): Add random and random.tcc.
+ * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
+ operators/inequal.cc: New file.
+ * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
+ operators/equal.cc: New file.
+ * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
+ operators/serialize.cc: New file.
+ * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
+ cons/seed2.cc: New file.
+ * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
+ cons/default.cc: New file.
+ * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
+ cons/seed_seq.cc: New file.
+ * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
+ cons/copy.cc: New file.
+ * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
+ cons/seed1.cc: New file.
+
+2012-08-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/54102, part 2
+ * doc/Makefile.am (XSL_HTML_STYLE): use xhtml, not html.
+ * doc/Makefile.in: Regenerate.
+ * doc/html/*: Same.
+
+2012-08-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ * doc/html/*: Regenerate.
+
+2012-08-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/54102
+ * doc/xsl/customization.xsl.in: New.
+ * configure.ac: Output local copy of customization xsl.
+ * doc/Makefile.am (stamp-html-single-docbook): Use XSL_LOCAL_STYLE.
+ (stamp-html-docbook): Set stringparam to UTF-8.
+ * Makefile.in: Regenerated.
+ * configure: Same.
+ * doc/Makefile.in: Same.
+
+2012-08-27 Ulrich Drepper <drepper@gmail.com>
+
+ Add interfaces to retrieve random numbers in bulk.
+ * include/bits/random.h (uniform_int_distribution<>): Add __generate
+ and __generate_impl functions.
+ (uniform_real_distribution<>): Likewise.
+ (bernoulli_distribution): Likewise.
+ (geometric_distribution<>): Likewise.
+ (negative_binomial_distribution<>): Likewise.
+ (poisson_distribution<>): Likewise.
+ (exponential_distribution<>): Likewise.
+ (normal_distribution<>): Likewise.
+ (lognormal_distribution<>): Likewise.
+ (chi_squared_distribution<>): Likewise.
+ (cauchy_distribution<>): Likewise.
+ (fisher_f_distribution<>): Likewise.
+ (student_t_distribution<>): Likewise.
+ (gamma_distribution<>): Likewise.
+ (weibull_distribution<>): Likewise.
+ (extreme_value_distribution<>): Likewise.
+ (discrete_distribution<>): Likewise.
+ (piecewise_constant_distribution<>): Likewise.
+ (piecewise_linear_distribution<>): Likewise.
+ * include/bits/random.tcc (__detail::_Power_of_2): New function.
+ (uniform_int_distribution<>::__generate_impl): New function.
+ (uniform_real_distribution<>::__generate_impl): New function.
+ (bernoulli_distribution::__generate_impl): New function.
+ (geometric_distribution<>::__generate_impl): New function.
+ (negative_binomial_distribution<>::__generate_impl): New function.
+ (poisson_distribution<>::__generate_impl): New function.
+ (exponential_distribution<>::__generate_impl): New function.
+ (normal_distribution<>::__generate_impl): New function.
+ (lognormal_distribution<>::__generate_impl): New function.
+ (chi_squared_distribution<>::__generate_impl): New function.
+ (cauchy_distribution<>::__generate_impl): New function.
+ (fisher_f_distribution<>::__generate_impl): New function.
+ (student_t_distribution<>::__generate_impl): New function.
+ (gamma_distribution<>::__generate_impl): New function.
+ (weibull_distribution<>::__generate_impl): New function.
+ (extreme_value_distribution<>::__generate_impl): New function.
+ (discrete_distribution<>::__generate_impl): New function.
+ (piecewise_constant_distribution<>::__generate_impl): New function.
+ (piecewise_linear_distribution<>::__generate_impl): New function.
+
+2012-08-22 Ulrich Drepper <drepper@gmail.com>
+
+ * include/bits/random.h (mersenne_twister_engine): Don't inline
+ discard here. New member function _M_gen_rand.
+ * include/bits/random.tcc (mersenne_twister_engine<>::_M_gen_rand):
+ New function. Extracted from operator().
+ (mersenne_twister_engine<>::discard): New implementation which
+ skips in large steps.
+ (mersenne_twister_engine<>::operator()): Use _M_gen_rand.
+
+2012-08-26 Marc Glisse <marc.glisse@inria.fr>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/54376
+ * include/bits/random.h (lognormal_distribution<>::operator==,
+ gamma_distribution<>::operator==,
+ chi_squared_distribution<>::operator==,
+ fisher_f_distribution<>::operator==,
+ student_t_distribution<>::operator==,
+ binomial_distribution<>::operator==,
+ negative_binomial_distribution<>::operator==,
+ poisson_distribution<>::operator==): Change inline friend definition
+ to non-template.
+ * testsuite/26_numerics/random/binomial_distribution/requirements/
+ explicit_instantiation/1.cc: New.
+ * testsuite/26_numerics/random/cauchy_distribution/requirements/
+ explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/chi_squared_distribution/
+ requirements/explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/discrete_distribution/requirements/
+ explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/exponential_distribution/
+ requirements/explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/extreme_value_distribution/
+ requirements/explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/fisher_f_distribution/requirements/
+ explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/gamma_distribution/requirements/
+ explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/geometric_distribution/requirements/
+ explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/lognormal_distribution/requirements/
+ explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/negative_binomial_distribution/
+ requirements/explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/normal_distribution/requirements/
+ explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/piecewise_constant_distribution/
+ requirements/explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/piecewise_linear_distribution/
+ requirements/explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/poisson_distribution/requirements/
+ explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/student_t_distribution/requirements/
+ explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/uniform_int_distribution/
+ requirements/explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/uniform_real_distribution/
+ requirements/explicit_instantiation/1.cc: Likewise.
+ * testsuite/26_numerics/random/weibull_distribution/requirements/
+ explicit_instantiation/1.cc: Likewise.
+
+2012-08-26 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * testsuite/30_threads/async/54297.cc: Add dg-require-nanosleep.
+
+2012-08-26 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/54297
+ * src/c++11/future.cc (~_Async_state_common): Move to...
+ * src/c++11/compatibility-thread-c++0x.cc (~_Async_state_common):
+ Here.
+ (_GLIBCXX_ABI_COMPAT_ASYNC): Rename to _GLIBCXX_ASYNC_ABI_COMPAT.
+ * include/std/future (_GLIBCXX_ABI_COMPAT_ASYNC): Likewise.
+
+2012-08-26 Jonathan Wakely <jwakely.gcc@gmail.com>
+ Geoff Romer <gromer@google.com>
+
+ PR libstdc++/54351
+ * include/bits/unique_ptr.h (unique_ptr<T>::~unique_ptr): Do not use
+ reset().
+ (unique_ptr<T[]>::~unique_ptr()): Likewise.
+ * testsuite/20_util/unique_ptr/54351.cc: New.
+ * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
+ line numbers.
+
+2012-08-25 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/54297
+ * include/std/future (~_Async_state_impl): Join thread before
+ derived class members are destroyed.
+ (~_Async_state_common): Only define non-trivial destructor when
+ included from future.cc for ABI compatibility reasons.
+ * src/c++11/future.cc (_GLIBCXX_ABI_COMPAT_ASYNC): Define.
+ * testsuite/30_threads/async/54297.cc: New.
+
+2012-08-25 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/54248
+ * include/bits/concept_check.h: Replace references to boost
+ namespace.
+
+2012-08-23 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/54354
+ * doc/xml/manual/status_cxx2011.xml: Note missing manipulators.
+ * doc/html/*: Regenerate.
+
+2012-08-15 Tom Tromey <tromey@redhat.com>
+
+ * testsuite/libstdc++-prettyprinters/cxx11.cc (struct datum):
+ New.
+ (global): New global.
+ (main): Add test for unique_ptr.
+ * python/libstdcxx/v6/printers.py
+ (UniquePointerPrinter.to_string): Extract the pointer and also
+ print its type.
+
+2012-08-13 David Adler <d.adler.s@gmail.com>
+
+ PR libstdc++/54185
+ * src/c++11/condition_variable.cc (condition_variable): Always
+ destroy native type in destructor.
+ * testsuite/30_threads/condition_variable/54185.cc: New.
+
+2012-08-13 François Dumont <fdumont@gcc.gnu.org>
+ Ollie Wild <aaw@google.com>
+
+ * include/bits/hashtable.h
+ (_Hashtable<>_M_insert_multi_node(hash_code, node_type*)): New.
+ (_Hashtable<>_M_insert(_Args&&, false_type)): Use latter.
+ (_Hashtable<>::_M_emplace(false_type, _Args&&...)): Likewise.
+ (_Hashtable<>::_M_insert_bucket): Replace by ...
+ (_Hashtable<>::_M_insert_unique_node(size_type, hash_code, node_type*)):
+ ... this, new.
+ (_Hashtable<>::_M_insert(_Args&&, true_type)): Use latter.
+ (_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise.
+ * include/bits/hashtable_policy.h (_Map_base<>::operator[]): Use
+ latter, emplace the value_type rather than insert.
+ * include/std/unordered_map: Include tuple.
+ * include/std/unordered_set: Likewise.
+ * testsuite/util/testsuite_counter_type.h: New.
+ * testsuite/23_containers/unordered_map/operators/2.cc: New.
+
+2012-08-13 Marc Glisse <marc.glisse@inria.fr>
+
+ PR libstdc++/54112
+ * include/c_compatibility/complex.h: Undefine complex, always
+ include system's complex.h if present.
+ * testsuite/26_numerics/complex/c99.cc: New testcase.
+ * testsuite/17_intro/headers/c++1998/complex.cc: Likewise.
+ * doc/xml/manual/numerics.xml: Document it.
+
+2012-08-12 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/52681
+ * src/c++11/thread.cc (thread::_M_start_thread): Improve error text
+ when threads are not enabled.
+
+2012-08-09 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * acinclude.m4: Update references to final C++11 standard.
+ * include/bits/shared_ptr.h: Likewise.
+ * include/bits/shared_ptr_base.h: Likewise.
+ * include/bits/unique_ptr.h: Likewise.
+ * include/std/chrono: Likewise.
+ * include/std/thread: Likewise.
+
+2012-08-07 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/54005
+ * include/std/atomic: Use __atomic_always_lock_free.
+ * include/bits/atomic_base.h: Same.
+
+2012-08-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * testsuite/decimal/mixed-mode-cmp_neg.cc: Add test variable; minor
+ tweaks.
+ * testsuite/decimal/unary-arith.cc: Likewise.
+ * testsuite/decimal/ctor.cc: Likewise.
+ * testsuite/decimal/conversion-to-integral.cc: Likewise.
+ * testsuite/decimal/make-decimal.cc: Likewise.
+ * testsuite/decimal/comparison.cc: Likewise.
+ * testsuite/decimal/incdec-memfunc.cc: Likewise.
+ * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
+ * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
+ * testsuite/decimal/cast_neg.cc: Likewise.
+ * testsuite/decimal/incdec.cc: Likewise.
+ * testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
+ * testsuite/decimal/binary-arith.cc: Likewise.
+ * testsuite/decimal/conversion-from-float.cc: Likewise.
+ * testsuite/decimal/conversion-from-integral.cc: Likewise.
+ * testsuite/decimal/compound-assignment.cc: Likewise.
+
+2012-08-06 Peter Bergner <bergner@vnet.ibm.com>
+
+ PR libstdc++/54036
+ * include/decimal/decimal.h (_DEFINE_DECIMAL_UNARY_OP): Use _Op as
+ a unary operator.
+ * testsuite/decimal/pr54036-1.cc: New test.
+ * testsuite/decimal/pr54036-2.cc: Likewise.
+ * testsuite/decimal/pr54036-3.cc: Likewise.
+
+2012-08-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ Revert:
+ 2012-08-03 Ollie Wild <aaw@google.com>
+ Richard Smith <richardsmith@google.com>
+
+ * include/bits/stl_map.h (operator[](key_type&&)): Replace
+ std::make_pair with value_type.
+ * testsuite/23_containers/map/operators/2.cc: New test.
+
+2012-08-03 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/debug/functions.h (__check_partition_lower_aux): Remove
+ redundant comparison with pivot value.
+ (__check_partition_upper_aux): Likewise.
+
+2012-08-03 Ollie Wild <aaw@google.com>
+ Richard Smith <richardsmith@google.com>
+
+ * include/bits/stl_map.h (operator[](key_type&&)): Replace
+ std::make_pair with value_type.
+ * testsuite/23_containers/map/operators/2.cc: New test.
+
+2012-08-03 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/std/memory: Include auto_ptr.h later.
+ * include/bits/shared_ptr.h (shared_ptr(auto_ptr<_Up>&&): Remove
+ definition.
+ * include/bits/shared_ptr_base.h (__shared_ptr(auto_ptr<_Up>&&):
+ Likewise.
+ * include/bits/unique_ptr.h (unique_ptr(auto_ptr<_Up>&&): Likewise.
+ * include/backward/auto_ptr.h (unique_ptr(auto_ptr<_Up>&&): Define.
+ (shared_ptr(auto_ptr<_Up>&&, __shared_ptr(auto_ptr<_Up>&&): Likewise.
+ * include/std/future: Reduce header dependencies.
+ * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
+ numbers.
+ * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
+ * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
+
+2012-07-30 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/c++config (_GLIBCXX_END_NAMESPACE_CONTAINER): Fix
+ order of closures.
+ (_GLIBCXX_END_NAMESPACE_ALGO): Likewise.
+
+2012-07-29 François Dumont <fdumont@gcc.gnu.org>
+
+ PR libstdc++/54075
+ * include/bits/hashtable_policy.h
+ (_Prime_rehash_policy::_M_next_bkt): Add a growth factor set to 2
+ to boost growth in the number of buckets.
+ * testsuite/performance/23_containers/insert/unordered_set.cc: New.
+
+2012-07-25 François Dumont <fdumont@gcc.gnu.org>
+
+ PR libstdc++/54075
+ * include/bits/hashtable.h
+ (_Hashtable<>::_Hashtable(_InputIterator, _InputIterator,
+ size_type, ...): Remove std::max usage to guarantee that hashtable
+ state is consistent with hash policy state.
+ (_Hashtable<>::rehash): Likewise. Set _M_prev_resize to 0 to avoid
+ the hashtable shrinking on next insertion.
+ * testsuite/23_containers/unordered_set/modifiers/reserve.cc: New.
+ * testsuite/23_containers/unordered_multiset/modifiers/reserve.cc: New.
+ * testsuite/23_containers/unordered_map/modifiers/reserve.cc: New.
+ * testsuite/23_containers/unordered_multimap/modifiers/reserve.cc: New.
+
+2012-07-20 Chip Salzenberg <chip@pobox.com>
+ Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/54025
+ * include/std/chrono (duration<>::duration): Fix per C++11.
+ * testsuite/20_util/duration/cons/54025.cc: New.
+ * testsuite/20_util/duration/cons/constexpr.cc: Adjust.
+
+2012-07-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * testsuite/30_threads/thread/adl.cc: Add missing dg-requires.
+
+2012-07-19 Tristan Gingold <gingold@adacore.com>
+ Richard Henderson <rth@redhat.com>
+
+ * libsupc++/eh_personality.cc (__gxx_personality_seh0): New function.
+ Adjust for SEH.
+ * config/abi/pre/gnu.ver: Add __gxx_personality_seh0.
+
+2012-07-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51213
+ * testsuite/20_util/pair/noncopyable.cc: New.
+
+2012-07-16 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/53270
+ * include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
+ NSDMI in C++98 mode too.
+ * include/ext/rope: Add system_header pragma.
+ (_Refcount_Base, _Rope_RopeRep): Use NSDMI.
+ (_Rope_RopeRep::~_Rope_RopeRep): Destroy mutex.
+
+2012-07-16 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/53978
+ * include/bits/alloc_traits.h (allocator_traits): Define static
+ constants.
+ * include/bits/ptr_traits.h (pointer_traits): Likewise.
+ * include/ext/alloc_traits.h (__allocator_always_compares_equal):
+ Likewise.
+
+2012-07-13 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/53657
+ * include/bits/stl_pair.h (pair<>::pair(pair&&)): Declare defaulted,
+ per C++11.
+ * include/bits/stl_map.h (map<>::insert(_Pair&&), map<>::insert
+ (const_iterator, _Pair&&)): Constrain with std::is_constructible,
+ per LWG2005.
+ * include/bits/stl_multimap.h (multimap<>::insert(_Pair&&),
+ multimap<>::insert(const_iterator, _Pair&&)): Likewise.
+ * include/bits/hashtable_policy.h (_Insert<>::insert(_Pair&&),
+ _Insert<>::insert(const_iterator, _Pair&&)): Likewise.
+ * include/debug/unordered_map: Adjust.
+ * include/debug/map.h: Likewise.
+ * include/debug/multimap.h: Likewise.
+ * include/profile/unordered_map: Likewise.
+ * include/profile/map.h: Likewise.
+ * include/profile/multimap.h: Likewise.
+
+2012-07-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/53872
+ * include/std/thread (thread::_M_make_routine): Qualify make_shared
+ to prevent ADL.
+ * testsuite/30_threads/thread/adl.cc: New.
+
+2012-07-05 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/std/condition_variable: Update copyright years.
+
+2012-07-04 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/53830
+ * include/std/condition_variable (condition_variable_any::wait):
+ Move _Unlock type to class scope.
+ (condition_variable_any::wait_until): Reuse it.
+ * testsuite/30_threads/condition_variable_any/53830.cc: New.
+
+2012-07-04 Matthias Klose <doko@ubuntu.com>
+
+ * testsuite/28_regex/headers/04_header: Remove empty directory.
+ * testsuite/28_regex/algorithms/02_match: Likewise.
+
+2012-07-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/53840
+ * include/std/ratio (ratio_multiply, ratio_divide, ratio_add,
+ ratio_subtract): Use template aliases.
+ * include/std/chrono (duration<>::duration(const duration<>&),
+ duration_cast): Adjust.
+ * testsuite/20_util/ratio/operations/53840.cc: New.
+ * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
+ * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
+ * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
+ * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
+
+2012-07-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ Revert:
+ 2011-10-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/49561
+ * include/bits/stl_list.h (_List_base<>::_List_impl::_M_size):
+ Add in C++0x mode.
+ (_List_base<>::_List_impl, _List_base<>::_M_get_node,
+ _List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&),
+ list<>::size, list<>::swap, list<>::splice): Use it.
+ (operator==(const list<>&, const list<>&)): Rewrite in C++0x mode.
+ * include/bits/list.tcc (list<>::erase): Likewise.
+ (list<>::merge): Adjust in C++0x mode.
+ * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
+ Adjust dg-error line number.
+ * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
+ Likewise.
+ * testsuite/23_containers/list/requirements/dr438/
+ constructor_1_neg.cc: Likewise.
+ * testsuite/23_containers/list/requirements/dr438/
+ constructor_2_neg.cc: Likewise.
+
+2012-06-27 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/c++config: Remove __regex nested namespace.
+ * include/bits/regex_compiler.h: Change __regex to
+ __detail. Adjust doxygen markup, add regex-details group.
+ * include/bits/regex_constants.h: Same.
+ * include/bits/regex_cursor.h: Same.
+ * include/bits/regex_error.h: Same.
+ * include/bits/regex_grep_matcher.h: Same.
+ * include/bits/regex_grep_matcher.tcc: Same.
+ * include/bits/regex_nfa.h: Same.
+ * include/bits/regex_nfa.tcc: Same.
+ * include/bits/regex.h: Same. Remove static from global constants.
+
+ * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
+
+ * include/bits/locale_classes.tcc: Add use_facet, has_facet to
+ locales group.
+
+2012-06-25 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ * include/tr2/bool_set (count, size, num_blocks, empty, max_size):
+ Add noexcept.
+
+2012-06-25 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ * include/tr2/dynamic_bitset (count, size, num_blocks, empty, max_size):
+ Add noexcept.
+
+2012-06-25 Benjamin Kosnik <bkoz@redhat.com>
+
+ * doc/doxygen/user.cfg.in: Change COMPACT_LATEX to NO.
+
+2012-06-24 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/28_regex/algorithms/02_match: To...
+ * testsuite/28_regex/algorithms/match: ...this.
+ * testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc: Remove
+ duplicate.
+
+2012-06-18 Jörg Sonnenberger <joerg@britannica.bec.de>
+ Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/53678
+ * config/os/bsd/netbsd/ctype_base.h: Check for _CTYPE_U.
+ * testsuite/22_locale/ctype_base/53678.cc: New.
+
+2012-06-15 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/53578
+ * include/ext/concurrence.h (__recursive_mutex::_S_destroy): Fix
+ narrowing conversion.
+ * include/std/mutex (__recursive_mutex_base::_S_destroy): Likewise.
+
+2012-06-14 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/53270
+ * include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
+ NSDMI in C++11 mode.
+ * include/ext/rope (_Refcount_Base): Likewise. Destroy mutex in
+ destructor when initialized by function.
+
+2012-06-14 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/53648
+ * include/std/tuple (__empty_not_final): Do not use EBO for tuples.
+ * testsuite/20_util/tuple/53648.cc: New.
+ * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line
+ number.
+
+2012-06-14 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
+
+2012-06-01 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
+
+2012-05-31 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/53543
+ * include/bits/hashtable_policy.h (_Insert::__is_convertible):
+ Rename to __is_conv to avoid clash with clang built-in.
+
+2012-05-29 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/stl_tempbuf.h (__uninitialized_construct_buf)
+ (__uninitialized_construct_buf_dispatch<>::__ucr): Fix to work
+ with iterator returning rvalue.
+ * testsuite/25_algorithms/stable_sort/3.cc: New.
+
+2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53503
+ * testsuite/26_numerics/headers/cmath/53503.cc: New.
+
+2012-05-22 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/53322
+ * include/bits/stl_algobase.h (lower_bound)
+ (lexicographical_compare): Do not declare unused local typedefs
+ here when Concepts are turned off.
+
+2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * testsuite/22_locale/num_put/put/char/9780-2.cc: Avoid -Wall warnings.
+ * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
+ * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
+ * Likewise.
+ * testsuite/23_containers/unordered_map/observers.cc: Likewise.
+ * testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
+ * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
+ * testsuite/23_containers/unordered_multimap/erase/2.cc: Likewise.
+ * testsuite/23_containers/unordered_multimap/insert/53115.cc: Likewise.
+ * testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
+ * testsuite/23_containers/vector/debug/alloc_prop.cc: Likewise.
+ * testsuite/23_containers/unordered_set/observers.cc: Likewise.
+ * testsuite/23_containers/unordered_set/erase/1.cc: Likewise.
+ * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
+ * testsuite/23_containers/unordered_multiset/erase/2.cc: Likewise.
+ * testsuite/23_containers/unordered_multiset/insert/53115.cc: Likewise.
+ * testsuite/23_containers/unordered_multiset/insert/multiset_range.cc:
+ * Likewise.
+ * testsuite/23_containers/unordered_multiset/observers.cc: Likewise.
+
+2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53361
+ * testsuite/23_containers/array/cons/53361.cc: New.
+
+2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/44516
+ * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust
+ dg-error line number.
+
+2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure: Regenerated.
+
+2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/53339
+ * include/bits/hashtable_policy.h (__detail::_Identity,
+ __detail::_Select1st): Add.
+ (_Map_base, _Hashtable_base): Use the latter, adjust parameters.
+ * include/bits/hashtable.h (_Hashtable::__key_extract): Adjust.
+ * include/bits/unordered_set.h (__uset_hashtable, __umset_hashtable):
+ Likewise.
+ * include/bits/unordered_map.h (__umap_hashtable, __ummap_hashtable):
+ Likewise.
+ * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd)
+ Unconditionally derive from unary_function.
+ * include/ext/functional (identity, select1st, select2nd): Remove
+ #ifdef __GXX_EXPERIMENTAL_CXX0X__ bits.
+ * testsuite/23_containers/unordered_map/requirements/53339.cc: New.
+ * testsuite/23_containers/unordered_multimap/requirements/
+ 53339.cc: Likewise.
+
+2012-05-11 François Dumont <fdumont@gcc.gnu.org>
+
+ PR libstdc++/53263
+ * include/debug/safe_iterator.h (__gnu_debug::__base): Move...
+ * include/debug/functions.h: ... Here.
+ (__check_sorted_aux): Add overload for random access safe
+ iterators.
+ (__check_partition_lower_aux): New.
+ (__check_partition_lower): Use latter.
+ (__check_partition_upper_aux): New.
+ (__check_partition_upper): Use latter.
+ * include/debug/macros.h (__glibcxx_check_heap)
+ (__glibcxx_check_heap_pred): Use __gnu_debug::__base on iterator range.
+
+2012-05-10 DJ Delorie <dj@redhat.com>
+
+ * include/bits/random.tcc (seed_seq::generate): Cast max()
+ operands to size_t to ensure a template match.
+ * include/std/bitset (_M_copy_from_ptr): Cast min() operands to
+ size_t to ensure a template match.
+
+2012-05-03 Benjamin Kosnik <bkoz@redhat.com>
+
+ * scripts/testsuite_flags.in (cxxflags): Remove
+ -ftrack-macro-expansion=0.
+
+2012-05-03 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/xml/faq.xml: Update outdated allocator documentation.
+ * doc/xml/manual/allocator.xml: Likewise.
+ * doc/xml/manual/debug.xml: Likewise.
+ * doc/xml/manual/evolution.xml: Likewise.
+ * doc/xml/manual/using.xml: Likewise.
+
+2012-05-02 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/44015
+ * include/bits/basic_ios.h: Add tparam markup for
+ * doxygen. include/bits/basic_string.h: Same.
+ * include/bits/forward_list.h: Same.
+ * include/bits/stl_bvector.h: Same.
+ * include/bits/stl_deque.h: Same.
+ * include/bits/stl_list.h: Same. include/bits/stl_map.h:
+ * Same. include/bits/stl_multimap.h: Same.
+ * include/bits/stl_multiset.h: Same.
+ * include/bits/stl_pair.h: Same.
+ * include/bits/stl_queue.h: Same.
+ * include/bits/stl_set.h: Same.
+ * include/bits/stl_stack.h: Same.
+ * include/bits/stl_vector.h: Same.
+ * include/bits/unordered_map.h: Same.
+ * include/bits/unordered_set.h: Same. include/std/array:
+ * Same. include/std/atomic: Same. include/std/fstream:
+ * Same. include/std/istream: Same. include/std/ostream:
+ * Same. include/std/sstream: Same.
+ * include/std/streambuf: Same.
+ * testsuite/23_containers/deque/requirements/dr438/*:
+ Adjust line numbers.
+ * testsuite/23_containers/list/requirements/dr438/*: Same.
+ * testsuite/23_containers/vector/requirements/dr438/*: Same.
+
+2012-05-02 DJ Delorie <dj@redhat.com>
+
+ * crossconfig.m4: Since we know that all TPF builds are cross-
+ builds and cannot run configuration-time link tests, do not
+ allow it; just go with known supported linker options.
+ * configure: Regenerate (called as GLIBCXX_CROSSCONFIG).
+
+2012-05-02 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/hashtable_policy.h: Correct namepace nesting for
+ _Hashtable forward declaration.
+
+2012-05-01 François Dumont <fdumont@gcc.gnu.org>
+
+ PR libstdc++/53115
+ * include/bits/hashtable.h
+ (_Hashtable<>::_M_rehash_aux(size_type, false_type)): Fix buckets
+ after insertion of several equivalent elements.
+ * testsuite/23_containers/unordered_multiset/insert/53115.cc: New.
+ * testsuite/23_containers/unordered_multimap/insert/53115.cc: New.
+
+2012-04-29 Marc Glisse <marc.glisse@inria.fr>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/51795
+ * include/bits/stl_algobase.h (__lg<>(_Size)): Remove.
+ (__lg(int), __lg(unsigned), __lg(long), __lg(unsigned long),
+ __lg(long long), __lg(unsigned long long)): Define constexpr.
+ * include/bits/random.h (_Mod<>): Overcome Schrage's algorithm
+ limitations.
+ (__mod): Adjust.
+ (linear_congruential): Remove FIXME static_assert.
+ * include/bits/random.tcc (_Mod<>): Adjust.
+ * testsuite/26_numerics/random/linear_congruential_engine/operators/
+ 51795.cc: New.
+
+2012-04-29 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/std/functional (function::function(F)): LWG 2132: Disable
+ constructor if argument isn't callable.
+ * testsuite/20_util/function/cons/callable.cc: New.
+
+2012-04-29 Marc Glisse <marc.glisse@inria.fr>
+
+ PR libstdc++/22200
+ * include/std/limits (numeric_limits<>::is_modulo): False for
+ signed types.
+
+2012-04-25 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/hashtable.h: Adjust doxygen markup for base
+ classes.
+ * include/bits/hashtable_policy.h: Same.
+
+2012-04-25 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/52689
+ * testsuite/17_intro/static.cc: Fix.
+ * testsuite/lib/dg-options.exp (dg-require-static-libstdcxx): New.
+ * testsuite/lib/libstdc++.exp (check_v3_target_static_libstdcxx): New.
+
+2012-04-25 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/std/scoped_allocator (scoped_allocator::__outermost): Do
+ not pass non-POD to varargs function.
+ * testsuite/20_util/scoped_allocator/1.cc: Fix test.
+
+2012-04-24 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/52689
+ * testsuite/17_intro/static.cc: New.
+
+2012-04-23 Daniel Krugler <daniel.kruegler@gmail.com>
+
+ * include/std/type_traits (is_nothrow_destructible): Implement.
+ (is_destructible): Implement LWG 2049.
+ * testsuite/util/testsuite_tr1.h: Add tests.
+ * testsuite/20_util/is_nothrow_destructible/value.cc: New.
+ * testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc:
+ * testsuite/20_util/is_nothrow_destructible/requirements/
+ explicit_instantiation.cc: Likewise.
+ * testsuite/20_util/is_destructible/value.cc: Adjust and extend.
+ * testsuite/20_util/is_default_constructible/value.cc: Tweak.
+ * testsuite/20_util/is_constructible/value-2.cc: Likewise.
+ * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
+ dg-error line numbers.
+ * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
+ Likewise.
+ * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
+
+2012-04-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/53080
+ * include/std/array (tuple_element, get): static_assert I < N.
+ * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
+ New.
+ * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
+ * testsuite/23_containers/array/tuple_interface/tuple_element.cc: Fix.
+
+2012-04-23 Chris Jefferson <chris@bubblescope.net>
+
+ PR testsuite/53046
+ * testsuite/25_algorithms/stable_partition/mem_check.cc: Fix size
+ of array A.
+ * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
+
+2012-04-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/53067
+ * include/bits/hashtable_policy.h: Change inheritances to public.
+ * testsuite/23_containers/unordered_map/requirements/53067.cc: New.
+ * testsuite/23_containers/unordered_set/requirements/53067.cc: Likewise.
+
+2012-04-22 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/ext/alloc_traits.h (__alloc_traits::difference_type):
+ Define.
+
+2012-04-22 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/53027
+ * include/bits/ptr_traits.h (pointer_traits::rebind): Make public.
+ * testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check
+ rebind works.
+
+2012-04-22 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/debug/forward_list (forward_list::splice_after): Check
+ allocators are equal.
+ * src/c++11/debug.cc: Fix spelling.
+ * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
+ New.
+ * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
+ Likewise.
+
+2012-04-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/53052
+ * include/std/type_traits (is_explicitly_convertible): Remove.
+ * testsuite/20_util/is_explicitly_convertible: Likewise.
+ * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
+ Adjust dg-error line numbers.
+ * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
+ Likewise.
+ * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
+
+2012-04-17 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/20_util/specialized_algorithms/uninitialized_copy/
+ 808590.cc: New.
+
+2012-04-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * testsuite/util/testsuite_abi.cc (compare_symbols): Change
+ summary header to avoid confusion with DejaGnu header.
+
+2012-04-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/52702
+ * include/std/type_traits (is_trivially_destructible): Add.
+ (has_trivial_destructor): Remove.
+ * testsuite/util/testsuite_common_types.h: Adjust.
+ * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
+ * testsuite/20_util/pair/requirements/dr801.cc: Likewise.
+ * testsuite/20_util/is_trivially_destructible/value.cc: New.
+ * testsuite/20_util/is_trivially_destructible/requirements/
+ typedefs.cc: Likewise.
+ * testsuite/20_util/is_trivially_destructible/requirements/
+ explicit_instantiation.cc: Likewise.
+ * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
+ Adjust dg-error line numbers.
+ * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
+ Likewise.
+ * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
+
+2012-04-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/52699
+ * include/bits/random.tcc (independent_bits_engine<>::operator()())
+ Avoid various overflows; use common_type on result_type and
+ _RandomNumberEngine::result_type; avoid floating point computations;
+ other smaller tweaks.
+
+ * include/bits/random.tcc (uniform_int_distribution<>::operator())
+ Use common_type; assume _UniformRandomNumberGenerator::result_type
+ unsigned; tidy.
+
+ * include/bits/stl_algobase.h (__lg(unsigned), __lg(unsigned long),
+ __lg(unsigned long long)): Add.
+
+2012-04-14 Alan Modra <amodra@gmail.com>
+
+ PR libstdc++/52839
+ * acinclude.m4 (_GLIBCXX_ATOMIC_BUILTINS): Do not depend on
+ glibcxx_cv_atomic_long_long.
+ * configure: Regenerate.
+
+2012-04-13 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * testsuite/26_numerics/cmath/51083.cc: Move...
+ * testsuite/26_numerics/headers/cmath/51083.cc: ... here.
+
+2012-04-13 Laurent Alfonsi <laurent.alfonsi@st.com>
+
+ PR libstdc++/52604
+ * src/c++98/mt_allocator.cc: (__freelist::~__freelist): Reset pointer.
+
+2012-04-13 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/debug/safe_iterator.h (_BeforeBeginHelper<>::
+ _S_Is_Beginnest): Add.
+ * include/debug/forward_list (_BeforeBeginHelper<>::
+ _S_Is_Beginnest): Likewise.
+ (_Safe_iterator<>::_M_is_beginnest): Add.
+ * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
+ Use the latter.
+ * testsuite/23_containers/forward_list/debug/splice_after.cc:
+ Add test.
+
+2012-04-12 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/unordered_map.h (__unordered_map): Remove.
+ (__unordered_multimap): Remove.
+ Add aliases for __umap_traits, __umap_hashtable, __ummap_traits,
+ __ummap_hashtable.
+ (unordered_map): Derive from __umap_hashtable.
+ (unordered_multimap): Derive from __ummap_hashtable.
+ * include/bits/unordered_set.h (__unordered_set): Remove.
+ (__unordered_multiset): Remove.
+ Add aliases for __uset_traits, __uset_hashtable, __umset_traits,
+ __umset_hashtable.
+ (unordered_set): Derive from __uset_hashtable.
+ (unordered_multiset): Derive from __umset_hashtable.
+ * include/bits/hashtable.h (__cache_default): New, consolidated
+ cache defaults for _Hashtable. Adjust comments for doxygen.
+ (_Hashtable): Consolidate bool template parameters into new,
+ _Traits class. Inherited base classes synthesize _Hashtable in
+ CRTP via original 10 parameters. Prefer using declarations to
+ typedefs, add __node_type, __bucket_type, etc. Push many nested
+ types down hierarchy to _Hashtable_base. Add constructors
+ necessary for top-level unordered_containers. Consolidate insert
+ member functions and logic in new base class, __detail::_Insert
+ and __detail::_Insert_base.
+ (_Hashtable::operator=(initializer_list)): Add.
+ * include/bits/hashtable_policy.h: Convert to doxygen markup.
+ (_Hashtable_traits) New. Consolidate bool template parameters here.
+ (_Insert, _Insert_base): New, consolidated insert member functions.
+ (_Map_base, _Equality, _Rehash_base): Adjust template parameters,
+ use base types.
+ (_Hashtable_base): Move type declarations useful to other base
+ classes into this class.
+ * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
+ * testsuite/23_containers/unordered_set/instantiation_neg.cc:
+ Adjust traits, line numbers.
+
+2012-04-12 Jeffrey Yasskin <jyasskin@google.com>
+
+ PR libstdc++/52822
+ * include/bits/stl_algo.h (__find_if_not): Expose in C++98 mode.
+ (__find_if_not_n): Like __find_if_not, but works on and updates a
+ counted range instead of a bounded range.
+ (stable_partition): Guarantee !__pred(*__first) in call to
+ __stable_partition_adaptive() or __inplace_stable_partition().
+ (__stable_partition_adaptive): Use new precondition to avoid
+ moving/copying objects onto themselves. Guarantee new
+ precondition to recursive calls.
+ (__inplace_stable_partition): Use new precondition to simplify
+ base case, remove __last parameter. Guarantee new precondition to
+ recursive calls.
+ * testsuite/25_algorithms/stable_partition/moveable.cc (test02):
+ Test a sequence that starts with a value matching the predicate.
+ * testsuite/25_algorithms/stable_partition/pr52822.cc: Test
+ vectors, which have a destructive self-move-assignment.
+
+2012-04-12 Andreas Schwab <schwab@linux-m68k.org>
+
+ * testsuite/Makefile.am (check_DEJAGNUnormal0): Run
+ prettyprinters.exp.
+ * testsuite/Makefile.in: Regenerated.
+
+2012-04-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/52942
+ * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd):
+ In C++11 mode do not derive from std::unary_function.
+ * include/ext/functional (identity, select1st, select2nd): Adjust.
+ * testsuite/23_containers/unordered_map/requirements/52942.cc: New.
+ * testsuite/23_containers/unordered_set/requirements/52942.cc: Likewise.
+
+2012-04-11 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/52924
+ * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add
+ user-defined destructor.
+ (_Sp_counted_inplace): Likewise.
+ * testsuite/20_util/shared_ptr/cons/52924.cc: New.
+ * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
+ line numbers.
+
+2012-04-11 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/xml/manual/debug.xml (Debug Versions of Library Binary Files):
+ Re-arrange text slightly.
+
+2012-04-11 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * testsuite/performance/30_threads/future/polling.cc: Adjust.
+
+2012-04-11 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/bits/forward_list.h (splice_after(const_iterator,
+ forward_list&), splice_after(const_iterator, forward_list&,
+ const_iterator), splice_after(const_iterator, forward_list&,
+ const_iterator, const_iterator), merge(forward_list&),
+ merge(forward_list&, _Comp)): Add per C++11 as published (and
+ LWG 1310).
+ * include/debug/forward_list: Adjust.
+
+ * include/bits/forward_list.h (splice_after(const_iterator,
+ forward_list&&, const_iterator)): Only declare.
+ (_M_transfer_after): Remove.
+ (_M_splice_after(const_iterator, forward_list&&)): Change signature.
+ (splice_after(const_iterator, forward_list&&, const_iterator,
+ const_iterator)): Use the latter.
+ * include/bits/forward_list.tcc (splice_after(const_iterator,
+ forward_list&&, const_iterator)): Define here.
+ (_M_splice_after): Define, use throughout.
+
+ * include/bits/forward_list.h (insert_after(const_iterator,
+ std::initializer_list<_Tp>)): Forward to insert_after(const_iterator,
+ _InputIterator, _InputIterator).
+ * include/bits/forward_list.tcc: Remove definition.
+
+ * testsuite/23_containers/forward_list/modifiers/6.cc: New.
+ * testsuite/23_containers/forward_list/operations/1.cc: Adjust.
+
+2012-04-11 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/52931
+ * include/bits/functional_hash.h (struct hash): Remove definition.
+ * testsuite/20_util/hash/52931.cc: New.
+
+2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 24985
+ * testsuite/lib/prune.exp: Handle caret.
+
+2012-04-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ Partially revert:
+ 2012-03-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/52689
+ * src/c++98/compatibility-list.cc: Same.
+
+2012-04-05 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ PR bootstrap/52840
+ * src/Makefile.am (build-debug): Do not adjust vpath dir, remove
+ Makefile.tmp
+ * src/Makefile.in: Adjust as per above.
+
+2012-04-04 Uros Bizjak <ubizjak@gmail.com>
+
+ Partially revert:
+ 2012-03-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/52689
+ * src/c++98/compatibility-ldbl.cc: Guard with PIC
+
+2012-04-02 Tristan Gingold <gingold@adacore.com>
+
+ * crossconfig.m4 (*-*-*vms*): Add.
+ * configure: Regenerate.
+
+2012-04-01 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/52591
+ * include/bits/stl_vector.h (vector::operator=(vector&&)): Dispatch
+ to _M_move_assign depending on whether allocator is moved.
+ (vector::_M_move_assign): Add overloaded functions.
+ * testsuite/23_containers/vector/52591.cc: New.
+ * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
+ Adjust dg-error line number.
+ * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
+ Likewise.
+ * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
+ Likewise.
+ * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
+ Likewise.
+
+2012-04-01 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/std/functional (__callable_functor): Overload for
+ volatile-qualified pointers.
+ * testsuite/20_util/function/10.cc: New.
+
+2012-03-30 Jeffrey Yasskin <jyasskin@gcc.gnu.org>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/52799
+ * include/bits/deque.tcc (emplace): Fix thinko, replace push_front
+ -> emplace_front, and likewise for *_back.
+ * testsuite/23_containers/deque/modifiers/emplace/52799.cc: New.
+ * testsuite/23_containers/list/modifiers/emplace/52799.cc: Likewise.
+ * testsuite/23_containers/vector/modifiers/emplace/52799.cc: Likewise.
+
+2012-03-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/52689
+ * libsupc++/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
+ * libsupc++/Makefile.in: Regenerated.
+ * src/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
+ (libstdc___la_SOURCES): Add in compatiblity files, with content
+ that varies with -DPIC.
+ * src/Makefile.in: Regenerated.
+ * src/c++11/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
+ * src/c++11/Makefile.in: Regenerated.
+ * src/c++11/compatibility-atomic-c++0x.cc: Guard with PIC.
+ * src/c++11/compatibility-c++0x.cc: Same.
+ * src/c++11/future.cc: Consolidate compatibility bits into..
+ * src/c++11/mutex.cc: Consolidate compatibility bits into..
+ * src/c++11/compatibility-thread-cxx0x.cc: ...here. New.
+ * src/c++98/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
+ * src/c++98/Makefile.in: Regenerated.
+ * src/c++98/compatibility-ldbl.cc: Guard with PIC
+ * src/c++98/compatibility-list-2.cc: Same.
+ * src/c++98/compatibility-list.cc: Same.
+ * src/c++98/compatibility.cc: Tweak comments.
+
+2012-03-28 Terry Guo <terry.guo@arm.com>
+
+ * testsuite/Makefile.am (TEST_GCC_EXEC_PREFIX): New.
+ * testsuite/Makefile.in: Regenerated.
+
+2012-03-27 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/std/functional (mem_fn): Qualify to prevent ADL.
+ * testsuite/20_util/function_objects/mem_fn/adl.cc: New.
+
+2012-03-27 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/std/type_traits (result_of): Fix handling of cv-quals.
+ * testsuite/20_util/result_of/1.cc: New.
+ * testsuite/20_util/result_of/2.cc: New.
+ * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
+ line numbers.
+ * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
+ Likewise.
+ * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
+ Likewise.
+
+2012-03-23 David S. Miller <davem@davemloft.net>
+
+ * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Update.
+
+2012-03-23 Benjamin Kosnik <bkoz@redhat.com>
+
+ * scripts/testsuite_flags.in (--cxxflags): Let CXXFLAGS set -g -O2.
+ * testsuite/lib/libstdc++.exp: Same.
+
+2012-03-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/bits/forward_list.h: Slightly tweak two comments.
+
+2012-03-22 Benjamin Kosnik <bkoz@redhat.com>
+
+ * doc/Makefile.am: XML output names have only .xml suffix.
+ * doc/Makefile.in: Regenerate.
+
+2012-03-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/std/array (array<>::at(size_type) const): Fix version
+ for undefined __EXCEPTIONS.
+
+2013-03-21 Andreas Tobler <andreast@fgznet.ch>
+
+ * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
+ Skip this test on powerpc64-*-freebsd*.
+
+2012-03-20 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/bits/stl_list.h (list::_M_size): Use NSDMI.
+ * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
+ Adjust line numbers.
+ * testsuite/23_containers/list/requirements/dr438/
+ constructor_1_neg.cc: Likewise.
+ * testsuite/23_containers/list/requirements/dr438/
+ constructor_2_neg.cc: Likewise.
+ * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
+ Likewise.
+
+2012-03-19 Paweł Sikora <pawel.sikora@agmk.net>
+
+ PR libstdc++/52540
+ * include/Makefile.am (c++config.h): Fix sed rule to not break
+ the _GLIBCXX_EXTERN_TEMPLATE redefinition.
+ * include/Makefile.in: Regenerate.
+
+2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * testsuite/Makefile.in: Regenerate.
+
+2012-03-19 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/allocator.h (std::allocator): Base class is
+ __allocator_base.
+ (uses_allocator): Add to sub-grouping.
+ * include/ext/new_allocator.h: Doxygen markup for tparm.
+
+ * config/allocator/bitmap_allocator_base.h: Use __allocator_base
+ template alias in C++11.
+ * config/allocator/malloc_allocator_base.h: Same.
+ * config/allocator/mt_allocator_base.h: Same.
+ * config/allocator/new_allocator_base.h: Same.
+ * config/allocator/pool_allocator_base.h: Same.
+
+2012-03-19 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/ext/pb_ds/detail/pat_trie_/
+ constructors_destructor_fn_imps.hpp: Increment after recursion.
+ * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Convert
+ node_type markup from brief.
+
+2012-03-16 François Dumont <fdumont@gcc.gnu.org>
+
+ PR libstdc++/52476
+ * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Add.
+ (_Hashtable<>::_M_rehash): Use the latter.
+ * testsuite/23_containers/unordered_multimap/insert/52476.cc: New.
+ * testsuite/23_containers/unordered_multiset/insert/52476.cc: New.
+
+2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/os/solaris/solaris2.8: Rename to ...
+ * config/os/solaris/solaris2.9: ... this.
+ * config/abi/post/solaris2.8: Rename to ...
+ * config/abi/post/solaris2.9: ... this.
+ * configure.host (os_include_dir): Remove solaris2.8.
+ Reflect renaming.
+ (abi_baseline_pair): Remove *-*-solaris2.8.
+ Reflect renaming.
+
+ * configure.ac (GLIBCXX_CHECK_MATH_PROTO): Remove
+ (GLIBCXX_CHECK_STDLIB_PROTO): Remove.
+ * acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO): Remove
+ (GLIBCXX_CHECK_STDLIB_PROTO): Remove.
+ (GLIBCXX_CHECK_GTHREADS): Remove Solaris 8 handling.
+ * crossconfig.m4 (GLIBCXX_CROSSCONFIG): Remove *-solaris2.8
+ handling.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+
+ * config/os/solaris/solaris2.9/os_defines.h
+ (__CORRECT_ISO_CPP_MATH_H_PROTO): Define.
+ (__CORRECT_ISO_CPP_STDLIB_H_PROTO): Define.
+ * include/c_global/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1
+ to __CORRECT_ISO_CPP_MATH_H_PROTO.
+ [!__CORRECT_ISO_CPP_MATH_H_PROTO2]: Remove.
+ * include/tr1/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1 to
+ __CORRECT_ISO_CPP_MATH_H_PROTO.
+
+ * doc/xml/manual/configure.xml (Configure, --enable-libstdcxx-threads):
+ Remove Solaris 8 reference.
+
+ * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
+ Don't xfail on *-*-solaris2.8.
+ * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
+ Likewise.
+ * testsuite/ext/enc_filebuf/char/13598.cc: Don't xfail on
+ *-*-solaris2.8.
+
+2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.host (irix6.5*): Remove.
+ * config/os/irix: Remove.
+ * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc())
+ [_GLIBCXX_FIONREAD_TAKES_OFF_T]: Remove.
+
+ * doc/xml/faq.xml: Remove IRIX reference.
+ * doc/xml/manual/using.xml (Finding Dynamic or Shared Libraries):
+ Remove IRIX example.
+
+ * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
+ Remove mips-sgi-irix6* handling.
+ * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
+ * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
+ * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
+ * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
+ * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
+ * testsuite/23_containers/list/pthread1.cc: Likewise.
+ * testsuite/23_containers/list/pthread5.cc: Likewise.
+ * testsuite/23_containers/map/pthread6.cc: Likewise.
+ * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
+ * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
+ * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
+ * testsuite/30_threads/async/42819.cc: Likewise.
+ * testsuite/30_threads/async/49668.cc: Likewise.
+ * testsuite/30_threads/async/any.cc: Likewise.
+ * testsuite/30_threads/async/async.cc: Likewise.
+ * testsuite/30_threads/async/launch.cc: Likewise.
+ * testsuite/30_threads/async/sync.cc: Likewise.
+ * testsuite/30_threads/call_once/39909.cc: Likewise.
+ * testsuite/30_threads/call_once/49668.cc: Likewise.
+ * testsuite/30_threads/call_once/call_once1.cc: Likewise.
+ * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
+ * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
+ * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
+ * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
+ Likewise.
+ * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
+ * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
+ * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
+ * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
+ * testsuite/30_threads/future/cons/move.cc: Likewise.
+ * testsuite/30_threads/future/members/45133.cc: Likewise.
+ * testsuite/30_threads/future/members/get.cc: Likewise.
+ * testsuite/30_threads/future/members/get2.cc: Likewise.
+ * testsuite/30_threads/future/members/share.cc: Likewise.
+ * testsuite/30_threads/future/members/valid.cc: Likewise.
+ * testsuite/30_threads/future/members/wait.cc: Likewise.
+ * testsuite/30_threads/future/members/wait_for.cc: Likewise.
+ * testsuite/30_threads/future/members/wait_until.cc: Likewise.
+ * testsuite/30_threads/lock/1.cc: Likewise.
+ * testsuite/30_threads/lock/2.cc: Likewise.
+ * testsuite/30_threads/lock/3.cc: Likewise.
+ * testsuite/30_threads/lock/4.cc: Likewise.
+ * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
+ * testsuite/30_threads/mutex/cons/1.cc: Likewise.
+ * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
+ * testsuite/30_threads/mutex/lock/1.cc: Likewise.
+ * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
+ * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
+ * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/packaged_task/49668.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
+ * testsuite/30_threads/promise/cons/1.cc: Likewise.
+ * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
+ * testsuite/30_threads/promise/cons/move.cc: Likewise.
+ * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
+ * testsuite/30_threads/promise/members/get_future.cc: Likewise.
+ * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_value.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
+ * testsuite/30_threads/promise/members/swap.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/get.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
+ * testsuite/30_threads/this_thread/1.cc: Likewise.
+ * testsuite/30_threads/this_thread/2.cc: Likewise.
+ * testsuite/30_threads/this_thread/3.cc: Likewise.
+ * testsuite/30_threads/this_thread/4.cc: Likewise.
+ * testsuite/30_threads/thread/cons/1.cc: Likewise.
+ * testsuite/30_threads/thread/cons/2.cc: Likewise.
+ * testsuite/30_threads/thread/cons/3.cc: Likewise.
+ * testsuite/30_threads/thread/cons/4.cc: Likewise.
+ * testsuite/30_threads/thread/cons/49668.cc: Likewise.
+ * testsuite/30_threads/thread/cons/5.cc: Likewise.
+ * testsuite/30_threads/thread/cons/6.cc: Likewise.
+ * testsuite/30_threads/thread/cons/7.cc: Likewise.
+ * testsuite/30_threads/thread/cons/8.cc: Likewise.
+ * testsuite/30_threads/thread/cons/9.cc: Likewise.
+ * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
+ * testsuite/30_threads/thread/members/1.cc: Likewise.
+ * testsuite/30_threads/thread/members/2.cc: Likewise.
+ * testsuite/30_threads/thread/members/3.cc: Likewise.
+ * testsuite/30_threads/thread/members/4.cc: Likewise.
+ * testsuite/30_threads/thread/members/5.cc: Likewise.
+ * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
+ * testsuite/30_threads/thread/native_handle/typesizes.cc: Likewise.
+ * testsuite/30_threads/thread/swap/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/try_lock/3.cc: Likewise.
+ * testsuite/30_threads/try_lock/4.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
+ * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
+ * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
+ * testsuite/ext/rope/pthread7-rope.cc: Likewise.
+ * testsuite/tr1/2_general_utilities/shared_ptr/thread/
+ default_weaktoshared.cc: Likewise.
+ * testsuite/tr1/2_general_utilities/shared_ptr/thread/
+ mutex_weaktoshared.cc: Likewise.
+
+ * testsuite/23_containers/vector/capacity/resize/1.cc: Remove
+ dg-options for mips*-*-irix6*.
+
+ * testsuite/27_io/ios_base/storage/1.cc: Likewise.
+ * testsuite/27_io/ios_base/storage/2.cc: Likewise.
+ * testsuite/27_io/ios_base/storage/3.cc: Likewise.
+
+ * testsuite/lib/libstdc++.exp (v3-build_support): Remove IRIX 6
+ workaround.
+
+2012-03-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/bits/forward_list.h: Fix comments.
+
+2012-03-13 Terry Guo <terry.guo@arm.com>
+
+ * testsuite/Makefile.in (TEST_GCC_EXEC_PREFIX): New.
+
+2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.host: Remove osf* handling.
+ * config/os/osf: Remove.
+ * doc/xml/manual/using.xml: Remove OSF reference.
+
+ * testsuite/18_support/pthread_guard.cc: Remove alpha*-*-osf* handling.
+ * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise.
+ * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
+ * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
+ * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
+ * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
+ * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
+ * testsuite/23_containers/list/pthread1.cc: Likewise.
+ * testsuite/23_containers/list/pthread5.cc: Likewise.
+ * testsuite/23_containers/map/pthread6.cc: Likewise.
+ * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
+ * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
+ * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
+ * testsuite/30_threads/async/42819.cc: Likewise.
+ * testsuite/30_threads/async/49668.cc: Likewise.
+ * testsuite/30_threads/async/any.cc: Likewise.
+ * testsuite/30_threads/async/async.cc: Likewise.
+ * testsuite/30_threads/async/launch.cc: Likewise.
+ * testsuite/30_threads/async/sync.cc: Likewise.
+ * testsuite/30_threads/call_once/39909.cc: Likewise.
+ * testsuite/30_threads/call_once/49668.cc: Likewise.
+ * testsuite/30_threads/call_once/call_once1.cc: Likewise.
+ * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
+ * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
+ * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
+ * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
+ Likewise.
+ * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
+ * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
+ * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
+ * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
+ * testsuite/30_threads/future/cons/move.cc: Likewise.
+ * testsuite/30_threads/future/members/45133.cc: Likewise.
+ * testsuite/30_threads/future/members/get.cc: Likewise.
+ * testsuite/30_threads/future/members/get2.cc: Likewise.
+ * testsuite/30_threads/future/members/share.cc: Likewise.
+ * testsuite/30_threads/future/members/valid.cc: Likewise.
+ * testsuite/30_threads/future/members/wait.cc: Likewise.
+ * testsuite/30_threads/future/members/wait_for.cc: Likewise.
+ * testsuite/30_threads/future/members/wait_until.cc: Likewise.
+ * testsuite/30_threads/lock/1.cc: Likewise.
+ * testsuite/30_threads/lock/2.cc: Likewise.
+ * testsuite/30_threads/lock/3.cc: Likewise.
+ * testsuite/30_threads/lock/4.cc: Likewise.
+ * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
+ * testsuite/30_threads/mutex/cons/1.cc: Likewise.
+ * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
+ * testsuite/30_threads/mutex/lock/1.cc: Likewise.
+ * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
+ * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
+ * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/packaged_task/49668.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
+ * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
+ * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
+ * testsuite/30_threads/promise/cons/1.cc: Likewise.
+ * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
+ * testsuite/30_threads/promise/cons/move.cc: Likewise.
+ * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
+ * testsuite/30_threads/promise/members/get_future.cc: Likewise.
+ * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_value.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
+ * testsuite/30_threads/promise/members/swap.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
+ Likewise.
+ * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/get.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
+ * testsuite/30_threads/this_thread/1.cc: Likewise.
+ * testsuite/30_threads/this_thread/2.cc: Likewise.
+ * testsuite/30_threads/this_thread/3.cc: Likewise.
+ * testsuite/30_threads/this_thread/4.cc: Likewise.
+ * testsuite/30_threads/thread/cons/1.cc: Likewise.
+ * testsuite/30_threads/thread/cons/2.cc: Likewise.
+ * testsuite/30_threads/thread/cons/3.cc: Likewise.
+ * testsuite/30_threads/thread/cons/4.cc: Likewise.
+ * testsuite/30_threads/thread/cons/49668.cc: Likewise.
+ * testsuite/30_threads/thread/cons/5.cc: Likewise.
+ * testsuite/30_threads/thread/cons/6.cc: Likewise.
+ * testsuite/30_threads/thread/cons/7.cc: Likewise.
+ * testsuite/30_threads/thread/cons/8.cc: Likewise.
+ * testsuite/30_threads/thread/cons/9.cc: Likewise.
+ * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
+ * testsuite/30_threads/thread/members/1.cc: Likewise.
+ * testsuite/30_threads/thread/members/2.cc: Likewise.
+ * testsuite/30_threads/thread/members/3.cc: Likewise.
+ * testsuite/30_threads/thread/members/4.cc: Likewise.
+ * testsuite/30_threads/thread/members/5.cc: Likewise.
+ * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
+ * testsuite/30_threads/thread/swap/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
+ * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/try_lock/3.cc: Likewise.
+ * testsuite/30_threads/try_lock/4.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
+ * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
+ * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
+ * testsuite/ext/rope/pthread7-rope.cc: Likewise.
+ * testsuite/tr1/2_general_utilities/shared_ptr/thread/
+ default_weaktoshared.cc: Likewise.
+ * testsuite/tr1/2_general_utilities/shared_ptr/thread/
+ mutex_weaktoshared.cc: Likewise.
+
+2012-03-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/52562
+ * libsupc++/typeinfo (type_info::name, before, operator==,
+ operator!=): Mark noexcept in C++11 mode.
+ * libsupc++/tinfo.cc (type_info::operator==): Adjust.
+ * libsupc++/tinfo2.cc (type_info::before): Likewise.
+ * testsuite/18_support/type_info/52562.cc: New.
+
+2012-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
+ symbols added in last change.
+
+ PR libstdc++/52456
+ * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
+
+2012-03-09 Andreas Schwab <schwab@linux-m68k.org>
+
+ * config/locale/gnu/monetary_members.cc
+ (moneypunct<char,true>::_M_initialize_moneypunct): Throw caught
+ exception again.
+ (moneypunct<char,false>::_M_initialize_moneypunct): Likewise.
+ * testsuite/22_locale/locale/cons/12352.cc: Also test en_US
+ locale.
+
+2012-03-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/debug/formatter.h (enum _Debug_msg_id): Add
+ __msg_self_move_assign.
+ * include/debug/macros.h (__glibcxx_check_self_move_assign): Add.
+ * src/c++11/debug.cc (_S_debug_messages): Update.
+ * include/debug/safe_iterator.h (_Safe_iterator<>::operator=
+ (_Safe_iterator&&)): Add check for self move assignment.
+ * include/debug/set.h: Likewise.
+ * include/debug/unordered_map: Likewise.
+ * include/debug/multiset.h: Likewise.
+ * include/debug/forward_list: Likewise.
+ * include/debug/unordered_set: Likewise.
+ * include/debug/vector: Likewise.
+ * include/debug/map.h: Likewise.
+ * include/debug/deque: Likewise.
+ * include/debug/string: Likewise.
+ * include/debug/list: Likewise.
+ * include/debug/multimap.h: Likewise.
+ * testsuite/21_strings/debug/self_move_assign_neg.cc: New.
+ * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc: Likewise.
+ * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_map/debug/
+ iterator_self_move_assign_neg.cc: Likewise.
+ * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
+ Likewise.
+ * testsuite/23_containers/multimap/debug/
+ iterator_self_move_assign_neg.cc: Likewise.
+ * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
+ * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_multimap/debug/
+ self_move_assign_neg.cc: Likewise.
+ * testsuite/23_containers/unordered_multimap/debug/
+ iterator_self_move_assign_neg.cc: Likewise.
+ * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
+ Likewise.
+ * testsuite/23_containers/forward_list/debug/
+ iterator_self_move_assign_neg.cc: Likewise.
+ * testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_set/debug/
+ iterator_self_move_assign_neg.cc: Likewise.
+ * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
+ Likewise.
+ * testsuite/23_containers/vector/debug/
+ iterator_self_move_assign_neg.cc: Likewise.
+ * testsuite/23_containers/deque/debug/self_move_assign_neg.cc: Likewise.
+ * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
+ Likewise.
+ * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
+ Likewise.
+ * testsuite/23_containers/multiset/debug/
+ iterator_self_move_assign_neg.cc: Likewise.
+ * testsuite/23_containers/list/debug/self_move_assign_neg.cc:
+ Likewise.
+ * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_multiset/debug/
+ self_move_assign_neg.cc: Likewise.
+ * testsuite/23_containers/unordered_multiset/debug/
+ iterator_self_move_assign_neg.cc: Likewise.
+ * testsuite/23_containers/map/debug/self_move_assign_neg.cc:
+ Likewise.
+ * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
+ Likewise.
+
+2012-03-08 Benjamin Kosnik <bkoz@redhat.com>
+
+ * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.0.
+ * include/bits/locale_facets.h: Adjust markup to avoid warnings.
+ * include/ext/pb_ds/assoc_container.hpp: Same.
+ * include/ext/pb_ds/priority_queue.hpp: Same.
+ * include/std/fstream: Same.
+ * include/std/ratio: Same.
+ * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust line
+ numbers.
+ * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
+
+2012-03-08 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/52433
+ * include/debug/safe_iterator.h (_Safe_iterator): Add debug checks
+ to move constructor and move assignment operator.
+
+2012-03-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/bits/stl_algobase.h (iter_swap): In C++11 mode simply
+ call swap.
+ * include/bits/stl_bvector.h (swap(_Bit_reference,
+ _Bit_reference), swap(_Bit_reference, bool&),
+ swap(bool&, _Bit_reference)): Add.
+ * testsuite/23_containers/vector/bool/swap.cc: New.
+
+2012-03-04 Paolo Carlini <paolo.carlini@oracle.com>
+ Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/43813
+ * include/bits/stl_iterator_base_types.h (_RequireInputIter): New.
+ * include/ext/vstring.h (__versa_string<>::__versa_string
+ (_InputIterator, _InputIterator, const _Alloc&),
+ __versa_string<>::append(_InputIterator, _InputIterator),
+ __versa_string<>::assign(_InputIterator, _InputIterator),
+ __versa_string<>::insert(iterator, _InputIterator,
+ _InputIterator), __versa_string<>::replace(iterator, iterator,
+ _InputIterator, _InputIterator)): Use it.
+ * include/bits/stl_list.h (list<>::list(_InputIterator,
+ _InputIterator, const allocator_type&), list<>::assign(_InputIterator,
+ _InputIterator), list<>::insert(iterator, _InputIterator,
+ _InputIterator)): Likewise.
+ * include/bits/stl_vector.h (vector<>::vector(_InputIterator,
+ _InputIterator, const allocator_type&), vector<>::assign(_InputIterator,
+ _InputIterator), vectort<>::insert(iterator, _InputIterator,
+ _InputIterator)): Likewise.
+ * include/bits/stl_deque.h (deque<>::deque(_InputIterator,
+ _InputIterator, const allocator_type&), deque<>::deque(_InputIterator,
+ _InputIterator), deque<>::insert(iterator, _InputIterator,
+ _InputIterator)): Likewise.
+ * include/bits/stl_bvector.h (vector<>::vector(_InputIterator,
+ _InputIterator, const allocator_type&), vector<>::deque(_InputIterator,
+ _InputIterator), vector<>::insert(iterator, _InputIterator,
+ _InputIterator)): Likewise.
+ * include/bits/forward_list.h (forward_list<>::forward_list
+ (_InputIterator, _InputIterator, const allocator_type&),
+ forward_list<>::assign(_InputIterator, _InputIterator),
+ forward_list<>::insert_after(const_iterator, _InputIterator,
+ _InputIterator)): Likewise.
+ (forward_list<>::_M_initialize_dispatch(,, __true_type): Remove.
+ (forward_list<>::_M_range_initialize): Add, adjust everywhere.
+ * include/bits/forward_list.tcc: Adjust.
+ * include/debug/forward_list: Adjust.
+ * include/debug/vector: Likewise.
+ * include/debug/deque: Likewise.
+ * include/debug/list: Likewise.
+ * testsuite/ext/vstring/requirements/do_the_right_thing.cc: New.
+ * testsuite/23_containers/forward_list/requirements/
+ do_the_right_thing.cc: Likewise.
+ * testsuite/23_containers/vector/requirements/
+ do_the_right_thing.cc: Likewise.
+ * testsuite/23_containers/deque/requirements/
+ do_the_right_thing.cc: Likewise.
+ * testsuite/23_containers/list/requirements/
+ do_the_right_thing.cc: Likewise.
+ * testsuite/23_containers/forward_list/requirements/dr438/
+ assign_neg.cc: Adjust dg-error line number.
+ * testsuite/23_containers/forward_list/requirements/dr438/
+ insert_neg.cc: Likewise.
+ * testsuite/23_containers/forward_list/requirements/dr438/
+ constructor_1_neg.cc: Likewise.
+ * testsuite/23_containers/forward_list/requirements/dr438/
+ constructor_2_neg.cc: Likewise.
+ * testsuite/23_containers/vector/requirements/dr438/
+ assign_neg.cc: Likewise.
+ * testsuite/23_containers/vector/requirements/dr438/
+ insert_neg.cc: Likewise.
+ * testsuite/23_containers/vector/requirements/dr438/
+ constructor_1_neg.cc: Likewise.
+ * testsuite/23_containers/vector/requirements/dr438/
+ constructor_2_neg.cc: Likewise.
+ * testsuite/23_containers/deque/requirements/dr438/
+ assign_neg.cc: Likewise.
+ * testsuite/23_containers/deque/requirements/dr438/
+ insert_neg.cc: Likewise.
+ * testsuite/23_containers/deque/requirements/dr438/
+ constructor_1_neg.cc: Likewise.
+ * testsuite/23_containers/deque/requirements/dr438/
+ constructor_2_neg.cc: Likewise.
+ * testsuite/23_containers/list/requirements/dr438/
+ assign_neg.cc: Likewise.
+ * testsuite/23_containers/list/requirements/dr438/
+ insert_neg.cc: Likewise.
+ * testsuite/23_containers/list/requirements/dr438/
+ constructor_1_neg.cc: Likewise.
+ * testsuite/23_containers/list/requirements/dr438/
+ constructor_2_neg.cc: Likewise.
+
+2012-03-04 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/52433
+ * include/debug/safe_iterator.h (_Safe_iterator): Add move
+ constructor and move assignment operator.
+ * testsuite/23_containers/vector/debug/52433.cc: New.
+
+2012-03-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/std/limits (numeric_limits): Fix returns per C++11.
+ * testsuite/18_support/numeric_limits/primary.cc: New.
+
+2012-03-02 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/c_global/cstdio: Remove extraneous extern.
+ * include/c_std/cstdio: Same.
+
+2012-03-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/abi/post/solaris2.8/baseline_symbols.txt: Regenerate.
+ * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
+ * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
+ * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
+ * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
+
+2012-03-01 Benjamin Kosnik <bkoz@redhat.com>
+ Ramana Radhakrishnan <ramana@gcc.gnu.org>
+
+ PR libstdc++/51785
+ * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): New.
+ * configure.ac: Call it.
+ * configure: Regenerate.
+ * config.h.in: Same.
+ * config/os/gnu-linux/os_defines.h: Conditionally undefine
+ _GLIBCXX_HAVE_GETS.
+ * include/c_global/cstdio: Conditionally declare deprecated gets.
+ * include/c_std/cstdio: Same.
+
+2012-03-01 Michael Spertus <mike_spertus@symantec.com>
+
+ * include/tr2/type_traits (typelist): To __reflection_typelist.
+ (first, rest, empty): Remove.
+
+2012-03-01 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/Makefile.am (CLEANFILES): Add *.gdb.
+ * testsuite/Makefile.in: Regenerate.
+
+2012-02-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
+
+2012-02-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/52191
+ * testsuite/util/testsuite_abi.cc (compare_symbols): Check new
+ symbols added into the latest version. Mark tls entities as
+ undesignated.
+
+2012-02-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/52414
+ * src/Makefile.am (libstdc++-symbols.ver): Only remove comment lines
+ if they are at the beginning of lines (with optional whitespace before
+ #).
+ * src/Makefile.in: Regenerated.
+
+2012-02-27 Jakub Jelinek <jakub@redhat.com>
+
+ * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
+ * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
+ Likewise.
+ * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
+ * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
+ * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
+ * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
+ * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
+ * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
+
+2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libstdc++/52188
+ * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Remove symvers_renaming.
+ Remove ENABLE_SYMVERS_SOL2.
+ * configure: Regenerate.
+ * src/Makefile.am [ENABLE_SYMVERS] (libstdc++-symbols.ver):
+ Postprocess mapfile.
+ [ENABLE_SYMVERS_GNU]: Remove ENABLE_SYMVERS_SOL2 handling.
+ * src/Makefile.in: Regenerate.
+
+ * config/abi/pre/gnu.ver (GLIBCXX_3.4.5) [!__sun__ && !__svr4__]:
+ Don't export
+ _ZNSt19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEppEv.
+
+2012-02-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR testsuite/52201
+ * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
+ Require atomic builtins.
+ * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
+
+2012-02-23 Jason Merrill <jason@redhat.com>
+
+ * include/bits/locale_facets.h (class num_get): Undo reordering of
+ do_get virtual functions.
+
+2012-02-14 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ * testsuite/26_numerics/random/
+ uniform_real_distribution/requirements/typedefs.cc: Check param_type.
+ * testsuite/26_numerics/random/
+ piecewise_constant_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ chi_squared_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ normal_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ uniform_int_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ poisson_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ bernoulli_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ discrete_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ weibull_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ cauchy_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ negative_binomial_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ gamma_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ fisher_f_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ exponential_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ binomial_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ lognormal_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ extreme_value_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ piecewise_linear_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ student_t_distribution/requirements/typedefs.cc: Ditto.
+ * testsuite/26_numerics/random/
+ geometric_distribution/requirements/typedefs.cc: Ditto.
+
+2012-02-21 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/50349
+ * config/abi/pre/gnu.ver: Only one local.
+ * config/abi/pre/gnu-versioned-namespace.ver: Same.
+
+2012-02-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/52317 (cont)
+ * include/profile/unordered_map: Ad Library Exception comment.
+ * include/profile/set: Likewise.
+ * include/profile/base.h: Likewise.
+ * include/profile/impl/profiler_list_to_slist.h: Likewise.
+ * include/profile/impl/profiler_container_size.h: Likewise.
+ * include/profile/impl/profiler_vector_size.h: Likewise.
+ * include/profile/impl/profiler_hash_func.h: Likewise.
+ * include/profile/impl/profiler_trace.h: Likewise.
+ * include/profile/impl/profiler_list_to_vector.h: Likewise.
+ * include/profile/impl/profiler_vector_to_list.h: Likewise.
+ * include/profile/impl/profiler.h: Likewise.
+ * include/profile/impl/profiler_state.h: Likewise.
+ * include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
+ * include/profile/impl/profiler_algos.h: Likewise.
+ * include/profile/impl/profiler_hashtable_size.h: Likewise.
+ * include/profile/impl/profiler_node.h: Likewise.
+ * include/profile/vector: Likewise.
+ * include/profile/unordered_set: Likewise.
+ * include/profile/map.h: Likewise.
+ * include/profile/map: Likewise.
+
+2012-02-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/52317
+ * python/Makefile.am: Update boilerplate license text to GPLv3.
+ * include/profile/unordered_map: Likewise.
+ * include/profile/set: Likewise.
+ * include/profile/base.h: Likewise.
+ * include/profile/impl/profiler_list_to_slist.h: Likewise.
+ * include/profile/impl/profiler_container_size.h: Likewise.
+ * include/profile/impl/profiler_vector_size.h: Likewise.
+ * include/profile/impl/profiler_hash_func.h: Likewise.
+ * include/profile/impl/profiler_trace.h: Likewise.
+ * include/profile/impl/profiler_list_to_vector.h: Likewise.
+ * include/profile/impl/profiler_vector_to_list.h: Likewise.
+ * include/profile/impl/profiler.h: Likewise.
+ * include/profile/impl/profiler_state.h: Likewise.
+ * include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
+ * include/profile/impl/profiler_algos.h: Likewise.
+ * include/profile/impl/profiler_hashtable_size.h: Likewise.
+ * include/profile/impl/profiler_node.h: Likewise.
+ * include/profile/vector: Likewise.
+ * include/profile/unordered_set: Likewise.
+ * include/profile/map.h: Likewise.
+ * include/profile/map: Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/
+ wchar_t/dr1261.cc: Likewise.
+ * testsuite/21_strings/basic_string/numeric_conversions/
+ char/dr1261.cc: Likewise.
+ * testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise.
+
+2012-02-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/52241
+ * src/c++98/tree.cc (local_Rb_tree_increment,
+ local_Rb_tree_decrement): Add.
+ (_Rb_tree_increment(const _Rb_tree_node_base*),
+ _Rb_tree_decrement(const _Rb_tree_node_base*)): Use the latter.
+ (_Rb_tree_increment(_Rb_tree_node_base*),
+ _Rb_tree_decrement(_Rb_tree_node_base*)): New.
+
+2012-02-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/52309
+ * include/bits/hashtable_policy.h (_Equality_base<, true,>::
+ _M_equal(const _Hashtable&)): Compare values with operator==.
+ * testsuite/23_containers/unordered_set/operators/52309.cc: New.
+
+2012-02-17 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/51798 continued.
+ * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Grep for
+ __atomic_, not __sync.
+ * configure: Regenerated.
+
+2012-02-17 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/47058
+ * acinclude.m4 (GLIBCXX_ENABLE_WERROR): New.
+ (GLIBCXX_EXPORT_FLAGS): Add -Wabi to WARN_FLAGS
+ * configure.ac: Use it.
+ * fragment.am: Set WERROR_FLAG conditionally on --disable-werror.
+ * configure: Regenerate.
+ * python/Makefile.in: Same.
+ * Makefile.in: Same.
+ * doc/Makefile.in: Same.
+ * include/Makefile.in: Same.
+ * po/Makefile.in: Same.
+ * python/Makefile.in: Same.
+ * src/Makefile.in: Same.
+ * src/c++11/Makefile.in: Same.
+ * src/c++98/Makefile.in: Same.
+ * testsuite/Makefile.in: Same.
+
+2012-02-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libstdc++/52189
+ * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Handle
+ --enable-libstdcxx-threads.
+ Disable on Solaris 8/9 with symbol versioning.
+ * configure.ac (GLIBCXX_CHECK_GTHREADS): Move after
+ GLIBCXX_ENABLE_SYMVERS.
+ * configure: Regenerate.
+ * doc/xml/manual/configure.xml (--enable-libstdcxx-threads): Explain.
+
+2012-02-15 DJ Delorie <dj@redhat.com>
+
+ * src/c++98/locale.cc (locale::facet::_S_get_c_locale): Fix typo.
+
+2012-02-15 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/51368
+ * acinclude.m4 (GLIBCXX_ENABLE_PYTHON): New.
+ * configure.ac: Use it.
+ * python/Makefile.am: Same.
+ * configure: Regenerate.
+ * python/Makefile.in: Regenerate.
+ * Makefile.in: Same.
+ * doc/Makefile.in: Same.
+ * include/Makefile.in: Same.
+ * po/Makefile.in: Same.
+ * src/Makefile.in: Same.
+ * src/c++11/Makefile.in: Same.
+ * src/c++98/Makefile.in: Same.
+ * testsuite/Makefile.in: Same.
+
+2012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * 30_threads/thread/native_handle/typesizes.cc: Do not run on cygwin.
+
+2012-02-14 Tom Tromey <tromey@redhat.com>
+
+ * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add new
+ tests.
+ * python/libstdcxx/v6/printers.py (Tr1HashtableIterator.__init__):
+ Rewrite.
+ (Tr1HashtableIterator.update): Remove.
+ (Tr1HashtableIterator.next): Rewrite.
+
+2012-02-13 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
+ * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
+
+2012-02-13 Richard Henderson <rth@redhat.com>
+
+ PR libstdc++/51798 continued.
+ * include/bits/shared_ptr_base.h
+ (_Sp_counted_base<_S_atomic>::_M_add_ref_lock): Hoist initial load
+ outside compare_exchange loop.
+ * include/tr1/shared_ptr.h: Same.
+ * include/parallel/compatibility.h (__compare_and_swap_32): Use strong
+ version of compare_exchange.
+ (__compare_and_swap_64): Same.
+ * include/profile/impl/profiler_state.h (__gnu_profile::__turn): Same.
+ * libsupc++/guard.cc (__cxa_guard_acquire): Same.
+
+2012-02-10 Benjamin Kosnik <bkoz@redhat.com>
+ Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/51798 continued.
+ * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Use __atomic_*
+ builtins instead of __sync_* builtins for atomic functionality.
+ * include/bits/shared_ptr_base.h: Same.
+ * include/parallel/compatibility.h: Same.
+ * include/profile/impl/profiler_state.h: Same.
+ * include/tr1/shared_ptr.h: Same.
+ * libsupc++/eh_ptr.cc: Same.
+ * libsupc++/eh_throw.cc: Same.
+ * libsupc++/eh_tm.cc: Same.
+ * libsupc++/guard.cc: Same.
+ * configure: Regenerated.
+ * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
+ * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
+
+2012-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libstdc++/51296
+ * config/os/osf/ctype_base.h,
+ config/os/osf/ctype_configure_char.cc,
+ config/os/osf/ctype_inline.h, config/os/osf/error_constants.h:
+ Copy from config/os/generic.
+ * config/os/osf/os_defines.h: Likewise.
+ (_GTHREAD_USE_MUTEX_INIT_FUNC, _GTHREAD_USE_COND_INIT_FUNC):
+ Define.
+ * configure.host <osf*>: Use os/osf for os_include_dir.
+
+2012-02-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated.
+
+2012-02-09 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/xml/manual/documentation_hacking.xml: Fix invalid attribute.
+
+2012-02-08 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/xml/manual/status_cxx2011.xml: Update C++11 status table.
+
+2012-02-07 Benjamin Kosnik <bkoz@redhat.com>
+
+ * doc/doxygen/user.cfg.in: Update to doxygen 1.7.6.1.
+ * doc/xml/manual/documentation_hacking.xml: Update.
+
+2012-02-07 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * testsuite/30_threads/call_once/39909.cc: Remove duplicate target
+ selector.
+ * testsuite/30_threads/call_once/49668.cc: Likewise.
+ * testsuite/30_threads/call_once/call_once1.cc: Likewise.
+ * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
+ * testsuite/30_threads/mutex/cons/1.cc: Likewise.
+ * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
+ * testsuite/30_threads/mutex/lock/1.cc: Likewise.
+ * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
+ * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
+ * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
+ * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
+ * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
+ * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
+ * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
+ * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
+ * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
+
+2012-02-07 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/51296
+ * include/std/mutex (__mutex_base::~__mutex_base): Declare noexcept.
+ * src/c++11/condition_variable.cc (condition_variable): Use macro for
+ initializer function.
+
+ PR libstdc++/51906
+ * config/os/bsd/darwin/os_defines.h: Disable static initializer for
+ recursive mutexes.
+
+2012-02-06 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/52128
+ * src/c++11/future.cc: Add explicit instantiation.
+
+2012-02-06 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/debug/safe_iterator.h
+ (_Safe_iterator::_M_before_dereferenceable): Avoid the expensive
+ creation of a _Safe_iterator instance to do the check.
+
+2012-02-05 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/52104
+ * include/std/future (__future_base::_Async_state_common): Define
+ destructor inline for targets without TLS.
+ * src/c++11/future.cc (__future_base::_Async_state_common): Only
+ define destructor for TLS targets.
+
+2012-02-05 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/51956
+ * python/libstdcxx/v6/printers.py (StdPointerPrinter): Rename to...
+ (SharedPointerPrinter): This. Also show weak count.
+ * testsuite/libstdc++-prettyprinters/shared_ptr.cc: New.
+
+2012-02-05 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Modify to
+ PASS instead of XFAIL.
+
+2012-02-05 Jeffrey Yasskin <jyasskin@gcc.gnu.org>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/52119
+ * include/std/limits (__glibcxx_min): Fix to avoid undefined behavior.
+
+2012-02-03 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/49445
+ * testsuite/29_atomics/atomic/cons/49445.cc: Add.
+
+2012-02-03 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/51811
+ * include/bits/atomic_base.h (atomic<_Tp*>): Fix offsets.
+ * testsuite/29_atomics/atomic/operators/51811.cc: New.
+ * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: New.
+
+2012-02-03 Jakub Jelinek <jakub@redhat.com>
+
+ * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
+ * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
+ Likewise.
+ * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
+ * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
+ * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
+ * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
+ * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
+ * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
+
+2012-02-02 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/52068
+ * src/c++11/Makefile.am (toolexeclib_LTLIBRARIES,
+ libc__11_la_SOURCES): Remove.
+ * src/c++11/Makefile.in: Regenerate.
+ * src/c++98/Makefile.am (toolexeclib_LTLIBRARIES,
+ libc__98_la_SOURCES): Remove.
+ * src/c++98/Makefile.in: Regenerate.
+
+2012-02-01 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/49204
+ * include/std/future (__future_base::_State_base::wait()): Use lambda
+ expression for predicate and remove redundant test.
+ (__future_base::_State_base::wait_for()): Return future_status and
+ use lambda expression for predicate.
+ (__future_base::_State_base::wait_until()): Likewise.
+ (__basic_future::wait_for(), __basic_future::wait_until()): Likewise.
+ (__future_base::_Async_state): Replace with _Async_state_common
+ class for non-dependent functionality and _Async_state_impl class
+ template for dependent functionality.
+ (__future_base::_Async_state_common::_M_join): Serialize attempts to
+ join thread.
+ (__future_base::_Async_state_common::_M_run_deferred): Join.
+ (__future_base::_Async_state::_M_do_run): Replace with lambda.
+ * src/c++11/future.cc (__future_base::_Async_state_common): Define
+ destructor, so key function is in the library.
+ * config/abi/pre/gnu.ver: Add exports for ~_Async_state_common.
+ * testsuite/30_threads/packaged_task/members/get_future.cc: Expect
+ future_status return instead of bool.
+ * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
+ * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
+ * testsuite/30_threads/future/members/wait_until.cc: Likewise.
+ * testsuite/30_threads/future/members/wait_for.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
+ * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
+ * testsuite/30_threads/promise/members/swap.cc: Likewise.
+
+2012-01-30 Tom Tromey <tromey@redhat.com>
+
+ PR libstdc++/51649:
+ * testsuite/libstdc++-prettyprinters/debug.cc: New file.
+ * testsuite/lib/gdb-test.exp (regexp-test): New proc.
+ (note-test): Update.
+ (gdb-test): Handle regexp tests. Add some logging.
+ * testsuite/libstdc++-prettyprinters/simple.cc: Compile with -O0.
+ (placeholder, use): Remove.
+ (main): Add tests for deque, list, map, and set iterators. Add
+ tests for slist and slist iterator.
+ * testsuite/libstdc++-prettyprinters/48362.cc (main): Handle __7
+ namespace.
+ * python/libstdcxx/v6/printers.py (StdListPrinter.children): Use
+ the type's _Node typedef.
+ (StdListIteratorPrinter.to_string): Change how node type is
+ computed.
+ (StdSlistPrinter.children): Use the type's _Node typedef.
+ (StdSlistIteratorPrinter.to_string): Likewise.
+ (StdRbtreeIteratorPrinter.to_string): Use the type's _Link_type
+ typedef.
+ (StdMapPrinter.children): Change how the node's type is computed.
+ (StdSetPrinter.children): Likewise.
+ (StdForwardListPrinter.children): Use the type's _Node typedef.
+ (Printer.add_version): New method.
+ (Printer.add_container): New method.
+ (build_libstdcxx_dictionary): Handle __7 and __cxx1998
+ namespaces.
+ (find_type): New function.
+
+2012-01-27 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR libstdc++/51795
+ * include/bits/random.h (linear_congruential_generator): Add
+ static_assert preventing instantiation for values of 'a' and 'm'
+ currently handled incorrectly by _Mod::__calc.
+ * include/bits/random.tcc (seed_seq::generate): Avoid unsafe
+ uses of _Mod::__calc.
+
+2012-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR libstdc++/51798
+ * config/cpu/generic/atomicity_builtins/atomicity.h
+ (__exchange_and_add, __atomic_add): Use __atomic_fetch_add
+ with __ATOMIC_ACQ_REL semantics instead of __sync_fetch_and_add.
+ * include/ext/atomicity.h (__exchange_and_add, __atomic_add):
+ Likewise.
+
+2011-01-27 Rafael Avila de Espindola <rafael.espindola@gmail.com>
+
+ * libsupc++/typeinfo: Correctly match #pragma GCC visibility
+ pop with #pragma GCC visibility push.
+
+2012-01-27 Benjamin Kosnik <bkoz@redhat.com>
+ Matthias Klose <doko@ubuntu.com>
+
+ * configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Use -gdwarf-4 -g3 -O0.
+ * configure.in: Regenerated.
+ * src/Makefile.am (all-once, install-data-once): New rules.
+ (all-local, install-data-local): Use them.
+ (build-debug, install-debug): Tweak.
+ * src/Makefile.in: Regenerate.
+
+2012-01-27 Richard Henderson <rth@redhat.com>
+
+ * include/bits/atomic_base.h (__atomic_flag_base): Define _M_i
+ based on the value of __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
+ (ATOMIC_FLAG_INIT): Initialize with 0, not false.
+ (atomic_flag::atomic_flag): Use __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
+
+2012-01-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/51985
+ * src/c++98/Makefile.am (libc__98_la_SOURCES,
+ libc__98convenience_la_SOURCES): Remove $(inst_sources).
+ * src/c++98/Makefile.in: Regenerated.
+
+2012-01-25 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * testsuite/20_util/system_clock/1.cc: Add dg-require-time.
+ * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
+ * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Add
+ dg-require-fileio.
+ * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
+ * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
+ * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
+ * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc:
+ Likewise.
+ * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
+
+2012-01-25 Matthias Klose <doko@ubuntu.com>
+
+ * testsuite/30_threads/condition_variable_any/requirements: Remove
+ empty directory.
+
+2012-01-23 Benjamin Kosnik <bkoz@redhat.com>
+
+ * src/Makefile.am (libstdc++convenience.la): Correct stamp rule, copy.
+ * src/Makefile.in: Regenerate.
+
+2012-01-23 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/49829
+ Add libc++98convenience.la, libc++11convenience.la.
+ * src/c++98: New directory.
+ * src/c++11: New directory.
+ * acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11.
+ * configure: Regenerated.
+ * Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS.
+ * Makefile.in: Regenerate.
+ * libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for
+ -fno-implicit-templates.
+ * libsupc++/Makefile.in: Regenerate.
+ * src/Makefile.am (inst_sources): Move... C++11 files into
+ separate directory for libstdc++11convenience.la. Files are:
+ fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc).
+ (sources): Move C++11 files. Files are: compatibility-c++0x.cc,
+ compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc,
+ functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc,
+ system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc,
+ mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc.
+ (libstdc++convenience.la): Add new target.
+ (SUBDIRS): Add c++11, c++98.
+ * src/Makefile.in: Regenerate.
+ * src/c++11/Makefile.am: New.
+ * src/c++11/Makefile.in: Generate.
+ * src/c++98/Makefile.am: New, C++98 files.
+ * src/c++98/Makefile.in: Generate.
+
+2012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ libstdc++-v3:
+ * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail on
+ 32-bit Solaris 10/x86.
+ * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
+
+2012-01-21 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/50982
+ * testsuite/30_threads/*: Add powerpc-ibm-aix* to target selectors.
+
+2012-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR libstdc++/51845
+ * include/bits/hashtable.h
+ (_Hashtable<>::erase(const_iterator, const_iterator)): Also update
+ _M_buckets[__n_bkt] if __is_bucket_begin.
+ * testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc:
+ New test.
+
+2012-01-18 Benjamin Kosnik <bkoz@redhat.com>
+
+ * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): Fix quoting.
+
+2012-01-18 Benjamin Kosnik <bkoz@redhat.com>
+
+ * configure.ac: Move epub checks...
+ * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): ...here, use
+ test -f instead of AC_CHECK_FILES.
+
+2012-01-18 François Dumont <fdumont@gcc.gnu.org>
+ Roman Kononov <roman@binarylife.net>
+
+ PR libstdc++/51866
+ * include/bits/hashtable.h (_Hashtable<>::_M_insert(_Arg, false_type)):
+ Do not keep a reference to a potentially moved instance.
+ * testsuite/23_containers/unordered_multiset/insert/51866.cc: New.
+ * testsuite/23_containers/unordered_multimap/insert/51866.cc: New.
+
+2012-01-17 Benjamin Kosnik <bkoz@redhat.com>
+
+ * doc/html/*: Regenerate.
+
+2012-01-17 Benjamin Kosnik <bkoz@redhat.com>
+
+ * configure.ac (BUILD_EPUB): Adjust for epub3.
+ * configure: Regenerate.
+ * Makefile.in: Same.
+ * doc/Makefile.am (stamp-epub-docbook): Update for epub3.
+ * doc/Makefile.in: Regenerate.
+ * include/Makefile.in: Same.
+ * libsupc++/Makefile.in: Same.
+ * po/Makefile.in: Same.
+ * python/Makefile.in: Same.
+ * src/Makefile.in: Same.
+ * testsuite/Makefile.in: Same.
+
+ * doc/xml/manual/documentation_hacking.xml: Update.
+
+2012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/47852
+ * configure.host (irix6.5*): Add -lpthread to OPT_LDFLAGS.
+
+2012-01-14 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/bits/stl_iterator.h (reverse_iterator): Doxygen comments.
+
+2012-01-13 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/hashtable_policy.h (_Hash_node_base): New, use it as
+ base class of ...
+ (_Hash_node<Value, true>, _Hash_node<Value, false>): ... those.
+ * include/bits/hashtable.h (_Hashtable): Replace _M_begin_bucket_index
+ by _M_before_begin. Review implementation so that we do not need to
+ look for previous non-empty bucket when inserting nodes.
+
+2012-01-09 Kai Tietz <ktietz@redhat.com>
+
+ PR libstc++/51673 part 2
+ * config/abi/pre/gnu-versioned-namespace.ver: Adjusted new/delete
+ operators signature for LLP64 size_t, and adjusted signatures for
+ mt-allocator using size_t.
+
+2012-01-09 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstc++/51673 part 1
+ * config/abi/pre/gnu-versioned-namespace.ver: Sync cxxabi symbols
+ with gnu.ver.
+
+2012-01-09 Benjamin Kosnik <bkoz@redhat.com>
+
+ * fragment.am (WARN_CXXFLAGS): Add -Wabi.
+ * Makefile.in: Regenerate.
+ * doc/Makefile.in: Same.
+ * include/Makefile.in: Same.
+ * libsupc++/Makefile.in: Same.
+ * src/Makefile.in: Same.
+ * testsuite/Makefile.in: Same.
+ * po/Makefile.in: Same.
+ * python/Makefile.in: Same.
+
+2012-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * python/libstdcxx/v6/printers.py (StdForwardListPrinter): Add.
+ * testsuite/libstdc++-prettyprinters/cxx11.cc: New.
+
+2012-01-06 Jason Merrill <jason@redhat.com>
+
+ * testsuite/abi/demangle/regression/cw-16.cc (main): Adjust
+ expected demangling.
+
+2012-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/51504
+ * doc/xml/manual/debug.xml: Suggest using symbol interposition
+ to override symbols using annotation macros.
+
+2012-01-05 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/hashtable_policy.h (_Hashtable_base<>::_M_eq()):
+ protected rather than private, use it...
+ * include/bits/hashtable.h (_Hashtable<>::key_eq()): ... here.
+ * testsuite/23_containers/unordered_set/observers.cc: New.
+ * testsuite/23_containers/unordered_multiset/observers.cc: New.
+ * testsuite/23_containers/unordered_map/observers.cc: New.
+ * testsuite/23_containers/unordered_multimap/observers.cc: New.
+
+2012-01-03 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/bits/hashtable_policy.h (_Ebo_helper<>): Rename to the more
+ specific _Hashtable_ebo_helper. Hide this implementation detail thanks
+ to private inheritance.
+
+2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51738
+ * testsuite/23_containers/map/element_access/39901.cc: New.
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index 8b1ec0da917..35b4c44de9d 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -1342,6 +1342,9 @@ GLIBCXX_3.4.18 {
# std::this_thread::__sleep_for
_ZNSt11this_thread11__sleep_for*;
+ # std::bad_function_call::what()
+ _ZNKSt17bad_function_call4whatEv;
+
} GLIBCXX_3.4.17;
# Symbols in the support library (libsupc++) have their own tag.
diff --git a/libstdc++-v3/config/cpu/cris/atomicity.h b/libstdc++-v3/config/cpu/cris/atomicity.h
index 148a8b61c12..c2ab006c924 100644
--- a/libstdc++-v3/config/cpu/cris/atomicity.h
+++ b/libstdc++-v3/config/cpu/cris/atomicity.h
@@ -1,6 +1,7 @@
// Low-level functions for atomic operations: CRIS version -*- C++ -*-
-// Copyright (C) 2001, 2003, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2004, 2005, 2009, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h b/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h
index dc0a5a06595..32256886408 100644
--- a/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h
+++ b/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: Generic version -*- C++ -*-
-// Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010
+// Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/cpu/hppa/atomicity.h b/libstdc++-v3/config/cpu/hppa/atomicity.h
index a2ec4f2e97e..42006cbb085 100644
--- a/libstdc++-v3/config/cpu/hppa/atomicity.h
+++ b/libstdc++-v3/config/cpu/hppa/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: PA-RISC version -*- C++ -*-
-// Copyright (C) 2002, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2004, 2005, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/i386/atomicity.h b/libstdc++-v3/config/cpu/i386/atomicity.h
index 97205e42fe5..a7ec7a839c6 100644
--- a/libstdc++-v3/config/cpu/i386/atomicity.h
+++ b/libstdc++-v3/config/cpu/i386/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: x86, x >= 3 version -*- C++ -*-
-// Copyright (C) 2003, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004, 2005, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/i486/atomicity.h b/libstdc++-v3/config/cpu/i486/atomicity.h
index 602cbb7114b..c704ffdfe10 100644
--- a/libstdc++-v3/config/cpu/i486/atomicity.h
+++ b/libstdc++-v3/config/cpu/i486/atomicity.h
@@ -1,6 +1,7 @@
// Low-level functions for atomic operations: x86, x >= 4 version -*- C++ -*-
-// Copyright (C) 1999, 2000, 2001, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2000, 2001, 2004, 2005, 2009, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/ia64/atomic_word.h b/libstdc++-v3/config/cpu/ia64/atomic_word.h
index 9dfbf00ec96..7535f0b6a8f 100644
--- a/libstdc++-v3/config/cpu/ia64/atomic_word.h
+++ b/libstdc++-v3/config/cpu/ia64/atomic_word.h
@@ -1,6 +1,7 @@
// Low-level type for atomic operations -*- C++ -*-
-// Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/m68k/atomicity.h b/libstdc++-v3/config/cpu/m68k/atomicity.h
index 5711255844b..10d5089f7b3 100644
--- a/libstdc++-v3/config/cpu/m68k/atomicity.h
+++ b/libstdc++-v3/config/cpu/m68k/atomicity.h
@@ -1,6 +1,7 @@
// Low-level functions for atomic operations: m68k version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/cpu/sh/atomicity.h b/libstdc++-v3/config/cpu/sh/atomicity.h
index ece63ce2a48..a624bacf18b 100644
--- a/libstdc++-v3/config/cpu/sh/atomicity.h
+++ b/libstdc++-v3/config/cpu/sh/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: sh version -*- C++ -*-
-// Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2009
+// Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/cpu/sparc/atomicity.h b/libstdc++-v3/config/cpu/sparc/atomicity.h
index c032e540e35..d27de1f70b2 100644
--- a/libstdc++-v3/config/cpu/sparc/atomicity.h
+++ b/libstdc++-v3/config/cpu/sparc/atomicity.h
@@ -1,6 +1,6 @@
// Low-level functions for atomic operations: Sparc version -*- C++ -*-
-// Copyright (C) 1999, 2000, 2001, 2002, 2004, 2005, 2009
+// Copyright (C) 1999, 2000, 2001, 2002, 2004, 2005, 2009, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/io/basic_file_stdio.h b/libstdc++-v3/config/io/basic_file_stdio.h
index f543a8976d7..8e806358b16 100644
--- a/libstdc++-v3/config/io/basic_file_stdio.h
+++ b/libstdc++-v3/config/io/basic_file_stdio.h
@@ -1,7 +1,7 @@
// Wrapper of C-language FILE struct -*- C++ -*-
-// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
+// 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/io/c_io_stdio.h b/libstdc++-v3/config/io/c_io_stdio.h
index 0843df78d59..2b0b56b8994 100644
--- a/libstdc++-v3/config/io/c_io_stdio.h
+++ b/libstdc++-v3/config/io/c_io_stdio.h
@@ -1,6 +1,6 @@
// Underlying io library details -*- C++ -*-
-// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/locale/darwin/ctype_members.cc b/libstdc++-v3/config/locale/darwin/ctype_members.cc
index 4b42bc2c00e..997fc19f404 100644
--- a/libstdc++-v3/config/locale/darwin/ctype_members.cc
+++ b/libstdc++-v3/config/locale/darwin/ctype_members.cc
@@ -1,7 +1,7 @@
// std::ctype implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/c_locale.cc b/libstdc++-v3/config/locale/generic/c_locale.cc
index fb9b425daab..11557e8ff2f 100644
--- a/libstdc++-v3/config/locale/generic/c_locale.cc
+++ b/libstdc++-v3/config/locale/generic/c_locale.cc
@@ -1,7 +1,7 @@
// Wrapper for underlying C-language localization -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/c_locale.h b/libstdc++-v3/config/locale/generic/c_locale.h
index 2c7600047e2..8b5e62f7fc1 100644
--- a/libstdc++-v3/config/locale/generic/c_locale.h
+++ b/libstdc++-v3/config/locale/generic/c_locale.h
@@ -1,6 +1,6 @@
// Wrapper for underlying C-language localization -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/locale/generic/codecvt_members.cc b/libstdc++-v3/config/locale/generic/codecvt_members.cc
index f0de79e7923..a435cfd99b5 100644
--- a/libstdc++-v3/config/locale/generic/codecvt_members.cc
+++ b/libstdc++-v3/config/locale/generic/codecvt_members.cc
@@ -1,6 +1,6 @@
// std::codecvt implementation details, generic version -*- C++ -*-
-// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
+// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/locale/generic/collate_members.cc b/libstdc++-v3/config/locale/generic/collate_members.cc
index da12ccd138f..9864eaa0c12 100644
--- a/libstdc++-v3/config/locale/generic/collate_members.cc
+++ b/libstdc++-v3/config/locale/generic/collate_members.cc
@@ -1,6 +1,6 @@
// std::collate implementation details, generic version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/locale/generic/ctype_members.cc b/libstdc++-v3/config/locale/generic/ctype_members.cc
index e6ced397309..b2452e52c0d 100644
--- a/libstdc++-v3/config/locale/generic/ctype_members.cc
+++ b/libstdc++-v3/config/locale/generic/ctype_members.cc
@@ -1,7 +1,7 @@
// std::ctype implementation details, generic version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/messages_members.cc b/libstdc++-v3/config/locale/generic/messages_members.cc
index b8610ddb3b7..73368573e78 100644
--- a/libstdc++-v3/config/locale/generic/messages_members.cc
+++ b/libstdc++-v3/config/locale/generic/messages_members.cc
@@ -1,6 +1,6 @@
// std::messages implementation details, generic version -*- C++ -*-
-// Copyright (C) 2001, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2005, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/messages_members.h b/libstdc++-v3/config/locale/generic/messages_members.h
index f66d4be3b13..db89e25d095 100644
--- a/libstdc++-v3/config/locale/generic/messages_members.h
+++ b/libstdc++-v3/config/locale/generic/messages_members.h
@@ -1,6 +1,6 @@
// std::messages implementation details, generic version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/locale/generic/monetary_members.cc b/libstdc++-v3/config/locale/generic/monetary_members.cc
index 91f014fee83..9453cd3e7fc 100644
--- a/libstdc++-v3/config/locale/generic/monetary_members.cc
+++ b/libstdc++-v3/config/locale/generic/monetary_members.cc
@@ -1,6 +1,6 @@
// std::moneypunct implementation details, generic version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/locale/generic/numeric_members.cc b/libstdc++-v3/config/locale/generic/numeric_members.cc
index d7d6647d57e..f946cb8a6af 100644
--- a/libstdc++-v3/config/locale/generic/numeric_members.cc
+++ b/libstdc++-v3/config/locale/generic/numeric_members.cc
@@ -1,6 +1,7 @@
// std::numpunct implementation details, generic version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/generic/time_members.cc b/libstdc++-v3/config/locale/generic/time_members.cc
index 30310752b24..b6ec19eac62 100644
--- a/libstdc++-v3/config/locale/generic/time_members.cc
+++ b/libstdc++-v3/config/locale/generic/time_members.cc
@@ -1,6 +1,6 @@
// std::time_get, std::time_put implementation, generic version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/locale/generic/time_members.h b/libstdc++-v3/config/locale/generic/time_members.h
index ff26bef230d..c00423cc5d6 100644
--- a/libstdc++-v3/config/locale/generic/time_members.h
+++ b/libstdc++-v3/config/locale/generic/time_members.h
@@ -1,7 +1,7 @@
// std::time_get, std::time_put implementation, generic version -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-// 2009, 2010
+// 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/locale/gnu/c_locale.cc b/libstdc++-v3/config/locale/gnu/c_locale.cc
index adfeb621977..d9531cbf9a6 100644
--- a/libstdc++-v3/config/locale/gnu/c_locale.cc
+++ b/libstdc++-v3/config/locale/gnu/c_locale.cc
@@ -1,7 +1,7 @@
// Wrapper for underlying C-language localization -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/gnu/c_locale.h b/libstdc++-v3/config/locale/gnu/c_locale.h
index eb0d6714e1e..c3cec698131 100644
--- a/libstdc++-v3/config/locale/gnu/c_locale.h
+++ b/libstdc++-v3/config/locale/gnu/c_locale.h
@@ -1,6 +1,6 @@
// Wrapper for underlying C-language localization -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/locale/gnu/codecvt_members.cc b/libstdc++-v3/config/locale/gnu/codecvt_members.cc
index a1029f09a72..344d8df3cc1 100644
--- a/libstdc++-v3/config/locale/gnu/codecvt_members.cc
+++ b/libstdc++-v3/config/locale/gnu/codecvt_members.cc
@@ -1,6 +1,6 @@
// std::codecvt implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
+// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/locale/gnu/collate_members.cc b/libstdc++-v3/config/locale/gnu/collate_members.cc
index 00056ad5a48..12ffa315ebf 100644
--- a/libstdc++-v3/config/locale/gnu/collate_members.cc
+++ b/libstdc++-v3/config/locale/gnu/collate_members.cc
@@ -1,6 +1,7 @@
// std::collate implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2005, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2005, 2009, 2010, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/gnu/ctype_members.cc b/libstdc++-v3/config/locale/gnu/ctype_members.cc
index 8a478e97aae..565552ecf88 100644
--- a/libstdc++-v3/config/locale/gnu/ctype_members.cc
+++ b/libstdc++-v3/config/locale/gnu/ctype_members.cc
@@ -1,7 +1,7 @@
// std::ctype implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/gnu/messages_members.cc b/libstdc++-v3/config/locale/gnu/messages_members.cc
index 4154e893811..490092b6edf 100644
--- a/libstdc++-v3/config/locale/gnu/messages_members.cc
+++ b/libstdc++-v3/config/locale/gnu/messages_members.cc
@@ -1,6 +1,7 @@
// std::messages implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2005, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2005, 2009, 2010, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/gnu/messages_members.h b/libstdc++-v3/config/locale/gnu/messages_members.h
index f81a19fc8a7..ef93e39b060 100644
--- a/libstdc++-v3/config/locale/gnu/messages_members.h
+++ b/libstdc++-v3/config/locale/gnu/messages_members.h
@@ -1,6 +1,6 @@
// std::messages implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/locale/gnu/numeric_members.cc b/libstdc++-v3/config/locale/gnu/numeric_members.cc
index 934511acb02..4f7d59ec124 100644
--- a/libstdc++-v3/config/locale/gnu/numeric_members.cc
+++ b/libstdc++-v3/config/locale/gnu/numeric_members.cc
@@ -1,6 +1,6 @@
// std::numpunct implementation details, GNU version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/locale/gnu/time_members.cc b/libstdc++-v3/config/locale/gnu/time_members.cc
index 19747460508..de6167c042a 100644
--- a/libstdc++-v3/config/locale/gnu/time_members.cc
+++ b/libstdc++-v3/config/locale/gnu/time_members.cc
@@ -1,6 +1,6 @@
// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/locale/gnu/time_members.h b/libstdc++-v3/config/locale/gnu/time_members.h
index 3d8e0e91bcb..9ccf765bb7c 100644
--- a/libstdc++-v3/config/locale/gnu/time_members.h
+++ b/libstdc++-v3/config/locale/gnu/time_members.h
@@ -1,7 +1,7 @@
// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-// 2009, 2010
+// 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc b/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc
index 13af608d9ed..2a7f702e64c 100644
--- a/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc
+++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc
@@ -1,6 +1,6 @@
// Wrapper for underlying C-language localization -*- C++ -*-
-// Copyright (C) 2001, 2002, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h b/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h
index 027a52d93db..347805c411d 100644
--- a/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h
+++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h
@@ -1,6 +1,7 @@
// Wrapper for underlying C-language localization -*- C++ -*-
-// Copyright (C) 2001, 2002, 2005, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2005, 2009, 2010, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc b/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc
index 2b4ab2e49e6..0a671f27cb7 100644
--- a/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc
+++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc
@@ -1,6 +1,6 @@
// std::messages implementation details, IEEE 1003.1-200x version -*- C++ -*-
-// Copyright (C) 2001, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h b/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h
index 8c658ab8672..08f3f1d8e31 100644
--- a/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h
+++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h
@@ -1,6 +1,6 @@
// std::messages implementation details, IEEE 1003.1-200x version -*- C++ -*-
-// Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/aix/atomicity.h b/libstdc++-v3/config/os/aix/atomicity.h
index 1bd51f1c041..b5602d8f186 100644
--- a/libstdc++-v3/config/os/aix/atomicity.h
+++ b/libstdc++-v3/config/os/aix/atomicity.h
@@ -1,6 +1,7 @@
// Low-level functions for atomic operations: AIX version -*- C++ -*-
-// Copyright (C) 2000, 2001, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2001, 2004, 2005, 2009, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/aix/ctype_base.h b/libstdc++-v3/config/os/aix/ctype_base.h
index 865105aecc1..96059ede2bc 100644
--- a/libstdc++-v3/config/os/aix/ctype_base.h
+++ b/libstdc++-v3/config/os/aix/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1999, 2000, 2003, 2009 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2000, 2003, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bionic/ctype_base.h b/libstdc++-v3/config/os/bionic/ctype_base.h
index 926b2337455..01eef17f43b 100644
--- a/libstdc++-v3/config/os/bionic/ctype_base.h
+++ b/libstdc++-v3/config/os/bionic/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bionic/ctype_inline.h b/libstdc++-v3/config/os/bionic/ctype_inline.h
index e7b8d5c8305..d8d8cc23a40 100644
--- a/libstdc++-v3/config/os/bionic/ctype_inline.h
+++ b/libstdc++-v3/config/os/bionic/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/darwin/ctype_base.h b/libstdc++-v3/config/os/bsd/darwin/ctype_base.h
index 36f71e06508..eca931aa185 100644
--- a/libstdc++-v3/config/os/bsd/darwin/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/darwin/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000, 2003, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2003, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h b/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
index aa3a83ecfaa..f678564c341 100644
--- a/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000, 2003, 2004, 2009, 2010
+// Copyright (C) 2000, 2003, 2004, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/os/bsd/darwin/os_defines.h b/libstdc++-v3/config/os/bsd/darwin/os_defines.h
index be4aa149e21..6639a5d9912 100644
--- a/libstdc++-v3/config/os/bsd/darwin/os_defines.h
+++ b/libstdc++-v3/config/os/bsd/darwin/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for Darwin -*- C++ -*-
-// Copyright (C) 2004, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h b/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
index 5d01ad6af84..ce5afc6132e 100644
--- a/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000, 2003, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2003, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h b/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
index de10c3fbcb8..5407e5241f8 100644
--- a/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000, 2003, 2004, 2005, 2009, 2010
+// Copyright (C) 2000, 2003, 2004, 2005, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h b/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
index a08d4314f30..01637b3168e 100644
--- a/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/openbsd/ctype_configure_char.cc b/libstdc++-v3/config/os/bsd/openbsd/ctype_configure_char.cc
index 72e91239a2b..22bfc3fca98 100644
--- a/libstdc++-v3/config/os/bsd/openbsd/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/bsd/openbsd/ctype_configure_char.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2011 Free Software Foundation, Inc.
+// Copyright (C) 2011, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/bsd/openbsd/ctype_inline.h b/libstdc++-v3/config/os/bsd/openbsd/ctype_inline.h
index e7b8d5c8305..a858a19f6e8 100644
--- a/libstdc++-v3/config/os/bsd/openbsd/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/openbsd/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/djgpp/ctype_base.h b/libstdc++-v3/config/os/djgpp/ctype_base.h
index aa156f8dd39..26ad9af1d9c 100644
--- a/libstdc++-v3/config/os/djgpp/ctype_base.h
+++ b/libstdc++-v3/config/os/djgpp/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2001, 2003, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/djgpp/ctype_inline.h b/libstdc++-v3/config/os/djgpp/ctype_inline.h
index 217bbf8758a..1395ef99e54 100644
--- a/libstdc++-v3/config/os/djgpp/ctype_inline.h
+++ b/libstdc++-v3/config/os/djgpp/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/os/djgpp/error_constants.h b/libstdc++-v3/config/os/djgpp/error_constants.h
index 4e87208d831..09569081299 100644
--- a/libstdc++-v3/config/os/djgpp/error_constants.h
+++ b/libstdc++-v3/config/os/djgpp/error_constants.h
@@ -1,6 +1,6 @@
// Specific definitions for DJGPP platform -*- C++ -*-
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/generic/ctype_base.h b/libstdc++-v3/config/os/generic/ctype_base.h
index 72aa6f2ccb0..3006edce415 100644
--- a/libstdc++-v3/config/os/generic/ctype_base.h
+++ b/libstdc++-v3/config/os/generic/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2003, 2009, 2010
+// Copyright (C) 1997, 1998, 1999, 2003, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/os/generic/ctype_inline.h b/libstdc++-v3/config/os/generic/ctype_inline.h
index ae54f2968be..7c18cd794da 100644
--- a/libstdc++-v3/config/os/generic/ctype_inline.h
+++ b/libstdc++-v3/config/os/generic/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000, 2003, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2003, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/generic/error_constants.h b/libstdc++-v3/config/os/generic/error_constants.h
index 88ea56506c2..b5ba110b87a 100644
--- a/libstdc++-v3/config/os/generic/error_constants.h
+++ b/libstdc++-v3/config/os/generic/error_constants.h
@@ -1,6 +1,6 @@
// Specific definitions for generic platforms -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_base.h b/libstdc++-v3/config/os/gnu-linux/ctype_base.h
index eb2b14c58d3..dd0d4a5061b 100644
--- a/libstdc++-v3/config/os/gnu-linux/ctype_base.h
+++ b/libstdc++-v3/config/os/gnu-linux/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2009, 2010
+// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_inline.h b/libstdc++-v3/config/os/gnu-linux/ctype_inline.h
index 7e83a9e75d2..b6d5e211a2c 100644
--- a/libstdc++-v3/config/os/gnu-linux/ctype_inline.h
+++ b/libstdc++-v3/config/os/gnu-linux/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000, 2002, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/hpux/ctype_base.h b/libstdc++-v3/config/os/hpux/ctype_base.h
index 8e2114f1f43..546f23f86f7 100644
--- a/libstdc++-v3/config/os/hpux/ctype_base.h
+++ b/libstdc++-v3/config/os/hpux/ctype_base.h
@@ -1,6 +1,7 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2000, 2003, 2009 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2000, 2003, 2009, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/hpux/ctype_inline.h b/libstdc++-v3/config/os/hpux/ctype_inline.h
index d6b8df48461..20a3eddf85a 100644
--- a/libstdc++-v3/config/os/hpux/ctype_inline.h
+++ b/libstdc++-v3/config/os/hpux/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000, 2002, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/mingw32-w64/ctype_base.h b/libstdc++-v3/config/os/mingw32-w64/ctype_base.h
index 5fbdff8e7f0..0099f2af146 100644
--- a/libstdc++-v3/config/os/mingw32-w64/ctype_base.h
+++ b/libstdc++-v3/config/os/mingw32-w64/ctype_base.h
@@ -1,6 +1,7 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2007, 2009, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/mingw32-w64/ctype_inline.h b/libstdc++-v3/config/os/mingw32-w64/ctype_inline.h
index f1b9f6c6617..bd70fab9225 100644
--- a/libstdc++-v3/config/os/mingw32-w64/ctype_inline.h
+++ b/libstdc++-v3/config/os/mingw32-w64/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/mingw32/ctype_base.h b/libstdc++-v3/config/os/mingw32/ctype_base.h
index 5fbdff8e7f0..0099f2af146 100644
--- a/libstdc++-v3/config/os/mingw32/ctype_base.h
+++ b/libstdc++-v3/config/os/mingw32/ctype_base.h
@@ -1,6 +1,7 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2007, 2009, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/mingw32/ctype_inline.h b/libstdc++-v3/config/os/mingw32/ctype_inline.h
index f1b9f6c6617..a32a3c29fa5 100644
--- a/libstdc++-v3/config/os/mingw32/ctype_inline.h
+++ b/libstdc++-v3/config/os/mingw32/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2009, 2010,2 011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/newlib/ctype_base.h b/libstdc++-v3/config/os/newlib/ctype_base.h
index 4dd150292df..1c8d03bb003 100644
--- a/libstdc++-v3/config/os/newlib/ctype_base.h
+++ b/libstdc++-v3/config/os/newlib/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/newlib/ctype_inline.h b/libstdc++-v3/config/os/newlib/ctype_inline.h
index 18726dbbd16..6ef5f4cda9e 100644
--- a/libstdc++-v3/config/os/newlib/ctype_inline.h
+++ b/libstdc++-v3/config/os/newlib/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000, 2002, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h
index 36aa073435a..84801a6537f 100644
--- a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h
+++ b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2002, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h
index b38bc827c6d..1ebdea36d5e 100644
--- a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h
+++ b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2002, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/tpf/ctype_base.h b/libstdc++-v3/config/os/tpf/ctype_base.h
index 1c1d37ebce2..4172f817f4d 100644
--- a/libstdc++-v3/config/os/tpf/ctype_base.h
+++ b/libstdc++-v3/config/os/tpf/ctype_base.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2004, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/tpf/ctype_inline.h b/libstdc++-v3/config/os/tpf/ctype_inline.h
index 1785f8cd919..7441d5fc83f 100644
--- a/libstdc++-v3/config/os/tpf/ctype_inline.h
+++ b/libstdc++-v3/config/os/tpf/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2004, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/uclibc/ctype_base.h b/libstdc++-v3/config/os/uclibc/ctype_base.h
index d6a742b7340..66ceeb456d0 100644
--- a/libstdc++-v3/config/os/uclibc/ctype_base.h
+++ b/libstdc++-v3/config/os/uclibc/ctype_base.h
@@ -1,7 +1,7 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2006, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2006, 2009, 2010,
+// 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/uclibc/ctype_inline.h b/libstdc++-v3/config/os/uclibc/ctype_inline.h
index 0f640696009..758158a12c2 100644
--- a/libstdc++-v3/config/os/uclibc/ctype_inline.h
+++ b/libstdc++-v3/config/os/uclibc/ctype_inline.h
@@ -1,6 +1,7 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000, 2002, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002, 2006, 2009, 2010, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/vxworks/ctype_base.h b/libstdc++-v3/config/os/vxworks/ctype_base.h
index f1f92ae4350..1af91e849fa 100644
--- a/libstdc++-v3/config/os/vxworks/ctype_base.h
+++ b/libstdc++-v3/config/os/vxworks/ctype_base.h
@@ -1,6 +1,7 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2003, 2009 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2003, 2009, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/vxworks/ctype_inline.h b/libstdc++-v3/config/os/vxworks/ctype_inline.h
index 49092083cc3..274f6d02135 100644
--- a/libstdc++-v3/config/os/vxworks/ctype_inline.h
+++ b/libstdc++-v3/config/os/vxworks/ctype_inline.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 2000, 2003, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2003, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/config/os/vxworks/os_defines.h b/libstdc++-v3/config/os/vxworks/os_defines.h
index 93ad1d4b01f..3d82d2b0e2c 100644
--- a/libstdc++-v3/config/os/vxworks/os_defines.h
+++ b/libstdc++-v3/config/os/vxworks/os_defines.h
@@ -1,6 +1,6 @@
// Specific definitions for VxWorks -*- C++ -*-
-// Copyright (C) 2000, 2003, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2003, 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/doc/xml/manual/abi.xml b/libstdc++-v3/doc/xml/manual/abi.xml
index 9d7395edea5..6cf79a11938 100644
--- a/libstdc++-v3/doc/xml/manual/abi.xml
+++ b/libstdc++-v3/doc/xml/manual/abi.xml
@@ -259,6 +259,8 @@ compatible.
<listitem><para>GCC 4.5.0: libstdc++.so.6.0.14</para></listitem>
<listitem><para>GCC 4.6.0: libstdc++.so.6.0.15</para></listitem>
<listitem><para>GCC 4.6.1: libstdc++.so.6.0.16</para></listitem>
+ <listitem><para>GCC 4.7.0: libstdc++.so.6.0.17</para></listitem>
+ <listitem><para>GCC 4.8.0: libstdc++.so.6.0.18</para></listitem>
</itemizedlist>
<para>
Note 1: Error should be libstdc++.so.3.0.3.
@@ -320,6 +322,8 @@ compatible.
<listitem><para>GCC 4.5.0: GLIBCXX_3.4.14, CXXABI_1.3.4</para></listitem>
<listitem><para>GCC 4.6.0: GLIBCXX_3.4.15, CXXABI_1.3.5</para></listitem>
<listitem><para>GCC 4.6.1: GLIBCXX_3.4.16, CXXABI_1.3.5</para></listitem>
+ <listitem><para>GCC 4.7.0: GLIBCXX_3.4.17, CXXABI_1.3.6</para></listitem>
+ <listitem><para>GCC 4.8.0: GLIBCXX_3.4.18, CXXABI_1.3.7</para></listitem>
</itemizedlist>
</listitem>
@@ -437,13 +441,19 @@ compatible.
<listitem><para>GCC 4.4.4: 20100429</para></listitem>
<listitem><para>GCC 4.4.5: 20101001</para></listitem>
<listitem><para>GCC 4.4.6: 20110416</para></listitem>
+ <listitem><para>GCC 4.4.7: 20120313</para></listitem>
<listitem><para>GCC 4.5.0: 20100414</para></listitem>
<listitem><para>GCC 4.5.1: 20100731</para></listitem>
<listitem><para>GCC 4.5.2: 20101216</para></listitem>
<listitem><para>GCC 4.5.3: 20110428</para></listitem>
+ <listitem><para>GCC 4.5.4: 20120702</para></listitem>
<listitem><para>GCC 4.6.0: 20110325</para></listitem>
<listitem><para>GCC 4.6.1: 20110627</para></listitem>
<listitem><para>GCC 4.6.2: 20111026</para></listitem>
+ <listitem><para>GCC 4.6.3: 20120301</para></listitem>
+ <listitem><para>GCC 4.7.0: 20120322</para></listitem>
+ <listitem><para>GCC 4.7.1: 20120614</para></listitem>
+ <listitem><para>GCC 4.7.2: 20120920</para></listitem>
</itemizedlist>
<para/>
</listitem>
diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml
index 0164b0b756d..c0780de74e5 100644
--- a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml
+++ b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml
@@ -2635,6 +2635,15 @@ particular release.
</para>
<para>
+ <emphasis>23.5.4.2 [unord.map.cnstr]</emphasis>,
+ <emphasis>23.5.5.2 [unord.multimap.cnstr]</emphasis>,
+ <emphasis>23.5.6.2 [unord.set.cnstr]</emphasis>,
+ <emphasis>23.5.7.2 [unord.multiset.cnstr]</emphasis>
+ The default bucket count is 10 for the default constructors
+ and 0 for the range constructors and initializer-list constructors.
+ </para>
+
+ <para>
<emphasis>30.2.3 [thread.req.native]/1</emphasis>
<classname>native_handle_type</classname> and
<methodname>native_handle</methodname> are provided. The handle types
diff --git a/libstdc++-v3/include/backward/hash_fun.h b/libstdc++-v3/include/backward/hash_fun.h
index a76eb730101..6d4c6490ef9 100644
--- a/libstdc++-v3/include/backward/hash_fun.h
+++ b/libstdc++-v3/include/backward/hash_fun.h
@@ -1,6 +1,6 @@
// 'struct hash' from SGI -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/backward/hash_map b/libstdc++-v3/include/backward/hash_map
index 24c439e0476..b5f29db9053 100644
--- a/libstdc++-v3/include/backward/hash_map
+++ b/libstdc++-v3/include/backward/hash_map
@@ -1,6 +1,6 @@
// Hashing map implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2004, 2005, 2006, 2009, 2010
+// Copyright (C) 2001, 2002, 2004, 2005, 2006, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/backward/hash_set b/libstdc++-v3/include/backward/hash_set
index f110fec68f3..a871757d827 100644
--- a/libstdc++-v3/include/backward/hash_set
+++ b/libstdc++-v3/include/backward/hash_set
@@ -1,6 +1,6 @@
// Hashing set implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2004, 2005, 2006, 2009, 2010
+// Copyright (C) 2001, 2002, 2004, 2005, 2006, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/backward/hashtable.h b/libstdc++-v3/include/backward/hashtable.h
index dbba097d130..e627c14bb2e 100644
--- a/libstdc++-v3/include/backward/hashtable.h
+++ b/libstdc++-v3/include/backward/hashtable.h
@@ -1,7 +1,7 @@
// Hashtable implementation used by containers -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+// 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/boost_concept_check.h b/libstdc++-v3/include/bits/boost_concept_check.h
index f1bc16abc38..52c83162312 100644
--- a/libstdc++-v3/include/bits/boost_concept_check.h
+++ b/libstdc++-v3/include/bits/boost_concept_check.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010
+// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/bits/concept_check.h b/libstdc++-v3/include/bits/concept_check.h
index 3d74284e8cf..d3ba1fbd69f 100644
--- a/libstdc++-v3/include/bits/concept_check.h
+++ b/libstdc++-v3/include/bits/concept_check.h
@@ -1,6 +1,6 @@
// Concept-checking control -*- C++ -*-
-// Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/gslice_array.h b/libstdc++-v3/include/bits/gslice_array.h
index 1ae047df2cc..070be800ab9 100644
--- a/libstdc++-v3/include/bits/gslice_array.h
+++ b/libstdc++-v3/include/bits/gslice_array.h
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- gslice_array class.
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004, 2005, 2009, 2010
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004, 2005, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/bits/indirect_array.h b/libstdc++-v3/include/bits/indirect_array.h
index d7b7b08271c..680efd75f98 100644
--- a/libstdc++-v3/include/bits/indirect_array.h
+++ b/libstdc++-v3/include/bits/indirect_array.h
@@ -1,7 +1,7 @@
// The template and inlines for the -*- C++ -*- indirect_array class.
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2009, 2010,
+// 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/ios_base.h b/libstdc++-v3/include/bits/ios_base.h
index ace307cba53..ea31f5ab5b3 100644
--- a/libstdc++-v3/include/bits/ios_base.h
+++ b/libstdc++-v3/include/bits/ios_base.h
@@ -1,7 +1,7 @@
// Iostreams base classes -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010
+// 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/bits/localefwd.h b/libstdc++-v3/include/bits/localefwd.h
index 38e7dd31426..a2275578c8a 100644
--- a/libstdc++-v3/include/bits/localefwd.h
+++ b/libstdc++-v3/include/bits/localefwd.h
@@ -1,7 +1,7 @@
// Locale support -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2009, 2010
+// 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/bits/mask_array.h b/libstdc++-v3/include/bits/mask_array.h
index 8b652a83872..5aafce8d2a3 100644
--- a/libstdc++-v3/include/bits/mask_array.h
+++ b/libstdc++-v3/include/bits/mask_array.h
@@ -1,7 +1,7 @@
// The template and inlines for the -*- C++ -*- mask_array class.
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2009, 2010,
+// 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_raw_storage_iter.h b/libstdc++-v3/include/bits/stl_raw_storage_iter.h
index 87c9a660b94..302cd43d783 100644
--- a/libstdc++-v3/include/bits/stl_raw_storage_iter.h
+++ b/libstdc++-v3/include/bits/stl_raw_storage_iter.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/bits/stream_iterator.h b/libstdc++-v3/include/bits/stream_iterator.h
index 60949a8b37c..39f2724b5f1 100644
--- a/libstdc++-v3/include/bits/stream_iterator.h
+++ b/libstdc++-v3/include/bits/stream_iterator.h
@@ -1,6 +1,7 @@
// Stream iterators
-// Copyright (C) 2001, 2004, 2005, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004, 2005, 2009, 2010, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/unordered_map.h b/libstdc++-v3/include/bits/unordered_map.h
index e2b83db3700..9fa0553f211 100644
--- a/libstdc++-v3/include/bits/unordered_map.h
+++ b/libstdc++-v3/include/bits/unordered_map.h
@@ -1,6 +1,6 @@
// unordered_map implementation -*- C++ -*-
-// Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
+// Copyright (C) 2010-2013 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -167,7 +167,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
/// Copy constructor.
unordered_map(const unordered_map&) = default;
- /// Move constrcutor.
+ /// Move constructor.
unordered_map(unordered_map&&) = default;
/**
@@ -848,7 +848,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
/// Copy constructor.
unordered_multimap(const unordered_multimap&) = default;
- /// Move constrcutor.
+ /// Move constructor.
unordered_multimap(unordered_multimap&&) = default;
/**
diff --git a/libstdc++-v3/include/bits/valarray_after.h b/libstdc++-v3/include/bits/valarray_after.h
index 6440fae43d9..2abd9795b74 100644
--- a/libstdc++-v3/include/bits/valarray_after.h
+++ b/libstdc++-v3/include/bits/valarray_after.h
@@ -1,7 +1,7 @@
// The template and inlines for the -*- C++ -*- internal _Meta class.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/valarray_array.tcc b/libstdc++-v3/include/bits/valarray_array.tcc
index 7720707656c..774d0ff8182 100644
--- a/libstdc++-v3/include/bits/valarray_array.tcc
+++ b/libstdc++-v3/include/bits/valarray_array.tcc
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- internal _Array helper class.
-// Copyright (C) 1997, 1998, 1999, 2003, 2005, 2009, 2010
+// Copyright (C) 1997, 1998, 1999, 2003, 2005, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/bits/valarray_before.h b/libstdc++-v3/include/bits/valarray_before.h
index 0755f768b78..88a2c96d955 100644
--- a/libstdc++-v3/include/bits/valarray_before.h
+++ b/libstdc++-v3/include/bits/valarray_before.h
@@ -1,7 +1,7 @@
// The template and inlines for the -*- C++ -*- internal _Meta class.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/cmath b/libstdc++-v3/include/c/cmath
index 1e9ade9f0ad..cf0eee89a5f 100644
--- a/libstdc++-v3/include/c/cmath
+++ b/libstdc++-v3/include/c/cmath
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000, 2002, 2003, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002, 2003, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c/cwchar b/libstdc++-v3/include/c/cwchar
index 2324b5b9689..18e3eb5bd2b 100644
--- a/libstdc++-v3/include/c/cwchar
+++ b/libstdc++-v3/include/c/cwchar
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000, 2002, 2003, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002, 2003, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/complex.h b/libstdc++-v3/include/c_compatibility/complex.h
index a4452368030..f5e0760e645 100644
--- a/libstdc++-v3/include/c_compatibility/complex.h
+++ b/libstdc++-v3/include/c_compatibility/complex.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/stdbool.h b/libstdc++-v3/include/c_compatibility/stdbool.h
index f7a5b4cf70d..8e7511ba2d1 100644
--- a/libstdc++-v3/include/c_compatibility/stdbool.h
+++ b/libstdc++-v3/include/c_compatibility/stdbool.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_compatibility/tgmath.h b/libstdc++-v3/include/c_compatibility/tgmath.h
index 10330f58205..78c53ac9d8b 100644
--- a/libstdc++-v3/include/c_compatibility/tgmath.h
+++ b/libstdc++-v3/include/c_compatibility/tgmath.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/clocale b/libstdc++-v3/include/c_global/clocale
index 3f16bffe666..4d914f2733d 100644
--- a/libstdc++-v3/include/c_global/clocale
+++ b/libstdc++-v3/include/c_global/clocale
@@ -1,7 +1,7 @@
// -*- C++ -*- forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010
+// 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/c_global/csetjmp b/libstdc++-v3/include/c_global/csetjmp
index 2832801e4dc..41126de2882 100644
--- a/libstdc++-v3/include/c_global/csetjmp
+++ b/libstdc++-v3/include/c_global/csetjmp
@@ -1,7 +1,7 @@
// -*- C++ -*- forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010
+// 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/c_global/csignal b/libstdc++-v3/include/c_global/csignal
index 98f0d665267..56446c15d10 100644
--- a/libstdc++-v3/include/c_global/csignal
+++ b/libstdc++-v3/include/c_global/csignal
@@ -1,7 +1,7 @@
// -*- C++ -*- forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010
+// 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/c_global/cstdarg b/libstdc++-v3/include/c_global/cstdarg
index fb27389bc30..1d51c0bc3f6 100644
--- a/libstdc++-v3/include/c_global/cstdarg
+++ b/libstdc++-v3/include/c_global/cstdarg
@@ -1,7 +1,7 @@
// -*- C++ -*- forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010
+// 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/c_global/cstdbool b/libstdc++-v3/include/c_global/cstdbool
index fbc03f81276..fe928ece453 100644
--- a/libstdc++-v3/include/c_global/cstdbool
+++ b/libstdc++-v3/include/c_global/cstdbool
@@ -1,6 +1,6 @@
// <cstdbool> -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/cstring b/libstdc++-v3/include/c_global/cstring
index ea33fa12260..8e96fd5aee8 100644
--- a/libstdc++-v3/include/c_global/cstring
+++ b/libstdc++-v3/include/c_global/cstring
@@ -1,7 +1,7 @@
// -*- C++ -*- forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010
+// 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/c_global/ctgmath b/libstdc++-v3/include/c_global/ctgmath
index 13eee2a4200..0741edbe223 100644
--- a/libstdc++-v3/include/c_global/ctgmath
+++ b/libstdc++-v3/include/c_global/ctgmath
@@ -1,6 +1,6 @@
// <ctgmath> -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_global/ctime b/libstdc++-v3/include/c_global/ctime
index 085e792c8f0..f6e76558e8b 100644
--- a/libstdc++-v3/include/c_global/ctime
+++ b/libstdc++-v3/include/c_global/ctime
@@ -1,7 +1,7 @@
// -*- C++ -*- forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010
+// 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/c_std/cctype b/libstdc++-v3/include/c_std/cctype
index 7aa4b3108a0..e20ab5e2835 100644
--- a/libstdc++-v3/include/c_std/cctype
+++ b/libstdc++-v3/include/c_std/cctype
@@ -1,7 +1,7 @@
// -*- C++ -*- forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2009, 2010 Free Software Foundation, Inc.
+// 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/clocale b/libstdc++-v3/include/c_std/clocale
index c3763136995..b3f0cbe8d48 100644
--- a/libstdc++-v3/include/c_std/clocale
+++ b/libstdc++-v3/include/c_std/clocale
@@ -1,7 +1,7 @@
// -*- C++ -*- forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2009, 2010 Free Software Foundation, Inc.
+// 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cmath b/libstdc++-v3/include/c_std/cmath
index c367fceed62..cfcf8bab207 100644
--- a/libstdc++-v3/include/c_std/cmath
+++ b/libstdc++-v3/include/c_std/cmath
@@ -1,7 +1,7 @@
// -*- C++ -*- C forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010
+// 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/c_std/csetjmp b/libstdc++-v3/include/c_std/csetjmp
index e2cb388403e..100e899662a 100644
--- a/libstdc++-v3/include/c_std/csetjmp
+++ b/libstdc++-v3/include/c_std/csetjmp
@@ -1,7 +1,7 @@
// -*- C++ -*- forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2009, 2010 Free Software Foundation, Inc.
+// 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/csignal b/libstdc++-v3/include/c_std/csignal
index c1cff8e3682..40b9d64a2ee 100644
--- a/libstdc++-v3/include/c_std/csignal
+++ b/libstdc++-v3/include/c_std/csignal
@@ -1,7 +1,7 @@
// -*- C++ -*- forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2009, 2010 Free Software Foundation, Inc.
+// 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cstdarg b/libstdc++-v3/include/c_std/cstdarg
index 5053e4f80be..62937003f05 100644
--- a/libstdc++-v3/include/c_std/cstdarg
+++ b/libstdc++-v3/include/c_std/cstdarg
@@ -1,7 +1,7 @@
// -*- C++ -*- forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2009, 2010 Free Software Foundation, Inc.
+// 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cstring b/libstdc++-v3/include/c_std/cstring
index 6dd8ab6c27f..ddf7e48567e 100644
--- a/libstdc++-v3/include/c_std/cstring
+++ b/libstdc++-v3/include/c_std/cstring
@@ -1,7 +1,7 @@
// -*- C++ -*- forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008, 2009, 2010
+// 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/c_std/ctime b/libstdc++-v3/include/c_std/ctime
index 766d0929b72..ae0adcceca9 100644
--- a/libstdc++-v3/include/c_std/ctime
+++ b/libstdc++-v3/include/c_std/ctime
@@ -1,7 +1,7 @@
// -*- C++ -*- forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2009, 2010 Free Software Foundation, Inc.
+// 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/c_std/cwchar b/libstdc++-v3/include/c_std/cwchar
index 8480dac46a8..894925d9a38 100644
--- a/libstdc++-v3/include/c_std/cwchar
+++ b/libstdc++-v3/include/c_std/cwchar
@@ -1,7 +1,7 @@
// -*- C++ -*- forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2009, 2010
+// 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/c_std/cwctype b/libstdc++-v3/include/c_std/cwctype
index efaa338b974..d060756c1d3 100644
--- a/libstdc++-v3/include/c_std/cwctype
+++ b/libstdc++-v3/include/c_std/cwctype
@@ -1,7 +1,7 @@
// -*- C++ -*- forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2009, 2010 Free Software Foundation, Inc.
+// 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/debug/safe_base.h b/libstdc++-v3/include/debug/safe_base.h
index a1aa53687b9..7e6222fe1b7 100644
--- a/libstdc++-v3/include/debug/safe_base.h
+++ b/libstdc++-v3/include/debug/safe_base.h
@@ -1,6 +1,6 @@
// Safe sequence/iterator base implementation -*- C++ -*-
-// Copyright (C) 2003, 2004, 2005, 2006, 2009, 2010
+// Copyright (C) 2003, 2004, 2005, 2006, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/ext/cast.h b/libstdc++-v3/include/ext/cast.h
index de6faab39c1..d604dac3d57 100644
--- a/libstdc++-v3/include/ext/cast.h
+++ b/libstdc++-v3/include/ext/cast.h
@@ -1,6 +1,6 @@
// <cast.h> -*- C++ -*-
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/codecvt_specializations.h b/libstdc++-v3/include/ext/codecvt_specializations.h
index 38b95efc107..ae55440e5b1 100644
--- a/libstdc++-v3/include/ext/codecvt_specializations.h
+++ b/libstdc++-v3/include/ext/codecvt_specializations.h
@@ -1,7 +1,7 @@
// Locale support (codecvt) -*- C++ -*-
// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-// 2008, 2009, 2010
+// 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/ext/debug_allocator.h b/libstdc++-v3/include/ext/debug_allocator.h
index 12a5ea6ba92..6a4becb9b15 100644
--- a/libstdc++-v3/include/ext/debug_allocator.h
+++ b/libstdc++-v3/include/ext/debug_allocator.h
@@ -1,6 +1,6 @@
// Allocators -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/ext/enc_filebuf.h b/libstdc++-v3/include/ext/enc_filebuf.h
index 058d330c106..f993046c482 100644
--- a/libstdc++-v3/include/ext/enc_filebuf.h
+++ b/libstdc++-v3/include/ext/enc_filebuf.h
@@ -1,6 +1,7 @@
// filebuf with encoding state type -*- C++ -*-
-// Copyright (C) 2002, 2003, 2004, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003, 2004, 2007, 2009, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/iterator b/libstdc++-v3/include/ext/iterator
index 3e8f438ad31..1bb9c86f14d 100644
--- a/libstdc++-v3/include/ext/iterator
+++ b/libstdc++-v3/include/ext/iterator
@@ -1,6 +1,7 @@
// HP/SGI iterator extensions -*- C++ -*-
-// Copyright (C) 2001, 2002, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2004, 2005, 2009, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/memory b/libstdc++-v3/include/ext/memory
index 0f2e82e76ba..79a3c2bf2d6 100644
--- a/libstdc++-v3/include/ext/memory
+++ b/libstdc++-v3/include/ext/memory
@@ -1,6 +1,6 @@
// Memory extensions -*- C++ -*-
-// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/ext/numeric_traits.h b/libstdc++-v3/include/ext/numeric_traits.h
index e84e2982147..c8c3b2133a8 100644
--- a/libstdc++-v3/include/ext/numeric_traits.h
+++ b/libstdc++-v3/include/ext/numeric_traits.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
index 54cd52e04ba..053352797d4 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
index 8076084aefd..62f88555308 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp
index 8fa80b73b78..ad399828265 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp
index d99924878c3..006094839e2 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
index 5b71c407f7f..8e80357a156 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
index 416815e762e..5923f4edf5d 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp
index aaadd67e6f2..b9fb5159ac5 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
index ae36d3181a1..1468f8cc175 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
index daaf2e4a7f8..408255fb769 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp
index f88dd4ae4ed..ed2e8f87f92 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
index f3782221b49..5405bb2af48 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
index 2704ec65c1b..831722ba34a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp b/libstdc++-v3/include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp
index caa8dd738d3..a29aa0668fd 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
index 4f7116f573f..8f57164c4e9 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
index 1f68349d929..0490cfa0878 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
index f6a73af6d65..c5d45c024db 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
index 74404035f99..a865860cf98 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
index c9c4b1c745d..1b639449680 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp
index d532c4f45be..a54ef5486ee 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
index 99eea41c598..bc18e4b1020 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp
index dc7d44cc504..66e95485b8c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
index 5be4a9caab0..89f00e662f4 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
index 5bf12c8f166..e2db105a2a9 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
index f43850818b6..e0c6d4eae26 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
index 1901b803938..0638d252d37 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
index ff11890e693..b8adabbdac4 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
index ede1d6a8fc9..ab7c7ebe69b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
index d077cbf3cea..f5c04f9e66e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
index ff83c20b8f5..6469f886a09 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
index 2af9781b5e3..337be5e1405 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp
index 80c7788c70f..1c596ded512 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
index 8fa762b7718..ea71d41d33a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp
index 03731778bec..d1a9b2d3092 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
index 695b03eedc0..78038e61a6a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
index 22afeb7690f..1d3aa1c9222 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
index 8819238b6da..cb63390162b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
index c291747ed14..c61c9d132bb 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
index 0e6a7da087e..638e3cc666c 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp
index 6fe8465c645..e5597695f33 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp
index 2c14c8607bc..75ba6c09d5d 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp
index 8907f085858..9625dcddd08 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp
index 4c24f492651..123cbb183ea 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp
index 921547188aa..7d71d60ad42 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp
index 1fbcf8c0dae..cf38dda4cc3 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp
index 759d93cf119..0aa73c25981 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp
index b362f3d354f..6ea37998d50 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp
index 7fc50576ae2..84e7a64e15d 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
index 3535a0351aa..04221c05544 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
index e5031c8d9d0..a20e35dcb18 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
index 40b0a17c78b..ced17ba7aec 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp
index d74b86c42d9..ede0818ebcb 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp
index 5d3251f1e97..b8dbd83d4ac 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
index b2d0d8527d7..908455ade76 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
index 28ee13e9122..6d71cb0c983 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp
index f1e440a72a0..dbe986b7f1e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
index 294d73a0187..f14904c86ff 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
index 2a1aa6c9dd0..043a7f56047 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
index 1ee219ae553..19b7d38857f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp b/libstdc++-v3/include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp
index a446c3f11f2..1d2b1547bea 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
index e96628bdd88..76409eb2941 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
index af866866ce0..ab5f1f5afb4 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp
index 19a424d822f..9d2aedc571a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp
@@ -1,6 +1,7 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2007, 2009, 2010, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
index eafe0b039b2..c3d04457116 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/traits.hpp
index ac933136bdf..0753c768dc2 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/traits.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/traits.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
index 8246b518252..09dd08c30c6 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
index d53f1b274b3..9209f27239a 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
index 0afc2d40a60..9a7079a05a5 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
index 6a5582da255..e8141803841 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
index 683b3a9087c..a48de7c6119 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp
index 7cce3c530ff..c326cf4e8e2 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
index c8b54547fc8..b70f6930859 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
index 12ef07bd607..7642b4274f0 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp
index 9203dd4d7a6..1c6bf93ccfa 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
index 0903e211427..ae2cd65f97f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/traits.hpp
index 33ec735c5c1..82f9054233f 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/traits.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rb_tree_map_/traits.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
index 27b5bc4b97d..2865fd2fa97 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
index a4344e7c59f..fb67014f32b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
index 9bbdf159e9c..a905818f165 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
index 1640a120c79..3776d069dc1 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
index 0779925491f..da4326087f2 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp
index 8996903b016..99bfe4cb5d2 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
index 2f895b5bffa..d8041c7933b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010i, 2011 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/node.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/node.hpp
index 111976d5500..6b9e20d5f29 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/node.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/node.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/traits.hpp
index d9ed261bfce..2cbaa92e8fd 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/traits.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/splay_tree_/traits.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
index 63a356414d1..fd62226f9d0 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
index 84397f3dffc..d7e81062cce 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp b/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp
index e8033f62d42..b3309819342 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
index ff9595e94a0..da3400f7a5b 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
index 04771dd725e..c6e0190a386 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp
index 467c0773663..0d44083fb71 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp
index 6c71ba81ce7..eedde4d7fec 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp
index 2668a87d922..eaf345d9e77 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp
index c6d9c490136..8f66ac1c67e 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
index 0cd75fc05a6..68d1883c1b1 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp
index 781bd44206c..9a792e146ab 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp
index fa33f22df4b..c49869d2235 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
index 0dd3946bf52..a894c4d8950 100644
--- a/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
+++ b/libstdc++-v3/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/rb_tree b/libstdc++-v3/include/ext/rb_tree
index 4293a755577..6d2b7b4a22e 100644
--- a/libstdc++-v3/include/ext/rb_tree
+++ b/libstdc++-v3/include/ext/rb_tree
@@ -1,6 +1,7 @@
// rb_tree extension -*- C++ -*-
-// Copyright (C) 2002, 2003, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003, 2004, 2005, 2009, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/slist b/libstdc++-v3/include/ext/slist
index e678190bf1d..086dbfa6f84 100644
--- a/libstdc++-v3/include/ext/slist
+++ b/libstdc++-v3/include/ext/slist
@@ -1,6 +1,6 @@
// Singly-linked list implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2004, 2005, 2007, 2008, 2009
+// Copyright (C) 2001, 2002, 2004, 2005, 2007, 2008, 2009, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/ext/stdio_filebuf.h b/libstdc++-v3/include/ext/stdio_filebuf.h
index 415f87567e0..c591b8b3b9c 100644
--- a/libstdc++-v3/include/ext/stdio_filebuf.h
+++ b/libstdc++-v3/include/ext/stdio_filebuf.h
@@ -1,6 +1,6 @@
// File descriptor layer for filebuf -*- C++ -*-
-// Copyright (C) 2002, 2003, 2004, 2005, 2009, 2010
+// Copyright (C) 2002, 2003, 2004, 2005, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/ext/stdio_sync_filebuf.h b/libstdc++-v3/include/ext/stdio_sync_filebuf.h
index 4b601495418..32db7d12b54 100644
--- a/libstdc++-v3/include/ext/stdio_sync_filebuf.h
+++ b/libstdc++-v3/include/ext/stdio_sync_filebuf.h
@@ -1,6 +1,6 @@
// Iostreams wrapper for stdio FILE* -*- C++ -*-
-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010
+// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/ext/type_traits.h b/libstdc++-v3/include/ext/type_traits.h
index b0fa36bcec8..9a9fabf809f 100644
--- a/libstdc++-v3/include/ext/type_traits.h
+++ b/libstdc++-v3/include/ext/type_traits.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/ext/vstring_util.h b/libstdc++-v3/include/ext/vstring_util.h
index fdf39812052..d364841380e 100644
--- a/libstdc++-v3/include/ext/vstring_util.h
+++ b/libstdc++-v3/include/ext/vstring_util.h
@@ -1,6 +1,6 @@
// Versatile string utility -*- C++ -*-
-// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/parallel/balanced_quicksort.h b/libstdc++-v3/include/parallel/balanced_quicksort.h
index 441e7b44aca..9fe6aea12a9 100644
--- a/libstdc++-v3/include/parallel/balanced_quicksort.h
+++ b/libstdc++-v3/include/parallel/balanced_quicksort.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/for_each_selectors.h b/libstdc++-v3/include/parallel/for_each_selectors.h
index 22c8b2cc773..1c221cfe28e 100644
--- a/libstdc++-v3/include/parallel/for_each_selectors.h
+++ b/libstdc++-v3/include/parallel/for_each_selectors.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/numeric b/libstdc++-v3/include/parallel/numeric
index 64624a742bd..0d922b1bc76 100644
--- a/libstdc++-v3/include/parallel/numeric
+++ b/libstdc++-v3/include/parallel/numeric
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/numericfwd.h b/libstdc++-v3/include/parallel/numericfwd.h
index 5ee3d6d4fa7..927d6019b2b 100644
--- a/libstdc++-v3/include/parallel/numericfwd.h
+++ b/libstdc++-v3/include/parallel/numericfwd.h
@@ -1,6 +1,6 @@
// <numeric> parallel extensions -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/partition.h b/libstdc++-v3/include/parallel/partition.h
index c651321584e..2b84ff037db 100644
--- a/libstdc++-v3/include/parallel/partition.h
+++ b/libstdc++-v3/include/parallel/partition.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/queue.h b/libstdc++-v3/include/parallel/queue.h
index ea72c8acd4e..df65b99c37e 100644
--- a/libstdc++-v3/include/parallel/queue.h
+++ b/libstdc++-v3/include/parallel/queue.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/random_number.h b/libstdc++-v3/include/parallel/random_number.h
index c8994bd9c21..f362e148139 100644
--- a/libstdc++-v3/include/parallel/random_number.h
+++ b/libstdc++-v3/include/parallel/random_number.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/parallel/sort.h b/libstdc++-v3/include/parallel/sort.h
index a038618e6a0..d00b07dc055 100644
--- a/libstdc++-v3/include/parallel/sort.h
+++ b/libstdc++-v3/include/parallel/sort.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/include/precompiled/extc++.h b/libstdc++-v3/include/precompiled/extc++.h
index e93bbf829a7..fbf680551fd 100644
--- a/libstdc++-v3/include/precompiled/extc++.h
+++ b/libstdc++-v3/include/precompiled/extc++.h
@@ -1,6 +1,6 @@
// C++ includes used for precompiling extensions -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler.h b/libstdc++-v3/include/profile/impl/profiler.h
index 49785bbee8f..9b5f0786e96 100644
--- a/libstdc++-v3/include/profile/impl/profiler.h
+++ b/libstdc++-v3/include/profile/impl/profiler.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_algos.h b/libstdc++-v3/include/profile/impl/profiler_algos.h
index 1be8b61be8b..e4642f4adf8 100644
--- a/libstdc++-v3/include/profile/impl/profiler_algos.h
+++ b/libstdc++-v3/include/profile/impl/profiler_algos.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_hashtable_size.h b/libstdc++-v3/include/profile/impl/profiler_hashtable_size.h
index 8557a607316..216650c4bde 100644
--- a/libstdc++-v3/include/profile/impl/profiler_hashtable_size.h
+++ b/libstdc++-v3/include/profile/impl/profiler_hashtable_size.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_list_to_slist.h b/libstdc++-v3/include/profile/impl/profiler_list_to_slist.h
index 2195ccf90d9..6b74b3cb299 100644
--- a/libstdc++-v3/include/profile/impl/profiler_list_to_slist.h
+++ b/libstdc++-v3/include/profile/impl/profiler_list_to_slist.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_list_to_vector.h b/libstdc++-v3/include/profile/impl/profiler_list_to_vector.h
index b3840a747cf..4035f0fc149 100644
--- a/libstdc++-v3/include/profile/impl/profiler_list_to_vector.h
+++ b/libstdc++-v3/include/profile/impl/profiler_list_to_vector.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_map_to_unordered_map.h b/libstdc++-v3/include/profile/impl/profiler_map_to_unordered_map.h
index e232effe840..d904f1c249d 100644
--- a/libstdc++-v3/include/profile/impl/profiler_map_to_unordered_map.h
+++ b/libstdc++-v3/include/profile/impl/profiler_map_to_unordered_map.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_vector_size.h b/libstdc++-v3/include/profile/impl/profiler_vector_size.h
index 604984577e4..645d2e3fb00 100644
--- a/libstdc++-v3/include/profile/impl/profiler_vector_size.h
+++ b/libstdc++-v3/include/profile/impl/profiler_vector_size.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/impl/profiler_vector_to_list.h b/libstdc++-v3/include/profile/impl/profiler_vector_to_list.h
index 7387ab6145d..2b29a29c056 100644
--- a/libstdc++-v3/include/profile/impl/profiler_vector_to_list.h
+++ b/libstdc++-v3/include/profile/impl/profiler_vector_to_list.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
//
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/map b/libstdc++-v3/include/profile/map
index 7806b992b59..4cb45c4ce50 100644
--- a/libstdc++-v3/include/profile/map
+++ b/libstdc++-v3/include/profile/map
@@ -1,6 +1,6 @@
// Profiling map/multimap implementation -*- C++ -*-
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/profile/set b/libstdc++-v3/include/profile/set
index 55ffe74dee5..c14f268a3ea 100644
--- a/libstdc++-v3/include/profile/set
+++ b/libstdc++-v3/include/profile/set
@@ -1,6 +1,6 @@
// Profiling set/multiset implementation -*- C++ -*-
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional
index 3ec2e1ea4ed..0b5d47507ca 100644
--- a/libstdc++-v3/include/std/functional
+++ b/libstdc++-v3/include/std/functional
@@ -1,6 +1,6 @@
// <functional> -*- C++ -*-
-// Copyright (C) 2001-2012 Free Software Foundation, Inc.
+// Copyright (C) 2001-2013 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -1767,6 +1767,8 @@ _GLIBCXX_HAS_NESTED_TYPE(result_type)
{
public:
virtual ~bad_function_call() noexcept;
+
+ const char* what() const noexcept;
};
/**
diff --git a/libstdc++-v3/include/std/iosfwd b/libstdc++-v3/include/std/iosfwd
index 8906a1d34b5..715582de65e 100644
--- a/libstdc++-v3/include/std/iosfwd
+++ b/libstdc++-v3/include/std/iosfwd
@@ -1,7 +1,7 @@
// Forwarding declarations -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2009, 2010
+// 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/std/iostream b/libstdc++-v3/include/std/iostream
index 7c71ba49358..b0e6973b242 100644
--- a/libstdc++-v3/include/std/iostream
+++ b/libstdc++-v3/include/std/iostream
@@ -1,6 +1,6 @@
// Standard iostream objects -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2005, 2008, 2009, 2010
+// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2005, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/std/regex b/libstdc++-v3/include/std/regex
index fa129affd79..d802d935c60 100644
--- a/libstdc++-v3/include/std/regex
+++ b/libstdc++-v3/include/std/regex
@@ -1,6 +1,6 @@
// <regex> -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/unordered_map b/libstdc++-v3/include/std/unordered_map
index fff292767a3..35142034298 100644
--- a/libstdc++-v3/include/std/unordered_map
+++ b/libstdc++-v3/include/std/unordered_map
@@ -1,6 +1,6 @@
// <unordered_map> -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/std/unordered_set b/libstdc++-v3/include/std/unordered_set
index bb9d3c8996a..af6f624ef8b 100644
--- a/libstdc++-v3/include/std/unordered_set
+++ b/libstdc++-v3/include/std/unordered_set
@@ -1,6 +1,6 @@
// <unordered_set> -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/array b/libstdc++-v3/include/tr1/array
index 058fcfad60e..601c664fe7f 100644
--- a/libstdc++-v3/include/tr1/array
+++ b/libstdc++-v3/include/tr1/array
@@ -1,6 +1,6 @@
// class template array -*- C++ -*-
-// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/tr1/bessel_function.tcc b/libstdc++-v3/include/tr1/bessel_function.tcc
index b525ebc104b..4a717686a8e 100644
--- a/libstdc++-v3/include/tr1/bessel_function.tcc
+++ b/libstdc++-v3/include/tr1/bessel_function.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/tr1/beta_function.tcc b/libstdc++-v3/include/tr1/beta_function.tcc
index 219f3cbd4d2..d7896e0e99f 100644
--- a/libstdc++-v3/include/tr1/beta_function.tcc
+++ b/libstdc++-v3/include/tr1/beta_function.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/tr1/cctype b/libstdc++-v3/include/tr1/cctype
index 0cec3d9f455..31695a3c8af 100644
--- a/libstdc++-v3/include/tr1/cctype
+++ b/libstdc++-v3/include/tr1/cctype
@@ -1,6 +1,6 @@
// TR1 cctype -*- C++ -*-
-// Copyright (C) 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cfenv b/libstdc++-v3/include/tr1/cfenv
index 980a06c38a2..7b7b18c1977 100644
--- a/libstdc++-v3/include/tr1/cfenv
+++ b/libstdc++-v3/include/tr1/cfenv
@@ -1,6 +1,7 @@
// TR1 cfenv -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cinttypes b/libstdc++-v3/include/tr1/cinttypes
index f1ca292790f..9411619a08c 100644
--- a/libstdc++-v3/include/tr1/cinttypes
+++ b/libstdc++-v3/include/tr1/cinttypes
@@ -1,6 +1,7 @@
// TR1 cinttypes -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cstdint b/libstdc++-v3/include/tr1/cstdint
index 55ce4bcefd0..982c2d25702 100644
--- a/libstdc++-v3/include/tr1/cstdint
+++ b/libstdc++-v3/include/tr1/cstdint
@@ -1,6 +1,7 @@
// TR1 cstdint -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cstdio b/libstdc++-v3/include/tr1/cstdio
index 415e8a4d67f..70802ce9b56 100644
--- a/libstdc++-v3/include/tr1/cstdio
+++ b/libstdc++-v3/include/tr1/cstdio
@@ -1,6 +1,6 @@
// TR1 cstdio -*- C++ -*-
-// Copyright (C) 2006, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cstdlib b/libstdc++-v3/include/tr1/cstdlib
index 6e3e16d0fa4..1350c44dd0d 100644
--- a/libstdc++-v3/include/tr1/cstdlib
+++ b/libstdc++-v3/include/tr1/cstdlib
@@ -1,6 +1,7 @@
// TR1 cstdlib -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cwchar b/libstdc++-v3/include/tr1/cwchar
index 8bf775be196..0705dc127a0 100644
--- a/libstdc++-v3/include/tr1/cwchar
+++ b/libstdc++-v3/include/tr1/cwchar
@@ -1,6 +1,7 @@
// TR1 cwchar -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/cwctype b/libstdc++-v3/include/tr1/cwctype
index 452a7b45631..e3ab64286fa 100644
--- a/libstdc++-v3/include/tr1/cwctype
+++ b/libstdc++-v3/include/tr1/cwctype
@@ -1,6 +1,6 @@
// TR1 cwctype -*- C++ -*-
-// Copyright (C) 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/ell_integral.tcc b/libstdc++-v3/include/tr1/ell_integral.tcc
index 4dfe6169c64..040bb50ab0e 100644
--- a/libstdc++-v3/include/tr1/ell_integral.tcc
+++ b/libstdc++-v3/include/tr1/ell_integral.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/tr1/exp_integral.tcc b/libstdc++-v3/include/tr1/exp_integral.tcc
index 6a49b354cae..3c758befc90 100644
--- a/libstdc++-v3/include/tr1/exp_integral.tcc
+++ b/libstdc++-v3/include/tr1/exp_integral.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/tr1/functional_hash.h b/libstdc++-v3/include/tr1/functional_hash.h
index 1742e152788..b0124d61dff 100644
--- a/libstdc++-v3/include/tr1/functional_hash.h
+++ b/libstdc++-v3/include/tr1/functional_hash.h
@@ -1,6 +1,6 @@
// TR1 functional_hash.h header -*- C++ -*-
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/gamma.tcc b/libstdc++-v3/include/tr1/gamma.tcc
index a7c399cd445..b7be6fda612 100644
--- a/libstdc++-v3/include/tr1/gamma.tcc
+++ b/libstdc++-v3/include/tr1/gamma.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/tr1/hypergeometric.tcc b/libstdc++-v3/include/tr1/hypergeometric.tcc
index b98b5b29c74..27713b82c7f 100644
--- a/libstdc++-v3/include/tr1/hypergeometric.tcc
+++ b/libstdc++-v3/include/tr1/hypergeometric.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/tr1/legendre_function.tcc b/libstdc++-v3/include/tr1/legendre_function.tcc
index db41d4e0ac5..5421d626946 100644
--- a/libstdc++-v3/include/tr1/legendre_function.tcc
+++ b/libstdc++-v3/include/tr1/legendre_function.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/tr1/modified_bessel_func.tcc b/libstdc++-v3/include/tr1/modified_bessel_func.tcc
index ec134d5763e..e09d2edb938 100644
--- a/libstdc++-v3/include/tr1/modified_bessel_func.tcc
+++ b/libstdc++-v3/include/tr1/modified_bessel_func.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/tr1/poly_laguerre.tcc b/libstdc++-v3/include/tr1/poly_laguerre.tcc
index 769923d34dc..4a375149ed1 100644
--- a/libstdc++-v3/include/tr1/poly_laguerre.tcc
+++ b/libstdc++-v3/include/tr1/poly_laguerre.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/tr1/random.h b/libstdc++-v3/include/tr1/random.h
index ace37929a0c..a7f708c952e 100644
--- a/libstdc++-v3/include/tr1/random.h
+++ b/libstdc++-v3/include/tr1/random.h
@@ -1,6 +1,6 @@
// random number generation -*- C++ -*-
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/random.tcc b/libstdc++-v3/include/tr1/random.tcc
index 3d8c4fe1c10..6f10320283b 100644
--- a/libstdc++-v3/include/tr1/random.tcc
+++ b/libstdc++-v3/include/tr1/random.tcc
@@ -1,6 +1,6 @@
// random number generation (out of line) -*- C++ -*-
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/regex b/libstdc++-v3/include/tr1/regex
index 714a06d3381..8ad50a7fd4f 100644
--- a/libstdc++-v3/include/tr1/regex
+++ b/libstdc++-v3/include/tr1/regex
@@ -1,6 +1,6 @@
// class template regex -*- C++ -*-
-// Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/riemann_zeta.tcc b/libstdc++-v3/include/tr1/riemann_zeta.tcc
index 18fe20ed82a..0eb3439cd0e 100644
--- a/libstdc++-v3/include/tr1/riemann_zeta.tcc
+++ b/libstdc++-v3/include/tr1/riemann_zeta.tcc
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/tr1/special_function_util.h b/libstdc++-v3/include/tr1/special_function_util.h
index c90fc599f1a..7970a5d5d4a 100644
--- a/libstdc++-v3/include/tr1/special_function_util.h
+++ b/libstdc++-v3/include/tr1/special_function_util.h
@@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
-// Copyright (C) 2006, 2009, 2010
+// Copyright (C) 2006, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/include/tr1/tuple b/libstdc++-v3/include/tr1/tuple
index 15ac642a19f..2210e6cb5ea 100644
--- a/libstdc++-v3/include/tr1/tuple
+++ b/libstdc++-v3/include/tr1/tuple
@@ -1,6 +1,7 @@
// class template tuple -*- C++ -*-
-// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/unordered_map.h b/libstdc++-v3/include/tr1/unordered_map.h
index 96404d3d07c..0fd11003dc5 100644
--- a/libstdc++-v3/include/tr1/unordered_map.h
+++ b/libstdc++-v3/include/tr1/unordered_map.h
@@ -1,6 +1,6 @@
// TR1 unordered_map implementation -*- C++ -*-
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/tr1/unordered_set.h b/libstdc++-v3/include/tr1/unordered_set.h
index e65a4cced27..a6fba620c94 100644
--- a/libstdc++-v3/include/tr1/unordered_set.h
+++ b/libstdc++-v3/include/tr1/unordered_set.h
@@ -1,6 +1,6 @@
// TR1 unordered_set implementation -*- C++ -*-
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/libsupc++/eh_arm.cc b/libstdc++-v3/libsupc++/eh_arm.cc
index 0f0b0267101..96059a2c3b5 100644
--- a/libstdc++-v3/libsupc++/eh_arm.cc
+++ b/libstdc++-v3/libsupc++/eh_arm.cc
@@ -1,5 +1,6 @@
// -*- C++ -*- ARM specific Exception handling support routines.
-// Copyright (C) 2004, 2005, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2008, 2009, 2010, 2011
+// Free Software Foundation, Inc.
//
// This file is part of GCC.
//
diff --git a/libstdc++-v3/scripts/extract_symvers.in b/libstdc++-v3/scripts/extract_symvers.in
index 99dd11152a1..da03d729f9f 100755
--- a/libstdc++-v3/scripts/extract_symvers.in
+++ b/libstdc++-v3/scripts/extract_symvers.in
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright (C) 2002, 2003, 2009, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2009, 2010, 2011 Free Software Foundation, Inc.
#
# This file is part of the GNU ISO C++ Library. This library is free
# software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++11/functional.cc b/libstdc++-v3/src/c++11/functional.cc
index 2ab34051432..8d81f6028eb 100644
--- a/libstdc++-v3/src/c++11/functional.cc
+++ b/libstdc++-v3/src/c++11/functional.cc
@@ -1,7 +1,6 @@
// Support for <functional> -*- C++ -*-
-// Copyright (C) 2011
-// Free Software Foundation, Inc.
+// Copyright (C) 2011-2013 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -29,7 +28,11 @@ namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
- bad_function_call::~bad_function_call() throw() = default;
+ bad_function_call::~bad_function_call() noexcept = default;
+
+ const char*
+ bad_function_call::what() const noexcept
+ { return "bad_function_call"; }
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
diff --git a/libstdc++-v3/src/c++11/shared_ptr.cc b/libstdc++-v3/src/c++11/shared_ptr.cc
index 911e745ebe2..ca5714a318d 100644
--- a/libstdc++-v3/src/c++11/shared_ptr.cc
+++ b/libstdc++-v3/src/c++11/shared_ptr.cc
@@ -1,7 +1,6 @@
// Support for pointer abstractions -*- C++ -*-
-// Copyright (C) 2011
-// Free Software Foundation, Inc.
+// Copyright (C) 2011-2013 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -33,7 +32,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
char const*
bad_weak_ptr::what() const noexcept
- { return "std::bad_weak_ptr"; }
+ { return "bad_weak_ptr"; }
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
diff --git a/libstdc++-v3/src/c++11/wstring-inst.cc b/libstdc++-v3/src/c++11/wstring-inst.cc
index b753f616fd4..356f40be1c8 100644
--- a/libstdc++-v3/src/c++11/wstring-inst.cc
+++ b/libstdc++-v3/src/c++11/wstring-inst.cc
@@ -1,6 +1,6 @@
// wide string support -*- C++ -*-
-// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009
+// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2009, 2012
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/src/c++98/math_stubs_float.cc b/libstdc++-v3/src/c++98/math_stubs_float.cc
index a226ce46f26..aa70f4f9d3c 100644
--- a/libstdc++-v3/src/c++98/math_stubs_float.cc
+++ b/libstdc++-v3/src/c++98/math_stubs_float.cc
@@ -1,6 +1,6 @@
// Stub definitions for float math.
-// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/math_stubs_long_double.cc b/libstdc++-v3/src/c++98/math_stubs_long_double.cc
index 9f760cfb32f..2f2e5fd385a 100644
--- a/libstdc++-v3/src/c++98/math_stubs_long_double.cc
+++ b/libstdc++-v3/src/c++98/math_stubs_long_double.cc
@@ -1,6 +1,6 @@
// Stub definitions for long double math.
-// Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/parallel_settings.cc b/libstdc++-v3/src/c++98/parallel_settings.cc
index e183c97f45e..2fcddf765f6 100644
--- a/libstdc++-v3/src/c++98/parallel_settings.cc
+++ b/libstdc++-v3/src/c++98/parallel_settings.cc
@@ -1,6 +1,6 @@
// Default settings for parallel mode -*- C++ -*-
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/src/c++98/wlocale-inst.cc b/libstdc++-v3/src/c++98/wlocale-inst.cc
index cdfed0c3e3f..cf1c8c1b110 100644
--- a/libstdc++-v3/src/c++98/wlocale-inst.cc
+++ b/libstdc++-v3/src/c++98/wlocale-inst.cc
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2006, 2009
+// Copyright (C) 1999, 2000, 2001, 2002, 2003, 2006, 2009, 2012
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
index b417ea68e17..6d335816d82 100644
--- a/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/lifespan.cc
@@ -3,7 +3,7 @@
// 2008-05-25 Sebastian Redl <sebastian.redl@getdesigned.at>
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc b/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc
index f8361c40cf2..2bf44da222b 100644
--- a/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc b/libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc
index 7dbc10ef20c..2e3146c1953 100644
--- a/libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc b/libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc
index ba5a0d4909d..d009f958b5d 100644
--- a/libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc
+++ b/libstdc++-v3/testsuite/18_support/initializer_list/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc
index 38e27dc8246..bc5287c6423 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/bad_function_call/what.cc b/libstdc++-v3/testsuite/20_util/bad_function_call/what.cc
new file mode 100644
index 00000000000..4d9c8b4cd0a
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/bad_function_call/what.cc
@@ -0,0 +1,33 @@
+// { dg-options "-std=gnu++11" }
+
+// Copyright (C) 2013 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <functional>
+#include <testsuite_hooks.h>
+
+int main()
+{
+ try
+ {
+ std::function<void()>{}();
+ }
+ catch (const std::exception& e)
+ {
+ VERIFY( e.what() == std::string("bad_function_call") );
+ }
+}
diff --git a/libstdc++-v3/testsuite/20_util/default_delete/cons/constexpr.cc b/libstdc++-v3/testsuite/20_util/default_delete/cons/constexpr.cc
index 01fb284761e..dc8c4748817 100644
--- a/libstdc++-v3/testsuite/20_util/default_delete/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/default_delete/cons/constexpr.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/forward/1_neg.cc b/libstdc++-v3/testsuite/20_util/forward/1_neg.cc
index dbcaa66a8c9..beca413e7c4 100644
--- a/libstdc++-v3/testsuite/20_util/forward/1_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/forward/1_neg.cc
@@ -3,7 +3,7 @@
// 2007-07-10 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc b/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc
index d5e268e88fd..5c2ea4d8b62 100644
--- a/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++0x" }
// { dg-do compile }
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc b/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc
index e698114091b..a35648c82ff 100644
--- a/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
index 754b616b76f..902d90de7e6 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++0x" }
// { dg-do compile }
-// Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation
+// Copyright (C) 2005, 2006, 2007, 2009, 2011 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc
index a884d0171df..5abbb54dbbb 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++0x" }
// { dg-do compile }
-// Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation
+// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2011 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc
index 91af6c06f99..32893bf7224 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++0x" }
// { dg-do compile }
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc
index 256f2c9826e..26e1ff060ca 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++0x" }
// { dg-do compile }
-// Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation
+// Copyright (C) 2005, 2006, 2007, 2009, 2011 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc
index fc12787de71..afa1e8bdd37 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++0x" }
// { dg-do compile }
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc
index d2bf508fd99..2d655d7155d 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2005, 2006, 2007, 2009, 2012 Free Software Foundation
+// Copyright (C) 2005-2013 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -40,10 +40,11 @@ test01()
{
std::shared_ptr<A> a2(wa);
}
- catch (const std::bad_weak_ptr&)
+ catch (const std::bad_weak_ptr& e)
{
// Expected.
- test = true;
+ if (e.what() == std::string("bad_weak_ptr"))
+ test = true;
}
VERIFY( test );
diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc
index 788f7b17279..202d2337f33 100644
--- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc
+++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy/move_iterators/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc
index 1a29613f4fe..9faf0e3edc1 100644
--- a/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc
+++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_copy_n/move_iterators/1.cc
@@ -2,7 +2,7 @@
// 2008-06-29 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/steady_clock/constexpr_data.cc b/libstdc++-v3/testsuite/20_util/steady_clock/constexpr_data.cc
index 2b497cfa35b..81b425f5ade 100644
--- a/libstdc++-v3/testsuite/20_util/steady_clock/constexpr_data.cc
+++ b/libstdc++-v3/testsuite/20_util/steady_clock/constexpr_data.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/tuple/requirements/dr801.cc b/libstdc++-v3/testsuite/20_util/tuple/requirements/dr801.cc
index 879bfd126bb..8e2e813e48c 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/requirements/dr801.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/requirements/dr801.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc
index 32d52ca49ea..503ebd32363 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++0x" }
// { dg-do compile }
-// Copyright (C) 2010 Free Software Foundation
+// Copyright (C) 2010, 2011 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/3.cc
index d20b994bf52..8d8c9018cd5 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2004-25-10 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
index 78af79ad496..f19b8977e22 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
@@ -1,6 +1,6 @@
// 2004-11-29 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004, 2009 Free Software Foundation
+// Copyright (C) 2004, 2009, 2012 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc
index cd0d4eb51fb..11257ce5d7c 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc
@@ -2,7 +2,7 @@
// 2010-01-08 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
index df75f091340..3ff56ff45e2 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
@@ -1,6 +1,6 @@
// 2004-11-29 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004, 2009 Free Software Foundation
+// Copyright (C) 2004, 2009, 2012 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc
index 88f7c0ab08e..9a1926a63b9 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc
@@ -2,7 +2,7 @@
// 2010-01-08 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/6.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/6.cc
index 95acdd03e37..46bfd7f92e9 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/6.cc
@@ -1,6 +1,6 @@
// 2004-01-30 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc
index a647c390a33..6973ef75b17 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation
+// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2012 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc
index a0a822ffe16..0f622f13c41 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation
+// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2012 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc
index 2030b7f632d..097f7043589 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc
@@ -3,7 +3,7 @@
// 2009-11-11 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc
index e17cc5565b3..d8d7e523e49 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc
@@ -3,7 +3,7 @@
// 2009-11-11 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/char/28277.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/char/28277.cc
index 7b94c7dd109..eea54958f35 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/transform/char/28277.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/transform/char/28277.cc
@@ -1,6 +1,6 @@
// 2006-07-11 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006, 2009 Free Software Foundation
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/28277.cc b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/28277.cc
index 56ad605e8b0..5a171bc0fde 100644
--- a/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/28277.cc
+++ b/libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/28277.cc
@@ -1,6 +1,6 @@
// 2006-07-11 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006, 2009 Free Software Foundation
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc
index 0449bf30e4b..60ae3f76986 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc
@@ -1,7 +1,7 @@
// { dg-require-namedlocale "" }
// { dg-require-namedlocale "en_US" }
-// Copyright (C) 2003, 2005, 2009 Free Software Foundation
+// Copyright (C) 2003, 2005, 2009, 2012 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc
index d1f982fe6b6..f33bfe1f666 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009'
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009
// Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc
index 7aa40caad58..91d077e3066 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003, 2009, 2010 Free Software Foundation
+// Copyright (C) 2003, 2009, 2010, 2012 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc
index 2a7644e0dee..9030f1c340d 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003, 2009, 2010 Free Software Foundation
+// Copyright (C) 2003, 2009, 2010, 2012 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc
index 2264c035888..a0f1dd70c8f 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2003, 2009, 2010 Free Software Foundation
+// Copyright (C) 2003, 2009, 2010, 2012 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/less.cc b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/less.cc
index bd64e035987..77f09ce0eb2 100644
--- a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/less.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/less.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
//
-// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009
+// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/testsuite/23_containers/array/requirements/fill.cc b/libstdc++-v3/testsuite/23_containers/array/requirements/fill.cc
index 5586b7062b1..cfe0d91f1a5 100644
--- a/libstdc++-v3/testsuite/23_containers/array/requirements/fill.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/requirements/fill.cc
@@ -2,7 +2,7 @@
// 2008-06-13 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/bitset/debug/invalidation/1.cc b/libstdc++-v3/testsuite/23_containers/bitset/debug/invalidation/1.cc
index 81d0dcd3231..24f45d522b7 100644
--- a/libstdc++-v3/testsuite/23_containers/bitset/debug/invalidation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/bitset/debug/invalidation/1.cc
@@ -1,6 +1,6 @@
// Bitset reference invalidation tests
-// Copyright (C) 2003, 2004, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004, 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc b/libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc
index c5d70dcf704..817a62f0619 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/capacity/29134-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc
index 23d4dfc7021..6f9e04ebec6 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/capacity/29134.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc b/libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc
index 4cd5564560b..aae161b1ac8 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/capacity/shrink_to_fit.cc
@@ -2,7 +2,7 @@
// 2010-01-08 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/range_access.cc b/libstdc++-v3/testsuite/23_containers/deque/range_access.cc
index 7c758895453..9827c776572 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc
index 3dd2b6c05c0..cf6de1b95a5 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc
index 7dec2a4b49a..09a5d7ce716 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc
index eb447274b5d..b51b452351a 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc
index 6197731cb78..5bae2db73d7 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc
index 3d23719ca68..170ae86e435 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/4.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc
index ca7b5f7e6e6..2975fd14584 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/5.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc
index f385661f2c8..0ba249ba782 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/6.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc
index f037791346b..d1d64f87b6c 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/7.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc
index 3cf4288f42b..ff6af28ba55 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/8.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc b/libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc
index ce7bb859745..4ff18ea31e8 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/cons/9.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc
index 57e0e2f532e..a16d37b3e93 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/clear.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc
index 6238f6f8fd6..6769956c2fa 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/move_constructor.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc
index 09ad6aa6ed3..288d976556d 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc
index b6c6e35eb8a..fdf264bd92c 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc
index 349be4c2eb3..54bd5888fa7 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc
index 554ac030dfb..d0e83932d9b 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc
index 26a422665c1..6af4faeb5a5 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/5.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc b/libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc
index fe12af9aa63..3a6d0537005 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/operations/2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc b/libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc
index f112bc2d89f..34156274c1b 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/operations/3.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc b/libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc
index 6c09065e553..fd844d56a53 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/operations/4.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc b/libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc
index 55d1634c400..1e3c19840ed 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/operations/5.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc b/libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc
index 082d2adbbcb..38c15b97fd5 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/operations/6.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc b/libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc
index fd71cb63143..c03b9831b3a 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/operations/7.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc b/libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc
index 350b8286ca1..05875638b66 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc b/libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc
index bded29ee68c..3f371a1e9e3 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc b/libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc
index b5a10d2d611..f7ccafe733b 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc b/libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc
index 612124006c1..de2ba698d6e 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc b/libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc
index 85aca13c344..3daa4321252 100644
--- a/libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc b/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc
index 3b0e8dc7255..a0123addbe8 100644
--- a/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/capacity/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004, 2005, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/capacity/1.h b/libstdc++-v3/testsuite/23_containers/list/capacity/1.h
index 408e0786c52..88aad6d3de2 100644
--- a/libstdc++-v3/testsuite/23_containers/list/capacity/1.h
+++ b/libstdc++-v3/testsuite/23_containers/list/capacity/1.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004, 2005, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc
index 4d56b154ab1..88c4a3830b8 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2003, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2004, 2005, 2009, 2012
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/1.h b/libstdc++-v3/testsuite/23_containers/list/modifiers/1.h
index 2abc063e1b1..c4f2555e6f6 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/1.h
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/1.h
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2003, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2004, 2005, 2009, 2012
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc
index dea0d4c44cf..dd53fecd764 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/1_c++0x.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc
index 1879ed2e5ae..4a628442edf 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2003, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2004, 2005, 2009, 2012
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/2.h b/libstdc++-v3/testsuite/23_containers/list/modifiers/2.h
index b25467bdb19..98883d7bb52 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/2.h
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/2.h
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2003, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2004, 2005, 2009, 2012
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc
index 990cf227cfa..05acb779044 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2003, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2004, 2005, 2009, 2012
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/3.h b/libstdc++-v3/testsuite/23_containers/list/modifiers/3.h
index c4017db49a9..97c9db4f947 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/3.h
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/3.h
@@ -1,4 +1,5 @@
-// Copyright (C) 2001, 2003, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2003, 2004, 2005, 2009, 2012
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc b/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc
index 6fbcf6c1723..1a4b756199f 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc
@@ -1,6 +1,6 @@
// { dg-require-time "" }
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h b/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h
index 772128d95bf..7c7c856d408 100644
--- a/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h
+++ b/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/1.cc b/libstdc++-v3/testsuite/23_containers/list/operations/1.cc
index 48c7d908cf6..e56db49b344 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004, 2005, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/1.h b/libstdc++-v3/testsuite/23_containers/list/operations/1.h
index 601c5e77260..585685b5b8a 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/1.h
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/1.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004, 2005, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/2.cc b/libstdc++-v3/testsuite/23_containers/list/operations/2.cc
index 7cd57622019..0a9ccbe6034 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004, 2005, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/2.h b/libstdc++-v3/testsuite/23_containers/list/operations/2.h
index 6db3333bd08..705cd9ec583 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/2.h
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/2.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004, 2005, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc b/libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc
index 6d744a0151c..c895dbbb691 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/2_c++0x.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/3.cc b/libstdc++-v3/testsuite/23_containers/list/operations/3.cc
index 1ed46b21dc6..033c44b6cab 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/3.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004, 2005, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/3.h b/libstdc++-v3/testsuite/23_containers/list/operations/3.h
index 9181e7ea9fc..178920810fd 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/3.h
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/3.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004, 2005, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc b/libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc
index 37a480606ff..12480d1ab4a 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/3_c++0x.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/4.cc b/libstdc++-v3/testsuite/23_containers/list/operations/4.cc
index 4e14f1ae62a..3e276fc4649 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/4.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004, 2005, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/4.h b/libstdc++-v3/testsuite/23_containers/list/operations/4.h
index 6502827470c..7d5f9f71f8f 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/4.h
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/4.h
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004, 2005, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/42352.cc b/libstdc++-v3/testsuite/23_containers/list/operations/42352.cc
index 7e6c9c4f12d..42eac5a846d 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/42352.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/42352.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/5.cc b/libstdc++-v3/testsuite/23_containers/list/operations/5.cc
index bcfbb81b77e..25fd407b52e 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/5.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/5.cc
@@ -1,6 +1,6 @@
// 2006-01-19 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/operations/5.h b/libstdc++-v3/testsuite/23_containers/list/operations/5.h
index 0820e8a6952..304c6de3edf 100644
--- a/libstdc++-v3/testsuite/23_containers/list/operations/5.h
+++ b/libstdc++-v3/testsuite/23_containers/list/operations/5.h
@@ -1,6 +1,6 @@
// 2006-01-19 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/range_access.cc b/libstdc++-v3/testsuite/23_containers/list/range_access.cc
index 768bd638a68..3c77c702023 100644
--- a/libstdc++-v3/testsuite/23_containers/list/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/2.cc
index e5a095f82bd..1eed556bc33 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc
index 303160801aa..340860b55fd 100644
--- a/libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/capacity/29134.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc b/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
index 09120528ccc..9f83211d26a 100644
--- a/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-// 2008, 2009, 2010
+// 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/testsuite/23_containers/map/range_access.cc b/libstdc++-v3/testsuite/23_containers/map/range_access.cc
index 1e4e3c18780..14ab92cc368 100644
--- a/libstdc++-v3/testsuite/23_containers/map/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc
index a8e407daf90..f4adf4feb77 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/capacity/29134.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/range_access.cc b/libstdc++-v3/testsuite/23_containers/multimap/range_access.cc
index 0f1c5bc5384..d40c81ed4f5 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc
index 0a05f83c521..a9e8772a0e7 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/capacity/29134.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/range_access.cc b/libstdc++-v3/testsuite/23_containers/multiset/range_access.cc
index d3fb95ea2a1..709d6282ae0 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc
index 7d9bccd0f05..0322b901327 100644
--- a/libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/capacity/29134.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc b/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
index 483054f3fef..0de410b5455 100644
--- a/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-// 2008, 2009, 2010
+// 2008, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/testsuite/23_containers/set/range_access.cc b/libstdc++-v3/testsuite/23_containers/set/range_access.cc
index b1c33b773ef..a95d6d1a1ab 100644
--- a/libstdc++-v3/testsuite/23_containers/set/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc
index 1555c48963c..e5b9b1303ac 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc
index bfc8ac1c4d2..b1b753c3257 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/24061-multiset.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/24061-multiset.cc
index ba1659aedfd..7b31e7777e1 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/24061-multiset.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/erase/24061-multiset.cc
@@ -2,7 +2,7 @@
// 2010-02-10 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single.cc
index ebc38b2402a..24b0c454a68 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single_move.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single_move.cc
index 4dc9fba5b68..2362c0f4372 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single_move.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/insert/multiset_single_move.cc
@@ -2,7 +2,7 @@
// 2010-10-27 Paolo Carlini <paolo.carlini@oracle.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc
index ac0fdaa2cc3..9e3677af800 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc
index 2bb738afd91..59ffcb7df2b 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc
index c48e474e938..19aad2cbc6e 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/29134-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc
index 72fac56c2b2..6c94aa68849 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/29134.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc b/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc
index 482166cab29..a8677e5546f 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/capacity/shrink_to_fit.cc
@@ -2,7 +2,7 @@
// 2010-01-08 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/range_access.cc b/libstdc++-v3/testsuite/23_containers/vector/range_access.cc
index cbcbf614496..1a38d666d53 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/range_access.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/2.cc
index 3cb689d30c2..f72e7613fef 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/24_iterators/range_access.cc b/libstdc++-v3/testsuite/24_iterators/range_access.cc
index e2e37e34c68..6a8693070bd 100644
--- a/libstdc++-v3/testsuite/24_iterators/range_access.cc
+++ b/libstdc++-v3/testsuite/24_iterators/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/1.cc b/libstdc++-v3/testsuite/25_algorithms/copy/1.cc
index d73c15427ff..9e4c2ccd2de 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2005, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/2.cc b/libstdc++-v3/testsuite/25_algorithms/copy/2.cc
index 08d3f59949a..4a35e5f9aaf 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/3.cc b/libstdc++-v3/testsuite/25_algorithms/copy/3.cc
index 29caf3ae9a0..f895945b859 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/3.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/34595.cc b/libstdc++-v3/testsuite/25_algorithms/copy/34595.cc
index 612eb48724e..af4bead7545 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/34595.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/34595.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/4.cc b/libstdc++-v3/testsuite/25_algorithms/copy/4.cc
index 885561a2bf4..39dbe18f311 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/4.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/4.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc b/libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc
index 4781ba1de3a..473c199e507 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/move_iterators/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc
index ab66f725142..4b8d08e24a6 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc
index 201e2787192..ce2f5361a6a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc
index d8f5dbfc61b..0ce51ea18ca 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc
index 62ecf686ddf..b11d7d28256 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc
index 655b3242dc0..dda8ee0db68 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc
index d7871320b07..ea5655b793a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc
index ac50b87de3c..617a651e750 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc
index 56a5cdef631..013df80db74 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc b/libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc
index 2f697b0b357..0b0203a8b14 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_backward/move_iterators/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc b/libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc
index 85c5db792a2..0b65beefe41 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_n/1.cc
@@ -2,7 +2,7 @@
// 2008-06-29 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc b/libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc
index 8d3411badf7..881e00dd34e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_n/2.cc
@@ -2,7 +2,7 @@
// 2008-06-29 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc b/libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc
index 75d139b8ffa..00db8acd1fa 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_n/3.cc
@@ -2,7 +2,7 @@
// 2008-06-29 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc b/libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc
index 21a95a076fb..21e99a26d0f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_n/4.cc
@@ -2,7 +2,7 @@
// 2008-06-29 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc b/libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc
index 2db2479bd53..13b98374c60 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy_n/move_iterators/1.cc
@@ -2,7 +2,7 @@
// 2008-06-29 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/fill/4.cc b/libstdc++-v3/testsuite/25_algorithms/fill/4.cc
index 838a71720e5..133e19af291 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fill/4.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fill/4.cc
@@ -1,6 +1,6 @@
// 2007-01-19 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc b/libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc
index 78a3c231227..5524864eb82 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fill_n/1.cc
@@ -1,6 +1,6 @@
// 2007-01-19 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc b/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc
index fca18d9161a..6471abc0511 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc b/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc
index 1a4b339d78c..61e047ec797 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc b/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc
index 8dc5742b3b1..6b96ddf3717 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc b/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc
index 9251d611776..474bb2709e9 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc
@@ -1,6 +1,6 @@
// 2006-03-20 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed1.cc b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed1.cc
index ab0d0ac36e5..f944ba1af00 100644
--- a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed1.cc
@@ -2,7 +2,7 @@
// { dg-require-parallel-mode "" }
// { dg-options "-fopenmp" { target *-*-* } }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed2.cc b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed2.cc
index 56f95b6fbab..b319143096e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/parallel_algorithm_mixed2.cc
@@ -2,7 +2,7 @@
// { dg-require-parallel-mode "" }
// { dg-options "-fopenmp" { target *-*-* } }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc
index 9bd9fb8a71f..f60f570bbb5 100644
--- a/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/headers/algorithm/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/heap/1.cc b/libstdc++-v3/testsuite/25_algorithms/heap/1.cc
index 1683a83f78f..2a50462065f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/heap/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/heap/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2012
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc b/libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc
index 562ab466ae7..eb9cd757dd8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/heap/moveable2.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc b/libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc
index 605fc45ce72..c2943de6fb1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_heap/1.cc
@@ -2,7 +2,7 @@
// 2007-10-12 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc b/libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc
index e4cc7a06762..e3e81a62a49 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_heap_until/1.cc
@@ -2,7 +2,7 @@
// 2007-10-12 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc b/libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc
index 87efdeff383..7112d7de4f9 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_sorted/1.cc
@@ -2,7 +2,7 @@
// 2007-10-14 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc b/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc
index cb756ca4f86..8905c37ff13 100644
--- a/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/1.cc
@@ -2,7 +2,7 @@
// 2007-10-14 Paolo Carlini <pcarlini@suse.de>
//
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/max/1.cc b/libstdc++-v3/testsuite/25_algorithms/max/1.cc
index 1757b6a49f6..28e31845d9c 100644
--- a/libstdc++-v3/testsuite/25_algorithms/max/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/max/1.cc
@@ -1,6 +1,7 @@
// 2000-03-29 sss/bkoz
-// Copyright (C) 2000, 2003, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2003, 2004, 2005, 2009, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/min/1.cc b/libstdc++-v3/testsuite/25_algorithms/min/1.cc
index ca52e497245..22641da742f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/min/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/min/1.cc
@@ -1,6 +1,7 @@
// 2000-03-29 sss/bkoz
-// Copyright (C) 2000, 2003, 2004, 2005, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2003, 2004, 2005, 2009, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/minmax/1.cc b/libstdc++-v3/testsuite/25_algorithms/minmax/1.cc
index 5e581927d69..ae3f5f02e41 100644
--- a/libstdc++-v3/testsuite/25_algorithms/minmax/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/minmax/1.cc
@@ -2,7 +2,7 @@
// 2007-11-01 Paolo Carlini <pcarlini@suse.de
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/move/1.cc b/libstdc++-v3/testsuite/25_algorithms/move/1.cc
index 65c42d12d65..44ebb5f4dfb 100644
--- a/libstdc++-v3/testsuite/25_algorithms/move/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/move/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc b/libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc
index 21120046641..01fcfa6bfc6 100644
--- a/libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/move_backward/1.cc
@@ -1,6 +1,6 @@
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/partition/1.cc b/libstdc++-v3/testsuite/25_algorithms/partition/1.cc
index bbad940a413..1762d70444e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partition/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partition/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc b/libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc
index a77e8893840..281d7d556f1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/stable_partition/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc
index 2f1226f3e17..6fb09e230af 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc
index 36e19d05af9..288c7531a5a 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/complex/synopsis.cc b/libstdc++-v3/testsuite/26_numerics/headers/complex/synopsis.cc
index ecdbee0d1c6..cf4195e8f13 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/complex/synopsis.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/complex/synopsis.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc
index b8238df9591..b5bb2af7050 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed1.cc b/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed1.cc
index a1ce8f052ec..1e5651ad4b7 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed1.cc
@@ -2,7 +2,7 @@
// { dg-require-parallel-mode "" }
// { dg-options "-fopenmp" { target *-*-* } }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed2.cc b/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed2.cc
index a38d92561d7..84a3ef9c3b0 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/numeric/parallel_numeric_mixed2.cc
@@ -2,7 +2,7 @@
// { dg-require-parallel-mode "" }
// { dg-options "-fopenmp" { target *-*-* } }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc
index 467caa0736c..cbaaf651616 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc b/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc
index 10f67dac866..d71a9db8182 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc
index 1d824135966..0e2a01ca410 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004, 2009 Free Software Foundation
+// Copyright (C) 2004, 2009, 2012 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc
index 7781d89d3ac..14724fabc6c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004, 2009 Free Software Foundation
+// Copyright (C) 2004, 2009, 2012 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc
index 6c293775a3a..875e0ad7e30 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004, 2009 Free Software Foundation
+// Copyright (C) 2004, 2009, 2012 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc
index aacf367d676..8e0f38e85de 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004, 2009 Free Software Foundation
+// Copyright (C) 2004, 2009, 2012 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc
index a9f49974d7a..d8e0f77dd95 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation
+// Copyright (C) 2005, 2006, 2007, 2009, 2012 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc
index 42dfb37ff7d..e368f1fbbae 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2005, 2009 Free Software Foundation
+// Copyright (C) 2005, 2009, 2012 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc b/libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc
index 0285417ab12..09e6d821d2a 100644
--- a/libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc
index 1552818e987..bc4e61ff178 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring.cc
@@ -3,7 +3,7 @@
// 2009-06-05 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc
index 12353023b38..70091d70c64 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/cstring_op.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/moveable.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/moveable.cc
index 64f5bcac570..965c6dbb1c9 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/moveable.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/moveable.cc
@@ -2,7 +2,7 @@
// 2010-07-07 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/pstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/pstring.cc
index 398b66c6063..d2f5bc6fa84 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/pstring.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/pstring.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/range.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/range.cc
index cd741d5fff2..e71ed8abda3 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/range.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/range.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc
index afa071eb312..d370aae908c 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string_op.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string_op.cc
index 724872decd5..d14feaef8e7 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string_op.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/char/string_op.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc
index 20ccab01244..0fabe1a08ce 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc
index 8d8e9656d9e..5a8deb173db 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc
index 9034a542c01..e08ab0a720f 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/range.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/range.cc
index 2e31a708417..ddfabc20634 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/range.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/range.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc
index 156374ac1a7..2c891e74a97 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc
index 43704af2bd1..9f56da2c734 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc
index b91453c0e77..2e3c0fbdb1a 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_char.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_char.cc
index 2f011fe52c4..377acb1279f 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_char.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_char.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc
index 89deef6f19f..c358a77f721 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring.cc
index ac87e4d69a0..295bec09978 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_awk.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_awk.cc
index 8b93fe7a721..dd074f1ad9b 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_awk.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_awk.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_ecma.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_ecma.cc
index 6c72736c5cd..d065aba8399 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_ecma.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_ecma.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_egrep.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_egrep.cc
index f38a9b8704e..0b10ea65942 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_egrep.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_egrep.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_grep.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_grep.cc
index 458f6d21cc5..56027898ea4 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_grep.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/cstring_grep.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/default.cc
index b7c6f410cde..f72e6bfef79 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/default.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/default.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/range.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/range.cc
index 027a927849e..508df08f0ce 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/range.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/char/range.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/copy_char.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/copy_char.cc
index 4ed5f92c8b0..51438f4b889 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/copy_char.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/copy_char.cc
@@ -2,7 +2,7 @@
// 2010-07-07 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc
index 691b8c7f5f1..ea51e57621b 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/extended/cstring.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc
index ba056969c5c..2bfb1c7dc0e 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/move_char.cc
@@ -2,7 +2,7 @@
// 2010-07-07 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc
index f65d783a735..f9739c8880e 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_char.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc
index b715195c383..3dfffb64943 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc
index 4dabf399677..da77b344f89 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc
index a0f41740229..45fa2dd4ed6 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc
index efc0597cc1d..1c5589ce012 100644
--- a/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc
+++ b/libstdc++-v3/testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/constants/error_type.cc b/libstdc++-v3/testsuite/28_regex/constants/error_type.cc
index 1841a462688..462c86de9d4 100644
--- a/libstdc++-v3/testsuite/28_regex/constants/error_type.cc
+++ b/libstdc++-v3/testsuite/28_regex/constants/error_type.cc
@@ -3,7 +3,7 @@
//
// 2009-06-17 Stephen M. Webb <stephen.webb@xandros.com>
//
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/constants/match_flag_type.cc b/libstdc++-v3/testsuite/28_regex/constants/match_flag_type.cc
index 10635ff5f7f..6a96e05c7a6 100644
--- a/libstdc++-v3/testsuite/28_regex/constants/match_flag_type.cc
+++ b/libstdc++-v3/testsuite/28_regex/constants/match_flag_type.cc
@@ -3,7 +3,7 @@
//
// 2009-06-17 Stephen M. Webb <stephen.webb@xandros.com>
//
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/constants/syntax_option_type.cc b/libstdc++-v3/testsuite/28_regex/constants/syntax_option_type.cc
index 1f9876cac12..9257b2ec59b 100644
--- a/libstdc++-v3/testsuite/28_regex/constants/syntax_option_type.cc
+++ b/libstdc++-v3/testsuite/28_regex/constants/syntax_option_type.cc
@@ -3,7 +3,7 @@
//
// 2009-06-17 Stephen M. Webb <stephen.webb@xandros.com>
//
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc
index b5289f802b6..f975e8570a8 100644
--- a/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc
index 2de4a0d09b8..5a23cbefbc2 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc
@@ -4,7 +4,7 @@
//
// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/default.cc
index 33fb5baa808..b8e7068856e 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/default.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/default.cc
@@ -4,7 +4,7 @@
//
// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/typedefs.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/typedefs.cc
index 8ad88995078..35da0221688 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/typedefs.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_iterator/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/default.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/default.cc
index 5105c7d8732..007c0a8f411 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/default.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/char/default.cc
@@ -4,7 +4,7 @@
//
// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/default.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/default.cc
index fe918c80d71..56a0fba06b7 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/default.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/default.cc
@@ -4,7 +4,7 @@
//
// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc
index d765ab2f403..85252a620ea 100644
--- a/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc
+++ b/libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc b/libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc
index 02bdcdadb71..92b0ac7d433 100644
--- a/libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc
+++ b/libstdc++-v3/testsuite/28_regex/match_results/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2010-06-10 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/range_access.cc b/libstdc++-v3/testsuite/28_regex/range_access.cc
index b913bc47c0b..020737464e3 100644
--- a/libstdc++-v3/testsuite/28_regex/range_access.cc
+++ b/libstdc++-v3/testsuite/28_regex/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc b/libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc
index 04fd7124277..4caf124ab44 100644
--- a/libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc
+++ b/libstdc++-v3/testsuite/28_regex/regex_error/regex_error.cc
@@ -3,7 +3,7 @@
//
// 2009-06-17 Stephen M. Webb <stephen.webb@xandros.com>
//
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc b/libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc
index 072d5d07f40..d6da1f9b731 100644
--- a/libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/28_regex/requirements/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc b/libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc
index 6beb9c5cdb2..bf26ad4ccaa 100644
--- a/libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc
+++ b/libstdc++-v3/testsuite/28_regex/sub_match/cast_char.cc
@@ -4,7 +4,7 @@
//
// 2010-06-09 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/sub_match/cast_wchar_t.cc b/libstdc++-v3/testsuite/28_regex/sub_match/cast_wchar_t.cc
index 6e29ac88c09..770d3e89d3e 100644
--- a/libstdc++-v3/testsuite/28_regex/sub_match/cast_wchar_t.cc
+++ b/libstdc++-v3/testsuite/28_regex/sub_match/cast_wchar_t.cc
@@ -4,7 +4,7 @@
//
// 2010-06-09 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/sub_match/length.cc b/libstdc++-v3/testsuite/28_regex/sub_match/length.cc
index fc12b920ad9..96dbcde5aef 100644
--- a/libstdc++-v3/testsuite/28_regex/sub_match/length.cc
+++ b/libstdc++-v3/testsuite/28_regex/sub_match/length.cc
@@ -4,7 +4,7 @@
//
// 2010-06-09 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc b/libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc
index c150da02dac..66ad87320fc 100644
--- a/libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc
+++ b/libstdc++-v3/testsuite/28_regex/sub_match/typedefs.cc
@@ -4,7 +4,7 @@
//
// 2010-06-07 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/ctor.cc b/libstdc++-v3/testsuite/28_regex/traits/char/ctor.cc
index 6f5a2f3ab8d..bd1d402df26 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/ctor.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/ctor.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc b/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
index cb8664ca8bf..76a84b63788 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
@@ -4,7 +4,7 @@
//
// 2010-06-23 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/length.cc b/libstdc++-v3/testsuite/28_regex/traits/char/length.cc
index 55406dd0ded..426081f6fe6 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/length.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/length.cc
@@ -4,7 +4,7 @@
//
// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/lookup_classname.cc b/libstdc++-v3/testsuite/28_regex/traits/char/lookup_classname.cc
index 49ffb511add..2013d3bb5bc 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/lookup_classname.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/lookup_classname.cc
@@ -4,7 +4,7 @@
//
// 2010-06-23 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/lookup_collatename.cc b/libstdc++-v3/testsuite/28_regex/traits/char/lookup_collatename.cc
index 58eb5878de5..8548123bca0 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/lookup_collatename.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/lookup_collatename.cc
@@ -4,7 +4,7 @@
//
// 2010-06-23 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/transform.cc b/libstdc++-v3/testsuite/28_regex/traits/char/transform.cc
index 1481dcfbb8c..350ad54d9da 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/transform.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/transform.cc
@@ -4,7 +4,7 @@
//
// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/transform_primary.cc b/libstdc++-v3/testsuite/28_regex/traits/char/transform_primary.cc
index 7de8904b49a..5eac0c88145 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/transform_primary.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/transform_primary.cc
@@ -4,7 +4,7 @@
//
// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/translate.cc b/libstdc++-v3/testsuite/28_regex/traits/char/translate.cc
index 2dbbba39637..8958cb18d03 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/translate.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/translate.cc
@@ -4,7 +4,7 @@
//
// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/translate_nocase.cc b/libstdc++-v3/testsuite/28_regex/traits/char/translate_nocase.cc
index 4c963ddd3a5..6ae863a875a 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/translate_nocase.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/translate_nocase.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/value.cc b/libstdc++-v3/testsuite/28_regex/traits/char/value.cc
index f0535acb2cc..eb6288eeabf 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/value.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/value.cc
@@ -3,7 +3,7 @@
// 2008-08-11 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/ctor.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/ctor.cc
index 39caf432d32..197233440ac 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/ctor.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/ctor.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/length.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/length.cc
index c3cd7b60d0c..f880ba36baa 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/length.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/length.cc
@@ -4,7 +4,7 @@
//
// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/transform.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/transform.cc
index c1f7af44d71..94ab5343a69 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/transform.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/transform.cc
@@ -4,7 +4,7 @@
//
// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate.cc
index 962c381520c..da5a90b3240 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate.cc
@@ -4,7 +4,7 @@
//
// 2010-02-17 Stephen M. Webb <stephen.webb@bregmasoft.ca>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate_nocase.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate_nocase.cc
index 5602cf00117..6d3ee3b59ab 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate_nocase.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/translate_nocase.cc
@@ -3,7 +3,7 @@
// 2007-03-12 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/value.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/value.cc
index f0535acb2cc..eb6288eeabf 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/value.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/value.cc
@@ -3,7 +3,7 @@
// 2008-08-11 Stephen M. Webb <stephen.webb@bregmasoft.com>
//
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc
index 690f1215352..a6ac87e531b 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++0x" }
// { dg-do compile }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/headers/atomic/macros.cc b/libstdc++-v3/testsuite/29_atomics/headers/atomic/macros.cc
index fe78cff28aa..d8c821b3e99 100644
--- a/libstdc++-v3/testsuite/29_atomics/headers/atomic/macros.cc
+++ b/libstdc++-v3/testsuite/29_atomics/headers/atomic/macros.cc
@@ -1,7 +1,7 @@
// { dg-options "-std=gnu++0x" }
// { dg-do compile }
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc b/libstdc++-v3/testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc
index 38b49b6db11..a41c2195a6d 100644
--- a/libstdc++-v3/testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc b/libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc
index 5df33d943a9..618fa3eea5a 100644
--- a/libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc b/libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc
index ec018f73639..8271b568a4d 100644
--- a/libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc
index 3d7a09d829a..297846fbe72 100644
--- a/libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++98" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc b/libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc
index 6089f33171a..801b10f9087 100644
--- a/libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc
@@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// { dg-require-gthreads "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc b/libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc
index 12fa6fe40ef..98959132de5 100644
--- a/libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc
+++ b/libstdc++-v3/testsuite/abi/demangle/regression/cw-16.cc
@@ -1,6 +1,6 @@
// 2003-11-07 Carlo Wood <carlo@alinoe.com>
-// Copyright (C) 2003, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/decimal/operator_neg.cc b/libstdc++-v3/testsuite/decimal/operator_neg.cc
index d1db024d96a..a02f4cac639 100644
--- a/libstdc++-v3/testsuite/decimal/operator_neg.cc
+++ b/libstdc++-v3/testsuite/decimal/operator_neg.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc b/libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc
index c87e35de0fd..a517c0607a1 100644
--- a/libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc
+++ b/libstdc++-v3/testsuite/ext/ext_pointer/1_neg.cc
@@ -2,7 +2,7 @@
// Test for Container using non-standard pointer types.
-// Copyright (C) 2008, 2009
+// Copyright (C) 2008, 2009, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/basic_multimap.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/basic_multimap.cc
index ba593f23541..f79ebe85161 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/basic_multimap.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/basic_multimap.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/basic_set.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/basic_set.cc
index 07c74e64300..5951028b84b 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/basic_set.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/basic_set.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/ranged_hash.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/ranged_hash.cc
index e752242faf4..293bb32f852 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/ranged_hash.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/ranged_hash.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/tree_intervals.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/tree_intervals.cc
index a29756fd05a..672588eb161 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/tree_intervals.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/tree_intervals.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/tree_order_statistics.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/tree_order_statistics.cc
index 68ef8b7438f..74cf518b0ab 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/tree_order_statistics.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/tree_order_statistics.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/trie_dna.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/trie_dna.cc
index 06ae5399cc9..5e7a120b688 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/trie_dna.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/trie_dna.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/example/trie_prefix_search.cc b/libstdc++-v3/testsuite/ext/pb_ds/example/trie_prefix_search.cc
index 09e025aff79..cc362f22591 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/example/trie_prefix_search.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/example/trie_prefix_search.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand.cc
index 5656a5b2991..1eaa38630cb 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_map_rand.cc
@@ -5,7 +5,7 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand.cc
index e91a753ebbf..cecd2bfc7cb 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_map_rand.cc
@@ -2,7 +2,7 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand.cc
index 72273a8bc37..da99917cecf 100644
--- a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand.cc
+++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_set_rand.cc
@@ -2,7 +2,7 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc b/libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc
index b572f1eb7a1..1148ba0b8eb 100644
--- a/libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/capacity/29134.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc b/libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc
index bed965a5e56..f5a3b57267e 100644
--- a/libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/capacity/shrink_to_fit.cc
@@ -2,7 +2,7 @@
// 2010-01-08 Paolo Carlini <paolo.carlini@oracle.com>
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/ext/vstring/range_access.cc b/libstdc++-v3/testsuite/ext/vstring/range_access.cc
index f734e92c72b..370a2af4e50 100644
--- a/libstdc++-v3/testsuite/ext/vstring/range_access.cc
+++ b/libstdc++-v3/testsuite/ext/vstring/range_access.cc
@@ -1,7 +1,7 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp b/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp
index 19fa0e2cc79..07d529f77e3 100644
--- a/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp
+++ b/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp
@@ -1,6 +1,7 @@
# Functional and regression tests in C++ for libstdc++.
-# Copyright (C) 2001, 2002, 2003, 2004, 2009, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2004, 2009, 2010, 2011
+# Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc b/libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc
index 596ded8b207..7f66f835b12 100644
--- a/libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc
+++ b/libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_find.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_find.cc
index cdf15105113..64a8603a72e 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_find.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_find.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_find.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_find.cc
index 1680ff4ffcb..e1e9e27823c 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_find.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_find.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_insert.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_insert.cc
index 07d644e4fec..a850f64293c 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_insert.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/all_int_subscript_insert.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/all_text_find.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/all_text_find.cc
index b997a5ee9cb..32affd33fdb 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/all_text_find.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/all_text_find.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_zlob_int_find.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_zlob_int_find.cc
index 82abb640bb0..7d10a06ae87 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_zlob_int_find.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/hash_zlob_int_find.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find.hpp b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find.hpp
index 3b850840bf4..d32f78689e8 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find.hpp
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_large.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_large.cc
index 68fd9792fbf..ce117fe9972 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_large.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_large.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_small.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_small.cc
index 113a01810d4..1a8e1af14a4 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_small.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_find_small.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert.hpp b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert.hpp
index 79f08126341..610eac3ee17 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert.hpp
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_large.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_large.cc
index 1da0f2a0a37..295675df6be 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_large.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_large.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem.hpp b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem.hpp
index 881960fc804..113388cfab2 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem.hpp
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_large.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_large.cc
index 7143278e272..e0e2c9fb4bb 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_large.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_large.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_small.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_small.cc
index c152a84cb08..40e3d3b1334 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_small.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_mem_small.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_small.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_small.cc
index ef28c2d59e6..c923fe5944c 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_small.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/multimap_text_insert_small.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push.cc
index 5245521c85c..34a1eecef07 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push_pop.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push_pop.cc
index 6e59bdcd83b..98bd31ad17e 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push_pop.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_int_push_pop.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join.cc
index cad1d3596b7..14192c84a1a 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_join.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify.hpp b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify.hpp
index 8f31e11d924..3e8ea86970d 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify.hpp
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_down.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_down.cc
index 5435956ff42..27760eaa18b 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_down.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_down.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_up.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_up.cc
index ecb786a3dff..040adb5756c 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_up.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_modify_up.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem.cc
index 50423db3d79..5b09da2aed2 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push.cc
index ca5ff6d2a80..53d5acf2068 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop.cc
index a55a61e7b4f..0b47c6d01ae 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/priority_queue_text_push_pop.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_insert.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_insert.cc
index 43466a2bfd6..ef3dc8f1e4a 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_insert.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_insert.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find.cc b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find.cc
index dc205547d76..33a93670f60 100644
--- a/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find.cc
+++ b/libstdc++-v3/testsuite/performance/ext/pb_ds/tree_text_lor_find.cc
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc
index 1950459a912..9daa5be2387 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2005, 2009 Free Software Foundation
+// Copyright (C) 2005, 2009, 2011 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc
index 73ffdcbc109..a5a8ec00fae 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2005, 2009 Free Software Foundation
+// Copyright (C) 2005, 2009, 2011 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc
index ec41e5be852..10e7982cb4a 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2005, 2008, 2009 Free Software Foundation
+// Copyright (C) 2005, 2008, 2009, 2011 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc
index 0990e5e3cc0..6ab6f4a187b 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2005, 2009 Free Software Foundation
+// Copyright (C) 2005, 2009, 2011 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc
index 9c693d4182f..874b6295155 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc
index ea9df08f174..ba1d9c0047f 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc
index 08d87f2df27..9903f758166 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc
index 970593e0d6e..be9588c8703 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multimap/capacity/29134-multimap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc
index a0b3fd85c4f..bb1fd80d0b4 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_multiset/capacity/29134-multiset.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc
index 63abcd41e91..05db2eddbc1 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2006, 2007, 2008, 2009, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/list_update_policy_string_form.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/list_update_policy_string_form.hpp
index 9f3e6bdf9ba..2020fbe034b 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/list_update_policy_string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/list_update_policy_string_form.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/probe_fn_string_form.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/probe_fn_string_form.hpp
index cb874d28b58..4aa4bde84c1 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/probe_fn_string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/probe_fn_string_form.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/size_policy_string_form.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/size_policy_string_form.hpp
index 65655d71387..3a0842ff162 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/size_policy_string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/size_policy_string_form.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/tree_supports_order_statistics.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/tree_supports_order_statistics.hpp
index a6322798988..c9fa6bcd14b 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/tree_supports_order_statistics.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/tree_supports_order_statistics.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_order_statistics.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_order_statistics.hpp
index 925be58d47f..212418335b0 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_order_statistics.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_order_statistics.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_prefix_search.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_prefix_search.hpp
index b73335e0aab..e95062833c4 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_prefix_search.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/trie_supports_prefix_search.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/detail/trigger_policy_string_form.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/detail/trigger_policy_string_form.hpp
index 0d98fea7feb..8f5a955e670 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/detail/trigger_policy_string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/detail/trigger_policy_string_form.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/native_set.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/native_set.hpp
index bcee0a8eb03..34176f38c08 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/native_set.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/native_set.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/string_form.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/string_form.hpp
index 35e7ddd152a..0b2bf01c9f6 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/string_form.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/string_form.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/assoc/template_policy.hpp b/libstdc++-v3/testsuite/util/common_type/assoc/template_policy.hpp
index 14d20dc08bb..3f4eab3893b 100644
--- a/libstdc++-v3/testsuite/util/common_type/assoc/template_policy.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/assoc/template_policy.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/common_type/priority_queue/common_type.hpp b/libstdc++-v3/testsuite/util/common_type/priority_queue/common_type.hpp
index b486c8c9c90..f9e8c07a379 100644
--- a/libstdc++-v3/testsuite/util/common_type/priority_queue/common_type.hpp
+++ b/libstdc++-v3/testsuite/util/common_type/priority_queue/common_type.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/native_type/native_hash_map.hpp b/libstdc++-v3/testsuite/util/native_type/native_hash_map.hpp
index acfa584c6c1..73ebe75d5c1 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_hash_map.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_hash_map.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/native_type/native_hash_multimap.hpp b/libstdc++-v3/testsuite/util/native_type/native_hash_multimap.hpp
index 8008a0e89bf..1e0521b8f71 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_hash_multimap.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_hash_multimap.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/native_type/native_hash_set.hpp b/libstdc++-v3/testsuite/util/native_type/native_hash_set.hpp
index dac0c11eab9..07498899102 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_hash_set.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_hash_set.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/native_type/native_map.hpp b/libstdc++-v3/testsuite/util/native_type/native_map.hpp
index 0fae6b15c1c..e3b2b43f07a 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_map.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_map.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/native_type/native_multimap.hpp b/libstdc++-v3/testsuite/util/native_type/native_multimap.hpp
index c29bfb68e57..ca5cb700ac4 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_multimap.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_multimap.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/native_type/native_priority_queue.hpp b/libstdc++-v3/testsuite/util/native_type/native_priority_queue.hpp
index b2c79410340..be17a89489e 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_priority_queue.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_priority_queue.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/native_type/native_set.hpp b/libstdc++-v3/testsuite/util/native_type/native_set.hpp
index c4909c726f3..e3db50b74d2 100644
--- a/libstdc++-v3/testsuite/util/native_type/native_set.hpp
+++ b/libstdc++-v3/testsuite/util/native_type/native_set.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/multimap_common_type.hpp b/libstdc++-v3/testsuite/util/performance/assoc/multimap_common_type.hpp
index b4b07ea2755..297120f98ee 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/multimap_common_type.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/multimap_common_type.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/common_type.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/common_type.hpp
index 298443d3145..05e679d60ea 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/common_type.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/common_type.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_find_test.hpp b/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_find_test.hpp
index 18d2c6badce..fae054fbf8f 100644
--- a/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_find_test.hpp
+++ b/libstdc++-v3/testsuite/util/performance/assoc/timing/multimap_find_test.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2007, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.h b/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.h
index 48823bf04d0..8eae1b51335 100644
--- a/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.h
+++ b/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2008, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.tcc b/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.tcc
index 7cc724a95f5..9c6f86fc77c 100644
--- a/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.tcc
+++ b/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.tcc
@@ -1,6 +1,7 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2008, 2009, 2010, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.tcc b/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.tcc
index 19cc3906eb1..6efd5dfffa3 100644
--- a/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.tcc
+++ b/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.tcc
@@ -1,6 +1,7 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2008, 2009, 2010, 2011
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/trait/assoc/native_type_trait.hpp b/libstdc++-v3/testsuite/util/regression/trait/assoc/native_type_trait.hpp
index f8f5bae0d25..92e45f38b1a 100644
--- a/libstdc++-v3/testsuite/util/regression/trait/assoc/native_type_trait.hpp
+++ b/libstdc++-v3/testsuite/util/regression/trait/assoc/native_type_trait.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/trait/assoc/trait.hpp b/libstdc++-v3/testsuite/util/regression/trait/assoc/trait.hpp
index 6074f38cd72..155a585fee1 100644
--- a/libstdc++-v3/testsuite/util/regression/trait/assoc/trait.hpp
+++ b/libstdc++-v3/testsuite/util/regression/trait/assoc/trait.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/regression/trait/assoc/type_trait.hpp b/libstdc++-v3/testsuite/util/regression/trait/assoc/type_trait.hpp
index 4c3f7cabe77..8510040e0d9 100644
--- a/libstdc++-v3/testsuite/util/regression/trait/assoc/type_trait.hpp
+++ b/libstdc++-v3/testsuite/util/regression/trait/assoc/type_trait.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/testsuite_api.h b/libstdc++-v3/testsuite/util/testsuite_api.h
index 3fded1361c6..94a49f7e292 100644
--- a/libstdc++-v3/testsuite/util/testsuite_api.h
+++ b/libstdc++-v3/testsuite/util/testsuite_api.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Exception testing utils for the C++ library testsuite.
//
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/testsuite/util/testsuite_character.h b/libstdc++-v3/testsuite/util/testsuite_character.h
index d73280a2e2c..d71742cf59e 100644
--- a/libstdc++-v3/testsuite/util/testsuite_character.h
+++ b/libstdc++-v3/testsuite/util/testsuite_character.h
@@ -3,7 +3,7 @@
// Testing character type and state type with char_traits and codecvt
// specializations for the C++ library testsuite.
//
-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009
+// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/testsuite/util/testsuite_containers.h b/libstdc++-v3/testsuite/util/testsuite_containers.h
index 001c9c86598..c3e8cab5bb6 100644
--- a/libstdc++-v3/testsuite/util/testsuite_containers.h
+++ b/libstdc++-v3/testsuite/util/testsuite_containers.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the terms
diff --git a/libstdc++-v3/testsuite/util/testsuite_io.h b/libstdc++-v3/testsuite/util/testsuite_io.h
index 4251b710715..8aeacbfe2ff 100644
--- a/libstdc++-v3/testsuite/util/testsuite_io.h
+++ b/libstdc++-v3/testsuite/util/testsuite_io.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Testing streambuf/filebuf/stringbuf for the C++ library testsuite.
//
-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010
+// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/testsuite/util/testsuite_iterators.h b/libstdc++-v3/testsuite/util/testsuite_iterators.h
index 581ce35eab0..c3ba72bbd55 100644
--- a/libstdc++-v3/testsuite/util/testsuite_iterators.h
+++ b/libstdc++-v3/testsuite/util/testsuite_iterators.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Iterator Wrappers for the C++ library testsuite.
//
-// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free