Where is the performance analyzer in Solaris Studio?

I have Oracle Solaris Studio 12.2 linux tar version. I have searched for the performance analyzer integrated with the IDE as in this link http://webcast-west.sun.com/interactive/09D02151/index.html that explains how to use openmp-3 on Solaris Studio but have not found any. I have though find the independent executable analyzer in the bin directory and I can only run it separately.
Is there a way to run the performance analyzer in Solaris Studio?
Thank you.

In Oracle Solaris Studio 12.2, performance analyzer is not available via the IDE, but as an independent standalone commands/GUI (e.g. solstudio12.2/bin/analyzer). Here is where you can find more information:
http://www.oracle.com/technetwork/server-storage/solarisstudio/documentation/analyzing-jsp-137179.html
/kso

Similar Messages

  • New article: Using the Overview screen in the Performance Analyzer

    Hi,
    The Performance Analyzer in Studio 12.4 has had a bit of a face lift. One of the key features is the Overview screen, we've just put an article up at https://community.oracle.com/docs/DOC-894076 describing the features of the new screen, and how these features help to more rapidly identify performance opportunities.
    Regards,
    Darryl.

    From the Safari menu bar, select
              Safari ▹ Preferences... ▹ General ▹ New tabs open with: Empty Page

  • Where is the performance panel of the preferances dialog?

    where is the performance panel of the preferances dialog?

    Choose Edit > Preferences
    It looks like you are using an older system, 32 bit, with an unsupported video card.
    See this link for an explanation of which operating systems are supported. 32 bit on the MAC is no longer supported.
    http://blogs.adobe.com/photoshopdotcom/2012/03/photoshop-cs6-operating -system-support-and-beyond.html
    You can check these links to see what  video cards are supported and system requirements:
    FAQ: What are the System Requirements for the Photoshop CS6 Beta?
    FAQ: What features use the GPU and how do I troubleshoot GPU issues?

  • Can't use profiler (Performance Analyzer) in Sun Studio 12, please help!!

    Hi,
    I've mandriva 2008 (linux), and I've installed Sun Studio 12.
    At the first start of Sun Studio a message appear:
    Warning - could not install some modules:
         ATD Sun Studio Core - The module named com.sun.tools.swdev.toolscommon was needed and not found.
         dbx Debugger UI - The module named com.sun.tools.swdev.toolscommon was needed and not found.
         ATD Performance Analyzer Actions - The module named com.sun.forte.st.mpmt/1 was needed and not found.
         ATD Performance Analyzer Actions - The module named com.sun.tools.swdev.toolscommon was needed and not found.
    All other modules works correctly, but unfortunately I need the profiler (performance analyzer) because I want to speed up my C++ code. What can I do???
    Please help!
    NOTE:
    I've added to my .bash_profile this lines:
    PATH=/opt/sun/sunstudio12/bin:$PATH
    export PATH
    PATH=/opt/sun/sunstudio12/man/:$PATH
    export PATH
    LD_LIBRARY_PATH=/opt/sun/sunstudio12/prod/lib
    export LD_LIBRARY_PATH
    but unfortunately this don't solve the problem....
    Edited by: MLX82 on Feb 1, 2008 11:24 PM

    If I type `uname -p` this message appear:
    [mlx@localhost ~]$ `uname -p`
    bash: Intel(R): command not foundIf I type: --userdir won't work as you can see:
    sunstudio --userdir /home/mlx/.sunstudio/12.0-Linux-Intel\(R\)\ Pentium\(R\)\ M\ processor\ 1.73GHz/I get an 426 line error (but this is the correct location, as man of sunstudio say), while if I type for example:
    sunstudio --userdir /home/mlx/error 426 disappears, but I get anyway the error on the module:
    Warning - could not install some modules:
         ATD Performance Analyzer Actions - The module named com.sun.forte.st.mpmt/1 was needed and not found.
         ATD Performance Analyzer Actions - The module named com.sun.tools.swdev.toolscommon was needed and not found.
         dbx Debugger UI - The module named com.sun.tools.swdev.toolscommon was needed and not found.
         ATD Sun Studio Core - The module named com.sun.tools.swdev.toolscommon was needed and not found.On the other hand I've searched the "id" exe and it is in /bin:
    [mlx@localhost ~]$ id
    uid=500(mlx) gid=500(mlx) gruppi=500(mlx)so I've created a sym link:
    cd /usr/bin
    ln -s /bin/id ./idbut when I start Sun Studio 12 I get again the error on the module.
    So I've tryed to reinstall everything (yes, also OS) but it (partially) solves only the problem installing with batch_installer. Infact now I can use batch_installer but at the end of installation it say:
    [root@localhost tmp]# ./batch_installer --accept-sla
    Installation failed: cleanup successful.Anyway SunStudio 12 still works, but the main problem about the module of performance analyzer is still here...
    how can I solve this? Please help!
    Edited by: MLX82 on Feb 4, 2008 3:19 PM

  • Where are the binary files after installing Studio 11?

    I installed Sun Studio 11 but could not find the binary files under SUNWspro/prod/bin.
    Currently we are using Workshop 6 Update 2 that has the binary files in the directory of
    SUNWspro/WS6U2/bin
    Examples of the binary files are CC, cc, dbx, etc.

    You are absolutely right - the binaries should be in SUNWspro/prod/bin/ directory.
    Here is what I have after installation (on my system Sun Studio 11 is installed
    in default location /opt):
    volga2% ls -l /opt/SUNWspro/
    total 28
    drwxr-xr-x 2 root sys 512 May 13 2004 READMEs
    drwxr-xr-x 3 root sys 1536 May 13 2004 bin
    drwxr-xr-x 5 root sys 512 May 13 2004 contrib
    drwxr-xr-x 2 root sys 512 May 13 2004 demo
    drwxr-xr-x 2 root sys 512 May 13 2004 docs
    drwxr-xr-x 2 root sys 512 May 13 2004 etc
    drwxr-xr-x 2 root sys 512 May 13 2004 examples
    drwxr-xr-x 3 root sys 512 May 13 2004 inventory
    drwxr-xr-x 16 root sys 2048 May 13 2004 lib
    drwxr-xr-x 14 root sys 512 May 13 2004 man
    drwxr-xr-x 19 root sys 512 May 13 2004 prod
    drwxr-xr-x 2 root sys 512 May 13 2004 system
    Directory /opt/SUNWspro/prod/bin contains 102 files (Solaris sparc):
    volga2% ls -l /opt/SUNWspro/prod/bin
    total 153576
    -rwxr-xr-x 1 root sys 335308 May 13 2004 CC
    -rwxr-xr-x 1 root sys 914344 May 13 2004 CCadmin
    -rwxr-xr-x 1 root sys 743120 May 13 2004 CClink
    -rwxr-xr-x 1 root sys 266284 May 13 2004 acc
    -rwxr-xr-x 1 root sys 1131780 May 13 2004 acomp
    -rwxr-xr-x 1 root sys 5308 May 13 2004 analyzer
    -rwxr-xr-x 1 root sys 3700 May 13 2004 bcheck
    -r-xr-xr-x 7 root sys 7663 Apr 28 2004 bil2xd
    -rwxr-xr-x 1 root sys 409848 May 13 2004 c++filt
    -rwxr-xr-x 1 root sys 226900 May 13 2004 c89
    -rwxr-xr-x 1 root sys 227756 May 13 2004 c99
    -rwxr-xr-x 1 root sys 32316 May 13 2004 cb
    -rwxr-xr-x 1 root sys 227012 May 13 2004 cc
    -rwxr-xr-x 1 root sys 5178580 May 13 2004 ccfe
    -rwxr-xr-x 1 root sys 5110 May 13 2004 cflow
    -rwxr-xr-x 1 root sys 8274156 May 13 2004 cg
    -rwxr-xr-x 1 root sys 1328 May 13 2004 checkjava
    -rwxr-xr-x 1 root sys 45412 May 13 2004 collect
    -rwxr-xr-x 1 root sys 104112 May 13 2004 cscope
    -rwxr-xr-x 1 root sys 3353 May 13 2004 ctcr
    -rwxr-xr-x 1 root sys 63536 May 13 2004 ctrace
    -rwxr-xr-x 1 root sys 4855 May 13 2004 cxref
    -rwxr-xr-x 1 root sys 18740 May 13 2004 dag
    -rwxr-xr-x 1 root sys 4157880 May 13 2004 dbx
    -rwxr-xr-x 1 root sys 9304 May 13 2004 dem
    -rwxr-xr-x 1 root sys 868156 May 13 2004 dmake
    -rwxr-xr-x 1 root sys 59908 May 13 2004 dumpstabs
    -rwxr-xr-x 1 root sys 129824 May 13 2004 dwarfdump
    -rwxr-xr-x 1 root sys 32260 May 13 2004 er_archive
    -rwxr-xr-x 1 root sys 25728 May 13 2004 er_cp
    -rwxr-xr-x 1 root sys 158264 May 13 2004 er_export
    -rwxr-xr-x 1 root sys 25744 May 13 2004 er_mv
    -rwxr-xr-x 1 root sys 77740 May 13 2004 er_print
    -rwxr-xr-x 1 root sys 30056 May 13 2004 er_rm
    -rwxr-xr-x 1 root sys 33268 May 13 2004 er_src
    -rwxr-xr-x 1 root sys 310164 May 13 2004 f90
    -rwxr-xr-x 1 root sys 1097 May 13 2004 f90.f77
    -rwxr-xr-x 1 root sys 24379188 May 13 2004 f90comp
    -rwxr-xr-x 1 root sys 12029380 May 13 2004 f90comp_gpc
    -rwxr-xr-x 1 root sys 1024672 May 13 2004 f90list_gpc
    -rwxr-xr-x 1 root sys 385172 May 13 2004 fbe
    -rwxr-xr-x 1 root sys 41532 May 13 2004 fdumpmod
    -rwxr-xr-x 1 root sys 16472 May 13 2004 flip
    -rwxr-xr-x 1 root sys 97692 May 13 2004 fpp
    -rwxr-xr-x 1 root sys 38740 May 13 2004 fpr
    -rwxr-xr-x 1 root sys 40892 May 13 2004 fpversion
    -rwxr-xr-x 1 root sys 55248 May 13 2004 fsplit
    -r-xr-xr-x 7 root sys 7663 Apr 28 2004 gil2xd
    -rwxr-xr-x 1 root sys 290080 May 13 2004 ild
    -rwxr-xr-x 1 root sys 303004 May 13 2004 ildx
    -rwxr-xr-x 1 root sys 54352 May 13 2004 indent
    -rwxr-xr-x 1 root sys 135440 May 13 2004 ipo
    -rwxr-xr-x 1 root sys 4900280 May 13 2004 iropt
    -rwxr-xr-x 1 root sys 200076 May 13 2004 lint
    -rwxr-xr-x 1 root sys 891968 May 13 2004 lint1
    -rwxr-xr-x 1 root sys 231728 May 13 2004 lint2
    -rwxr-xr-x 1 root sys 629564 May 13 2004 lint2n
    -rwxr-xr-x 1 root sys 54528 May 13 2004 lock_lint
    -rwxr-xr-x 1 root sys 309392 May 13 2004 lock_lint_server
    -rwxr-xr-x 1 root sys 20500 May 13 2004 lpfx
    -rwxr-xr-x 1 root sys 13458 May 13 2004 nct
    -rwxr-xr-x 1 root sys 17680 May 13 2004 nmf
    -rwxr-xr-x 1 root sys 23313 May 13 2004 perftools_validate
    -rwxr-xr-x 1 root sys 4240 May 13 2004 pmldump
    -rwxr-xr-x 1 root sys 1336732 May 13 2004 postopt
    -rwxr-xr-x 1 root sys 511 May 13 2004 ptclean
    -rwxr-xr-x 1 root sys 3087 May 13 2004 rtc_patch_area
    -rwxr-xr-x 1 root sys 8912 May 13 2004 runtime.c
    -rwxr-xr-x 1 root sys 631660 May 13 2004 rxm
    -rwxr-xr-x 1 root sys 635132 May 13 2004 rxs
    -rwxr-xr-x 1 root sys 83880 May 13 2004 sbcat
    -rwxr-xr-x 1 root sys 259052 May 13 2004 sbcleanup
    -rwxr-xr-x 1 root sys 245224 May 13 2004 sbdump
    -rwxr-xr-x 1 root sys 263064 May 13 2004 sbenter
    -rwxr-xr-x 1 root sys 95932 May 13 2004 sbfocus
    -rwxr-xr-x 1 root sys 259052 May 13 2004 sbquery
    -rwxr-xr-x 1 root sys 38480 May 13 2004 sbtags
    -r-xr-xr-x 7 root sys 7663 Apr 28 2004 smallxd
    -rwxr-xr-x 1 root sys 245988 May 13 2004 smctl
    -rwxr-xr-x 1 root sys 62144 May 13 2004 snit
    drwxr-xr-x 2 root sys 512 May 13 2004 sparcv9
    -rwxr-xr-x 1 root sys 215424 May 13 2004 ss_attach
    -rwxr-xr-x 1 root sys 774580 May 13 2004 ssbd
    -rwxr-xr-x 1 root sys 20000 May 13 2004 stdlibfilt
    -rwxr-xr-x 1 root sys 8804 May 13 2004 sunstudio
    -rwxr-xr-x 1 root sys 20508 May 13 2004 tcov
    lrwxrwxrwx 1 root other 8 May 13 2004 tdb_link -> ./CClink
    -rwxr-xr-x 1 root sys 2274892 May 13 2004 ube_mplint
    -r-xr-xr-x 7 root sys 7663 Apr 28 2004 uil2xd
    -rwxr-xr-x 1 root sys 24812 May 13 2004 version
    lrwxrwxrwx 1 root other 9 May 13 2004 visu -> xdesigner
    lrwxrwxrwx 1 root other 6 May 13 2004 visuroot -> xdroot
    -rwxr-xr-x 1 root sys 14672 May 13 2004 whatdir
    -r-xr-xr-x 3 root sys 48852 Apr 28 2004 xdcapture
    -r-xr-xr-x 7 root sys 7663 Apr 28 2004 xdconfig
    -r-xr-xr-x 7 root sys 7663 Apr 28 2004 xdesigner
    -r-xr-xr-x 7 root sys 7663 Apr 28 2004 xdhelp
    -r-xr-xr-x 3 root sys 48852 Apr 28 2004 xdrecord
    -r-xr-xr-x 3 root sys 48852 Apr 28 2004 xdreplay
    -r-xr-xr-x 1 root sys 2172 Apr 28 2004 xdroot
    -r-xr-xr-x 1 root sys 890 Apr 28 2004 xdtosj
    -rwxr-xr-x 1 root sys 23236 May 13 2004 xref
    Directory /opt/SUNWspro/bin/ contains symbolic links:
    volga2% ls /opt/SUNWspro/bin | wc -l
    85
    Users are not supposed to use binaries from "prod/bin" directly.
    Are you sure your installation was successful?
    BTW, I assumed you are using Solaris. If you are using Linux, the installation
    tree is different (everything is in /opt/sun).
    Thanks,
    Nik

  • Where are the first three Back Sabbath studio Albums? All the store has is their LIVE album crap.

    It's frustrating that they have the lousy live albums of Black Sabbath and none of their original studio albums.
    Specifically, their first three albums. The best music they ever did. Why aren't they available?
    Also, where are all the Blues Brothers Albums. Again, only one of their Albums. Is there someplace to put in music requests to iTunes?

    The itunes store can ONLY sell what the owners of the distribution rights allow them to sell.
    Whomever owns the distribution rights to these albums has not reached an agreement with itunes that would allow them to sell the albums.
    You can make requests here:
    http://www.apple.com/feedback/itunes.html

  • Where is the security tab in visual studio

    Having a problem with a setup and deply app and searched this forum and found large number of references to solution explorer \ properties \ security. I have created a new projec same issue. I have search to see if this is limited to version of VS and found nothing. I am useing the following verion. Any ideas?
    Microsoft Visual Studio 2008
    Version 9.0.21022.8 RTM
    Microsoft .NET Framework
    Version 3.5 SP1
    Installed Edition: Standard
    Microsoft Visual Basic 2008   91851-136-6258696-60153
    Microsoft Visual Basic 2008
    Microsoft Visual C# 2008   91851-136-6258696-60153
    Microsoft Visual C# 2008
    Microsoft Visual C++ 2008   91851-136-6258696-60153
    Microsoft Visual C++ 2008
    Microsoft Visual Web Developer 2008   91851-136-6258696-60153
    Microsoft Visual Web Developer 2008
    Windows Installer XML Toolset 3.0  
    Windows Installer XML Toolset 3.0.5419.0
    Copyright (c) Microsoft Corporation. All rights reserved.

    Hi BarberColman,
    As far as I know, only.Net applications(such as WinForm developed in C#,VB) has such an option, native applications(such as program developed with MFC, win32) has no direct support for sign, so such projects do not have a security tab.
    The C++ project and Setup Project are both native applications, they do not need .Net framework to run, so you cannot find a security tab on the properties of them.
    You can take a look at this blog about CLR and .Net security.
    http://blogs.msdn.com/CLRSecurity/
    Regards,
    Aland Li
    Please mark the replies as answers if they help and unmark if they don't. This can be beneficial to other community members reading the thread.

  • Oracle Solaris Studio Express 6/10 - Now Available!

    We are pleased to announce the availability of Oracle Solaris Studio Express 6/10, which can be freely downloaded here:
    *[http://developers.sun.com/sunstudio/downloads/express/]*
    Sun Studio Express has be renamed Oracle Solaris Studio Express. Supporting both Solaris 10 (SPARC, x86) and Linux distributions (OEL 5, RHEL 5, SuSE 11), Oracle Solaris Studio Express 6/10 will be made available on OpenSolaris in the near future. Downloads included both the package installer (SVR4, RPM) and non-package tarballs.
    Highlights include the following:
    => C/C++/Fortran compiler optimizations for the latest UltraSPARC and SPARC64-based architectures such as UltraSPARC T2 and SPARC64 VII
    => C/C++/Fortran compiler optimizations for the latest x86 architectures including Intel® Xeon® 7500 processor series (Nehalem-EX) and 5600 processor series (Westmere-EP)
    => Enhanced debugging and code coverage tooling
    => Improved application profiling with the Performance Analyzer
    => Updated IDE based on NetBeans 6.8
    Please provide feedback via the Customer Feedback program, where you can file bugs/rfes, make your voice heard via a short survey, and discuss the product in the Studio forums:
    *[http://developers.sun.com/sunstudio/customerfeedback/]*
    Thanks!
    /kso

    Hi,
    we are currently using SunStudio 12. I have noticed that early access product, SunStudio Express, Feb2008. It seems that new features coming from NetBeans 6.0 have contributed to SunStudio IDE. I prefer to use SunStudio Express IDE. But i have also noticed that sun CC compiler version is also different. Actually it is no surprise, since SunStudio is a complete product composed of compilers, tools and IDE.Now, i am quite doubtful whether we should use SunStudioExpress. That's why i want to learn when official new release for SunStudio will be announced.
    Though i have searched internet, i couldn't notice any news about the next official release of Sun Studio( Sun Studio 13 ). When will this early release( SunStudio Express, Feb 2008 ) be released as SunStudio13? What is the release roadmap of SunStudio?

  • Is "version" broken in Solaris Studio 12.2?

    With 12.1, the "{Studio install path}/bin/version" command, when run with no arguments, produces output indicating that Sun Studio 12.1 is installed. With 12.2, there is no output that a script could use to determine which version of Studio is installed. It seems that when verison is invoked with no arguments, it attempts to read from the directory {Studio install path}/inventory. Our 12.1 installation has this directory, but it is not present in our 12.2 installation.
    Does anyone have a Studio 12.2 installation on Solaris 10 that does include an inventory directory?
    This is what my output from version looks like with 12.2:
    Machine hardware:   sun4u
    OS version:         5.10
    Processor type:     sparc
    Hardware:           SUNW,SPARC-Enterprise
    The following components are installed on your system:
    And this is what it looks like with 12.1:
    Machine hardware:   sun4u
    OS version:         5.10
    Processor type:     sparc
    Hardware:           SUNW,SPARC-Enterprise
    The following components are installed on your system:
    Sun Studio 12 update 1
    Sun Studio 12 update 1 C Compiler
    Sun Studio 12 update 1 C++ Compiler
    Sun Studio 12 update 1 Tools.h++ 7.1
    Sun Studio 12 update 1 C++ Standard 64-bit Class Library
    Sun Studio 12 update 1 Garbage Collector
    Sun Studio 12 update 1 Fortran 95
    Sun Studio 12 update 1 Debugging Tools (including dbx)
    Sun Studio 12 update 1 IDE
    Sun Studio 12 update 1 Performance Analyzer (including collect, ...)
    Sun Studio 12 update 1 Performance Library
    Sun Studio 12 update 1 Scalapack
    Sun Studio 12 update 1 LockLint
    Sun Studio 12 update 1 Building Software (including dmake)
    Sun Studio 12 update 1 Documentation Set
    Sun Studio 12 update 1 /usr symbolic links and GNOME menu item
    version of "/opt/sunstudio12.1/bin/../prod/bin/../../bin/cc": Sun C 5.10 SunOS_sparc 2009/06/03
    version of "/opt/sunstudio12.1/bin/../prod/bin/../../bin/CC": Sun C++ 5.10 SunOS_sparc 2009/06/03
    version of "/opt/sunstudio12.1/bin/../prod/bin/../../bin/f90": Sun Fortran 95 8.4 SunOS_sparc 2009/06/03
    version of "/opt/sunstudio12.1/bin/../prod/bin/../../bin/dbx": Sun DBX Debugger 7.7 SunOS_sparc 2009/06/03
    version of "/opt/sunstudio12.1/bin/../prod/bin/../../bin/analyzer": Sun Analyzer 7.7 SunOS_sparc 2009/06/03
    version of "/opt/sunstudio12.1/bin/../prod/bin/../../bin/dmake": Sun Distributed Make 7.9 SunOS_sparc 2009/06/03

    Nik - thanks for confirming that we aren't alone in seeing this behavior.
    Chris, thanks for explaining that this is the behavior that we should expect. I spent several hours considering if something might have gone wrong during the installation of Solaris Studio. My colleague who actually performed the installation will likely be almost as gratified as I am to review your explanation.
    By way of feeback, I would like to offer the following comments.
    1) It's regrettable that this functionality was removed without any sort of deprecation notice (at least, none that I could find, and I looked pretty hard). My colleagues and I spent several hours wondering what we did wrong since this wasn't working. Truss shows that the 12.2 bin/version tool still looks for the "inventory" directory and so the fact that it was missing suggested to me that something might have gone wrong with our installation.
    2) While the alternative pkginfo command you suggest is, as you described it, "parsable by humans", it's not especially script-friendly. A build script that only has the simple task of warning that you are using an unsupported older version of the Solaris Studio requires many lines of new logic to deal with this change, and one that has the more complex task of choosing different compiler args depending on the version of Sun/Solaris Studio that is being used really has to work overtime just to accommodate the inconsistent methods of identifying which version is in use.
    3) It would be really nice if there was some simple, script-friendly, way to discover what version is in use, and if that method was consistently supported from one release to the next, and if that method reported version numbers in ways that lend themselves to interpreation by scripts. I'm sure that there's some korn guru out there who can write one line of korn-shell code that will be able to conclude that pkginfo's value of "SPRO-12u2-cc" is greater than the 12.1 version's report of "Sun Studio 12 update 1", but I'm a "C" guy, not a script guru, so I wind up with a paragraph of korn shell code to pull this off. Can't we just have some program or (ideally) cc argument that spits out a string like "12.2"? It would be espeically sweet if it could do this on the first line of output (or even just a consistent offset from the first line).
    Sorry for the rant, I really do appreciate your explanation, and I hope my comments have not offended you.

  • Error while starting performance analyzer

    I've tried to run the performance analyzer in a simple C project and I've got this error message:
    "...***Error: log dos not show target starting"
    Any ideas of how can I fix it?
    Thanks in advance
    Rodrigo Tripodi

    We need a lot more information. What OS are you running? Which version of the tools?
    Were you trying to run the performance analyzer from the IDE? Exactly what did you
    do?
    Were there any error messages when you started the profiling?
    Did you try the command-line program (collect) to try to launch data collection?
    If not, could you try it, and report what it does?
    The error message comes from a file in the experiment (which should be named test.1.er,
    or test.2.er, etc.), named log.xml; can
    you post the full contents of that file?
    Marty dot Itzkowitz at Sun dot com
    Project lead, Sun Studio Performance Tools

  • Solaris Studio 12.3 demangle fatal internal error: information lost in character quoting

    Hello,
    I have run into a problem with the Solaris Studio 12.3 compiler when building one source file that makes use of the open source Eigen library.  The compilation fails with the error:
    demangle fatal internal error: information lost in character quoting
    CC: fbe failed for CSeasonalComponent.cc
    The full command that fails is:
    CC -c -o .objs/CSeasonalComponent.o -m64 -g3 -fsimple=1 -O4 -xbuiltin=%all -xlibmil -xlibmopt -xarch=sse3 -xchip=nehalem -nofstore -xalias_level=compatible -features=extensions -errtags +w -erroff=anonnotype,anonstruct,badargtype2w,hidef,notemsource,wbadasg -library=Crun -library=no%Cstd -KPIC  -mt -I/usr/local/stdcxx/include -I/usr/include -I/usr/local/include -DSOLARIS -D_POSIX_PTHREAD_SEMANTICS -D_RWSTD_NO_STRING_MUTEX -D_RWSTD_MINIMUM_STRING_CAPACITY=22 -D_RWSTD_NO_LIST_NODE_BUFFER -DBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -DEIGEN_MPL2_ONLY -DEIGEN_DONT_USE_RESTRICT_KEYWORD -DNDEBUG -I/export/home/dave/source/local/include -I/usr/local/include/boost-1_54 CSeasonalComponent.cc
    The problem goes away if the -g3 flag is removed.  Replacing -g3 with -g0 does not help - the same fatal error occurs.  (Removing the -g0/-g3 options has the effect of not passing a -dbgfile option to the fbe program, and this appears to be what avoids the problem.)
    The information in this question is from a Solaris x86 machine, although the same "demangle fatal internal error: information lost in character quoting" also occurs on SPARC with the same source file and similar (although obviously not identical) compiler options.
    The result of running the CC command that fails with the -dryrun option added is this:
    ### CC: Note: NLSPATH = /opt/solarisstudio12.3/prod/bin/../lib/locale/%L/LC_MESSAGES/%N.cat:/opt/solarisstudio12.3/prod/bin/../../lib/locale/%L/LC_MESSAGES/%N.cat
    ###     command line files and options (expanded):
    ### -dryrun -c -o.objs/CSeasonalComponent.o -m64 -g3 -fsimple=1 -O4 -xbuiltin=%all -xlibmil -xlibmopt -xarch=sse3 -xchip=nehalem -nofstore -xalias_level=compatible -features=extensions -errtags=yes +w -erroff=anonnotype,anonstruct,badargtype2w,hidef,notemsource,wbadasg -library=Crun -xcode=pic32 -mt=yes -I/usr/local/stdcxx/include -I/usr/include -I/usr/local/include -DSOLARIS -D_POSIX_PTHREAD_SEMANTICS -D_RWSTD_NO_STRING_MUTEX -D_RWSTD_MINIMUM_STRING_CAPACITY=22 -D_RWSTD_NO_LIST_NODE_BUFFER -DBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -DEIGEN_MPL2_ONLY -DEIGEN_DONT_USE_RESTRICT_KEYWORD -DNDEBUG -I/export/home/dave/source/local/include -I/usr/local/include/boost-1_54 CSeasonalComponent.cc
    /opt/solarisstudio12.3/prod/bin/ccfe -xarch=amd64 -D__SunOS_5_10 -D__SUNPRO_CC=0x5120 -D__unix -D__SVR4 -D__sun -D__SunOS -D__x86_64 -D__x86_64__ -D__amd64 -D__amd64__ -D_LP64 -D__LP64__ -D__BUILTIN_VA_STRUCT -Dunix -Dsun -D_REENTRANT -D__SUN_PREFETCH -D__SUNPRO_CC_COMPAT=5 -I/usr/local/stdcxx/include -I/usr/include -I/usr/local/include -I/export/home/dave/source/local/include -I/usr/local/include/boost-1_54 -I-xbuiltin -I/opt/solarisstudio12.3/prod/include/CC -I/opt/solarisstudio12.3/prod/include/cc -DSOLARIS -D_POSIX_PTHREAD_SEMANTICS -D_RWSTD_NO_STRING_MUTEX -D_RWSTD_MINIMUM_STRING_CAPACITY=22 -D_RWSTD_NO_LIST_NODE_BUFFER -DBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -DEIGEN_MPL2_ONLY -DEIGEN_DONT_USE_RESTRICT_KEYWORD -DNDEBUG -ptf /tmp/ccfe.04.%1.%2 -features=extensions -ptx /opt/solarisstudio12.3/prod/bin/CC -ptk "-dryrun -c -m64 -g3 -fsimple=1 -O4 -xbuiltin=%all -xlibmil -xlibmopt -xarch=sse3 -xchip=nehalem -nofstore -xalias_level=compatible -features=extensions -errtags=yes +w -erroff=anonnotype,anonstruct,badargtype2w,hidef,notemsource,wbadasg -library=Crun -library=no%Cstd -xcode=pic32 -mt=yes -I/usr/local/stdcxx/include -I/usr/include -I/usr/local/include -DSOLARIS -D_POSIX_PTHREAD_SEMANTICS -D_RWSTD_NO_STRING_MUTEX -D_RWSTD_MINIMUM_STRING_CAPACITY='22' -D_RWSTD_NO_LIST_NODE_BUFFER -DBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -DEIGEN_MPL2_ONLY -DEIGEN_DONT_USE_RESTRICT_KEYWORD -DNDEBUG -I/export/home/dave/source/local/include -I/usr/local/include/boost-1_54 " -compat=5 -g -xdebuginfo=macro -xdbggen=no%stabs+dwarf2+usedonly -xF=%none -xbuiltin=%all -pic -xldscope=global -xivdep=loop -xalias_level=layout -xdepend -O4 -errtags -erroff=anonnotype,anonstruct,badargtype2w,hidef,notemsource,wbadasg +w CSeasonalComponent.cc -ptb .objs/CSeasonalComponent.o -o /tmp/ccfe.01.ir -s /tmp/ccfe.02.sd 2> /tmp/ccfe.03.err
    /opt/solarisstudio12.3/prod/bin/iropt -Qy -O4 -xarch=sse3 -m64 -xchip=nehalem -xcache=generic -fsimple=1 -g -depend -mt -k -xalias_level=layout -xbuiltin=%all -xlibmopt -xprefetch=auto,explicit -xprefetch_level=1 -xprefetch_auto_type=no%indirect_array_access -xvector=no%lib,simd -F -o /tmp/iropt.05.ir -is /tmp/ccfe.02.sd /tmp/ccfe.01.ir 2> /tmp/iropt.06.err
    rm /tmp/ccfe.01.ir
    /opt/solarisstudio12.3/prod/bin/c++filt -filt=no%stdlib < /tmp/iropt.06.err >> /tmp/ccfe.03.err
    rm /tmp/iropt.06.err
    /opt/solarisstudio12.3/prod/bin/stdlibfilt -stderr < /tmp/ccfe.03.err
    rm /tmp/ccfe.03.err
    /opt/solarisstudio12.3/prod/bin/ir2hf -Qy -g -O4 -xbuiltin=%all -m64 /tmp/iropt.05.ir /tmp/ccfe.02.sd /tmp/ir2hf.07.hf
    rm /tmp/ccfe.02.sd
    rm /tmp/iropt.05.ir
    /opt/solarisstudio12.3/prod/bin/ube -Qy -verbose -iropt -O4 -comdat -m64 -xarch=sse3 -xchip=nehalem -xcache=generic -xannotate=yes -il /opt/solarisstudio12.3/prod/lib/amd64/libm.il -fsimple=1 -ZW -g -xalias_level=layout -PIC -xbuiltin=%all -N -xprefetch=auto,explicit -xprefetch_level=1 -xthreadvar=dynamic -mt -fbe /opt/solarisstudio12.3/prod/bin/fbe -ipo .objs/CSeasonalComponent.o -dbgfile /tmp/ube.09.dbg -S /tmp/ube.08.s /tmp/ir2hf.07.hf
    rm /tmp/ir2hf.07.hf
    /opt/solarisstudio12.3/prod/bin/fbe -Qy -xarch=amd64 -xchip=nehalem -warn=%none -o .objs/CSeasonalComponent.o /tmp/ube.08.s -dbgfile /tmp/ube.09.dbg
    rm /tmp/ube.08.s
    rm /tmp/ube.09.dbg
    Running the CC command with the -keeptmp option added leaves these files in /tmp:
    -rw-rw-r--   1 dave     dev            0 Dec 11 16:20 /tmp/ccfe.1386778859.8273.03.err
    -rw-rw-r--   1 dave     dev      45679331 Dec 11 16:21 /tmp/ccfe.1386778859.8273.01.ir
    -rw-rw-r--   1 dave     dev            0 Dec 11 16:21 /tmp/iropt.1386778859.8273.06.err
    -rw-rw-r--   1 dave     dev       393220 Dec 11 16:21 /tmp/ccfe.1386778859.8273.02.sd
    -rw-rw-r--   1 dave     dev      47820727 Dec 11 16:21 /tmp/iropt.1386778859.8273.05.ir
    -rw-rw-r--   1 dave     dev      60490992 Dec 11 16:21 /tmp/ir2hf.1386778859.8273.07.hf
    -rw-rw-r--   1 dave     dev      22377791 Dec 11 16:21 /tmp/ube.1386778859.8273.09.dbg
    -rw-rw-r--   1 dave     dev      8915850 Dec 11 16:21 /tmp/ube.1386778859.8273.08.s
    Finally, creating an fbe command similar to the one from the dry run output using the last two files in /tmp with the -V option added as follows:
    /opt/solarisstudio12.3/prod/bin/fbe -V -Qy -xarch=amd64 -xchip=nehalem -warn=%none -o .objs/CSeasonalComponent.o /tmp/ube.1386778859.8273.08.s -dbgfile /tmp/ube.1386778859.8273.09.dbg
    results in this:
    as: Sun Compiler Common 12.3 SunOS_i386 2011/11/16
    demangle fatal internal error: information lost in character quoting
    I would be happy to provide the /tmp/ube.1386778859.8273.08.s and /tmp/ube.1386778859.8273.09.dbg files to assist with reproduction of this problem if anyone is interested.

    The problem with creating a simple test case that doesn't rely on Boost or Eigen is that the error message is so vague that there's no hint about where to start.  The pre-processed source of the file that causes the problem is 4.7MB so trying to chop that down without any clue as to what's relevant is going to be very hard.
    You could do everyone a favour if future internal error messages contained at least some information about what caused the problem.  I know they're not supposed to happen at all, but clearly they occasionally do.  For example, instead of:
    demangle fatal internal error: information lost in character quoting
    something like:
    demangle fatal internal error: information lost in character quoting: corrupt symbol is __1cFEigenPPlainObjectBase4n0AGMatrix4CdIBiBiAIBiB___KresizeLike4n0AOGeneralProduct4n0AFBlock4Ckn0AGMatrix4CdIBIB_"""_oops
    Then that would give somebody trying to report the problem or change their code to avoid it a starting point for where to look.
    Anyway, I've worked around the problem by changing -g3 in the CXXFLAGS in the Makefile to `test $< = CSeasonalComponent.cc || echo -g3` which avoids the error.  And hopefully like you say it's a known problem that's already fixed in the next version of Solaris Studio.

  • Opening performance analyser in Sun Studio 12

    I want to know how to open performance analyzer in sun studio 12?

    Yes, Maxim is right, you can start Performance Analyzer standalone tool:
    # analyzer
    Or you can use it from Sun Studio IDE: main menu "Advanced -> Advanced Profiling -> Start".
    It will run your "main" project under "collect", and show the results.
    Thanks,
    Nik

  • Performance Analyzer crashes with "java.io.IOException: Broken pipe"

    Hi,
    I profile a distributed application using collect and Performance Analyzer. Till now, the Performance Analyzer really worked out nicely (thanks for that tool).
    However, since a couple of days, I work on a modified sideline of the code which crashes Performance Analyzer reliably when selecting a specific function in the "Function" tab.
    Has anyone of you experienced a similar problem or can give advice on how to work around this problem?
    (BTW: There is a bug report on broken pipes when multiple writers access a pipe - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4028322 - but I'm not sure if this is the case here)
    I get the following error message:
    Exception in thread "AWT-EventQueue-0" com.sun.forte.st.mpmt.IPC$AnIPCException: java.io.IOException: Broken pipe
    at com.sun.forte.st.mpmt.IPC.sendByte(IPC.java:410)
    at com.sun.forte.st.mpmt.IPC.send(IPC.java:559)
    at com.sun.forte.st.mpmt.SummaryDisp.getSummary(SummaryDisp.java:430)
    at com.sun.forte.st.mpmt.SummaryDisp.doCompute(SummaryDisp.java:156)
    at com.sun.forte.st.mpmt.AnWindow.updateSummary(AnWindow.java:1366)
    at com.sun.forte.st.mpmt.FuncListDisp.updateSummary(FuncListDisp.java:223)
    at com.sun.forte.st.mpmt.FuncListDisp.access$400(FuncListDisp.java:11)
    at com.sun.forte.st.mpmt.FuncListDisp$TableHandler.valueChanged(FuncListDisp.java:405)
    at com.sun.forte.st.mpmt.AnTable.fireAnEvent(AnTable.java:827)
    at com.sun.forte.st.mpmt.AnTable.access$2700(AnTable.java:20)
    at com.sun.forte.st.mpmt.AnTable$CellHandler.valueChanged(AnTable.java:869)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:147)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:194)
    at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:388)
    at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:398)
    at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:442)
    at javax.swing.JTable.changeSelectionModel(JTable.java:2294)
    at javax.swing.JTable.changeSelection(JTable.java:2363)
    at javax.swing.plaf.basic.BasicTableUI$Actions.actionPerformed(BasicTableUI.java:532)
    at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1636)
    at javax.swing.JComponent.processKeyBinding(JComponent.java:2844)
    at javax.swing.JTable.processKeyBinding(JTable.java:5196)
    at javax.swing.JComponent.processKeyBindings(JComponent.java:2890)
    at javax.swing.JComponent.processKeyEvent(JComponent.java:2807)
    at java.awt.Component.processEvent(Component.java:5815)
    at java.awt.Container.processEvent(Container.java:2058)
    at java.awt.Component.dispatchEventImpl(Component.java:4410)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:693)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:958)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:830)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:657)
    at java.awt.Component.dispatchEventImpl(Component.java:4282)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Window.dispatchEventImpl(Window.java:2429)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
    Caused by: java.io.IOException: Broken pipe
    at java.io.FileOutputStream.writeBytes(Native Method)
    at java.io.FileOutputStream.write(FileOutputStream.java:260)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
    at com.sun.forte.st.mpmt.IPC.sendByte(IPC.java:407)
    ... 45 more
    Exception in thread "AWT-EventQueue-0" com.sun.forte.st.mpmt.IPC$AnIPCException: java.io.IOException: Broken pipe
    at com.sun.forte.st.mpmt.IPC.sendByte(IPC.java:410)
    at com.sun.forte.st.mpmt.IPC.send(IPC.java:559)
    at com.sun.forte.st.mpmt.AnWindow.setSelObj(AnWindow.java:2315)
    at com.sun.forte.st.mpmt.FuncListDisp$TableHandler.valueChanged(FuncListDisp.java:404)
    at com.sun.forte.st.mpmt.AnTable.fireAnEvent(AnTable.java:827)
    at com.sun.forte.st.mpmt.AnTable.access$2700(AnTable.java:20)
    at com.sun.forte.st.mpmt.AnTable$CellHandler.valueChanged(AnTable.java:869)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:147)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:194)
    at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:388)
    at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:398)
    at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:442)
    at javax.swing.JTable.changeSelectionModel(JTable.java:2294)
    at javax.swing.JTable.changeSelection(JTable.java:2363)
    at javax.swing.plaf.basic.BasicTableUI$Actions.actionPerformed(BasicTableUI.java:532)
    at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1636)
    at javax.swing.JComponent.processKeyBinding(JComponent.java:2844)
    at javax.swing.JTable.processKeyBinding(JTable.java:5196)
    at javax.swing.JComponent.processKeyBindings(JComponent.java:2890)
    at javax.swing.JComponent.processKeyEvent(JComponent.java:2807)
    at java.awt.Component.processEvent(Component.java:5815)
    at java.awt.Container.processEvent(Container.java:2058)
    at java.awt.Component.dispatchEventImpl(Component.java:4410)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:693)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:958)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:830)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:657)
    at java.awt.Component.dispatchEventImpl(Component.java:4282)
    at java.awt.Container.dispatchEventImpl(Container.java:2116)
    at java.awt.Window.dispatchEventImpl(Window.java:2429)
    at java.awt.Component.dispatchEvent(Component.java:4240)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
    Caused by: java.io.IOException: Broken pipe
    at java.io.FileOutputStream.writeBytes(Native Method)
    at java.io.FileOutputStream.write(FileOutputStream.java:260)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
    at com.sun.forte.st.mpmt.IPC.sendByte(IPC.java:407)
    ... 41 more
    Thanks for your ideas, Manfred

    Which version of the Analyzer are you using? What OS, and
    what compiler did you use? Which version of Java are you using?
    (I doubt that the problem is related to the bug you cited; only
    one thread reads the pipe, and the bug concerns thread-safety
    reading from a pipe.)
    The most likely explanation is that er_print, the backend
    server that does the work for the GUI crashed. Is there a core
    dump from er_print in the directory?
    I'd suggest that if you're not using Sun Studio 12, patch_01,
    you upgrade to that and see if it still reproduces the problem.
    If it still crashes, we'll need more information to pursue it.
    You can send me email at marty dot itzkowitz at sun dot com
    We will need the experiment, and the a.out and .o containing the
    problematic function, and, of course, specific instructions for
    how to reproduce the problem.
    Marty Itzkowitz, project lead, Analyzer

  • Need help in improving the performance for the sql query

    Thanks in advance for helping me.
    I was trying to improve the performance of the below query. I tried the following methods used merge instead of update, used bulk collect / Forall update, used ordered hint, created a temp table and upadated the target table using the same. The methods which I used did not improve any performance. The data count which is updated in the target table is 2 million records and the target table has 15 million records.
    Any suggestions or solutions for improving performance are appreciated
    SQL query:
    update targettable tt
    set mnop = 'G',
    where ( x,y,z ) in
    select a.x, a.y,a.z
    from table1 a
    where (a.x, a.y,a.z) not in (
    select b.x,b.y,b.z
    from table2 b
    where 'O' = b.defg
    and mnop = 'P'
    and hijkl = 'UVW';

    987981 wrote:
    I was trying to improve the performance of the below query. I tried the following methods used merge instead of update, used bulk collect / Forall update, used ordered hint, created a temp table and upadated the target table using the same. The methods which I used did not improve any performance. And that meant what? Surely if you spend all that time and effort to try various approaches, it should mean something? Failures are as important teachers as successes. You need to learn from failures too. :-)
    The data count which is updated in the target table is 2 million records and the target table has 15 million records.Tables have rows btw, not records. Database people tend to get upset when rows are called records, as records exist in files and a database is not a mere collection of records and files.
    The failure to find a single faster method with the approaches you tried, points to that you do not know what the actual performance problem is. And without knowing the problem, you still went ahead, guns blazing.
    The very first step in dealing with any software engineering problem, is to identify the problem. Seeing the symptoms (slow performance) is still a long way from problem identification.
    Part of identifying the performance problem, is understanding the workload. Just what does the code task the database to do?
    From your comments, it needs to find 2 million rows from 15 million rows. Change these rows. And then write 2 million rows back to disk.
    That is not a small workload. Simple example. Let's say that the 2 million row find is 1ms/row and the 2 million row write is also 1ms/row. This means a 66 minute workload. Due to the number of rows, an increase in time/row either way, will potentially have 2 million fold impact.
    So where is the performance problem? Time spend finding the 2 million rows (where other tables need to be read, indexes used, etc)? Time spend writing the 2 million rows (where triggers and indexes need to be fired and maintained)? Both?

  • Use of __typeof__ in Solaris Studio 12.4

    Solaris Studio 12.3 had a __typeof__ operator similar to decltype in C++11.  This is available in a portable wrapper using the Boost macro BOOST_TYPEOF_TPL.  It looks like the Solaris Studio team contributed the modification to Boost which added this in ticket 5745.
    Now Solaris Studio 12.4 has a C++11 mode which supports decltype.  However, is __typeof__ still supposed to work in Solaris Studio 12.4's C++03 mode?  It doesn't seem to work as well as it used to.
    The following program deduces the return type of operator() using __typeof__:
    #include <boost/typeof/typeof.hpp>
    #include <boost/type_traits/remove_reference.hpp>
    #include <iostream>
    #include <typeinfo>
    // Helper to deduce the result type from a member function pointer.
    template<typename T>
    struct member_function_result_type
    template<typename T, typename R, typename A1>
    struct member_function_result_type<R (T::*)(A1) const>
        typedef typename boost::remove_reference<R>::type type;
    template<typename T>
    struct function_result_type
        typedef BOOST_TYPEOF_TPL(&T::operator()) F;
        typedef typename member_function_result_type<F>::type type;
    template<typename R, typename A>
    struct function_result_type<R (*)(A)>
        typedef typename boost::remove_reference<R>::type type;
    struct my_functor
        float operator()(float numerator) const
            return numerator / 2.0f;
    int main(int, char **)
        typedef typename function_result_type<my_functor>::type my_type;
        my_functor f;
        my_type ret = f(5.0f);
        if (typeid(my_type) == typeid(float))
            std::cout << "As expected " << ret << std::endl;
        else
            std::cout << "Oh dear " << ret << std::endl;
        return 0;
    If you build this with Solaris Studio 12.3 as follows:
    CC -m64 -I/usr/local/include/boost-1_54 main.cc
    then it compiles and running a.out shows the return type of float has been correctly deduced.
    However, with Solaris Studio 12.4 the same command:
    CC -m64 -I/usr/local/include/boost-1_54 main.cc
    results in:
    "main.cc", line 23: Error: Unexpected type name "F" encountered.
    "main.cc", line 42: Warning: "typename" must be used within a template.
    1 Error(s) and 1 Warning(s) detected.
    Now, obviously Solaris Studio 12.4 has a C++11 mode and it is possible to get this program to work by changing BOOST_TYPEOF_TPL to decltype and building with:
    CC -std=c++11 -m64 -I/usr/local/include/boost-1_54 main.cc
    But Solaris Studio 12.4's C++11 mode has other problems, so is there any way to somehow get a working __typeof__ or equivalent in Solaris Studio 12.4's C++03 mode?
    (In case it makes any difference this is on Solaris 10 x86.)

    I couldn't see that any of the items listed in the "Enforcement of C++ rules" section of the documentation would affect this program.
    Here's a cut down version of the test program that doesn't use Boost:
    #include <iostream>
    #include <typeinfo>
    // Helper to deduce the result type from a member function pointer.
    template<typename T>
    struct member_function_result_type
    template<typename T, typename R, typename A1>
    struct member_function_result_type<R (T::*)(A1) const>
        typedef R type;
    template<typename T>
    struct function_result_type
        typedef __typeof__(&T::operator()) F;
        typedef typename member_function_result_type<F>::type type;
    template<typename R, typename A>
    struct function_result_type<R (*)(A)>
        typedef R type;
    struct my_functor
        float operator()(float numerator) const
            return numerator / 2.0f;
    int main(int, char **)
        typedef function_result_type<my_functor>::type my_type;
        my_functor f;
        my_type ret = f(5.0f);
        if (typeid(my_type) == typeid(float))
            std::cout << "As expected " << ret << std::endl;
        return 0;
    Interestingly this doesn't compile with either Solaris Studio 12.3 or Solaris Studio 12.4, but each gives different errors:
    Solaris Studio 12.3:
    CC -m64 main.cc
    >> Assertion:  unexpected type_builder::visit_unspec (../lnk/v2mangler.cc, line 1636)
        while processing main.cc at line 39.
    Solaris Studio 12.4:
    CC -m64 main.cc
    "main.cc", line 20: Error: Unexpected type name "F" encountered.
    1 Error(s) detected.
    So Solaris Studio 12.4 is basically failing in the same way as the original test program that used the Boost wrappers.  Solaris Studio 12.3 is failing with an assertion error that doesn't occur when the Boost wrappers are used.
    It turns out that __typeof__ was only used in one place in our codebase (wrapped by Boost), so I've just removed it and implemented that code in a different way.  So this isn't blocking upgrade of Solaris Studio, and we don't even have __typeof__ in our codebase any more, but I just thought you might be interested to have this program as a test case for future development.
    It works fine with clang++ in C++03 mode on Mac OS X so I doubt the problem is caused by the source code not conforming to standard:
    clang++ main.cc
    ./a.out
    As expected 2.5
    This case may be particularly tricky for a compiler to handle due to __typeof__ being applied to a pointer to a const member function.

Maybe you are looking for

  • MS Access, SharePoint and Security

    Let's say I sign up for Office 365. I use the SharePoint Site that comes with it to house my MS Access Lists and my compiled database *.accmde file. Can I set up a separate sub-site with only admin access to house a list of userID's and passwords so

  • Group by month/year from DATE FORMAT column

    Hi Chaps, I have a recordset that pulls data from a database, then presents the data in a table. The data is grouped by 'projid', repeated for every 'projid', with a show/hide control, to show all the 'jobid's' relating to that particular 'projid' Th

  • Why won't my sound effects load up dials?

    Why won't my Premier Elements load up sound effects dials??

  • Damaged checks table in B1 8.8

    We have written our own check register report in Crystal Reports and damaged checks do no show up. Can you tell me which table damaged checks are kept in so I can link to it? Thanks, Rob

  • BW/ABAP- Function module is called infinitely by Datasource Extractor.

    Hi All, A quick ABAP question related to Function Modules and BW data source extractors. I’ve written a function module to select data from a database and simply output the data as a table. I then created a text Datasource using transaction rso2 and