------- Additional Comments From amodra at bigpond dot net dot au  2005-02-07 
06:58 -------
I wouldn't blame the preprocessor.  The macros in altivec.h for C support have
multiple occurences of their arguments.  __builtin_choose_expr only evaluates
one occurence, but that doesn't stop the preprocessor *substituting* the macro
args multiple times.
  vec_add (a, a) expands to 8006 chars,
  vec_add (a, vec_add (a, a)) expands to 321430
  vec_add (1, vec_add (a, vec_add (a, a))) expands to 12231542
and I didn't even try four levels.

Perhaps this comment in altivec.h explains it..
/* "... and so I think no man in a century will suffer as greatly as
   you will."  */


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aldyh at redhat dot com
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-02-07 06:58:47
               date|                            |


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

Reply via email to