From: ebotcazou Date: Tue, 13 Aug 2013 19:49:21 +0000 (+0000) Subject: * gcc-interface/trans.c (set_end_locus_from_node): Clear column info X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7f1b6142816eb245df9796a0706e6302e0bbac60;p=thirdparty%2Fgcc.git * gcc-interface/trans.c (set_end_locus_from_node): Clear column info for the end_locus of a block if it does not come from an End_Label. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201703 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 65481468941b..45fcf886e899 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2013-08-13 Thomas Quinot + + * gcc-interface/trans.c (set_end_locus_from_node): Clear column info + for the end_locus of a block if it does not come from an End_Label. + 2013-08-13 Thomas Quinot * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): If diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index d2f73561d7c0..db55c38eaaed 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -9228,9 +9228,13 @@ set_end_locus_from_node (tree gnu_node, Node_Id gnat_node) gnat_node = Present (gnat_end_label) ? gnat_end_label : gnat_node; /* Some expanded subprograms have neither an End_Label nor a Sloc - attached. Notify that to callers. */ + attached. Notify that to callers. For a block statement with no + End_Label, clear column information, so that the tree for a + transient block does not receive the sloc of a source condition. */ - if (!Sloc_to_locus (Sloc (gnat_node), &end_locus)) + if (!Sloc_to_locus1 (Sloc (gnat_node), &end_locus, + No (gnat_end_label) && + (Nkind (gnat_node) == N_Block_Statement))) return false; switch (TREE_CODE (gnu_node))