From 2a02daaac37019d8ac8cbb12671026dbd2f54f5e Mon Sep 17 00:00:00 2001 From: Royce Mitchell III Date: Wed, 12 Nov 2003 21:27:26 +0000 Subject: [PATCH] handle return statements svn path=/trunk/; revision=6634 --- reactos/apps/utils/sdkparse/Type.h | 2 +- reactos/apps/utils/sdkparse/sdkparse.cpp | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/reactos/apps/utils/sdkparse/Type.h b/reactos/apps/utils/sdkparse/Type.h index dcdde61a144..1178f11eb79 100644 --- a/reactos/apps/utils/sdkparse/Type.h +++ b/reactos/apps/utils/sdkparse/Type.h @@ -6,7 +6,7 @@ typedef enum { T_UNKNOWN = -1, - T_ASM, + T_IGNORED_STATEMENT, T_TIDENT, T_MACRO, T_DEFINE, diff --git a/reactos/apps/utils/sdkparse/sdkparse.cpp b/reactos/apps/utils/sdkparse/sdkparse.cpp index adcce1c094b..ca54f1470be 100644 --- a/reactos/apps/utils/sdkparse/sdkparse.cpp +++ b/reactos/apps/utils/sdkparse/sdkparse.cpp @@ -45,7 +45,7 @@ Type process ( const string& element, vector& names, bool& isTypedef, ve void process_preprocessor ( const char* filename, Header& h, const string& element ); void process_c ( Header& h, const string& element ); int parse_type ( Type t, const vector& tokens, int off, vector& names, vector& dependencies ); -int parse_asm ( const vector& tokens, int off, vector& names, vector& dependencies ); +int parse_ignored_statement ( const vector& tokens, int off, vector& names, vector& dependencies ); int parse_tident ( const vector& tokens, int off, vector& names, vector& dependencies ); int parse_variable ( const vector& tokens, int off, vector& names, vector& dependencies ); int parse_struct ( const vector& tokens, int off, vector& names, vector& dependencies ); @@ -60,7 +60,8 @@ const char* libc_includes[] = "except.h", "limits.h", "stdarg.h", - "stdlib.h" + "stdlib.h", + "string.h" }; bool is_libc_include ( const string& inc ) @@ -495,7 +496,9 @@ Type identify ( const vector& tokens, int off ) _CrtDbgBreak(); }*/ if ( tokens[off] == "__asm__" ) - return T_ASM; + return T_IGNORED_STATEMENT; + else if ( tokens[off] == "return" ) + return T_IGNORED_STATEMENT; else if ( tokens[off] == "typedef_tident" ) return T_TIDENT; else if ( tokens[off] == "if" ) @@ -561,8 +564,8 @@ int parse_type ( Type t, const vector& tokens, int off, vector& { switch ( t ) { - case T_ASM: - return parse_asm ( tokens, off, names, dependencies ); + case T_IGNORED_STATEMENT: + return parse_ignored_statement ( tokens, off, names, dependencies ); case T_TIDENT: return parse_tident ( tokens, off, names, dependencies ); case T_VARIABLE: @@ -612,9 +615,8 @@ void depend ( const string& ident, vector& dependencies ) dependencies.push_back ( ident ); } -int parse_asm ( const vector& tokens, int off, vector& names, vector& dependencies ) +int parse_ignored_statement ( const vector& tokens, int off, vector& names, vector& dependencies ) { - TOKASSERT ( tokens[off] == "__asm__" ); off++; while ( tokens[off] != ";" ) off++;