Module Name: xsrc Committed By: mrg Date: Wed Jul 3 08:55:38 UTC 2024
Modified Files: xsrc/external/mit/makedepend/dist: def.h Log Message: merge makedepend-1.0.9. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/makedepend/dist/def.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: xsrc/external/mit/makedepend/dist/def.h diff -u xsrc/external/mit/makedepend/dist/def.h:1.3 xsrc/external/mit/makedepend/dist/def.h:1.4 --- xsrc/external/mit/makedepend/dist/def.h:1.3 Mon Dec 19 00:44:57 2022 +++ xsrc/external/mit/makedepend/dist/def.h Wed Jul 3 08:55:38 2024 @@ -28,8 +28,6 @@ in this Software without prior written a # include "makedepend-config.h" #endif -#include <X11/Xos.h> -#include <X11/Xfuncproto.h> #include <stdlib.h> #include <stdio.h> #include <string.h> @@ -38,16 +36,45 @@ in this Software without prior written a #include <fcntl.h> #include <sys/stat.h> +/* http://clang.llvm.org/docs/LanguageExtensions.html#has-attribute */ +#ifndef __has_attribute +# define __has_attribute(x) 0 /* Compatibility with non-clang compilers. */ +#endif + +#ifndef _X_ATTRIBUTE_PRINTF +#if __has_attribute(__format__) \ + || defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 203) +# define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y))) +#else /* not gcc >= 2.3 */ +# define _X_ATTRIBUTE_PRINTF(x,y) +#endif +#endif + +#ifndef _X_NORETURN +#if __has_attribute(noreturn) \ + || (defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 205)) \ + || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) +# define _X_NORETURN __attribute((noreturn)) +#else +# define _X_NORETURN +#endif /* GNUC */ +#endif + +#ifndef HAVE_REALLOCARRAY +#define reallocarray(ptr, num, size) realloc(ptr, (num) * (size)) +#endif +#define mallocarray(num, size) reallocarray(NULL, num, size) + #define MAXDEFINES 512 #define MAXFILES 2048 -#define MAXINCFILES 128 /* "-include" files */ -#define MAXDIRS 512 /* -I flags */ +#define MAXINCFILES 128 /* "-include" files */ +#define MAXDIRS 512 /* -I flags */ #define PATHMAX 4096 /* realpath */ -#define SYMTABINC 10 /* must be > 1 for define() to work right */ +#define SYMTABINC 10 /* must be > 1 for define() to work right */ #define TRUE 1 #define FALSE 0 -/* the following must match the directives table in main.c */ +/* the following must match the directives table in parse.c */ #define IF 0 #define IFDEF 1 #define IFNDEF 2 @@ -65,15 +92,16 @@ in this Software without prior written a #define EJECT 14 #define WARNING 15 #define INCLUDENEXT 16 -#define IFFALSE 17 /* pseudo value --- never matched */ -#define ELIFFALSE 18 /* pseudo value --- never matched */ -#define INCLUDEDOT 19 /* pseudo value --- never matched */ -#define IFGUESSFALSE 20 /* pseudo value --- never matched */ -#define ELIFGUESSFALSE 21 /* pseudo value --- never matched */ -#define INCLUDENEXTDOT 22 /* pseudo value --- never matched */ +#define IFFALSE 17 /* pseudo value --- never matched */ +#define ELIFFALSE 18 /* pseudo value --- never matched */ +#define INCLUDEDOT 19 /* pseudo value --- never matched */ +#define IFGUESSFALSE 20 /* pseudo value --- never matched */ +#define ELIFGUESSFALSE 21 /* pseudo value --- never matched */ +#define INCLUDENEXTDOT 22 /* pseudo value --- never matched */ #ifdef DEBUG -extern int _debugmask; +extern int _debugmask; + /* * debug levels are: * @@ -88,108 +116,100 @@ extern int _debugmask; #define debug(level,arg) do { /**/ } while (0) #endif /* DEBUG */ -typedef unsigned char boolean; +typedef unsigned char boolean; struct symtab { - char *s_name; - char *s_value; + char *s_name; + char *s_value; }; /* possible i_flag */ -#define DEFCHECKED (1<<0) /* whether defines have been checked */ -#define NOTIFIED (1<<1) /* whether we have revealed includes */ -#define MARKED (1<<2) /* whether it's in the makefile */ -#define SEARCHED (1<<3) /* whether we have read this */ -#define FINISHED (1<<4) /* whether we are done reading this */ -#define INCLUDED_SYM (1<<5) /* whether #include SYMBOL was found - Can't use i_list if TRUE */ -struct inclist { - char *i_incstring; /* string from #include line */ - char *i_file; /* path name of the include file */ - struct inclist **i_list; /* list of files it itself includes */ - struct symtab **i_defs; /* symbol table for this file and its - children when merged */ - int i_listlen; /* length of i_list */ - int i_ndefs; /* current # defines */ - boolean *i_merged; /* whether we have merged child - defines */ - unsigned char i_flags; +#define DEFCHECKED (1<<0) /* whether defines have been checked */ +#define NOTIFIED (1<<1) /* whether we have revealed includes */ +#define MARKED (1<<2) /* whether it's in the makefile */ +#define SEARCHED (1<<3) /* whether we have read this */ +#define FINISHED (1<<4) /* whether we are done reading this */ +#define INCLUDED_SYM (1<<5) /* whether #include SYMBOL was found + Can't use i_list if TRUE */ +struct inclist { + char *i_incstring; /* string from #include line */ + char *i_file; /* path name of the include file */ + char *i_realpath; /* path name processed by realpath() */ + struct inclist **i_list; /* list of files it itself includes */ + struct symtab **i_defs; /* symbol table for this file and its + children when merged */ + unsigned int i_listlen; /* length of i_list */ + int i_ndefs; /* current # defines */ + boolean *i_merged; /* whether we have merged child + defines */ + unsigned char i_flags; }; struct filepointer { - const char *f_name; - char *f_p; - char *f_base; - char *f_end; - long f_len; - long f_line; - long cmdinc_count; - char **cmdinc_list; - long cmdinc_line; + const char *f_name; + char *f_p; + char *f_base; + char *f_end; + long f_len; + long f_line; + long cmdinc_count; + char **cmdinc_list; + long cmdinc_line; }; #include <stdlib.h> -int match(const char *str, const char * const *list); -char *base_name(const char *file); -char *getnextline(struct filepointer *fp); -struct symtab **slookup(const char *symbol, struct inclist *file); -struct symtab **isdefined(const char *symbol, struct inclist *file, - struct inclist **srcfile); -struct symtab **fdefined(const char *symbol, struct inclist *file, - struct inclist **srcfile); -struct filepointer *getfile(const char *file); -void included_by(struct inclist *ip, - struct inclist *newfile); -struct inclist *newinclude(const char *newfile, - const char *incstring); -void inc_clean (void); -struct inclist *inc_path(const char *file, const char *include, - int type); - -void freefile(struct filepointer *fp); - -void define2(const char *name, const char *val, - struct inclist *file); -void define(char *def, struct inclist *file); -void undefine(const char *symbol, struct inclist *file); -int find_includes(struct filepointer *filep, - struct inclist *file, - struct inclist *file_red, - int recursion, boolean failOK); - -void recursive_pr_include(struct inclist *head, - const char *file, - const char *base); -void add_include(struct filepointer *filep, - struct inclist *file, - struct inclist *file_red, - const char *include, int type, - boolean failOK); - -int cppsetup(const char *filename, - const char *line, - struct filepointer *filep, - struct inclist *inc); - +/* main.c */ +int match(const char *str, const char *const *list); +char *getnextline(struct filepointer *fp); +struct filepointer *getfile(const char *file); +void freefile(struct filepointer *fp); + +/* include.c */ +void included_by(struct inclist *ip, struct inclist *newfile); +struct inclist *newinclude(const char *newfile, const char *incstring, + const char *incpath); +void inc_clean(void); +struct inclist *inc_path(const char *file, const char *include, int type); + +/* parse.c */ +struct symtab **isdefined(const char *symbol, struct inclist *file, + struct inclist **srcfile); +void define2(const char *name, const char *val, struct inclist *file); +void define(char *def, struct inclist *file); +void undefine(const char *symbol, struct inclist *file); +int find_includes(struct filepointer *filep, + struct inclist *file, struct inclist *file_red, + int recursion, boolean failOK); + +/* pr.c */ +void recursive_pr_include(struct inclist *head, + const char *file, const char *base); +void add_include(struct filepointer *filep, + struct inclist *file, struct inclist *file_red, + const char *include, int type, boolean failOK); + +/* cppsetup.c */ +int cppsetup(const char *filename, const char *line, + struct filepointer *filep, struct inclist *inc); +/* main.c */ extern void fatalerr(const char *, ...) _X_ATTRIBUTE_PRINTF(1, 2) _X_NORETURN; -extern void warning(const char *, ...) _X_ATTRIBUTE_PRINTF(1, 2); +extern void warning(const char *, ...) _X_ATTRIBUTE_PRINTF(1, 2); extern void warning1(const char *, ...) _X_ATTRIBUTE_PRINTF(1, 2); -extern struct inclist inclist[ MAXFILES ]; -extern struct inclist *inclistp; -extern struct inclist *inclistnext; -extern struct inclist maininclist; -extern const char *includedirs[ ]; +extern struct inclist inclist[MAXFILES]; +extern struct inclist *inclistp; +extern struct inclist *inclistnext; +extern struct inclist maininclist; +extern const char *includedirs[]; extern const char **includedirsnext; -extern const char * const directives[]; -extern char *notdotdot[ ]; +extern char *notdotdot[]; -extern const char *objprefix; -extern const char *objsuffix; -extern int width; -extern boolean printed; -extern boolean verbose; -extern boolean show_where_not; -extern boolean warn_multiple; +extern const char *objprefix; +extern const char *objsuffix; +extern int width; +extern boolean printed; +extern boolean verbose; +extern boolean show_where_not; +extern boolean warn_multiple;