[Rivet] analysis

Frank Siegert frank.siegert at cern.ch
Sat 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