• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Hardware/Software Co-Development, Verification…
  3. ncsc fails when using C++11 constructs

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 49
  • Views 2207
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

ncsc fails when using C++11 constructs

brandonp
brandonp over 13 years ago

The GCC version (4.4) that ships with IUS 10.2 (GCC 4.1 is also available) has some C++11 support in it. Using -std=gnu++0x option (-std=c++0x fails due to some ieee header files), the normal C++ compiles work fine, but the NCSC compile fails to even parse those constructs. We are passing -COMPILER g++ and -CFLAGS to ncsc (and -MANUAL), but it's not obvious what frontend is parsing these SystemC/C++ files and whether it contains any C++11 support or not. I did notice that ncsc is running the Edison C++ frontend (edgcpfe), but I don´t know if both it and g++ are being run or not.

Is it possible at all to use C++11 constructs in SystemC code with IUS 10.2? Some of the constructs available simplify coding quite a bit, and make for more readable/maintainable code.

[Update: 2012.06.21]

Running some ncsc commands manually and playing with the options, I found that the options pass to g++/cc1plus properly, but it's the following pass of using edgcpfe that fails. edgcpfe accepts arguments to enable C++0x/C++11 constructs. Is there any way to get those arguments to that process that ncsc spawns?

  • Cancel
  • Mark J
    Mark J over 12 years ago

    I need to know the answer to this also.  I'm dissapointed that it has been over a year since the original question was posted, and nobody from Cadence has answered it yet.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • StephenH
    StephenH over 12 years ago

     Guys, sorry that nobody answered on the forum. Please bear in mind that for deeply technical or urgent problems you should file a support case at http://support.cadence.com/ so that an appropriate specialist will take ownership of your case and see it through to completion. By contrast if you post on the public forum and there isn't a suitable C++ expert reading the forum that day, your post may get missed.

    I'm not a C++ expert, but I do use -std=c++0x with Incisive's g++ to access a few of the newer features like maps, and it works for me.

    One thing I would advise is to use a supported version of Incisive; version 10.2 is no longer supported and has been replaced by versions 12.2 and 13.1 (released this month).

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information