15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Copyright (c) 2011 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)   Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  found in the LICENSE file. */
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* This file tests parsing of typedefs under different conditions */
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* OK Typedef(T1) */
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int32_t T1;
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* FAIL Unexpected comment after symbol T2. */
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int32_t T2
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* OK Typedef(T3) */
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int32_t[] T3;
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* OK Typedef(T4) */
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int32_t[][4] T4;
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* FAIL Unexpected "(" after symbol T5. */
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int32_t[4] T5();
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* OK Typedef(T6) */
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int32_t T6([in] int32_t x);
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* OK Typedef(T7) */
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int32_t T7(
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* OK Param(x) */
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  [in] int32_t x,
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* OK Param(y) */
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  [in] int32_t y);
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* OK Typedef(T8) */
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef T3 T8(
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* OK Param(x) */
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  [in] int x,
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* OK Param(y) */
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  [in] int y,
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* OK Param(z) */
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* FAIL Missing argument. */
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  [in] int z,);
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* FAIL Unexpected keyword "enum" after symbol int32_t. */
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef int32_t enum;
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* FAIL Unexpected ";" after symbol foo. */
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef foo;
47