+Thu Jun 12 12:27:51 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * dlltool.c (export_type): Add data field.
+ (def_exports): Add data parameter. Change all callers.
+ (dump_def_info): Print data field.
+ (gen_def_file): Likewise.
+ (make_one_lib_file): Handle data field by not emitting simple
+ label and not emitting anything in SEC_TEXT.
+ (dtab): Print data field.
+ (process_duplicates): Merge data field.
+ * dlltool.h (def_exports): Update declaration.
+ * defparse.y (expline): Accept opt_DATA. Pass it to def_exports.
+ (opt_DATA): New non-terminal.
+
Wed Jun 11 17:15:47 1997 Ian Lance Taylor <ian@cygnus.com>
* dlltool.h: New file.
%token READ WRITE EXECUTE SHARED NONAME
%token <id> ID
%token <number> NUMBER
-%type <number> opt_base opt_ordinal opt_NONAME opt_CONSTANT attr attr_list opt_number
+%type <number> opt_base opt_ordinal opt_NONAME opt_CONSTANT opt_DATA
+%type <number> attr attr_list opt_number
%type <id> opt_name opt_equal_name
%%
;
expline:
- ID opt_equal_name opt_ordinal opt_NONAME opt_CONSTANT
- { def_exports ($1, $2, $3, $4, $5);}
+ ID opt_equal_name opt_ordinal opt_NONAME opt_CONSTANT opt_DATA
+ { def_exports ($1, $2, $3, $4, $5, $6);}
;
implist:
implist impline
CONSTANT {$$=1;}
| {$$=0;}
;
+
opt_NONAME:
NONAME {$$=1;}
| {$$=0;}
;
+opt_DATA:
+ DATA { $$ = 1; }
+ | { $$ = 0; }
+ ;
+
opt_name: ID { $$ =$1; }
| { $$=""; }
;