From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io1-xd33.google.com (mail-io1-xd33.google.com [IPv6:2607:f8b0:4864:20::d33]) by sourceware.org (Postfix) with ESMTPS id A9A43385772D for ; Wed, 2 Aug 2023 17:17:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A9A43385772D Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=adacore.com Received: by mail-io1-xd33.google.com with SMTP id ca18e2360f4ac-790cadee81bso996839f.0 for ; Wed, 02 Aug 2023 10:17:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; t=1690996641; x=1691601441; h=mime-version:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=idV53zuMIJb+vLJy7Q4gF/J/wHvLEFaKyTXIPXfS8kI=; b=iBUpAlJU7Gl4jT4yHzmjJJFqm6UJgnafJKmxgyPZOErhF3pHM7TSglxYVoK/anu6FL D/JAkeECq70k6UnOhHJPpvpRaXZSmgqpjp+izwAOIU8sE2BM98yy/JqYjQZGtuhS/Q1t s0H6oop1m00D4XkktfqxhCie6K+eTlAGDDzCD79xJAlmZ1LIFhDg8d18IDFENpa0hWtu SicrXPHMpx/GYdwJqHxGAwZktNh+pvdlMnM6RsTkkBdl1Pemu62fBpgXKuYs1hrh9keL k4iVEg7bVZ8AZ+LSmvQt+ir3VmVeF0dNgdIk1qb519WrBDxPioI7KNg5i8LNwfc3vwsC a8gQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690996641; x=1691601441; h=mime-version:user-agent:message-id:in-reply-to:date:references :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=idV53zuMIJb+vLJy7Q4gF/J/wHvLEFaKyTXIPXfS8kI=; b=jZtylcXhJc+ttw8A+5/c4foF5nCtzKwOkpjZkLjcB12FNn25Ko7JUU59s/h6hBwl2X q5udtMTc5/Ml40g/QbLy+eSmaP82xWsZTdbHCg62z8ua+CKuqfsjGNceXmeSOzwtXNX7 8umZ62RdgeZ8oXup59XY6JTZ+G8u8JGjEsjKVGqCR50OwH780TxEHuI/QkY9OBdu/Q1p f8n5oRRDdU6sbhw3qZKbWHBnHcczZ/JgwfAOY5Bi0F/Uud5QpW7WBe33sttnDHGtwYGs KzJ4vcqd6Als5gD4PVc/jW3er3euaMOlfUlnwnm6EPQBhfOaEdBjkk3LSBsmlDouGySe kn7w== X-Gm-Message-State: ABy/qLamb/zJd8PNsBTZ3WnjuDRKEUSumXXM7DxswhyWVZDhmQQDT6f/ WWlarlqVgBTkLFh9BpycmWnJSA== X-Google-Smtp-Source: APBJJlGlK8AVwTxTVK2a6JMD7tjZldCBij4UYKQRnhfNQ2GrTqhyySdvVXEJyv7UMilKlL1aMeG1Ug== X-Received: by 2002:a05:6e02:1d95:b0:348:8d7c:ea95 with SMTP id h21-20020a056e021d9500b003488d7cea95mr17685954ila.22.1690996640892; Wed, 02 Aug 2023 10:17:20 -0700 (PDT) Received: from murgatroyd (75-166-148-59.hlrn.qwest.net. [75.166.148.59]) by smtp.gmail.com with ESMTPSA id j12-20020a02cb0c000000b004290985a1efsm4491458jap.43.2023.08.02.10.17.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Aug 2023 10:17:20 -0700 (PDT) From: Tom Tromey To: Richard Bunt via Gdb-patches Cc: Richard Bunt Subject: Re: [PATCH v2] gdb/fortran: Align intrinsic/variable precedence References: <20230802133613.941743-1-richard.bunt@linaro.org> X-Attribution: Tom Date: Wed, 02 Aug 2023 11:17:19 -0600 In-Reply-To: <20230802133613.941743-1-richard.bunt@linaro.org> (Richard Bunt via Gdb-patches's message of "Wed, 2 Aug 2023 14:36:13 +0100") Message-ID: <87zg39e540.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: >>>>> "Richard" == Richard Bunt via Gdb-patches writes: Richard> Fortran allows variables and function to be named after language defined Richard> intrinsics as they are not reserved keywords. For example, the abs maths Richard> intrinsic can be hidden by a user declaring a variable called abs. Thank you for the patch. Richard> +static const struct token f_intrinsics[] = Richard> +{ Richard> + /* This is post the symbol search as symbols can hide intrinsics. Also, Richard> + give Fortran intrinsics priority over C symbols. This prevents Richard> + non-Fortran symbols from hiding intrinsics, for example abs. */ Richard> + if (!result.symbol || result.symbol->language () != language_fortran) Richard> + for (int i = 0; i < ARRAY_SIZE (f_intrinsics); i++) Richard> + { I think it's better to use foreach here, as is done for f_keywords: for (const auto &keyword : f_keywords) ... Otherwise this looks good, thank you. Tom