cgen: optimize/generalize typ method

pull/4166/head
joe-conigliaro 2020-04-01 00:18:25 +11:00
parent 956bf23390
commit d048bf66b0
No known key found for this signature in database
GPG Key ID: C12F7136C08206F1
2 changed files with 6 additions and 6 deletions

View File

@ -61,7 +61,8 @@ pub enum FormatDelimiter {
space
}
pub struct C.time_t {}
// TODO: C.time_t. works in v2
type time_t voidptr
pub struct C.timeval {
tv_sec u64
@ -70,7 +71,7 @@ pub struct C.timeval {
fn C.localtime(int) &C.tm
fn C.time(int) C.time_t
fn C.time(int) time_t
// now returns current local time.
pub fn now() Time {

View File

@ -148,11 +148,10 @@ pub fn (g mut Gen) typ(t table.Type) string {
}
if styp.starts_with('C__') {
styp = styp[3..]
}
if styp in ['stat', 'dirent*', 'tm', 'tm*', 'winsize', 'sigaction', 'timeval'] {
// TODO perf and other C structs
if sym.kind == .struct_ {
styp = 'struct $styp'
}
}
if table.type_is_optional(t) {
styp = 'Option_' + styp
if !(styp in g.optionals) {