This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Warn when returning the address of a temporary (middle-end) v2


On Sun, 27 Jul 2014, Richard Sandiford wrote:

Marc Glisse <marc.glisse@inria.fr> writes:
Hello,

I followed the advice in this discussion:
https://gcc.gnu.org/ml/gcc-patches/2014-04/msg00269.html

and here is a new patch. I made an effort to isolate a path in at least
one subcase so it doesn't look too strange that the warning is in this
file. Computing the dominance info just to tweak the warning message may
be a bit excessive.

How about only calculating it once you've decided to issue a message?

Good idea! I'll post the updated patch after testing.

+		      if (always_executed)
+			msg = "function returns address of local variable";
+		      else
+			msg = "function may return address of local variable";

I think you need _(...) here, unless some magic makes that unnecessary now.

I just tried to see how the magic happens when someone calls error_at, and it goes through diagnostic_set_info, which contains:

diagnostic_set_info_translated (diagnostic, _(gmsgid), args, location, kind);

So I think the _(...) is already taken care of. But I don't know that code at all and I could easily have looked at it wrong.

Thanks for the help,

--
Marc Glisse


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]