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