efriedma added inline comments.

================
Comment at: docs/LanguageExtensions.rst:2344
+declaration failed to receive the attribute because of a compilation error. The
+attributes that aren't applied to any declaration are not verified 
semantically.
+
----------------
I think "to each declaration individually" needs to expanded on a bit here.  
It's not clear how this interacts with namespaces, or classes, or function 
declarations, or function definitions, or templates.  For example, if you 
declare a function inside of a `#pragma clang attribute 
push(annotate("custom"))`, does that add an attribute to each parameter of the 
function?


================
Comment at: docs/LanguageExtensions.rst:2349
+attribute is supported by the pragma by referring to the
+:doc:`individual documentation for that attribute <AttributeReference>`.
----------------
I'm wondering if we can tweak the approach so that we don't have to separately 
define how this works for each attribute; for example, `#pragma clang 
attribute_function_declaration push(...)` would apply to each function 
declaration, `#pragma clang attribute_global_variable_declaration push(...)` 
would apply to each global variable declaration, etc.


Repository:
  rL LLVM

https://reviews.llvm.org/D30009



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

Reply via email to