projects
/
m6w6
/
ext-psi
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
travis: update
[m6w6/ext-psi]
/
src
/
types
/
cpp_exp.c
diff --git
a/src/types/cpp_exp.c
b/src/types/cpp_exp.c
index 4892ad252ecbf82cd84f61b017fc0b583dbb07f6..68fec6ec48d3138a21ee131650580e6b1854a67c 100644
(file)
--- a/
src/types/cpp_exp.c
+++ b/
src/types/cpp_exp.c
@@
-51,6
+51,7
@@
struct psi_cpp_exp *psi_cpp_exp_init(token_t type, void *data)
exp->data.tok = data;
break;
case PSI_T_DEFINE:
exp->data.tok = data;
break;
case PSI_T_DEFINE:
+ case PSI_T_PRAGMA:
exp->data.decl = data;
break;
case PSI_T_IF:
exp->data.decl = data;
break;
case PSI_T_IF:
@@
-59,7
+60,6
@@
struct psi_cpp_exp *psi_cpp_exp_init(token_t type, void *data)
break;
case PSI_T_ENDIF:
case PSI_T_ELSE:
break;
case PSI_T_ENDIF:
case PSI_T_ELSE:
- case PSI_T_PRAGMA_ONCE:
break;
default:
assert(0);
break;
default:
assert(0);
@@
-87,6
+87,7
@@
void psi_cpp_exp_free(struct psi_cpp_exp **exp_ptr)
psi_token_free(&exp->data.tok);
break;
case PSI_T_DEFINE:
psi_token_free(&exp->data.tok);
break;
case PSI_T_DEFINE:
+ case PSI_T_PRAGMA:
psi_cpp_macro_decl_free(&exp->data.decl);
break;
case PSI_T_IF:
psi_cpp_macro_decl_free(&exp->data.decl);
break;
case PSI_T_IF:
@@
-95,7
+96,6
@@
void psi_cpp_exp_free(struct psi_cpp_exp **exp_ptr)
break;
case PSI_T_ENDIF:
case PSI_T_ELSE:
break;
case PSI_T_ENDIF:
case PSI_T_ELSE:
- case PSI_T_PRAGMA_ONCE:
break;
default:
assert(0);
break;
default:
assert(0);
@@
-131,6
+131,7
@@
void psi_cpp_exp_dump(struct psi_dump *dump, struct psi_cpp_exp *exp)
}
break;
case PSI_T_DEFINE:
}
break;
case PSI_T_DEFINE:
+ case PSI_T_PRAGMA:
psi_cpp_macro_decl_dump(dump, exp->data.decl);
break;
case PSI_T_IF:
psi_cpp_macro_decl_dump(dump, exp->data.decl);
break;
case PSI_T_IF:
@@
-139,7
+140,6
@@
void psi_cpp_exp_dump(struct psi_dump *dump, struct psi_cpp_exp *exp)
break;
case PSI_T_ENDIF:
case PSI_T_ELSE:
break;
case PSI_T_ENDIF:
case PSI_T_ELSE:
- case PSI_T_PRAGMA_ONCE:
break;
default:
assert(0);
break;
default:
assert(0);
@@
-218,6
+218,11
@@
void psi_cpp_exp_exec(struct psi_cpp_exp *exp, struct psi_cpp *cpp, struct psi_d
exp->data.decl = NULL;
}
break;
exp->data.decl = NULL;
}
break;
+ case PSI_T_PRAGMA:
+ if (!cpp->skip) {
+ psi_cpp_pragma(cpp, exp->data.decl);
+ }
+ break;
case PSI_T_IFDEF:
++cpp->level;
if (!cpp->skip) {
case PSI_T_IFDEF:
++cpp->level;
if (!cpp->skip) {
@@
-323,11
+328,6
@@
void psi_cpp_exp_exec(struct psi_cpp_exp *exp, struct psi_cpp *cpp, struct psi_d
}
}
break;
}
}
break;
- case PSI_T_PRAGMA_ONCE:
- if (!cpp->skip) {
- zend_hash_add_empty_element(&cpp->once, exp->token->file);
- }
- break;
default:
assert(0);
break;
default:
assert(0);
break;