Subversion Repositories Kolibri OS

Rev

Rev 5191 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5191 Rev 6324
Line 304... Line 304...
304
    gnat_demangling,
304
    gnat_demangling,
305
    "GNAT style demangling"
305
    "GNAT style demangling"
306
  }
306
  }
307
  ,
307
  ,
308
  {
308
  {
-
 
309
    DLANG_DEMANGLING_STYLE_STRING,
-
 
310
    dlang_demangling,
-
 
311
    "DLANG style demangling"
-
 
312
  }
-
 
313
  ,
-
 
314
  {
309
    NULL, unknown_demangling, NULL
315
    NULL, unknown_demangling, NULL
310
  }
316
  }
311
};
317
};
Line 312... Line 318...
312
 
318
 
Line 868... Line 874...
868
    }
874
    }
Line 869... Line 875...
869
 
875
 
870
  if (GNAT_DEMANGLING)
876
  if (GNAT_DEMANGLING)
Line -... Line 877...
-
 
877
    return ada_demangle (mangled, options);
-
 
878
 
-
 
879
  if (DLANG_DEMANGLING)
-
 
880
    {
-
 
881
      ret = dlang_demangle (mangled, options);
-
 
882
      if (ret)
-
 
883
	return ret;
871
    return ada_demangle (mangled, options);
884
    }
872
 
885
 
873
  ret = internal_cplus_demangle (work, mangled);
886
  ret = internal_cplus_demangle (work, mangled);
874
  squangle_mop_up (work);
887
  squangle_mop_up (work);
Line 1173... Line 1186...
1173
	 example.  */
1186
	 example.  */
Line 1174... Line 1187...
1174
 
1187
 
1175
      if ((AUTO_DEMANGLING || GNU_DEMANGLING))
1188
      if ((AUTO_DEMANGLING || GNU_DEMANGLING))
1176
	{
1189
	{
-
 
1190
	  success = gnu_special (work, &mangled, &decl);
-
 
1191
	  if (!success)
-
 
1192
	    {
-
 
1193
	      delete_work_stuff (work);
-
 
1194
	      string_delete (&decl);
1177
	  success = gnu_special (work, &mangled, &decl);
1195
	    }
1178
	}
1196
	}
1179
      if (!success)
1197
      if (!success)
1180
	{
1198
	{
1181
	  success = demangle_prefix (work, &mangled, &decl);
1199
	  success = demangle_prefix (work, &mangled, &decl);
Line 1216... Line 1234...
1216
  /* clean up the B and K type mangling types. */
1234
  /* clean up the B and K type mangling types. */
1217
  forget_B_and_K_types (work);
1235
  forget_B_and_K_types (work);
1218
  if (work -> btypevec != NULL)
1236
  if (work -> btypevec != NULL)
1219
    {
1237
    {
1220
      free ((char *) work -> btypevec);
1238
      free ((char *) work -> btypevec);
-
 
1239
      work->btypevec = NULL;
1221
    }
1240
    }
1222
  if (work -> ktypevec != NULL)
1241
  if (work -> ktypevec != NULL)
1223
    {
1242
    {
1224
      free ((char *) work -> ktypevec);
1243
      free ((char *) work -> ktypevec);
-
 
1244
      work->ktypevec = NULL;
1225
    }
1245
    }
1226
}
1246
}
Line 1227... Line 1247...
1227
 
1247
 
Line 3654... Line 3674...
3654
		  {
3674
		  {
3655
		    string_prependn (&decl, temp.b, temp.p - temp.b);
3675
		    string_prependn (&decl, temp.b, temp.p - temp.b);
3656
		    string_delete (&temp);
3676
		    string_delete (&temp);
3657
		  }
3677
		  }
3658
		else
3678
		else
-
 
3679
		  {
-
 
3680
		    string_delete (&temp);
3659
		  break;
3681
		  break;
3660
	      }
3682
		  }
-
 
3683
	      }
3661
	    else if (**mangled == 'Q')
3684
	    else if (**mangled == 'Q')
3662
	      {
3685
	      {
3663
		success = demangle_qualified (work, mangled, &decl,
3686
		success = demangle_qualified (work, mangled, &decl,
3664
					      /*isfuncnam=*/0, 
3687
					      /*isfuncnam=*/0, 
3665
					      /*append=*/0);
3688
					      /*append=*/0);