From b12337c8ae206a5ed7fcf14727b0c2627a9a1731 Mon Sep 17 00:00:00 2001 From: Thorsten Behrens Date: Tue, 21 Sep 2010 20:16:16 +0200 Subject: Revert "idlc-error-offset.diff: Add character offset for idlc errors" Breaks bison on OSX. This reverts commit 55c5db853fc0d96179874b4c01dba2774ecf5cd1. --- idlc/inc/idlc/idlc.hxx | 8 -------- idlc/source/errorhandler.cxx | 15 +++------------ idlc/source/idlc.cxx | 2 -- idlc/source/parser.y | 7 +------ idlc/source/scanner.ll | 33 ++++++++++----------------------- 5 files changed, 14 insertions(+), 51 deletions(-) diff --git a/idlc/inc/idlc/idlc.hxx b/idlc/inc/idlc/idlc.hxx index 663698143f7e..cec8e58900fb 100644 --- a/idlc/inc/idlc/idlc.hxx +++ b/idlc/inc/idlc/idlc.hxx @@ -102,12 +102,6 @@ public: { m_warningCount++; } sal_uInt32 getLineNumber() { return m_lineNumber; } - sal_uInt32 getOffsetStart() - { return m_offsetStart; } - sal_uInt32 getOffsetEnd() - { return m_offsetEnd; } - void setOffset( sal_uInt32 start, sal_uInt32 end) - { m_offsetStart = start; m_offsetEnd = end; } void setLineNumber(sal_uInt32 lineNumber) { m_lineNumber = lineNumber; } void incLineNumber() @@ -142,8 +136,6 @@ private: sal_uInt32 m_errorCount; sal_uInt32 m_warningCount; sal_uInt32 m_lineNumber; - sal_uInt32 m_offsetStart; - sal_uInt32 m_offsetEnd; ParseState m_parseState; StringSet m_includes; }; diff --git a/idlc/source/errorhandler.cxx b/idlc/source/errorhandler.cxx index 2bc8a6699403..4ab4844eeca7 100644 --- a/idlc/source/errorhandler.cxx +++ b/idlc/source/errorhandler.cxx @@ -488,7 +488,7 @@ static OString flagToString(sal_uInt32 flag) return flagStr; } -static void errorHeader(ErrorCode eCode, sal_Int32 lineNumber, sal_uInt32 start, sal_uInt32 end) +static void errorHeader(ErrorCode eCode, sal_Int32 lineNumber) { OString file; if ( idlc()->getFileName() == idlc()->getRealFileName() ) @@ -496,23 +496,14 @@ static void errorHeader(ErrorCode eCode, sal_Int32 lineNumber, sal_uInt32 start, else file = idlc()->getFileName(); - fprintf(stderr, "%s:%lu [%lu:%lu] : %s", file.getStr(), + fprintf(stderr, "%s(%lu) : %s", file.getStr(), sal::static_int_cast< unsigned long >(lineNumber), - sal::static_int_cast< unsigned long >(start), - sal::static_int_cast< unsigned long >(end), errorCodeToMessage(eCode)); } -static void errorHeader(ErrorCode eCode, sal_uInt32 lineNumber) -{ - errorHeader(eCode, lineNumber, - idlc()->getOffsetStart(), idlc()->getOffsetEnd()); -} - static void errorHeader(ErrorCode eCode) { - errorHeader(eCode, idlc()->getLineNumber(), - idlc()->getOffsetStart(), idlc()->getOffsetEnd()); + errorHeader(eCode, idlc()->getLineNumber()); } static void warningHeader(WarningCode wCode) diff --git a/idlc/source/idlc.cxx b/idlc/source/idlc.cxx index f8317f3b55c0..1477739cd531 100644 --- a/idlc/source/idlc.cxx +++ b/idlc/source/idlc.cxx @@ -219,8 +219,6 @@ Idlc::Idlc(Options* pOptions) , m_errorCount(0) , m_warningCount(0) , m_lineNumber(0) - , m_offsetStart(0) - , m_offsetEnd(0) , m_parseState(PS_NoState) { m_pScopes = new AstStack(); diff --git a/idlc/source/parser.y b/idlc/source/parser.y index b6c56c60faaf..8da9c7ad63b5 100644 --- a/idlc/source/parser.y +++ b/idlc/source/parser.y @@ -103,16 +103,13 @@ #include #include - -#include using namespace ::rtl; #define YYDEBUG 1 #define YYERROR_VERBOSE 1 -#define YYLEX_PARAM &yylval, &yylloc -extern int yylex (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ); +extern int yylex(void); void yyerror(char const *); void checkIdentifier(::rtl::OString* id) @@ -265,7 +262,6 @@ bool includes(AstDeclaration const * type1, AstDeclaration const * type2) { #pragma warning(disable: 4273 4701 4706) #endif %} -%locations /* * Declare the type of values in the grammar */ @@ -976,7 +972,6 @@ attribute_get_raises: rtl::OStringToOUString( idlc()->getDocumentation(), RTL_TEXTENCODING_UTF8)); $$.exceptions = $2; - int line = @2.first_line; } ; diff --git a/idlc/source/scanner.ll b/idlc/source/scanner.ll index 9955a8c808db..bbcc08fae37b 100644 --- a/idlc/source/scanner.ll +++ b/idlc/source/scanner.ll @@ -48,21 +48,12 @@ #include "attributeexceptions.hxx" - class AstExpression; class AstArray; class AstMember; #include -/* handle locations */ -int yycolumn = 1; - -#define YY_USER_ACTION yylloc->first_line = yylloc->last_line = yylineno; \ - yylloc->first_column = yycolumn; yylloc->last_column = yycolumn+yyleng-1; \ - idlc()->setOffset(yylloc->first_column, yylloc->last_column); \ - yycolumn += yyleng; - sal_Int32 beginLine = 0; ::rtl::OString docu; @@ -236,7 +227,6 @@ static void parseLineAndFile(sal_Char* pBuf) for (; *r != '\0' && *r != ' ' && *r != '\t'; r++) ; *r++ = 0; idlc()->setLineNumber((sal_uInt32)atol(h)); - yylineno = atol(h); /* Find file name, if present */ for (; *r != '"'; r++) @@ -272,7 +262,6 @@ static void parseLineAndFile(sal_Char* pBuf) #endif %} -%option bison-bridge bison-locations %option noyywrap %option never-interactive @@ -294,10 +283,8 @@ IDENTIFIER ("_"?({ALPHA}|{DIGIT})+)* %% [ \t\r]+ ; /* eat up whitespace */ -[\n] { - idlc()->incLineNumber(); - yycolumn = 1; - yylineno++; +[\n] { + idlc()->incLineNumber(); } attribute return IDL_ATTRIBUTE; @@ -362,39 +349,39 @@ published return IDL_PUBLISHED; "..." return IDL_ELLIPSIS; ("-")?{INT_LITERAL}+(l|L|u|U)? { - return asciiToInteger(yytext, &yylval->ival, &yylval->uval); + return asciiToInteger(yytext, &yylval.ival, &yylval.uval); } ("-")?{OCT_LITERAL}+(l|L|u|U)? { - return asciiToInteger(yytext, &yylval->ival, &yylval->uval); + return asciiToInteger(yytext, &yylval.ival, &yylval.uval); } ("-")?{HEX_LITERAL}+(l|L|u|U)? { - return asciiToInteger(yytext, &yylval->ival, &yylval->uval); + return asciiToInteger(yytext, &yylval.ival, &yylval.uval); } ("-")?{DIGIT}+(e|E){1}(("+"|"-")?{DIGIT}+)+(f|F)? | ("-")?"."{DIGIT}+((e|E)("+"|"-")?{DIGIT}+)?(f|F)? | ("-")?{DIGIT}*"."{DIGIT}+((e|E)("+"|"-")?{DIGIT}+)?(f|F)? { - yylval->dval = asciiToFloat( yytext ); + yylval.dval = asciiToFloat( yytext ); return IDL_FLOATING_PT_LITERAL; } {IDENTIFIER} { - yylval->sval = new ::rtl::OString(yytext); + yylval.sval = new ::rtl::OString(yytext); return IDL_IDENTIFIER; } \<\< { - yylval->strval = yytext; + yylval.strval = yytext; return IDL_LEFTSHIFT; } \>\> { - yylval->strval = yytext; + yylval.strval = yytext; return IDL_RIGHTSHIFT; } \:\: { - yylval->strval = yytext; + yylval.strval = yytext; return IDL_SCOPESEPARATOR; } -- cgit