From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3692 invoked by alias); 23 Jun 2003 22:16:59 -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 24934 invoked by uid 48); 23 Jun 2003 22:12:35 -0000 Date: Mon, 23 Jun 2003 22:16:00 -0000 Message-ID: <20030623221235.24933.qmail@sources.redhat.com> From: "jfc at legra dot com" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20030623155039.11295.jfc@legra.com> References: <20030623155039.11295.jfc@legra.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c++/11295] [3.3/3.4 Regression] *reinterpret_cast causes ICE X-Bugzilla-Reason: CC X-SW-Source: 2003-06/txt/msg02504.txt.bz2 List-Id: PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11295 ------- Additional Comments From jfc at legra dot com 2003-06-23 22:12 ------- No question that the behavior isn't defined, but I dispute that it can't work. My example is derived from similar code which does seem to do what I intended. static char c[] = {3,0,0,0, 4,0,0,0, 0,0,0,0, 'H', 'i', '!', '\0'}; std::string fakestatic() { struct fakestring { void *p; } rv; rv.p = &c[12]; return *reinterpret_cast(&rv); } With the particular string implementation I am using, this appears to generate a usable std::string object. And it doesn't crash the compiler.