https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116016
--- Comment #14 from qinzhao at gcc dot gnu.org --- (In reply to Siddhesh Poyarekar from comment #13)> > Does it have to be a FAM? What is the problem if this is used on, e.g. an > arbitrary pointer? If we go with the category B (as I mentioned in Comment #9), define the new builtin as a regular builtin, Then, arbitrary pointer for the 1st parameter is fine. If we go with the category A, i.e, define the new builtin as a C language extension as a key word, then I think that The 1st parameter is better to be a FAM_exp. I think for our purpose of using this new builtin, defining it as a RID_BUITLIN should be enough. However, I am open to define it as a regular builtin and implement it in the middle-end. > > > argument count_exp must be an expression that can be converted to the type > > of the flexible array member. > > Shouldn't count_exp be __SIZE_TYPE__? Why should it be convertible to the > type of the FAM? my bad, yes, you are right.