Go to file
Eric Botcazou d47d0a8d97 tree.h (TREE_ADDRESSABLE): Document its effect for function types.
* tree.h (TREE_ADDRESSABLE): Document its effect for function types.
	* calls.c (expand_call): Pass the function type to aggregate_value_p.
	* function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
	the target function of a CALL_EXPR.  Honor TREE_ADDRESSABLE on the
	function type instead.  Reorder and simplify checks.

	* gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
ada/
	* gcc-interface/ada-tree.h (TYPE_RETURNS_UNCONSTRAINED_P): Rename into.
	(TYPE_RETURN_UNCONSTRAINED_P): ...this.
	(TYPE_RETURNS_BY_REF_P): Rename into.
	(TYPE_RETURN_BY_DIRECT_REF_P): ...this.
	(TYPE_RETURNS_BY_TARGET_PTR_P): Delete.
	* gcc-interface/gigi.h (create_subprog_type): Adjust parameter names.
	(build_return_expr): Likewise.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>:
	Rename local variables.  If the return Mechanism is By_Reference, pass
	return_by_invisible_ref_p to create_subprog_type instead of toggling
	TREE_ADDRESSABLE.  Test return_by_invisible_ref_p in order to annotate
	the mechanism.  Use regular return for contrained types with non-static
	size and return by invisible reference for unconstrained return types
	with default discriminants.  Update comment.
	* gcc-interface/trans.c (Subprogram_Body_to_gnu): If the function
	returns by invisible reference, turn the RESULT_DECL into a pointer.
	Do not handle DECL_BY_REF_P in the CICO case here.
	(call_to_gnu): Remove code handling return by target pointer.  For a
	function call, if the return type has non-constant size, generate the
	assignment with an INIT_EXPR.
	(gnat_to_gnu) <N_Return_Statement>: Remove dead code in the CICO case.
	If the function returns by invisible reference, build the copy return
	operation manually.
	(add_decl_expr): Initialize the variable with an INIT_EXPR.
	* gcc-interface/utils.c (create_subprog_type): Adjust parameter names.
	Adjust for renaming of macros.  Copy the node only when necessary.
	(create_subprog_decl): Do not toggle TREE_ADDRESSABLE on the return
	type, only change DECL_BY_REFERENCE on the RETURN_DECL.
	(convert_from_reference): Delete.
	(is_byref_result): Likewise.
	(gnat_genericize_r): Likewise.
	(gnat_genericize): Likewise.
	(end_subprog_body): Do not call gnat_genericize.
	* gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: New case.
	(build_return_expr): Adjust parameter names, logic and comment.

From-SVN: r158139
2010-04-08 20:16:36 +00:00
INSTALL
boehm-gc Update to Automake 1.11.1. 2010-04-02 18:18:06 +00:00
config mh-mingw: Revert accidentally checking r156315. 2010-03-23 15:48:08 +01:00
contrib * gennews (files): Add files for GCC 4.5. 2010-04-06 15:06:04 +01:00
fixincludes Update to Automake 1.11.1. 2010-04-02 18:18:06 +00:00
gcc tree.h (TREE_ADDRESSABLE): Document its effect for function types. 2010-04-08 20:16:36 +00:00
gnattools re PR ada/42659 (gnatmake thinks libraries aren't supported) 2010-01-09 18:21:52 +00:00
include dwarf2.h (DWARF2_Internal_LineInfo): Add li_max_ops_per_insn field. 2010-04-06 09:37:37 +02:00
intl Update to Automake 1.11.1. 2010-04-02 18:18:06 +00:00
libada
libcpp diagnostic.h (diagnostic_override_option_index): New macro to set a diagnostic's option_index. 2010-04-07 17:18:10 +00:00
libdecnumber Update to Automake 1.11.1. 2010-04-02 18:18:06 +00:00
libffi tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not used count variable. 2010-04-07 22:27:37 +02:00
libgcc Fix indentation. 2010-04-02 05:06:20 +02:00
libgfortran re PR fortran/39997 (Procedure(), pointer & implicit typing: rejects-valid / accepts-invalid?) 2010-04-06 18:26:02 +02:00
libgomp Update to Automake 1.11.1. 2010-04-02 18:18:06 +00:00
libiberty tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not used count variable. 2010-04-07 22:29:01 +02:00
libjava tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not used count variable. 2010-04-07 22:27:37 +02:00
libmudflap Update to Automake 1.11.1. 2010-04-02 18:18:06 +00:00
libobjc Update to Automake 1.11.1. 2010-04-02 18:18:06 +00:00
libssp Update to Automake 1.11.1. 2010-04-02 18:18:06 +00:00
libstdc++-v3 parser.c (cp_parser_class_specifier): Set class location to that of IDENTIFIER_NODE instead of '{' when possible. 2010-04-06 17:13:07 -04:00
lto-plugin Update to Automake 1.11.1. 2010-04-02 18:18:06 +00:00
maintainer-scripts * crontab: Switch 4.5 snapshots to 4.5 branch. 2010-04-07 22:36:44 +01:00
zlib Update to Automake 1.11.1. 2010-04-02 18:18:06 +00:00
ABOUT-NLS
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
ChangeLog MAINTAINERS (Write After Approval): Add myself. 2010-04-06 15:25:35 +00:00
ChangeLog.tree-ssa
MAINTAINERS MAINTAINERS (Write After Approval): Add myself. 2010-04-06 15:25:35 +00:00
Makefile.def PR libstdc++/36101, PR libstdc++/42813 2010-01-22 13:35:38 +00:00
Makefile.in Makefile.tpl: Use "-exec rm {}" rather than "-delete" to delete the config.cache files found... 2010-02-17 11:01:44 +00:00
Makefile.tpl Makefile.tpl: Use "-exec rm {}" rather than "-delete" to delete the config.cache files found... 2010-02-17 11:01:44 +00:00
README
compile
config-ml.in
config.guess config.sub: Update to version 2010-03-22. 2010-03-23 14:26:40 +00:00
config.rpath
config.sub config.sub: Update to version 2010-03-22. 2010-03-23 14:26:40 +00:00
configure Add brackets around AC_TRY_COMPILE alternative. 2010-04-02 17:35:47 +00:00
configure.ac Add brackets around AC_TRY_COMPILE alternative. 2010-04-02 17:35:47 +00:00
depcomp
install-sh
libtool-ldflags
libtool.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
missing
mkdep
mkinstalldirs
move-if-change
symlink-tree
ylwrap

README

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.