[svn-r11694] Purpose: Bug fix

Description: lex.yy.c for H5LTtext_to_dtype() has been failing to compile
on 64-bit SunOS.  It has malloc() call but doesn't include stdlib.h.

Solution:  Include stdlib.h in H5LTanalyze.l.

Platforms tested: shanti - simple change.
This commit is contained in:
Raymond Lu 2005-11-09 15:15:03 -05:00
parent e5e17162c0
commit 73d95bbae9
2 changed files with 86 additions and 70 deletions

View File

@ -13,6 +13,7 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
%{
#include <stdlib.h>
#include <string.h>
#include<hdf5.h>
#include "y.tab.h"

View File

@ -1,3 +1,17 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the files COPYING and Copyright.html. COPYING can be found at the root *
* of the source code distribution tree; Copyright.html can be found at the *
* root level of an installed copy of the electronic HDF5 document set and *
* is linked from the top-level documents page. It can also be found at *
* http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have *
* access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* A lexical scanner generated by flex */
/* Scanner skeleton version:
@ -732,7 +746,8 @@ goto find_rule; \
char *yytext;
#line 1 "H5LTanalyze.l"
#define INITIAL 0
#line 2 "H5LTanalyze.l"
#line 3 "H5LTanalyze.l"
#include <stdlib.h>
#include <string.h>
#include<hdf5.h>
#include "y.tab.h"
@ -784,7 +799,7 @@ char *myinput;*/
#define TAG_STRING 1
#line 788 "lex.yy.c"
#line 789 "lex.yy.c"
/* Macros after this point can all be overridden by user definitions in
* section 1.
@ -935,10 +950,10 @@ YY_DECL
register char *yy_cp = NULL, *yy_bp = NULL;
register int yy_act;
#line 55 "H5LTanalyze.l"
#line 57 "H5LTanalyze.l"
#line 942 "lex.yy.c"
#line 943 "lex.yy.c"
if ( yy_init )
{
@ -1024,272 +1039,272 @@ do_action: /* This label is used only to access EOF actions. */
{ /* beginning of action switch */
case 1:
YY_RULE_SETUP
#line 57 "H5LTanalyze.l"
#line 59 "H5LTanalyze.l"
{return token(H5T_STD_I8BE_TOKEN);}
YY_BREAK
case 2:
YY_RULE_SETUP
#line 58 "H5LTanalyze.l"
#line 60 "H5LTanalyze.l"
{return token(H5T_STD_I8LE_TOKEN);}
YY_BREAK
case 3:
YY_RULE_SETUP
#line 59 "H5LTanalyze.l"
#line 61 "H5LTanalyze.l"
{return token(H5T_STD_I16BE_TOKEN);}
YY_BREAK
case 4:
YY_RULE_SETUP
#line 60 "H5LTanalyze.l"
#line 62 "H5LTanalyze.l"
{return token(H5T_STD_I16LE_TOKEN);}
YY_BREAK
case 5:
YY_RULE_SETUP
#line 61 "H5LTanalyze.l"
#line 63 "H5LTanalyze.l"
{return token(H5T_STD_I32BE_TOKEN);}
YY_BREAK
case 6:
YY_RULE_SETUP
#line 62 "H5LTanalyze.l"
#line 64 "H5LTanalyze.l"
{return token(H5T_STD_I32LE_TOKEN);}
YY_BREAK
case 7:
YY_RULE_SETUP
#line 63 "H5LTanalyze.l"
#line 65 "H5LTanalyze.l"
{return token(H5T_STD_I64BE_TOKEN);}
YY_BREAK
case 8:
YY_RULE_SETUP
#line 64 "H5LTanalyze.l"
#line 66 "H5LTanalyze.l"
{return token(H5T_STD_I64LE_TOKEN);}
YY_BREAK
case 9:
YY_RULE_SETUP
#line 66 "H5LTanalyze.l"
#line 68 "H5LTanalyze.l"
{return token(H5T_STD_U8BE_TOKEN);}
YY_BREAK
case 10:
YY_RULE_SETUP
#line 67 "H5LTanalyze.l"
#line 69 "H5LTanalyze.l"
{return token(H5T_STD_U8LE_TOKEN);}
YY_BREAK
case 11:
YY_RULE_SETUP
#line 68 "H5LTanalyze.l"
#line 70 "H5LTanalyze.l"
{return token(H5T_STD_U16BE_TOKEN);}
YY_BREAK
case 12:
YY_RULE_SETUP
#line 69 "H5LTanalyze.l"
#line 71 "H5LTanalyze.l"
{return token(H5T_STD_U16LE_TOKEN);}
YY_BREAK
case 13:
YY_RULE_SETUP
#line 70 "H5LTanalyze.l"
#line 72 "H5LTanalyze.l"
{return token(H5T_STD_U32BE_TOKEN);}
YY_BREAK
case 14:
YY_RULE_SETUP
#line 71 "H5LTanalyze.l"
#line 73 "H5LTanalyze.l"
{return token(H5T_STD_U32LE_TOKEN);}
YY_BREAK
case 15:
YY_RULE_SETUP
#line 72 "H5LTanalyze.l"
#line 74 "H5LTanalyze.l"
{return token(H5T_STD_U64BE_TOKEN);}
YY_BREAK
case 16:
YY_RULE_SETUP
#line 73 "H5LTanalyze.l"
#line 75 "H5LTanalyze.l"
{return token(H5T_STD_U64LE_TOKEN);}
YY_BREAK
case 17:
YY_RULE_SETUP
#line 75 "H5LTanalyze.l"
#line 77 "H5LTanalyze.l"
{return token(H5T_NATIVE_CHAR_TOKEN);}
YY_BREAK
case 18:
YY_RULE_SETUP
#line 76 "H5LTanalyze.l"
#line 78 "H5LTanalyze.l"
{return token(H5T_NATIVE_SCHAR_TOKEN);}
YY_BREAK
case 19:
YY_RULE_SETUP
#line 77 "H5LTanalyze.l"
#line 79 "H5LTanalyze.l"
{return token(H5T_NATIVE_UCHAR_TOKEN);}
YY_BREAK
case 20:
YY_RULE_SETUP
#line 78 "H5LTanalyze.l"
#line 80 "H5LTanalyze.l"
{return token(H5T_NATIVE_SHORT_TOKEN);}
YY_BREAK
case 21:
YY_RULE_SETUP
#line 79 "H5LTanalyze.l"
#line 81 "H5LTanalyze.l"
{return token(H5T_NATIVE_USHORT_TOKEN);}
YY_BREAK
case 22:
YY_RULE_SETUP
#line 80 "H5LTanalyze.l"
#line 82 "H5LTanalyze.l"
{return token(H5T_NATIVE_INT_TOKEN);}
YY_BREAK
case 23:
YY_RULE_SETUP
#line 81 "H5LTanalyze.l"
#line 83 "H5LTanalyze.l"
{return token(H5T_NATIVE_UINT_TOKEN);}
YY_BREAK
case 24:
YY_RULE_SETUP
#line 82 "H5LTanalyze.l"
#line 84 "H5LTanalyze.l"
{return token(H5T_NATIVE_LONG_TOKEN);}
YY_BREAK
case 25:
YY_RULE_SETUP
#line 83 "H5LTanalyze.l"
#line 85 "H5LTanalyze.l"
{return token(H5T_NATIVE_ULONG_TOKEN);}
YY_BREAK
case 26:
YY_RULE_SETUP
#line 84 "H5LTanalyze.l"
#line 86 "H5LTanalyze.l"
{return token(H5T_NATIVE_LLONG_TOKEN);}
YY_BREAK
case 27:
YY_RULE_SETUP
#line 85 "H5LTanalyze.l"
#line 87 "H5LTanalyze.l"
{return token(H5T_NATIVE_ULLONG_TOKEN);}
YY_BREAK
case 28:
YY_RULE_SETUP
#line 87 "H5LTanalyze.l"
#line 89 "H5LTanalyze.l"
{return token(H5T_IEEE_F32BE_TOKEN);}
YY_BREAK
case 29:
YY_RULE_SETUP
#line 88 "H5LTanalyze.l"
#line 90 "H5LTanalyze.l"
{return token(H5T_IEEE_F32LE_TOKEN);}
YY_BREAK
case 30:
YY_RULE_SETUP
#line 89 "H5LTanalyze.l"
#line 91 "H5LTanalyze.l"
{return token(H5T_IEEE_F64BE_TOKEN);}
YY_BREAK
case 31:
YY_RULE_SETUP
#line 90 "H5LTanalyze.l"
#line 92 "H5LTanalyze.l"
{return token(H5T_IEEE_F64LE_TOKEN);}
YY_BREAK
case 32:
YY_RULE_SETUP
#line 91 "H5LTanalyze.l"
#line 93 "H5LTanalyze.l"
{return token(H5T_NATIVE_FLOAT_TOKEN);}
YY_BREAK
case 33:
YY_RULE_SETUP
#line 92 "H5LTanalyze.l"
#line 94 "H5LTanalyze.l"
{return token(H5T_NATIVE_DOUBLE_TOKEN);}
YY_BREAK
case 34:
YY_RULE_SETUP
#line 93 "H5LTanalyze.l"
#line 95 "H5LTanalyze.l"
{return token(H5T_NATIVE_LDOUBLE_TOKEN);}
YY_BREAK
case 35:
YY_RULE_SETUP
#line 95 "H5LTanalyze.l"
#line 97 "H5LTanalyze.l"
{return token(H5T_STRING_TOKEN);}
YY_BREAK
case 36:
YY_RULE_SETUP
#line 96 "H5LTanalyze.l"
#line 98 "H5LTanalyze.l"
{return token(STRSIZE_TOKEN);}
YY_BREAK
case 37:
YY_RULE_SETUP
#line 97 "H5LTanalyze.l"
#line 99 "H5LTanalyze.l"
{return token(STRPAD_TOKEN);}
YY_BREAK
case 38:
YY_RULE_SETUP
#line 98 "H5LTanalyze.l"
#line 100 "H5LTanalyze.l"
{return token(CSET_TOKEN);}
YY_BREAK
case 39:
YY_RULE_SETUP
#line 99 "H5LTanalyze.l"
#line 101 "H5LTanalyze.l"
{return token(CTYPE_TOKEN);}
YY_BREAK
case 40:
YY_RULE_SETUP
#line 100 "H5LTanalyze.l"
#line 102 "H5LTanalyze.l"
{return token(H5T_STR_NULLTERM_TOKEN);}
YY_BREAK
case 41:
YY_RULE_SETUP
#line 101 "H5LTanalyze.l"
#line 103 "H5LTanalyze.l"
{return token(H5T_STR_NULLPAD_TOKEN);}
YY_BREAK
case 42:
YY_RULE_SETUP
#line 102 "H5LTanalyze.l"
#line 104 "H5LTanalyze.l"
{return token(H5T_STR_SPACEPAD_TOKEN);}
YY_BREAK
case 43:
YY_RULE_SETUP
#line 103 "H5LTanalyze.l"
#line 105 "H5LTanalyze.l"
{return token(H5T_CSET_ASCII_TOKEN);}
YY_BREAK
case 44:
YY_RULE_SETUP
#line 104 "H5LTanalyze.l"
#line 106 "H5LTanalyze.l"
{return token(H5T_C_S1_TOKEN);}
YY_BREAK
case 45:
YY_RULE_SETUP
#line 105 "H5LTanalyze.l"
#line 107 "H5LTanalyze.l"
{return token(H5T_FORTRAN_S1_TOKEN);}
YY_BREAK
case 46:
YY_RULE_SETUP
#line 106 "H5LTanalyze.l"
#line 108 "H5LTanalyze.l"
{return token(H5T_VARIABLE_TOKEN);}
YY_BREAK
case 47:
YY_RULE_SETUP
#line 108 "H5LTanalyze.l"
#line 110 "H5LTanalyze.l"
{return token(H5T_COMPOUND_TOKEN);}
YY_BREAK
case 48:
YY_RULE_SETUP
#line 109 "H5LTanalyze.l"
#line 111 "H5LTanalyze.l"
{return token(H5T_ENUM_TOKEN);}
YY_BREAK
case 49:
YY_RULE_SETUP
#line 110 "H5LTanalyze.l"
#line 112 "H5LTanalyze.l"
{return token(H5T_ARRAY_TOKEN);}
YY_BREAK
case 50:
YY_RULE_SETUP
#line 111 "H5LTanalyze.l"
#line 113 "H5LTanalyze.l"
{return token(H5T_VLEN_TOKEN);}
YY_BREAK
case 51:
YY_RULE_SETUP
#line 113 "H5LTanalyze.l"
#line 115 "H5LTanalyze.l"
{return token(H5T_OPAQUE_TOKEN);}
YY_BREAK
case 52:
YY_RULE_SETUP
#line 114 "H5LTanalyze.l"
#line 116 "H5LTanalyze.l"
{return token(OPQ_SIZE_TOKEN);}
YY_BREAK
case 53:
YY_RULE_SETUP
#line 115 "H5LTanalyze.l"
#line 117 "H5LTanalyze.l"
{return token(OPQ_TAG_TOKEN);}
YY_BREAK
case 54:
YY_RULE_SETUP
#line 117 "H5LTanalyze.l"
#line 119 "H5LTanalyze.l"
{
if(is_str_size || (is_enum && is_enum_memb) ||
is_opq_size || (asindex>-1 && arr_stack[asindex].is_dim)) {
@ -1301,7 +1316,7 @@ YY_RULE_SETUP
YY_BREAK
case 55:
YY_RULE_SETUP
#line 126 "H5LTanalyze.l"
#line 128 "H5LTanalyze.l"
{
/*if it's first quote, and is a opaque tag or an enum symbol*/
if((is_opq_tag || is_enum || (csindex>-1 && cmpd_stack[csindex].is_field)) && first_quote) {
@ -1314,7 +1329,7 @@ YY_RULE_SETUP
YY_BREAK
case 56:
YY_RULE_SETUP
#line 135 "H5LTanalyze.l"
#line 137 "H5LTanalyze.l"
{
yylval.sval = strdup(yytext);
BEGIN INITIAL;
@ -1323,45 +1338,45 @@ YY_RULE_SETUP
YY_BREAK
case 57:
YY_RULE_SETUP
#line 141 "H5LTanalyze.l"
#line 143 "H5LTanalyze.l"
{return token('{');}
YY_BREAK
case 58:
YY_RULE_SETUP
#line 142 "H5LTanalyze.l"
#line 144 "H5LTanalyze.l"
{return token('}');}
YY_BREAK
case 59:
YY_RULE_SETUP
#line 143 "H5LTanalyze.l"
#line 145 "H5LTanalyze.l"
{return token('[');}
YY_BREAK
case 60:
YY_RULE_SETUP
#line 144 "H5LTanalyze.l"
#line 146 "H5LTanalyze.l"
{return token(']');}
YY_BREAK
case 61:
YY_RULE_SETUP
#line 145 "H5LTanalyze.l"
#line 147 "H5LTanalyze.l"
{return token(';');}
YY_BREAK
case 62:
YY_RULE_SETUP
#line 146 "H5LTanalyze.l"
#line 148 "H5LTanalyze.l"
;
YY_BREAK
case 63:
YY_RULE_SETUP
#line 147 "H5LTanalyze.l"
#line 149 "H5LTanalyze.l"
{ return 0; }
YY_BREAK
case 64:
YY_RULE_SETUP
#line 149 "H5LTanalyze.l"
#line 151 "H5LTanalyze.l"
ECHO;
YY_BREAK
#line 1365 "lex.yy.c"
#line 1366 "lex.yy.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(TAG_STRING):
yyterminate();
@ -2237,7 +2252,7 @@ int main()
return 0;
}
#endif
#line 149 "H5LTanalyze.l"
#line 151 "H5LTanalyze.l"
int my_yyinput(char *buf, int max_size)
{