[omniORB] Problem with "// never return" functions and static code analysis

Martin B. 0xCDCDCDCD at gmx.at
Fri Jul 9 19:18:19 BST 2010


Hi all, Hi Duncan!

I'm currently messing around with Visual Studio 2010 and it's /analysis 
feature.
One of the warnings it's got is that it'll tell you when you are 
dereferencing a NULL pointer. The problem is now that it will generate 
this warning all over the omniORB headers, e.g:
***
[4.1.2, stringtypes.h, ln 219]
   inline char& operator[] (_CORBA_ULong index_) {
     if (!_data) {
       _CORBA_bound_check_error();	// never return
     }
     return _data[index_];
   }
***

This could be solved by tagging all "// never return" functions with
__declspec(noreturn)
for VS Builds. (Obviously via some macro.)

Would it be possible to add something like this?
Should be useful for other compilers / code analysis tools too, 
shouldn't it?

cheers,
Martin




More information about the omniORB-list mailing list