This file is indexed.

/usr/include/freehdl/vaul-chunk.t is in libfreehdl0-dev 0.0.8-2.2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
;; -*- scheme -*-

(include "freehdl/fire-chunk.t")

(define (format-vaul-kind name)
  (upcase (concat-strings (syllables name) "_")))

(chunk vaul
  (struct-fmt "~a")
  (pointer-fmt "p~a")
  (kind-fmt-func format-vaul-kind)
  (creator-fmt "m~a"))

(header-add "#include <freehdl/fire.h>"
	    "#include <freehdl/vaul-types.h>"
	    "#include <freehdl/vaul-creator-base.h>"
	    "struct vaul_decl_set;")

(impl-add "#include <freehdl/vaul-chunk.h>")

(defctype vaul_id_set)
(defctype vaul_decl_set_ptr (cname "vaul_decl_set*"))
(defctype vaul_incomplete_type_use_ptr (cname "vaul_incomplete_type_use*"))

;; Extensions of FIRE nodes.

(defextension IIR_DeclarativeRegion
  ((vaul_id_set decls_in_flight)
   (IIR_DeclarationList tail (= "NULL"))))

(defextension IIR_SimpleReference
  ((VAUL_Name simple_reference_name (= "NULL"))))

(defextension IIR_ChoiceByRange
  ((bool actual_is_slice (= "false"))))

(defextension IIR_BlockStatement
  ((VAUL_ConfigSpec config_specs (= "NULL"))))

;; Additional nodes that VAUL needs for analyzing the source files.
;; They will not appear in the generated graph but VAUL needs them
;; internally.

(defnode VAUL_DelayMechanism (IIR_Root)
  ())

(defnode VAUL_DelayInertial (VAUL_DelayMechanism)
  ((IIR_Expression rejection_time)))

(defnode VAUL_DelayTransport (VAUL_DelayMechanism)
  ())

(defnode VAUL_CondalWaveform (IIR_Root)
  ((IIR_WaveformList wave)
   (IIR_Expression condition)
   (VAUL_CondalWaveform else_wave))
  (reverse else_wave))

(defnode VAUL_CondalSignalAssign (IIR_Root)
  ((IIR_Expression target)
   (bool guarded)
   (VAUL_DelayMechanism delay)
   (VAUL_CondalWaveform wave)))

(defnode VAUL_SelWaveform (IIR_Root)
  ((IIR_WaveformList wave)
   (IIR_ChoiceList choice)
   (VAUL_SelWaveform next_wave))
  (reverse next_wave))

(defnode VAUL_SelSignalAssign (IIR_Root)
  ((IIR_Expression value)
   (IIR_Expression target)
   (bool guarded)
   (VAUL_DelayMechanism delay)
   (VAUL_SelWaveform wave)))

(defnode VAUL_DesigList (IIR_Root)
  ((IIR_TextLiteral desig)
   (VAUL_DesigList link))
  (reverse link))

;;; Names

(defnode VAUL_Name (IIR_Root)
  ())

(defnode VAUL_SimpleName (VAUL_Name)
  ((IIR_TextLiteral id)))

(defnode VAUL_SelName (VAUL_Name)
  ((VAUL_Name prefix)
   (IIR_TextLiteral suffix)))

(defnode VAUL_IftsName (VAUL_Name)
  ((VAUL_Name prefix)
   (VAUL_GenAssocElem assoc)))

(defnode VAUL_AttributeName (VAUL_Name)
  ((VAUL_Name prefix)
   (IIR_Identifier attribute)
   (VAUL_NamedAssocElem first_actual)))

(defnode VAUL_SelNameList (IIR_Root)
  ((VAUL_SelName name)
   (VAUL_SelNameList link))
  (reverse link))

(defnode VAUL_NameList (IIR_Root)
  ((VAUL_Name name)
   (VAUL_NameList link))
  (reverse link))

(defnode VAUL_TopScope (IIR_DeclarativeRegion)
  ())

(defnode VAUL_StandardPackage (IIR_PackageDeclaration)
  ((IIR_Type predef_BIT)
   (IIR_Type predef_BOOLEAN)
   (IIR_Type predef_INTEGER)
   (IIR_Type predef_REAL)
   (IIR_Type predef_TIME)
   (IIR_Type predef_CHARACTER)
   (IIR_Type predef_STRING)
   (IIR_Type predef_BIT_VECTOR)
   (IIR_Type predef_SEVERITY_LEVEL)
   (IIR_Type predef_FILE_OPEN_KIND)
   (IIR_Type predef_FILE_OPEN_STATUS)
   (IIR_Type universal_integer)
   (IIR_Type universal_real)))

(defnode VAUL_IncompleteType (IIR_Type)
  ((vaul_incomplete_type_use_ptr uses)))

;; this is used during overload resolution as the return type of
;; procedures
(defnode VAUL_VoidType (IIR_Type)
  ())

;; this is used for aggregates
(defnode VAUL_SubarrayType (IIR_ArrayType)
  ((IIR_ArrayType complete_type)))

(defnode VAUL_PreIndexConstraint (IIR_Type)
  ())

(defnode VAUL_PreIndexRangeConstraint (VAUL_PreIndexConstraint)
  ((IIR_Range range)))

(defnode VAUL_PreIndexSubtypeConstraint (VAUL_PreIndexConstraint)
  ((IIR_Type type)))

(defnode VAUL_GuardSignal (IIR_SignalDeclaration)
  ())

;;; Expressions

(defnode VAUL_UnresolvedName (IIR_Expression)
  ((VAUL_Name name)))

(defnode VAUL_ProcedureCall (IIR_Expression)
  ((IIR_ProcedureDeclaration proc)
   (IIR_AssociationList actuals)))

(defnode VAUL_AmbgCall (IIR_Expression)
  ((VAUL_NamedAssocElem first_actual)
   (vaul_decl_set_ptr set)))

(defnode VAUL_GenAssocElem (IIR_Root)
  ((VAUL_GenAssocElem next))
  (reverse next))

(defnode VAUL_NamedAssocElem (VAUL_GenAssocElem)
  ((VAUL_Name formal)
   (IIR_Expression actual)
   (vaul_decl_set_ptr ifts_decls)
   (IR_Kind ifts_kind)
   (VAUL_SimpleName ifts_arg_name)))

(defnode VAUL_SubtypeAssocElem (VAUL_GenAssocElem)
  ((IIR_Type type)))

(defnode VAUL_RangeAssocElem (VAUL_GenAssocElem)
  ((IIR_Range range)))

(defnode VAUL_AmbgArrayLitRef (IIR_Expression)
  ((IIR_StringLiteral value)))

(defnode VAUL_AmbgNullExpr (IIR_Expression)
  ())

(defnode VAUL_AmbgEnumLitRef (IIR_Expression)
  ((vaul_decl_set_ptr set)))

(defnode VAUL_AttributeSpec (IIR_Root)
  ((IIR_Identifier attr_desig)
   (VAUL_EntitySpec entities)
   (IIR_Expression value)))

(defnode VAUL_EntitySpec (IIR_Root)
  ((VAUL_EntityNameList names)
   (IR_Kind entity_class)))

(defnode VAUL_EntityNameList (IIR_Root)
  ())

(defnode VAUL_EntityNameList_Ids (VAUL_EntityNameList)
  ((VAUL_DesigList ids)))

(defnode VAUL_EntityNameList_ALL (VAUL_EntityNameList)
  ())

(defnode VAUL_EntityNameList_OTHERS (VAUL_EntityNameList)
  ())

(defnode VAUL_AmbgAggregate (IIR_Expression)
  ((VAUL_ElemAssoc first_assoc)))

(defnode VAUL_ArtificialAmbgAggregate (VAUL_AmbgAggregate)
  ())

(defnode VAUL_ElemAssoc (IIR_Root)
  ((VAUL_ElemAssoc next)
   (IIR_ChoiceList choices)
   (IIR_Expression actual))
  (reverse next))

(defnode VAUL_ChoiceByName (IIR_Choice)
  ((VAUL_Name name)))

(defnode VAUL_IterationScheme (IIR_Root)
  ())

(defnode VAUL_IfScheme (VAUL_IterationScheme)
  ((IIR_Expression condition)))

(defnode VAUL_WhileScheme (VAUL_IterationScheme)
  ((IIR_Expression condition)))

(defnode VAUL_ForScheme (VAUL_IterationScheme)
  ((IIR_Identifier var)
   (IIR_Type range)))

;; Concurrent Statements

(defnode VAUL_ConfigSpec (IIR_Root)
  ((VAUL_ComponentSpec comps)
   (IIR_BindingIndication binding)
   (VAUL_ConfigSpec next))
  (reverse next))

(defextension IIR_ConfigurationSpecification
  ((bool bound_by_name)))

(defextension IIR_ComponentConfiguration
  ((bool bound_by_name)))

(defnode VAUL_ComponentSpec (IIR_Root)
  ((VAUL_InstList ids)
   (IIR_ComponentDeclaration comp)))

(defnode VAUL_InstList (IIR_Root)
  ())

(defnode VAUL_InstList_Ids (VAUL_InstList)
  ((IIR_IdentifierList ids)))

(defnode VAUL_InstList_ALL (VAUL_InstList)
  ())

(defnode VAUL_InstList_OTHERS (VAUL_InstList)
  ())

(defnode VAUL_IncrementalBindingIndic (IIR_Root)
  ((IIR_DeclarativeRegion unit)
   (VAUL_NamedAssocElem generic_assoc)
   (VAUL_NamedAssocElem port_assoc)))

(defnode VAUL_DeclCache ()
  ((VAUL_DeclCache next)
   (vaul_decl_set_ptr set)
   (IIR_TextLiteral id)
   (IIR_Declaration scope)
   (bool by_sel)))

(defnode VAUL_FilenameAndMode ()
  ((IIR_Expression name)
   (IR_Mode mode)))

(defcreator vaul_node_creator
  (base vaul_node_creator_base)
  (chunks fire vaul)
  (placement "&hist")
  (inits
   (IIR_Root)
   (IIR_Root (pos (wrap ((int lineno)) "make_posinfo(lineno)")))

   (IIR_TextLiteral)
   (IIR_TextLiteral (text (wrap ((IR_Character *str) (int len))
				"IR_String(str, len)")))
   (IIR_IntegerLiteral)
   (IIR_IntegerLiteral
    (text (wrap ((IR_Character *str) (int len))
		"IR_String(str, len)")))
   (IIR_FloatingPointLiteral)
   (IIR_FloatingPointLiteral
    (text (wrap ((IR_Character *str) (int len))
		"IR_String(str, len)")))

   (IIR_Declaration (declarative_region NULL) (attributes NULL) (seqno "-1"))
   (IIR_DeclarativeRegion (continued NULL) (declarations NULL))
   (IIR_LibraryUnit (context_items NULL)
		    (external_decls NULL)
		    (library_name NULL)
		    (used_units NULL))
   (IIR_Type ((type_definition NULL)
	      (declaration NULL)
	      (base NULL)
	      (static_level IR_NOT_STATIC))
	     (construct-extra "vaul_fix_static_level"))
   (IIR_Subtype (base #f))
   (VAUL_StandardPackage (predef_BIT NULL) (predef_BOOLEAN NULL)
			 (predef_INTEGER NULL) (predef_REAL NULL)
			 (predef_TIME NULL) (predef_CHARACTER NULL)
			 (predef_STRING NULL) (predef_BIT_VECTOR NULL)
			 (predef_SEVERITY_LEVEL NULL)
			 (predef_FILE_OPEN_KIND NULL)
			 (predef_FILE_OPEN_STATUS NULL)
			 (universal_integer NULL) (universal_real NULL))
   (IIR_ObjectDeclaration (alias_base NULL))
   (IIR_SubprogramDeclaration (subprogram_body NULL) (prototype NULL))
   (IIR_EntityDeclaration (generic_clause NULL) (port_clause NULL)
			  (entity_statement_part NULL))
   (IIR_ArchitectureDeclaration (configuration_specifications NULL)
				(architecture_statement_part NULL))
   (IIR_ConfigurationDeclaration (block_configuration NULL))
   (IIR_ComponentDeclaration (local_generic_clause NULL)
			     (local_port_clause NULL))
   (IIR_SequentialStatement (label NULL))
   (IIR_ProcessStatement (guarded false))
   (VAUL_CondalWaveform (else_wave NULL))
   (IIR_BlockStatement (generic_clause NULL) (generic_map_aspect NULL)
		       (port_clause NULL) (port_map_aspect NULL)
		       (block_statement_part NULL))
   (IIR_ConcurrentGenerateStatement (configuration_specifications NULL))
   (VAUL_ConfigSpec (next NULL))
   (IIR_ConfigurationDeclaration (block_config NULL))
   (VAUL_AmbgCall (set NULL))
   (VAUL_AmbgEnumLitRef (set NULL))
   (VAUL_IncompleteType (uses NULL))
   (VAUL_NamedAssocElem (ifts_decls NULL) (ifts_kind NULL)
			(ifts_arg_name NULL))
   (VAUL_DeclCache (next NULL))
   (IIR_Expression (static_level IR_NOT_STATIC))))

(defunion VAUL_Tree
  (chunks fire vaul))