diff options
author | Raymond Lu <songyulu@hdfgroup.org> | 2012-09-13 15:42:45 (GMT) |
---|---|---|
committer | Raymond Lu <songyulu@hdfgroup.org> | 2012-09-13 15:42:45 (GMT) |
commit | d36cd7cba56a3a70859ab7ca4f5120195b1a4d34 (patch) | |
tree | 02aa47950065996390d7e9cf708ec3aa49b5fbcc /hl | |
parent | cf485eb7cc21c460c87cbdcce3160a58d0d74a13 (diff) | |
download | hdf5-d36cd7cba56a3a70859ab7ca4f5120195b1a4d34.zip hdf5-d36cd7cba56a3a70859ab7ca4f5120195b1a4d34.tar.gz hdf5-d36cd7cba56a3a70859ab7ca4f5120195b1a4d34.tar.bz2 |
[svn-r22757] Issue 8140 - return value is missing for H5LTyyerror in H5LTanalyze.l. I merged the fix from the trunk.
I put "return 0" in because the program should continue even though there is an error.
Tested on jam - simple change.
Diffstat (limited to 'hl')
-rw-r--r-- | hl/src/H5LTanalyze.c | 40 | ||||
-rw-r--r-- | hl/src/H5LTanalyze.l | 1 |
2 files changed, 26 insertions, 15 deletions
diff --git a/hl/src/H5LTanalyze.c b/hl/src/H5LTanalyze.c index 767dfd7..b88b577 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 $ @@ -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() |