================
@@ -3730,6 +3730,12 @@ def warn_gnu_inline_cplusplus_without_extern : Warning<
   "'gnu_inline' attribute without 'extern' in C++ treated as externally"
   " available, this changed in Clang 10">,
   InGroup<DiagGroup<"gnu-inline-cpp-without-extern">>;
+def warn_sme_streaming_mode_change_no_sve : Warning<
+  "function requires a streaming-mode change, unwinding is not possible 
without 'sve'">,
+  InGroup<AArch64SMEAttributes>;
----------------
kmclaughlin-arm wrote:

Thanks @efriedma-quic, I have changed these warnings to errors as suggested and 
also updated SemaChecking.cpp to only emit them if the callee is not marked 
with either `noexcept` or `nothrow`. I thought that we should not emit the 
errors if `fno-exceptions` is used as well, so I've added a check for 
`getLangOpts().Exceptions` in the same place.

I started adding similar asserts to LLVM to ensure that if SVE is not 
available, that nounwind is set on the callee. I haven't included these in the 
latest commit however, as many of the LLVM tests for SME do not currently pass 
`-mattr=+sve` and would require updating a lot of CHECK lines. I would prefer 
to work on this separately and post a new patch following this PR if possible, 
as I think including all of the test changes will make this PR more difficult 
to review.

https://github.com/llvm/llvm-project/pull/83301
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to