# include <fcntl.h>
# if defined (WIN32) || defined (OS2) && defined (__IBMC__)
# include <io.h>
+/* SMF */
+# ifndef BCC32
# include <sys/utime.h> /* for __DATE__ and __TIME__ */
+# endif
+
# include <time.h>
# else
# ifndef VMS
# if defined (WIN32) || defined (OS2) && defined (__IBMC__)
+/* SMF */
+# ifndef BCC32
/*
** WIN32 (at least the VC++ include files) does not define mode_t.
*/
/*@-incondefs@*/ /*@-czechtypes@*/
typedef unsigned int mode_t;
/*@=incondefs@*/ /*@=czechtypes@*/
+# endif
# endif
defn->predefined = NULL;
exp_p = defn->expansion = (char *) defn + sizeof (*defn);
+ *defn->expansion = '\0'; /* convince splint it is initialized */
defn->line = 0;
defn->rest_args = NULL;
llfatalbug (cstring_makeLiteral ("Maximum definition size exceeded."));
}
- /*@i1@*/ return defn; /* Spurious warning here */
+ return defn; /* Spurious warning here */
}
/*
{
llfatalbug (cstring_makeLiteral ("Maximum definition size exceeded."));
}
-
- /*@i1@*/ return defn; /* Spurious warning here */
+
+ /*@-compdef@*/ /* defn->expansion defined? */
+ return defn;
+ /*@=compdef@*/
}
/*
else if (hp->type == T_CONST)
ok = !CPPOPTIONS (pfile)->done_initializing;
else {
- BADBRANCH;
+ ok = FALSE; /* Redefining anything else is bad. */
}
/* Print the warning if it's not ok. */
/*drl 1/9/2001/ try to define the right symbol for the architecture
We use autoconf to determine the target cpu
*/
+# ifndef S_SPLINT_S
cpplib_installBuiltin ("__" TARGET_CPU, ctype_int, -1, T_CONST, 2, NULL, -1);
+# endif
/*drl 1/2/2002 set some flags based on uname
I'd like to be able to do this with autoconf macro instead...
if (cc == '\n')
{
/* Backslash newline is replaced by nothing at all. */
+ pfile->lineno++; /* 2003-11-03: AMiller suggested adding this, but
+ its not clear why it is needed. */
cppReader_adjustWritten (pfile, -1);
pfile->lineno++;
}
bool system_header_p,
/*@dependent@*/ struct file_name_list *dirptr)
{
- mode_t st_mode;
+ mode_t st_mode; /* was __mode_t */
size_t st_size;
long i;
int length = 0;
if (fstat (fd, &sbuf) < 0) {
*mode_pointer = 0;
*size_pointer = 0;
+ /*@-compdestroy@*/ /* possibly spurious warnings here (or memory leak) */
return (-1);
+ /*@=compdestroy@*/
}
if (mode_pointer != NULL)
{
+ /*@-type@*/ /* confusion between __mode_t and mode_t types */
*mode_pointer = sbuf.st_mode;
+ /*@=type@*/
}
if (size_pointer != NULL)
*size_pointer = (size_t) sbuf.st_size;
}
+ /*@-compdestroy@*/ /* possibly spurious warnings here (or memory leak) */
return 0;
+ /*@=compdestroy@*/
}
/* Read LEN bytes at PTR from descriptor DESC, for file FILENAME,
}
pmark->position = pbuf->cur - pbuf->buf;
- DPRINTF (("move mark: %s", pmark->position));
+ DPRINTF (("move mark: %d", pmark->position));
}
void cpplib_initializeReader (cppReader *pfile) /* Must be done after library is loaded. */
{
bool checkmacro = FALSE;
bool hasParams = FALSE;
- bool noexpand = FALSE;
cstring sname;
char c;
}
else
{
- if (noexpand)
- {
- checkmacro = TRUE;
-
- if (!expectenditer)
- {
- noexpand = FALSE;
- }
- }
- else
- {
if (usymtab_existsReal (sname))
{
uentry ue = usymtab_lookup (sname);
incLine ();
}
}
- }
}
if (!checkmacro)