2
0
mirror of https://github.com/HDFGroup/hdf5.git synced 2025-04-12 17:31:09 +08:00

Work-around for MSVC issue with flex-generated code ()

This commit is contained in:
Dana Robinson 2022-06-23 07:45:47 -07:00 committed by GitHub
parent 9e55d51f46
commit 896304d2da
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 596 additions and 480 deletions

@ -28,9 +28,14 @@
#elif defined _MSC_VER
#pragma warning(push, 1)
#endif
#line 1 "hl/src/H5LTanalyze.c"
#line 2 "./hl/src/H5LTanalyze.c"
/* Quiet warnings about integer type macro redifinitions on Visual Studio
* (MSVC doesn't define STDC_VERSION, but has inttypes.h). This is an
* issue that is apparently fixed in flex 2.6.5.
*/
#include <stdint.h>
#line 3 "hl/src/H5LTanalyze.c"
#line 9 "./hl/src/H5LTanalyze.c"
#define YY_INT_ALIGNED short int
@ -888,7 +893,7 @@ int yy_flex_debug = 0;
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#line 1 "hl/src/H5LTanalyze.l"
#line 1 "./hl/src/H5LTanalyze.l"
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
@ -906,7 +911,8 @@ char *yytext;
* If you make any changes to H5LTanalyze.l, please run bin/genparser to
* recreate the output files.
*/
#line 21 "hl/src/H5LTanalyze.l"
#line 29 "./hl/src/H5LTanalyze.l"
#include <assert.h>
#include <stdlib.h>
#include <string.h>
@ -930,8 +936,8 @@ static int my_yyinput(char *, int);
extern char *myinput;
extern size_t input_len;
#line 903 "hl/src/H5LTanalyze.c"
#line 904 "hl/src/H5LTanalyze.c"
#line 910 "./hl/src/H5LTanalyze.c"
#line 911 "./hl/src/H5LTanalyze.c"
#define INITIAL 0
@ -1140,10 +1146,10 @@ YY_DECL
}
{
#line 46 "hl/src/H5LTanalyze.l"
#line 54 "./hl/src/H5LTanalyze.l"
#line 1116 "hl/src/H5LTanalyze.c"
#line 1123 "./hl/src/H5LTanalyze.c"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@ -1202,277 +1208,277 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
#line 48 "hl/src/H5LTanalyze.l"
#line 56 "./hl/src/H5LTanalyze.l"
{return hid(H5T_STD_I8BE_TOKEN);}
YY_BREAK
case 2:
YY_RULE_SETUP
#line 49 "hl/src/H5LTanalyze.l"
#line 57 "./hl/src/H5LTanalyze.l"
{return hid(H5T_STD_I8LE_TOKEN);}
YY_BREAK
case 3:
YY_RULE_SETUP
#line 50 "hl/src/H5LTanalyze.l"
#line 58 "./hl/src/H5LTanalyze.l"
{return hid(H5T_STD_I16BE_TOKEN);}
YY_BREAK
case 4:
YY_RULE_SETUP
#line 51 "hl/src/H5LTanalyze.l"
#line 59 "./hl/src/H5LTanalyze.l"
{return hid(H5T_STD_I16LE_TOKEN);}
YY_BREAK
case 5:
YY_RULE_SETUP
#line 52 "hl/src/H5LTanalyze.l"
#line 60 "./hl/src/H5LTanalyze.l"
{return hid(H5T_STD_I32BE_TOKEN);}
YY_BREAK
case 6:
YY_RULE_SETUP
#line 53 "hl/src/H5LTanalyze.l"
#line 61 "./hl/src/H5LTanalyze.l"
{return hid(H5T_STD_I32LE_TOKEN);}
YY_BREAK
case 7:
YY_RULE_SETUP
#line 54 "hl/src/H5LTanalyze.l"
#line 62 "./hl/src/H5LTanalyze.l"
{return hid(H5T_STD_I64BE_TOKEN);}
YY_BREAK
case 8:
YY_RULE_SETUP
#line 55 "hl/src/H5LTanalyze.l"
#line 63 "./hl/src/H5LTanalyze.l"
{return hid(H5T_STD_I64LE_TOKEN);}
YY_BREAK
case 9:
YY_RULE_SETUP
#line 57 "hl/src/H5LTanalyze.l"
#line 65 "./hl/src/H5LTanalyze.l"
{return hid(H5T_STD_U8BE_TOKEN);}
YY_BREAK
case 10:
YY_RULE_SETUP
#line 58 "hl/src/H5LTanalyze.l"
#line 66 "./hl/src/H5LTanalyze.l"
{return hid(H5T_STD_U8LE_TOKEN);}
YY_BREAK
case 11:
YY_RULE_SETUP
#line 59 "hl/src/H5LTanalyze.l"
#line 67 "./hl/src/H5LTanalyze.l"
{return hid(H5T_STD_U16BE_TOKEN);}
YY_BREAK
case 12:
YY_RULE_SETUP
#line 60 "hl/src/H5LTanalyze.l"
#line 68 "./hl/src/H5LTanalyze.l"
{return hid(H5T_STD_U16LE_TOKEN);}
YY_BREAK
case 13:
YY_RULE_SETUP
#line 61 "hl/src/H5LTanalyze.l"
#line 69 "./hl/src/H5LTanalyze.l"
{return hid(H5T_STD_U32BE_TOKEN);}
YY_BREAK
case 14:
YY_RULE_SETUP
#line 62 "hl/src/H5LTanalyze.l"
#line 70 "./hl/src/H5LTanalyze.l"
{return hid(H5T_STD_U32LE_TOKEN);}
YY_BREAK
case 15:
YY_RULE_SETUP
#line 63 "hl/src/H5LTanalyze.l"
#line 71 "./hl/src/H5LTanalyze.l"
{return hid(H5T_STD_U64BE_TOKEN);}
YY_BREAK
case 16:
YY_RULE_SETUP
#line 64 "hl/src/H5LTanalyze.l"
#line 72 "./hl/src/H5LTanalyze.l"
{return hid(H5T_STD_U64LE_TOKEN);}
YY_BREAK
case 17:
YY_RULE_SETUP
#line 66 "hl/src/H5LTanalyze.l"
#line 74 "./hl/src/H5LTanalyze.l"
{return hid(H5T_NATIVE_CHAR_TOKEN);}
YY_BREAK
case 18:
YY_RULE_SETUP
#line 67 "hl/src/H5LTanalyze.l"
#line 75 "./hl/src/H5LTanalyze.l"
{return hid(H5T_NATIVE_SCHAR_TOKEN);}
YY_BREAK
case 19:
YY_RULE_SETUP
#line 68 "hl/src/H5LTanalyze.l"
#line 76 "./hl/src/H5LTanalyze.l"
{return hid(H5T_NATIVE_UCHAR_TOKEN);}
YY_BREAK
case 20:
YY_RULE_SETUP
#line 69 "hl/src/H5LTanalyze.l"
#line 77 "./hl/src/H5LTanalyze.l"
{return hid(H5T_NATIVE_SHORT_TOKEN);}
YY_BREAK
case 21:
YY_RULE_SETUP
#line 70 "hl/src/H5LTanalyze.l"
#line 78 "./hl/src/H5LTanalyze.l"
{return hid(H5T_NATIVE_USHORT_TOKEN);}
YY_BREAK
case 22:
YY_RULE_SETUP
#line 71 "hl/src/H5LTanalyze.l"
#line 79 "./hl/src/H5LTanalyze.l"
{return hid(H5T_NATIVE_INT_TOKEN);}
YY_BREAK
case 23:
YY_RULE_SETUP
#line 72 "hl/src/H5LTanalyze.l"
#line 80 "./hl/src/H5LTanalyze.l"
{return hid(H5T_NATIVE_UINT_TOKEN);}
YY_BREAK
case 24:
YY_RULE_SETUP
#line 73 "hl/src/H5LTanalyze.l"
#line 81 "./hl/src/H5LTanalyze.l"
{return hid(H5T_NATIVE_LONG_TOKEN);}
YY_BREAK
case 25:
YY_RULE_SETUP
#line 74 "hl/src/H5LTanalyze.l"
#line 82 "./hl/src/H5LTanalyze.l"
{return hid(H5T_NATIVE_ULONG_TOKEN);}
YY_BREAK
case 26:
YY_RULE_SETUP
#line 75 "hl/src/H5LTanalyze.l"
#line 83 "./hl/src/H5LTanalyze.l"
{return hid(H5T_NATIVE_LLONG_TOKEN);}
YY_BREAK
case 27:
YY_RULE_SETUP
#line 76 "hl/src/H5LTanalyze.l"
#line 84 "./hl/src/H5LTanalyze.l"
{return hid(H5T_NATIVE_ULLONG_TOKEN);}
YY_BREAK
case 28:
YY_RULE_SETUP
#line 78 "hl/src/H5LTanalyze.l"
#line 86 "./hl/src/H5LTanalyze.l"
{return hid(H5T_IEEE_F32BE_TOKEN);}
YY_BREAK
case 29:
YY_RULE_SETUP
#line 79 "hl/src/H5LTanalyze.l"
#line 87 "./hl/src/H5LTanalyze.l"
{return hid(H5T_IEEE_F32LE_TOKEN);}
YY_BREAK
case 30:
YY_RULE_SETUP
#line 80 "hl/src/H5LTanalyze.l"
#line 88 "./hl/src/H5LTanalyze.l"
{return hid(H5T_IEEE_F64BE_TOKEN);}
YY_BREAK
case 31:
YY_RULE_SETUP
#line 81 "hl/src/H5LTanalyze.l"
#line 89 "./hl/src/H5LTanalyze.l"
{return hid(H5T_IEEE_F64LE_TOKEN);}
YY_BREAK
case 32:
YY_RULE_SETUP
#line 82 "hl/src/H5LTanalyze.l"
#line 90 "./hl/src/H5LTanalyze.l"
{return hid(H5T_NATIVE_FLOAT_TOKEN);}
YY_BREAK
case 33:
YY_RULE_SETUP
#line 83 "hl/src/H5LTanalyze.l"
#line 91 "./hl/src/H5LTanalyze.l"
{return hid(H5T_NATIVE_DOUBLE_TOKEN);}
YY_BREAK
case 34:
YY_RULE_SETUP
#line 84 "hl/src/H5LTanalyze.l"
#line 92 "./hl/src/H5LTanalyze.l"
{return hid(H5T_NATIVE_LDOUBLE_TOKEN);}
YY_BREAK
case 35:
YY_RULE_SETUP
#line 86 "hl/src/H5LTanalyze.l"
#line 94 "./hl/src/H5LTanalyze.l"
{return token(H5T_STRING_TOKEN);}
YY_BREAK
case 36:
YY_RULE_SETUP
#line 87 "hl/src/H5LTanalyze.l"
#line 95 "./hl/src/H5LTanalyze.l"
{return token(STRSIZE_TOKEN);}
YY_BREAK
case 37:
YY_RULE_SETUP
#line 88 "hl/src/H5LTanalyze.l"
#line 96 "./hl/src/H5LTanalyze.l"
{return token(STRPAD_TOKEN);}
YY_BREAK
case 38:
YY_RULE_SETUP
#line 89 "hl/src/H5LTanalyze.l"
#line 97 "./hl/src/H5LTanalyze.l"
{return token(CSET_TOKEN);}
YY_BREAK
case 39:
YY_RULE_SETUP
#line 90 "hl/src/H5LTanalyze.l"
#line 98 "./hl/src/H5LTanalyze.l"
{return token(CTYPE_TOKEN);}
YY_BREAK
case 40:
YY_RULE_SETUP
#line 91 "hl/src/H5LTanalyze.l"
#line 99 "./hl/src/H5LTanalyze.l"
{return token(H5T_STR_NULLTERM_TOKEN);}
YY_BREAK
case 41:
YY_RULE_SETUP
#line 92 "hl/src/H5LTanalyze.l"
#line 100 "./hl/src/H5LTanalyze.l"
{return token(H5T_STR_NULLPAD_TOKEN);}
YY_BREAK
case 42:
YY_RULE_SETUP
#line 93 "hl/src/H5LTanalyze.l"
#line 101 "./hl/src/H5LTanalyze.l"
{return token(H5T_STR_SPACEPAD_TOKEN);}
YY_BREAK
case 43:
YY_RULE_SETUP
#line 94 "hl/src/H5LTanalyze.l"
#line 102 "./hl/src/H5LTanalyze.l"
{return token(H5T_CSET_ASCII_TOKEN);}
YY_BREAK
case 44:
YY_RULE_SETUP
#line 95 "hl/src/H5LTanalyze.l"
#line 103 "./hl/src/H5LTanalyze.l"
{return token(H5T_CSET_UTF8_TOKEN);}
YY_BREAK
case 45:
YY_RULE_SETUP
#line 96 "hl/src/H5LTanalyze.l"
#line 104 "./hl/src/H5LTanalyze.l"
{return token(H5T_C_S1_TOKEN);}
YY_BREAK
case 46:
YY_RULE_SETUP
#line 97 "hl/src/H5LTanalyze.l"
#line 105 "./hl/src/H5LTanalyze.l"
{return token(H5T_FORTRAN_S1_TOKEN);}
YY_BREAK
case 47:
YY_RULE_SETUP
#line 98 "hl/src/H5LTanalyze.l"
#line 106 "./hl/src/H5LTanalyze.l"
{return token(H5T_VARIABLE_TOKEN);}
YY_BREAK
case 48:
YY_RULE_SETUP
#line 100 "hl/src/H5LTanalyze.l"
#line 108 "./hl/src/H5LTanalyze.l"
{return token(H5T_COMPOUND_TOKEN);}
YY_BREAK
case 49:
YY_RULE_SETUP
#line 101 "hl/src/H5LTanalyze.l"
#line 109 "./hl/src/H5LTanalyze.l"
{return token(H5T_ENUM_TOKEN);}
YY_BREAK
case 50:
YY_RULE_SETUP
#line 102 "hl/src/H5LTanalyze.l"
#line 110 "./hl/src/H5LTanalyze.l"
{return token(H5T_ARRAY_TOKEN);}
YY_BREAK
case 51:
YY_RULE_SETUP
#line 103 "hl/src/H5LTanalyze.l"
#line 111 "./hl/src/H5LTanalyze.l"
{return token(H5T_VLEN_TOKEN);}
YY_BREAK
case 52:
YY_RULE_SETUP
#line 105 "hl/src/H5LTanalyze.l"
#line 113 "./hl/src/H5LTanalyze.l"
{return token(H5T_OPAQUE_TOKEN);}
YY_BREAK
case 53:
YY_RULE_SETUP
#line 106 "hl/src/H5LTanalyze.l"
#line 114 "./hl/src/H5LTanalyze.l"
{return token(OPQ_SIZE_TOKEN);}
YY_BREAK
case 54:
YY_RULE_SETUP
#line 107 "hl/src/H5LTanalyze.l"
#line 115 "./hl/src/H5LTanalyze.l"
{return token(OPQ_TAG_TOKEN);}
YY_BREAK
case 55:
YY_RULE_SETUP
#line 109 "hl/src/H5LTanalyze.l"
#line 117 "./hl/src/H5LTanalyze.l"
{
H5LTyylval.ival = HDatoi(yytext);
return NUMBER;
@ -1481,7 +1487,7 @@ YY_RULE_SETUP
case 56:
/* rule 56 can match eol */
YY_RULE_SETUP
#line 114 "hl/src/H5LTanalyze.l"
#line 122 "./hl/src/H5LTanalyze.l"
{
H5LTyylval.sval = trim_quotes(yytext);
return STRING;
@ -1489,46 +1495,46 @@ YY_RULE_SETUP
YY_BREAK
case 57:
YY_RULE_SETUP
#line 119 "hl/src/H5LTanalyze.l"
#line 127 "./hl/src/H5LTanalyze.l"
{return token('{');}
YY_BREAK
case 58:
YY_RULE_SETUP
#line 120 "hl/src/H5LTanalyze.l"
#line 128 "./hl/src/H5LTanalyze.l"
{return token('}');}
YY_BREAK
case 59:
YY_RULE_SETUP
#line 121 "hl/src/H5LTanalyze.l"
#line 129 "./hl/src/H5LTanalyze.l"
{return token('[');}
YY_BREAK
case 60:
YY_RULE_SETUP
#line 122 "hl/src/H5LTanalyze.l"
#line 130 "./hl/src/H5LTanalyze.l"
{return token(']');}
YY_BREAK
case 61:
YY_RULE_SETUP
#line 123 "hl/src/H5LTanalyze.l"
#line 131 "./hl/src/H5LTanalyze.l"
{return token(':');}
YY_BREAK
case 62:
YY_RULE_SETUP
#line 124 "hl/src/H5LTanalyze.l"
#line 132 "./hl/src/H5LTanalyze.l"
{return token(';');}
YY_BREAK
case 63:
/* rule 63 can match eol */
YY_RULE_SETUP
#line 125 "hl/src/H5LTanalyze.l"
#line 133 "./hl/src/H5LTanalyze.l"
;
YY_BREAK
case 64:
YY_RULE_SETUP
#line 127 "hl/src/H5LTanalyze.l"
#line 135 "./hl/src/H5LTanalyze.l"
ECHO;
YY_BREAK
#line 1501 "hl/src/H5LTanalyze.c"
#line 1508 "./hl/src/H5LTanalyze.c"
case YY_STATE_EOF(INITIAL):
yyterminate();
@ -2533,7 +2539,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
#line 127 "hl/src/H5LTanalyze.l"
#line 135 "./hl/src/H5LTanalyze.l"
/* Allocate a copy of `quoted` with the double quote character at

@ -17,6 +17,14 @@
* recreate the output files.
*/
%top{
/* Quiet warnings about integer type macro redifinitions on Visual Studio
* (MSVC doesn't define STDC_VERSION, but has inttypes.h). This is an
* issue that is apparently fixed in flex 2.6.5.
*/
#include <stdint.h>
}
%{
#include <assert.h>
#include <stdlib.h>

File diff suppressed because it is too large Load Diff

@ -1,8 +1,9 @@
/* A Bison parser, made by GNU Bison 3.0.4. */
/* A Bison parser, made by GNU Bison 3.5.1. */
/* Bison interface for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -30,6 +31,9 @@
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* Undocumented macros, especially those whose name start with YY_,
are private implementation details. Do not rely on them. */
#ifndef YY_H5LTYY_HL_SRC_H5LTPARSE_H_INCLUDED
# define YY_H5LTYY_HL_SRC_H5LTPARSE_H_INCLUDED
/* Debug traces. */
@ -106,18 +110,17 @@ extern int H5LTyydebug;
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE
{
#line 69 "hl/src/H5LTparse.y" /* yacc.c:1909 */
#line 69 "./hl/src/H5LTparse.y"
int ival; /*for integer token*/
char *sval; /*for name string*/
hid_t hid; /*for hid_t token*/
#line 119 "hl/src/H5LTparse.h" /* yacc.c:1909 */
};
#line 122 "./hl/src/H5LTparse.h"
};
typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1