Revert a tiny bit of r148553 which extended LLVM's function attributes
authorChandler Carruth <chandlerc@gmail.com>
Wed, 25 Jan 2012 07:40:15 +0000 (07:40 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Wed, 25 Jan 2012 07:40:15 +0000 (07:40 +0000)
to 64-bits, and added a new attribute in bit #32. Specifically, remove
this new attribute from the enum used in the C API. It's not yet clear
what the best approach is for exposing these new attributes in the
C API, and several different proposals are on the table. Until then, we
can simply not expose this bit in the API at all.

Also, I've reverted a somewhat unrelated change in the same revision
which switched from "1 << 31" to "1U << 31" for the top enum. While "1
<< 31" is technically undefined behavior, implementations DTRT here.
However, MS and -pedantic mode warn about non-'int' type enumerator
values. If folks feel strongly about this I can put the 'U' back in, but
it seemed best to wait for the proper solution.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148937 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm-c/Core.h

index d5883dc8bb39185b61527fb4cf23eb7edb19f776..ba48d1fe069259cc82e7f23ef1f03eccb047ed4a 100644 (file)
@@ -118,8 +118,12 @@ typedef enum {
     LLVMStackAlignment = 7<<26,
     LLVMReturnsTwice = 1 << 29,
     LLVMUWTable = 1 << 30,
-    LLVMNonLazyBind = 1U << 31,
-    LLVMAddressSafety = 1ULL << 32
+    LLVMNonLazyBind = 1 << 31
+
+    // FIXME: This attribute is currently not included in the C API as
+    // a temporary measure until the API/ABI impact to the C API is understood
+    // and the path forward agreed upon.
+    //LLVMAddressSafety = 1ULL << 32
 } LLVMAttribute;
 
 typedef enum {