Changeset 321


Ignore:
Timestamp:
Jun 11, 2003, 9:44:08 PM (23 years ago)
Author:
bird
Message:

#456: forward referenced structures fix (spooky). <,<<,> and >> operator fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/src/emxomf/stabshll.c

    • Property cvs2svn:cvs-rev changed from 1.9 to 1.10
    r320 r321  
    2121
    2222
     23
     24
     25
    2326#include <stdio.h>
    2427#include <stdlib.h>
     
    3134#include "stabshll.h"
    3235
     36
     37
     38
     39
    3340/* Field ID values for the type table. */
    3441
     
    8087#define STRUC_FORWARD   0x01    /* Structure declared forward */
    8188
     89
     90
     91
     92
    8293enum type_tag
    8394{
     
    259270#pragma pack()
    260271
     272
     273
     274
     275
    261276/* This variable points to the next character of a stabs type being
    262277   parsed. */
     
    351366/* kso #456 2003-06-11: Reversed quiet workaround. */
    352367#define no_warning warning
     368
     369
     370
     371
     372
     373
     374
     375
    353376
    354377
     
    910933
    911934#endif
     935
     936
     937
     938
     939
     940
     941
     942
     943
     944
     945
     946
     947
     948
     949
     950
     951
     952
     953
     954
     955
     956
     957
     958
     959
     960
     961
     962
     963
     964
     965
     966
     967
     968
     969
     970
     971
     972
     973
     974
     975
     976
     977
     978
     979
    912980
    913981
     
    9551023    case ty_stabs_ref:
    9561024
     1025
    9571026      /* This should not happen. */
    9581027
    9591028      no_warning ("stabs type %d not defined", tp->d.stabs_ref);
     1029
    9601030      return 4;
     1031
     1032
     1033
     1034
     1035
     1036
     1037
     1038
     1039
     1040
     1041
    9611042
    9621043    case ty_alias:
     
    9771058      /* The size of a structure is stored in the type structure. */
    9781059
    979       if (tp->d.struc.flags & STRUC_FORWARD)
    980         {
    981           no_warning ("size of incomplete structure %s is unknown",
    982                    tp->d.struc.name);
     1060      if (   tp->d.struc.flags & STRUC_FORWARD
     1061          && try_complete_struct(tp))
     1062        {
     1063          no_warning ("size of incomplete structure %s is unknown (off %ld)\n stabs: %s",
     1064                      tp->d.struc.name, parse_ptr - parse_start, parse_start);
    9831065          return 0;
    9841066        }
     
    13781460        {
    13791461          case '<':
     1462
     1463
     1464
     1465
     1466
     1467
     1468
     1469
     1470
     1471
     1472
     1473
    13801474            cNesting++;
    13811475            break;
    13821476          case '>':
     1477
     1478
    13831479            cNesting--;
    13841480            break;
Note: See TracChangeset for help on using the changeset viewer.