This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/45074] New: GCC Segmentation fault - negating global register variables
- From: "steffenschmidt dot ext at siemens dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 26 Jul 2010 08:12:14 -0000
- Subject: [Bug c++/45074] New: GCC Segmentation fault - negating global register variables
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
When compiling the following example using language c++ (compiling in language
c works fine) and optimization level -O1 or higher (-O0 works fine) GCC 4.4.1
for MIPS crashes with an internal compiler error - segmentation fault in line
5.
Please note that the register variable is declared "double", when using "float"
type the error does not occur.
gcc -O1 -x c++ test_neg_float_register.c
---------test_neg_float_register.c----------
register double g_param_f64_1 __asm__("$f20");
void negate_float_register (void)
{
g_param_f64_1 = -(g_param_f64_1);
}
--------------------------------------------
See attachment for example file.
The error is reproducible with GCC version 4.3.2 and 4.4.1 and optimization
level higher -O0 (that is -O1, -O2, -O3).
--
Summary: GCC Segmentation fault - negating global register
variables
Product: gcc
Version: 4.4.1
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: steffenschmidt dot ext at siemens dot com
GCC host triplet: MinGW
GCC target triplet: mips*-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45074