emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/beardbolt 9c56c62993 247/323: Update texi docs


From: ELPA Syncer
Subject: [elpa] externals/beardbolt 9c56c62993 247/323: Update texi docs
Date: Thu, 9 Mar 2023 10:58:35 -0500 (EST)

branch: externals/beardbolt
commit 9c56c62993b9644a3c8bf6fc0a3a6599c0956707
Author: Jay Kamat <jaygkamat@gmail.com>
Commit: Jay Kamat <jaygkamat@gmail.com>

    Update texi docs
---
 doc/rmsbolt.texi | 44 +++++++++++++++++++++++++-------------------
 1 file changed, 25 insertions(+), 19 deletions(-)

diff --git a/doc/rmsbolt.texi b/doc/rmsbolt.texi
index 5f4788effe..dcbc119dd5 100644
--- a/doc/rmsbolt.texi
+++ b/doc/rmsbolt.texi
@@ -67,10 +67,11 @@ Languages
 * Common Lisp::
 * Zig::
 * Go::
+* Nim::
 
 Integrations
 
-* C/C++: C/C++ 1. 
+* C/C++: C/C++ (1). 
 
 C/C++
 
@@ -110,15 +111,10 @@ This is a quelpa formula for RMSbolt
 @node Running
 @chapter Running
 
-Once installed, run @code{rmsbolt} to compile the current buffer.
-This enables @code{rmsbolt-mode} for code region highlighting and
-automatic recompilation on buffer changes.
-
-@code{rmsbolt-mode} also adds the key binding @code{C-c C-c} to run a 
compilation.
-
-Run @code{rmsbolt-starter} to generate an example source file for one of the 
supported languages.
-
-Run @code{rmsbolt-compile} to start a compilation without enabling 
@code{rmsbolt-mode}.
+Once installed, use the @code{rmsbolt-starter} command to generate starter 
files, or
+enable @code{rmsbolt-mode} in a supported language. Then run 
@code{rmsbolt-compile} or use
+the default @code{C-c C-c} binding to pop open a disassembly buffer. After the 
first
+run, the buffer should automatically update.
 
 @node Configuring
 @chapter Configuring
@@ -221,6 +217,7 @@ This section covers languages-specific quirks and features.
 * Common Lisp::
 * Zig::
 * Go::
+* Nim::
 @end menu
 
 @node C/C++
@@ -315,15 +312,14 @@ supported at the moment, with @code{sbcl} giving much 
better results.
 Assembly is generated through the @code{zig} compiler. Due to large binary 
sizes,
 disassembly is discouraged.
 
-In some cases, Zig embeds a panic handler which inflates the size of binaries.
-In order to reduce this to a manageable level, you can add the following 
snippet to
-your file:
+Zig embeds a panic handler which inflates the size of binaries. In order to
+reduce this to a manageable level, you can add the following snippet to your
+file:
 
 @example
-pub fn panic(msg: []const u8, error_return_trace: ?*std.builtin.StackTrace) 
noreturn @{
-    _ = msg;
-    _ = error_return_trace;
-    while (true) @{@}
+pub fn panic(msg: []const u8, error_return_trace: 
?*@@import("builtin").StackTrace) noreturn @{
+    while (true) @{
+    @}
 @}
 @end example
 
@@ -332,6 +328,16 @@ pub fn panic(msg: []const u8, error_return_trace: 
?*std.builtin.StackTrace) nore
 
 Uses Go's objdump tool to produce viewing-only bytecode. Go must be on the 
path.
 
+@node Nim
+@section Nim
+
+Builds into object files into a temporary @code{nim-cache} directory generated 
by
+rmsbolt, which will then be copied and dissassembled.
+C++ backend is also possible to either with @code{nim cpp} or @code{nim c
+--passC:-std=gnu++14} and uses @code{c++filt} demangler.
+
+Use the @code{@{.exportc.@}} pragma for at least the main procedure that will 
be dissassembled.
+
 @node Integrations
 @chapter Integrations
 
@@ -346,10 +352,10 @@ Most integrations only take effect when 
@code{rmsbolt-command} and
 attempt at using the integration system.
 
 @menu
-* C/C++: C/C++ 1. 
+* C/C++: C/C++ (1). 
 @end menu
 
-@node C/C++ 1
+@node C/C++ (1)
 @section C/C++
 
 C/C++ will look for a @code{compile_commands.json} file in any directory 
higher than



reply via email to

[Prev in Thread] Current Thread [Next in Thread]