bin/63781: [patch] Remove warning from <FlexLexer.h>
Stefan Farfeleder
stefan at fafoe.narf.at
Thu Mar 4 15:50:14 PST 2004
>Number: 63781
>Category: bin
>Synopsis: [patch] Remove warning from <FlexLexer.h>
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Thu Mar 04 15:50:13 PST 2004
>Closed-Date:
>Last-Modified:
>Originator: Stefan Farfeleder
>Release: FreeBSD 5.2-CURRENT i386
>Organization:
>Environment:
System: FreeBSD wombat.fafoe.narf.at 5.2-CURRENT FreeBSD 5.2-CURRENT #16: Tue Mar 2 19:09:53 CET 2004 stefan at wombat.fafoe.narf.at:/usr/home/stefan/freebsd/obj/usr/home/stefan/freebsd/src/sys/WOMBAT i386
>Description:
The header <FlexLexer.h> includes the obsolete C++ header <iostream.h> which
causes an annoying warning.
>How-To-Repeat:
$ cat test.cc
#include <FlexLexer.h>
int main() {}
$ g++ test.cc
In file included from /usr/include/c++/3.3/backward/iostream.h:31,
from /usr/include/c++/3.3/FlexLexer.h:47,
from test.cc:1:
/usr/include/c++/3.3/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
>Fix:
--- FlexLexer.h.diff begins here ---
Index: src/usr.bin/lex/FlexLexer.h
===================================================================
RCS file: /usr/home/ncvs/src/usr.bin/lex/FlexLexer.h,v
retrieving revision 1.3
diff -I.svn -u -r1.3 FlexLexer.h
--- src/usr.bin/lex/FlexLexer.h 27 Oct 1999 07:56:43 -0000 1.3
+++ src/usr.bin/lex/FlexLexer.h 4 Mar 2004 20:47:33 -0000
@@ -44,7 +44,7 @@
#ifndef __FLEX_LEXER_H
// Never included before - need to define base class.
#define __FLEX_LEXER_H
-#include <iostream.h>
+#include <iostream>
extern "C++" {
@@ -61,14 +61,14 @@
virtual void
yy_switch_to_buffer( struct yy_buffer_state* new_buffer ) = 0;
virtual struct yy_buffer_state*
- yy_create_buffer( istream* s, int size ) = 0;
+ yy_create_buffer( std::istream* s, int size ) = 0;
virtual void yy_delete_buffer( struct yy_buffer_state* b ) = 0;
- virtual void yyrestart( istream* s ) = 0;
+ virtual void yyrestart( std::istream* s ) = 0;
virtual int yylex() = 0;
// Call yylex with new input/output sources.
- int yylex( istream* new_in, ostream* new_out = 0 )
+ int yylex( std::istream* new_in, std::ostream* new_out = 0 )
{
switch_streams( new_in, new_out );
return yylex();
@@ -76,8 +76,8 @@
// Switch to new input/output streams. A nil stream pointer
// indicates "keep the current one".
- virtual void switch_streams( istream* new_in = 0,
- ostream* new_out = 0 ) = 0;
+ virtual void switch_streams( std::istream* new_in = 0,
+ std::ostream* new_out = 0 ) = 0;
int lineno() const { return yylineno; }
@@ -104,17 +104,18 @@
public:
// arg_yyin and arg_yyout default to the cin and cout, but we
// only make that assignment when initializing in yylex().
- yyFlexLexer( istream* arg_yyin = 0, ostream* arg_yyout = 0 );
+ yyFlexLexer( std::istream* arg_yyin = 0, std::ostream* arg_yyout = 0 );
virtual ~yyFlexLexer();
void yy_switch_to_buffer( struct yy_buffer_state* new_buffer );
- struct yy_buffer_state* yy_create_buffer( istream* s, int size );
+ struct yy_buffer_state* yy_create_buffer( std::istream* s, int size );
void yy_delete_buffer( struct yy_buffer_state* b );
- void yyrestart( istream* s );
+ void yyrestart( std::istream* s );
virtual int yylex();
- virtual void switch_streams( istream* new_in, ostream* new_out );
+ virtual void switch_streams( std::istream* new_in,
+ std::ostream* new_out );
protected:
virtual int LexerInput( char* buf, int max_size );
@@ -125,7 +126,7 @@
int yyinput();
void yy_load_buffer_state();
- void yy_init_buffer( struct yy_buffer_state* b, istream* s );
+ void yy_init_buffer( struct yy_buffer_state* b, std::istream* s );
void yy_flush_buffer( struct yy_buffer_state* b );
int yy_start_stack_ptr;
@@ -140,8 +141,8 @@
yy_state_type yy_try_NUL_trans( yy_state_type current_state );
int yy_get_next_buffer();
- istream* yyin; // input source for default LexerInput
- ostream* yyout; // output sink for default LexerOutput
+ std::istream* yyin; // input source for default LexerInput
+ std::ostream* yyout; // output sink for default LexerOutput
struct yy_buffer_state* yy_current_buffer;
--- FlexLexer.h.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list