--- Additional Comments From mmitchel at gcc dot gnu dot org 2004-12-14
19:40 ---
Fixed in GCC 4.0.
--
What|Removed |Added
Status|ASSIGNED|RE
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-12-14
19:38 ---
Subject: Bug 18793
CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED] 2004-12-14 19:38:26
Modified files:
gcc/testsuite : ChangeLog
gcc/cp : C
--- Additional Comments From mmitchel at gcc dot gnu dot org 2004-12-14
17:46 ---
Upon further reflection, I don't see a problem with what the gimplifier is
doing, because it does not actually try to construct the S component in the
temporary variable.
--
http://gcc.gnu.org/bugzilla/
--- Additional Comments From mmitchel at gcc dot gnu dot org 2004-12-14
07:24 ---
I'm not sure how to fix this yet.
The C++ front end is generating what looks to me to perfectly reasonable code.
Then, gimplify_init_constructor decides that it wants to create a temporary
variable of typ
--
What|Removed |Added
AssignedTo|unassigned at gcc dot gnu |mark at codesourcery dot com
|dot org |
Status|NEW
--- Additional Comments From reichelt at gcc dot gnu dot org 2004-12-07
15:49 ---
Mark, the regression appeared with your patch for PR 15172:
http://gcc.gnu.org/ml/gcc-cvs/2004-11/msg2.html
The example still compiles fine on the 3.4 branch although
you applied the patch there, too.
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-07
15:13 ---
*** Bug 18865 has been marked as a duplicate of this bug. ***
--
What|Removed |Added
--- Additional Comments From bangerth at dealii dot org 2004-12-07 14:19
---
This is most likely the same as PR 18865.
W.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18793
--- Additional Comments From bangerth at dealii dot org 2004-12-02 23:34
---
We can save one layer of objects:
-
struct S {
S();
S(const S&);
void operator=(const S&);
};
struct X {
int a, b, c, d, e;
S s;
};
void foobar () {
X x =
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-02
22:10 ---
The problem is that we are putting the struct in static space:
static struct Record C.0 = {.a=0};
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18793
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-02
20:46 ---
Reduced testcase:
struct allocator
{
allocator() throw();
allocator(const allocator& __a);
};
struct string
{
mutable allocator _M_dataplus;
string& operator=(const string& __str);
};
struct Record
{
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-02
20:36 ---
I have it done 120 lines or so.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18793
--- Additional Comments From bangerth at dealii dot org 2004-12-02 20:12
---
That's as short as I can get it for now:
--
#include
struct Record
{
unsigned int a, b, c, d, e;
std::string description;
};
template
void foobar ()
{
co
--
What|Removed |Added
Keywords||ice-on-valid-code
Target Milestone|--- |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.
--- Additional Comments From bangerth at dealii dot org 2004-12-02 19:58
---
Created an attachment (id=7663)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7663&action=view)
Preprocessed sources, not reduced
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18793
15 matches
Mail list logo