Branch: Tag:

2018-09-12

2018-09-12 09:21:02 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Cpp: Added some optional parameters to define_macro().

Renumber the CPP_MACRO_* values, so that the ones useful for
users (CPP_MACRO_VARARGS and CPP_MACRO_KEEP_NL) come first.

define_macro() now accepts two additional optional arguments;
numargs and flags.

33:    "AsyncProtocol": "predef::Protocols.SMTP.AsyncClient":1,    "Base": "predef::Function.Placeholder.Arg":1, "predef::Function.Placeholder.Expr":1, "predef::Function.Placeholder.Splice":1,    "Buffer": "predef::Crypto":1, -  "Builtin": "predef::":1, +     "Builtin.RandomInterface": "predef::Random.AES128_CTR_DRBG":1, "predef::Random.Deterministic":1, "predef::Random.Fast":1, "predef::Random.Hardware":1, "predef::Random.Interface":1,    "Builtin.RandomSystem": "predef::Random.System":1,    "Bz2::File": "predef::Bz2.File":1,
43:    "CCM::digest_size()": "predef::Nettle.BlockCipher16.CCM.State.digest_size":1,    "CHACHA": "predef::Crypto.ChaCha20.POLY1305":1,    "CIPHER_aes": "predef::SSL.Constants":1, +  "CPP()->get_predefines()": "predef::cpp":1,    "CRYPT_VERIFYCONTEXT": "predef::Crypto.NT.CryptContext.create":1,    "Calendar.ISO_UTC.Second": "predef::Standards.ASN1.Types.GeneralizedTime.set_posix":1, "predef::Standards.ASN1.Types.UTC.set_posix":1,    "Calendar.Rule.Language": "predef::Calendar.Ruleset.set_language":1, "predef::Calendar.Ruleset.set_rule":1,
54:    "Compiler": "predef::Web.Sass.Api":2,    "Compiler.http_import": "predef::Web.Sass":1,    "Compiler.set_output_style()": "predef::Web.Sass":1, +  "CompilerEnviroment::report()": "predef::CompilerEnvironment.CPP.report":1, +  "CompilerEnvironment.CPP": "cpp::":1,    "Conference.create_text()": "predef::Protocols.LysKOM.Session.create_text":1,    "Configuration::Session": "predef::ZXID.Configuration.Session":1,    "Constants.PACKET_MAX_SIZE": "predef::SSL.Context":1,
68:    "DSA_State": "predef::Crypto.DH.Parameters.create":1,    "DTDElementHelper": "predef::Parser.XML.Tree.DTDElementNode":1, "predef::Parser.XML.Tree.SimpleDTDElementNode":1,    "Debug.Watchdog": "predef::Debug.Profiling.display":1, +  "Debug.assembler_debug()": "cpp::":1,    "Debug.size_object()": "lfun::_size_object":2,    "Directory": "predef::Standards.XML.Wix.get_module_xml":1,    "EAX::digest_size()": "predef::Nettle.BlockCipher16.EAX.State.digest_size":2,
189:    "MPI_FloatArray": "predef::MPI.FloatArray.assign":1,    "MPI_IntArray": "predef::MPI.IntArray.assign":1,    "MPI_SingleArray": "predef::MPI.SingleArray.assign":1, -  "MasterObject()->get_compilation_handler()": "predef::CompilerEnvironment.get_compilation_handler":1, -  "MasterObject()->handle_import()": "predef::CompilerEnvironment.handle_import":1, +     "MasterObject()->report()": "predef::CompilerEnvironment.CPP.report":1, "predef::Reporter.report":2, -  +  "MasterObject->compile_file()": "cpp::":1, +  "MasterObject->compile_string()": "cpp::":1,    "MasterObject.set_inhibit_errors": "predef::Tools.Testsuite.Test":1,    "Math.FMatrix()->get_sentinel()": "predef::MPI.Sentinel":1,    "MirarDocParser": "predef::Tools.AutoDoc":1,
347:    "_Debug": "predef::Debug":1,    "_Protocols_DNS_SD.Service": "predef::Protocols.DNS_SD.Service":1,    "_SimpleRegexp": "predef::Regexp.SimpleRegexp":1, +  "_Static_assert": "cpp::":1,    "_Stdio": "7.8::files":1, "predef::":1, "predef::Stdio":1,    "_Stdio.Fd": "predef::Stdio.Fd_ref":2,    "_Stdio.Fd_ref": "7.8::Stdio":1, "7.8::Stdio.File":1, "predef::Stdio.Fd":1,    "_Stdio.UDP": "predef::Stdio.UDP":1,    "_Stdio._port": "7.8::Stdio.Port":1,    "_WhiteFish.Blobs": "predef::Search.MergeFile.write_blobs":1, -  "__BUILD__": "predef::version":1, -  "__MINOR__": "predef::version":1, -  "__REAL_BUILD__": "predef::version":1, -  "__REAL_MINOR__": "predef::version":1, -  "__REAL_VERSION__": "predef::version":1, -  "__VERSION__": "predef::version":1, +     "___MIME": "predef::MIME":1,    "__builtin.DestructImmediate": "predef::Thread.ResourceCountKey":1,    "_debug": "predef::Debug.dump_backlog":1,    "_math": "predef::":1,    "_port": "predef::Stdio.Port":1,    "_system": "predef::":1, "predef::System":1, -  +  "_take_over_initial_predefines()": "predef::CompilerEnvironment.CPP.define_multiple_macros":1, "predef::CompilerEnvironment.CPP.get_predefines":2,    "_verify_internals()": "predef::Debug.memory_usage":1,    "`certificates": "8.0::SSL.Context":4,    "`rsa": "8.0::SSL.Context":4,
403:    "color.light": "predef::Image.Color":1,    "color.neon": "predef::Image.Color":1,    "colors": "predef::Image.Color":1, +  "compat_major": "predef::CompilerEnvironment.CPP.change_cpp_compatibility":1, +  "compat_minor": "predef::CompilerEnvironment.CPP.change_cpp_compatibility":1,    "compilation_error": "predef::Tools.Testsuite.Test.compile":1, -  "compile_error()": "predef::CompilationHandler.compile_warning":1, "predef::CompilerEnvironment.CPP.report":1, +  "compile()": "cpp::":1, +  "compile_error()": "predef::CompilerEnvironment.CPP.report":1,    "compile_warning()": "predef::CompilerEnvironment.CPP.report":1, -  "cpp": "predef::MasterObject.CompatResolver.add_predefine":1, "predef::MasterObject.CompatResolver.remove_predefine":1, "predef::compile_string":1, -  "cpp()": "predef::CompilerEnvironment.PikeCompiler.compile":1, "predef::CompilerEnvironment.PikeCompiler.create":2, "predef::CompilerEnvironment.compile":2, "predef::MasterObject":1, "predef::Pike":1, "predef::compile":2, "predef::compile_file":1, "predef::compile_string":1, -  "cpp::static_assert": "predef::_Static_assert":1, +  "cpp()": "cpp::":4,    "crypt_md5()": "predef::Crypto.MD5.crypt_hash":1, "predef::__builtin.Nettle.Hash.crypt_hash":2,    "crypt_password()": "predef::__builtin.Nettle.Hash.openssl_pbkdf":1, "predef::__builtin.Nettle.Hash.pbkdf1":1, "predef::__builtin.Nettle.Hash.pbkdf2":1,    "data": "predef::Git.Export.filemodify":1, "predef::Git.Export.notemodify":1,    "deserialize()": "predef::Serializer":1,    "destruct()": "lfun::`==":1,    "digest()": "predef::Nettle.BlockCipher.CFB.State.crypt":1, "predef::Nettle.BlockCipher.CTR.State.crypt":1, "predef::Nettle.BlockCipher.OFB.State.crypt":1, -  +  "dirname()": "cpp::":1,    "do_sync_method()": "predef::Protocols.HTTP.do_method":1,    "driver_names": "predef::GLUE.init":1,    "elem": "predef::ADT.Priority_queue.push":1,
438:    "gauge": "predef::System":3, "predef::gethrvtime":1,    "gauge()": "predef::gethrvtime":1,    "get_codec_params()": "predef::_Ffmpeg.ffmpeg.set_codec_param":1, -  "get_compilation_handler()": "predef::MasterObject.get_compat_master":1, +     "get_elements_by_tag_name": "predef::Parser.XML.SloppyDOM.Document.get_elements":1, "predef::Parser.XML.SloppyDOM.NodeWithChildElements.get_elements":1,    "get_parsed_url": "predef::Protocols.LDAP.parse_ldap_url":1, -  "get_predefines()": "predef::CompilationHandler.get_default_module":1, +     "get_thread_quanta()": "predef::MasterObject.thread_quanta_exceeded":1,    "getgrent": "predef::get_all_groups":1,    "getgrent()": "predef::get_all_groups":1, "predef::getgrgid":1, "predef::getgrnam":1,
548:    "main()": "predef::Pike.DefaultBackend":1, "predef::Pike.PollBackend.`()":1, "predef::Pike.PollDeviceBackend.`()":1, "predef::Pike.SelectBackend.`()":1, "predef::Pike.__Backend.`()":1, "predef::Pike.__Backend.add_file":1, "predef::Stdio.async_cp":1, "predef::Stdio.sendfile":1,    "mapping ": "predef::Calendar.Time.TimeofDay.datetime":1, "predef::Calendar.YMD.YMD.datetime":1, "predef::Image.AVS.decode":1, "predef::Image.BMP.decode":4, "predef::Image.Colortable.cast":1, "predef::Image.GIF.decode_map":1, "predef::Image.HRZ.decode":1, "predef::Image.PCX._decode":1, "predef::Image.PVR.decode":2, "predef::Image.TIM.decode":2, "predef::Image.TTF.Face.names":1, "predef::Image.TTF.Face.properties":1, "predef::Image.XCF._decode":1, "predef::Image.XWD._decode":2,    "master()->_main()": "predef::Tools.MasterHelp":1, -  "master()->get_compilation_handler()": "predef::get_active_compilation_handler":1, "predef::get_active_compiler":1, +  "master()->describe_error()": "predef::CompilerEnvironment.CPP.format_exception":1, +  "master()->get_compilation_handler()": "predef::CompilationHandler":2, "predef::get_active_compilation_handler":1, "predef::get_active_compiler":1,    "master()->handle_error()": "predef::throw":1,    "master_file_stat()": "predef::MasterObject.master_read_file":1,    "master_get_dir()": "predef::MasterObject.master_read_file":1,
572:    "precision": "predef::_Sass.Compiler.set_options":1,    "predef::Nettle.BlockCipher.CCM": "predef::__builtin.Nettle.BlockCipher.CTR":1,    "predef::Nettle.BlockCipher.GCM": "predef::__builtin.Nettle.BlockCipher.CTR":1, +  "predef::__pragma_save_parent__": "cpp::":1,    "predef::foreach()": "lfun::_get_iterator":1,    "prev": "predef::Parser.RCS.Revision":2,    "programof()": "predef::Encoder.nameof":1,
706:   "8.0::Tools.X509.make_verifier": "Verifier"   "8.0::Tools.X509.rsa_verifier": "Verifier"   "8.0::Tools.X509.verify_certificate_chain": "Standards.ASN1.Sequence" + "cpp::": "CompilerEnvironment.CPP" "Debug.assembler_debug()" "MasterObject->compile_file()" "MasterObject->compile_string()" "_Static_assert" "compile()" "cpp()" "dirname()" "predef::__pragma_save_parent__"   "lfun::_deserialize": "Serialization.deserialize()" "Serializer.Serializable" "Serializer.Serializable()->_deserialize()" "Serializer.deserialize()"   "lfun::_destruct": "atexit"   "lfun::_get_iterator": "predef::foreach()"
715:   "lfun::_size_object": "Debug.size_object()"   "lfun::`+=": "this_program"   "lfun::`==": "destruct()" - "predef::": "Builtin" "_Stdio" "_math" "_system" "tokenize()" "tokenize_labled()" + "predef::": "_Stdio" "_math" "_system" "tokenize()" "tokenize_labled()"   "predef::ADT": "_ADT"   "predef::ADT.CritBit.DateTree": "C::IntTree"   "predef::ADT.CritBit.DateTree.decode_key": "Calendar.TimeRange"
778:   "predef::Calendar.YMD.deltat": "float "   "predef::Calendar.YMD.format_iso": "string "   "predef::Charset": "Locale.Charset" - "predef::CompilationHandler.compile_warning": "compile_error()" - "predef::CompilationHandler.get_default_module": "get_predefines()" + "predef::CompilationHandler": "master()->get_compilation_handler()"   "predef::CompilerEnvironment.CPP": "::this_program" - "predef::CompilerEnvironment.CPP.report": "MasterObject()->report()" "compile_error()" "compile_warning()" - "predef::CompilerEnvironment.PikeCompiler.compile": "cpp()" - "predef::CompilerEnvironment.PikeCompiler.create": "cpp()" + "predef::CompilerEnvironment.CPP.change_cpp_compatibility": "compat_major" "compat_minor" + "predef::CompilerEnvironment.CPP.define_multiple_macros": "_take_over_initial_predefines()" + "predef::CompilerEnvironment.CPP.format_exception": "master()->describe_error()" + "predef::CompilerEnvironment.CPP.get_predefines": "_take_over_initial_predefines()" + "predef::CompilerEnvironment.CPP.report": "CompilerEnviroment::report()" "MasterObject()->report()" "compile_error()" "compile_warning()"   "predef::CompilerEnvironment.PikeCompiler.resolv": "sym" - "predef::CompilerEnvironment.compile": "cpp()" - "predef::CompilerEnvironment.get_compilation_handler": "MasterObject()->get_compilation_handler()" +    "predef::CompilerEnvironment.get_default_module": "Pike_compiler()->get_default_module()" - "predef::CompilerEnvironment.handle_import": "MasterObject()->handle_import()" +    "predef::Concurrent.Promise.fold": "futures"   "predef::Concurrent.resolve": "on_success"   "predef::Crypto": "Buffer" "CAMELLIA" "CAMELLIA.EAX"
1311:   "predef::MPI.Sentinel": "Math.FMatrix()->get_sentinel()"   "predef::MPI.SingleArray.assign": "MPI_SingleArray"   "predef::MPI.Status": "MPI.ANY_SOURCE" "MPI.ANY_TAG" - "predef::MasterObject": "NoValue" "Pike.Decoder" "Pike.Encoder" "Pike.Encoder.nameof" "cpp()" "main" - "predef::MasterObject.CompatResolver.add_predefine": "cpp" - "predef::MasterObject.CompatResolver.remove_predefine": "cpp" + "predef::MasterObject": "NoValue" "Pike.Decoder" "Pike.Encoder" "Pike.Encoder.nameof" "main"   "predef::MasterObject.Decoder.decode_object": "Encoder()->encode_object()"   "predef::MasterObject.describe_backtrace": "backtrace_frame"   "predef::MasterObject.fc_reverse_lookup": "fc" - "predef::MasterObject.get_compat_master": "get_compilation_handler()" +    "predef::MasterObject.master_read_file": "master_file_stat()" "master_get_dir()"   "predef::MasterObject.thread_quanta_exceeded": "get_thread_quanta()" "set_thread_quanta()"   "predef::Math": "\"___Math\""
1405:   "predef::Parser.XML.Tree.DTDElementNode": "DTDElementHelper"   "predef::Parser.XML.Tree.SimpleDTDElementNode": "DTDElementHelper"   "predef::Parser.XML.Tree.VirtualNode.get_short_attributes": "set_short_namespaces()" - "predef::Pike": "cpp()" +    "predef::Pike.DefaultBackend": "main()"   "predef::Pike.PollBackend.`()": "main()"   "predef::Pike.PollDeviceBackend.`()": "main()"
1648:   "predef::_Sass.Compiler.compile_file": "source_map_file"   "predef::_Sass.Compiler.handle_sass_import": "abs_path" "rel_path"   "predef::_Sass.Compiler.set_options": "STYLE_COMPACT" "STYLE_COMPRESSED" "STYLE_EXPANDED" "STYLE_NESTED" "include_path" "omit_source_map_url" "output_style" "precision" "source_comments" "source_map_embed" "source_map_file" "source_map_root" - "predef::_Static_assert": "cpp::static_assert" +    "predef::__builtin.Nettle.AEAD.State": "Cipher::State"   "predef::__builtin.Nettle.BlockCipher.CTR": "predef::Nettle.BlockCipher.CCM" "predef::Nettle.BlockCipher.GCM"   "predef::__builtin.Nettle.ECC_Curve.Point.create": "Curve"
1667:   "predef::_typeof": "typeof()"   "predef::backtrace": "catch()"   "predef::call_out": "Pike.Backend()->_do_call_outs()" "Pike.Backend()->call_out()" "Pike.Backend()->call_out_info()" "Pike.Backend()->find_call_out()" "Pike.Backend()->remove_call_out()" - "predef::compile": "cpp()" - "predef::compile_file": "cpp()" - "predef::compile_string": "cpp" "cpp()" + "predef::cpp": "CPP()->get_predefines()"   "predef::crypt": "typed_password"   "predef::describe_backtrace": "catch" "catch()"   "predef::describe_error": "catch"
1695:   "predef::throw": "catch" "master()->handle_error()"   "predef::utf8_to_string": "utf8_string"   "predef::validate_utf8": "utf8_string" - "predef::version": "__BUILD__" "__MINOR__" "__REAL_BUILD__" "__REAL_MINOR__" "__REAL_VERSION__" "__VERSION__" +