Issue Details (XML | Word | Printable)

Key: STDCXX-551
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Martin Sebor
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
C++ Standard Library

[Sun C++ 5.9/x86_64] ube assertion

Created: 12/Sep/07 08:23 PM   Updated: 12/Sep/07 11:53 PM
Return to search
Component/s: External
Affects Version/s: None
Fix Version/s: None

Time Tracking:
Not Specified

Environment: Sun C++ 5.9/x86_64
Issue Links:
Dependants
 

Regression: Regression
Severity: Compiler Error


 Description  « Hide
-------- Original Message --------
Subject: Your Report (Review ID: 1065078) - Sun C++ 5.9/x86 assertion in ube
Date: Wed, 12 Sep 2007 14:07:41 -0600 (MDT)
From: IncidentDaemon@sun.com <IncidentDaemon@sun.com>
To: sebor@roguewave.com

Dear Sun Studio Developer,

Thank you for your interest in improving the quality of Sun Studio
product.

Your report has been assigned an internal review ID of 1065078.

Please be aware that the large volume of reports we receive sometimes
prevents us from responding individually to each message.

If the information is determined to be a new Bug or Request for
Enhancement (RFE), or a duplicate of a known Bug or RFE, you will
receive a followup email containing a seven digit bug number. By
using this seven digit bug number, you may search for, view, or vote
for this bug in the Bug Database at http://bugs.sun.com/. Please note
that we cannot promise to fix all reported bugs.

If you just reported an issue that could have a major impact on your
project and require a timely response, please consider purchasing
one of the support offerings described at
http://developers.sun.com/prodtech/cc/support/support_services.jsp.

The Sun Developer Network (http://developers.sun.com) is a free service
that Sun offers. To join, visit http://developers.sun.com/global/join_sdn.html.

Regards,
Sun Studio Developer Bug Report Review Team

---------------------------------------------------------------

Date Created: Wed Sep 12 14:07:38 MDT 2007
Type: bug
Customer Name: Martin Sebor
Customer Email: sebor@roguewave.com
SDN ID:
status: Waiting
Category: c++
Subcategory: other
Company: Rogue Wave Software
release: studio12
hardware: x64
OSversion: solaris_10
priority: 4
Synopsis: Sun C++ 5.9/x86 assertion in ube
Description:
FULL PRODUCT VERSION :

ADDITIONAL OS VERSION INFORMATION :
SunOS 5.10 i386

A DESCRIPTION OF THE PROBLEM :
The ube optimizer fails with an assertion on the attached test case.

REGRESSION. Last worked in version studio11

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Compile the attached test case as follows:

CC -O -V -m64 t.cpp

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
No error.
ACTUAL -
CC: Sun C++ 5.9 SunOS_i386 2007/05/03
ir2hf: Sun Compiler Common 12 SunOS_i386 2007/05/03
ube: Sun Compiler Common 12 SunOS_i386 2007/05/03
"t.cpp", [__1cBBDfoo6Mn0ABD__v_]:ube: error: Assert has been violated at '/set/mars/builds.intel-S2/nightly.Thu/intel-S2/lang/ube/machine/src/abi_call.c 172'.

ERROR MESSAGES/STACK TRACES THAT OCCUR :
"t.cpp", [__1cBBDfoo6Mn0ABD__v_]:ube: error: Assert has been violated at '/set/mars/builds.intel-S2/nightly.Thu/intel-S2/lang/ube/machine/src/abi_call.c 172'.

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
struct A { };

struct B {
struct C {
int *x_;
int y_;
C (int *x = 0, int y = 0): x_ , y_ { }
};
struct D: C, A { D (int *x = 0, int y = 0): C (x, y) { } };
void foo (D);
};

void B::foo (D) { }

int main () {
B vb;
vb.foo (B: ());
}

---------- END SOURCE ----------
workaround:
comments: (company - Rogue Wave Software , email - sebor@roguewave.com)



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Martin Sebor added a comment - 12/Sep/07 11:11 PM
Only happens on x86_64, in wide (64-bit) mode.

Martin Sebor added a comment - 12/Sep/07 11:28 PM
Adding a copy ctor to class B::C works around the problem:

$ diff -u t.cpp.0 t.cpp
— t.cpp.0 Wed Sep 12 17:27:21 2007
+++ t.cpp Wed Sep 12 17:26:40 2007
@@ -4,6 +4,7 @@
struct C {
int *x_;
int y_;
+ C (const C &c): x_ (c.x_), y_ (c.y_) { }
C (int *x = 0, int y = 0): x_ , y_ { }
};
struct D: C, A { D (int *x = 0, int y = 0): C (x, y) { } };


Martin Sebor added a comment - 12/Sep/07 11:53 PM
-------- Original Message --------
Subject: Re: (Incident Review ID: 1065078) Sun C++ 5.9/x86 assertion in ube
Date: Wed, 12 Sep 2007 16:48:37 -0700 (MST)
From: Sun Microsystems <IncidentUpdateDaemon@sun.com>
To: sebor@roguewave.com

— Note: you can send us updates about your Incident —
--- by replying to this mail. Place new information —
--- above these lines. Do not include attachments. —
--- Our system ignores attachments and anything below —
--- these lines. —

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: 6603980.

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

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=6603980.

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=6603980.

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,
Ngoc

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~