diff options
author | Björn Gustavsson <[email protected]> | 2010-03-17 16:02:18 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2010-03-26 08:09:25 +0100 |
commit | e74235df989995f5bd2b66b7102857446ff10d11 (patch) | |
tree | 137f935bc340b8ade52f8b3cf5bdfd1a70930ebb /lib/compiler/test | |
parent | 57cb16f84fd21443d3ad9951473f1e0960c6a26e (diff) | |
download | otp-e74235df989995f5bd2b66b7102857446ff10d11.tar.gz otp-e74235df989995f5bd2b66b7102857446ff10d11.tar.bz2 otp-e74235df989995f5bd2b66b7102857446ff10d11.zip |
compiler tests: Test the 'inline' option better
Clone some test suites and compile them with the 'inline' option
to test inlining more thorughly.
Diffstat (limited to 'lib/compiler/test')
-rw-r--r-- | lib/compiler/test/Makefile | 26 | ||||
-rw-r--r-- | lib/compiler/test/test_lib.erl | 4 |
2 files changed, 27 insertions, 3 deletions
diff --git a/lib/compiler/test/Makefile b/lib/compiler/test/Makefile index 4d3b4c98f1..961b589035 100644 --- a/lib/compiler/test/Makefile +++ b/lib/compiler/test/Makefile @@ -53,6 +53,21 @@ NO_OPT= \ record \ trycatch +INLINE= \ + andor \ + apply \ + bs_bincomp \ + bs_bit_binaries \ + bs_construct \ + core_fold \ + float \ + fun \ + match \ + misc \ + num_bif \ + receive \ + record + CORE_MODULES = \ bs_shadowed_size_var \ nested_call_in_case @@ -62,6 +77,8 @@ NO_OPT_MODULES= $(NO_OPT:%=%_no_opt_SUITE) NO_OPT_ERL_FILES= $(NO_OPT_MODULES:%=%.erl) POST_OPT_MODULES= $(NO_OPT:%=%_post_opt_SUITE) POST_OPT_ERL_FILES= $(POST_OPT_MODULES:%=%.erl) +INLINE_MODULES= $(INLINE:%=%_inline_SUITE) +INLINE_ERL_FILES= $(INLINE_MODULES:%=%.erl) ERL_FILES= $(MODULES:%=%.erl) @@ -90,13 +107,15 @@ EBIN = . # Targets # ---------------------------------------------------- -make_emakefile: $(NO_OPT_ERL_FILES) $(POST_OPT_ERL_FILES) +make_emakefile: $(NO_OPT_ERL_FILES) $(POST_OPT_ERL_FILES) $(INLINE_ERL_FILES) $(ERL_TOP)/make/make_emakefile $(ERL_COMPILE_FLAGS) -o$(EBIN) $(MODULES) \ > $(EMAKEFILE) $(ERL_TOP)/make/make_emakefile +no_copt +no_postopt $(ERL_COMPILE_FLAGS) \ -o$(EBIN) $(NO_OPT_MODULES) >> $(EMAKEFILE) $(ERL_TOP)/make/make_emakefile +no_copt $(ERL_COMPILE_FLAGS) \ -o$(EBIN) $(POST_OPT_MODULES) >> $(EMAKEFILE) + $(ERL_TOP)/make/make_emakefile +inline $(ERL_COMPILE_FLAGS) \ + -o$(EBIN) $(INLINE_MODULES) >> $(EMAKEFILE) tests debug opt: make_emakefile erl $(ERL_MAKE_FLAGS) -make @@ -118,6 +137,9 @@ docs: %_post_opt_SUITE.erl: %_SUITE.erl sed -e 's;-module($(basename $<));-module($(basename $@));' $< > $@ +%_inline_SUITE.erl: %_SUITE.erl + sed -e 's;-module($(basename $<));-module($(basename $@));' $< > $@ + # ---------------------------------------------------- # Release Target # ---------------------------------------------------- @@ -130,7 +152,7 @@ release_tests_spec: make_emakefile $(INSTALL_DATA) compiler.dynspec compiler.cover \ $(EMAKEFILE) $(ERL_FILES) $(CORE_FILES) $(RELSYSDIR) $(INSTALL_DATA) $(NO_OPT_ERL_FILES) $(POST_OPT_ERL_FILES) \ - $(RELSYSDIR) + $(INLINE_ERL_FILES) $(RELSYSDIR) chmod -f -R u+w $(RELSYSDIR) @tar cf - *_SUITE_data | (cd $(RELSYSDIR); tar xf -) diff --git a/lib/compiler/test/test_lib.erl b/lib/compiler/test/test_lib.erl index 231b86b0b6..844bbfc4b9 100644 --- a/lib/compiler/test/test_lib.erl +++ b/lib/compiler/test/test_lib.erl @@ -58,6 +58,7 @@ opt_opts(Mod) -> (no_gc_bifs) -> true; (no_stack_trimming) -> true; (debug_info) -> true; + (inline) -> true; (_) -> false end, Opts). @@ -68,5 +69,6 @@ opt_opts(Mod) -> get_data_dir(Config) -> Data0 = ?config(data_dir, Config), {ok,Data1,_} = regexp:sub(Data0, "_no_opt_SUITE", "_SUITE"), - {ok,Data,_} = regexp:sub(Data1, "_post_opt_SUITE", "_SUITE"), + {ok,Data2,_} = regexp:sub(Data1, "_post_opt_SUITE", "_SUITE"), + {ok,Data,_} = regexp:sub(Data2, "_inline_SUITE", "_SUITE"), Data. |