# HG changeset patch # User Paul Boddie # Date 1480615768 -3600 # Node ID afa2a255d1e58ef3aa5f95806af77b759fe4148d # Parent 12147af48983a6c6c62c93f116178707c599ae38 Omit __newdata_mapping when dictionaries are not used in programs, thus eliminating dependencies on the missing dict initialiser. diff -r 12147af48983 -r afa2a255d1e5 generator.py --- a/generator.py Thu Dec 01 17:19:50 2016 +0100 +++ b/generator.py Thu Dec 01 19:09:28 2016 +0100 @@ -910,6 +910,7 @@ encode_function_pointer(init_ref.get_origin()) ) + print >>f_signatures, "#define __HAVE_%s" % encode_path(path) print >>f_signatures, "__attr %s(__attr[]);" % encode_instantiator_pointer(path) # Write additional literal instantiators. These do not call the diff -r 12147af48983 -r afa2a255d1e5 templates/progops.c --- a/templates/progops.c Thu Dec 01 17:19:50 2016 +0100 +++ b/templates/progops.c Thu Dec 01 19:09:28 2016 +0100 @@ -73,6 +73,8 @@ __store_via_object(args[0].value, __pos___data__, attr); } +#ifdef __HAVE___builtins___dict_dict + void __newdata_mapping(__attr args[], unsigned int number) { __mapping *data = __new_mapping(number); @@ -102,6 +104,8 @@ } } +#endif /* __HAVE___builtins___dict_dict */ + /* A helper for raising type errors within common operations. */ void __raise_type_error()