From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26915 invoked by alias); 6 May 2003 22:56: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 26863 invoked by uid 71); 6 May 2003 22:56:02 -0000 Resent-Date: 6 May 2003 22:56:02 -0000 Resent-Message-ID: <20030506225602.26862.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, notbob@tessellation.com Received: (qmail 19340 invoked by uid 48); 6 May 2003 22:50:01 -0000 Message-Id: <20030506225001.19339.qmail@sources.redhat.com> Date: Tue, 06 May 2003 22:56:00 -0000 From: notbob@tessellation.com Reply-To: notbob@tessellation.com To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/10648: template instantiation doesn't respect evaluation order of && X-SW-Source: 2003-05/txt/msg00420.txt.bz2 List-Id: >Number: 10648 >Category: c++ >Synopsis: template instantiation doesn't respect evaluation order of && >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Tue May 06 22:56:01 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Robert Allan Schwartz >Release: gcc version 3.2 20020927 (prerelease) >Organization: >Environment: in bash via cygwin on windows 98 se >Description: I apologize in advance if I'm not reporting this "bug" absolutely correctly. I haven't done this before. I appreciate your patience. Thank you. I believe my template should evaluate is_class::value first, and if it returns false, should NOT evaluate sizeof(is_empty_helper_class_1) == sizeof(is_empty_helper_class_2), but it seems to anyway. Is this "pilot error" or a compiler bug? >How-To-Repeat: g++ is_empty.cpp ./a.exe >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="is_empty.cpp" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="is_empty.cpp" dGVtcGxhdGUgPHR5cGVuYW1lIFQ+DQpjbGFzcyBpc19jbGFzcw0Kew0KcHVibGljOg0KCXN0YXRp YyBjb25zdCBib29sIHZhbHVlID0gZmFsc2U7DQp9Ow0KDQp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4N CmNsYXNzIGlzX2VtcHR5X2hlbHBlcl9jbGFzc18xIDogcHVibGljIFQNCnsNCglpbnQgdW51c2Vk WzI1Nl07DQp9Ow0KDQp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4NCmNsYXNzIGlzX2VtcHR5X2hlbHBl cl9jbGFzc18yDQp7DQoJaW50IHVudXNlZFsyNTZdOw0KfTsNCg0KdGVtcGxhdGUgPHR5cGVuYW1l IFQ+DQpjbGFzcyBpc19lbXB0eQ0Kew0KcHVibGljOg0KCXN0YXRpYyBjb25zdCBib29sIHZhbHVl ID0NCgkJKA0KCQkJaXNfY2xhc3M8VD46OnZhbHVlDQoJCSYmDQoJCQkoDQoJCQkJc2l6ZW9mKGlz X2VtcHR5X2hlbHBlcl9jbGFzc18xPFQ+KQ0KCQkJPT0NCgkJCQlzaXplb2YoaXNfZW1wdHlfaGVs cGVyX2NsYXNzXzI8VD4pDQoJCQkpDQoJCSk7DQp9Ow0KDQojaW5jbHVkZSA8aW9zdHJlYW0+DQoN CmludCBtYWluKCkNCnsNCglzdGQ6OmNvdXQgPDwgImlzX2NsYXNzPGJvb2w+Ojp2YWx1ZSA9ICIg PDwgaXNfY2xhc3M8Ym9vbD46OnZhbHVlIDw8IHN0ZDo6ZW5kbDsNCglzdGQ6OmNvdXQgPDwgImlz X2VtcHR5PGJvb2w+Ojp2YWx1ZSA9ICIgPDwgaXNfZW1wdHk8Ym9vbD46OnZhbHVlIDw8IHN0ZDo6 ZW5kbDsNCg0KCXJldHVybiAwOw0KfQ0K