+2008-05-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (gnat_to_gnu): Do not set source location info on NOP_EXPRs.
+ (Sloc_to_locus): Do not overwrite known GCC locations when translating
+ GNAT standard locations.
+
2008-05-23 Eric Botcazou <ebotcazou@adacore.com>
* gigi.h (mark_visited): Declare.
the location information of their last use. Note that we may have
no result if we tried to build a CALL_EXPR node to a procedure with
no side-effects and optimization is enabled. */
- if (gnu_result && EXPR_P (gnu_result) && !REFERENCE_CLASS_P (gnu_result))
+ if (gnu_result
+ && EXPR_P (gnu_result)
+ && TREE_CODE (gnu_result) != NOP_EXPR
+ && !REFERENCE_CLASS_P (gnu_result))
set_expr_location_from_node (gnu_result, gnat_node);
/* If we're supposed to return something of void_type, it means we have
if (Sloc <= Standard_Location)
{
- *locus = BUILTINS_LOCATION;
+ if (*locus == UNKNOWN_LOCATION)
+ *locus = BUILTINS_LOCATION;
return false;
}
else