pkgsrc-WIP-changes archive

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

csmith: update to 2.3.0.

Module Name:	pkgsrc-wip
Committed By:	Thomas Klausner <>
Pushed By:	wiz
Date:		Thu Sep 16 21:17:27 2021 +0200
Changeset:	09c2588a382d0ab1faa5f8609d8ec3dc55865ce3

Modified Files:

Log Message:
csmith: update to 2.3.0.

Changes since 2.2.0 release:

	Added a CMake-based build system.  The Autoconf-based build system
	still works and is still supported.

	Improved ability to generate C++-compatible code.  First, the
	command-line option --lang-cpp now sets other options automatically
	(--match-exact-qualifiers, --no-vol-struct-union-fields, and
	--no-const-struct-union-fields).  Second, the new command-line option
	--cpp11 tells Csmith to generate C++11-compatible code.  The default is
	to generate C++03-compatible code.  Thanks to Natalia Glagoleva for the
	implementation of these features.

	Added command-line options to control the presence of global variables
	in generated programs.
	--global-variables / --no-global-variables: allow or disallow global
	variables (allowed by default)

	Added command-line options to control the presence of const fields in
	struct and union types.  Thanks to Natalia Glagoleva for the
	implementation of these features.
	--const-struct-union-fields / --no-const-struct-union-fields: allow or
	disallow const fields in structs and unions (allowed by default)

	Added a command-line option --strict-float to disallow assignments
	between floats and integers.  Unless this option is specified, such
	assignments are allowed.

	Added a command-line option --fast-execution that biases Csmith toward
	generating faster programs.

	Removed --deputy command-line option, which previously caused Csmith to
	output annotations for Deputy, a dependent type system for C.

	Incorporated various fixes for choosing the random seed on various

	Incorporated fixes for compiling Csmith under MS Windows.

	Incorporated numerous bug fixes.

Changes since 2.1.0 release:

	Expanded documentation about configuring the probability values that
	Csmith uses to randomly generate programs.  See file

	Added ability to generate programs that use floating-point.  The use of
	floating-point is controlled by new command-line options --float and
	--no-float.  The default is --no-float.  Thanks to Alastair Donaldson
	for providing the initial implementation of this feature.

	Added ability to generate C++-compatible code, controlled by new
	command-line option --lang-cpp.  Thanks to Sweta Seethamraju for
	contributing greatly to this feature.  To generate C++-compatible code,
	use the command line below:
	csmith --lang-cpp --no-consts --no-volatiles

	Added two command-line options related to marking function as inline.
	--inline-function: enable or disable the functionality of marking a
	  function as inline (disabled by default)
	--inline-function-prob <num>: set the probability of marking each
	  function as inline, where <num> is an integer in the range [0, 100]
          (default is 50)

	Added command-line options for testing builtin functions.
	--builtins / --no-builtins: enable or disable invocations of builtin
	  functions (disabled by default)
	--builtin-function-prob <num>: set the probability of choosing a
	  builtin function (default is 50)
	--enable-builtin-kinds <k1>,<k2> / --disable-builtin-kinds <k1>,<k2>:
	  enable or disable certain builtins.  Currently, all builtins such as:
	    "UInt; __builtin_bswap32; (UInt)"
	  are be enabled by default.  Builtins with a <kind> flag will be
	  enabled only if "--enable-builtin-kinds <kind>" is passed.
	  All default builtins, i.e. those without a <kind> flag, can be
	  disabled by passing "--disable-builtin-kinds generic".
	See the list of builtins in file "src/Function.cpp".
	Thanks to Hal Finkel for helping to flesh out this feature.

	Removed command-line options --incr-decr-operators and
	--no-incr-decr-operators.  Added command-line options to enable and
	disable use of the various operators individually.
	--pre-incr-operator / --no-pre-incr-operator
	--pre-decr-operator / --no-pre-decr-operator
	--post-incr-operator / --no-post-incr-operator
	--post-decr-operator / --no-post-incr-operator
	All of the operators are enabled by default.

	Added command-line options to enable/disable use of the unary plus
	--unary-plus-operator (default)

	Added command-line options to enable/disable use of int8_t and uint8_t.
	--int8 / --no-int8
	--uint8 / --no-uint8
	Both types are allowed by default.

	Added command-line options to allow/disallow use of const pointers.
	--const-pointers (default)

	Added command-line options to allow/disallow taking the addresses of
	union fields.
	--take-union-field-addr (default)

	Added command-line options to allow/disallow taking the addresses of
	local variables.
	--addr-taken-of-locals (default)

	Added command-line option --no-sign-char-index.  When set, do not allow
	a variable of signed char type to be used as an array index.

	Added command-line option --fresh-array-ctrl-var-names.  If this option
	is specified, then the generated program will use fresh names for array
	control vars rather than unique ones such as i, j, k.  With this option,
	we can also avoid name shadowing in different local scopes.

	Added command-line option --no-hash-value-printf.  When specified,
	don't emit printf on array indices when computing hash values.

	Added command-line option --safe-math to complement the already
	implemented --no-safe-math option.

	Added command-line option --enable-access-once to enable testing the

	Added command-line option --strict-volatile-rule, which forces only one
	volatile access between any pair of sequence points.

	Added command-line options --vol-struct-union-fields and
	--no-vol-struct-union-fields, which enable/disable the use of volatile
	struct/union fields.

	Removed command-line option --vol-addr-file.  Because we no longer rely
	on Csmith to generate volatile addresses, there no need to keep this

	Removed command-line option --enable-volatile-tests.  Because we track
	volatile accesses differently now, we no longer need this option.

	Runtime no longer prints the final checksum if macro NO_PRINT_CHECKSUM
	is defined.

	Include "stdio.h" in generated program if command-line option
	--enable-volatile-tests is specified.

	Implemented updates for recent CompCert (ccomp).  When command-line
	option --ccomp is specified:
	+ Allow 64-bit data (which was previously disallowed)
	+ Don't generate packed structs with long long fields.
	+ Disable bitfields in unions.
	+ Don't generate assignments from a long long to a bitfield.

	Fixed various bugs that would cause Csmith to crash.

	Fixed various bugs that would cause Csmith to generate programs with
	unspecified and/or defined behaviors.

	Moved "c_delta" C-program reducer work to a separate GitHub repository.
	That work was in the Csmith GitHub repository, but it was never
	included in an official Csmith release.  If you are interested in our
	reducer work, see <>.

To see a diff of this commit:;a=commitdiff;h=09c2588a382d0ab1faa5f8609d8ec3dc55865ce3

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

 csmith/Makefile | 5 ++---
 csmith/distinfo | 8 ++++----
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/csmith/Makefile b/csmith/Makefile
index 2872db64ac..b75aaaf60f 100644
--- a/csmith/Makefile
+++ b/csmith/Makefile
@@ -1,9 +1,8 @@
 # $NetBSD: Makefile,v 1.4 2012/11/23 22:33:29 othyro Exp $
-DISTNAME=	csmith-2.1.0
+DISTNAME=	csmith-2.3.0
diff --git a/csmith/distinfo b/csmith/distinfo
index f9b82ba8a2..4445b0098e 100644
--- a/csmith/distinfo
+++ b/csmith/distinfo
@@ -1,6 +1,6 @@
 $NetBSD: distinfo,v 2011/12/29 22:38:49 jihbed Exp $
-SHA1 (csmith-2.1.0.tar.gz) = 2c3c1f5f5e4283af4c835c48dbdaf9431623c45c
-RMD160 (csmith-2.1.0.tar.gz) = 2e0319b85adc02538db29a73e3a95a0f912c7ca2
-SHA512 (csmith-2.1.0.tar.gz) = 56a01f158ab3e1a21b60d9971e0c7e0e81aa57db8530efe8508d2ead209ef3524529c85fbd29cd181e02ca8592b188158d4369c7394644f2054ba0a635fbd063
-Size (csmith-2.1.0.tar.gz) = 575381 bytes
+SHA1 (csmith-2.3.0.tar.gz) = f307aaf99667044b173aba5f02bf033471f1a669
+RMD160 (csmith-2.3.0.tar.gz) = 6e4f191199e2e776c03ba4b58ea1466f8cf74e3c
+SHA512 (csmith-2.3.0.tar.gz) = abab6ace0fa6b1be248c3ffbac7069bcadbad7b7af5673660849c8bebf84de040afcf527b2fefbbcb68b9164a43e08684c147496fb2b25bbffef7495dba39041
+Size (csmith-2.3.0.tar.gz) = 637381 bytes

Home | Main Index | Thread Index | Old Index