From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10596 invoked by alias); 15 Apr 2004 11:05:50 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 10585 invoked from network); 15 Apr 2004 11:05:49 -0000 Received: from unknown (HELO fw1.gdm.de) (193.108.184.254) by sources.redhat.com with SMTP; 15 Apr 2004 11:05:49 -0000 Received: (from root@localhost) by fw1.gdm.de (8.11.6p2G/8.11.6) id i3FB5mQ17979 for gcc-bugs@gcc.gnu.org; Thu, 15 Apr 2004 13:05:48 +0200 (CEST) Received: (from localhost) by fw1.gdm.de (MSCAN) id 2/fw1.gdm.de/smtp-gw/mscan; Thu Apr 15 13:05:48 2004 Subject: Fault report To: gcc-bugs@gcc.gnu.org Message-ID: From: Wolfgang.Roehrl@de.gi-de.com Date: Thu, 15 Apr 2004 12:04:00 -0000 MIME-Version: 1.0 Content-type: multipart/mixed; Boundary="0__=4EBBE4E4DFAF1B548f9e8a93df938690918c4EBBE4E4DFAF1B54" Content-Disposition: inline X-Virus-Scanned: by amavisd-new X-SW-Source: 2004-04/txt/msg01230.txt.bz2 List-Id: --0__=4EBBE4E4DFAF1B548f9e8a93df938690918c4EBBE4E4DFAF1B54 Content-type: text/plain; charset=US-ASCII Content-length: 1905 Dear all, I would like to post a fault report for the GNU C/C++ compiler 3.3-e500. We use the compiler to generate code for a PowerPC processor. Used invokation line for the GNU C++ compiler: ccppc -c -x c++ -ansi -Wall -Werror -mcpu=8540 -fverbose-asm -mbig -mmultiple -mno-string -mstrict-align -O3 -fno-exceptions -fno-rtti -I -D Y.CPP -oY.O // example program #define MODE 1 // 0 or 1 template struct type_tag { typedef T_ type; }; template struct XYZ { XYZ () { ptr1 = new T_; ptr2 = 0; } template XYZ (const type_tag&) { ptr1 = 0; ptr2 = new U_; } template XYZ (const type_tag&, const P_& p) { ptr1 = 0; ptr2 = new U_(p); } private: T_* ptr1; void* ptr2; }; XYZ xyz1; type_tag t; XYZ xyz2 (t); XYZ xyz3 (t, 'a'); typedef type_tag TT; XYZ xyz4 (TT()); // <--- object is not allocated XYZ xyz5 (type_tag()); // <--- object is not allocated #if (MODE == 1) XYZ xyz6 (TT(), 'a'); // <--- 'syntax error' (line 53) XYZ xyz7 (type_tag(), 'a'); // <--- 'syntax error' (line 54) #endif If the macro MODE is defined to 1, the compiler gives the following error messages: y.CPP:53: error: type specifier omitted for parameter y.CPP:53: error: syntax error before 'a' y.CPP:54: error: type specifier omitted for parameter y.CPP:54: error: syntax error before 'a' If MODE is defined to 0, I get no error message but the objects xyz4 and xyz5 are neither allocated nor constructed. (The corresponding assembler listing is attached as file GNU2.TXT.) With kind regards W. Roehrl (See attached file: Gnu2.txt) --0__=4EBBE4E4DFAF1B548f9e8a93df938690918c4EBBE4E4DFAF1B54 Content-type: application/octet-stream; name="Gnu2.txt" Content-Disposition: attachment; filename="Gnu2.txt" Content-transfer-encoding: base64 Content-length: 4441 CS5maWxlCSJ5LkNQUCINCg0KICMgcnM2MDAwL3Bvd2VycGMgb3B0aW9uczog LW1jcHU9ODU0MCAtbXNkYXRhPWRhdGENCiAjIEdOVSBDKysgdmVyc2lvbiAz LjMtZTUwMCAyMDAzMDQyMSAoV2luZCBSaXZlcikgKHBvd2VycGMtd3JzLXZ4 d29ya3MpDQogIwljb21waWxlZCBieSBHTlUgQyB2ZXJzaW9uIDMuMi4yLg0K ICMgR0dDIGhldXJpc3RpY3M6IC0tcGFyYW0gZ2djLW1pbi1leHBhbmQ9NDcg LS1wYXJhbSBnZ2MtbWluLWhlYXBzaXplPTMyNjg0DQogIyBvcHRpb25zIHBh c3NlZDogIC1JLiAtSUQ6XFxHTlVfTkdcXHRhcmdldFxcaA0KICMgLUlEOlxc R05VX05HXFx0YXJnZXRcXGhcXHR5cGVzIC1JRDpcXEdOVV9OR1xcdGFyZ2V0 XFxoXFxhcmNoXFxwcGMNCiAjIC1pcHJlZml4IC1EX19HTlVDX189MyAtRF9f R05VQ19NSU5PUl9fPTMgLURfX0dOVUNfUEFUQ0hMRVZFTF9fPTANCiAjIC1E Q1BVPVBQQzg1WFggLURUT09MX0ZBTUlMWT1nbnUgLURUT09MPWdudSAtRF9f R05VR19fPTMgLW1jcHU9ODU0MCAtbWJpZw0KICMgLW1tdWx0aXBsZSAtbW5v LXN0cmluZyAtbXN0cmljdC1hbGlnbiAtYW5zaSAtYXV4YmFzZS1zdHJpcCAt TzMgLVdhbGwNCiAjIC1XZXJyb3IgLWFuc2kgLWZ2ZXJib3NlLWFzbSAtZm5v LWV4Y2VwdGlvbnMgLWZuby1ydHRpDQogIyAtZm5vLWJ1aWx0aW4tcHJpbnRm IC1veS5BU1MNCiAjIG9wdGlvbnMgZW5hYmxlZDogIC1mZGVmZXItcG9wIC1m b21pdC1mcmFtZS1wb2ludGVyDQogIyAtZm9wdGltaXplLXNpYmxpbmctY2Fs bHMgLWZjc2UtZm9sbG93LWp1bXBzIC1mY3NlLXNraXAtYmxvY2tzDQogIyAt ZmV4cGVuc2l2ZS1vcHRpbWl6YXRpb25zIC1mdGhyZWFkLWp1bXBzIC1mc3Ry ZW5ndGgtcmVkdWNlIC1mcGVlcGhvbGUNCiAjIC1mZm9yY2UtbWVtIC1mZnVu Y3Rpb24tY3NlIC1ma2VlcC1zdGF0aWMtY29uc3RzIC1mY2FsbGVyLXNhdmVz DQogIyAtZnJlZy1zdHJ1Y3QtcmV0dXJuIC1mZ2NzZSAtZmdjc2UtbG0gLWZn Y3NlLXNtIC1mbG9vcC1vcHRpbWl6ZQ0KICMgLWZjcm9zc2p1bXBpbmcgLWZp Zi1jb252ZXJzaW9uIC1maWYtY29udmVyc2lvbjIgLWZyZXJ1bi1jc2UtYWZ0 ZXItbG9vcA0KICMgLWZyZXJ1bi1sb29wLW9wdCAtZmRlbGV0ZS1udWxsLXBv aW50ZXItY2hlY2tzIC1mc2NoZWR1bGUtaW5zbnMNCiAjIC1mc2NoZWR1bGUt aW5zbnMyIC1mc2NoZWQtaW50ZXJibG9jayAtZnNjaGVkLXNwZWMgLWZicmFu Y2gtY291bnQtcmVnDQogIyAtZnJlb3JkZXItYmxvY2tzIC1mcmVvcmRlci1m dW5jdGlvbnMgLWZyZW5hbWUtcmVnaXN0ZXJzDQogIyAtZmNwcm9wLXJlZ2lz dGVycyAtZmNvbW1vbiAtZnZlcmJvc2UtYXNtIC1mcmVnbW92ZQ0KICMgLWZv cHRpbWl6ZS1yZWdpc3Rlci1tb3ZlIC1mYXJndW1lbnQtYWxpYXMgLWZzdHJp Y3QtYWxpYXNpbmcNCiAjIC1mbWVyZ2UtY29uc3RhbnRzIC1memVyby1pbml0 aWFsaXplZC1pbi1ic3MgLWZpZGVudCAtZnBlZXBob2xlMg0KICMgLWZndWVz cy1icmFuY2gtcHJvYmFiaWxpdHkgLWZtYXRoLWVycm5vIC1mdHJhcHBpbmct bWF0aCAtbXBvd2VycGMNCiAjIC1tcG93ZXJwYy1nZnhvcHQgLW1uZXctbW5l bW9uaWNzIC1tbXVsdGlwbGUgLW1uby1tdWx0aXBsZSAtbW5vLXN0cmluZw0K ICMgLW1zY2hlZC1wcm9sb2cgLW1zY2hlZC1lcGlsb2cgLW1zdHJpY3QtYWxp Z24gLW1lYWJpIC1tY3B1PTg1NDANCiAjIC1tY2FsbC1zeXN2IC1tc2RhdGE9 ZGF0YQ0KDQoJLmdsb2JsIHh5ejENCgkubGNvbW0JeHl6MSw4LDQNCgkudHlw ZQl4eXoxLCBAb2JqZWN0DQoJLmdsb2JsIHQNCgkubGNvbW0JdCwxLDENCgku dHlwZQl0LCBAb2JqZWN0DQoJLmdsb2JsIHh5ejINCgkubGNvbW0JeHl6Miw4 LDQNCgkudHlwZQl4eXoyLCBAb2JqZWN0DQoJLmdsb2JsIHh5ejMNCgkubGNv bW0JeHl6Myw4LDQNCgkudHlwZQl4eXozLCBAb2JqZWN0DQoJLnNlY3Rpb24J Ii50ZXh0Ig0KCS5hbGlnbiAyDQoJLnR5cGUJX1o0MV9fc3RhdGljX2luaXRp YWxpemF0aW9uX2FuZF9kZXN0cnVjdGlvbl8waWksIEBmdW5jdGlvbg0KX1o0 MV9fc3RhdGljX2luaXRpYWxpemF0aW9uX2FuZF9kZXN0cnVjdGlvbl8waWk6 DQoJc3R3dSAxLC0yNCgxKQ0KCW1mbHIgNQ0KCW1yIDcsMwkgIyAgX19pbml0 aWFsaXplX3ANCgl4b3JpIDYsNCw2NTUzNQkgIyAgX19wcmlvcml0eQ0KCXN1 YmZpYyA5LDYsMA0KCWFkZGUgNiw5LDYNCglsaSAzLDQNCglzdHcgNSwyOCgx KQ0KCXN0bXcgMjgsOCgxKQ0KCXhvcmkgNSw3LDEJICMgIF9faW5pdGlhbGl6 ZV9wDQoJc3ViZmljIDksNSwwDQoJYWRkZSA1LDksNQ0KCWxpcyAyOSx4eXox QGhhDQoJYW5kLiA5LDYsNQ0KCWxpIDMxLDANCglsYSAyOCx4eXoxQGwoMjkp DQoJYm5lLSAwLC5MOA0KLkwxOg0KCWx3eiAzLDI4KDEpDQoJbG13IDI4LDgo MSkNCglhZGRpIDEsMSwyNA0KCW10bHIgMw0KCWJscg0KLkw4Og0KCWJsIF9a bndqDQoJc3R3IDMxLDQoMjgpCSAjICA8dmFyaWFibGU+LnB0cjINCgltciA5 LDMJICMgIF9faW5pdGlhbGl6ZV9wDQoJbGlzIDEwLHh5ejJAaGENCglzdHcg OSx4eXoxQGwoMjkpCSAjICA8dmFyaWFibGU+LnB0cjEsICBfX2luaXRpYWxp emVfcA0KCWxpIDMsMQ0KCXN0dyAzMSx4eXoyQGwoMTApCSAjICA8dmFyaWFi bGU+LnB0cjENCglsYSAyOSx4eXoyQGwoMTApDQoJYmwgX1pud2oNCglzdHcg Myw0KDI5KQkgIyAgPHZhcmlhYmxlPi5wdHIyLCAgX19pbml0aWFsaXplX3AN CglsaXMgOCx4eXozQGhhDQoJbGkgMywxDQoJbGEgMjgseHl6M0BsKDgpDQoJ c3R3IDMxLHh5ejNAbCg4KQkgIyAgPHZhcmlhYmxlPi5wdHIxDQoJYmwgX1pu d2oNCglsaSA0LDk3DQoJc3RiIDQsMCgzKQkgIyAqIF9faW5pdGlhbGl6ZV9w DQoJc3R3IDMsNCgyOCkJICMgIDx2YXJpYWJsZT4ucHRyMiwgIF9faW5pdGlh bGl6ZV9wDQoJYiAuTDENCgkuc2l6ZQlfWjQxX19zdGF0aWNfaW5pdGlhbGl6 YXRpb25fYW5kX2Rlc3RydWN0aW9uXzBpaSwgLi1fWjQxX19zdGF0aWNfaW5p dGlhbGl6YXRpb25fYW5kX2Rlc3RydWN0aW9uXzBpaQ0KCS5hbGlnbiAyDQoJ Lmdsb2JsIF9HTE9CQUxfX0lfeHl6MQ0KCS50eXBlCV9HTE9CQUxfX0lfeHl6 MSwgQGZ1bmN0aW9uDQpfR0xPQkFMX19JX3h5ejE6DQoJbGkgMCwwDQoJbGkg MywxDQoJb3JpIDQsMCw2NTUzNQ0KCWIgX1o0MV9fc3RhdGljX2luaXRpYWxp emF0aW9uX2FuZF9kZXN0cnVjdGlvbl8waWkNCgkuc2l6ZQlfR0xPQkFMX19J X3h5ejEsIC4tX0dMT0JBTF9fSV94eXoxDQoJLmlkZW50CSJHQ0M6IChHTlUp IDMuMy1lNTAwIDIwMDMwNDIxIChXaW5kIFJpdmVyKSINCg== --0__=4EBBE4E4DFAF1B548f9e8a93df938690918c4EBBE4E4DFAF1B54--