From 3471e2b1340cb84504272da26051f149f350ee94 Mon Sep 17 00:00:00 2001 From: Mitchell Blank Jr Date: Sat, 19 May 2012 22:40:57 -0700 Subject: C++ compilability - don't define types inside others The following is legal code in both C and C++: struct foo { struct bar { int a } x; int y; }; ...however in C++ it defines a type called "foo::bar" instead of "bar". Just avoid this construct altogether --- src/codegen.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'src/codegen.c') diff --git a/src/codegen.c b/src/codegen.c index 769f9e538..263490f27 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -20,14 +20,16 @@ typedef mrb_ast_node node; typedef struct mrb_parser_state parser_state; +enum looptype { + LOOP_NORMAL, + LOOP_BLOCK, + LOOP_FOR, + LOOP_BEGIN, + LOOP_RESCUE, +} type; + struct loopinfo { - enum looptype { - LOOP_NORMAL, - LOOP_BLOCK, - LOOP_FOR, - LOOP_BEGIN, - LOOP_RESCUE, - } type; + enum looptype type; int pc1, pc2, pc3, acc; int ensure_level; struct loopinfo *prev; -- cgit v1.2.3