================ @@ -1043,6 +1045,38 @@ def warn_npot_ms_struct : Warning< def err_itanium_layout_unimplemented : Error< "Itanium-compatible layout for the Microsoft C++ ABI is not yet supported">; +// Unsupported features in name mangling +def err_itanium_mangle_fixed_point_literal + : Error<"cannot mangle fixed point literals yet">; +def err_itanium_mangle_dependent_neon_vector + : Error<"cannot mangle this dependent neon vector type yet">; +def err_itanium_mangle_dependent_fixed_length_sve_vector + : Error<"cannot mangle this dependent fixed-length SVE vector type yet">; +def err_itanium_mangle_dependent_fixed_length_rvv_vector + : Error<"cannot mangle this dependent fixed-length RVV vector type yet">; +def err_itanium_mangle_requires_expr_with_substitution_failure + : Error<"cannot mangle this requires-expression containing a substitution " + "failure">; +def err_itanium_mangle_unsupported_expr_type + : Error<"cannot yet mangle expression type %0">; +def err_itanium_mangle_ternary_omitted_operand + : Error<"?: operator with omitted middle operand cannot be mangled">; +def err_itanium_mangle_unsupported_expr + : Error<"cannot yet mangle %0 expression">; +def err_itanium_mangle_openacc_asterisk_size_expr + : Error<"cannot yet mangle OpenACC Asterisk Size expression">; +def err_itanium_mangle_unnamed_union_nttp + : Error<"cannot mangle this unnamed union NTTP yet">; ---------------- Sirraide wrote:
I also think all of these should be a single diagnostic along the lines of ‘cannot mangle X’ where `X` is an enum_select. I think that would make the semantics of these diagnostics a bit clearer even because they really all just seem to be some variant of ‘mangling this isn’t implemented yet’, and I don’t think it makes much sense to have 20 different diagnostics for that. > The "select" pattern tends to make localization (translation) of diagnostic > messages more difficult. I’m not sure that’s the case? It would be if we ended up in a situation where a diagnostic is of the form ‘X Y’, and ‘X’ and ‘Y’ are localised separately but their order can’t be changed, sure, but afaik any plans of localising diagnostics involve changing the entire diagnostic text, at which point you ought to have enough control over it to where the select shouldn’t be an issue. As an aside, at least personally, I care more about improving the codebase than trying to accomodate theoretical localisation plans that haven’t come to fruition in the last 15 years (and candidly, I also think translating compiler errors makes no sense to begin with nor would it actually help anyone in the long run, but that’s a different discussion altogether). https://github.com/llvm/llvm-project/pull/172532 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
