From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 23ED63980404 for ; Thu, 20 May 2021 19:21:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 23ED63980404 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-439-CGLSELiVM3yF54EnQ18H1Q-1; Thu, 20 May 2021 15:21:07 -0400 X-MC-Unique: CGLSELiVM3yF54EnQ18H1Q-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id CA91B8D6150; Thu, 20 May 2021 19:20:41 +0000 (UTC) Received: from localhost (unknown [10.33.36.7]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5488F100164A; Thu, 20 May 2021 19:20:41 +0000 (UTC) Date: Thu, 20 May 2021 20:20:40 +0100 From: Jonathan Wakely To: Jonathan Wakely Cc: unlvsur unlvsur , unlvsur unlvsur via Libstdc++ Subject: Re: Is it possible not to use snprintf or any other stdio functionalities to throw std::logic_error in standard library containers? Message-ID: References: MIME-Version: 1.0 In-Reply-To: X-Clacks-Overhead: GNU Terry Pratchett X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8; format=flowed Content-Disposition: inline Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-8.1 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 May 2021 19:21:12 -0000 On 15/05/21 09:23 +0100, Jonathan Wakely via Libstdc++ wrote: >On Sat, 15 May 2021, 04:12 unlvsur unlvsur via Libstdc++, < >libstdc++@gcc.gnu.org> wrote: > >> The issue is that this will silently introduce dependency to stdio. On >> MinGW-w64 for example, any snprintf function call will bloat binary size >> for 70kb, that is even we shared linking with both msvcrt and libstdc++. >> >> I frequently see a random bloat because of that. >> >> By the way, it also hurts optimizations since compilers cannot merge them >> together. >> >> Better just throw an exception with “vector out of bounds” instead of >> formatting subscriptor. >> > > >I can make that depend on the _GLIBCXX_VERBOSE macro. Where is the dependency on stdio coming from though? Formatting the exception string doesn't use stdio.