This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug optimization/14682] [tree-ssa] error: Invalid operand to binary operator


------- Additional Comments From steven at gcc dot gnu dot org  2004-03-22 21:27 -------
Perhaps.  I looked in GDB: 
 
  /* Const/copy propagate into USES, VUSES and the RHS of VDEFs.  */ 
  may_have_exposed_new_symbols = cprop_into_stmt (stmt, const_and_copies); 
 
==> Here we have: 
    "if (9223372036854775807 < iov_len_6) goto <L1>; else goto <L2>;" 
    which is good. 
 
  /* If the statement has been modified with constant replacements, 
     fold its RHS before checking for redundant computations.  */ 
  if (ann->modified) 
    { 
      /* Try to fold the statement making sure that STMT is kept 
         up to date.  */ 
      if (fold_stmt (bsi_stmt_ptr (si))) 
        { 
 
==> and here we have: 
    "if ((long long int)iov_len_6 < 0) goto <L1>; else goto <L2>;" 
    which is wrong. 
 
So fold_stmt is producing something we're not ready for. 
 
 

-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]