]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
doc: Document struct-layout-1.exp for ABI checks
authorDimitar Dimitrov <dimitar@dinux.eu>
Fri, 6 Sep 2024 19:49:50 +0000 (22:49 +0300)
committerDimitar Dimitrov <dimitar@dinux.eu>
Sun, 29 Sep 2024 11:36:52 +0000 (14:36 +0300)
This test helped discover PR116621, so it is worth being documented.

gcc/ChangeLog:

* doc/sourcebuild.texi: Document struct-layout-1.exp.

Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
gcc/doc/sourcebuild.texi

index a21a97fd6d664926ad68da6e5caca49f69f103ab..38275fd0feee00d0a918a3313a24b2d7c344498f 100644 (file)
@@ -4165,7 +4165,7 @@ compiler options from @env{COMPAT_OPTIONS}.  When
 the compiler under test but with combinations of the options from
 @env{COMPAT_OPTIONS}.
 
-To run only the C++ compatibility suite using the compiler under test
+To run only the basic C++ compatibility suite using the compiler under test
 and another version of GCC using specific compiler options, do the
 following from @file{@var{objdir}/gcc}:
 
@@ -4178,6 +4178,22 @@ make -k \
   RUNTESTFLAGS="compat.exp"
 @end smallexample
 
+The file @file{struct-layout-1.exp} provides a few more test cases
+exercising pseudo-randomly generated structure layouts.
+Defining @env{RUN_ALL_COMPAT_TESTS} would increase the number of
+generated tests to yield even more coverage.  As an example, to modify
+the above test command to run the maximum number of ABI tests for C++, do:
+
+@smallexample
+rm site.exp
+make -k \
+  ALT_CXX_UNDER_TEST=$@{alt_prefix@}/bin/g++ \
+  COMPAT_OPTIONS="@var{lists as shown above}" \
+  check-c++ \
+  RUNTESTFLAGS="compat.exp struct-layout-1.exp" \
+  RUN_ALL_COMPAT_TESTS=1
+@end smallexample
+
 A test that fails when the source files are compiled with different
 compilers, but passes when the files are compiled with the same
 compiler, demonstrates incompatibility of the generated code or