https://bugs.llvm.org/show_bug.cgi?id=34190

            Bug ID: 34190
           Summary: Core dump when printing error with invalid range-based
                    for loop
           Product: clang
           Version: 3.8
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
          Assignee: unassignedclangb...@nondot.org
          Reporter: henriqu...@gmail.com
                CC: dgre...@apple.com, llvm-bugs@lists.llvm.org

Created attachment 18984
  --> https://bugs.llvm.org/attachment.cgi?id=18984&action=edit
Ubuntu compiler output

Attempting to compile the following invalid C++ code will result in a core dump
on clang.

#include <string>
#include <utility>
#include <vector>

int main() {
  std::vector<std::pair<int, std::string>> collection;

  for (const &std::pair<int, std::string> : collection) {
  }
}

I used the following command line to trigger the coredump: "clang++ -std=c++11
main.cc -o main && ./main". Changing the & marker to just before the ":" will
not trigger the coredump. The valid range-based loop will not trigger the bug,
example:

for (const std::pair<int, std::string>& item : collection)

I managed to reproduce it on Ubuntu 16.04.2 LTS. "clang++ --version" outputs
"3.8.0-2ubuntu4". It also occurs on OS X El Captain, however Apple clang
versions seems to follow another version scheme, since it shows "Apple LLVM
version 8.0.0 (clang-800.0.42.1)" and I'm unable to relate Ubuntu versions and
Apple versions.

I've attached the full output of the command that triggers the coredump for
Ubuntu. Apple's clang actually say to report the bug on
developer.apple.com/bugreporter, but since this issue do not appear to be
restricted to Apple, I'm reporting it here.

I don't considere it a major bug because the core dump only happens when
compiling invalid code, which would interrupt the compiler anyway. Also the
error description seems to be complete.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to