http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46766

--- Comment #4 from Fredrik Hederstierna 
<fredrik.hederstie...@securitas-direct.com> 2010-12-02 15:55:05 UTC ---
Yes, I agree its EURGH.
I guess its not preferred to make C++ template-alike code in C.
I think its worth avoid stuff like:

#ifdef BLAH_BLAH_BLAH
  #define RETURN_TYPE_C_TEMPLATE  void
  #define PARAM_TYPE_C_TEMPLATE   void
  #define PARAM_TYPE_C_TEMPLATE_VARIABLE
#else
  #define RETURN_TYPE_C_TEMPLATE  int
  #define PARAM_TYPE_C_TEMPLATE   int
  #define PARAM_TYPE_C_TEMPLATE_VARIABLE  var
#endif

RETURN_TYPE_C_TEMPLATE func( PARAM_TYPE_C_TEMPLATE 
PARAM_TYPE_C_TEMPLATE_VARIABLE )
{
  return (RETURN_TYPE_C_TEMPLATE) template_func1(
PARAM_TYPE_C_TEMPLATE_VARIABLE );
}

int main(void)
{
  func((PARAM_TYPE_C_TEMPLATE) template_func2());  
  return ERR_EURGH;
}

Reply via email to