~ubuntu-branches/debian/squeeze/erlang/squeeze

« back to all changes in this revision

Viewing changes to lib/wx/api_gen/gl_gen_c.erl

  • Committer: Bazaar Package Importer
  • Author(s): Sergei Golovan
  • Date: 2009-08-05 20:54:29 UTC
  • mfrom: (6.1.2 sid)
  • Revision ID: james.westby@ubuntu.com-20090805205429-pm4pnwew8axraosl
Tags: 1:13.b.1-dfsg-5
* Fixed parentheses in Emacs mode (closes: #536891).
* Removed unnecessary conflicts with erlang-manpages package.
* Added workaround for #475459: disabled threads on sparc architecture.
  This breaks wxErlang, so it's only a temporary solution.

Show diffs side-by-side

added added

removed removed

Lines of Context:
404
404
    lists:foldl(Calc, [], Ps).
405
405
 
406
406
build_ret(Name,_Q,#type{name=_T,base=int,single=true,by_val=true}) ->    
407
 
    w(" rt[AP++] = ERL_DRV_INT; rt[AP++] = (int) ~s;~n", [Name]);
 
407
    w(" rt[AP++] = ERL_DRV_INT; rt[AP++] = (ErlDrvSInt) ~s;~n", [Name]);
408
408
build_ret(Name,_Q,#type{name=_T,base=bool,single=true,by_val=true}) ->
409
 
    w(" rt[AP++] = ERL_DRV_INT; rt[AP++] = (int) ~s;~n", [Name]);
 
409
    w(" rt[AP++] = ERL_DRV_INT; rt[AP++] = (ErlDrvSInt) ~s;~n", [Name]);
410
410
build_ret(Name,_Q,#type{name=_T,base=int,single=true,by_val=false}) ->    
411
 
    w(" rt[AP++] = ERL_DRV_INT; rt[AP++] = (int) *~s;~n", [Name]);
 
411
    w(" rt[AP++] = ERL_DRV_INT; rt[AP++] = (ErlDrvSInt) *~s;~n", [Name]);
412
412
build_ret(Name,_Q,#type{name=_T,base=bool,single=true,by_val=false}) ->
413
 
    w(" rt[AP++] = ERL_DRV_INT; rt[AP++] = (int) *~s;~n", [Name]);
 
413
    w(" rt[AP++] = ERL_DRV_INT; rt[AP++] = (ErlDrvSInt) *~s;~n", [Name]);
414
414
build_ret(Name,_Q,#type{name=_T,size=4,base=float,single=true,by_val=false}) ->
415
415
    w(" GLdouble ~sConv = (double) *~s; \n",[Name,Name]),
416
416
    w(" rt[AP++] = ERL_DRV_FLOAT; rt[AP++] = (ErlDrvTermData) &~sConv;~n", [Name]);
432
432
build_ret(Name,_Q,#type{name=T,base=_,single={tuple,Sz}}) ->
433
433
    Temp = Name ++ "Tmp",
434
434
    w(" ~s *~s = ~s;\n", [T,Temp,Name]),
435
 
    [w(" rt[AP++] = ERL_DRV_INT; rt[AP++] = (int) *~s++;~n", [Temp]) 
 
435
    [w(" rt[AP++] = ERL_DRV_INT; rt[AP++] = (ErlDrvSInt) *~s++;~n", [Temp]) 
436
436
     || _ <- lists:seq(1,Sz)],
437
437
    w(" rt[AP++] = ERL_DRV_TUPLE; rt[AP++] = ~p;~n",[Sz]);
438
438
build_ret(Name,_Q,#type{name="GLubyte",single={list,null}}) ->
443
443
      " rt[AP++] = *~s;\n", [Name, Sz]);
444
444
build_ret(Name,_Q,#type{name=_T,base=B,single={list,_,Sz}}) when B =/= float ->
445
445
    w(" for(int i=0; i < *~s; i++) {\n", [Sz]),
446
 
    w("    rt[AP++] = ERL_DRV_INT; rt[AP++] = (int) ~s[i];}~n", [Name]),    
 
446
    w("    rt[AP++] = ERL_DRV_INT; rt[AP++] = (ErlDrvSInt) ~s[i];}~n", [Name]),    
447
447
    w(" rt[AP++] = ERL_DRV_NIL;", []),
448
448
    w(" rt[AP++] = ERL_DRV_LIST; rt[AP++] = (*~s)+1;~n",[Sz]);
449
449
build_ret(Name,_Q,#type{name=_T,size=FSz,base=float,single={list,Sz}}) ->
462
462
build_ret(Name,_Q,#type{name=T,base=_,single={list,Sz}}) ->
463
463
    Temp = Name ++ "Tmp",
464
464
    w(" ~s *~s = ~s;\n", [T,Temp,Name]),
465
 
    [w(" rt[AP++] = ERL_DRV_INT; rt[AP++] = (int) *~s++;~n", [Temp]) 
 
465
    [w(" rt[AP++] = ERL_DRV_INT; rt[AP++] = (ErlDrvSInt) *~s++;~n", [Temp]) 
466
466
     || _ <- lists:seq(1,Sz)],
467
467
    w(" rt[AP++] = ERL_DRV_NIL;", []),
468
468
    w(" rt[AP++] = ERL_DRV_LIST; rt[AP++] = ~p+1;~n",[Sz]);