Software Archive
Read-only legacy content
17061 Discussions

IAS Assembler Issues

inbuninbu
Beginner
658 Views
I have been trying to compile the IAS assembler, however it does not seem to like my system very much. I've solved a number of simple problems, however gcc now spits out

src/ias/pmath.h:77: error: parse error before `;' token
make[1]: *** [frmt_hash.o] Error 1
make[1]: Leaving directory `/home/jeff/Desktop/ias/src/ias/build'
make: *** [_build_build] Error 2

An investigation of the offending line reveals:

74:template
75:string get_string_from_num(NUM_t num)
76:{
77: ostrstream tmp_stream;
78: tmp_stream << num << ends;
79: return string(tmp_stream.str());
80:}

I'm stumped. Although I can't use either of the versions of gcc suggested (at least, not without a lot of trouble), I'm using 3.3.5, which is pretty close, and I can't imagine any gcc version peculiarities that would throw an error on this seemingly straightforward line of code.

Anyway, any help or suggestions would be most appreciated.
0 Kudos
3 Replies
Intel_Software_Netw1
658 Views

We're consulting our resident experts and will reportour findings here.

For a related discussion and alist of potentially helpful links, see this other thread.

==

Lexi S.

IntelSoftware NetworkSupport

http://www.intel.com/software

Contact us

0 Kudos
Intel_Software_Netw1
658 Views

One engineer suggests:

ostrstream is deprecated in the ISO C++ standard. I suspect theres some compiler/prepreprocessor flag that needs to be flipped one way or the other to enable the deprecated feature. The GNU header for 3.2.3 is backward/strstream.h. Maybe adding an explicit #include would help.

==

Lexi S.

IntelSoftware NetworkSupport

http://www.intel.com/software

Contact us

0 Kudos
Denis_M_Intel1
Employee
658 Views

Well, there are some IAS build issueswith gcc older than 3.3.0.

Try to changesome codelines (it was tested with gcc 3.4.5) in the following way:

src/DVLoc/global_access_board.cpp, line 748, remove ##:

#define CONTAINS_NIF_EVENTS(rgab_name) ((*p_rgabs_array)[RgabClassFactory::rgab_name]->ContainsNonImpliedFEvents())

src/DVLoc/ia64_resource.cpp, line 821, remove ##:

#define UPDATE_RES_NAME(res,name) strcpy(ResourceName[res],#name);

src/asmutils/unwind/und_internal.h, lines 37,38,39, remove .h extensions:

#include
#include
#include

src/ias/my_strstream.h, line 33, remove .h extension:

#include

0 Kudos
Reply