Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8236709

struct SwitchRange in HS violates C++ One Definition Rule

    Details

    • Subcomponent:
    • Resolved In Build:
      b06
    • CPU:
      generic
    • OS:
      generic

      Backports

        Description

        when experimenting with gcc8 and the -flto compiler flag I was running into these warnings in the c1 coding :
          
          
         /open_jdk/jdk_3/jdk/src/hotspot/share/c1/c1_LIRGenerator.hpp:50:7: warning: type 'struct SwitchRange' violates the C++ One Definition Rule [-Wodr]
         class SwitchRange: public CompilationResourceObj {
                ^
         /open_jdk/jdk_3/jdk/src/hotspot/share/opto/parse2.cpp:319: note: a different type is defined in another translation unit
         class SwitchRange : public StackObj {
           /usr/work/d040975/open_jdk/jdk_3/jdk/src/hotspot/share/c1/c1_LIRGenerator.hpp:52:7: note: the first difference of corresponding definitions is field '_low_key'
            int _low_key;
                ^
         /open_jdk/jdk_3/jdk/src/hotspot/share/opto/parse2.cpp:321: note: a field with different name is defined in another translation unit
            jint _lo; // inclusive lower limit

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  mbaesken Matthias Baesken
                  Reporter:
                  mbaesken Matthias Baesken
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: