Commit Graph

110895 Commits

Author SHA1 Message Date
Rainer Orth
569dc49461 Makefile.in (FPBIT_FUNCS, [...]): Remove.
gcc:
	* Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS, TPBIT_FUNCS): Remove.
	(libgcc-support): Remove $(FPBIT), $(DPBIT), $(TPBIT)
	dependencies.
	(libgcc.mvars): Remove FPBIT, FPBIT_FUNCS, DPBIT, DPBIT_FUNCS,
	TPBIT, TPBIT_FUNCS.
	* config/fp-bit.c, config/fp-bit.h: Move to ../libgcc.
	* config/arm/t-strongarm-elf (FPBIT, DPBIT, dp-bit.c, fp-bit.c):
	Remove.
	* config/arm/t-vxworks: Likewise.
	* config/arm/t-wince-pe: Likewise.
	* config/avr/t-avr (fp-bit.c, FPBIT): Remove.
	* config/bfin/t-bfin (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/bfin/t-bfin-elf: Likewise.
	* config/bfin/t-bfin-linux: Likewise.
	* config/bfin/t-bfin-uclinux: Likewise.
	* config/cris/t-cris (FPBIT, DPBIT, dp-bit.c, tmplibgcc_fp_bit.c):
	Remove.
	* config/fr30/t-fr30: Likewise.
	* config/frv/t-frv: Likewise.
	* config/h8300/t-h8300 (FPBIT, fp-bit.c): Remove.
	* config/iq2000/t-iq2000 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/m32c/t-m32c: Likewise.
	* config/m32r/t-linux: (LIB2FUNCS_EXTRA, fp-bit.c, dp-bit.c): Remove.
	* config/m32r/t-m32r (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/mcore/t-mcore: Likewise.
	* config/mep/t-mep: Likewise.
	* config/microblaze/t-microblaze: Likewise.
	* config/mips/t-linux64 (TPBIT, tp-bit.c): Remove.
	* config/mips/t-mips (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/mips/t-sdemtk (FPBIT, DPBIT): Remove.
	* config/mips/t-sr71k (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/mn10300/t-linux: Remove.
	* config/mn10300/t-mn10300 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/pdp11/t-pdp11: Likewise.
	* config/picochip/t-picochip (FPBIT, fp-bit.c): Remove.
	* config/rs6000/ppc64-fp.c: Move to ../libgcc/config/rs6000.
	* config/rs6000/t-aix43 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	(LIB2FUNCS_EXTRA): Remove $(srcdir)/config/rs6000/ppc64-fp.c.
	* config/rs6000/t-aix52: Likewise.
	* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Remove
	$(srcdir)/config/rs6000/ppc64-fp.c.
	* config/rs6000/t-fprules-fpbit: Remove.
	* config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Remove.
	* config/rs6000/t-lynx (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/sh/t-netbsd (FPBIT, DPBIT): Remove.
	* config/sh/t-sh (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/sparc/t-elf: Likewise.
	* config/sparc/t-leon: Likewise.
	* config/sparc/t-leon3: Likewise.
	* config/spu/t-spu-elf: Likewise.
	(DPBIT_FUNCS): Remove.
	* config/stormy16/t-stormy16 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
	* config/v850/t-v850: Likewise.
	* config.gcc (avr-*-rtems*): Add avr/avr-lib.h to libgcc_tm_file.
	(avr-*-*): Likewise.
	(h8300-*-rtems*): Set libgcc_tm_file.
	(h8300-*-elf*): Likewise.
	(powerpc-*-eabisimaltivec*): Remove rs6000/t-fprules-fpbit from
	tmake_file.
	(powerpc-*-eabisim*): Likewise.
	(powerpc-*-elf*): Likewise.
	(powerpc-*-eabialtivec*): Likewise.
	(powerpc-xilinx-eabi*): Likewise.
	(powerpc-*-eabi*): Likewise.
	(powerpc-*-rtems*): Likewise.
	(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Likewise.
	(powerpcle-*-elf*): Likewise.
	(powerpcle-*-eabisim*): Likewise.
	(powerpcle-*-eabi*): Likewise.
	(rx-*-elf*): Add rx/rx-lib.h to libgcc_tm_file.
	(am33_2.0-*-linux*): Remove mn10300/t-linux from tmake_file.
	* doc/fragments.texi (Target Fragment, Floating Point Emulation):
	Remove.

	gcc/po:
	* EXCLUDES (config/fp-bit.c, config/fp-bit.h): Remove.

	libgcc:
	* Makefile.in (double_type_size, long_double_type_size): Set.
	Remove $(fpbit-in-libgcc) support.
	(FPBIT_FUNCS, DPBIT_FUNCS, TPBIT_FUNCS): New variables.
	(fpbit-src): New variable.
	($(fpbit-o), $(fpbit-s-o)): Use $(fpbit-src) instead of $(FPBIT).
	Compile with -DFLOAT $(FPBIT_CFLAGS).
	Use $<.
	($(dpbit-o), $(dpbit-s-o)): Use $(fpbit-src) instead of $(DPBIT).
	Compile with $(FPBIT_CFLAGS).
	Use $<.
	($(tpbit-o), $(tpbit-s-o): Use $(fpbit-src) instead of $(TPBIT).
	Compile with -DFLOAT $(TPBIT_CFLAGS).
	Use $<.
	* configure.ac (double_type_size, long_double_type_size):
	Determine and substitute.
	* configure: Regenerate.
	* fp-bit.c, fp-bit.h: New files.
	* config/avr/avr-lib.h, config/h8300/h8300-lib.h: New files.
	* config/mips/t-irix6 (TPBIT, $(gcc_objdir)/tp-bit.c): Remove.
	* config/mips/t-mips: New file.
	* config/mips/t-sdemtk: New file.
	* config/rs6000/ppc64-fp.c: New file.
	* config/rs6000/t-darwin (LIB2ADD): Add
	$(srcdir)/config/rs6000/ppc64-fp.c.
	* config/rs6000/t-ppc64-fp: New file.
	* config/rx/rx-lib.h: New file.
	* config/rx/t-rx (FPBIT): Set to true.
	($(gcc_objdir)/fp-bit.c): Remove.
	(DPBIT): Set to true only with -m64bit-doubles.
	($(gcc_objdir)/dp-bit.c): Remove.
	* config/sparc/t-softfp: Remove.
	* config/spu/t-elf: New file.
	* config/t-fdpbit, config/t-fpbit: New files.
	* config.host (m32c*-*-*): Add t-fdpbit to tmake_file.
	(mips*-*-*): Likewise.
	(arm-wrs-vxworks): Likewise.
	(arm*-*-freebsd*): Likewise.
	(avr-*-rtems*): Add t-fpbit to tmake_file.
	(avr-*-*): Likewise.
	(bfin*-elf*): Add t-fdpbit to tmake_file.
	(bfin*-uclinux*): Likewise.
	(bfin*-linux-uclibc*): Likewise.
	(bfin*-rtems*): New case.
	Add t-fdpbit to tmake_file.
	(bfin*-*): Add t-fdpbit to tmake_file.
	(crisv32-*-elf): Likewise.
	(cris-*-linux*): Likewise.
	(fr30-*-elf): Likewise.
	(frv-*-elf, frv-*-*linux*): Likewise.
	(h8300-*-rtems*, h8300-*-elf*): Add t-fpbit to tmake_file.
	(iq2000*-*-elf*): Add t-fdpbit to tmake_file.
	(m32r-*-elf*): Likewise.
	(m32rle-*-elf*): Likewise.
	(m32r-*-linux*): Likewise.
	(m32rle-*-linux*): Likewise.
	(mcore-*-elf): Add t-fdpbit to tmake_file.
	(microblaze*-*-*): Likewise.
	(mips-sgi-irix6.5*): Add t-tpbit to tmake_file.
	(mips*-*-netbsd*): Add mips/t-mips to tmake_file.
	(mips64*-*-linux*): Also handle mipsisa64*-*-linux*.
	Fix typo.
	Add mips/t-tpbit to tmake-file.
	(mips*-*-linux*): Fix typo.
	(mips*-sde-elf*): New case
	Add mips/t-sdemtk unless using newlib.
	(mipsisa64sr71k-*-elf*): Add t-fdpbit to tmake_file.
	(mipsisa64sb1-*-elf*): Add mips/t-mips to tmake_file.
	(mn10300-*-*): Likewise.
	(pdp11-*-*): Likewise.
	(picochip-*-*): Add t-fpbit to tmake_file.
	(powerpc-*-eabisimaltivec*): Likewise.
	(powerpc-*-eabisim*): Likewise.
	(powerpc-*-elf*): Likewise.
	(powerpc-*-eabialtivec*): Likewise.
	(powerpc-xilinx-eabi*): New case.
	Add t-fdpbit to tmake_file.
	(powerpc-*-eabi*):  Add t-fdpbit to tmake_file.
	(powerpc-*-rtems*): Likewise.
	(powerpc-*-linux*, powerpc64-*-linux*): Add rs6000/t-ppc64-fp to
	tmake_file.
	(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add t-fdpbit to
	tmake_file.
	(powerpc-*-lynxos*): Likewise.
	(powerpcle-*-elf*): Likewise.
	(powerpcle-*-eabisim*): Likewise.
	(powerpcle-*-eabi*): Likewise.
	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
	t-fdpbit, rs6000/t-ppc64-fp to tmake_file.
	(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
	(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
	(rx-*-elf): Add t-fdpbit to tmake_file.
	(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
	(sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
	(sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
	(sh64l*-*-netbsd*): Add t-fdpbit to tmake_file except on
	sh*-*-netbsd*.
	(sh-*-rtems*): Add t-fdpbit to tmake_file.
	(sh-wrs-vxworks): Likewise.
	(sparc-*-elf*): Replace sparc/t-softfp by t-fdpbit in tmake_file.
	(sparc-*-linux*): Add t-fdpbit to tmake_file for *-leon*.
	(sparc-*-rtems*, sparc64-*-rtems*): Split off ...
	(sparc64-*-rtems*): ... new case.
	(sparc-*-rtems*): Add t-fdpbit to tmake_file.
	(spu-*-elf*): Likewise.
	Add spu/t-elf to tmake_file.
	(v850*-*-*): Add t-fdpbit to tmake_file.
	(xstormy16-*-elf): Likewise.
	(am33_2.0-*-linux*): Add t-fdpbit to tmake_file.
	(mep*-*-*): Likewise.

From-SVN: r177448
2011-08-05 14:53:09 +00:00
Rainer Orth
201cdb7438 Makefile.in (UNWIND_H): Remove.
gcc:
	* Makefile.in (UNWIND_H): Remove.
	(LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Move to
	../libgcc/Makefile.in.
	(LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): Likewise.
	(LIBUNWINDDEP): Remove.
	(libgcc-support): Remove LIB2ADDEH, $(srcdir)/emutls.c dependencies.
	(libgcc.mvars): Remove LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED,
	LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL.
	(stmp-int-hdrs): Remove $(UNWIND_H) dependency.
	Don't copy $(UNWIND_H).
	* config.gcc (ia64*-*-linux*): Remove with_system_libunwind
	handling.
	* configure.ac (GCC_CHECK_UNWIND_GETIPINFO): Remove.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
	unwind-dw2-fde-compat.c, unwind-dw2-fde-glibc.c, unwind-dw2-fde.c,
	unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
	unwind-pe.h, unwind-sjlj.c, unwind.inc: Move to ../libgcc.
	* unwind-dw2-fde-darwin.c: Move to ../libgcc/config.
	* config/arm/libunwind.S, config/arm/pr-support.c,
	config/arm/unwind-arm.c, config/arm/unwind-arm.h: Move to
	../libgcc/config/arm.
	* config/arm/t-bpabi (UNWIND_H, LIB2ADDEH): Remove.
	* config/arm/t-symbian (UNWIND_H, LIB2ADDEH): Remove.
	* config/frv/t-frv ($(T)frvbegin$(objext)): Use
	$(srcdir)/../libgcc to refer to unwind-dw2-fde.h.
	($(T)frvend$(objext)): Likewise.
	* config/ia64/t-glibc (LIB2ADDEH): Remove.
	* config/ia64/t-glibc-libunwind: Move to ../libgcc/config/ia64.
	* config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
	config/ia64/unwind-ia64.c, config/ia64/unwind-ia64.h: Move to
	../libgcc/config/ia64.
	* config/ia64/t-hpux (LIB2ADDEH): Remove.
	* config/ia64/t-ia64 (LIB2ADDEH): Remove.
	* config/ia64/t-vms (LIB2ADDEH): Remove.
	* config/ia64/vms.h (UNW_IVMS_MODE,
	MD_UNW_COMPATIBLE_PERSONALITY_P): Remove.
	* config/picochip/t-picochip (LIB2ADDEH): Remove.
	* config/rs6000/aix.h (R_LR, MD_FROB_UPDATE_CONTEXT): Remove.
	* config/rs6000/t-darwin (LIB2ADDEH): Remove.
	* config/rs6000/darwin-fallback.c: Move to ../libgcc/config/rs6000.
	* config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): Use
	$(srcdir)/../libgcc to refer to unwinder sources.
	* config/spu/t-spu-elf (LIB2ADDEH): Remove.
	* config/t-darwin (LIB2ADDEH): Remove.
	* config/t-freebsd (LIB2ADDEH): Remove.
	* config/t-libunwind (LIB2ADDEH, LIB2ADDEHSTATIC): Remove.
	* config/t-libunwind-elf: Move to ../libgcc/config.
	* config/t-linux (LIB2ADDEH): Remove.
	* config/t-sol2 (LIB2ADDEH): Remove.
	* config/xtensa/t-xtensa (LIB2ADDEH): Remove.
	* system.h (MD_FROB_UPDATE_CONTEXT): Poison.

	gcc/po:
	* EXCLUDES (unwind-c.c, unwind-dw2-fde-darwin.c)
	(unwind-dw2-fde-glibc.c, unwind-dw2-fde.c, unwind-dw2-fde.h)
	(unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h): Remove.

	libgcc:
	* Makefile.in (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): New
	variables.
	(LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): New variables.
	(LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Add $(srcdir)/emutls.c.
	(install-unwind_h): New target.
	(all): Depend on it.
	* config.host (unwind_header): New variable.
	(*-*-freebsd*): Set tmake_file to t-eh-dw2-dip.
	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
	*-*-gnu*): Likewise, also for *-*-kopensolaris*-gnu.
	(*-*-solaris2*): Add t-eh-dw2-dip to tmake_file.
	(arm*-*-linux*): Add arm/t-bpabi for arm*-*-linux-*eabi.
	Set unwind_header.
	(arm*-*-uclinux*): Add arm/t-bpabi for arm*-*-uclinux*eabi.
	Set unwind_header.
	(arm*-*-eabi*, arm*-*-symbianelf*): Add arm/t-bpabi for
	arm*-*-eabi*.
	Add arm/t-symbian to tmake_file for arm*-*-symbianelf*.
	Set unwind_header.
	(ia64*-*-elf*): Add ia64/t-eh-ia64 to tmake_file.
	(ia64*-*-freebsd*): Likewise.
	(ia64*-*-linux*): Add ia64/t-glibc, ia64/t-eh-ia64, t-libunwind to
	tmake_file.
	Add t-libunwind-elf, ia64/t-glibc-libunwind unless
	$with_system_libunwind.
	(ia64*-*-hpux*): Set tmake_file.
	(ia64-hp-*vms*): Add ia64/t-eh-ia64 to tmake_file.
	(picochip-*-*): Set tmake_file.
	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Set
	md_unwind_header.
	(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
	(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
	(s390x-ibm-tpf*): Add t-eh-dw2-dip to tmake_file.
	(xtensa*-*-elf*): Set tmake_file.
	(xtensa*-*-linux*): Likewise.
	* configure.ac: Include ../config/unwind_ipinfo.m4.
	Call GCC_CHECK_UNWIND_GETIPINFO.
	Link unwind.h to $unwind_header.
	* configure: Regenerate.
	* emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
	unwind-dw2-fde-compat.c, unwind-dw2-fde-dip.c, unwind-dw2-fde.c,
	unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
	unwind-pe.h, unwind-sjlj.c, unwind.inc: New files.
	* config/unwind-dw2-fde-darwin.c: New file.
	* config/arm/libunwind.S, config/arm/pr-support.c,
	config/arm/t-bpabi, config/arm/t-symbian, config/arm/unwind-arm.c,
	config/arm/unwind-arm.h,: New files.
	* config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
	config/ia64/t-eh-ia64, config/ia64/t-glibc,
	config/ia64/t-glibc-libunwind, config/ia64/t-hpux,
	config/ia64/t-vms, config/ia64/unwind-ia64.c,
	config/ia64/unwind-ia64.h: New files.
	* config/picochip/t-picochip: New file.
	* config/rs6000/aix-unwind.h, config/rs6000/darwin-fallback.c: New
	files.
	* config/rs6000/t-darwin (LIB2ADDEH): Set.
	* config/s390/t-tpf (LIB2ADDEH): Remove.
	* config/t-darwin (LIB2ADDEH): Set.
	* config/t-eh-dw2-dip: New file.
	* config/t-libunwind, config/t-libunwind-elf: New files.
	* config/t-sol2 (LIB2ADDEH): Remove.
	* config/xtensa/t-xtensa: New file.

	gcc/ada:
	* gcc-interface/Makefile.in (raise-gcc.o): Search
	$(srcdir)/../libgcc.

	libgo:
	* Makefile.am (AM_CFLAGS): Search $(srcdir)/../libgcc.
	* Makefile.in: Regenerate.

	libjava:
	* configure.ac (GCC_UNWIND_INCLUDE): Rename to
	LIBGCC_UNWIND_INCLUDE.
	Point to $(multi_basedir)/./libjava/../libgcc.
	* configure: Regenerate.
	* Makefile.am (GCC_UNWIND_INCLUDE): Reflect this.
	* Makefile.in: Regenerate.

	libobjc:
	* Makefile.in (INCLUDES): Search
	$(srcdir)/$(MULTISRCTOP)../libgcc.

	libstdc++-v3:
	* acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Point TOPLEVEL_INCLUDES
	to $(toplevel_srcdir)/libgcc.
	* configure: Regenerate.

From-SVN: r177447
2011-08-05 14:37:48 +00:00
Arnaud Charlet
d50f4827c7 [multiple changes]
2011-08-05  Bob Duff  <duff@adacore.com>

	* sinfo.ads, sinfo.adb (Subpool_Handle_Name): New attribute for
	subpools.
	* par-ch4.adb (P_Allocator): Parse new subpool specification syntax.

2011-08-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Try_Container_Indexing): New procedure to implement the
	general indexing aspects of Ada2012. Called when analyzing indexed
	components when other interpretations fail.
	* sem_ch8.adb (Find_Direct_Name): check for implicit dereference only
	in an expression context where overloading is meaningful. This excludes
	the occurrence in an aspect specification (efficiency only).
	* sem_attr.adb (Analyze_Attribute): indicate that the attributes
	related to iterators can be set by an attribute specification, but
	cannot be queried.
	* sem_ch13.adb (Analyze_Aspect_Specifications): handle
	Constant_Indexing and Variable_Indexing.
	(Check_Indexing_Functions): New procedure to perform legality checks.
	Additional semantic checks at end of declarations.

From-SVN: r177446
2011-08-05 16:29:43 +02:00
Arnaud Charlet
efe05dfc95 [multiple changes]
2011-08-05  Sergey Rybin  <rybin@adacore.com>

	* tree_io.ads: Update ASIS_Version_Number because of the change of the
	order of calling Tree_Write/Tree_Read routines made for aspects.

2011-08-05  Bob Duff  <duff@adacore.com>

	* a-fihema.adb (Finalize): Fix race condition.

From-SVN: r177445
2011-08-05 16:27:16 +02:00
Arnaud Charlet
5f9cdefe6b [multiple changes]
2011-08-05  Yannick Moy  <moy@adacore.com>

	* sem_ch12.adb (Analyze_Package_Instantiation,
	Need_Subprogram_Instance_Body): do not generate instance bodies in ALFA
	mode.

2011-08-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_type.adb (Specific_Type): in an instance, the type-specific
	operand of an equality check that involves null may have a private
	type. Use full view to determine legality of construct.

From-SVN: r177444
2011-08-05 16:24:40 +02:00
Arnaud Charlet
822868aa56 [multiple changes]
2011-08-05  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
	delete or close the file when the call to gnatmake was successful.

2011-08-05  Yannick Moy  <moy@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): in ALFA mode, set
	Global_Discard_Names.

2011-08-05  Ed Schonberg  <schonberg@adacore.com>

	* sinfo.ads: comments on use of entity field for aspect specifications.

2011-08-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Reset_Entity): If the entity field of the associated
	node is not itself an entity but a selected component, it is a
	rewritten parameterless call to an en enclosing synchronized operation,
	and this expansion will be performed again in the instance, so there is
	no global information to preserve.

From-SVN: r177443
2011-08-05 16:21:03 +02:00
Arnaud Charlet
44a10091cf [multiple changes]
2011-08-05  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Set_All_DT_Position): Cleanup code and improve support
	for renamings of predefined primitives.
	(In_Predef_Prims_DT): New subprogram.

2011-08-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb, sem_util.ads (Check_Implicit_Dereference): If a
	possible interpretation of name is a reference type, add an
	interpretation that is the designated type of the reference
	discriminant of that type.
	* sem_res.adb (resolve): If the interpretation imposed by context is an
	implicit dereference, rewrite the node as the deference of the
	reference discriminant.
	* sem_ch3.adb (Analyze_Subtype_Declaration, Build_Derived_Record_Type,
	Build_Discriminated_Subtype): Inherit Has_Implicit_Dereference from
	parent type or base type.
	* sem_ch4.adb (Process_Indexed_Component,
	Process_Overloaded_Indexed_Component, Indicate_Name_And_Type,
	Analyze_Overloaded_Selected_Component, Analyze_Selected_Component):
	Check for implicit dereference.
	(List_Operand_Interps): Indicate when an implicit dereference is
	ambiguous.
	* sem_ch8.adb (Find_Direct_Name): Check for implicit dereference.

2011-08-05  Thomas Quinot  <quinot@adacore.com>

	* scos.ads: Update documentation of SCO table. Pragma statements can now
	be marked as disabled (using 'p' instead of 'P' as the statement kind).
	* par_sco.ads, par_sco.adb: Implement the above change.
	(Process_Decisions_Defer): Generate a P decision for the first parameter
	of a dyadic pragma Debug.
	* sem_prag.adb (Analyze_Pragma, case Debug): Mark pragma as enabled if
	necessary.
	* put_scos.adb: Code simplification based on above change.

From-SVN: r177442
2011-08-05 16:18:09 +02:00
Arnaud Charlet
bb3c784c7d [multiple changes]
2011-08-05  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, gnatcmd.adb, switch-c.adb, exp_attr.adb, make.adb,
	bindgen.adb, einfo.adb, sem_ch12.adb, sem_attr.adb, a-fihema.adb,
	a-fihema.ads, sem_elab.adb, sem_elab.ads, aspects.adb, opt.ads,
	prj-conf.adb, sem_ch13.adb, s-ficobl.ads: Minor reformatting

2011-08-05  Bob Duff  <duff@adacore.com>

	* a-stunau.ads, g-spipat.adb: Update comments.

From-SVN: r177441
2011-08-05 16:14:36 +02:00
Bob Duff
36f686f99b a-fihema.ads: Minor comment fix.
2011-08-05  Bob Duff  <duff@adacore.com>

	* a-fihema.ads: Minor comment fix.
	* a-fihema.adb (Allocate, Deallocate): Assert that the alignment is
	correct.
	(Attach, Detach): Remove some unnecessary code.
	(Finalize): Remove Node_Ptr_To_Address, replace with a constant.

From-SVN: r177440
2011-08-05 16:11:05 +02:00
Bob Duff
7882673f4c a-fihema.ads, [...] (Finalization_Collection): Avoid heap allocation for Objects component.
2011-08-05  Bob Duff  <duff@adacore.com>

	* a-fihema.ads, a-fihema.adb (Finalization_Collection): Avoid heap
	allocation for Objects component. This simplifies the code somewhat. It
	is also a little more efficient in the not-so-unusual case where there
	are no controlled objects allocated.
	Make Finalization_Started flag atomic.
	(Finalize): Avoid unnecessary detachment of items from the list.
	(pcol): Minor cleanup.

From-SVN: r177439
2011-08-05 16:09:33 +02:00
Arnaud Charlet
d34cd27401 [multiple changes]
2011-08-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Analyze_Formal_Package_Declaration): reject a formal
	package whose name is the same as that of the generic unit, or its
	ultimate prefix.

2011-08-05  Bob Duff  <duff@adacore.com>

	* a-fihema.adb, a-fihema.ads: Minor comment improvements.
	* sem_ch3.adb, exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb:
	Minor comment fixes.

From-SVN: r177438
2011-08-05 16:03:20 +02:00
Arnaud Charlet
00332244ee [multiple changes]
2011-08-05  Arnaud Charlet  <charlet@adacore.com>

	* make.adb (Linking_Phase): No longer need to set source search path
	before calling gnatlink in CodePeer mode.
	* gnatlink.adb (Gnatlink): No longer pass -gnat83/95/05/12 switch to
	gcc in CodePeer mode, since the binder generated file no longer has a
	'with Main'.
	* switch.ads, switch.adb (Is_Language_Switch): Removed.
	* switch-c.adb: Update comment.

2011-08-05  Thomas Quinot  <quinot@adacore.com>

	* exp_strm.adb, bindgen.adb, s-ficobl.ads: Minor reformatting.

2011-08-05  Nicolas Roche  <roche@adacore.com>

	* gnat_ugn.texi: Fix minor syntax error issue.

2011-08-05  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
	delete or close the file when the call to gnatmake returns a non
	successful return code.

2011-08-05  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_N_Type_Conversion): When expanding a predicate
	check, indicate that the copy of the original node does not come from
	source, to prevent an infinite recursion of the expansion.

2011-08-05  Johannes Kanig  <kanig@adacore.com>

	* debug.adb: document switch -gnatd.G for gnat2why, which deactivates
	VC generation for subprogram bodies.

2011-08-05  Yannick Moy  <moy@adacore.com>

	* einfo.ads: Typo.
	* sem_ch3.adb (Signed_Integer_Type_Declaration): in ALFA mode, define
	the base type with the smallest allowed base type.

2011-08-05  Sergey Rybin  <rybin@adacore.com>

	* tree_gen.adb, tree_in.adb, aspects.adb: Fix tree read-write for
	aspects.

2011-08-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.ads: minor comment updates.

2011-08-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Analyze_Formal_Package_Declaration): in an
	instantiation and a formal package the compiler generates a package
	renaming declaration so that the generic name within the declaration
	is interpreted as a renaming of the instance. At the end of a formal
	package declaration, this renaming must become invisible.

From-SVN: r177437
2011-08-05 15:56:17 +02:00
Arnaud Charlet
0da80d7dbb [multiple changes]
2011-08-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Is_Init_Call): Reimplemented to avoid character
	comparison and rely on concrete entities instead.

2011-08-05  Ed Schonberg  <schonberg@adacore.com>

	* einfo.ads, einfo.adb (Has_Implicit_Dereference): new flag on types
	and discriminants, to indicate that the type has an access discriminant
	that supports implicit dereference.
	* snames.ads-tmpl: Add names of aspects and attributes related to
	Ada2012 iterators: constant_indexing, default_iterator,
	iterator_element, implicit_dereference, variable_indexing.
	* aspects.ads, aspects.adb: entries for iterator-related aspects.
	* sem_ch13.adb (Analyze_aspect_specifications): dummy entries for
	iterator-related aspects.
	* sem_attr.adb, exp_attr.adb Dummy entries for iterator-related aspects.

2011-08-05  Sergey Rybin  <rybin@adacore.com>

	* gnat_ugn.texi, vms_data.ads: Extend the subsection about coupling
	metrics in gnatmetric to cover new kinds of coupling mentrics.

2011-08-05  Steve Baird  <baird@adacore.com>

	* bindgen.adb (Gen_CodePeer_Wrapper): Call Ada_Main_Program instead
	of calling the user-defined main subprogram. 
	(Gen_Main):  Declare Ada_Main_Program and (if CodePeer_Mode
	is set) Call_Main_Subprogram ahead of, as opposed to
	inside of, Main.
	(Gen_Output_File_Ada): Remove CodePeer_Mode-conditional
	generation of a "with" of the user-defined main subprogram.
	Remove CodePeer_Mode-conditional call to Gen_CodePeer_Wrapper
	(which is now called from Gen_Main instead).

From-SVN: r177436
2011-08-05 15:51:33 +02:00
Arnaud Charlet
7324247364 [multiple changes]
2011-08-05  Emmanuel Briot  <briot@adacore.com>

	* projects.texi: Added reference to the Makefile package.

2011-08-05  Thomas Quinot  <quinot@adacore.com>

	* exp_ch7.adb: Minor comment rewording.

2011-08-05  Ed Falis  <falis@adacore.com>

	* env.c: Fix comment.

2011-08-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_elab.adb (Is_Finalization_Procedure): Reimplemented to avoid
	character comparison and rely on concrete entities instead.

From-SVN: r177435
2011-08-05 15:48:46 +02:00
Arnaud Charlet
97ed5872c6 [multiple changes]
2011-08-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb: (Check_Private_Overriding): better error message,
	suggested by AI95-0068.

2011-08-05  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve
	the two potential initialization calls. This accounts for any
	access-before-elaboration checks which may precede the initialization
	calls.
	(Next_Suitable_Statement): New routine. Returns the next real statement
	after the input node while skipping generated checks.
	* sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along
	with comment on usage.
	Do not generate Elaborate_All when the trigger is a finalization call
	coming from a type init proc.
	(Check_Elab_Call): Propagate the initialization procedure context to
	subsequent calls to Check_A_Call.
	(Check_Internal_Call_Continue): Propagate the initialization procedure
	context to subsequent calls to Check_Elab_Call.
	(Is_Finalization_Procedure): New routine. Returns True if the input
	entity denotes a [Deep_]Finalize routine.
	* sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc
	along with comment on usage.

2011-08-05  Vadim Godunko  <godunko@adacore.com>

	* s-atocou.ads: Add list of supported platforms.

2011-08-05  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables

	* opt.ads (Disable_ALI_File): new Boolean flag
	* lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing

2011-08-05  Ed Falis  <falis@adacore.com>

	* env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that
	environ is properly defined.

2011-08-05  Vincent Celier  <celier@adacore.com>

	* make.adb (Compilation_Phase): Exit immediately when all objects have
	been found up to date, to avoid multiple exit messages.
	* prj-nmsc.adb (Add_Source): Allow duplicate source file names in the
	same project for languages with no compiler.
	* gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch
	-eI.

From-SVN: r177434
2011-08-05 15:46:16 +02:00
Robert Dewar
9aff36e9f1 exp_ch7.ads, [...]: Minor reformatting.
2011-08-05  Robert Dewar  <dewar@adacore.com>

	* exp_ch7.ads, sem_type.adb, make.adb, sem_prag.adb, sem_util.adb,
	sem_util.ads, sem_attr.adb, restrict.ads, sem_ch6.adb, prj-conf.adb,
	prj-conf.ads, s-atocou.ads, s-atocou.adb, s-atocou-x86.adb,
	s-atocou-builtin.adb: Minor reformatting.

From-SVN: r177433
2011-08-05 15:35:04 +02:00
Arnaud Charlet
406935b64c [multiple changes]
2011-08-05  Yannick Moy  <moy@adacore.com>

	* exp_ch7.adb (Establish_Transient_Scope): in formal verification mode,
	if the node to wrap is a pragma check, this node and enclosed
	expression are not expanded, so do not apply any transformations here.
	* exp_prag.adb (Expand_Pragma_Check): document the need to avoid
	introducing transient scopes.

2011-08-05  Jose Ruiz  <ruiz@adacore.com>

	* adaint.c (__gnat_set_writable, __gnat_set_readable,
	__gnat_set_executable, __gnat_set_non_writable, __gnat_set_non_readable,
	__gnat_copy_attribs): On VxWorks 6.x and later, the required chmod
	routine is available, so we use the default implementation of these
	functions.
	* s-os_lib.ads (Copy_File, Copy_Time_Stamps): Document that there is
	support for copying attributes on VxWorks 6.

2011-08-05  Yannick Moy  <moy@adacore.com>

	* debug.adb: Remove use of -gnatd.D.
	* gnat1drv.adb (Adjust_Global_Switches): adjust switches for ALFA mode
	* opt.ads: Simplify variables for ALFA mode, to keep one only
	* restrict.adb, sem_prag.adb: Adapt treatment done for CodePeer mode
	to ALFA mode.

2011-08-05  Vincent Celier  <celier@adacore.com>

	* prj-conf.adb (Do_Autoconf): Look also for --RTS in
	Builder'Default_Switches.

2011-08-05  Vincent Celier  <celier@adacore.com>

	* makeusg.adb: Add lines for --create-map-file switches.

2011-08-05  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Freeze_Entity): For a subprogram, if a type in the
	profile is incomplete and the full view is available, replace it with
	the full view.
	* sem_ch6.adb (Possible_Freeze): if a type in the profile is
	incomplete, freezing the subprogram is delayed until the full view is
	frozen.
	* sem_type.adb (Disambiguate): an ambiguity between a user-defined
	fixed-point multiplication operator and the predefined operator is
	resolved in favor of the user-defined one.

From-SVN: r177432
2011-08-05 15:32:13 +02:00
H.J. Lu
cee0d6d251 Add -march=core-avx-i.
2011-08-05  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (processor_alias_table): Add core-avx-i.

	* doc/invoke.texi: Document core-avx-i.

From-SVN: r177429
2011-08-05 05:29:35 -07:00
Rainer Orth
98d0368392 re PR target/49965 (libgomp.c++/reduction-4.C and libgomp.c++/task-8.C FAIL on Solaris 11/SPARC)
PR libgomp/49965
	* testsuite/libgomp.c++/task-8.C: Replaced err by errval.

From-SVN: r177428
2011-08-05 12:22:10 +00:00
Rainer Orth
96c891b30a tsystem.h (CONST_CAST2, CONST_CAST): Define.
gcc:
	* tsystem.h (CONST_CAST2, CONST_CAST): Define.

	gcc/ada:
	* init.c [__alpha__ && __osf__] (__gnat_error_handler): Use
	CONST_CAST.

From-SVN: r177427
2011-08-05 12:14:55 +00:00
Ira Rosen
2aacf3c3fc tree-vect-loop.c (vect_create_epilog_for_reduction): Use the result of multiple results reduction when...
* tree-vect-loop.c (vect_create_epilog_for_reduction): Use the
        result of multiple results reduction when extracting the final
        value using scalar code.

From-SVN: r177426
2011-08-05 11:12:28 +00:00
Richard Guenther
0f36b2dafd re PR tree-optimization/49984 (VRP does not handle BIT_XOR_EXPR)
2011-08-05  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/49984
	* tree-vrp.c (extract_range_from_binary_expr_1): Handle BIT_XOR_EXPR.

	* gcc.dg/tree-ssa/vrp59.c: New testcase.

From-SVN: r177425
2011-08-05 10:16:48 +00:00
Richard Guenther
8b201bc546 tree-vrp.c (zero_nonzero_bits_from_vr): Make sure to always return true for constant integer ranges.
2011-08-05  Richard Guenther  <rguenther@suse.de>

	* tree-vrp.c (zero_nonzero_bits_from_vr): Make sure to always
	return true for constant integer ranges.
	(extract_range_from_binary_expr_1): Simplify BIT_AND_EXPR and
	BIT_IOR_EXPR handling.

	* gcc.dg/tree-ssa/vrp51.c: Disable CCP.
	* gcc.dg/tree-ssa/vrp52.c: Likewise.
	* gcc.dg/tree-ssa/vrp53.c: Likewise.

From-SVN: r177423
2011-08-05 07:33:09 +00:00
GCC Administrator
44997fe478 Daily bump.
From-SVN: r177422
2011-08-05 00:18:13 +00:00
Benjamin Kosnik
a6aff075e8 build_hacking.xml: Use relative fileref for PNG imagedata.
2011-08-04  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/build_hacking.xml: Use relative fileref for PNG
	imagedata.
	* doc/xml/manual/test_policy_data_structures.xml: Same.
	* doc/xml/manual/policy_data_structures.xml: Same.

	* doc/Makefile.am (stamp-html-docbook-images)
	(stamp-html-docbook-lwg, stamp-html-docbook-data): New.
	(xml_extra): Add lwg html file dependencies.
	(xml_images): Add image html file dependencies.
	* doc/Makefile.in: Regenerate.
	(stamp-html): Change to stamp-html-docbook-data.
	(stamp-html-copy): Remove.

From-SVN: r177418
2011-08-04 23:15:39 +00:00
Mikael Morin
d2ff573e78 Add directory to filenames in the ChangeLog
From-SVN: r177416
2011-08-04 21:28:34 +00:00
Mikael Morin
e863e4de55 dependency_26.f90: Add a module to the cleanup directive.
2011-08-04  Mikael Morin  <mikael.morin@sfr.fr>

	* gfortran.dg/dependency_26.f90: Add a module to the cleanup directive.
	* gfortran.dg/trim_optimize_2.f90: Add a module cleanup directive.
	* gfortran.dg/ldist-pr43023.f90: Ditto.
	* gfortran.dg/namelist_52.f90: Ditto.
	* gfortran.dg/interface_proc_end.f90: Ditto.
	* gfortran.dg/vector_subscript_bound_1.f90: Ditto.
	* gfortran.dg/generic_typebound_operator_1.f90: Ditto.

From-SVN: r177415
2011-08-04 21:24:35 +00:00
Paolo Carlini
bdc05efbc8 atomic.cc: Use noexcept.
2011-08-04  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/atomic.cc: Use noexcept.
	* include/std/atomic: Likewise.
	* include/bits/atomic_0.h: Likewise.
	* include/bits/atomic_2.h: Likewise.
	* include/bits/atomic_base.h: Likewise.

From-SVN: r177413
2011-08-04 19:57:48 +00:00
Kai Tietz
c1ea7f07d9 i386.c (setup_incoming_varargs_ms_64): Set ix86_varargs_gpr_size and ix86_varargs_fpr_size to zero.
2011-08-04  Kai Tietz  <ktietz@redhat.com>

        * config/i386/i386.c (setup_incoming_varargs_ms_64): Set
        ix86_varargs_gpr_size and ix86_varargs_fpr_size to zero.

From-SVN: r177412
2011-08-04 21:12:57 +02:00
Ira Rosen
1107f3ae0a tree-vectorizer.h (struct _stmt_vec_info): Add new field for pattern def statement, and its access macro.
* tree-vectorizer.h (struct _stmt_vec_info): Add new field for
        pattern def statement, and its access macro.
        (NUM_PATTERNS): Set to 5.
        * tree-vect-loop.c (vect_determine_vectorization_factor): Handle
        pattern def statement.
        (vect_transform_loop): Likewise.
        * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add new
        function vect_recog_over_widening_pattern ().
        (vect_operation_fits_smaller_type): New function.
        (vect_recog_over_widening_pattern, vect_mark_pattern_stmts):
        Likewise.
        (vect_pattern_recog_1): Move the code that marks pattern
        statements to vect_mark_pattern_stmts (), and call it.  Update
        documentation.
        * tree-vect-stmts.c (vect_supportable_shift): New function.
        (vect_analyze_stmt): Handle pattern def statement.
        (new_stmt_vec_info): Initialize pattern def statement.

From-SVN: r177409
2011-08-04 16:47:17 +00:00
Richard Henderson
6394830f47 re PR bootstrap/49964 (Bootstrap failed with AVX turned on)
PR target/49964
        * config/i386/i386.c (ix86_expand_call): Don't create nested
        PARALLELs for TARGET_VZEROUPPER.
        (ix86_split_call_vzeroupper): Fix extraction of the original call.
        * config/i386/i386.md (*call_rex64_ms_sysv_vzeroupper): Don't
        recognize nested PARALLELs.
        (*call_pop_vzeroupper, *sibcall_pop_vzeroupper,
        *call_value_rex64_ms_sysv_vzeroupper, *call_value_pop_vzeroupper,
        *sibcall_value_pop_vzeroupper): Likewise.

From-SVN: r177408
2011-08-04 08:47:42 -07:00
Arnaud Charlet
276e7ed024 [multiple changes]
2011-08-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.ads, sem_unit.adb (Type_Without_Stream_Operation): determine
	whether a type lacks user-defined Read or Write operations, or has a
	component that lacks them.
	* sem_attr.adb (Check_Stream_Attribute): if restriction
	No_Default_Stream_Attributes is active, verify that all subcomponent
	types of the target have user-defined stream operations, and report
	error otherwise.
	* exp_ch3.adb (Stream_Operqtion_OK): use Type_Without_Stream_Operation.
	* exp_strm.adb: Build_Elementary_Input_Call,
	Build_Elementary_Write_Call): remove checks for restriction
	No_Default_Stream_Attributes, now checked in semantics.

2011-08-04  Vincent Celier  <celier@adacore.com>

	* prj-conf.ads, prj-conf.adb (Do_Autoconf): If there is no --RTS
	switches on the command line, look for all valid --RTS switches in the
	Builder switches and for each language use the first runtime name found
	to invoke gprconfig.
	(Get_Or_Create_Configuration_File): Warn if --RTS is specified on the
	command line and there is no auto-configuration.
	(Runtime_Name_Set_For): New function.

2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Build_Object_Declarations): Do not generate the
	elaborate initialization expression for variable Abort when processing
	a package body or a declaration.
	(Create_Finalizer): Propagate the package context when creating the
	exception-related variables.
	* exp_ch7.ads (Build_Object_Declarations): New formal parameter
	For_Package along with usage comment.

From-SVN: r177407
2011-08-04 17:44:22 +02:00
Arnaud Charlet
19172ae935 Makefile.in: Clean up targets.
* gcc-interface/Makefile.in: Clean up targets.
	Enable new package for atomic counters and copy-on-write implementation
	of unbounded strings on x86 platforms.
	* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r177405
2011-08-04 17:41:09 +02:00
Richard Henderson
faf7a23d6d re PR middle-end/49968 (ICE in calls.c:3141 / assert after emit_stack_restore)
PR middle-end/49968
        * calls.c (expand_call): Use fixup_args_size_notes for
        emit_stack_restore.
        * expr.c (fixup_args_size_notes): Allow STACK_POINTER_REGNUM sets
        in non-standard modes.

From-SVN: r177404
2011-08-04 08:39:40 -07:00
Arnaud Charlet
0319cacc39 [multiple changes]
2011-08-04  Robert Dewar  <dewar@adacore.com>

	* exp_ch7.adb: Minor reformatting.

2011-08-04  Robert Dewar  <dewar@adacore.com>

	* exp_strm.adb: Minor reformatting.

2011-08-04  Vadim Godunko  <godunko@adacore.com>

	* s-atocou.adb: Replace by dummy version and use on targets where atomic
	operations are not supported.
	* s-atocou-builtin.adb: Renamed from s-atocou.adb.
	* s-atocou-x86.adb: New file.
	* Makefile.rtl: Add s-atocou.o file

2011-08-04  Arnaud Charlet  <charlet@adacore.com>

	* make.adb (Compile): Move setting of CodePeer_Mode to ...
	(Compilation_Phase): ... here.
	(Scan_Make_Arg): Now bind and link by default in CodePeer mode.

2011-08-04  Thomas Quinot  <quinot@adacore.com>

	* Make-generated.in: Fix minor typo in comment.

From-SVN: r177403
2011-08-04 17:39:29 +02:00
Arnaud Charlet
26e7e1a05d [multiple changes]
2011-08-04  Thomas Quinot  <quinot@adacore.com>

	* gnatls.adb: Use Prj.Env.Initialize_Default_Project_Path to retrieve
	the project path.

2011-08-04  Robert Dewar  <dewar@adacore.com>

	* a-coinho.adb: Minor reformatting.

2011-08-04  Robert Dewar  <dewar@adacore.com>

	* a-coinho.ads: Minor reformatting.

2011-08-04  Vadim Godunko  <godunko@adacore.com>

	* s-atocou.ads, s-atocou.adb: New files.
	* a-strunb-shared.ads, a-strunb-shared.adb, a-stwiun-shared.ads,
	a-stwiun-shared.adb, a-stzunb-shared.ads, a-stzunb-shared.adb: Remove
	direct use of GCC's atomic builtins and replace them by use of new
	atomic counter package.

2011-08-04  Ed Schonberg  <schonberg@adacore.com>

	* exp_strm.adb: better error message for No_Default_Stream_Attributes.

2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* a-tags.adb (Unregister_Tag): Replace the complex address arithmetic
	with a call to Get_External_Tag.
	* exp_ch7.adb (Build_Cleanup_Statements): Update the comment on
	subprogram usage. Remove the guard against package declarations and
	bodies since Build_Cleanup_Statements is no longer invoked in that
	context.
	(Build_Components): Initialize Tagged_Type_Stmts when the context
	contains at least one library-level tagged type.
	(Build_Finalizer): New local variables Has_Tagged_Types and
	Tagged_Type_Stmts along with associated comments on usage. Update the
	logic to include tagged type processing.
	(Create_Finalizer): Insert all library-level tagged type unregistration
	code before the jump block circuitry.
	(Expand_N_Package_Body): Remove the call to Build_Cleanup_Statements.
	(Expand_N_Package_Declaration): Remove the call to
	Build_Cleanup_Statements.
	(Process_Tagged_Type_Declaration): New routine. Generate a call to
	unregister the external tag of a tagged type.
	(Processing_Actions): Reimplemented to handle tagged types.
	(Process_Declarations): Detect the declaration of a library-level
	tagged type and carry out the appropriate actions.
	(Unregister_Tagged_Types): Removed. The machinery has been directly
	merged with Build_Finalizer.

From-SVN: r177401
2011-08-04 17:31:56 +02:00
Arnaud Charlet
7483c88857 [multiple changes]
2011-08-04  Robert Dewar  <dewar@adacore.com>

	* bindgen.ads, gnatlink.adb, sem_ch4.adb, gnatbind.adb, put_alfa.adb,
	gnatls.adb, exp_ch3.adb: Minor reformatting.

2011-08-04  Marc Sango  <sango@adacore.com>

	* sem_attr.adb (Analyze_Attribute): Replace the message
	"invisible attribute of}" of the spark restriction violation in
	attribute reference by the simple message "invisible attribute of type".
	Indeed, the node value Error_Msg_Node_1 used is in conflit with the
	two insertion characters: '&' and '}'.

2011-08-04  Vadim Godunko  <godunko@adacore.com>

	* impunit.adb (Non_Imp_File_Names_12): Add "a-coinho".
	* a-coinho.ads, a-coinho.adb: New file.
	* Makefile.rtl: Add Ada.Containers.Indefinite_Holders.

From-SVN: r177400
2011-08-04 17:27:59 +02:00
Arnaud Charlet
5207696c34 [multiple changes]
2011-08-04  Nicolas Roche  <roche@adacore.com>

	* alfa_test.adb: Not all ali files are containing alfa information even
	if compiled with -gnatd.F. So suppress warning about missing ALFA
	information.

2011-08-04  Yannick Moy  <moy@adacore.com>

	* lib-xref-alfa.adb (Add_ALFA_Scope): use non-empty unique name for
	scope.
	* put_alfa.adb: Check that scope name is not empty.

2011-08-04  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch3.adb (Stream_Operation_Ok): new predicate
	Needs_Elementary_Stream_Operation, to determine whether user-defined
	Read and Write attributes are available for the elementary components
	of the given type. If only the predefined attributes are available,
	then when restriction No_Default_Stream_Attributes is active the
	predefined stream attributes for the composite type cannot be created.

2011-08-04  Robert Dewar  <dewar@adacore.com>

	* bindgen.adb: Fix obsolete comments and names from Ada/C days.
	Put routines in alpha order

From-SVN: r177399
2011-08-04 17:24:27 +02:00
Jose Ruiz
2bd2d858e4 Makefile.in: Remove xenomai specific versions of system.
2011-08-04  Jose Ruiz  <ruiz@adacore.com>        

	* gcc-interface/Makefile.in: Remove xenomai specific versions of system.
	* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r177398
2011-08-04 17:21:44 +02:00
Arnaud Charlet
8fae60160b lang.opt: Add AdaWhy language, simimlar to Ada.
* gcc-interface/lang.opt: Add AdaWhy language, simimlar to Ada.
	* gcc-interface/lang-specs.h: Add handling of AdaWhy specs (calls       
	gnat1why).

From-SVN: r177396
2011-08-04 17:20:32 +02:00
Arnaud Charlet
a54d0eb4b0 [multiple changes]
2011-08-04  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, make.adb, a-cohata.ads, sem_prag.adb, makeutl.adb,
	lib-xref-alfa.adb: Minor reformatting.

2011-08-04  Marc Sango  <sango@adacore.com>

	* sem_ch12.adb (Analyze_Generic_Package_Declaration,
	Analyze_Generic_Subprogram_Declaration, Analyze_Package_Instantiation,
	Analyze_Subprogram_Instantiation): Check absence of generic in SPARK
	mode.

2011-08-04  Tristan Gingold  <gingold@adacore.com>

	* bindgen.adb (Gen_Adainit_C): Remove.
	(Gen_Adafinal_C): Ditto.
	(Gen_Elab_Externals_C): Ditto.
	(Gen_Elab_Calls_C): Ditto.
	(Gen_Elab_Order_C): Ditto.
	(Gen_Elab_Defs_C): Ditto.
	(Gen_Finalize_Library_C): Ditto.
	(Gen_Finalize_Library_Defs_C): Ditto.
	(Gen_Main_C): Ditto.
	(Gen_Output_File_C): Ditto.
	(Gen_Restrictions_C): Ditto.
	(Gen_Versions_C): Ditto.
	(Write_Info_Ada_C): Ditto.
	(Gen_Object_Files_Options): Call WBI instead of Write_Info_Ada_C
	(Gen_Output_File): Do not force Ada_Bind_File anymore.
	Always call Gen_Output_File_Ada.
	* gnatlink.adb (Begin_Info): Now a constant.
	(End_Info): Ditto.
	(Ada_Bind_File): Remove
	(Process_Args): Do not handle -A/-C.  Remove not Ada_Bind_File cases.
	* switch-b.adb (Scan_Binder_Switches): Do not handle -C.
	* gnatbind.adb (Gnatbind): Remove not Ada_Bind_File cases.
	* opt.ads (Ada_Bind_File): Remove.

2011-08-04  Thomas Quinot  <quinot@adacore.com>

	* projects.texi: Document target-specific directory in default project
	path for gnatmake.

2011-08-04  Thomas Quinot  <quinot@adacore.com>

	* gnatls.adb, prj-env.adb: Add $prefix/share/gpr to default project
	path in all cases .

From-SVN: r177395
2011-08-04 17:18:34 +02:00
Jakub Jelinek
84f405a1c1 gcc.c (self_spec): New variable.
* gcc.c (self_spec): New variable.
	(static_specs): Add self_spec.
	(main): Call do_self_spec on "self_spec" specs after reading
	user specs files.  Move compare_debug handling right after that.

From-SVN: r177394
2011-08-04 17:02:21 +02:00
Richard Guenther
4d320da4a5 tree-vrp.c (vrp_expr_computes_nonnegative): Remove.
2011-08-04  Richard Guenther  <rguenther@suse.de>

	* tree-vrp.c (vrp_expr_computes_nonnegative): Remove.
	(value_range_nonnegative_p): New function.
	(ssa_name_nonnegative_p): Use it.
	(value_range_constant_singleton): New function.
	(op_with_constant_singleton_value_range): Use it.
	(extract_range_from_binary_expr_1): New function, split out from ...
	(extract_range_from_binary_expr): ... this.  Remove fallback
	constant folding done here.

From-SVN: r177393
2011-08-04 14:14:32 +00:00
Richard Guenther
7e29ba60f1 re PR middle-end/49806 (FAIL: gcc.dg/tree-ssa/vrp47.c)
2011-08-04  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/49806
	* tree-vrp.c (op_with_boolean_value_range_p): New function.
	(simplify_truth_ops_using_ranges): Simplify.  Allow inserting
	a new statement for a final conversion to bool.

From-SVN: r177392
2011-08-04 14:11:30 +00:00
Arnaud Charlet
24558db881 [multiple changes]
2011-08-04  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb,
	opt.ads, lib-xref.ads: Code clean up.

2011-08-04  Yannick Moy  <moy@adacore.com>

	* gnat_rm.texi: Update description of Test_Case
	* gnat_ugn.texi: Typo.

2011-08-04  Ed Falis  <falis@adacore.com>

	* adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin.

2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when
	it is of type Root_Controlled. This action eliminates fields Prev and
	Next from type equality.

2011-08-04  Yannick Moy  <moy@adacore.com>

	* lib-xref-alfa.adb: Correct typo.

2011-08-04  Matthew Heaney  <heaney@adacore.com>

	* a-cohata.ads (Hash_Table_Type): default-initialize the Nodes
	component.

From-SVN: r177390
2011-08-04 15:59:40 +02:00
Arnaud Charlet
1f9939b5d9 [multiple changes]
2011-08-04  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure
	(Analyze_Pragma): allow static string expression for name of Test_Case,
	instead of simply string literals.
	* sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string
	expressions.

2011-08-04  Vincent Celier  <celier@adacore.com>

	* makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical
	case suffixes to find truncated main sources.

2011-08-04  Tristan Gingold  <gingold@adacore.com>

	* impunit.adb (Non_Imp_File_Names_95): Add g-tastus.
	s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put.
	(Compute_Current_Task): Ditto.

2011-08-04  Tristan Gingold  <gingold@adacore.com>

	* gnat_ugn.texi: Mention GNAT.Task_Stack_Usage.

2011-08-04  Yannick Moy  <moy@adacore.com>

	* lib-xref-alfa.adb (Is_Global_Constant): new function that detects
	library-level constant.
	(Add_ALFA_Xrefs): ignore global constants in ALFA xref.
	* sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal
	used as selector of parameter association, in ALFA mode.

From-SVN: r177389
2011-08-04 15:54:52 +02:00
Arnaud Charlet
15d8a51dee [multiple changes]
2011-08-04  Robert Dewar  <dewar@adacore.com>

	* exp_ch5.adb, exp_ch7.adb, exp_util.adb, bindgen.adb, sem_prag.adb,
	s-tassta.adb, exp_ch4.adb, exp_disp.adb, s-stausa.adb: Minor
	reformatting.

2011-08-04  Arnaud Charlet  <charlet@adacore.com>

	* make.adb (Linking_Phase): Set source search path before calling
	gnatlink in CodePeer mode.

From-SVN: r177388
2011-08-04 15:50:50 +02:00
Arnaud Charlet
f46faa0853 [multiple changes]
2011-08-04  Javier Miranda  <miranda@adacore.com>

	* exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration):
	Remove code which takes care of building TSDs.
	* rtsfind.ads (RE_Check_Interface_Conversion): New entity.
	* exp_ch4.adb (Apply_Accessibility_Check): Add support for generating
	the accessibility check in VM targets.
	* exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads
	(Building_Static_DT): Now returns false for VM targets.
	(Build_VM_TSDs): Removed.
	(Expand_Interface_Conversion): Generate missing runtime check for
	conversions to interface types whose target type is unknown at compile
	time.
	(Make_VM_TSD): Add missing code to disable the generation of calls to
	Check_TSD if the tagged type is not defined at library level, or not
	has a representation clause specifying its external tag, or -gnatdQ is
	active.
	* exp_disp.ads (Build_VM_TSDs): Removed.
	(Make_VM_TSDs): Spec relocated from exp_disp.adb
	* sem_disp.adb (Check_Dispatching_Operation): No code required to
	register primitives in the dispatch tables in VM targets.
	* exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of
	initialization of class-wide interface objects in VM targets.
	(Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead
	of Make_DT).

2011-08-04  Jerome Lambourg  <lambourg@adacore.com>

	* gnatlink.adb (Gnatlink): Correct missleading error message displayed
	when dotnet-ld cannot be found.

2011-08-04  Arnaud Charlet  <charlet@adacore.com>

	* bindgen.adb: Simplify significantly generation of binder body file in
	CodePeer mode.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure
	when compiling binder generated file in CodePeer mode (xxx'Elab_Spec
	not expanded).

From-SVN: r177387
2011-08-04 15:45:00 +02:00
Arnaud Charlet
2ba7e31e7e [multiple changes]
2011-08-04  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb, sem.ads: Code cleanup.

2011-08-04  Tristan Gingold  <gingold@adacore.com>

	* s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part.
	* s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate
	results if possible.
	* s-stusta.adb (Print): Adjust after changes in s-stausa.
	* gnat_ugn.texi: Update dynamic stack usage section.

2011-08-04  Steve Baird  <baird@adacore.com>

	* bindgen.adb (Gen_CodePeer_Wrapper): new procedure.
	Generate (if CodePeer_Mode is set) a "wrapper" subprogram which
	contains only a call to the user-defined main subprogram.
	(Gen_Main_Ada) - If CodePeer_Mode is set, then
	call the "wrapper" subprogram instead of directly
	calling the user-defined main subprogram.

2011-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all
	alternatives of a case statement for controlled objects. Rename local
	variable A to Dead_Alt.
	(Expand_N_If_Statement): Check the then and else statements of an if
	statement for controlled objects. Check the then statements of all
	elsif parts of an if statement for controlled objects.
	(Expand_N_Loop_Statement): Check the statements of a loop for controlled
	objects.
	* exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which
	detects a loop associated with the expansion of an array object.
	Augment the processing of the loop statements to account for a possible
	wrap done by Process_Statements_For_Controlled_Objects.
	* exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering
	statements and abortable part of an asynchronous select for controlled
	objects.
	(Expand_N_Conditional_Entry_Call): Check the else statements of a
	conditional entry call for controlled objects.
	(Expand_N_Selective_Accept): Check the alternatives of a selective
	accept for controlled objects.
	(Expand_N_Timed_Entry_Call): Check the entry call and delay
	alternatives of a timed entry call for controlled objects.
	* exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an
	exception handler for controlled objects.
	* exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
	Add formal parameter Nested_Constructs along with its associated
	comment.
	(Requires_Cleanup_Actions (Node_Id)): Update all calls to
	Requires_Cleanup_Actions.
	(Process_Statements_For_Controlled_Objects): New routine.
	* exp_util.ads (Process_Statements_For_Controlled_Objects): New
	routine. Inspect a node which contains a non-handled sequence of
	statements for controlled objects. If such an object is found, the
	statements are wrapped in a block.

From-SVN: r177386
2011-08-04 15:41:55 +02:00
Arnaud Charlet
1bf773bb9f [multiple changes]
2011-08-04  Bob Duff  <duff@adacore.com>

	* sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we
	need to compare with Class_Wide_Type (T2), in order to get at the
	original class-wide type node.
	* sem_type.ads (Covers): Improve the comment.
	* einfo.ads (Class_Wide_Type): Improve the comment.
	* exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of
	the type of the Deref.

2011-08-04  Yannick Moy  <moy@adacore.com>

	* gnat_rm.texi: Document that Test_Case pragma can only appear on
	separate declarations.
	* sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to
	check identifier of pragma argument.
	(Chain_TC): check that no other test case associated to the same entity
	share the same name.
	(Check_Test_Case): disallow test case inside subprogram body
	(Analyze_Pragma): correct call to check identifier and not argument
	* sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new
	function gets name from test case pragma.

From-SVN: r177385
2011-08-04 15:38:05 +02:00