joerg added a subscriber: joerg.

================
Comment at: include/clang/Basic/AttrDocs.td:2066
@@ -2065,3 +2065,3 @@
   let Content = [{
 Clang supports the GNU style ``__attribute__((interrupt))`` attribute on
 x86/x86-64 targets.The compiler generates function entry and exit sequences
----------------
I'd really prefer such checks to be more strict, meaning:


  # It can return a `void *` pointer, no further signature checks are done
  # It can be a function pointer. In that case, it must match the signature of 
the function declaration the attribute is on.

================
Comment at: include/clang/Basic/AttrDocs.td:2371
@@ +2370,3 @@
+
+Not all targets support this attribute.  ELF targets support this attribute 
when using binutils v2.20.1 or higher and glibc v2.11.1 or higher.  Non-ELF 
targets currently do not support this attribute.
+  }];
----------------
probinson wrote:
> echristo wrote:
> > rjmccall wrote:
> > > echristo wrote:
> > > > Probably better to say linux fwiw and not ELF.
> > > The validation code in Sema is checking for an ELF target.  If the 
> > > restriction is more precise than that, then we should make a TargetInfo 
> > > callback.  Do the BSDs and other ELF targets not use binutils/glibc?
> > We should make a TargetInfo callback. BSDs and other ELF targets aren't 
> > guaranteed to use binutils/glibc (some of them have even switched to llvm 
> > already) - and I don't know what the state of ifunc support on those 
> > architectures is.
> Hear hear. PS4 is ELF but we don't use glibc.
The attribute is not Linux specific, so ELF is a reasonable first 
approximation. Most BSDs have some ifunc support at least. I'm not in favor of 
doing any checks beyond ELF -- even on Linux the availability of working ifunc 
support depends on other factors like whether the binary is dynamically linked.


http://reviews.llvm.org/D15524



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

Reply via email to