Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1duu4y-00042c-JI for pgsql-hackers@arkaria.postgresql.org; Thu, 21 Sep 2017 05:31:16 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1duu4x-0005GN-UM for pgsql-hackers@arkaria.postgresql.org; Thu, 21 Sep 2017 05:31:15 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1duu3O-0002RH-0B for pgsql-hackers@postgresql.org; Thu, 21 Sep 2017 05:29:38 +0000 Received: from mail-pf0-x232.google.com ([2607:f8b0:400e:c00::232]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1duu3K-0000HT-6e for pgsql-hackers@postgresql.org; Thu, 21 Sep 2017 05:29:36 +0000 Received: by mail-pf0-x232.google.com with SMTP id u12so2708061pfl.4 for ; Wed, 20 Sep 2017 22:29:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=leadboat.com; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=MYVcDr/rjkg8QloW2CmyBhevPawXShwf29Vn5lmjjaQ=; b=CpRw8rjU76m/M5GzPOqNDOm4wgfF+4JOW2kc94+YQP3LtfAHF7Yt217pfbT6ZXzstg t/CYTbnJlFxVui0mAWgSWTA9ZNUNnyMEsrC5X3oDk1qUp2oaYcsSABaGO6K1V+VzC/3E BxVThVNz/gnbVLHlJZx+spDI+LxerI92a4xsw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=MYVcDr/rjkg8QloW2CmyBhevPawXShwf29Vn5lmjjaQ=; b=LQFn6DSgrxW4KgExhFl+vvQcv4jWE0WDplI/7jr0ETRAEM22j8NxJMeclPrEaENk9d KLW+wYZ5n2WMwqq9y4w5kkwcxvm6FN8xpdMhfi/k/uat9HkP3qNj95/s0ZnToq6bQggn 3Frh0G0Njut0QRupwCvAmM2rv11sF9OsvPGTWIuklTeY4L0F55rEZ9a9ADKnWvJbAU2X bARVE0ElXkdH1xG7xUnUGopkuk70y/InbvoL9nnsuh2LJigtUgvu36PhO5viINDaLn+e jjHtBfZpYosKDAsmJ6Iq9tQSZ7CtReUYfozIgkiGFn+3b8LS3xyEivbXREJQb1S0gbD3 ARpQ== X-Gm-Message-State: AHPjjUjghjSVhLL99FQJ0bQ/8dikTFzSOhBsPZRhJ9hpdzE9uJxaQN1Q jmjcW53VQ+TXtwWLWHPE6uw2dfdrYQU= X-Google-Smtp-Source: AOwi7QAmdRbPngXNnVoSJhTPdLTSXAhFv2M4D75vhP0DPbQyZP2nbfP1Rx9mJqqGJ1JfLMuFjgoqCA== X-Received: by 10.84.129.193 with SMTP id b59mr4354897plb.147.1505971772594; Wed, 20 Sep 2017 22:29:32 -0700 (PDT) Received: from rfd.leadboat.com (c-73-158-248-138.hsd1.ca.comcast.net. [73.158.248.138]) by smtp.gmail.com with ESMTPSA id k78sm1071345pfb.157.2017.09.20.22.29.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Sep 2017 22:29:31 -0700 (PDT) Date: Thu, 21 Sep 2017 05:29:28 +0000 From: Noah Misch To: Peter Eisentraut Cc: Peter Geoghegan , PostgreSQL Hackers Subject: !USE_WIDE_UPPER_LOWER compile errors in v10+ Message-ID: <20170921052928.GA188913@rfd.leadboat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org On Sat, Sep 16, 2017 at 03:33:53PM -0700, Peter Geoghegan wrote: > On a related note, am I the only one that finds it questionable that > str_tolower() has an "#ifdef USE_WIDE_UPPER_LOWER" block that itself > contains an "#ifdef USE_ICU" block? It seems like those two things > might get conflated on some platforms. We don't want lower() to ever > not use the ICU infrastructure when an ICU collation is used, and yet > it's not obvious that that's impossible. I understand that the code in > regc_pg_locale.c kind of insists on using USE_WIDE_UPPER_LOWER > facilities, and that that was always accepted as legacy that ICU had > to live with. Maybe a static assertion is all that we need here (ICU > builds must also be USE_WIDE_UPPER_LOWER builds). I checked !USE_WIDE_UPPER_LOWER by configuring v10 as follows: ./configure -C --prefix=$HOME/sw/nopath/pg10 --enable-debug \ --enable-cassert --enable-depend --enable-tap-tests --with-libxml \ --with-gssapi --with-openssl ac_cv_func_towlower=no The result fails to compile: $ make formatting.c: In function ‘str_tolower’: formatting.c:1623:10: error: ‘mylocale’ undeclared (first use in this function) if (mylocale) ^ ... snipped other errors ... A --with-icu build fails similarly. PG9.6 builds and passes "make check". Perhaps it is time to require HAVE_WCSTOMBS and HAVE_TOWLOWER, removing USE_WIDE_UPPER_LOWER? Every buildfarm fossil has both. Solaris 2.5.1 (out of support for 12 years) might be the most interesting OS affected: https://www.gnu.org/software/gnulib/manual/html_node/towlower.html https://www.gnu.org/software/gnulib/manual/html_node/wcstombs.html The above-described topic is currently a PostgreSQL 10 open item. Peter (Eisentraut), since you committed the patch believed to have created it, you own this open item. If some other commit is more relevant or if this does not belong as a v10 open item, please let us know. Otherwise, please observe the policy on open item ownership[1] and send a status update within three calendar days of this message. Include a date for your subsequent status update. Thanks. [1] https://www.postgresql.org/message-id/20170404140717.GA2675809%40tornado.leadboat.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers