diff options
Diffstat (limited to 'lib/ic')
-rw-r--r-- | lib/ic/src/ic_noc.erl | 19 | ||||
-rw-r--r-- | lib/ic/test/c_client_erl_server_SUITE_data/Makefile.src | 21 | ||||
-rw-r--r-- | lib/ic/test/c_client_erl_server_proto_SUITE_data/Makefile.src | 21 | ||||
-rw-r--r-- | lib/ic/test/c_client_erl_server_proto_tmo_SUITE_data/Makefile.src | 24 | ||||
-rw-r--r-- | lib/ic/test/erl_client_c_server_SUITE_data/Makefile.src | 17 | ||||
-rw-r--r-- | lib/ic/test/erl_client_c_server_proto_SUITE_data/Makefile.src | 17 | ||||
-rw-r--r-- | lib/ic/test/java_client_erl_server_SUITE_data/Makefile.src | 17 | ||||
-rw-r--r-- | lib/ic/vsn.mk | 2 |
8 files changed, 97 insertions, 41 deletions
diff --git a/lib/ic/src/ic_noc.erl b/lib/ic/src/ic_noc.erl index d43d550a52..b3fa3ee96e 100644 --- a/lib/ic/src/ic_noc.erl +++ b/lib/ic/src/ic_noc.erl @@ -289,6 +289,9 @@ emit_serv_std(G, N, X) -> emit(Fd, "terminate(Reason, State) ->\n"), emit(Fd, " ~p:~p(Reason, State).\n", [Impl, terminate]), + nl(Fd), + emit(Fd, "code_change(_OldVsn, State, _Extra) ->\n"), + emit(Fd, " {ok, State}.\n"), nl(Fd), nl(Fd) end, Fd. @@ -304,13 +307,13 @@ gen_end_of_call(G, _N, _X) -> Fd = ic_genobj:stubfiled(G), nl(Fd), nl(Fd), ic_codegen:mcomment_light(Fd, ["Standard gen_server call handle"]), - emit(Fd, "handle_call(stop, From, State) ->\n"), + emit(Fd, "handle_call(stop, _From, State) ->\n"), emit(Fd, " {stop, normal, ok, State}"), case get_opt(G, serv_last_call) of exception -> emit(Fd, ";\n"), nl(Fd), - emit(Fd, "handle_call(Req, From, State) ->\n"), + emit(Fd, "handle_call(_Req, _From, State) ->\n"), emit(Fd, " {reply, ~p, State}.\n",[getCallErr()]); exit -> emit(Fd, ".\n"), @@ -335,7 +338,7 @@ gen_end_of_cast(G, _N, _X) -> exception -> emit(Fd, ";\n"), nl(Fd), - emit(Fd, "handle_cast(Req, State) ->\n"), + emit(Fd, "handle_cast(_Req, State) ->\n"), emit(Fd, " {reply, ~p, State}.\n",[getCastErr()]); exit -> emit(Fd, ".\n"), @@ -353,12 +356,13 @@ emit_skel_footer(G, N, X) -> Fd = ic_genobj:stubfiled(G), nl(Fd), nl(Fd), ic_codegen:mcomment_light(Fd, ["Standard gen_server handles"]), - emit(Fd, "handle_info(X, State) ->\n"), case use_impl_handle_info(G, N, X) of true -> + emit(Fd, "handle_info(X, State) ->\n"), emit(Fd, " ~p:handle_info(X, State).\n\n", [list_to_atom(ic_genobj:impl(G))]); false -> + emit(Fd, "handle_info(_X, State) ->\n"), emit(Fd, " {reply, ~p, State}.\n\n",[getInfoErr()]) end end, @@ -402,9 +406,8 @@ get_if_gen(G, N, X) -> [io_lib:format("Standard Operation: ~p", [Name])]), - emit(Fd, "handle_call({~s, ~p, []}, From, State) ->~n", + emit(Fd, "handle_call({_~s, ~p, []}, _From, State) ->~n", [mk_name(G, "Ref"), Name]), - emit(Fd, " {reply, ~p, State};~n", [IFC_TKS]), nl(Fd), ok; @@ -479,8 +482,8 @@ gen_head_special(G, N, X) when is_record(X, interface) -> nl(Fd), ic_codegen:comment(Fd, "gen server export stuff"), emit(Fd, "-behaviour(gen_server).\n"), - ic_codegen:export(Fd, [{init, 1}, {terminate, 2}, {handle_call, 3}, - {handle_cast, 2}, {handle_info, 2}]), + ic_codegen:export(Fd, [{init, 1}, {terminate, 2}, {code_change, 3}, + {handle_call, 3}, {handle_cast, 2}, {handle_info, 2}]), nl(Fd), nl(Fd), ic_codegen:mcomment(Fd, ["Object interface functions."]), nl(Fd), nl(Fd), nl(Fd) diff --git a/lib/ic/test/c_client_erl_server_SUITE_data/Makefile.src b/lib/ic/test/c_client_erl_server_SUITE_data/Makefile.src index d5277eb256..53543a5bf0 100644 --- a/lib/ic/test/c_client_erl_server_SUITE_data/Makefile.src +++ b/lib/ic/test/c_client_erl_server_SUITE_data/Makefile.src @@ -122,24 +122,33 @@ EBINS = $(ERL_FILES:.erl=.@EMULATOR@) all: $(PGMS) $(EBINS) +$(GEN_ERL_FILES) $(GEN_HRL_FILES): c_erl_test.built_erl +$(GEN_C_FILES) $(GEN_H_FILES): c_erl_test.built_c +$(OBJS): $(GEN_C_FILES) $(GEN_H_FILES) +$(EBINS): $(GEN_ERL_FILES) $(GEN_HRL_FILES) + clean: -rm -f $(OBJS) $(GEN_C_FILES) $(GEN_H_FILES) $(PGMS) \ - $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) + $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) \ + c_erl_test.built_erl c_erl_test.built_c -del /F /Q $(OBJS) $(GEN_C_FILES) $(GEN_H_FILES) $(PGMS) \ - $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) + $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) \ + c_erl_test.built_erl c_erl_test.built_c $(PGMS): $(OBJS) $(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) -$(GEN_C_FILES) $(GEN_H_FILES): c_erl_test.idl +c_erl_test.built_c: c_erl_test.idl $(ERLC) -I $(IC_INCLUDE_PATH) "+{be,c_client}" c_erl_test.idl + echo done > c_erl_test.built_c -$(GEN_ERL_FILES) $(GEN_HRL_FILES): c_erl_test.idl +c_erl_test.built_erl: c_erl_test.idl $(ERLC) -I $(IC_INCLUDE_PATH) "+{be,erl_genserv}" c_erl_test.idl + echo done > c_erl_test.built_erl -.c@obj@: +.c@obj@: $(CC) -c -o $*@obj@ $(CFLAGS) $< -.erl.@EMULATOR@: +.erl.@EMULATOR@: $(ERLC) -I $(IC_INCLUDE_PATH) $< diff --git a/lib/ic/test/c_client_erl_server_proto_SUITE_data/Makefile.src b/lib/ic/test/c_client_erl_server_proto_SUITE_data/Makefile.src index 8bc1a907a7..7d32ee4e87 100644 --- a/lib/ic/test/c_client_erl_server_proto_SUITE_data/Makefile.src +++ b/lib/ic/test/c_client_erl_server_proto_SUITE_data/Makefile.src @@ -122,25 +122,34 @@ EBINS = $(ERL_FILES:.erl=.@EMULATOR@) all: $(PGMS) $(EBINS) +$(GEN_ERL_FILES) $(GEN_HRL_FILES): c_erl_test.built_erl +$(GEN_C_FILES) $(GEN_H_FILES): c_erl_test.built_c +$(OBJS): $(GEN_C_FILES) $(GEN_H_FILES) +$(EBINS): $(GEN_ERL_FILES) $(GEN_HRL_FILES) + clean: -rm -f $(OBJS) $(GEN_C_FILES) $(GEN_H_FILES) $(PGMS) \ - $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) + $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) \ + c_erl_test.built_erl c_erl_test.built_c -del /F /Q $(OBJS) $(GEN_C_FILES) $(GEN_H_FILES) $(PGMS) \ - $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) + $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) \ + c_erl_test.built_erl c_erl_test.built_c $(PGMS): $(OBJS) $(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) -$(GEN_C_FILES) $(GEN_H_FILES): c_erl_test.idl +c_erl_test.built_c: c_erl_test.idl $(ERLC) -I $(IC_INCLUDE_PATH) "+{be,c_client}" \ "+{user_protocol,my}" c_erl_test.idl + echo done > c_erl_test.built_c -$(GEN_ERL_FILES) $(GEN_HRL_FILES): c_erl_test.idl +c_erl_test.built_erl: c_erl_test.idl $(ERLC) -I $(IC_INCLUDE_PATH) "+{be,erl_genserv}" c_erl_test.idl + echo done > c_erl_test.built_erl -.c@obj@: +.c@obj@: $(CC) -c -o $*@obj@ $(CFLAGS) $< -.erl.@EMULATOR@: +.erl.@EMULATOR@: $(ERLC) -I $(IC_INCLUDE_PATH) $< diff --git a/lib/ic/test/c_client_erl_server_proto_tmo_SUITE_data/Makefile.src b/lib/ic/test/c_client_erl_server_proto_tmo_SUITE_data/Makefile.src index 2585341791..19c67734ca 100644 --- a/lib/ic/test/c_client_erl_server_proto_tmo_SUITE_data/Makefile.src +++ b/lib/ic/test/c_client_erl_server_proto_tmo_SUITE_data/Makefile.src @@ -122,25 +122,33 @@ EBINS = $(ERL_FILES:.erl=.@EMULATOR@) all: $(PGMS) $(EBINS) +$(GEN_ERL_FILES) $(GEN_HRL_FILES): c_erl_test.built_erl +$(GEN_C_FILES) $(GEN_H_FILES): c_erl_test.built_c +$(OBJS): $(GEN_C_FILES) $(GEN_H_FILES) +$(EBINS): $(GEN_ERL_FILES) $(GEN_HRL_FILES) + clean: -rm -f $(OBJS) $(GEN_C_FILES) $(GEN_H_FILES) $(PGMS) \ - $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) + $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) \ + c_erl_test.built_erl c_erl_test.built_c -del /F /Q $(OBJS) $(GEN_C_FILES) $(GEN_H_FILES) $(PGMS) \ - $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) + $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) \ + c_erl_test.built_erl c_erl_test.built_c $(PGMS): $(OBJS) $(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) -$(GEN_C_FILES) $(GEN_H_FILES): c_erl_test.idl - $(ERLC) -I $(IC_INCLUDE_PATH) "+{be,c_client}" \ - "+{user_protocol,my}" "+{c_timeout,{5000,5000}}" c_erl_test.idl +c_erl_test.built_c: c_erl_test.idl + $(ERLC) -I $(IC_INCLUDE_PATH) "+{be,c_client}" c_erl_test.idl + echo done > c_erl_test.built_c -$(GEN_ERL_FILES) $(GEN_HRL_FILES): c_erl_test.idl +c_erl_test.built_erl: c_erl_test.idl $(ERLC) -I $(IC_INCLUDE_PATH) "+{be,erl_genserv}" c_erl_test.idl + echo done > c_erl_test.built_erl -.c@obj@: +.c@obj@: $(CC) -c -o $*@obj@ $(CFLAGS) $< -.erl.@EMULATOR@: +.erl.@EMULATOR@: $(ERLC) -I $(IC_INCLUDE_PATH) $< diff --git a/lib/ic/test/erl_client_c_server_SUITE_data/Makefile.src b/lib/ic/test/erl_client_c_server_SUITE_data/Makefile.src index 50cf9d4445..ac53d0a657 100644 --- a/lib/ic/test/erl_client_c_server_SUITE_data/Makefile.src +++ b/lib/ic/test/erl_client_c_server_SUITE_data/Makefile.src @@ -122,25 +122,34 @@ EBINS = $(ERL_FILES:.erl=.@EMULATOR@) all: $(PGMS) $(EBINS) +$(GEN_ERL_FILES) $(GEN_HRL_FILES): c_erl_test.built_erl +$(GEN_C_FILES) $(GEN_H_FILES): c_erl_test.built_c +$(OBJS): $(GEN_C_FILES) $(GEN_H_FILES) +$(EBINS): $(GEN_ERL_FILES) $(GEN_HRL_FILES) + clean: -rm -f $(OBJS) $(GEN_C_FILES) $(GEN_H_FILES) $(PGMS) \ - $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) + $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) \ + c_erl_test.built_erl c_erl_test.built_c -del /F /Q $(OBJS) $(GEN_C_FILES) $(GEN_H_FILES) $(PGMS) \ - $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) + $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) \ + c_erl_test.built_erl c_erl_test.built_c $(PGMS): $(OBJS) $(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) -$(GEN_C_FILES) $(GEN_H_FILES): erl_c_test.idl +c_erl_test.built_c: erl_c_test.idl $(ERLC) -I $(IC_INCLUDE_PATH) "+{be,c_server}" \ "+{scoped_op_calls,true}" erl_c_test.idl + echo done > c_erl_test.built_c # If we have scoped operation calls for C, we must have that for # Erlang as well, if we use the m_i.erl file for calling the server. -$(GEN_ERL_FILES) $(GEN_HRL_FILES): erl_c_test.idl +c_erl_test.built_erl: erl_c_test.idl $(ERLC) -I $(IC_INCLUDE_PATH) "+{be,erl_genserv}" \ "+{scoped_op_calls,true}" "+{timeout,true}" erl_c_test.idl + echo done > c_erl_test.built_erl .c@obj@: $(CC) -c -o $*@obj@ $(CFLAGS) $< diff --git a/lib/ic/test/erl_client_c_server_proto_SUITE_data/Makefile.src b/lib/ic/test/erl_client_c_server_proto_SUITE_data/Makefile.src index 6c7701ca50..d23de04944 100644 --- a/lib/ic/test/erl_client_c_server_proto_SUITE_data/Makefile.src +++ b/lib/ic/test/erl_client_c_server_proto_SUITE_data/Makefile.src @@ -122,25 +122,34 @@ EBINS = $(ERL_FILES:.erl=.@EMULATOR@) all: $(PGMS) $(EBINS) +$(GEN_ERL_FILES) $(GEN_HRL_FILES): c_erl_test.built_erl +$(GEN_C_FILES) $(GEN_H_FILES): c_erl_test.built_c +$(OBJS): $(GEN_C_FILES) $(GEN_H_FILES) +$(EBINS): $(GEN_ERL_FILES) $(GEN_HRL_FILES) + clean: -rm -f $(OBJS) $(GEN_C_FILES) $(GEN_H_FILES) $(PGMS) \ - $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) + $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) \ + c_erl_test.built_erl c_erl_test.built_c -del /F /Q $(OBJS) $(GEN_C_FILES) $(GEN_H_FILES) $(PGMS) \ - $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) + $(EBINS) $(GEN_ERL_FILES) $(GEN_HRL_FILES) \ + c_erl_test.built_erl c_erl_test.built_c $(PGMS): $(OBJS) $(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) -$(GEN_C_FILES) $(GEN_H_FILES): erl_c_test.idl +c_erl_test.built_c: erl_c_test.idl $(ERLC) -I $(IC_INCLUDE_PATH) "+{be,c_server}" \ "+{scoped_op_calls,true}" erl_c_test.idl + echo done > c_erl_test.built_c # If we have scoped operation calls for C, we must have that for # Erlang as well, if we use the m_i.erl file for calling the server. -$(GEN_ERL_FILES) $(GEN_HRL_FILES): erl_c_test.idl +c_erl_test.built_erl: erl_c_test.idl $(ERLC) -I $(IC_INCLUDE_PATH) "+{be,erl_genserv}" \ "+{scoped_op_calls,true}" "+{timeout,true}" erl_c_test.idl + echo done > c_erl_test.built_erl .c@obj@: $(CC) -c -o $*@obj@ $(CFLAGS) $< diff --git a/lib/ic/test/java_client_erl_server_SUITE_data/Makefile.src b/lib/ic/test/java_client_erl_server_SUITE_data/Makefile.src index 5e190fe1a5..0d84a62270 100644 --- a/lib/ic/test/java_client_erl_server_SUITE_data/Makefile.src +++ b/lib/ic/test/java_client_erl_server_SUITE_data/Makefile.src @@ -69,20 +69,29 @@ EBINS = $(ERL_FILES:.erl=.@EMULATOR@) all: $(CLASS_FILES) $(EBINS) +$(GEN_ERL_FILES) $(GEN_HRL_FILES): java_erl_test.built_erl +$(GEN_JAVA_FILES): java_erl_test.built_java +$(CLASS_FILES): $(GEN_JAVA_FILES) +$(EBINS): $(GEN_ERL_FILES) $(GEN_HRL_FILES) + clean: -rm -f $(GEN_JAVA_FILES) $(CLASS_FILES) \ - $(GEN_ERL_FILES) $(GEN_HRL_FILES) $(EBINS) + $(GEN_ERL_FILES) $(GEN_HRL_FILES) $(EBINS) \ + java_erl_test.built_erl java_erl_test.built_java -del /F /Q $(GEN_JAVA_FILES) $(CLASS_FILES) \ - $(GEN_ERL_FILES) $(GEN_HRL_FILES) $(EBINS) + $(GEN_ERL_FILES) $(GEN_HRL_FILES) $(EBINS) \ + java_erl_test.built_erl java_erl_test.built_java -$(GEN_JAVA_FILES) : java_erl_test.idl +java_erl_test.built_java: java_erl_test.idl $(ERLC) -I $(IC_INCLUDE_PATH) "+{be,java}" java_erl_test.idl + echo done > java_erl_test.built_java $(CLASS_FILES) : $(JAVA_FILES) $(JAVAC) -classpath $(CLASSPATH) $(JAVA_FILES) -$(GEN_ERL_FILES) $(GEN_HRL_FILES): java_erl_test.idl +java_erl_test.built_erl: java_erl_test.idl $(ERLC) -I $(IC_INCLUDE_PATH) "+{be,erl_genserv}" java_erl_test.idl + echo done > java_erl_test.built_erl .erl.@EMULATOR@: $(ERLC) -I $(IC_INCLUDE_PATH) $< diff --git a/lib/ic/vsn.mk b/lib/ic/vsn.mk index e21fc8fbb2..fc1475974e 100644 --- a/lib/ic/vsn.mk +++ b/lib/ic/vsn.mk @@ -1 +1 @@ -IC_VSN = 4.2.29 +IC_VSN = 4.2.30 |