Uploaded image for project: 'Embedded Software & Tools'
  1. Embedded Software & Tools
  2. EXT_EP-11966

C7000 compiler crashes on cfloat8 *= cfloat8 and cfloat8 /= cfloat8.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Medium Medium
    • Code Generation Tools
    • CODEGEN-13107
    • C7000_4.1.0.LTS
    • default
    • Hide
      Rewrite the "X *= Y" expression to "X = X * Y"
      Rewrite the "X /= Y" expression to "X = X / Y"
      Show
      Rewrite the "X *= Y" expression to "X = X * Y" Rewrite the "X /= Y" expression to "X = X / Y"

      The attached C++ source contains this expression ...

      	// cfloat *X; cfloat8 coefs;
              *((cfloat8 *) &X[elt]) *= coefs;    // "=" is ok, "*=" crashes
      

      Build with optimization level 3 ...

      % cl7x -@options.txt --opt_level=3 file.cpp
      
      >> Compilation failure
      

      Build with optimization level 0 ...

      % cl7x -@options.txt --opt_level=0 file.cpp
      >> file.cpp, line 43: INTERNAL ERROR: no match for MULT
      
      
      This may be a serious problem.  Please contact customer support with a
      description of this problem and a sample of the source files that caused this
      INTERNAL ERROR message to appear.
      
      Cannot continue compilation - ABORTING!
      
      
      >> Compilation failure
      

            syncuser TI User
            syncuser TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: