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: [RFH / Patch] PR 51222]


Hi,
On 05/01/2012 11:01 PM, Paolo Carlini wrote:
Well, not really. The first time walk_template_parms_r is called, t is a
SIZEOF_EXPR which remains unhandled, the function returns NULL_TREE. The
second time, t is a COMPONENT_REF, thus !TYPE_P (t) is true, TREE_TYPE
is NULL, the function immediately returns error_mark_node and the
iteration ends (with the correct result that the expression is
instantiation-dependent).

Ah, I guess we can't get to a FIELD_DECL without going through an expression with null type. OK, can leave out the FIELD_DECL case then with a comment.
Ok.
I also booted and tested a variant, attached, which changes finish_static_assert to also use instantiation_dependent_expression_p and also passes testing: nice, between front-end and library we stress the new function quite a bit more.

Great. Let's also use it for sizeof/alignof, controlled with abi_version_at_least (7), since it affects mangling.
Ok. I'm attaching what I booted and tested successfully.

Is it now good enough to go in to resolve PR51222? Otherwise, if we aren't still not completely sure about bits outside PR51222 proper, maybe we could split the work in two parts?
And then figure out what we're going to to about ABI transition in 4.8...
This reminds me that maybe it's finally time to break the library ABI. I guess we may want to discuss the issue at the Cauldron too.

Paolo.

////////////////////

Attachment: CL_51222_10
Description: Text document

Attachment: patch_51222_10
Description: Text document


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