Re: New GCC takes 19x as long to compile my program (compared to old GCC), plus void** patch suggestion

2012-08-13 Thread Elmar Krieger
Hi Richard, many thanks for saving my time. time gcc -m32 -g -O -fno-strict-aliasing -x c -Wall -Werror -c model.i That's within reasonable bounds as well, IMHO (you can't really compare -O1 from 3.2.3 with -O1 from 4.6.3). One more data point (-O2 tends to be more focused on, no debuginfo g

Re: New GCC takes 19x as long to compile my program (compared to old GCC), plus void** patch suggestion

2012-08-10 Thread Elmar Krieger
Hi Ian, hi Richard, hi Andi! Many thanks for your comments. >>> The slowdown is not the same with other files, so I'm essentially sure >>> that this specific source file has some 'feature' that catches GCC at >>> the wrong leg. This raises my hopes that one of the GCC experts wants >>> to take a

Re: New GCC takes 19x as long to compile my program (compared to old GCC), plus void** patch suggestion

2012-08-08 Thread Elmar Krieger
argument void** to accept a pointer to any pointer helps with aliasing. If it's perfectly normal that a function with argument void* accepts any pointer, then a function with argument void** should accept a pointer to any pointer by analogy, without having additional aliasing problems, no? All the best, Elmar -- Elmar Krieger, PhD YASARA Biosciences & CMBI Outstation Austria Wagramer Strasse 25/3/45 1220 Vienna Austria/Europe www.YASARA.org

New GCC takes 19x as long to compile my program (compared to old GCC), plus void** patch suggestion

2012-08-08 Thread Elmar Krieger
Dear all, while I fully understand that GCC's steadily advancing optimization capabilities can't be 'for free', the latest versions have become almost unusably slow for me: With simple optimization -O, compiling a certain C source file (~6 lines) now takes 4.5 minutes, while older GCCs d

void* <-> char* aliasing rule, C standard or glitch?

2006-07-01 Thread Elmar Krieger
Hi GCClers, I searched hard, but couldn't determine conclusively if the C standard allows to alias a void* pointer with a char* pointer. If that's not undefined behavior, then the following may be a glitch in GCC 4.1.0 when compiled with -O2. Here's the ugly minimal piece of code: /* ASSUM