================
@@ -5736,6 +5736,17 @@ option.
     }];
 }
 
+def StackProtectorIgnoreDocs : Documentation {
+  let Category = DocCatFunction;
+  let Content = [{
+The ``stack_protector_ignore`` attribute skips analysis of the given local
+variable when determining if a function should use a stack protector.
+
+If ``-fstack-protector-all`` is specified then the given function will still
+use a stack protector, even if some/all variables have this attribute.
----------------
cooperp wrote:

Oh yeah i see.

So for sure i think its reasonable to emit a warning if you use this attribute 
and also use `-fstack-protector-all`. I'll work on that now.

For "explain which variable ends up triggering the need for a stack protector" 
i suspect that would need to be something like a remark from the LLVM pass.  I 
don't yet know what remarks are capable or but i can look in to that.  It would 
need to come from LLVM as its going to be heavily influenced by optimizations 
such as mem2reg and SROA, which remove many alloca's.

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

Reply via email to