aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2021-03-10 08:49:29 -0500
committerDavid Malcolm <dmalcolm@redhat.com>2021-03-10 08:49:29 -0500
commitc4a36bb1e1be0b826e71f4723c9f66266aa86b6f (patch)
tree8b8903f98de848ce41ca7fb3ad922411c9024380 /gcc/doc
parent3fbac260fc7860a97fd00a54ca955266d737925f (diff)
downloadgcc-c4a36bb1e1be0b826e71f4723c9f66266aa86b6f.zip
gcc-c4a36bb1e1be0b826e71f4723c9f66266aa86b6f.tar.gz
gcc-c4a36bb1e1be0b826e71f4723c9f66266aa86b6f.tar.bz2
docs: add interactive vs batch distinction to UX guidelines
gcc/ChangeLog: * doc/ux.texi: Add subsection contrasting interactive versus batch usage of GCC.
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/ux.texi25
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/doc/ux.texi b/gcc/doc/ux.texi
index fdba5da..28d5994 100644
--- a/gcc/doc/ux.texi
+++ b/gcc/doc/ux.texi
@@ -86,6 +86,31 @@ information to allow the user to make an informed choice about whether
they should care (and how to fix it), but a balance must be drawn against
overloading the user with irrelevant data.
+@subsection Sometimes the user didn't write the code
+
+GCC is typically used in two different ways:
+
+@itemize @bullet
+@item
+Semi-interactive usage: GCC is used as a development tool when the user
+is writing code, as the ``compile'' part of the ``edit-compile-debug''
+cycle. The user is actively hacking on the code themself (perhaps a
+project they wrote, or someone else's), where they just made a change
+to the code and want to see what happens, and to be warned about
+mistakes.
+
+@item
+Batch rebuilds: where the user is recompiling one or more existing
+packages, and GCC is a detail that's being invoked by various build
+scripts. Examples include a user trying to bring up an operating system
+consisting of hundreds of packages on a new CPU architecture, where the
+packages were written by many different people, or simply rebuilding
+packages after a dependency changed, where the user is hoping
+``nothing breaks'', since they are unfamiliar with the code.
+@end itemize
+
+Keep both of these styles of usage in mind when implementing diagnostics.
+
@subsection Precision of Wording
Provide the user with details that allow them to identify what the