This is the mail archive of the gcc-bugs@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]

[Bug c/20951] bogus error passing &va_list to va_list*


------- Additional Comments From sebor at roguewave dot com  2005-04-13 22:06 -------
(In reply to comment #5)

Thanks for the pointer. Let me try again to explain why I object to the footnote:

The footnote assumes that the reader will make the extrapolation that 1) since
va_list is an object type, and 2) since array types are (also) object types, and
3) since array types in function arguments are converted to pointers, the actual
type of a va_list object when declared as a function argument need not in fact
be va_list but va_list*, despite the fact the declaration clearly appears to say
otherwise.

I am not a casual reader of the standard -- I read and interpret standards for a
living. It seems that if I have trouble making that leap above it may not be so
obvious to others either (as demonstrated by the lively discussion in the
referenced bug).

Perhaps removing the footnote is an unnecessarily drastic change. But clarifying
it by mentioning the caveat above would, IMO, go a long way toward helping
readers avoid the trap that I (and others) fell into.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20951


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