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]

[C++ Patch] PR 71248


Hi,

the primary issue is already fixed, we don't ICE anymore, but the location of the error message is (badly) incorrect, because check_static_variable_definition doesn't use DECL_SOURCE_LOCATION. Just doing that, consistently, plus a number of additional column checks in existing testcases amounts to most of the patch. There is a subtlety though: as shown by constexpr-static8.C we have been giving redundant diagnostics about the out-of-class definitions of the erroneous in-class declarations. This is particularly evident now because we would have to get right the location of the latter too and DECL_SOURCE_LOCATION doesn't help much for those. However, I think we simply want to suppress those messages, thus the early return at the beginning of check_static_variable_definition. The latter is called only by cp_finish_decl, thus conceivably the same logic could be easily shuffled around....

Tested x86_64-linux.

Thanks,
Paolo.

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

Attachment: CL_71248
Description: Text document

Attachment: patch_71248
Description: Text document


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