From patchwork Fri Nov 12 20:29:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Seija K." X-Patchwork-Id: 47576 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8E3D6385843E for ; Fri, 12 Nov 2021 20:29:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8E3D6385843E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1636748992; bh=jcPj78SuXn1kkAVJADnubh0B0bBXrcYB4JP0y/Vs6J0=; h=Date:Subject:To:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=VhhI3/ftfExbOcfJEFz9hqpMMNXfpJMfj3FPAP43GRr55FvqzlRJD59OVX0BJUwUI 48JPzOq6nLkEp5zj/1+Z6sPOb8MaHHTZ+MP7cO8JUDuo39G6Lr5+JKD50OnVgPPEkY jX+UD+O9AR/9dmnXD0GlARUPaxBxvbrxN++RcIb0= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com [IPv6:2a00:1450:4864:20::12a]) by sourceware.org (Postfix) with ESMTPS id EA9B43858413 for ; Fri, 12 Nov 2021 20:29:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EA9B43858413 Received: by mail-lf1-x12a.google.com with SMTP id bu18so25284352lfb.0 for ; Fri, 12 Nov 2021 12:29:22 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=KtNjniGyIGS7CRqWg4kCmiqBMl5aoShq6yMtBrsXKL8=; b=PgNhGIYqF7xVhEVxKztk2NGVhEG+GlN/Wr2m5G9Jyr6KtaAxEsdQrx16I8Z4H6o53/ s4F2/p4qV1ifDMSKhKremmNNLJvlDFV2VuW6P3hYFDGSZ/+mYkLd6AUVai2RjaNr5IK9 /D1V9QFdXARl9r+BQuT4gqkTfK7tJmMMB6o1kMTYO/0Jbus7mgTMIIl8teR1ZiQOjVC8 QA49yN59SBXwL8zEpUyEr3wTI/K8l8nBwUjR2q+RQbsYYbIYLtP4ST+veKI+UjaCErsS vf33y8v2MrBHTAxSLk7XqE6rm2pOB8a+S64Af4IHJHiSOMotqy7SA8valAitXp9w9QJN EUBQ== X-Gm-Message-State: AOAM530uoZTI1Z8yWMoam4HzpJXMxgt6u0+GcvehhcCv2LoQgYScb8RM M6J/LGrMqFVWCr5b3esLo2QZUKGs3JJigel+sk37rs6XMWdN X-Google-Smtp-Source: ABdhPJyt88abLxfd8bb4UzujLXyJhht/36qk9o3qi+3MpJ+9pmOYda15OJBxFX6ZHkLy7tkw3fR9ry1kaVSphyc5sMo= X-Received: by 2002:a05:6512:3682:: with SMTP id d2mr16874965lfs.442.1636748961302; Fri, 12 Nov 2021 12:29:21 -0800 (PST) MIME-Version: 1.0 Date: Fri, 12 Nov 2021 15:29:10 -0500 Message-ID: Subject: [PATCH] Combine malloc + memset to calloc To: gcc-patches@gcc.gnu.org X-Spam-Status: No, score=-8.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-Content-Filtered-By: Mailman/MimeDel 2.1.29 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: "Seija K. via Gcc-patches" From: "Seija K." Reply-To: "Seija K." Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" diff --git a/gcc/ada/terminals.c b/gcc/ada/terminals.c index a2dd4895d48..25d9acda752 100644 --- a/gcc/ada/terminals.c +++ b/gcc/ada/terminals.c @@ -609,8 +609,7 @@ __gnat_setup_communication (struct TTY_Process** process_out) /* output param */ { struct TTY_Process* process; - process = (struct TTY_Process*)malloc (sizeof (struct TTY_Process)); - ZeroMemory (process, sizeof (struct TTY_Process)); + process = (struct TTY_Process*)calloc (1, sizeof (struct TTY_Process)); *process_out = process; return 0; diff --git a/gcc/config/rs6000/rs6000-gen-builtins.c b/gcc/config/rs6000/rs6000-gen-builtins.c index 1655a2fd765..2c895a2d9a9 100644 --- a/gcc/config/rs6000/rs6000-gen-builtins.c +++ b/gcc/config/rs6000/rs6000-gen-builtins.c @@ -1307,8 +1307,7 @@ parse_args (prototype *protoptr) do { consume_whitespace (); int oldpos = pos; - typelist *argentry = (typelist *) malloc (sizeof (typelist)); - memset (argentry, 0, sizeof *argentry); + typelist *argentry = (typelist *) calloc (1, sizeof (typelist)); typeinfo *argtype = &argentry->info; success = match_type (argtype, VOID_NOTOK); if (success) diff --git a/gcc/d/dmd/ctfeexpr.c b/gcc/d/dmd/ctfeexpr.c index a8e97833ad0..401ed748f43 100644 --- a/gcc/d/dmd/ctfeexpr.c +++ b/gcc/d/dmd/ctfeexpr.c @@ -1350,8 +1350,7 @@ int ctfeRawCmp(Loc loc, Expression *e1, Expression *e2) if (es2->keys->length != dim) return 1; - bool *used = (bool *)mem.xmalloc(sizeof(bool) * dim); - memset(used, 0, sizeof(bool) * dim); + bool *used = (bool *)mem.xcalloc(dim, sizeof(bool)); for (size_t i = 0; i < dim; ++i) { diff --git a/gcc/internal-fn.c b/gcc/internal-fn.c index 0cba95411a6..f5bff8b9441 100644 --- a/gcc/internal-fn.c +++ b/gcc/internal-fn.c @@ -3081,9 +3081,16 @@ expand_DEFERRED_INIT (internal_fn, gcall *stmt) 0).exists ()) { unsigned HOST_WIDE_INT total_bytes = tree_to_uhwi (var_size); - unsigned char *buf = (unsigned char *) xmalloc (total_bytes); - memset (buf, (init_type == AUTO_INIT_PATTERN - ? INIT_PATTERN_VALUE : 0), total_bytes); + unsigned char *buf; + if (init_type == AUTO_INIT_PATTERN) + { + buf = (unsigned char *) xmalloc (total_bytes); + memset (buf, INIT_PATTERN_VALUE, total_bytes); + } + else + { + buf = (unsigned char *) xcalloc (1, total_bytes); + } tree itype = build_nonstandard_integer_type (total_bytes * BITS_PER_UNIT, 1); wide_int w = wi::from_buffer (buf, total_bytes); diff --git a/libiberty/calloc.c b/libiberty/calloc.c index f4bd27b1cd2..1ef4156d28a 100644 --- a/libiberty/calloc.c +++ b/libiberty/calloc.c @@ -17,7 +17,7 @@ Uses @code{malloc} to allocate storage for @var{nelem} objects of /* For systems with larger pointers than ints, this must be declared. */ PTR malloc (size_t); -void bzero (PTR, size_t); +void memset (PTR, int, size_t); PTR calloc (size_t nelem, size_t elsize) @@ -28,7 +28,7 @@ calloc (size_t nelem, size_t elsize) nelem = elsize = 1; ptr = malloc (nelem * elsize); - if (ptr) bzero (ptr, nelem * elsize); + if (ptr) memset (ptr, 0, nelem * elsize); return ptr; } diff --git a/libiberty/partition.c b/libiberty/partition.c index 81e5fc0f79a..75512d67258 100644 --- a/libiberty/partition.c +++ b/libiberty/partition.c @@ -146,8 +146,7 @@ partition_print (partition part, FILE *fp) int e; /* Flag the elements we've already printed. */ - done = (char *) xmalloc (num_elements); - memset (done, 0, num_elements); + done = (char *) xcalloc (num_elements, 1); /* A buffer used to sort elements in a class. */ class_elements = (int *) xmalloc (num_elements * sizeof (int)); diff --git a/libobjc/gc.c b/libobjc/gc.c index 57895e61930..95a75f5cb2e 100644 --- a/libobjc/gc.c +++ b/libobjc/gc.c @@ -307,10 +307,9 @@ __objc_generate_gc_type_description (Class class) / sizeof (void *)); size = ROUND (bits_no, BITS_PER_WORD) / BITS_PER_WORD; mask = objc_atomic_malloc (size * sizeof (int)); - memset (mask, 0, size * sizeof (int)); class_structure_type = objc_atomic_malloc (type_size); - *class_structure_type = current = 0; + current = 0; __objc_class_structure_encoding (class, &class_structure_type, &type_size, ¤t); if (current + 1 == type_size)