Uploaded image for project: 'C++ Standard Library'
  1. C++ Standard Library
  2. STDCXX-816

[Sun C++ 5.9] nomatchoverin error on operator%(gslice_array)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • External
    • None
    • Sun C++

    • Compiler Error

    Description

      -------- Original Message --------
      Subject: Re: (Incident Review ID: 1219432) Sun C++ 5.9 nomatchoverin error on operator%(gslice_array)
      Date: Mon, 31 Mar 2008 10:23:25 -0700 (MST)
      From: Steve Clamage <Stephen.Clamage AT Sun DOT COM>
      To: sebor AT roguewave.com

      Hi Martin Sebor,

      Thank you for reporting this issue.

      We have determined that this report is a new bug and entered the bug into our internal bug tracking system under Bug Id: 6682196.

      You can monitor this bug on the Java Bug Database at
      http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6682196.

      It may take a day or two before your bug shows up in this external database. If you are a member of the Sun Developer Network (SDN), there are two additional options once the bug is visible.

      1. Voting for the bug
      Click http://bugs.sun.com/bugdatabase/addVote.do?bug_id=6682196.

      2. Adding the report to your Bug Watch list.
      You will receive an email notification when this bug is updated.
      Click http://bugs.sun.com/bugdatabase/addBugWatch.do?bug_id=6682196.

      The Sun Developer Network (http://developers.sun.com) is a free service that Sun offers. To join, visit https://softwarereg.sun.com/registration/developer/en_US/new_user.

      For a limited time, SDN members can obtain fully licensed Java IDEs for web and enterprise development. More information is at http://developers.sun.com/prodtech/javatools/free/.

      Regards,
      Steve

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      NOTICE: This message, including any attachments, is for the intended
      recipient(s) only. If you are not the intended recipient(s), please
      reply to the sender, delete this message, and refrain from disclosing,
      copying, or distributing this message.
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      --------------- Previous Messages ----------------

      --------------------- Report ---------------------

      category : c++
      subcategory : other
      release : studio11
      type : bug
      synopsis : Sun C++ 5.9 nomatchoverin error on operator%(gslice_array)
      customer name : Martin Sebor
      customer mail : sebor@roguewave.com
      sdn id :
      language : en
      company : Rogue Wave Software
      hardware : sun4
      os : solaris_10
      bug id : 6682196
      date created : Sun Mar 30 13:05:56 MST 2008
      date evaluated : Mon Mar 31 10:19:28 MST 2008
      description :
      FULL PRODUCT VERSION :

      ADDITIONAL OS VERSION INFORMATION :
      Solaris 10

      A DESCRIPTION OF THE PROBLEM :
      All versions of Sun C++ up to 5.9 fail to compile the included test case, wither with the native C++ Standard Library or STLport. Suspect a compiler bug.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Compile the included test case.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      No errors.
      ACTUAL -
      Error.

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      "t.cpp", line 9: Error: Could not find a match for std::operator%<std::T>(std::gslice_array<int>, std::gslice_array<int>) needed in main().
      1 Error(s) detected.
      CC: Sun C++ 5.9 SunOS_sparc Patch 124863-01 2007/07/25
      ccfe: Sun C++ 5.9 SunOS_sparc Patch 124863-01 2007/07/25
      "t.cpp", line 9: Error: Could not find a match for std::operator%<std::_Tp>(std::gslice_array<int>, std::gslice_array<int>) needed in main().
      1 Error(s) detected.

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------

      $ cat t.cpp && CC t.cpp || CC -V -library=stlport4 t.cpp
      #include <cassert>
      #include <valarray>
      
      int main()
      {
          std::valarray<int> ia;
          std::gslice        gs;
      
          std::valarray<int> res = std::operator%<int>(ia [gs], ia [gs]);
      
          assert (0 == res.size ());
      
          return 0;
      } 
      

      ---------- END SOURCE ----------

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              sebor Martin Sebor
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated: