From: scowen@wfpc3.la.asu.edu (Paul A. Scowen)
Subject: gcc-2.2.2 and X11R5: problems on MIPS architecture
Organization: GNUs Not Usenet
Distribution: gnu
Date: Thu, 20 Aug 1992 22:45:09 GMT

Hello,

to augment my earlier statements through USENET I have assembled below a
description of the problems I (and several other correspondents) have
encountered using the (apparent beta release of) gcc-2.2.2 to compile
X11R5pl16 on a DS 5000/25 (MIPS) machine running Ultrix 4.2a.

The gcc itself was configured in the mode "target=decstation-ultrix" and
appeared to compile and install without errors, passing the starge2 and
stage3 comparison checks.

The initial motivation for the attempt to use gcc came from the cpp on the
DECstation appearing to collapse tabs to spaces and so screwing up Makefiles
when imake was run.  The intial couple of builds of the X distrubution were
flawed becuase of a stupid mistake on my part leaving the "-Dvax" call in the
CCOPTIONS for gcc.  After this was corrected, the whole build was repeated
using the following line in the ultrix.cf:

#define CcCmd gcc -ansi -Dmips -Dultrix -fpcc-struct-return

which appeared to successfully build with several majot caveats.  The errors
produced in the build are listed below together with the places they occured.

Errors in the build
-------------------

making all in ./lib/X...

XIMWrap.c: In function `_XCopyToArg':
XIMWrap.c:70: warning: cast to pointer from integer of different size
XIMWrap.c:71: warning: cast to pointer from integer of different size

XICSetVal.c: In function `CopyFromArg':
XICSetVal.c:62: warning: cast from pointer to integer of different size
XICSetVal.c:63: warning: cast from pointer to integer of different size

Shell.c:84: warning: cast to pointer from integer of different size
Shell.c:86: warning: cast to pointer from integer of different size

making all in ./lib/Xmu...

EditresCom.c: In function `_XEditResCheckMessages':
EditresCom.c:188: warning: cast to pointer from integer of different size
EditresCom.c: In function `GetCommand':
EditresCom.c:383: warning: cast from pointer to integer of different size

making all in ./lib/Xaw...

Text.c: In function `HJump':
Text.c:1222: warning: cast to pointer from integer of different size

Toggle.c: In function `Notify':
Toggle.c:274: warning: cast to pointer from integer of different size

making all in ./extensions/server/PEX/dipex/objects...

pexPc.c: In function `PEXGetPipelineContext':
pexPc.c:1372: warning: cast from pointer to integer of different size

making all in ./extensions/server/PEX/ddpex/mi/level2...

miInquire.c: In function `inquirePSurfaceChars':
miInquire.c:1233: warning: cast from pointer to integer of different size

making all in ./extensions/test/xinput...

XTouch.c: In function `handle_x_errors':
XTouch.c:1861: warning: comparison is always 1 due to limited range of data
type

XPErrors.c: In function `handle_x_errors':
XPErrors.c:1990: warning: comparison is always 1 due to limited range of data
type

XSelInput.c: In function `handle_x_errors':
XSelInput.c:970: warning: comparison is always 1 due to limited range of data
type

XSendEv.c: In function `handle_x_errors':
XSendEv.c:1239: warning: comparison is always 1 due to limited range of data
type

making all in ./server/dix...

gc.c: In function `DoChangeGC':
gc.c:104: warning: comparison is always 1 due to limited range of data type
gc.c:135: warning: comparison is always 1 due to limited range of data type
gc.c:146: warning: comparison is always 1 due to limited range of data type
gc.c:157: warning: comparison is always 1 due to limited range of data type
gc.c:167: warning: comparison is always 1 due to limited range of data type
gc.c:178: warning: comparison is always 1 due to limited range of data type
gc.c:390: warning: comparison is always 1 due to limited range of data type

making all in ./server/ddx/dec/ws...

ws_io.c: In function `AddLineToKeymap':
ws_io.c:467: warning: comparison is always 0 due to limited range of data
type
ws_io.c:480: warning: comparison is always 0 due to limited range of data
type
ws_io.c: At top level:
ws_io.c:846: warning: `wsDisplayCursor' was declared implicitly `extern' and
later `static'

making all in ./clients/bitmap...

Handlers.c: In function `DragOnePointHandler':
Handlers.c:75: warning: cast from pointer to integer of different size
Handlers.c:88: warning: cast from pointer to integer of different size
Handlers.c: In function `DragTwoPointsHandler':
Handlers.c:585: warning: cast from pointer to integer of different size

bmtoa.c: In function `copy_stdin':
bmtoa.c:51: warning: comparison between pointer and integer

making all in ./clients/editres...

actions.c: In function `PopdownFileDialogAction':
actions.c:195: warning: cast to pointer from integer of different size

handler.c: In function `SendTree':
handler.c:92: warning: cast from pointer to integer of different size
handler.c: In function `AnyChosen':
handler.c:341: warning: cast from pointer to integer of different size
handler.c: In function `SetResourceString':
handler.c:472: warning: cast from pointer to integer of different size
handler.c: In function `SetOnlyMatchingWidgets':
handler.c:868: warning: cast to pointer from integer of different size

utils.c: In function `_PopdownFileDialog':
utils.c:477: warning: cast from pointer to integer of different size

wtree.c: In function `TreeToggle':
wtree.c:156: warning: cast from pointer to integer of different size
wtree.c: In function `_TreeSelectNode':
wtree.c:404: warning: cast to pointer from integer of different size

making all in ./clients/viewres...

viewres.c: In function `variable_labeltype_callback':
viewres.c:440: warning: cast from pointer to integer of different size
viewres.c: In function `toggle_callback':
viewres.c:701: warning: cast from pointer to integer of different size

making all in ./clients/xdm...

xdmcp.c: In function `all_query_respond':
xdmcp.c:521: warning: comparison is always 0 due to limited range of data
type

making all in ./demos/puzzle...

main.c: In function `Setup':
main.c:552: warning: comparison between pointer and integer

making all in ./demos/gpc...

bif_lex.c: In function `yylex':
bif_lex.c:398: warning: initialization of `yylex_info.ch1' makes integer from
pointer without a cast
bif_lex.c:398: warning: initialization of `yylex_info.ch1_group' makes
integer from pointer without a cast
bif_lex.c:398: warning: initialization of `yylex_info.yacc_pack_not_done'
makes integer from pointer without a cast
bif_lex.c:398: warning: initialization of `yylex_info.new_yacc_pack' makes
integer from pointer without a cast
bif_lex.c:398: warning: initialization of `yylex_info.last_char_unused' makes
integer from pointer without a cast
bif_lex.c:398: warning: initialization of `yylex_info.return_code' makes
integer from pointer without a cast
bif_lex.c:398: warning: initialization of `yylex_info.init_flag' makes
integer from pointer without a cast
bif_lex.c:398: warning: initialization of `yylex_info.line_no' makes integer
from pointer without a cast

In file included from brf_trv.c:97:
brf_set.h:45: warning: initialization of `total_with_data.entity_type' makes
integer from pointer without a cast

init_bench.c: In function `GetWorkstationInfo':
init_bench.c:858: warning: assignment makes integer from pointer without a
cast
init_bench.c:858: warning: assignment makes integer from pointer without a
cast
init_bench.c:858: warning: assignment makes integer from pointer without a
cast
init_bench.c:858: warning: assignment makes integer from pointer without a
cast
init_bench.c:858: warning: assignment makes integer from pointer without a
cast
init_bench.c:858: warning: assignment makes integer from pointer without a
cast
init_bench.c:858: warning: assignment makes integer from pointer without a
cast
init_bench.c:858: warning: assignment makes integer from pointer without a
cast
init_bench.c:865: warning: assignment makes integer from pointer without a
cast
init_bench.c:865: warning: assignment makes integer from pointer without a
cast
init_bench.c:865: warning: assignment makes integer from pointer without a
cast
init_bench.c:865: warning: assignment makes integer from pointer without a
cast
init_bench.c:865: warning: assignment makes integer from pointer without a
cast
init_bench.c:865: warning: assignment makes integer from pointer without a
cast
init_bench.c:865: warning: assignment makes integer from pointer without a
cast
init_bench.c:865: warning: assignment makes integer from pointer without a
cast
init_bench.c:885: warning: assignment makes integer from pointer without a
cast
init_bench.c:885: warning: assignment makes integer from pointer without a
cast
init_bench.c:885: warning: assignment makes integer from pointer without a
cast
init_bench.c:885: warning: assignment makes integer from pointer without a
cast
init_bench.c:885: warning: assignment makes integer from pointer without a
cast
init_bench.c:885: warning: assignment makes integer from pointer without a
cast
init_bench.c:885: warning: assignment makes integer from pointer without a
cast
init_bench.c:885: warning: assignment makes integer from pointer without a
cast
init_bench.c:898: warning: assignment makes integer from pointer without a
cast
init_bench.c:898: warning: assignment makes integer from pointer without a
cast
init_bench.c:898: warning: assignment makes integer from pointer without a
cast
init_bench.c:898: warning: assignment makes integer from pointer without a
cast
init_bench.c:898: warning: assignment makes integer from pointer without a
cast
init_bench.c:898: warning: assignment makes integer from pointer without a
cast
init_bench.c:898: warning: assignment makes integer from pointer without a
cast
init_bench.c:898: warning: assignment makes integer from pointer without a
cast
init_bench.c:905: warning: assignment makes integer from pointer without a
cast
init_bench.c:905: warning: assignment makes integer from pointer without a
cast
init_bench.c:905: warning: assignment makes integer from pointer without a
cast
init_bench.c:905: warning: assignment makes integer from pointer without a
cast
init_bench.c:905: warning: assignment makes integer from pointer without a
cast
init_bench.c:905: warning: assignment makes integer from pointer without a
cast
init_bench.c:905: warning: assignment makes integer from pointer without a
cast
init_bench.c:905: warning: assignment makes integer from pointer without a
cast
init_bench.c:913: warning: assignment makes integer from pointer without a
cast
init_bench.c:913: warning: assignment makes integer from pointer without a
cast
init_bench.c:913: warning: assignment makes integer from pointer without a
cast
init_bench.c:913: warning: assignment makes integer from pointer without a
cast
init_bench.c:913: warning: assignment makes integer from pointer without a
cast
init_bench.c:913: warning: assignment makes integer from pointer without a
cast
init_bench.c:913: warning: assignment makes integer from pointer without a
cast
init_bench.c:913: warning: assignment makes integer from pointer without a
cast
init_bench.c:918: warning: assignment makes integer from pointer without a
cast
init_bench.c:918: warning: assignment makes integer from pointer without a
cast
init_bench.c:918: warning: assignment makes integer from pointer without a
cast
init_bench.c:918: warning: assignment makes integer from pointer without a
cast
init_bench.c:918: warning: assignment makes integer from pointer without a
cast
init_bench.c:918: warning: assignment makes integer from pointer without a
cast
init_bench.c:918: warning: assignment makes integer from pointer without a
cast
init_bench.c:918: warning: assignment makes integer from pointer without a
cast
init_bench.c:940: warning: assignment makes integer from pointer without a
cast
init_bench.c:940: warning: assignment makes integer from pointer without a
cast
init_bench.c:940: warning: assignment makes integer from pointer without a
cast
init_bench.c:940: warning: assignment makes integer from pointer without a
cast
init_bench.c:940: warning: assignment makes integer from pointer without a
cast
init_bench.c:940: warning: assignment makes integer from pointer without a
cast
init_bench.c:940: warning: assignment makes integer from pointer without a
cast
init_bench.c:940: warning: assignment makes integer from pointer without a
cast
init_bench.c:954: warning: assignment makes integer from pointer without a
cast
init_bench.c:954: warning: assignment makes integer from pointer without a
cast
init_bench.c:954: warning: assignment makes integer from pointer without a
cast
init_bench.c:954: warning: assignment makes integer from pointer without a
cast
init_bench.c:954: warning: assignment makes integer from pointer without a
cast
init_bench.c:954: warning: assignment makes integer from pointer without a
cast
init_bench.c:954: warning: assignment makes integer from pointer without a
cast
init_bench.c:954: warning: assignment makes integer from pointer without a
cast
init_bench.c:968: warning: assignment makes integer from pointer without a
cast
init_bench.c:968: warning: assignment makes integer from pointer without a
cast
init_bench.c:968: warning: assignment makes integer from pointer without a
cast
init_bench.c:968: warning: assignment makes integer from pointer without a
cast
init_bench.c:968: warning: assignment makes integer from pointer without a
cast
init_bench.c:968: warning: assignment makes integer from pointer without a
cast
init_bench.c:968: warning: assignment makes integer from pointer without a
cast
init_bench.c:968: warning: assignment makes integer from pointer without a
cast
init_bench.c:990: warning: assignment makes integer from pointer without a
cast
init_bench.c:990: warning: assignment makes integer from pointer without a
cast
init_bench.c:990: warning: assignment makes integer from pointer without a
cast
init_bench.c:990: warning: assignment makes integer from pointer without a
cast
init_bench.c:990: warning: assignment makes integer from pointer without a
cast
init_bench.c:990: warning: assignment makes integer from pointer without a
cast
init_bench.c:990: warning: assignment makes integer from pointer without a
cast
init_bench.c:990: warning: assignment makes integer from pointer without a
cast
init_bench.c:997: warning: assignment makes integer from pointer without a
cast
init_bench.c:997: warning: assignment makes integer from pointer without a
cast
init_bench.c:997: warning: assignment makes integer from pointer without a
cast
init_bench.c:997: warning: assignment makes integer from pointer without a
cast
init_bench.c:997: warning: assignment makes integer from pointer without a
cast
init_bench.c:997: warning: assignment makes integer from pointer without a
cast
init_bench.c:997: warning: assignment makes integer from pointer without a
cast
init_bench.c:997: warning: assignment makes integer from pointer without a
cast
init_bench.c:1009: warning: assignment makes integer from pointer without a
cast
init_bench.c:1009: warning: assignment makes integer from pointer without a
cast
init_bench.c:1009: warning: assignment makes integer from pointer without a
cast
init_bench.c:1009: warning: assignment makes integer from pointer without a
cast
init_bench.c:1009: warning: assignment makes integer from pointer without a
cast
init_bench.c:1009: warning: assignment makes integer from pointer without a
cast
init_bench.c:1009: warning: assignment makes integer from pointer without a
cast
init_bench.c:1009: warning: assignment makes integer from pointer without a
cast
init_bench.c:1011: warning: assignment makes integer from pointer without a
cast
init_bench.c:1011: warning: assignment makes integer from pointer without a
cast
init_bench.c:1011: warning: assignment makes integer from pointer without a
cast
init_bench.c:1011: warning: assignment makes integer from pointer without a
cast
init_bench.c:1011: warning: assignment makes integer from pointer without a
cast
init_bench.c:1011: warning: assignment makes integer from pointer without a
cast
init_bench.c:1011: warning: assignment makes integer from pointer without a
cast
init_bench.c:1011: warning: assignment makes integer from pointer without a
cast
init_bench.c:1013: warning: assignment makes integer from pointer without a
cast
init_bench.c:1013: warning: assignment makes integer from pointer without a
cast
init_bench.c:1013: warning: assignment makes integer from pointer without a
cast
init_bench.c:1013: warning: assignment makes integer from pointer without a
cast
init_bench.c:1013: warning: assignment makes integer from pointer without a
cast
init_bench.c:1013: warning: assignment makes integer from pointer without a
cast
init_bench.c:1013: warning: assignment makes integer from pointer without a
cast
init_bench.c:1013: warning: assignment makes integer from pointer without a
cast
init_bench.c:1015: warning: assignment makes integer from pointer without a
cast
init_bench.c:1015: warning: assignment makes integer from pointer without a
cast
init_bench.c:1015: warning: assignment makes integer from pointer without a
cast
init_bench.c:1015: warning: assignment makes integer from pointer without a
cast
init_bench.c:1015: warning: assignment makes integer from pointer without a
cast
init_bench.c:1015: warning: assignment makes integer from pointer without a
cast
init_bench.c:1015: warning: assignment makes integer from pointer without a
cast
init_bench.c:1015: warning: assignment makes integer from pointer without a
cast
init_bench.c:1017: warning: assignment makes integer from pointer without a
cast
init_bench.c:1017: warning: assignment makes integer from pointer without a
cast
init_bench.c:1017: warning: assignment makes integer from pointer without a
cast
init_bench.c:1017: warning: assignment makes integer from pointer without a
cast
init_bench.c:1017: warning: assignment makes integer from pointer without a
cast
init_bench.c:1017: warning: assignment makes integer from pointer without a
cast
init_bench.c:1017: warning: assignment makes integer from pointer without a
cast
init_bench.c:1017: warning: assignment makes integer from pointer without a
cast
init_bench.c:1052: warning: assignment makes integer from pointer without a
cast
init_bench.c:1052: warning: assignment makes integer from pointer without a
cast
init_bench.c:1052: warning: assignment makes integer from pointer without a
cast
init_bench.c:1052: warning: assignment makes integer from pointer without a
cast
init_bench.c:1052: warning: assignment makes integer from pointer without a
cast
init_bench.c:1052: warning: assignment makes integer from pointer without a
cast
init_bench.c:1052: warning: assignment makes integer from pointer without a
cast
init_bench.c:1052: warning: assignment makes integer from pointer without a
cast
init_bench.c:1056: warning: assignment makes integer from pointer without a
cast
init_bench.c:1056: warning: assignment makes integer from pointer without a
cast
init_bench.c:1056: warning: assignment makes integer from pointer without a
cast
init_bench.c:1056: warning: assignment makes integer from pointer without a
cast
init_bench.c:1056: warning: assignment makes integer from pointer without a
cast
init_bench.c:1056: warning: assignment makes integer from pointer without a
cast
init_bench.c:1056: warning: assignment makes integer from pointer without a
cast
init_bench.c:1056: warning: assignment makes integer from pointer without a
cast

brf_except.c: In function `BRF_define_exceptions':
brf_except.c:167: warning: assignment makes integer from pointer without a
cast
brf_except.c:167: warning: assignment makes integer from pointer without a
cast
brf_except.c:167: warning: assignment makes integer from pointer without a
cast
brf_except.c:167: warning: assignment makes integer from pointer without a
cast
brf_except.c:167: warning: assignment makes integer from pointer without a
cast
brf_except.c:167: warning: assignment makes integer from pointer without a
cast
brf_except.c:167: warning: assignment makes integer from pointer without a
cast
brf_except.c:167: warning: assignment makes integer from pointer without a
cast
brf_except.c:168: warning: assignment makes integer from pointer without a
cast
brf_except.c:168: warning: assignment makes integer from pointer without a
cast
brf_except.c:168: warning: assignment makes integer from pointer without a
cast
brf_except.c:168: warning: assignment makes integer from pointer without a
cast
brf_except.c:168: warning: assignment makes integer from pointer without a
cast
brf_except.c:168: warning: assignment makes integer from pointer without a
cast
brf_except.c:168: warning: assignment makes integer from pointer without a
cast
brf_except.c:168: warning: assignment makes integer from pointer without a
cast
brf_except.c:184: warning: assignment makes integer from pointer without a
cast
brf_except.c:184: warning: assignment makes integer from pointer without a
cast
brf_except.c:184: warning: assignment makes integer from pointer without a
cast
brf_except.c:184: warning: assignment makes integer from pointer without a
cast
brf_except.c:184: warning: assignment makes integer from pointer without a
cast
brf_except.c:184: warning: assignment makes integer from pointer without a
cast
brf_except.c:184: warning: assignment makes integer from pointer without a
cast
brf_except.c:184: warning: assignment makes integer from pointer without a
cast
brf_except.c:185: warning: assignment makes integer from pointer without a
cast
brf_except.c:185: warning: assignment makes integer from pointer without a
cast
brf_except.c:185: warning: assignment makes integer from pointer without a
cast
brf_except.c:185: warning: assignment makes integer from pointer without a
cast
brf_except.c:185: warning: assignment makes integer from pointer without a
cast
brf_except.c:185: warning: assignment makes integer from pointer without a
cast
brf_except.c:185: warning: assignment makes integer from pointer without a
cast
brf_except.c:185: warning: assignment makes integer from pointer without a
cast
brf_except.c:186: warning: assignment makes integer from pointer without a
cast
brf_except.c:186: warning: assignment makes integer from pointer without a
cast
brf_except.c:186: warning: assignment makes integer from pointer without a
cast
brf_except.c:186: warning: assignment makes integer from pointer without a
cast
brf_except.c:186: warning: assignment makes integer from pointer without a
cast
brf_except.c:186: warning: assignment makes integer from pointer without a
cast
brf_except.c:186: warning: assignment makes integer from pointer without a
cast
brf_except.c:186: warning: assignment makes integer from pointer without a
cast
brf_except.c:187: warning: assignment makes integer from pointer without a
cast
brf_except.c:187: warning: assignment makes integer from pointer without a
cast
brf_except.c:187: warning: assignment makes integer from pointer without a
cast
brf_except.c:187: warning: assignment makes integer from pointer without a
cast
brf_except.c:187: warning: assignment makes integer from pointer without a
cast
brf_except.c:187: warning: assignment makes integer from pointer without a
cast
brf_except.c:187: warning: assignment makes integer from pointer without a
cast
brf_except.c:187: warning: assignment makes integer from pointer without a
cast
brf_except.c:188: warning: assignment makes integer from pointer without a
cast
brf_except.c:188: warning: assignment makes integer from pointer without a
cast
brf_except.c:188: warning: assignment makes integer from pointer without a
cast
brf_except.c:188: warning: assignment makes integer from pointer without a
cast
brf_except.c:188: warning: assignment makes integer from pointer without a
cast
brf_except.c:188: warning: assignment makes integer from pointer without a
cast
brf_except.c:188: warning: assignment makes integer from pointer without a
cast
brf_except.c:188: warning: assignment makes integer from pointer without a
cast
brf_except.c:189: warning: assignment makes integer from pointer without a
cast
brf_except.c:189: warning: assignment makes integer from pointer without a
cast
brf_except.c:189: warning: assignment makes integer from pointer without a
cast
brf_except.c:189: warning: assignment makes integer from pointer without a
cast
brf_except.c:189: warning: assignment makes integer from pointer without a
cast
brf_except.c:189: warning: assignment makes integer from pointer without a
cast
brf_except.c:189: warning: assignment makes integer from pointer without a
cast
brf_except.c:189: warning: assignment makes integer from pointer without a
cast
brf_except.c:190: warning: assignment makes integer from pointer without a
cast
brf_except.c:190: warning: assignment makes integer from pointer without a
cast
brf_except.c:190: warning: assignment makes integer from pointer without a
cast
brf_except.c:190: warning: assignment makes integer from pointer without a
cast
brf_except.c:190: warning: assignment makes integer from pointer without a
cast
brf_except.c:190: warning: assignment makes integer from pointer without a
cast
brf_except.c:190: warning: assignment makes integer from pointer without a
cast
brf_except.c:190: warning: assignment makes integer from pointer without a
cast
brf_except.c:191: warning: assignment makes integer from pointer without a
cast
brf_except.c:191: warning: assignment makes integer from pointer without a
cast
brf_except.c:191: warning: assignment makes integer from pointer without a
cast
brf_except.c:191: warning: assignment makes integer from pointer without a
cast
brf_except.c:191: warning: assignment makes integer from pointer without a
cast
brf_except.c:191: warning: assignment makes integer from pointer without a
cast
brf_except.c:191: warning: assignment makes integer from pointer without a
cast
brf_except.c:191: warning: assignment makes integer from pointer without a
cast

Description of resulting environment
------------------------------------

After all these responses, an install of the environment resulted in the 
server being the most broken - all text appearing backwards and window edges
being mapped several pixels from where they should have been.   Other
symptoms unrelated to thr server (when replaced with the DEC supplied one)
include missing icons in the TWM window bars, a failure of TWM called shell
commands to activate, and a general list of small things "not quite right".

I hope this has been a more complete listing of the problems involved.  If
there are any pieces of information needed by the software developers to
augment their database of knowledge on this problem, please do not hesitate
to contact me.  Thanks for your time.

-- 
-------------------------------------------------------------------------------
Paul A. Scowen				INTERNET: scowen@wfpc3.la.asu.edu
Department of Physics & Astronomy		  uk1@spacsun.rice.edu
Arizona State University		Tel:      (602) 965-0938
Tempe, AZ 85287-1504			FAX:      (602) 965-7954
-------------------------------------------------------------------------------

Newsgroups: gnu.gcc.bug