Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-5971

Ambiguity between std:: and ::

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: High
    • Resolution: Unresolved
    • Affects Version/s: 6.00.beta2
    • Fix Version/s: None
    • Component/s: Cling
    • Labels:
      None
    • Environment:

      Linux

    • Development:

      Description

      benchmarks.C is failing because of:

         bexec(dir,"rootmarks.C");

      And in rootmarks.C (which is an unnamed macro), there is this definition:

         Float_t norm    = 600;

      Conflicting with std::norm, and hence causing the following error:

      input_line_318:12:12: error: redefinition of 'norm' as different kind of symbol
         Float_t norm    = 600;
                 ^
      /afs/cern.ch/sw/lcg/contrib/gcc/4.8.1/x86_64-slc6-gcc48-opt/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.1/../../../../include/c++/4.8.1/complex:659:5: note: previous definition is here
          norm(const complex<_Tp>& __z)
          ^

      We should decide by 6.00.beta2 what to do here. An option is to do a using std::cout; using std::... instead of the generic using namspace std we currently have in TCling()

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jalopezg Javier Lopez Gomez
              Reporter:
              axel Axel Naumann
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated: