From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1851) id 4FBE33889E39; Mon, 25 Jul 2022 13:16:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4FBE33889E39 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Martin Liska To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/marxin/heads/enhance-jit-docs)] jit, docs: various fixes X-Act-Checkin: gcc X-Git-Author: marxin X-Git-Refname: refs/users/marxin/heads/enhance-jit-docs X-Git-Oldrev: 2c70aa99533c104dfc14d8ccd8198ed156b1d9a5 X-Git-Newrev: 74132da05d2a26bdab25a0af7511b88c607edc50 Message-Id: <20220725131608.4FBE33889E39@sourceware.org> Date: Mon, 25 Jul 2022 13:16:08 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Jul 2022 13:16:08 -0000 https://gcc.gnu.org/g:74132da05d2a26bdab25a0af7511b88c607edc50 commit 74132da05d2a26bdab25a0af7511b88c607edc50 Author: marxin Date: Mon Jul 25 11:15:25 2022 +0200 jit,docs: various fixes gcc/jit/ChangeLog: * docs/cp/intro/tutorial02.rst: Use proper reference. * docs/cp/topics/contexts.rst: Likewise. * docs/cp/topics/functions.rst: Put `class` directive before a function as it is not allowed declaring a class in a fn. * docs/cp/topics/types.rst: Add template keyword. * docs/examples/tut04-toyvm/toyvm.c (toyvm_function_compile): Add removed comment used for code snippet ending detection. * docs/intro/tutorial04.rst: Fix to match the real comment. Diff: --- gcc/jit/docs/cp/intro/tutorial02.rst | 2 +- gcc/jit/docs/cp/topics/contexts.rst | 2 +- gcc/jit/docs/cp/topics/functions.rst | 46 +++++++++++++++---------------- gcc/jit/docs/cp/topics/types.rst | 2 +- gcc/jit/docs/examples/tut04-toyvm/toyvm.c | 1 + gcc/jit/docs/intro/tutorial04.rst | 2 +- 6 files changed, 28 insertions(+), 27 deletions(-) diff --git a/gcc/jit/docs/cp/intro/tutorial02.rst b/gcc/jit/docs/cp/intro/tutorial02.rst index 2064f8e4dd9..55675cc7398 100644 --- a/gcc/jit/docs/cp/intro/tutorial02.rst +++ b/gcc/jit/docs/cp/intro/tutorial02.rst @@ -121,7 +121,7 @@ in this case just one: params.push_back (param_i); Now we can create the function, using -:c:func:`gccjit::context::new_function`: +:cpp:func:`gccjit::context::new_function`: .. code-block:: c++ diff --git a/gcc/jit/docs/cp/topics/contexts.rst b/gcc/jit/docs/cp/topics/contexts.rst index e5bccfb807d..f60f2102b3e 100644 --- a/gcc/jit/docs/cp/topics/contexts.rst +++ b/gcc/jit/docs/cp/topics/contexts.rst @@ -141,7 +141,7 @@ Debugging If "update_locations" is true, then also set up :class:`gccjit::location` information throughout the context, pointing at the dump file as if it were a source file. This may be of use in conjunction with - :c:macro:`GCCJIT::BOOL_OPTION_DEBUGINFO` to allow stepping through the + :c:macro:`GCC_JIT_BOOL_OPTION_DEBUGINFO` to allow stepping through the code in a debugger. .. function:: void\ diff --git a/gcc/jit/docs/cp/topics/functions.rst b/gcc/jit/docs/cp/topics/functions.rst index 0e266abc70c..4e325ac3fef 100644 --- a/gcc/jit/docs/cp/topics/functions.rst +++ b/gcc/jit/docs/cp/topics/functions.rst @@ -243,6 +243,29 @@ Statements return; +.. class:: gccjit::case_ + + A `gccjit::case_` represents a case within a switch statement, and + is created within a particular :class:`gccjit::context` using + :func:`gccjit::context::new_case`. It is a subclass of + :class:`gccjit::object`. + + Each case expresses a multivalued range of integer values. You + can express single-valued cases by passing in the same value for + both `min_value` and `max_value`. + +.. function:: gccjit::case_ *\ + gccjit::context::new_case (gccjit::rvalue min_value,\ + gccjit::rvalue max_value,\ + gccjit::block dest_block) + + Create a new gccjit::case for use in a switch statement. + `min_value` and `max_value` must be constants of an integer type, + which must match that of the expression of the switch statement. + + `dest_block` must be within the same function as the switch + statement. + .. function:: void\ gccjit::block::end_with_switch (gccjit::rvalue expr,\ gccjit::block default_block,\ @@ -292,29 +315,6 @@ Statements #ifdef LIBGCCJIT_HAVE_SWITCH_STATEMENTS - .. class:: gccjit::case_ - - A `gccjit::case_` represents a case within a switch statement, and - is created within a particular :class:`gccjit::context` using - :func:`gccjit::context::new_case`. It is a subclass of - :class:`gccjit::object`. - - Each case expresses a multivalued range of integer values. You - can express single-valued cases by passing in the same value for - both `min_value` and `max_value`. - - .. function:: gccjit::case_ *\ - gccjit::context::new_case (gccjit::rvalue min_value,\ - gccjit::rvalue max_value,\ - gccjit::block dest_block) - - Create a new gccjit::case for use in a switch statement. - `min_value` and `max_value` must be constants of an integer type, - which must match that of the expression of the switch statement. - - `dest_block` must be within the same function as the switch - statement. - Here's an example of creating a switch statement: .. literalinclude:: ../../../../testsuite/jit.dg/test-switch.cc diff --git a/gcc/jit/docs/cp/topics/types.rst b/gcc/jit/docs/cp/topics/types.rst index c695ceb3098..5d50a39b9d0 100644 --- a/gcc/jit/docs/cp/topics/types.rst +++ b/gcc/jit/docs/cp/topics/types.rst @@ -65,7 +65,7 @@ Standard types Access the integer type of the given size. -.. function:: gccjit::type \ +.. function:: template gccjit::type \ gccjit::context::get_int_type () Access the given integer type. For example, you could map the diff --git a/gcc/jit/docs/examples/tut04-toyvm/toyvm.c b/gcc/jit/docs/examples/tut04-toyvm/toyvm.c index 8334b975163..c2333f0de89 100644 --- a/gcc/jit/docs/examples/tut04-toyvm/toyvm.c +++ b/gcc/jit/docs/examples/tut04-toyvm/toyvm.c @@ -764,6 +764,7 @@ toyvm_function_compile (toyvm_function *fn) toyvm_result->cf_code = (toyvm_compiled_code)gcc_jit_result_get_code (jit_result, funcname); + /* (this leaks "jit_result" and "funcname") */ free (funcname); diff --git a/gcc/jit/docs/intro/tutorial04.rst b/gcc/jit/docs/intro/tutorial04.rst index e1c47a0d2d5..89098876530 100644 --- a/gcc/jit/docs/intro/tutorial04.rst +++ b/gcc/jit/docs/intro/tutorial04.rst @@ -308,7 +308,7 @@ We can now compile it, and extract machine code from the result: .. literalinclude:: ../examples/tut04-toyvm/toyvm.c :start-after: /* We've now finished populating the context. Compile it. */ - :end-before: /* (this leaks "result" and "funcname") */ + :end-before: /* (this leaks "jit_result" and "funcname") */ :language: c We can now run the result: