sammccall added inline comments.

================
Comment at: clang/lib/Sema/SemaCodeComplete.cpp:4390
+  auto AddCompletions = [&](const ParsedAttrInfo &A) {
+    if (A.IsTargetSpecific && !A.existsInTarget(Context.getTargetInfo()))
+      return;
----------------
aaron.ballman wrote:
> Should we also early return if the attribute is ignored? (See `IgnoredAttr` 
> in `Attr.td`) I'm assuming that attributes which do nothing are unlikely to 
> be high-value attributes to autocomplete (so maybe they'd go at the end of 
> the list if we wanted to keep them).
Hmm, I'm not sure about that.
They do nothing *in clang*, but using clang-based code completion doesn't 
particularly mean we'll use clang to build the code.
Something must care about the attribute, even if it's just a doc generator or 
something.

In practice, there are 6 attrs with Ignored = 1:
 - `bounded` is an openbsd-gcc extension
 - 3 are cuda-specific and probably only used by cuda stdlib headers
 - `__w64` is a keyword so not relevant here
 - `property` is actually supported by clang, it seems `Ignored` is lying!

So none of these are *terribly* important, but they also don't seem so 
worthless that it's important to exclude them. (There are other attributes that 
aren't important too!)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D107696/new/

https://reviews.llvm.org/D107696

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to