|
[Rivet] analysisFrank Siegert frank.siegert at cern.chSat May 2 09:14:17 BST 2015
Hi Andy, all, are there any immediate advantages to requiring C++11, beyond that new C++ constructs become available to us developers? Is there any feature that would save us a lot of work such that it would be worth doing the extra support work to explain/help the probably many people who will still try to compile on SL6? If not, I would favour waiting at least until lxplus becomes SL7 by default (+ a few months to allow people/institutes to switch as well). Cheers, Frank On 1 May 2015 at 17:34, Andy Buckley <andy.buckley at cern.ch> wrote: > Yes, we need to add that to our procedure. > > The theorist use of vanilla SLC6 systems (it'd be better to just use > Ubuntu or Fedora...) is our main blocker on moving Rivet "properly" to > C++11: the relevant experiment software builds are all using up-to-date > compilers. But SLC7 / CC7 is available now, and lxplus7 is available, > with the vanilla compiler being the fully C++11-compatible GCC 4.8.3... > so maybe we *are* now at the point where we could match that switch, say > with Rivet 2.3.0. Opinions? > > Andy > > > On 30/04/15 16:19, kirsanov wrote: >> Thanks a lot, Andy, >> You are going to test it with and without c++11 before releasing? >> Cheers, Mikhail >> >> On 4/30/15 8:09 PM, Andy Buckley wrote: >>> I have removed all these from the Rivet trunk. In fact, we already >>> import the Boost assign comma override, which is C++11 safe (at least, >>> if it wasn't you'd have seen a lot more problems) and so I just >>> converted these to the somevector += 1,2,3,4; syntax. We'll make a >>> release containing this in the not-too-distant future. >>> >>> Andy >>> >>> >>> >>> On 27/04/15 12:07, Andy Buckley wrote: >>>> We are planning to remove uses of this Boost assign list_of from the >>>> next minor Rivet release because of the C++98/03/11 compatibility issues >>>> while using it. >>>> >>>> We'd like to move to requiring C++11, but aren't sure that this is an >>>> option yet, both because of the build settings of the LHC experiments, >>>> and because the system compiler on SLC6 isn't capable of many important >>>> C++11 features. LCG and the experiments don't use the system compiler, >>>> of course, but for what I think are largely accidental / cargo cult >>>> reasons, there are many "vanilla" SLC6 systems in use, particularly by >>>> theorists :-/ >>>> >>>> Andy >>>> >>>> >>>> On 27/04/15 10:41, James Robinson wrote: >>>>> Dear Mikhail, >>>>> >>>>> Sorry, the code was originally written using C++11 features, assuming >>>>> forward-compatibility. It then got changed to use Boost for C++03 >>>>> compatibility. Hopefully, in future, we can either switch to using >>>>> C++11 >>>>> throughout or Boost will patch this (known) ambiguity bug. >>>>> >>>>> Thanks, >>>>> James >>>>> >>>>> On 27 April 2015 at 11:37, kirsanov <Mikhail.Kirsanov at cern.ch >>>>> <mailto:Mikhail.Kirsanov at cern.ch>> wrote: >>>>> >>>>> Hello, Andy, James, >>>>> So, after some unforeseen education about the new c++11 >>>>> syntax, the >>>>> patch looks like this: >>>>> >>>>> /afs/cern.ch/user/m/mkirsano/public/rivet-2.2.1.patch >>>>> <http://cern.ch/user/m/mkirsano/public/rivet-2.2.1.patch> >>>>> >>>>> It will not compile without c++11. >>>>> So, for the next rivet version one should introduce some >>>>> preprocessor if or rewrite the code in a simple manner, without >>>>> boost. >>>>> Cheers, Mikhail >>>>> >>>>> >>>> >>> >> > > > -- > Dr Andy Buckley, Lecturer / Royal Society University Research Fellow > Particle Physics Expt Group, University of Glasgow > _______________________________________________ > Rivet mailing list > Rivet at projects.hepforge.org > https://www.hepforge.org/lists/listinfo/rivet
More information about the Rivet mailing list |