================
@@ -623,9 +623,13 @@ static bool checkArmStreamingBuiltin(Sema &S, CallExpr 
*TheCall,
            BuiltinType == SemaARM::ArmStreaming)
     S.Diag(TheCall->getBeginLoc(), diag::err_attribute_arm_sm_incompat_builtin)
         << TheCall->getSourceRange() << "streaming";
-  else
+  else {
+    if (BuiltinType == SemaARM::ArmNonStreaming) {
----------------
sdesmalen-arm wrote:

An `ArmStreaming` builtin would require the parent function to be a 
`__arm_streaming` function, and `always_inline`'ing an `__arm_streaming` 
function into a non-streaming function currently always results in an error.

However, https://godbolt.org/z/G4d4fjvWe should probably be an error as well 
(as inlining it into a non-streaming function changes the behaviour of the 
instruction).

https://github.com/llvm/llvm-project/pull/174608
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to