[LLVMbugs] [Bug 18997] New: std::cout << std::endl crashes under Windows

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Feb 27 16:34:17 PST 2014


http://llvm.org/bugs/show_bug.cgi?id=18997

            Bug ID: 18997
           Summary: std::cout << std::endl crashes under Windows
           Product: clang
           Version: 3.4
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
          Assignee: unassignedclangbugs at nondot.org
          Reporter: pdimov at gmail.com
                CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Using the official LLVM 3.4 Windows release with mingw g++ 4.8.1 installed, the
following program:

#include <iostream>

int main()
{
    std::cout << std::endl;
}

crashes.

C:\Projects\testbed>clang++ testbed.cpp

C:\Projects\testbed>a.out

C:\Projects\testbed>gdb a.out
GNU gdb (GDB) 7.6.1
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from C:\Projects\testbed\a.out...done.
(gdb) run
Starting program: C:\Projects\testbed/a.out
[New Thread 7140.0x1920]

Program received signal SIGILL, Illegal instruction.
0x6fcc43c3 in libstdc++-6!_ZSt4cout () from c:\mingw\bin\libstdc++-6.dll
(gdb) bt
#0  0x6fcc43c3 in libstdc++-6!_ZSt4cout () from c:\mingw\bin\libstdc++-6.dll
#1  0xc81ab071 in ?? ()
#2  0x4017606f in ?? ()
#3  0xbf5bc400 in ?? ()
#4  0x401c7075 in ?? ()
#5  0x40176000 in ?? ()
#6  0x401cce00 in ?? ()
#7  0x401c7000 in ?? ()
#8  0x28fef800 in ?? ()
#9  0x40172300 in ?? ()
#10 0xcc43c000 in ?? ()
#11 0x4017606f in ?? ()
#12 0x28fed400 in ?? ()
#13 0x28ff6800 in ?? ()
#14 0x40141300 in ?? ()
#15 0x00000100 in ?? ()
#16 0x2e175800 in ?? ()
#17 0x2e1f5800 in ?? ()
#18 0x00000000 in ?? ()
(gdb) quit

The output of clang++ -v is as follows:

C:\Projects\testbed>clang++ -v testbed.cpp
clang version 3.4 (198054)
Target: i686-pc-mingw32
Thread model: posix
Selected GCC installation:
 "c:\Program Files (x86)\llvm\bin\clang++.exe" -cc1 -triple i686-pc-mingw32 -S
-
disable-free -main-file-name testbed.cpp -mrelocation-model static
-mdisable-fp-
elim -fmath-errno -mconstructor-aliases -target-cpu pentium4 -v -resource-dir
"c
:\\Program Files (x86)\\llvm\\bin\\..\\lib\\clang\\3.4" -fdeprecated-macro
-fno-
dwarf-directory-asm -fdebug-compilation-dir "C:\\Projects\\testbed"
-ferror-limi
t 19 -fmessage-length 80 -mstackrealign -fno-use-cxa-atexit -fobjc-runtime=gcc
-
fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics
-vect
orize-slp -o "C:\\Users\\PETERD~1\\AppData\\Local\\Temp\\testbed-f56ee4.s" -x
c+
+ testbed.cpp
clang -cc1 version 3.4 based upon LLVM 3.4 default target i686-pc-mingw32
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.0"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.0/x86_64-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.0/i686-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.0/backward"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.1"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.1/x86_64-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.1/i686-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.1/backward"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.2"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.2/x86_64-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.2/i686-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.2/backward"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.3"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.3/x86_64-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.3/i686-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.3/backward"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.4"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.4/x86_64-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.4/i686-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.5.4/backward"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.6.0"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.6.0/x86_64-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.6.0/i686-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.6.0/backward"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.6.1"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.6.1/x86_64-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.6.1/i686-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.6.1/backward"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.6.2"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.6.2/x86_64-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.6.2/i686-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.6.2/backward"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.6.3"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.6.3/x86_64-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.6.3/i686-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.6.3/backward"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.7.0"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.7.0/x86_64-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.7.0/i686-w64-mingw32"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
/../../../include/c++/4.7.0/backward"
ignoring nonexistent directory "/mingw/lib/gcc/mingw32/4.5.2/include/c++"
ignoring nonexistent directory
"/mingw/lib/gcc/mingw32/4.5.2/include/c++/mingw32
"
ignoring nonexistent directory
"/mingw/lib/gcc/mingw32/4.5.2/include/c++/backwar
d"
ignoring nonexistent directory "c:/MinGW/lib/gcc/mingw32/4.6.2/include/c++"
ignoring nonexistent directory
"c:/MinGW/lib/gcc/mingw32/4.6.2/include/c++/mingw
32"
ignoring nonexistent directory
"c:/MinGW/lib/gcc/mingw32/4.6.2/include/c++/backw
ard"
ignoring nonexistent directory "c:/MinGW/lib/gcc/mingw32/4.6.1/include/c++"
ignoring nonexistent directory
"c:/MinGW/lib/gcc/mingw32/4.6.1/include/c++/mingw
32"
ignoring nonexistent directory
"c:/MinGW/lib/gcc/mingw32/4.6.1/include/c++/backw
ard"
ignoring nonexistent directory "c:/MinGW/lib/gcc/mingw32/4.5.2/include/c++"
ignoring nonexistent directory
"c:/MinGW/lib/gcc/mingw32/4.5.2/include/c++/mingw
32"
ignoring nonexistent directory
"c:/MinGW/lib/gcc/mingw32/4.5.2/include/c++/backw
ard"
ignoring nonexistent directory "c:/MinGW/lib/gcc/mingw32/4.5.0/include/c++"
ignoring nonexistent directory
"c:/MinGW/lib/gcc/mingw32/4.5.0/include/c++/mingw
32"
ignoring nonexistent directory
"c:/MinGW/lib/gcc/mingw32/4.5.0/include/c++/backw
ard"
ignoring nonexistent directory "c:/MinGW/lib/gcc/mingw32/4.4.0/include/c++"
ignoring nonexistent directory
"c:/MinGW/lib/gcc/mingw32/4.4.0/include/c++/mingw
32"
ignoring nonexistent directory
"c:/MinGW/lib/gcc/mingw32/4.4.0/include/c++/backw
ard"
ignoring nonexistent directory "c:/MinGW/lib/gcc/mingw32/4.3.0/include/c++"
ignoring nonexistent directory
"c:/MinGW/lib/gcc/mingw32/4.3.0/include/c++/mingw
32"
ignoring nonexistent directory
"c:/MinGW/lib/gcc/mingw32/4.3.0/include/c++/backw
ard"
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
\../../../i686-w64-mingw32/include"
ignoring nonexistent directory "c:\Program Files
(x86)\llvm\bin\..\lib\clang\3.4
\../../../x86_64-w64-mingw32/include"
ignoring nonexistent directory "/usr/include"
ignoring duplicate directory "/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
 c:/MinGW/lib/gcc/mingw32/4.8.1/include/c++
 c:/MinGW/lib/gcc/mingw32/4.8.1/include/c++/mingw32
 c:/MinGW/lib/gcc/mingw32/4.8.1/include/c++/backward
 c:\Program Files (x86)\llvm\bin\..\lib\clang\3.4\include
 c:\Program Files (x86)\llvm\bin\..\lib\clang\3.4\../../../include
 /mingw/include
End of search list.
 "c:\mingw\bin\g++.exe" -v -c -m32 -o
"C:\\Users\\PETERD~1\\AppData\\Local\\Temp
\\testbed-057dc5.o" -x assembler
"C:\\Users\\PETERD~1\\AppData\\Local\\Temp\\tes
tbed-f56ee4.s"
Using built-in specs.
COLLECT_GCC=c:\mingw\bin\g++.exe
Target: mingw32
Configured with: ../gcc-4.8.1/configure --prefix=/mingw --host=mingw32
--build=m
ingw32 --without-pic --enable-shared --enable-static --with-gnu-ld --enable-lto
--enable-libssp --disable-multilib
--enable-languages=c,c++,fortran,objc,obj-c++
,ada --disable-sjlj-exceptions --with-dwarf2 --disable-win32-registry
--enable-l
ibstdcxx-debug --enable-version-specific-runtime-libs
--with-gmp=/usr/src/pkg/gm
p-5.1.2-1-mingw32-src/bld --with-mpc=/usr/src/pkg/mpc-1.0.1-1-mingw32-src/bld
--
with-mpfr= --with-system-zlib --with-gnu-as --enable-decimal-float=yes
--enable-
libgomp --enable-threads --with-libiconv-prefix=/mingw32
--with-libintl-prefix=/
mingw --disable-bootstrap LDFLAGS=-s CFLAGS=-D_USE_32BIT_TIME_T
Thread model: win32
gcc version 4.8.1 (GCC)
COLLECT_GCC_OPTIONS='-v' '-c' '-m32' '-o'
'C:\Users\PETERD~1\AppData\Local\Temp\
testbed-057dc5.o' '-shared-libgcc' '-mtune=generic' '-march=pentiumpro'
 c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/as.exe -v -o
C:\U
sers\PETERD~1\AppData\Local\Temp\testbed-057dc5.o
C:\Users\PETERD~1\AppData\Loca
l\Temp\testbed-f56ee4.s
GNU assembler version 2.23.2 (mingw32) using BFD version (GNU Binutils) 2.23.2
COMPILER_PATH=c:/mingw/bin/../libexec/gcc/mingw32/4.8.1/;c:/mingw/bin/../libexec
/gcc/;c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/
LIBRARY_PATH=c:/mingw/bin/../lib/gcc/mingw32/4.8.1/;c:/mingw/bin/../lib/gcc/;c:/
mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/lib/;c:/mingw/bin/../lib/
gcc/mingw32/4.8.1/../../../
COLLECT_GCC_OPTIONS='-v' '-c' '-m32' '-o'
'C:\Users\PETERD~1\AppData\Local\Temp\
testbed-057dc5.o' '-shared-libgcc' '-mtune=generic' '-march=pentiumpro'
 "c:\mingw\bin\g++.exe" -v -m32 -o a.out
"C:\\Users\\PETERD~1\\AppData\\Local\\T
emp\\testbed-057dc5.o"
Using built-in specs.
COLLECT_GCC=c:\mingw\bin\g++.exe
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.8.1/lto-wrapper.exe
Target: mingw32
Configured with: ../gcc-4.8.1/configure --prefix=/mingw --host=mingw32
--build=m
ingw32 --without-pic --enable-shared --enable-static --with-gnu-ld --enable-lto
--enable-libssp --disable-multilib
--enable-languages=c,c++,fortran,objc,obj-c++
,ada --disable-sjlj-exceptions --with-dwarf2 --disable-win32-registry
--enable-l
ibstdcxx-debug --enable-version-specific-runtime-libs
--with-gmp=/usr/src/pkg/gm
p-5.1.2-1-mingw32-src/bld --with-mpc=/usr/src/pkg/mpc-1.0.1-1-mingw32-src/bld
--
with-mpfr= --with-system-zlib --with-gnu-as --enable-decimal-float=yes
--enable-
libgomp --enable-threads --with-libiconv-prefix=/mingw32
--with-libintl-prefix=/
mingw --disable-bootstrap LDFLAGS=-s CFLAGS=-D_USE_32BIT_TIME_T
Thread model: win32
gcc version 4.8.1 (GCC)
COMPILER_PATH=c:/mingw/bin/../libexec/gcc/mingw32/4.8.1/;c:/mingw/bin/../libexec
/gcc/;c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/
LIBRARY_PATH=c:/mingw/bin/../lib/gcc/mingw32/4.8.1/;c:/mingw/bin/../lib/gcc/;c:/
mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/lib/;c:/mingw/bin/../lib/
gcc/mingw32/4.8.1/../../../
COLLECT_GCC_OPTIONS='-v' '-m32' '-o' 'a.out' '-shared-libgcc' '-mtune=generic'
'
-march=pentiumpro'
 c:/mingw/bin/../libexec/gcc/mingw32/4.8.1/collect2.exe -Bdynamic -u
___register
_frame_info -u ___deregister_frame_info -o a.out
c:/mingw/bin/../lib/gcc/mingw32
/4.8.1/../../../../mingw32/lib/crt2.o
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/crtb
egin.o -Lc:/mingw/bin/../lib/gcc/mingw32/4.8.1 -Lc:/mingw/bin/../lib/gcc
-Lc:/mi
ngw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/lib
-Lc:/mingw/bin/../lib/g
cc/mingw32/4.8.1/../../.. C:\Users\PETERD~1\AppData\Local\Temp\testbed-057dc5.o
-lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -ladvapi32
-lshel
l32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt
c:
/mingw/bin/../lib/gcc/mingw32/4.8.1/crtend.o

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140228/2bdbc745/attachment.html>


More information about the llvm-bugs mailing list