Ticket #260 (Fixed)Tue Dec 14 13:56:40 UTC 2010
Internal inconsistency error when incorrectly marking a variable as both 'extern' and '__global_reg'
Reported by: | Jeffrey Lee (213) | Severity: | Normal |
Part: | RISC OS: C/C++ toolchain | Release: | |
Milestone: | Status | Fixed |
Details by Jeffrey Lee (213):
If you first declare a variable as extern, then attempt to redeclare it as __global_reg, CC will fail with an internal inconsistency error. See here for a simple example (although I have a feeling the ‘void *’ in that example should have been a ‘workspace *’). This was seen with both CC 5.65 and 5.68.
If you declare a variable as both ‘extern’ and ‘__global_reg’ at once then you only get an ordinary error; it’s only when you declare the variable twice that the compiler will fail.
Changelog:
Modified by Jeffrey Lee (213) Sun, November 02 2014 - 14:17:10 GMT
- Status changed from Open to Fixed
Fixed with CC 5.71 (DDE 25) – a more sensible error is now given instead