C6516

 

For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

warning C6516: invalid annotation: no properties specified for <name> attribute

System_CAPS_ICON_note.jpg Note

This warning occurs only in code that is using a deprecated version of the source-code annotation language (SAL). We recommend that you port your code to use the latest version of SAL. For more information, see Using SAL Annotations to Reduce C/C++ Code Defects.

This warning indicates that either no property was specified in the attribute or the property that was specified is invalid; therefore, the attribute cannot be considered complete.

The following code generates this warning because Deref=1 only specifies the level of indirection, but this information alone does not help the analysis tool:

// C  
#include <CodeAnalysis\SourceAnnotations.h>  
void f([SA_Pre(Deref=1)] char* pc);  
  
// C++  
#include <CodeAnalysis\SourceAnnotations.h>  
using namespace vc_attributes;  
void f([Pre(Deref=1)] char* pc);  
  

To correct this warning, another property, such as Access, is required to indicate to the analysis tool what must be enforced on the de-referenced items. The following code corrects this warning:

// C  
#include <CodeAnalysis\SourceAnnotations.h>  
void f([SA_Pre(Deref=1, Access=SA_Read)] char* pc);   
  
// C++  
#include <CodeAnalysis\SourceAnnotations.h>  
using namespace vc_attributes;  
void f([Pre(Deref=1, Access=Read)] char* pc);  

Show: