2014-11-05 David Malcolm * jit.dg/test-error-get-type-bad-enum.c: New test case. * jit.dg/test-error-new-binary-op-bad-op.c: Likewise. * jit.dg/test-error-new-function-bad-kind.c: Likewise. * jit.dg/test-error-new-unary-op-bad-op.c: Likewise. 2014-10-22 David Malcolm * jit.dg/jit.exp (DEFAULT_CFLAGS): Add -fgnu89-inline since dejagnu.h assumes this. 2014-10-17 David Malcolm * jit.dg/jit.exp (get_path_of_driver): New procedure. (jit-dg-test): Don't unsetenv GCC_EXEC_PREFIX, since jit-playback.c now adds -fno-use-linker-plugin to the driver cmdline sidestepping the builddir/installdir libtto_plugin naming issue. When setting up PATH so that the JIT library can invoke the driver by installation name, don't use the installation "bindir". Instead, simply use the location of xgcc as detected get_path_of_driver. In addition, set up LIBRARY_PATH so that the linker run from inside the JIT library can locate libgcc etc when building the .so, pointing it at the same directory. 2014-10-13 David Malcolm * jit.dg/jit.exp (fixed_host_execute): New function, taken from "host_execute" in DejaGnu's dejagnu.exp, with one line removed. (jit-dg-test): Use fixed_host_execute, rathern than host_execute. 2014-10-13 David Malcolm * jit.dg/harness.h [MAKE_DEJAGNU_H_THREADSAFE] (note): Redefine "note" from dejagnu.h to new function dejagnu_note so that we can make "note" be threadsafe. (set_options): Don't enable GCC_JIT_BOOL_OPTION_DUMP_SUMMARY, since it can generate large amounts of output that could overwhelm expect's buffer. * jit.dg/test-dot-product.c (verify_code): Use "note" rather than "printf", to give DejaGnu more chances to parse this log data, rather than overflowing its buffer. * jit.dg/test-factorial.c (verify_code): Likewise. * jit.dg/test-fibonacci.c (verify_code): Likewise. * jit.dg/test-fuzzer.c (main): Likewise. * jit.dg/test-nested-loops.c (verify_code): Likewise. * jit.dg/test-sum-of-squares.c (verify_code): Likewise. * jit.dg/test-threads.c (note): New function, adding thread-safety on top of "dejagnu_note", the latter being the implementation found in dejagnu.h. (run_threaded_test): Use "note" rather than "printf". 2014-10-07 David Malcolm * jit.dg/jit.exp (jit-dg-test): Prepend the installed bindir to the PATH before invoking built binaries using the library, so that the library can find the driver. Restore the PATH immediately afterwards. 2014-09-24 David Malcolm * ChangeLog.jit: Add copyright footer. 2014-09-23 David Malcolm * jit.dg/test-expressions.c (make_tests_of_binary_ops): Add shift operators. (verify_binary_ops): Likewise. 2014-09-18 David Malcolm * jit.dg/jit.exp: When constructing "tests", add the example files from the documentation, to ensure that they compile. 2014-09-10 David Malcolm * jit.dg/jit.exp: Load target-supports.exp. 2014-09-09 David Malcolm * jit.dg/test-nested-loops.c: New test case. * jit.dg/all-non-failing-tests.h: Add test-nested-loops.c. * jit.dg/test-combination.c (create_code): Likewise. (verify_code): Likewise. * jit.dg/test-threads.c (const): Add test-nested-loops.c. 2014-08-11 David Malcolm * jit.dg/test-threads.c: New test case, running all of the individual test cases in separate threads. * jit.dg/test-combination.c: Move inclusion of the various individual testcases into... * jit.dg/all-non-failing-tests.h: ...this new file, and rename TEST_COMBINATION to COMBINED_TEST. * jit.dg/harness.h: Respond to new macro MAKE_DEJAGNU_H_THREADSAFE by hacking up to be threadsafe. Rename TEST_COMBINATION to COMBINED_TEST. * jit.dg/jit.exp (proc jit-dg-test): Add "-lpthread" when building test-threads.exe. 2014-08-08 David Malcolm * jit.dg/test-accessing-union.c: New test case. * jit.dg/test-combination.c: Add test-accessing-union.c. 2014-08-08 David Malcolm * jit.dg/test-combination.c (create_code): Add missing calls to create_code_quadratic and create_code_reading_struct. (verify_code): Add missing calls to verify_code_quadratic and verify_code_reading_struct. 2014-08-08 David Malcolm * jit.dg/test-calling-function-ptr.c: New test case. * jit.dg/test-combination.c: Add test-calling-function-ptr.c. * jit.dg/test-error-call-through-ptr-with-mismatching-args.c: New test case. * jit.dg/test-error-call-through-ptr-with-non-function.c: New test case. * jit.dg/test-error-call-through-ptr-with-non-pointer.c: New test case. * jit.dg/test-error-call-through-ptr-with-not-enough-args.c: New test case. 2014-07-25 David Malcolm * jit.dg/test-error-index-not-a-numeric-type.c: New test case. * jit.dg/test-error-value-not-a-numeric-type.c: New test case. 2014-03-19 David Malcolm * jit.dg/test-array-as-pointer.c: New test case, verifying that there's a way to treat arrays as pointers. * jit.dg/test-combination.c: Add test-array-as-pointer.c... (create_code): ...here and... (verify_code): ...here. * jit.dg/test-error-array-as-pointer.c: New test case, verifying that bogus casts from array to pointer are caught by the type system, rather than leading to ICEs seen in: https://github.com/davidmalcolm/pygccjit/pull/3#issuecomment-37883129 2014-03-18 David Malcolm * jit.dg/test-combination.c: Add test-arrays.c and test-volatile.c. Add comment about test-error-*.c. Remove comment about test-failure.c, which was removed in 96b218c9a1d5f39fb649e02c0e77586b180e8516. (create_code): Call into test-arrays.c and test-volatile.c. (verify_code): Likewise. 2014-03-14 David Malcolm * jit.dg/test-expressions.c (called_pointer_checking_function): New. (make_tests_of_casts): Add test of casting from array to pointer. (verify_casts): Likewise. 2014-03-13 David Malcolm * jit.dg/test-error-bad-cast.c: New test case. 2014-03-11 David Malcolm * jit.dg/harness.h (set_options): Increase optimization level from 0 to 3. 2014-03-07 David Malcolm * jit.dg/test-functions.c (create_test_of_hidden_function): New, adding test coverage for GCC_JIT_FUNCTION_ALWAYS_INLINE and GCC_JIT_FUNCTION_INTERNAL. (create_tests_of_hidden_functions): Likewise. (verify_hidden_functions): Likewise. (create_code): Add call to create_tests_of_hidden_functions. (verify_code): Add call to verify_hidden_functions. * jit.dg/test-quadratic.c (make_calc_discriminant): Convert from GCC_JIT_FUNCTION_EXPORTED to GCC_JIT_FUNCTION_INTERNAL. 2014-03-07 David Malcolm * jit.dg/test-functions.c: Reorder function definitions, grouping them by subject-matter rather than by create-vs-verify phase. 2014-03-06 David Malcolm * jit.dg/test-nested-contexts.c (main): Dump the contexts to files, setting up source locations, and adding test coverage for gcc_jit_context_dump_to_file. 2014-03-04 David Malcolm * jit.dg/test-error-mismatching-types-in-call.c: New test case, to ensure that a (struct foo *) vs (struct foo) type error is gracefully handled. 2014-03-04 David Malcolm * jit.dg/test-volatile.c: New testcase, to exercise gcc_jit_type_get_volatile, and show a way to work with pre-existing global variables. 2014-02-28 David Malcolm * jit.dg/test-expressions.c (make_test_of_cast): New, to test new entrypoint gcc_jit_context_new_cast. (make_tests_of_casts): New. (create_code): Add call to make_tests_of_casts. (verify_code): Add call to verify_casts. 2014-02-27 David Malcolm * jit.dg/test-accessing-struct.c (create_code): Port to block-based API. * jit.dg/test-calling-external-function.c (create_code): Likewise. * jit.dg/test-error-accessing-field-in-other-struct.c (create_code): Likewise. * jit.dg/test-error-call-with-mismatching-args.c (create_code): Likewise. * jit.dg/test-error-call-with-not-enough-args.c (create_code): Likewise. * jit.dg/test-error-call-with-too-many-args.c (create_code): Likewise. * jit.dg/test-error-dereference-field-of-non-pointer.c (create_code): Likewise. * jit.dg/test-error-dereference-read: Likewise. * jit.dg/test-error-mismatching-types-in-assignment.c: Likewise. * jit.dg/test-error-return-within-void-function.c: Likewise. * jit.dg/test-expressions.c: Likewise. * jit.dg/test-factorial.c: Likewise. * jit.dg/test-functions.c: Likewise. * jit.dg/test-fuzzer.c: Likewise. * jit.dg/test-hello-world.c (create_code): Likewise. * jit.dg/test-nested-contexts.c: Likewise. * jit.dg/test-operator-overloading.cc: Likewise. * jit.dg/test-quadratic.c: Likewise. * jit.dg/test-quadratic.cc: Likewise. * jit.dg/test-reading-struct.c (create_code): Likewise. * jit.dg/test-string-literal.c (create_code): Likewise. * jit.dg/test-sum-of-squares.c (create_code): Likewise. * jit.dg/test-types.c (create_code): Likewise. * jit.dg/test-using-global.c (create_code): Likewise. * jit.dg/test-arrays.c (create_code): Likewise, eliminating use of loop API. * jit.dg/test-dot-product.c (create_code): Likewise. * jit.dg/test-linked-list.c (create_code): Likewise. * jit.dg/test-error-adding-to-terminated-block.c: New testcase. * jit.dg/test-error-block-in-wrong-function.c: Likewise. * jit.dg/test-error-missing-return.c: Likewise. * jit.dg/test-error-unreachable-block.c: Likewise. * jit.dg/test-error-unterminated-block.c: Likewise. * jit.dg/test-error-label-already-placed.c: Delete obsolete testcase. * jit.dg/test-error-unplaced-label.c: Likewise. 2014-02-25 David Malcolm * jit.dg/test-functions.c (create_use_of_void_return): New, to add test coverage for gcc_jit_function_add_void_return. (verify_void_return): Likewise. (create_code): Add call to create_use_of_void_return. (verify_code): Add call to verify_void_return. 2014-02-18 David Malcolm * jit.dg/test-accessing-struct.c (create_code): Update for change to return type of gcc_jit_context_new_struct_type. * jit.dg/test-arrays.c (create_code): Likewise. * jit.dg/test-error-accessing-field-in-other-struct.c (create_code): Likewise. * jit.dg/test-error-dereference-field-of-non-pointer.c (create_code): Likewise. * jit.dg/test-fuzzer.c (make_random_type): Likewise. * jit.dg/test-nested-contexts.c (make_types): Likewise. * jit.dg/test-quadratic.c (make_types): Likewise. * jit.dg/test-reading-struct.c (create_code): Likewise. * jit.dg/test-types.c (create_code): Likewise. * jit.dg/test-linked-list.c: New selftest, exercising gcc_jit_context_new_opaque_struct, gcc_jit_type_get_pointer, and gcc_jit_context_null. * jit.dg/test-combination.c: Add test-linked-list.c 2014-02-14 David Malcolm * jit.dg/test-operator-overloading.cc (make_test_quadratic): Use the new "zero" and "one" methods of gccjit::type. * jit.dg/test-quadratic.cc (make_test_quadratic): Use the new "add_call" method of gccjit::function. 2014-02-13 David Malcolm * jit.dg/harness.h (CHECK_DOUBLE_VALUE): New macro. (CHECK): New macro. * jit.dg/test-functions.c: New testcase, exercising gcc_jit_context_get_builtin_function. * jit.dg/test-combination.c: Add test-functions.c to the combined test. 2014-02-11 David Malcolm * jit.dg/test-types.c: Add test coverage for getting type GCC_JIT_TYPE_BOOL. * jit.dg/test-expressions.c (make_test_of_comparison): Convert return type from int to bool. (verify_comparisons): Likewise. 2014-02-11 David Malcolm * jit.dg/test-error-unplaced-label.c (verify_code): Update expected error message to reflect commit 6cd4f82c5237cc328aea229cdaaa428ff09d6e98. 2014-02-10 David Malcolm * jit.dg/test-types.c (struct zoo): Add field m_sized_int_type, to be populated by... (create_code): Use gcc_jit_context_get_int_type. (verify_code): Verify that type from gcc_jit_context_get_int_type works properly. * jit.dg/test-operator-overloading.cc (make_types): Use the template form of get_int_type. * jit.dg/test-quadratic.cc (make_types): Likewise. 2014-02-10 David Malcolm * jit.dg/test-operator-overloading.cc: New testcase, a rewrite of test-quadratic.cc to use operator overloading. 2014-02-10 David Malcolm * jit.dg/test-quadratic.cc (make_calc_discriminant): Make use of new methods of the C++ wrapper API to shorten the example code. (make_test_quadratic): Likewise. 2014-02-10 David Malcolm * jit.dg/test-quadratic.cc (make_test_quadratic): Update for change to gccjit::context::new_call to pass args by reference rather than by value. 2014-02-03 David Malcolm * jit.dg/harness.h (check_string_value): Add a forward declaration, so that we can use CHECK_STRING_VALUE from within tests used by test-combination.c. * jit.dg/test-expressions.c (make_test_of_unary_op): Return a debug stringification of the operation so that it be sanity-checked. (make_test_of_binary_op): Likewise. (make_test_of_comparison): Likewise. (make_tests_of_unary_ops): Verify that said stringifications are indeed sane. (make_tests_of_binary_ops): Likewise. (make_tests_of_comparisons): Likewise. * jit.dg/test-quadratic.cc (make_types): Verify that the get_debug_string method works. (make_test_quadratic): Likewise, also, verify that the << operator works. 2014-01-31 David Malcolm * jit.dg/test-quadratic.cc: New file - a translation of test-quadratic.c to the libgccjit++.h C++ API. 2014-01-30 David Malcolm * jit.dg/test-error-label-already-placed.c: New test case. * jit.dg/test-error-unplaced-label.c: New test case. 2014-01-30 David Malcolm * jit.dg/test-error-call-with-mismatching-args.c: New test case. 2014-01-30 David Malcolm * jit.dg/test-error-accessing-field-in-other-struct.c: New test case. * jit.dg/test-error-dereference-field-of-non-pointer.c: Likewise. * jit.dg/test-error-dereference-read-of-non-pointer.c: Likewise. * jit.dg/test-error-mismatching-types-in-assignment.c: Likewise. * jit.dg/test-error-return-within-void-function.c: Likewise. 2014-01-29 David Malcolm * jit.dg/test-accessing-struct.c (create_code): Update for API change for accessing fields in terms of gcc_jit_field pointers rather than by name. * jit.dg/test-nested-contexts.c (make_calc_discriminant): Likewise. (make_test_quadratic): Likewise. * jit.dg/test-quadratic.c (make_calc_discriminant): Likewise. (make_test_quadratic): Likewise. * jit.dg/test-reading-struct.c (create_code): Likewise. * jit.dg/test-types.c: Likewise. 2014-01-28 David Malcolm * jit.dg/harness.h (test_jit): Add the possibility of turning off this function, if the newly-coined "TEST_ESCHEWS_TEST_JIT" is defined, for use by... * jit.dg/test-nested-contexts.c: New test case, adapting test-quadratic.c, but splitting it into a 3-deep arrangement of nested contexts, to test the implementation of child contexts. 2014-01-28 David Malcolm * jit.dg/harness.h (test_jit): Move the various calls to set up options on the context into... (set_options): ...this new function. 2014-01-27 David Malcolm * jit.dg/test-error-call-with-not-enough-args.c: New test case. * jit.dg/test-error-call-with-too-many-args.c: New test case. * jit.dg/test-null-passed-to-api.c: Rename to... * jit.dg/test-error-null-passed-to-api.c: ...this, so that error-handling test cases are consistently named. 2014-01-24 David Malcolm * jit.dg/test-empty.c: New test case. 2014-01-24 David Malcolm * jit.dg/harness.h (code_making_callback): Rename to... (create_code): ...this, and eliminate the returned error-handling value: test cases will simply call into the gcc_jit_ API, without needing to be run from a callback. (test_jit): Don't register a callback, simply call the "create_code" function for the testcase before compiling the context. * jit.dg/test-accessing-struct.c: Rename "code_making_callback" to "create_code" and eliminate the return code. * jit.dg/test-calling-external-function.c: Likewise. * jit.dg/test-combination.c: Likewise. * jit.dg/test-dot-product.c: Likewise. * jit.dg/test-expressions.c: Likewise. * jit.dg/test-factorial.c: Likewise. * jit.dg/test-fibonacci.c: Likewise. * jit.dg/test-fuzzer.c: Likewise. * jit.dg/test-hello-world.c: Likewise. * jit.dg/test-null-passed-to-api.c: Likewise. * jit.dg/test-quadratic.c: Likewise. * jit.dg/test-reading-struct.c: Likewise. * jit.dg/test-string-literal.c: Likewise. * jit.dg/test-sum-of-squares.c: Likewise. * jit.dg/test-types.c: Likewise. * jit.dg/test-using-global.c: Likewise. * jit.dg/test-failure.c: Remove this test case, since it was specifically for testing the now-defunct callback-based API. 2014-01-23 David Malcolm * jit.dg/test-quadratic.c: New test case, written to achieve test coverage of gcc_jit_rvalue_access_field, but also exercising division of doubles. * jit.dg/test-combination.c: Add test-quadratic.c * jit.dg/test-expressions.c: Add TODOs. 2014-01-23 David Malcolm * jit.dg/test-reading-struct.c: New test, to provide test coverage of gcc_jit_type_get_const and gcc_jit_lvalue_access_field, in the process uncovering bugs in how locals were handled. * jit.dg/test-combination.c: Add usage of test-reading-struct.c. 2014-01-21 David Malcolm * jit.dg/test-hello-world.c (code_making_callback): Add usage of gcc_jit_function_add_comment. 2013-10-24 David Malcolm * jit.dg/harness.h (main): Wrap with #ifndef TEST_PROVIDES_MAIN * jit.dg/test-fuzzer.c: New. 2013-10-22 David Malcolm * jit.dg/harness.h (verify_code): Add context param so that test cases of failure can query errors on it. (CHECK_STRING_VALUE): New. (check_string_value): New. (test_jit): Add user_data param and pass it to the code factory. Pass context to verify_code, calling it before releasing said context. (main): Add NULL user_data to test_jit call. * jit.dg/test-accessing-struct.c (verify_code): Add context param. * jit.dg/test-calling-external-function.c (verify_code): Likewise. * jit.dg/test-combination.c (verify_code): Likewise. * jit.dg/test-dot-product.c (verify_code): Likewise. * jit.dg/test-expressions.c (verify_code): Likewise. * jit.dg/test-factorial.c (verify_code): Likewise. * jit.dg/test-failure.c (verify_code): Likewise. * jit.dg/test-fibonacci.c (verify_code): Likewise. * jit.dg/test-hello-world.c (verify_code): Likewise. * jit.dg/test-string-literal.c (verify_code): Likewise. * jit.dg/test-sum-of-squares.c (verify_code): Likewise. * jit.dg/test-types.c (verify_code): Likewise. * jit.dg/test-using-global.c (verify_code): Likewise. * jit.dg/test-null-passed-to-api.c (verify_code): Likewise; use context to verify that the library provides a sane error message to the client code. 2013-10-21 David Malcolm * jit.dg/test-expressions.c (test_global): New. (make_test_of_get_address): New. (verify_get_address): New. (code_making_callback): Add call to make_test_of_get_address. (verify_code): Add call to verify_get_address. 2013-10-18 David Malcolm * jit.dg/test-expressions.c: New. * jit.dg/test-combination.c: Add usage of test-expressions.c * jit.dg/test-accessing-struct.c (code_making_callback): Update for changes to field-access API. * jit.dg/test-types.c (code_making_callback): Likewise. 2013-10-18 David Malcolm * jit.dg/test-null-passed-to-api.c: New. 2013-10-17 David Malcolm * jit.dg/test-accessing-struct.c (code_making_callback): Update for changes to type API. * jit.dg/test-calling-external-function.c (code_making_callback): Likewise. * jit.dg/test-dot-product.c (code_making_callback): Likewise. * jit.dg/test-factorial.c (code_making_callback): Likewise. * jit.dg/test-fibonacci.c (code_making_callback): Likewise. * jit.dg/test-hello-world.c (code_making_callback): Likewise. * jit.dg/test-string-literal.c (code_making_callback): Likewise. * jit.dg/test-sum-of-squares.c (code_making_callback): Likewise. * jit.dg/test-using-globals.c (code_making_callback): Likewise. * jit.dg/test-types.c: New. * jit.dg/test-combination.c (code_making_callback): Use code from test-types.c. (verify_code): ...and verify it. 2013-10-16 David Malcolm * jit.dg/test-dot-product.c (code_making_callback): Update for API changes to locals. * jit.dg/test-sum-of-squares.c (code_making_callback): Likewise. 2013-10-14 David Malcolm * jit.dg/jit.exp (jit-dg-test): Detect compilation errors and make them be test failures. 2013-10-14 David Malcolm * jit.dg/test-factorial.c (code_making_callback): Update for change to gcc_jit_function_place_forward_label. * jit.dg/test-fibonacci.c (code_making_callback): Add line numbering to comment, and set up source locations throughout) allowing stepping throught the comment in the debugger. * jit.dg/test-sum-of-squares.c (code_making_callback): Update for change to gcc_jit_function_place_forward_label. 2013-10-10 David Malcolm * jit.dg/harness.h: Set GCC_JIT_BOOL_OPTION_DUMP_SUMMARY when running selftests. 2013-10-08 David Malcolm * jit.dg/harness.h: Wrap parts of harness within a #ifndef TEST_COMBINATION so that it can be included multiple times. * jit.dg/test-accessing-struct.c (code_making_callback): Rename the generated function from test_fn to test_access to avoid a naming collision in the combined test. (verify_code): Likewise. * jit.dg/test-calling-external-function.c (code_making_callback): Rename the generated function from test_fn to test_caller. (verify_code): Likewise. * jit.dg/test-combination.c: New. * jit.dg/test-string-literal.c (code_making_callback): Rename the generated function from test_fn to test_string_literal. (verify_code): Likewise. * jit.dg/test-using-global.c (code_making_callback): Rename the generated function from test_fn to test_using_global. (verify_code): Likewise. 2013-10-07 David Malcolm * jit.dg/harness.h (test_jit): Set GCC_JIT_BOOL_OPTION_SELFCHECK_GC when running selftests. 2013-10-04 David Malcolm * jit.dg/test-using-global.c: New. 2013-10-03 David Malcolm * jit.dg: New subdirectory * jit.dg/harness.h: New. * jit.dg/jit.exp: New. * jit.dg/test-accessing-struct.c: New. * jit.dg/test-calling-external-function.c: New. * jit.dg/test-dot-product.c: New. * jit.dg/test-factorial.c: New. * jit.dg/test-failure.c: New. * jit.dg/test-fibonacci.c: New. * jit.dg/test-hello-world.c: New. * jit.dg/test-string-literal.c: New. * jit.dg/test-sum-of-squares.c: New. Copyright (C) 2013-2014 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.