aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/yasm/libyasm/preproc.h
diff options
context:
space:
mode:
authorsomov <somov@yandex-team.ru>2022-02-10 16:45:47 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:47 +0300
commita5950576e397b1909261050b8c7da16db58f10b1 (patch)
tree7ba7677f6a4c3e19e2cefab34d16df2c8963b4d4 /contrib/tools/yasm/libyasm/preproc.h
parent81eddc8c0b55990194e112b02d127b87d54164a9 (diff)
downloadydb-a5950576e397b1909261050b8c7da16db58f10b1.tar.gz
Restoring authorship annotation for <somov@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/tools/yasm/libyasm/preproc.h')
-rw-r--r--contrib/tools/yasm/libyasm/preproc.h420
1 files changed, 210 insertions, 210 deletions
diff --git a/contrib/tools/yasm/libyasm/preproc.h b/contrib/tools/yasm/libyasm/preproc.h
index 751b19e4b0..7c0845c431 100644
--- a/contrib/tools/yasm/libyasm/preproc.h
+++ b/contrib/tools/yasm/libyasm/preproc.h
@@ -1,210 +1,210 @@
-/**
- * \file libyasm/preproc.h
- * \brief YASM preprocessor module interface.
- *
- * \license
- * Copyright (C) 2001-2007 Peter Johnson
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND OTHER CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR OTHER CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- * \endlicense
- */
-#ifndef YASM_PREPROC_H
-#define YASM_PREPROC_H
-
-#ifndef YASM_DOXYGEN
-/** Base #yasm_preproc structure. Must be present as the first element in any
- * #yasm_preproc implementation.
- */
-typedef struct yasm_preproc_base {
- /** #yasm_preproc_module implementation for this preprocessor. */
- const struct yasm_preproc_module *module;
-} yasm_preproc_base;
-#endif
-
-/** YASM preprocesor module interface. */
-typedef struct yasm_preproc_module {
- /** One-line description of the preprocessor. */
- const char *name;
-
- /** Keyword used to select preprocessor on the command line. */
- const char *keyword;
-
- /** Create preprocessor.
- * Module-level implementation of yasm_preproc_create().
- * Call yasm_preproc_create() instead of calling this function.
- *
- * \param in_filename initial starting filename, or "-" to read from
- * stdin
- * \param symtab symbol table (may be NULL if none)
- * \param lm line mapping repository
- * \param errwarns error/warnning set.
- * \return New preprocessor.
- *
- * \note Any preprocessor errors and warnings are stored into errwarns.
- */
- /*@only@*/ yasm_preproc * (*create) (const char *in_filename,
- yasm_symtab *symtab,
- yasm_linemap *lm,
- yasm_errwarns *errwarns);
-
- /** Module-level implementation of yasm_preproc_destroy().
- * Call yasm_preproc_destroy() instead of calling this function.
- */
- void (*destroy) (/*@only@*/ yasm_preproc *preproc);
-
- /** Module-level implementation of yasm_preproc_get_line().
- * Call yasm_preproc_get_line() instead of calling this function.
- */
- char * (*get_line) (yasm_preproc *preproc);
-
- /** Module-level implementation of yasm_preproc_get_included_file().
- * Call yasm_preproc_get_included_file() instead of calling this function.
- */
- size_t (*get_included_file) (yasm_preproc *preproc, /*@out@*/ char *buf,
- size_t max_size);
-
- /** Module-level implementation of yasm_preproc_add_include_file().
- * Call yasm_preproc_add_include_file() instead of calling this function.
- */
- void (*add_include_file) (yasm_preproc *preproc, const char *filename);
-
- /** Module-level implementation of yasm_preproc_predefine_macro().
- * Call yasm_preproc_predefine_macro() instead of calling this function.
- */
- void (*predefine_macro) (yasm_preproc *preproc, const char *macronameval);
-
- /** Module-level implementation of yasm_preproc_undefine_macro().
- * Call yasm_preproc_undefine_macro() instead of calling this function.
- */
- void (*undefine_macro) (yasm_preproc *preproc, const char *macroname);
-
- /** Module-level implementation of yasm_preproc_builtin_define().
- * Call yasm_preproc_builtin_define() instead of calling this function.
- */
- void (*define_builtin) (yasm_preproc *preproc, const char *macronameval);
-
- /** Module-level implementation of yasm_preproc_add_standard().
- * Call yasm_preproc_add_standard() instead of calling this function.
- */
- void (*add_standard) (yasm_preproc *preproc, const char **macros);
-} yasm_preproc_module;
-
-/** Initialize preprocessor.
- * The preprocessor needs access to the object format module to find out
- * any output format specific macros.
- * \param module preprocessor module
- * \param in_filename initial starting filename, or "-" to read from stdin
- * \param symtab symbol table (may be NULL if none)
- * \param lm line mapping repository
- * \param errwarns error/warning set
- * \return New preprocessor.
- * \note Errors/warnings are stored into errwarns.
- */
-/*@only@*/ yasm_preproc *yasm_preproc_create
- (yasm_preproc_module *module, const char *in_filename,
- yasm_symtab *symtab, yasm_linemap *lm, yasm_errwarns *errwarns);
-
-/** Cleans up any allocated preproc memory.
- * \param preproc preprocessor
- */
-void yasm_preproc_destroy(/*@only@*/ yasm_preproc *preproc);
-
-/** Gets a single line of preprocessed source code.
- * \param preproc preprocessor
- * \return Allocated line of code, without the trailing \n.
- */
-char *yasm_preproc_get_line(yasm_preproc *preproc);
-
-/** Get the next filename included by the source code.
- * \param preproc preprocessor
- * \param buf destination buffer for filename
- * \param max_size maximum number of bytes that can be returned in buf
- * \return Actual number of bytes returned in buf.
- */
-size_t yasm_preproc_get_included_file(yasm_preproc *preproc,
- /*@out@*/ char *buf, size_t max_size);
-
-/** Pre-include a file.
- * \param preproc preprocessor
- * \param filename filename
- */
-void yasm_preproc_add_include_file(yasm_preproc *preproc,
- const char *filename);
-
-/** Pre-define a macro.
- * \param preproc preprocessor
- * \param macronameval "name=value" string
- */
-void yasm_preproc_predefine_macro(yasm_preproc *preproc,
- const char *macronameval);
-
-/** Un-define a macro.
- * \param preproc preprocessor
- * \param macroname macro name
- */
-void yasm_preproc_undefine_macro(yasm_preproc *preproc, const char *macroname);
-
-/** Define a builtin macro, preprocessed before the "standard" macros.
- * \param preproc preprocessor
- * \param macronameval "name=value" string
- */
-void yasm_preproc_define_builtin(yasm_preproc *preproc,
- const char *macronameval);
-
-/** Define additional standard macros, preprocessed after the builtins but
- * prior to any user-defined macros.
- * \param preproc preprocessor
- * \param macros NULL-terminated array of macro strings
- */
-void yasm_preproc_add_standard(yasm_preproc *preproc,
- const char **macros);
-
-#ifndef YASM_DOXYGEN
-
-/* Inline macro implementations for preproc functions */
-
-#define yasm_preproc_create(module, in_filename, symtab, lm, ews) \
- module->create(in_filename, symtab, lm, ews)
-
-#define yasm_preproc_destroy(preproc) \
- ((yasm_preproc_base *)preproc)->module->destroy(preproc)
-#define yasm_preproc_get_line(preproc) \
- ((yasm_preproc_base *)preproc)->module->get_line(preproc)
-#define yasm_preproc_get_included_file(preproc, buf, max_size) \
- ((yasm_preproc_base *)preproc)->module->get_included_file(preproc, buf, max_size)
-#define yasm_preproc_add_include_file(preproc, filename) \
- ((yasm_preproc_base *)preproc)->module->add_include_file(preproc, filename)
-#define yasm_preproc_predefine_macro(preproc, macronameval) \
- ((yasm_preproc_base *)preproc)->module->predefine_macro(preproc, \
- macronameval)
-#define yasm_preproc_undefine_macro(preproc, macroname) \
- ((yasm_preproc_base *)preproc)->module->undefine_macro(preproc, macroname)
-#define yasm_preproc_define_builtin(preproc, macronameval) \
- ((yasm_preproc_base *)preproc)->module->define_builtin(preproc, \
- macronameval)
-#define yasm_preproc_add_standard(preproc, macros) \
- ((yasm_preproc_base *)preproc)->module->add_standard(preproc, \
- macros)
-
-#endif
-
-#endif
+/**
+ * \file libyasm/preproc.h
+ * \brief YASM preprocessor module interface.
+ *
+ * \license
+ * Copyright (C) 2001-2007 Peter Johnson
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND OTHER CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR OTHER CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * \endlicense
+ */
+#ifndef YASM_PREPROC_H
+#define YASM_PREPROC_H
+
+#ifndef YASM_DOXYGEN
+/** Base #yasm_preproc structure. Must be present as the first element in any
+ * #yasm_preproc implementation.
+ */
+typedef struct yasm_preproc_base {
+ /** #yasm_preproc_module implementation for this preprocessor. */
+ const struct yasm_preproc_module *module;
+} yasm_preproc_base;
+#endif
+
+/** YASM preprocesor module interface. */
+typedef struct yasm_preproc_module {
+ /** One-line description of the preprocessor. */
+ const char *name;
+
+ /** Keyword used to select preprocessor on the command line. */
+ const char *keyword;
+
+ /** Create preprocessor.
+ * Module-level implementation of yasm_preproc_create().
+ * Call yasm_preproc_create() instead of calling this function.
+ *
+ * \param in_filename initial starting filename, or "-" to read from
+ * stdin
+ * \param symtab symbol table (may be NULL if none)
+ * \param lm line mapping repository
+ * \param errwarns error/warnning set.
+ * \return New preprocessor.
+ *
+ * \note Any preprocessor errors and warnings are stored into errwarns.
+ */
+ /*@only@*/ yasm_preproc * (*create) (const char *in_filename,
+ yasm_symtab *symtab,
+ yasm_linemap *lm,
+ yasm_errwarns *errwarns);
+
+ /** Module-level implementation of yasm_preproc_destroy().
+ * Call yasm_preproc_destroy() instead of calling this function.
+ */
+ void (*destroy) (/*@only@*/ yasm_preproc *preproc);
+
+ /** Module-level implementation of yasm_preproc_get_line().
+ * Call yasm_preproc_get_line() instead of calling this function.
+ */
+ char * (*get_line) (yasm_preproc *preproc);
+
+ /** Module-level implementation of yasm_preproc_get_included_file().
+ * Call yasm_preproc_get_included_file() instead of calling this function.
+ */
+ size_t (*get_included_file) (yasm_preproc *preproc, /*@out@*/ char *buf,
+ size_t max_size);
+
+ /** Module-level implementation of yasm_preproc_add_include_file().
+ * Call yasm_preproc_add_include_file() instead of calling this function.
+ */
+ void (*add_include_file) (yasm_preproc *preproc, const char *filename);
+
+ /** Module-level implementation of yasm_preproc_predefine_macro().
+ * Call yasm_preproc_predefine_macro() instead of calling this function.
+ */
+ void (*predefine_macro) (yasm_preproc *preproc, const char *macronameval);
+
+ /** Module-level implementation of yasm_preproc_undefine_macro().
+ * Call yasm_preproc_undefine_macro() instead of calling this function.
+ */
+ void (*undefine_macro) (yasm_preproc *preproc, const char *macroname);
+
+ /** Module-level implementation of yasm_preproc_builtin_define().
+ * Call yasm_preproc_builtin_define() instead of calling this function.
+ */
+ void (*define_builtin) (yasm_preproc *preproc, const char *macronameval);
+
+ /** Module-level implementation of yasm_preproc_add_standard().
+ * Call yasm_preproc_add_standard() instead of calling this function.
+ */
+ void (*add_standard) (yasm_preproc *preproc, const char **macros);
+} yasm_preproc_module;
+
+/** Initialize preprocessor.
+ * The preprocessor needs access to the object format module to find out
+ * any output format specific macros.
+ * \param module preprocessor module
+ * \param in_filename initial starting filename, or "-" to read from stdin
+ * \param symtab symbol table (may be NULL if none)
+ * \param lm line mapping repository
+ * \param errwarns error/warning set
+ * \return New preprocessor.
+ * \note Errors/warnings are stored into errwarns.
+ */
+/*@only@*/ yasm_preproc *yasm_preproc_create
+ (yasm_preproc_module *module, const char *in_filename,
+ yasm_symtab *symtab, yasm_linemap *lm, yasm_errwarns *errwarns);
+
+/** Cleans up any allocated preproc memory.
+ * \param preproc preprocessor
+ */
+void yasm_preproc_destroy(/*@only@*/ yasm_preproc *preproc);
+
+/** Gets a single line of preprocessed source code.
+ * \param preproc preprocessor
+ * \return Allocated line of code, without the trailing \n.
+ */
+char *yasm_preproc_get_line(yasm_preproc *preproc);
+
+/** Get the next filename included by the source code.
+ * \param preproc preprocessor
+ * \param buf destination buffer for filename
+ * \param max_size maximum number of bytes that can be returned in buf
+ * \return Actual number of bytes returned in buf.
+ */
+size_t yasm_preproc_get_included_file(yasm_preproc *preproc,
+ /*@out@*/ char *buf, size_t max_size);
+
+/** Pre-include a file.
+ * \param preproc preprocessor
+ * \param filename filename
+ */
+void yasm_preproc_add_include_file(yasm_preproc *preproc,
+ const char *filename);
+
+/** Pre-define a macro.
+ * \param preproc preprocessor
+ * \param macronameval "name=value" string
+ */
+void yasm_preproc_predefine_macro(yasm_preproc *preproc,
+ const char *macronameval);
+
+/** Un-define a macro.
+ * \param preproc preprocessor
+ * \param macroname macro name
+ */
+void yasm_preproc_undefine_macro(yasm_preproc *preproc, const char *macroname);
+
+/** Define a builtin macro, preprocessed before the "standard" macros.
+ * \param preproc preprocessor
+ * \param macronameval "name=value" string
+ */
+void yasm_preproc_define_builtin(yasm_preproc *preproc,
+ const char *macronameval);
+
+/** Define additional standard macros, preprocessed after the builtins but
+ * prior to any user-defined macros.
+ * \param preproc preprocessor
+ * \param macros NULL-terminated array of macro strings
+ */
+void yasm_preproc_add_standard(yasm_preproc *preproc,
+ const char **macros);
+
+#ifndef YASM_DOXYGEN
+
+/* Inline macro implementations for preproc functions */
+
+#define yasm_preproc_create(module, in_filename, symtab, lm, ews) \
+ module->create(in_filename, symtab, lm, ews)
+
+#define yasm_preproc_destroy(preproc) \
+ ((yasm_preproc_base *)preproc)->module->destroy(preproc)
+#define yasm_preproc_get_line(preproc) \
+ ((yasm_preproc_base *)preproc)->module->get_line(preproc)
+#define yasm_preproc_get_included_file(preproc, buf, max_size) \
+ ((yasm_preproc_base *)preproc)->module->get_included_file(preproc, buf, max_size)
+#define yasm_preproc_add_include_file(preproc, filename) \
+ ((yasm_preproc_base *)preproc)->module->add_include_file(preproc, filename)
+#define yasm_preproc_predefine_macro(preproc, macronameval) \
+ ((yasm_preproc_base *)preproc)->module->predefine_macro(preproc, \
+ macronameval)
+#define yasm_preproc_undefine_macro(preproc, macroname) \
+ ((yasm_preproc_base *)preproc)->module->undefine_macro(preproc, macroname)
+#define yasm_preproc_define_builtin(preproc, macronameval) \
+ ((yasm_preproc_base *)preproc)->module->define_builtin(preproc, \
+ macronameval)
+#define yasm_preproc_add_standard(preproc, macros) \
+ ((yasm_preproc_base *)preproc)->module->add_standard(preproc, \
+ macros)
+
+#endif
+
+#endif