Mark Mitchell <[EMAIL PROTECTED]> writes: > Andreas Schwab wrote: >> Mark Mitchell <[EMAIL PROTECTED]> writes: >> >>> However, I think an even better fix is just to hard-code the string and >>> make it volatile. Presumably, the use of argv[0] here is just to keep >>> the compiler from optimizing the program away. So, I suggest doing >>> something like: >>> >>> volatile char *x = "pr36321.exe"; >> >> ITYM: >> >> char *volatile x = "pr36321.exe"; > > Either should work; in either case, the compiler cannot assume the > length of the string is computable at compile-time. (For example, in > the case I gave, the "r" character could magically become "\0".) > > But, yes, your version is probably clearer. Or, we can put the volatile > in both places.
If you put the volatile on the target you'll get a warning due to the discarded qualifier. Andreas. -- Andreas Schwab, SuSE Labs, [EMAIL PROTECTED] SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."