# Copyright 2017 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.

include <foo/bar.h>
incdir </foo>
include <bar/foo.h>
incdir </bar>

flags = CONST3, CONST2, CONST1

define CONST1 1
define CONST2 FOOBAR + 1

foo(x const[CONST4], y ptr[out, array[int32, CONST5]])
bar$BAR()

str {
	f1	const[CONST6, int32]
	f2	array[array[int8, CONST7]]
}

bar$BAZ(x vma[opt], y vma[CONST8], z vma[CONST9:CONST10])
bar$QUX(s ptr[in, string["foo", CONST11]], x ptr[in, csum[s, pseudo, CONST12, int16]])
bar$FOO(x int8[8:CONST13], y int16be[CONST14:10], z intptr[CONST15:CONST16])

type type0 const[CONST17, int8]
type templ0[C] const[C, int8]
foo$0(a templ0[CONST18])
type templ1[C] {
	f1	const[CONST19, int8]
	f2	const[C, int8]
}
foo$1(a ptr[in, templ1[CONST20]])

str2 {
	f1	int8
} [size[CONST21]]

_ = CONST22, CONST23
_ = CONST24