Issue Details (XML | Word | Printable)

Key: PCC-249
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Anders Magnusson
Reporter: Gregory McGarry
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
pcc

compiler error: illegal address

Created: 21/Feb/11 11:41 PM   Updated: 22/Feb/11 07:40 PM
Component/s: i386 target
Affects Version/s: None
Fix Version/s: None

File Attachments: 1. File mmx.c (0,9 kB)

Environment: OS X 10.5


 Description  « Hide
I've attached a snippet of code that doesn't compile. Code can be found in libmpeg2-0.5.1.

If testing on another platform, remember that OS X always compiles PIC.



$ pcc -S mmx.c
mmx.c, line 24: compiler error: illegal address, op 23, node 0x8011f0
$ pcc -v -S mmx.c
pcc 1.1.0.DEVEL 20110221 for i386-apple-darwin9.8.0, greg@gregory-mcgarrys-macbook.local
/usr/local/libexec/cpp -v -D__PCC__=1 -D__PCC_MINOR__=1 -D__PCC_MINORMINOR__=0 -D__GNUC__=4 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=1 -D__GNUC_STDC_INLINE__=1 -D__VERSION__="pcc 1.1.0.DEVEL 20110221 for i386-apple-darwin9.8.0, greg@gregory-mcgarrys-macbook.local" -D__SCHAR_MAX__=127 -D__SHRT_MAX__=32767 -D__INT_MAX__=0x7fffffff -D__LONG_MAX__=0x7fffffff -D__LONG_LONG_MAX__=0x7fffffffffffffffLL -D__REGISTER_PREFIX__= -D__USER_LABEL_PREFIX__= -D__Darwin__ -D__APPLE__ -D__STDC_ISO_10646__=200009L -D__WCHAR_TYPE__=int -D__SIZEOF_WCHAR_T__=4 -D__WCHAR_MAX__=2147483647 -D__WINT_TYPE__=unsigned int -D__SIZE_TYPE__=unsigned long -D__PTRDIFF_TYPE__=long int -D__SIZEOF_WINT_T__=4 -D__i386__ -D__LITTLE_ENDIAN__ -S /usr/local/include/pcc/ -S /usr/include/ -S /usr/local/lib/pcc/i386-apple-darwin9.8.0/1.1.0.DEVEL/include/ mmx.c /tmp/ctm.4kcbsq
cpp: pcc 1.1.0.DEVEL 20110221 for i386-apple-darwin9.8.0, greg@gregory-mcgarrys-macbook.local
/usr/local/libexec/ccom -k /tmp/ctm.4kcbsq mmx.s
mmx.c, line 24: compiler error: illegal address, op 23, node 0x8011f0


 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Anders Magnusson added a comment - 22/Feb/11 11:05 AM
It really runs out of registers here; so much it cannot get an indirect memory reference.

Anders Magnusson added a comment - 22/Feb/11 07:40 PM
Fixed now by ensuring that registers do not get spilled if used as memory reference registers.