From 6f1ae47a374eafcc0114634836562ad27daf4fcd Mon Sep 17 00:00:00 2001 From: Raymond Lu Date: Wed, 12 Sep 2012 11:29:14 -0500 Subject: [svn-r22754] Issue 8140 - return value is missing for H5LTyyerror in H5LTanalyze.l. I put "return 0" in because the program should continue even though there is an error. Tested on jam - simple change. --- hl/src/H5LTanalyze.c | 42 ++++++++++++++++++++++++++---------------- hl/src/H5LTanalyze.l | 1 + 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/hl/src/H5LTanalyze.c b/hl/src/H5LTanalyze.c index 767dfd7..5ec795b 100644 --- a/hl/src/H5LTanalyze.c +++ b/hl/src/H5LTanalyze.c @@ -38,7 +38,7 @@ #define yywrap H5LTyywrap #line 20 "H5LTanalyze.c" -/* A lexical scanner generated by flex */ +/* A lexical scanner generated by flex*/ /* Scanner skeleton version: * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $ @@ -51,7 +51,7 @@ #include #ifdef H5_HAVE_UNISTD_H #include -#endif +#endif /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ #ifdef c_plusplus @@ -175,6 +175,15 @@ extern FILE *yyin, *yyout; #define unput(c) yyunput( c, yytext_ptr ) +/* Some routines like yy_flex_realloc() are emitted as static but are + not called by all lexers. This generates warnings in some compilers, + notably GCC. Arrange to suppress these. */ +#ifdef __GNUC__ +#define YY_MAY_BE_UNUSED __attribute__((unused)) +#else +#define YY_MAY_BE_UNUSED +#endif + /* The following is because we cannot portably get our hands on size_t * (without autoconf's help, which isn't available because we want * flex-generated scanners to compile on their own). @@ -281,7 +290,7 @@ YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); static void *yy_flex_alloc YY_PROTO(( yy_size_t )); -static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); +static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED; static void yy_flex_free YY_PROTO(( void * )); #define yy_new_buffer yy_create_buffer @@ -849,10 +858,10 @@ hbool_t first_quote = 1; /* For Lex and Yacc */ /*int input_len; char *myinput;*/ - + #define TAG_STRING 1 -#line 834 "H5LTanalyze.c" +#line 843 "H5LTanalyze.c" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1006,7 +1015,7 @@ YY_DECL #line 76 "H5LTanalyze.l" -#line 988 "H5LTanalyze.c" +#line 997 "H5LTanalyze.c" if ( yy_init ) { @@ -1288,17 +1297,17 @@ YY_RULE_SETUP case 40: YY_RULE_SETUP #line 121 "H5LTanalyze.l" -{return token(H5T_STR_NULLTERM_TOKEN);} +{return token(H5T_STR_NULLTERM_TOKEN);} YY_BREAK case 41: YY_RULE_SETUP #line 122 "H5LTanalyze.l" -{return token(H5T_STR_NULLPAD_TOKEN);} +{return token(H5T_STR_NULLPAD_TOKEN);} YY_BREAK case 42: YY_RULE_SETUP #line 123 "H5LTanalyze.l" -{return token(H5T_STR_SPACEPAD_TOKEN);} +{return token(H5T_STR_SPACEPAD_TOKEN);} YY_BREAK case 43: YY_RULE_SETUP @@ -1363,12 +1372,12 @@ YY_RULE_SETUP case 55: YY_RULE_SETUP #line 139 "H5LTanalyze.l" -{ - if( is_str_size || (is_enum && is_enum_memb) || +{ + if( is_str_size || (is_enum && is_enum_memb) || is_opq_size || (asindex>-1 && arr_stack[asindex].is_dim) || (csindex>-1 && cmpd_stack[csindex].is_field) ) { H5LTyylval.ival = atoi(yytext); - return NUMBER; + return NUMBER; } else REJECT; } @@ -1378,7 +1387,7 @@ YY_RULE_SETUP #line 149 "H5LTanalyze.l" { /*if it's first quote, and is a compound field name or an enum symbol*/ - if((is_opq_tag || is_enum || (csindex>-1 && cmpd_stack[csindex].is_field)) + if((is_opq_tag || is_enum || (csindex>-1 && cmpd_stack[csindex].is_field)) && first_quote) { first_quote = 0; BEGIN TAG_STRING; @@ -1441,7 +1450,7 @@ YY_RULE_SETUP #line 174 "H5LTanalyze.l" ECHO; YY_BREAK -#line 1423 "H5LTanalyze.c" +#line 1432 "H5LTanalyze.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(TAG_STRING): yyterminate(); @@ -2323,8 +2332,8 @@ int main() int my_yyinput(char *buf, int max_size) { int ret; - - memcpy(buf, myinput, input_len); + + memcpy(buf, myinput, input_len); ret = input_len; return ret; } @@ -2332,6 +2341,7 @@ int my_yyinput(char *buf, int max_size) int H5LTyyerror(char *msg) { printf("ERROR: %s before \"%s\".\n", msg, yytext); + return 0; } int yywrap() diff --git a/hl/src/H5LTanalyze.l b/hl/src/H5LTanalyze.l index dbba15a..3f63f50 100644 --- a/hl/src/H5LTanalyze.l +++ b/hl/src/H5LTanalyze.l @@ -184,6 +184,7 @@ int my_yyinput(char *buf, int max_size) int H5LTyyerror(char *msg) { printf("ERROR: %s before \"%s\".\n", msg, yytext); + return 0; } int yywrap() -- cgit v0.12