besc added a comment.

I found a crash when applying this patch to 3.9.1 final (source archives from 
http://llvm.org/releases/download.html#3.9.1) and compiling LLVM/Clang with 
MinGW-w64 GCC 6.2.0 or MSVC 2015. Clang-format sometimes crashes with input 
from stdin, output to stdout and a command line like this:

  clang-format.exe -style=file -assume-filename=C:/path/to/file.hpp

I’m not familiar with the code base, so these are just my observations from a 
user’s point of view. From what I found the problem could be linked to the 
first slash/backslash in an absolute path:

Crash

- C:/path/to/file.hpp
- C:/path\to\file.hpp
- /path/to/file.hpp
- /path\to\file.hpp

Works

- Backslashes only always work.
- C:\path/to/file.hpp
- \path/to/file.hpp
- path/to/file.hpp
- path/to\file.hpp

Header file (.hpp) or source file (.cpp) does not make a difference.

A crash produces this error message:

  Wrote crash dump file 
"C:\Users\besc\AppData\Local\Temp\clang-format.exe-e00fa3.dmp"
  0x0000000000459504 (0x0000000000000000 0x0000000000000000 0x0000000000000000 
0x000000000022E300)
  0x000000000047A45F (0x000000000022E3F0 0x0000000000000015 0x000000000022E5AC 
0x0000000004000004)
  0x000000000047174F (0x000000000022EE20 0x000000000022ED30 0x0000000000000000 
0x000000000094846C)
  0x0000000000403744 (0x0000000000A77F30 0x0000000077CC0A7A 0x0000000000857120 
0x000000000022FDB0)
  0x00000000006E9CBF (0x0000000000000002 0x000000000000004D 0x000000000085ABD0 
0x0000000000000000)
  0x00000000004013E8 (0x0000000000000000 0x0000000000000000 0x0000000000000000 
0x0000000000000000)
  0x000000000040151B (0x0000000000000000 0x0000000000000000 0x0000000000000000 
0x0000000000000000)
  0x0000000077B859CD (0x0000000000000000 0x0000000000000000 0x0000000000000000 
0x0000000000000000), BaseThreadInitThunk() + 0xD bytes(s)
  0x0000000077CBA561 (0x0000000000000000 0x0000000000000000 0x0000000000000000 
0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s)

A corresponding dump file is attached: F2878050: clang-format.exe-e00fa3.dmp 
<https://reviews.llvm.org/F2878050>

I also tested a vanilla 3.9.1 final, built with the same compilers: works fine 
with all the above slash combinations.


https://reviews.llvm.org/D27810



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

Reply via email to