[MLton-user] bogus warning messages about scope annotations

John Reppy jhreppy at mac.com
Wed Sep 24 13:38:13 PDT 2008


Using a fresh version of mlton on Mac OS X, I'm getting messages of  
the form

Warning: /Users/jhr/Work/ICFPContest08/sml3d/src/glut/glut.sml 413.28.
   Symbol 'glutCreateMenuCB' redeclared as external (previously  
public). This may cause linker errors.

when the code at lines 412-413 is

     val exportCreateMenu	= _export "glutCreateMenuCB" private cdecl :  
(int -> unit) -> unit;
     val glutCreateMenuCB	= _address "glutCreateMenuCB" private : Ptr.t;

I've tried various other annotations instead of private, but the  
message is
consistent.  In fact, it turns out that one can put any identifier as  
an annoation and
still get the same message.  E.g.,

     val exportCreateMenu	= _export "glutCreateMenuCB" bogus cdecl :  
(int -> unit) -> unit;
     val glutCreateMenuCB	= _address "glutCreateMenuCB" bogus : Ptr.t;

I did not get this warning on the r6841 version on my windows box at  
work.

	- John




More information about the MLton-user mailing list