On Tue, 16 Mar 2004, Vladimir Prus wrote:
Strange. lvalp should have the type YYSTYPE, which should be declared in yystype.h. Would you mind running
g++ -save-temps -ftemplate-depth-50 -DGRAPHVIZ_DIRECTED=0 -I../../.. -g -c graphviz_graph_lex.cpp
and looking at preprocessing results (in graphviz_graph_lex.ii) and determining the real type of 'yylex' function parameter and 'lvalp' variable?
Okay, this is something. On line 29176 of the .ii file, there's the following function definition that begins: int bgl_undir_lex(yystype* lvalp) { So, looking up the file I see 2 other occurrences of 'yystype'. The both occur in the following block: <snip> # 1 "yystype.h" 1 union YYSTYPE { int i; void* ptr; }; # 33 "graphviz_lex.ll" 2 # 41 "graphviz_lex.ll" # 1 "graphviz_graph_parser.hpp" 1 # 34 "graphviz_graph_parser.hpp" enum yytokentype { GRAPH_T = 258, NODE_T = 259, EDGE_T = 260, DIGRAPH_T = 261, EDGEOP_T = 262, SUBGRAPH_T = 263, ID_T = 264 }; # 56 "graphviz_graph_parser.hpp" typedef int yystype; </snip> So, it looks like yystype is an 'int'. Unfortunately, I'm kind of beyond the reach of my knowledge and experience, so I'll have to depend on others to tell me what to do next. Thanks a lot. -- Stephen W. Juranich Science Applications Intl. Corp. (SAIC) (520) 570-7706