Find a file
Jakub Jelinek 2b1c543325 final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
* final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
	Call var_location debug hook even on CALL_INSNs.
	(rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
	* rtl.def (ENTRY_VALUE): New.
	* dwarf2out.c: Include cfglayout.h.
	(dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
	output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
	(struct call_arg_loc_node): New type.
	(call_arg_locations, call_arg_loc_last, block_map, call_site_count,
	tail_call_site_count): New variables.
	(dwarf_tag_name): Handle DW_TAG_GNU_call_site and
	DW_TAG_GNU_call_site_parameter.
	(dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
	DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
	DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
	DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
	and DW_AT_GNU_all_source_call_sites.
	(mem_loc_descriptor): Handle ENTRY_VALUE.
	(add_src_coords_attributes): Don't add enything if
	DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
	(dwarf2out_abstract_function): Save and clear call_arg_location,
	call_site_count and tail_call_site_count around dwarf2out_decl call.
	(gen_call_site_die): New function.
	(gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
	(gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
	(dwarf2out_function_decl): Clear call_arg_locations,
	call_arg_loc_last, set call_site_count and tail_call_site_count
	to -1 and free block_map.
	(dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
	CALL_INSNs.  Add NOTE_DURING_CALL_P var location notes even when not
	followed by any real instructions.
	(dwarf2out_begin_function): Set call_site_count and
	tail_call_site_count to 0.
	(resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
	is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
	attempt to force a DIE for it and worst case remove the attribute.
	(resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
	check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
	the decl itself.
	* var-tracking.c: Include tm_p.h.
	(vt_stack_adjustments): For calls call note_register_arguments.
	(argument_reg_set): New variable.
	(add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
	ensure the VALUE is resolved.
	(call_arguments): New variable.
	(prepare_call_arguments): New function.
	(add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
	(struct expand_loc_callback_data): Add ignore_cur_loc field.
	(vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
	always use the best expression.
	(vt_expand_loc): Add ignore_cur_loc argument.
	(vt_expand_loc_dummy): Clear ignore_cur_loc field.
	(emit_note_insn_var_location): Adjust vt_expand_loc callers.
	(emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
	note for all calls.
	(vt_add_function_parameter): Use cselib_lookup_from_insn.
	If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
	argument.  Don't call cselib_preserve_only_values and
	cselib_reset_table.
	(note_register_arguments): New function.
	(vt_initialize): Compute argument_reg_set.  Call
	vt_add_function_parameters before processing basic blocks instead of
	afterwards.  For calls call prepare_call_arguments before calling
	cselib_process_insn.
	* print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
	* Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
	(var-tracking.o): Depend on $(TM_P_H).
	* cfglayout.h (insn_scope): New prototype.
	* gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
	* cfglayout.c (insn_scope): No longer static.
	* insn-notes.def (CALL_ARG_LOCATION): New.
	* calls.c (expand_call, emit_library_call_value_1): Put USEs for
	MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
	* integrate.c (set_block_origin_self, set_block_abstract_flags): Do
	nothing for DECL_EXTERNAL BLOCK_VARS.
cp/
	* cp-objcp-common.c (cp_function_decl_explicit_p): Don't crash if
	DECL_LANG_SPECIFIC is NULL.
include/
	* dwarf2.h (DW_TAG_GNU_call_site, DW_TAG_GNU_call_site_parameter,
	DW_AT_GNU_call_site_value, DW_AT_GNU_call_site_data_value,
	DW_AT_GNU_call_site_target, DW_AT_GNU_call_site_target_clobbered,
	DW_AT_GNU_tail_call, DW_AT_GNU_all_tail_call_sites,
	DW_AT_GNU_all_call_sites,, DW_AT_GNU_all_source_call_sites,
	DW_OP_GNU_entry_value): New.

From-SVN: r171033
2011-03-16 09:32:13 +01:00
boehm-gc Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
config Guard against M4 versions with a buggy strstr. 2011-03-05 07:32:50 +00:00
contrib * gennews (files): Add files for GCC 4.6. 2011-03-05 19:49:36 +00:00
fixincludes Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
gcc final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION. 2011-03-16 09:32:13 +01:00
gnattools PR other/46202: implement install-strip. 2010-11-20 19:37:08 +00:00
include final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION. 2011-03-16 09:32:13 +01:00
INSTALL
intl Fix unportable shell quoting. 2010-09-27 20:19:41 +00:00
libada PR other/46202: implement install-strip. 2010-11-20 19:37:08 +00:00
libcpp * cpplib.pot: Regenerate. 2011-03-05 19:45:12 +00:00
libdecnumber Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
libffi Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
libgcc config.host (cpu_type): Add FreeBSD PowerPC specific parts. 2011-03-14 07:06:23 +01:00
libgfortran re PR fortran/48066 (Segfault with SUM of zero-sized array) 2011-03-12 23:13:56 +00:00
libgo Don't use intermediate .la files building libgo. 2011-03-11 01:00:15 +00:00
libgomp re PR fortran/47886 (ICE: OpenMP !$omp task if(omp_get_num_threads() > 0)) 2011-02-27 13:05:36 +01:00
libiberty re PR debug/28047 (DWARF output_file_names should really understand DOS pathnames) 2011-02-28 19:23:25 +01:00
libjava Insert libgcj's Python module directory at the start of the search 2011-02-14 16:00:28 +00:00
libmudflap Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
libobjc In libobjc/: 2011-02-28 Nicola Pero <nicola.pero@meta-innovation.com> 2011-02-28 14:48:23 +00:00
libquadmath quadmath-printf.c (quadmath_snprintf): Make sure that for size > 0 str is always zero terminated. 2011-02-28 21:31:46 +01:00
libssp Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
libstdc++-v3 thread: Revert. 2011-03-16 00:02:11 +00:00
lto-plugin Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
maintainer-scripts crontab: Enable 4.7 snapshots, switch 4.6 snapshots to 4.6 branch. 2011-03-14 14:55:52 +01:00
zlib Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
ABOUT-NLS
ChangeLog re PR lto/48086 (bootstrap-lto creates c-common.s with too many sections on x86_64-apple-darwin10) 2011-03-14 02:47:49 +00:00
ChangeLog.tree-ssa
compile Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
config-ml.in config-ml.in: Add Go support... 2010-11-19 20:25:49 +00:00
config.guess config.sub: Update to version 2010-05-21. 2010-05-25 13:22:07 +00:00
config.rpath Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
config.sub config.sub: Update to version 2010-05-21. 2010-05-25 13:22:07 +00:00
configure re PR lto/48086 (bootstrap-lto creates c-common.s with too many sections on x86_64-apple-darwin10) 2011-03-14 02:47:49 +00:00
configure.ac re PR lto/48086 (bootstrap-lto creates c-common.s with too many sections on x86_64-apple-darwin10) 2011-03-14 02:47:49 +00:00
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
depcomp Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
install-sh Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
libtool-ldflags
libtool.m4 Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
ltgcc.m4
ltmain.sh backport: ltmain.sh (relink): Use absolute path when hardcoding with -L. 2011-01-13 18:51:10 +00:00
ltoptions.m4 Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
ltsugar.m4
ltversion.m4 Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
lt~obsolete.m4 Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
MAINTAINERS MAINTAINERS: Update myself as score backend maintainer, updatemy e-mail address. 2011-03-11 03:12:48 +00:00
Makefile.def re PR lto/47225 (cross-compile fails while configuring libgcc with "xgcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found") 2011-02-12 12:02:24 +00:00
Makefile.in re PR lto/47225 (cross-compile fails while configuring libgcc with "xgcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found") 2011-02-12 12:02:24 +00:00
Makefile.tpl Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
missing Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
mkdep
mkinstalldirs Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
move-if-change Import move-if-change script from gnulib. 2011-02-12 15:48:30 +00:00
README README: Refer to the various COPYING* files instead of just COPYING. 2009-10-10 20:59:49 +00:00
symlink-tree
ylwrap Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00

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.