From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22228 invoked by alias); 4 Aug 2007 11:41:44 -0000 Received: (qmail 22220 invoked by uid 22791); 4 Aug 2007 11:41:43 -0000 X-Spam-Check-By: sourceware.org Received: from wa-out-1112.google.com (HELO wa-out-1112.google.com) (209.85.146.178) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 04 Aug 2007 11:41:41 +0000 Received: by wa-out-1112.google.com with SMTP id m16so1190868waf for ; Sat, 04 Aug 2007 04:41:39 -0700 (PDT) Received: by 10.142.155.4 with SMTP id c4mr172450wfe.1186227699210; Sat, 04 Aug 2007 04:41:39 -0700 (PDT) Received: by 10.142.99.11 with HTTP; Sat, 4 Aug 2007 04:41:39 -0700 (PDT) Message-ID: Date: Sat, 04 Aug 2007 11:41:00 -0000 From: "Andrew Pinski" To: gcc-patches Subject: [PATCH] Fix middle-end/32813 ICE in annotate_all_with_locus MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_87732_16781122.1186227699187" X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2007-08/txt/msg00236.txt.bz2 ------=_Part_87732_16781122.1186227699187 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 1107 Hi, The fortran front-end calls annotate_all_with_locus with a statement list which included coumpound statement which was generated by fold and annotate_all_with_locus does not like the compound expression at all. The compound expression was generated when fold was folding COND_EXPR and decided it needed to keep around the SAVE_EXPR (which is correct). Since we really don't need to generate a compound expression here, I changed omit_one_operand and pedantic_omit_one_operand for this case to just return a cast to void type of the ommited expression. I also had to fix up gfortran.fortran-torture/compile to run through all the options instead of just -O. OK? Bootstrapped and tested on i686-apple-darwin8.10 with no regressions. Thanks, Andrew Pinski ChangeLog: * fold-const.c (omit_one_operand): Return only the ommitted expression if the result is an empty statement. (pedantic_omit_one_operand): Likewise. * gfortran.fortran-torture/compile/emptyif-1.f90: New test. * lib/fortran-torture.exp (fortran-torture): Use TORTURE_OPTIONS instead of just -O. ------=_Part_87732_16781122.1186227699187 Content-Type: text/plain; name="fixpr32813.diff.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="fixpr32813.diff.txt" X-Attachment-Id: f_di8qp3 Content-length: 3091 SW5kZXg6IGZvbGQtY29uc3QuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBmb2xkLWNvbnN0LmMJKHJldmlzaW9uIDEyNzIwNCkKKysrIGZvbGQtY29u c3QuYwkod29ya2luZyBjb3B5KQpAQCAtMzI3Nyw2ICszMjc3LDExIEBAIG9t aXRfb25lX29wZXJhbmQgKHRyZWUgdHlwZSwgdHJlZSByZXN1bHQKIHsKICAg dHJlZSB0ID0gZm9sZF9jb252ZXJ0ICh0eXBlLCByZXN1bHQpOwogCisgIC8q IElmIHRoZSByZXN1bHRpbmcgb3BlcmFuZCBpcyBhbiBlbXB0eSBzdGF0ZW1l bnQsIGp1c3QgcmV0dXJuIHRoZSBvbW1pdGVkCisgICAgIHN0YXRlbWVudCBj YXN0ZWQgdG8gdm9pZC4gKi8KKyAgaWYgKElTX0VNUFRZX1NUTVQgKHQpICYm IFRSRUVfU0lERV9FRkZFQ1RTIChvbWl0dGVkKSkKKyAgICByZXR1cm4gYnVp bGQxIChOT1BfRVhQUiwgdm9pZF90eXBlX25vZGUsIGZvbGRfaWdub3JlZF9y ZXN1bHQgKG9taXR0ZWQpKTsKKwogICBpZiAoVFJFRV9TSURFX0VGRkVDVFMg KG9taXR0ZWQpKQogICAgIHJldHVybiBidWlsZDIgKENPTVBPVU5EX0VYUFIs IHR5cGUsIGZvbGRfaWdub3JlZF9yZXN1bHQgKG9taXR0ZWQpLCB0KTsKIApA QCAtMzI5MCw2ICszMjk1LDExIEBAIHBlZGFudGljX29taXRfb25lX29wZXJh bmQgKHRyZWUgdHlwZSwgdHIKIHsKICAgdHJlZSB0ID0gZm9sZF9jb252ZXJ0 ICh0eXBlLCByZXN1bHQpOwogCisgIC8qIElmIHRoZSByZXN1bHRpbmcgb3Bl cmFuZCBpcyBhbiBlbXB0eSBzdGF0ZW1lbnQsIGp1c3QgcmV0dXJuIHRoZSBv bW1pdGVkCisgICAgIHN0YXRlbWVudCBjYXN0ZWQgdG8gdm9pZC4gKi8KKyAg aWYgKElTX0VNUFRZX1NUTVQgKHQpICYmIFRSRUVfU0lERV9FRkZFQ1RTIChv bWl0dGVkKSkKKyAgICByZXR1cm4gYnVpbGQxIChOT1BfRVhQUiwgdm9pZF90 eXBlX25vZGUsIGZvbGRfaWdub3JlZF9yZXN1bHQgKG9taXR0ZWQpKTsKKwog ICBpZiAoVFJFRV9TSURFX0VGRkVDVFMgKG9taXR0ZWQpKQogICAgIHJldHVy biBidWlsZDIgKENPTVBPVU5EX0VYUFIsIHR5cGUsIGZvbGRfaWdub3JlZF9y ZXN1bHQgKG9taXR0ZWQpLCB0KTsKIApJbmRleDogdGVzdHN1aXRlL2dmb3J0 cmFuLmZvcnRyYW4tdG9ydHVyZS9jb21waWxlL2VtcHR5aWYtMS5mOTAKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gdGVzdHN1aXRlL2dmb3J0cmFuLmZv cnRyYW4tdG9ydHVyZS9jb21waWxlL2VtcHR5aWYtMS5mOTAJKHJldmlzaW9u IDApCisrKyB0ZXN0c3VpdGUvZ2ZvcnRyYW4uZm9ydHJhbi10b3J0dXJlL2Nv bXBpbGUvZW1wdHlpZi0xLmY5MAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx MCBAQAorcHJvZ3JhbSBlbXB0eWlmCisKKyAgaW1wbGljaXQgbm9uZQorICBp bnRlZ2VyIGksSyg0KQorCisgIGlmIChLKGkpPT0wKSB0aGVuCisgICAgISBk byBhYnNvbHV0ZWx5IG5vdGhpbmcKKyAgZW5kIGlmCisKK2VuZCBwcm9ncmFt CkluZGV4OiB0ZXN0c3VpdGUvbGliL2ZvcnRyYW4tdG9ydHVyZS5leHAKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gdGVzdHN1aXRlL2xpYi9mb3J0cmFu LXRvcnR1cmUuZXhwCShyZXZpc2lvbiAxMjcyMDQpCisrKyB0ZXN0c3VpdGUv bGliL2ZvcnRyYW4tdG9ydHVyZS5leHAJKHdvcmtpbmcgY29weSkKQEAgLTM0 Nyw2ICszNDcsNyBAQCBwcm9jIHNlYXJjaF9mb3JfcmUgeyBmaWxlIHBhdHRl cm4gfSB7CiBwcm9jIGZvcnRyYW4tdG9ydHVyZSB7IGFyZ3MgfSB7CiAgICAg Z2xvYmFsIHNyY2RpciBzdWJkaXIKICAgICBnbG9iYWwgY29tcGlsZXJfY29u ZGl0aW9uYWxfeGZhaWxfZGF0YQorICAgIGdsb2JhbCBUT1JUVVJFX09QVElP TlMKIAogICAgIHNldCBzcmMgW2xpbmRleCAkYXJncyAwXQogICAgIGlmIHsg W2xsZW5ndGggJGFyZ3NdID4gMSB9IHsKQEAgLTM3MSw3ICszNzIsNyBAQCBw cm9jIGZvcnRyYW4tdG9ydHVyZSB7IGFyZ3MgfSB7CiAgICAgfQogICAgCiAg ICAgIyBsb29wIHRocm91Z2ggYWxsIHRoZSBvcHRpb25zCi0gICAgc2V0IG9w dGlvbl9saXN0IFtsaXN0IHsgIi1PIiB9IF0KKyAgICBzZXQgb3B0aW9uX2xp c3QgJFRPUlRVUkVfT1BUSU9OUwogICAgIGZvcmVhY2ggb3B0aW9uICRvcHRp b25fbGlzdCB7CiAKIAkjIHRvcnR1cmVfY29tcGlsZV94ZmFpbCBpcyBzZXQg YnkgdGhlIC54IHNjcmlwdCAoaWYgcHJlc2VudCkK ------=_Part_87732_16781122.1186227699187--