From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18702 invoked by alias); 7 Nov 2008 11:07:05 -0000 Received: (qmail 9104 invoked by uid 48); 7 Nov 2008 11:05:41 -0000 Date: Fri, 07 Nov 2008 11:07:00 -0000 Message-ID: <20081107110541.9103.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/38020] Undiagnosed const violation in pointer conversion in CRTP context. In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "gccbugs at marcusbannerman dot co dot uk" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2008-11/txt/msg00553.txt.bz2 ------- Comment #1 from gccbugs at marcusbannerman dot co dot uk 2008-11-07 11:05 ------- I have the same problem, it is a static_cast problem not respecting const correctness of pointers E.g. class BaseClass {}; class someClass:public BaseClass { public: void someFunction() {} }; int main() { //g++ (GCC) 4.1.2 (Gentoo 4.1.2 p1.1) //Run as g++ test.cpp someClass A; const BaseClass* ptrA(&A); //Should fail on compile with not const function, does not static_cast(ptrA)->someFunction(); //This DOES fail static_cast(*ptrA).someFunction(); /*Output is test.cpp: In function 'int main()': test.cpp:16: error: passing 'const someClass' as 'this' argument of 'void someClass::someFunction()' discards qualifiers */ } -- gccbugs at marcusbannerman dot co dot uk changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gccbugs at marcusbannerman | |dot co dot uk http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38020