projects
/
m6w6
/
ext-psi
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
fix leaks
[m6w6/ext-psi]
/
src
/
context_validate.c
diff --git
a/src/context_validate.c
b/src/context_validate.c
index 87aba784064c7d3f1fd2a907940d6a482d9bdb49..435dc2d0e4b2bf80f5d753dec4808b069259952f 100644
(file)
--- a/
src/context_validate.c
+++ b/
src/context_validate.c
@@
-531,9
+531,6
@@
static inline int validate_decl_func(PSI_Data *data, void *dl, decl *decl, decl_
return 0;
}
return 0;
}
- if (!validate_decl_arg(data, func)) {
- return 0;
- }
for (redir = &psi_func_redirs[0]; redir->name; ++redir) {
if (!strcmp(func->var->name, redir->name)) {
decl->call.sym = redir->func;
for (redir = &psi_func_redirs[0]; redir->name; ++redir) {
if (!strcmp(func->var->name, redir->name)) {
decl->call.sym = redir->func;
@@
-552,14
+549,13
@@
static inline int validate_decl_func(PSI_Data *data, void *dl, decl *decl, decl_
}
return 1;
}
}
return 1;
}
-
-static inline int validate_decl(PSI_Data *data, void *dl, decl *decl) {
+static inline int validate_decl_nodl(PSI_Data *data, decl *decl) {
if (!validate_decl_abi(data, decl->abi)) {
data->error(data, decl->abi->token, PSI_WARNING,
"Invalid calling convention: '%s'", decl->abi->token->text);
return 0;
}
if (!validate_decl_abi(data, decl->abi)) {
data->error(data, decl->abi->token, PSI_WARNING,
"Invalid calling convention: '%s'", decl->abi->token->text);
return 0;
}
- if (!validate_decl_
func(data, dl, decl
, decl->func)) {
+ if (!validate_decl_
arg(data
, decl->func)) {
return 0;
}
if (decl->args) {
return 0;
}
if (decl->args) {
@@
-573,6
+569,15
@@
static inline int validate_decl(PSI_Data *data, void *dl, decl *decl) {
}
return 1;
}
}
return 1;
}
+static inline int validate_decl(PSI_Data *data, void *dl, decl *decl) {
+ if (!validate_decl_nodl(data, decl)) {
+ return 0;
+ }
+ if (!validate_decl_func(data, dl, decl, decl->func)) {
+ return 0;
+ }
+ return 1;
+}
static inline decl_arg *locate_decl_var_arg(decl_var *var, decl_args *args, decl_arg *func) {
size_t i;
static inline decl_arg *locate_decl_var_arg(decl_var *var, decl_args *args, decl_arg *func) {
size_t i;
@@
-963,7
+968,7
@@
static inline int validate_let_callback(PSI_Data *data, decl_var *cb_var, let_ca
}
}
}
}
- if (!validate_decl
(data, NULL
, cb_func)) {
+ if (!validate_decl
_nodl(data
, cb_func)) {
return 0;
}
return 0;
}