mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-18 18:44:06 +08:00
Fixed bug in parsing of #line statement in declare section.
This commit is contained in:
parent
cde6056e34
commit
4b56bd85c0
@ -1898,5 +1898,9 @@ Mon Jan 10 13:55:32 CET 2005
|
|||||||
Tue Jan 25 13:47:45 CET 2005
|
Tue Jan 25 13:47:45 CET 2005
|
||||||
|
|
||||||
- Fixed segfault in preprocessor due to free a struct twice.
|
- Fixed segfault in preprocessor due to free a struct twice.
|
||||||
|
|
||||||
|
Wed Feb 2 16:35:27 CET 2005
|
||||||
|
|
||||||
|
- Fixed bug in parsing of #line statement in declare section.
|
||||||
- Set ecpg version to 3.2.1.
|
- Set ecpg version to 3.2.1.
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.134 2004/12/31 22:03:48 pgsql Exp $
|
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.135 2005/02/02 15:37:43 meskes Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -288,8 +288,8 @@ ip {ipdigit}\.{ipdigit}\.{ipdigit}\.{ipdigit}
|
|||||||
/* we might want to parse all cpp include files */
|
/* we might want to parse all cpp include files */
|
||||||
cppinclude {space}*#{include}{space}*
|
cppinclude {space}*#{include}{space}*
|
||||||
|
|
||||||
/* Take care of cpp continuation lines */
|
/* Take care of cpp lines, they may also be continuated */
|
||||||
cppline {space}*#(.*\\{space})+.*
|
cppline {space}*#(.*\\{space})*.*{newline}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Dollar quoted strings are totally opaque, and no escaping is done on them.
|
* Dollar quoted strings are totally opaque, and no escaping is done on them.
|
||||||
@ -685,7 +685,7 @@ cppline {space}*#(.*\\{space})+.*
|
|||||||
return(CPP_LINE);
|
return(CPP_LINE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
<C>{cppline} {
|
<C,SQL>{cppline} {
|
||||||
yylval.str = mm_strdup(yytext);
|
yylval.str = mm_strdup(yytext);
|
||||||
return(CPP_LINE);
|
return(CPP_LINE);
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.304 2005/01/25 12:51:31 meskes Exp $ */
|
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.305 2005/02/02 15:37:43 meskes Exp $ */
|
||||||
|
|
||||||
/* Copyright comment */
|
/* Copyright comment */
|
||||||
%{
|
%{
|
||||||
@ -4635,12 +4635,14 @@ sql_enddeclare: ecpgstart END_P DECLARE SQL_SECTION ';' {};
|
|||||||
|
|
||||||
var_type_declarations: /*EMPTY*/ { $$ = EMPTY; }
|
var_type_declarations: /*EMPTY*/ { $$ = EMPTY; }
|
||||||
| vt_declarations { $$ = $1; }
|
| vt_declarations { $$ = $1; }
|
||||||
|
| CPP_LINE { $$ = $1; }
|
||||||
;
|
;
|
||||||
|
|
||||||
vt_declarations: var_declaration { $$ = $1; }
|
vt_declarations: var_declaration { $$ = $1; }
|
||||||
| type_declaration { $$ = $1; }
|
| type_declaration { $$ = $1; }
|
||||||
| vt_declarations var_declaration { $$ = cat2_str($1, $2); }
|
| vt_declarations var_declaration { $$ = cat2_str($1, $2); }
|
||||||
| vt_declarations type_declaration { $$ = cat2_str($1, $2); }
|
| vt_declarations type_declaration { $$ = cat2_str($1, $2); }
|
||||||
|
| vt_declarations CPP_LINE { $$ = cat2_str($1, $2); }
|
||||||
;
|
;
|
||||||
|
|
||||||
variable_declarations: var_declaration { $$ = $1; }
|
variable_declarations: var_declaration { $$ = $1; }
|
||||||
|
Loading…
Reference in New Issue
Block a user