<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - ODRHash hashes type sugar"
   href="https://bugs.llvm.org/show_bug.cgi?id=32965">32965</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>ODRHash hashes type sugar
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>clang
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Modules
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedclangbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>vvasilev@cern.ch
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>dgregor@apple.com, llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=18416" name="attach_18416" title="A standalone reproducer">attachment 18416</a> <a href="attachment.cgi?id=18416&action=edit" title="A standalone reproducer">[details]</a></span>
A standalone reproducer

r301989 caused regression in our builds. We spent some time reducing and
understanding the example.

To use reproduce it open test.sh rewire your compiler and run it. The output
is:

rm -fr pcms/* ; "/Users/vvassilev/workspace/llvm-git/obj/bin/clang++" -cc1
-triple x86_64-unknown-linux-gnu -fsyntax-only -disable-free -main-file-name
TGQt.cxx -mrelocation-model pic -pic-level 2 -mthread-model posix
-mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases
-munwind-tables -fuse-init-array -target-cpu x86-64  -dwarf-column-info
-debug-info-kind=limited -dwarf-version=4 -debugger-tuning=gdb -resource-dir
`pwd`/cvmfs/sft.cern.ch/lcg/contrib/llvm/builds/x86_64-slc6-gcc62-opt/clang_build_302187/lib/clang/5.0.0
-D QT_CORE_LIB -D QT_GUI_LIB -I
./mnt/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Debug/COMPILER/clang_gcc62/LABEL/slc6/build/include
-internal-isystem
`pwd`/afs/cern.ch/sw/lcg/contrib/gcc/6.2/x86_64-slc6/include/c++/6.2.0
-internal-isystem
`pwd`/afs/cern.ch/sw/lcg/contrib/gcc/6.2/x86_64-slc6/include/c++/6.2.0/x86_64-pc-linux-gnu
-internal-isystem
`pwd`/afs/cern.ch/sw/lcg/contrib/gcc/6.2/x86_64-slc6/include/c++/6.2.0/backward
-internal-isystem
`pwd`/cvmfs/sft.cern.ch/lcg/contrib/llvm/builds/x86_64-slc6-gcc62-opt/clang_build_302187/lib/clang/5.0.0/include
-internal-externc-isystem `pwd`/usr/include -Wshadow -Wall -W
-Woverloaded-virtual -Wc++11-narrowing -Wsign-compare -Wsometimes-uninitialized
-Wconditional-uninitialized -Wheader-guard -Warray-bounds -Wcomment
-Wtautological-compare -Wstrncat-size -Wloop-analysis -Wbool-conversion
-Wno-module-import-in-extern-c -Wno-deprecated-register -Wno-deprecated
-Wno-uninitialized -std=c++11 -fno-autolink -fdebug-compilation-dir
./build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Debug/COMPILER/clang_gcc62/LABEL/slc6/build/standalone
-ferror-limit 19 -fmessage-length 114 -pthread -fmodules -fimplicit-module-maps
-fmodules-cache-path=./pcms/ -fobjc-runtime=gcc -fcxx-exceptions -fexceptions
-fdiagnostics-show-option -fdiagnostics-show-note-include-stack
-fcolor-diagnostics -fmodules-local-submodule-visibility -x c++
./mnt/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Debug/COMPILER/clang_gcc62/LABEL/slc6/build/TGQt.cxx
-nostdsysteminc -Rmodule-build
./mnt/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Debug/COMPILER/clang_gcc62/LABEL/slc6/build/TGQt.cxx:27:10:
remark: 
      building module 'libGQt.so' as
     
'/Users/vvassilev/workspace/reproducers/PR_ODRVisitor2/standalone/pcms/1LGRIN2OWEDGY/libGQt.so-3TBZLKNN4S8RG.pcm'
      [-Rmodule-build]
#include "TGQt.h"
         ^
./mnt/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Debug/COMPILER/clang_gcc62/LABEL/slc6/build/TGQt.cxx:27:10:
remark: 
      finished building module 'libGQt.so' [-Rmodule-build]
In file included from
./mnt/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Debug/COMPILER/clang_gcc62/LABEL/slc6/build/TGQt.cxx:22:
./mnt/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Debug/COMPILER/clang_gcc62/LABEL/slc6/build/include/qstring1.h:9:8:
error: 
      'QString' has different definitions in different modules; first
difference is defined here found method
      'vsprintf' with 2nd parameter of type '__va_list_tag *' decayed from
'va_list' (aka '__builtin_va_list')
  void vsprintf(const char *format, va_list ap);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In module 'libGQt.so' imported from
./mnt/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Debug/COMPILER/clang_gcc62/LABEL/slc6/build/TGQt.cxx:27:
./mnt/build/jenkins/workspace/root-nightly-cxxmodules/BUILDTYPE/Debug/COMPILER/clang_gcc62/LABEL/slc6/build/include/qstring1.h:9:8:
note: 
      but in 'libGQt.so.TGQt.h' found method 'vsprintf' with 2nd parameter of
type '__va_list_tag *' decayed from
      'va_list' (aka '__builtin_va_list')
  void vsprintf(const char *format, va_list ap);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>