-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ICE in g++ for template constructor with -mno-callee-assume-ss-data-segment #137
Comments
Hello @asiekierka, This is hard to fix unfortunately. Named address spaces are simply not supported by G++ at the moment — the C++ middle-end basically assumes that all pointers are compatible with I guess for the time being I should make Thank you! |
Partly addresses #137 . Unfortunately named address spaces are simply not supported by G++ at the moment — the C++ middle-end basically assumes that all pointers are compatible with `void *`. And `-mno-callee-assume-ss-data-segment` implicitly uses a named address space (`__seg_ss`).
Ah, I understand now. I thought the problem is only at the level of code parsing, not throughout the entire middle-end. Thank you! |
I wonder: wouldn't adding support for the large memory model effectively work around this "cheaper" than making major patches to the C++ middle-end? That is to say, if |
Partly addresses tkchia#137 . Unfortunately named address spaces are simply not supported by G++ at the moment — the C++ middle-end basically assumes that all pointers are compatible with `void *`. And `-mno-callee-assume-ss-data-segment` implicitly uses a named address space (`__seg_ss`).
Does not occur without
-mno-callee-assume-ss-data-segment
. Admittedly, this is a personal build of the toolchain.Code (sourced from ccleste - this portion is WTFPL-licensed as per issue):
The text was updated successfully, but these errors were encountered: