[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
DDD 3.3.10 (sparc-sun-solaris2.8) gets `Abort' signal
From: |
Ludger Theile |
Subject: |
DDD 3.3.10 (sparc-sun-solaris2.8) gets `Abort' signal |
Date: |
Fri, 05 Nov 2004 11:48:43 +0100 |
Hello,
while compiling the DDD Project i got compiler errors in cases when using
the "?:"-operator with a combination of string and non-string objects like "".
After i made the beyond mentioned changes, the project compiles successfully.
But after the command
$make check
or after simple calling ddd, i get an assertion-abort.
Plattform:
Sun Solaris SunOS 5.8
Debugger:
dbx: WorkShop 5.0 12/18/98 [dbx 5.0]
Compiler:
CC: WorkShop Compilers 5.0 02/10/08 C++ 5.0 Patch 107311-19
Changes in DDD-3.3.10 by Ludger Theile,05.11.2004
/*************************************************************************/
/*************************************************************************/
/* */
/* Box.C */
/* */
/*************************************************************************/
// Name of the TagBox at P
string Box::name(const BoxPoint& p) const
{
const TagBox *t = findTag(p);
string tmp("");
return ((t) ? (t)->__name() : tmp);
}
// Information of the TagBox at P
string Box::info(const BoxPoint &p) const
{
const TagBox *t = findTag(p);
string tmp("");
return ((t) ? (t)->__info() : tmp);
}
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/* */
/* VSLDefList.h */
/* */
/*************************************************************************/
string f_name() const
{
string tmp(_func_name.from(1));
return
(_func_name[0] == '#') ?
tmp:
_func_name;
}
/*************************************************************************/
/*************************************************************************/
/* */
/* comm-manag.C */
/* */
/*************************************************************************/
static void extra_completed (StringArray& answers,
const VoidArray& /* qu_datas */,
void* data)
{
string tmp("");
int count = answers.size();
for (int i = 0; i < count; i++)
filter_junk(answers[i]);
ExtraData* extra_data = (ExtraData *)data;
int qu_count = 0;
string file;
while (extra_data->n_init > 0)
{
// Handle output of initialization commands
process_init((qu_count<count)?(answers[qu_count++]):tmp);
extra_data->n_init--;
}
if (extra_data->refresh_recent_files)
{
// Clear undo buffer. Do this before setting the initial line,
// such that it becomes part of the history.
undo_buffer.clear();
}
if (extra_data->refresh_initial_line)
{
switch (gdb->type())
{
case GDB:
{
string info_line;
// Handle `info line' output
string info_line1 = (qu_count<count)?(answers[qu_count++]):tmp;
string list = (qu_count<count)?(answers[qu_count++]):tmp;
string info_line2 = (qu_count<count)?(answers[qu_count++]):tmp;
// Skip initial message lines like `Reading symbols...'
while (!list.empty() && !has_nr(list))
list = list.after('\n');
if (atoi(list.chars()) == 0)
{
// No listing => no source.
info_line = "";
}
else
{
// Handle `info line' output
info_line = info_line1;
if (!info_line.contains("Line ", 0))
info_line = info_line2;
}
// Goto initial line
source_view->process_info_line_main(info_line);
find_some_source();
break;
}
case XDB:
{
// Goto initial line
source_view->process_info_line_main(answers[qu_count++]);
find_some_source();
break;
}
case BASH:
case DBG:
case DBX:
case JDB:
case PERL:
case PYDB:
{
if (gdb->type() == DBX && gdb->isSunDBX())
{
string list = (qu_count<count)?(answers[qu_count++]):tmp;
string line = (qu_count<count)?(answers[qu_count++]):tmp;
list = list.before('\n');
line = line.before('\n');
string pos = list + ":" + line;
source_view->process_info_line_main(pos);
find_some_source();
source_view->lookup(pos, true);
}
// Clear caches and such
string dummy = "";
source_view->process_info_line_main(dummy);
find_some_source();
break;
}
}
}
/*************************************************************************/
/*************************************************************************/
/* */
/* fonts.C */
/* */
/*************************************************************************/
static void define_font(const AppData& ad,
const string& name, DDDFont base,
const string& override = "")
{
string font = make_font(ad, base, override);
const string s1 = upcase(name);
defineConversionMacro(s1.chars(), font.chars());
font_defs[name] = font;
if (ad.show_fonts)
{
string defstr("default");
string symbol("@");
const string sym =
(name == MSTRING_DEFAULT_CHARSET) ?
defstr :
symbol + name;
std::cout << sym << "\t" << font << "\n";
}
}
/*************************************************************************/
/*************************************************************************/
/* */
/* BreakPoint.C */
/* */
/*************************************************************************/
string BreakPoint::condition() const
{
string tmp(real_condition().after(and_op()));
return
(is_false(real_condition())) ?
tmp :
real_condition();
}
/*************************************************************************/
/*************************************************************************/
/* */
/* GDBAgent.C */
/* */
/*************************************************************************/
string GDBAgent::info_display_command() const
{
string tmp("info display");
return
(type() == GDB || type() == BASH) ?
tmp:
display_command();
}
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
Mit freundlichen Grüßen
Ludger Theile
----------------------------------------------------------------------------
Huettenwerke Krupp-Mannesmann
CI-MV
Tel.: 0203/999-2589 Ehingerstr. 200
Fax.: 0203/999-4416 D-47259 Duisburg
E-mail: ludger.theile@hkm.de
----------------------------------------------------------------------------
LogDatei
Description: Binary data
Ludger Theile.vcf
Description: Text document
- DDD 3.3.10 (sparc-sun-solaris2.8) gets `Abort' signal,
Ludger Theile <=