- User Since
- Jul 12 2012, 2:19 PM (323 w, 5 d)
The right way to produce diagnostics under pedantic mode is to model them as Extension or ExtWarn in the .td file, not by checking the Pedantic diagnostic option directly. If this is an intentional GNU extension too, that makes things a bit more complex (one approach would be to have two diagnostics, one for "this is ill-formed" and another for "this is a GNU extension").
I think the check is wrong here. We need this clear call to reinitialize the object after moving from it. Maybe that function should be annotated as reinitializing the object instead?
Fri, Sep 21
Tue, Sep 18
We don't want to allocate storage for the lambda fields for non-lambda classes, which is why we use distinct base classes. Is the problem you're trying to solve here that we fake a definition in AST deserialization before we know whether the class is a lambda? If so, that seems solvable by moving the IsLambda flag out of DefinitionData into CXXRecordData (perhaps as a distinct TagTypeKind?).
Mon, Sep 17
Sun, Sep 16
Sat, Sep 15
I think we can and should do better about false positives here. If you move this check to SemaChecking, you can produce the warning in a context where you know what the final type is -- I don't think there's any reason to warn if the final type is signed and no wider than the promoted type of the negation.
Fri, Sep 14
Looks good other than the warning, which I don't yet understand.
Thu, Sep 13
Looks good (with a couple of minor code style adjustments). Do you need someone to commit this for you?
Wed, Sep 12
Thanks, some comments but the approach here looks great.
Tue, Sep 11
Mon, Sep 10
Sun, Sep 9
Fri, Sep 7
Add tests and extend file comment to give an example of <encoding>.
I'm not a fan of the duplication introduced here, but the new code is definitely more obvious. On balance, this seems like a small improvement, so let's go for it.
It'd be good to test that [[no_extern_template]] affects instantiation, not just code generation (eg, put something in the body of the entity that will trigger an error if instantiated, and check that the diagnostic is produced at the right times).
Wed, Sep 5
Fixed in r341499.