ISO 9899 7.13.2.1 (3) says that "[...] the values of objects of automatic
authorChris Lattner <sabre@nondot.org>
Sun, 16 Nov 2003 22:06:14 +0000 (22:06 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 16 Nov 2003 22:06:14 +0000 (22:06 +0000)
commitc59c118e441e2eaaa97267f7eb7c05e84035325f
treefc6bb0075d63dfe23d2ff5020cf9f83c5b2e9a08
parent08e12f1860c0433f1984bcafa9be4a05f1ac8cb0
ISO 9899 7.13.2.1 (3) says that "[...] the values of objects of automatic
storage duration that are local to the function containing the invocation of the
[...] setjmp macro that do not have volatile-qualified type and have been
changed between the setjmp invocation and longjmp call are indeterminate."

As such, we have to mark all variables in a function that uses 'invoke' as
volatile.

This fixes PR77

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10035 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/CBackend/CBackend.cpp
lib/Target/CBackend/Writer.cpp