From patchwork Wed Dec 2 15:47:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Lance Taylor X-Patchwork-Id: 1409807 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=gcc-patches-bounces@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gcc.gnu.org Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.a=rsa-sha256 header.s=default header.b=mtkimZOS; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4CmNdh3xSlz9sRK for ; Thu, 3 Dec 2020 02:47:32 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EC574395CC15; Wed, 2 Dec 2020 15:47:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EC574395CC15 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1606924050; bh=y4vDBFCf43krTvbkVU4Pa6dBy7vXfTCl2nMLBBB3NXk=; h=Date:Subject:To:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=mtkimZOS8IJnvqvkTs38wNLlt07UHehwj30ebdEVHaIgj8sUA7x/hvh9PyT8iQmF1 22qpgK5sOWbsvS4YYkd4vRJxVDE0vhTA8rz/Cgk6AnhPv0AGo26pBB9UzMwAcyiHGN Nyed6R9TmEW5rTH182bx7l9XTvzG5qYKF97AUQuw= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com [IPv6:2a00:1450:4864:20::62c]) by sourceware.org (Postfix) with ESMTPS id 3B486395C402 for ; Wed, 2 Dec 2020 15:47:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3B486395C402 Received: by mail-ej1-x62c.google.com with SMTP id x16so5035025ejj.7 for ; Wed, 02 Dec 2020 07:47:26 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=y4vDBFCf43krTvbkVU4Pa6dBy7vXfTCl2nMLBBB3NXk=; b=owUV2LkAsWPh+lRuvFi8uVb+igznVcuj6PbEUQ1jTSZPBVQ3jMrWXtHmt3wQZHn3jo WTnFkRhu+ZOLRVeGvIYX0Mbs0zRFyqJMngvbpkBFPn8r4YeNXj6sv3wN1SjEWJWASOOV n+EnYV0wPkbFuuAL2/XtmZL4/4lN7zpvWxeuCMsgbcjiFNJDTnIo3tYp5Mro4iH5P89B XiDLAEsMgnUbZbBkoNtp2r9yV5Marj8/9xT+bGdukMJdCEtMA2Vr4Wsvsti6yiS/BPUF LXmSsDi4MeC3BQfxQTNoLeTkkts6szD+GN36VUozSYks+tFc3JcGCVD2bcpjK8zomOPg Oy1Q== X-Gm-Message-State: AOAM530bkoby7x2FfJlj/QUeIKdryIAT786DFifCoSPv95yX8iUPCSPX 0xHjvnsJUrBee/Mu2hzkSZgDu8jEM1XVNPHWTqBFIVr2ivzIWQ== X-Google-Smtp-Source: ABdhPJxS/H9FEO/q3JPO32MBJr/sbkOWwNHVEVyIfapb2+1EVvEI9FlwF9/IqkRuZQDZxG6bXADCXjjXLLz1ljyGCT8= X-Received: by 2002:a17:906:e093:: with SMTP id gh19mr365540ejb.510.1606924045115; Wed, 02 Dec 2020 07:47:25 -0800 (PST) MIME-Version: 1.0 Date: Wed, 2 Dec 2020 07:47:13 -0800 Message-ID: Subject: Go patch committed: Don't advance past unexpected semicolon To: gcc-patches , gofrontend-dev X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Ian Lance Taylor via Gcc-patches From: Ian Lance Taylor Reply-To: Ian Lance Taylor Errors-To: gcc-patches-bounces@gcc.gnu.org Sender: "Gcc-patches" This Go frontend patch changes the parser to not advance past an unexpected semicolon, after it gives an error. We've already read the unexpected semicolon, so advancing again causes us to skip the next token, causing future errors to be out of sync. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian 91bbf4342966cee0f8557068a116c4f2622a3539 diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 45f62b3bec5..8cba9aa5a3d 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -2cc5c746ddfbaeb731f10f2232b9a488df12b71e +81d3afed2b7f7eba4eed4599dfdd10081f67391e The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/gcc/go/gofrontend/parse.cc b/gcc/go/gofrontend/parse.cc index c9a5485049f..b062a471008 100644 --- a/gcc/go/gofrontend/parse.cc +++ b/gcc/go/gofrontend/parse.cc @@ -1567,7 +1567,6 @@ Parse::type_spec(void*, unsigned int pragmas) go_error_at(this->location(), "unexpected semicolon or newline in type declaration"); type = Type::make_error_type(); - this->advance_token(); } if (type->is_error_type())