First question: do these systems have a default version of clang or icc that 
supports this feature? It should be fine to build Dyninst with either of those 
assuming they're recent enough (and I've been working with icc builds off and 
on locally).
Second, and more general, question: is there any rhyme or reason to which HPC 
systems are stuck on a RHEL6 or equivalent baseline, and how difficult is it to 
convince the sysadmins to make a reasonable compiler available?

This is not a C++11-ism that I dragged in intentionally, but there are plenty 
of post-4.4 C++11 features that we would like to be able to exploit for 
readability and portability, so it's not just a question of academic interest.

--bw

________________________________________
From: Dyninst-api <dyninst-api-boun...@cs.wisc.edu> on behalf of Mark W. 
Krentel <kren...@rice.edu>
Sent: Friday, May 12, 2017 2:02 PM
To: dyninst-api@cs.wisc.edu
Subject: [DynInst_API:] dyninst 9.3.2 and gcc 4.4

I ran into this problem while trying to build Dyninst 9.3.2 on Blue
Gene (mira, vesta) at Argonne.

Dyninst 9.3.x won't build with GNU 4.4 because the typeCollection
destructor in Collections.C uses the C++11 range iterator feature
which is not supported in 4.4.

     318 typeCollection::~typeCollection()
     319 {
     320     // delete all of the types
     321     for(const auto& t: typesByName) {
     322         t.second->decrRefCount();
     323     }
     324
     325     for(const auto& t: typesByID) {
     326         t.second->decrRefCount();
     327     }
     328 }

This is easy enough to patch because so far, this is the only use of
this feature.  But it brings up the difficult subject of supporting
gcc/g++ 4.4 or not.

This puts me in an awkward position.  I understand that 4.4 is ancient
and it's long past time to move the line to 4.8.

But there are a lot of systems that I care about that still run RH
6.x, including mira at Argonne, and that comes with gcc/g++ 4.4.7.
(mira has 4.8, but only for the back end.)  It's awkward when the
build directions start with, "ask your sysadmin to install a later
compiler."

Anyway, it's easy enough to work around, for now.

--Mark
_______________________________________________
Dyninst-api mailing list
Dyninst-api@cs.wisc.edu
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api
_______________________________________________
Dyninst-api mailing list
Dyninst-api@cs.wisc.edu
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to