------- Comment #1 from burnus at gcc dot gnu dot org  2007-03-16 13:42 -------
The first two lines work, but the  M() calls fail (SIGSEGV):

    D.1257 = *a3;
    if (D.1257 > M.0)
[...]
    D.1258 = *a4;

That is: There is no optional check.

cmplx has one:
    D.1260 = y != 0B ? *y : 0.0;
    __result_t1 = COMPLEX_EXPR <*x, D.1260>;


-- 

burnus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |burnus at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2007-03-16 13:42:06
               date|                            |
            Summary|wrong code generated with   |[Regression 4.3] wrong code:
                   |gfortran                    |Max() with optional
                   |                            |arguments


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

Reply via email to