Skip to content

Dragonegg miscompiles dlls/crypt32/message.c from wine #11011

@llvmbot

Description

@llvmbot
Bugzilla Link 10639
Version 2.9
OS Linux
Blocks llvm/llvm-bugzilla-archive#10682
Attachments llvm-preprocessed file, preprocessed gcc file
Reporter LLVM Bugzilla Contributor

Extended Description

Dragonegg can compile wine successfully, aside from http://bugs.winehq.org/show_bug.cgi?id=28050. Running its test suite, however, shows a few problems. This is the first one (8 potential).

To reproduce, compile wine with:
$ CC=llvm-gcc ./configure
$ make

then run the test:
$ cd dlls/crypt32/tests
$ make message.ok

this will fail:
austin@debian:~/wine-llvmgcc/dlls/crypt32/tests$ make message.ok
../../../tools/runtest -q -P wine -M crypt32.dll -T ../../.. -p crypt32_test.exe.so message.c && touch message.ok
message.c:1079: Test failed: unexpected value
message.c:1097: Test failed: unexpected value
message.c:1116: Test failed: unexpected value
message.c:1138: Test failed: unexpected value
message.c:1167: Test failed: unexpected value
message.c:1190: Test failed: unexpected value
make: *** [message.ok] Error 6

compilings crypt32/message.c with gcc, or using -O0 instead works around the issue. I'll attach preprocessed source files from llvm-gcc and gcc (versions below). If more info is needed, please don't hesitate to ask.

austin@debian:~/wine-llvmgcc/dlls/crypt32/tests$ llvm-gcc --version
gcc-4.5 (Debian 4.5.3-3) 4.5.3
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

austin@debian:~/wine-llvmgcc/dlls/crypt32/tests$ gcc --version
gcc (Debian 4.4.6-7) 4.4.6
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzillamiscompilationobsoleteIssues with old (unsupported) versions of LLVMwontfixIssue is real, but we can't or won't fix it. Not invalid

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions