Commit 678400b3 by Arnaud Charlet

[multiple changes]

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.

From-SVN: r189777
parent c4250ab1
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.
......
......@@ -2800,15 +2800,18 @@ gnatlib-shared:
$(GNATLIB_SHARED)
# When building a SJLJ runtime for VxWorks, in addition to forcing
# ZCX_By_default to True, we need to ensure that -crtbe linker options
# is not passed. Otherwise we will end with weak symbols on
# __register_frame_info and __deregister_frame_info. The VxWorks 5.x
# will issue an error on weak symbols.
# ZCX_By_default to False, we need to ensure that extra linker options
# are not passed to prevent the inclusion of useless objects and
# potential troubles from the presence of extra symbols and references
# in some configurations. The inhibition is performed by commenting
# the pragma instead of deleting the line, as the latter might result
# in getting multiple blank lines, hence a style check error, as a
# result.
gnatlib-sjlj:
$(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="" \
THREAD_KIND="$(THREAD_KIND)" ../stamp-gnatlib1-$(RTSDIR)
sed -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := False;/' $(RTSDIR)/system.ads > $(RTSDIR)/s.ads
cat $(RTSDIR)/s.ads | grep -v "Linker_Options.*-crtbe" > $(RTSDIR)/s2.ads
sed -e 's/\(pragma Linker.*crtbe.*\)/-- \1/' $(RTSDIR)/s.ads > $(RTSDIR)/s2.ads
$(RM) $(RTSDIR)/s.ads
$(MV) $(RTSDIR)/s2.ads $(RTSDIR)/system.ads
$(MAKE) $(FLAGS_TO_PASS) \
......
......@@ -4456,6 +4456,7 @@ Handled_Sequence_Of_Statements_to_gnu (Node_Id gnat_node)
else if (gcc_zcx)
{
tree gnu_handlers;
location_t locus;
/* First make a block containing the handlers. */
start_stmt_group ();
......@@ -4468,7 +4469,14 @@ Handled_Sequence_Of_Statements_to_gnu (Node_Id gnat_node)
/* Now make the TRY_CATCH_EXPR for the block. */
gnu_result = build2 (TRY_CATCH_EXPR, void_type_node,
gnu_inner_block, gnu_handlers);
set_expr_location_from_node (gnu_result, gnat_node);
/* Set a location. We need to find a uniq location for the dispatching
code, otherwise we can get coverage or debugging issues. Try with
the location of the end label. */
if (Present (End_Label (gnat_node))
&& Sloc_to_locus (Sloc (End_Label (gnat_node)), &locus))
SET_EXPR_LOCATION (gnu_result, locus);
else
set_expr_location_from_node (gnu_result, gnat_node);
}
else
gnu_result = gnu_inner_block;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment