From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5057 invoked by alias); 16 Mar 2003 20:06:03 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 5008 invoked by uid 71); 16 Mar 2003 20:06:02 -0000 Resent-Date: 16 Mar 2003 20:06:02 -0000 Resent-Message-ID: <20030316200602.5007.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, O.Kullmann@Swansea.ac.uk Received: (qmail 30562 invoked by uid 48); 16 Mar 2003 20:04:25 -0000 Message-Id: <20030316200425.30546.qmail@sources.redhat.com> Date: Sun, 16 Mar 2003 20:06:00 -0000 From: O.Kullmann@Swansea.ac.uk Reply-To: O.Kullmann@Swansea.ac.uk To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/10112: static data member is not correctly initialised X-SW-Source: 2003-03/txt/msg01083.txt.bz2 List-Id: >Number: 10112 >Category: c++ >Synopsis: static data member is not correctly initialised >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Sun Mar 16 20:06:02 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Oliver Kullmann >Release: gcc 3.2.1 >Organization: >Environment: > g++ -v Reading specs from /compsci/partition1/csoliver/GCC/gcc-3.2.1/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/specs Configured with: /compsci/partition1/csoliver/GCC/gcc-3.2.1/configure --enable-threads=posix --enable-long-long --prefix=/compsci/partition1/csoliver/GCC/gcc-3.2.1 --with-local-prefix=/compsci/partition1/csoliver/GCC/Include_3.2.1 --enable-languages=c,c++ --disable-nls --enable-shared Thread model: posix gcc version 3.2.1 >Description: When compiling the attached file (56 lines) with > g++ FehlerInit.cpp and running it I get > ./a.out -33630626 Speicherzugriffsfehler The first line in main LitIntOccInt::Var v; yields a call of the member function InfoPolicyVector::new_variable() which prints out the iterator difference between centre and info_vector.begin(), where centre is a static data member initialised to info_vector.begin(), and thus the result should be 0, but as shown above, it is "undefined". The code given seems to be a minimal example (up to some typedefs) in the sense, that removing any other stuff (which seems completely unrelated to the above behaviour) changes the output to the correct "0". >How-To-Repeat: Compile and run. >Fix: I have no idea. It seems to me quite serious. P.S. Perhaps it would be a good idea to somehow improve the instructions for submitting a bug. For example I couldn't find an explanation of what the above abbreviations for the error class could mean. >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: text/x-c++src; name="FehlerInit.cpp" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="FehlerInit.cpp" Ly8gT2xpdmVyIEt1bGxtYW5uLCBTd2Fuc2VhLCAxNi4zLjIwMDMKCiNpbmNsdWRlIDx2ZWN0b3I+ CiNpbmNsdWRlIDxpb3N0cmVhbT4KCnRlbXBsYXRlIDxjbGFzcyBMaXRlcmFsTGluaz4Kc3RydWN0 IFZhcmlhYmxlc0FzSW5kaWNlcyB7CiAgdm9pZCBpbnNlcnQoKSB7CiAgICBMaXRlcmFsTGluazo6 bmV3X3ZhcmlhYmxlKCk7CiAgfQogIFZhcmlhYmxlc0FzSW5kaWNlcygpIHsKICAgIGluc2VydCgp OwogIH0KfTsKCnN0cnVjdCBPY2N1cnJlbmNlcyB7CiAgaW50IHBvczsKfTsKCnRlbXBsYXRlIDx0 eXBlbmFtZSBJbmRleD4Kc3RydWN0IEluZm9Qb2xpY3lWZWN0b3IgewogIHR5cGVkZWYgT2NjdXJy ZW5jZXMgSW5mb1ZhbHVlVHlwZTsKICB0eXBlZGVmIE9jY3VycmVuY2VzJiBJbmZvUmVmZXJlbmNl VHlwZTsKICB0eXBlZGVmIHR5cGVuYW1lIHN0ZDo6dmVjdG9yPE9jY3VycmVuY2VzPiBJbmZvVmVj dG9yVHlwZTsKICBzdGF0aWMgSW5mb1ZlY3RvclR5cGUgaW5mb192ZWN0b3I7CiAgc3RhdGljIHR5 cGVuYW1lIEluZm9WZWN0b3JUeXBlOjppdGVyYXRvciBjZW50cmU7CiAgc3RydWN0IExpbmsgewog ICAgc3RhdGljIHZvaWQgbmV3X3ZhcmlhYmxlKCkgewogICAgICBzdGQ6OmNlcnIgPDwgY2VudHJl IC0gaW5mb192ZWN0b3IuYmVnaW4oKSA8PCAiXG4iOwogICAgfQogIH07CiAgT2NjdXJyZW5jZXMm IGdldF9pbmZvKGludCBpKSBjb25zdCB7CiAgICByZXR1cm4gKihjZW50cmUgKyBpKTsKICB9Cn07 CnRlbXBsYXRlIDx0eXBlbmFtZSBJbmRleD4KdHlwZW5hbWUgSW5mb1BvbGljeVZlY3RvcjxJbmRl eD46OkluZm9WZWN0b3JUeXBlIEluZm9Qb2xpY3lWZWN0b3I8SW5kZXg+OjppbmZvX3ZlY3Rvcigx KTsKdGVtcGxhdGUgPHR5cGVuYW1lIEluZGV4Pgp0eXBlbmFtZSBJbmZvUG9saWN5VmVjdG9yPElu ZGV4Pjo6SW5mb1ZlY3RvclR5cGU6Oml0ZXJhdG9yIEluZm9Qb2xpY3lWZWN0b3I8SW5kZXg+Ojpj ZW50cmUoaW5mb192ZWN0b3IuYmVnaW4oKSk7Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgSW5kZXgsIHRl bXBsYXRlIDx0eXBlbmFtZSBJbmRleD4gY2xhc3MgSW5mb1BvbGljeUxpdD4Kc3RydWN0IExpdGVy YWxzQXNJbnRlZ2VycyA6IEluZm9Qb2xpY3lMaXQ8SW5kZXg+IHsKICB0eXBlZGVmIFZhcmlhYmxl c0FzSW5kaWNlczx0eXBlbmFtZSBJbmZvUG9saWN5TGl0PEluZGV4Pjo6TGluayA+IFZhcjsKICB0 eXBlbmFtZSBJbmZvUG9saWN5TGl0PEluZGV4Pjo6SW5mb1JlZmVyZW5jZVR5cGUgb3BlcmF0b3Ig KigpIGNvbnN0IHsKICAgIHJldHVybiBnZXRfaW5mbygwKTsKICB9Cn07Cgp0eXBlZGVmIExpdGVy YWxzQXNJbnRlZ2VyczxpbnQsIEluZm9Qb2xpY3lWZWN0b3I+IExpdEludE9jY0ludDsKCmludCBt YWluKCkgewogIExpdEludE9jY0ludDo6VmFyIHY7CiAgTGl0SW50T2NjSW50IHk7CiAgKCp5KS5w b3MgPSA3Owp9Cg==