[PATCH] Suppress 'unused function' warnings on specialized template functions

Halfdan Ingvarsson halfdan at sidefx.com
Wed Apr 10 14:05:45 PDT 2013


This is my first patch submission, although I've been using clang as my 
primary work compiler for over a year.

It's a simple suppression on unused function warnings 
(-Wunused-function) for specialized template functions, whose primary 
template has a static storage class. E.g:

---- 8< ----
template<typename T> static inline bool
isNonZero(T a) { return (bool)a; }

template<> inline bool
isNonZero(const char *s) { return s; }
---- 8< ---

Currently the second definition will emit an unused warning.

The attached patch uses the storage class from the primary template when 
checking whether to omit static inline functions from the unused 
warnings (since specializations implicitly inherit this storage class).

  - ½

-------------- next part --------------
A non-text attachment was scrubbed...
Name: unused_tpl_spec_warn.patch
Type: text/x-patch
Size: 948 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130410/f4ebf2f3/attachment.bin>

More information about the cfe-commits mailing list