hans added a comment.

Bah, I should have known something was going to break if I touched this :-)
http://lab.llvm.org:8011/builders/sanitizer-windows/builds/37132
http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/1017

Here's a repro:

  template <typename T> struct __declspec(dllimport) S {
    void foo() {
      static constexpr char src[] = {"hello"};
      T arr[sizeof(src)];
    }
  };
  
  void use() {
    S<int> s;
    s.foo();
  }
  
  $ bin/clang -target i686-pc-win32 -c /tmp/a.cc
  /tmp/a.cc:4:17: error: invalid application of 'sizeof' to an incomplete type 
'char const[]'
      T arr[sizeof(src)];
                  ^~~~~
  /tmp/a.cc:10:5: note: in instantiation of member function 'S<int>::foo' 
requested here
    s.foo();
      ^
  1 error generated.

This is annoying. Looking into it now.


Repository:
  rC Clang

https://reviews.llvm.org/D53870



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to