Update cf_returns_retained/ns_returns_retained examples to use __has_feature.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76130 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/www/analyzer/annotations.html b/www/analyzer/annotations.html
index e49c327..819886e 100644
--- a/www/analyzer/annotations.html
+++ b/www/analyzer/annotations.html
@@ -152,8 +152,12 @@
 <span class="command">$ cat test.m</span>
 #import &lt;Foundation/Foundation.h&gt;
 
+#ifndef __has_feature      // Optional.
+#define __has_feature(x) 0 // Compatibility with non-clang compilers.
+#endif
+
 #ifndef NS_RETURNS_RETAINED
-#if __clang__
+#if __has_feature(attribute_ns_returns_retained)
 <span class="code_highlight">#define NS_RETURNS_RETAINED __attribute__((ns_returns_retained))</span>
 #else
 #define NS_RETURNS_RETAINED
@@ -226,8 +230,12 @@
 $ cat test.m
 #import &lt;Cocoa/Cocoa.h&gt;
 
+#ifndef __has_feature      // Optional.
+#define __has_feature(x) 0 // Compatibility with non-clang compilers.
+#endif
+
 #ifndef CF_RETURNS_RETAINED
-#if __clang__
+#if __has_feature(attribute_cf_returns_retained)
 <span class="code_highlight">#define CF_RETURNS_RETAINED __attribute__((cf_returns_retained))</span>
 #else
 #define CF_RETURNS_RETAINED