C2X Liaison: Removal of Deprecated Functions Title: Removal of Deprecated Functions Author: Nick Stoughton / the Austin Group Date: 2020-08-17
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
CHERI C/C++ Programming Guide
UCAM-CL-TR-947 Technical Report ISSN 1476-2986 Number 947 Computer Laboratory CHERI C/C++ Programming Guide Robert N. M. Watson, Alexander Richardson, Brooks Davis, John Baldwin, David Chisnall, Jessica Clarke, Nathaniel Filardo, Simon W. Moore, Edward Napierala, Peter Sewell, Peter G. Neumann June 2020 15 JJ Thomson Avenue Cambridge CB3 0FD United Kingdom phone +44 1223 763500 https://www.cl.cam.ac.uk/ c 2020 Robert N. M. Watson, Alexander Richardson, Brooks Davis, John Baldwin, David Chisnall, Jessica Clarke, Nathaniel Filardo, Simon W. Moore, Edward Napierala, Peter Sewell, Peter G. Neumann, SRI International This work was supported by the Defense Advanced Research Projects Agency (DARPA) and the Air Force Research Laboratory (AFRL), under contracts FA8750-10-C-0237 (“CTSRD”) and HR0011-18-C-0016 (“ECATS”). The views, opinions, and/or findings contained in this report are those of the authors and should not be interpreted as representing the official views or policies of the Department of Defense or the U.S. Government. This work was supported in part by the Innovate UK project Digital Security by Design (DSbD) Technology Platform Prototype, 105694. This project has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreement No 789108), ERC Advanced Grant ELVER. We also acknowledge the EPSRC REMS Programme Grant (EP/K008528/1), Arm Limited, HP Enterprise, and Google, Inc. Approved for Public Release, Distribution Unlimited. Technical reports published by the University of Cambridge Computer Laboratory are freely available via the Internet: https://www.cl.cam.ac.uk/techreports/ ISSN 1476-2986 3 Abstract This document is a brief introduction to the CHERI C/C++ programming languages. -
XL C/C++ for AIX, V13.1.2 IBM
IBM XL C/C++ for AIX, V13.1.2 IBM Optimization and Programming Guide Version 13.1.2 SC27-4261-01 IBM XL C/C++ for AIX, V13.1.2 IBM Optimization and Programming Guide Version 13.1.2 SC27-4261-01 Note Before using this information and the product it supports, read the information in “Notices” on page 185. First edition This edition applies to IBM XL C/C++ for AIX, V13.1.2 (Program 5765-J07; 5725-C72) and to all subsequent releases and modifications until otherwise indicated in new editions. Make sure you are using the correct edition for the level of the product. © Copyright IBM Corporation 1996, 2015. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents About this document ........ vii Using a heap ............. 33 Who should read this document ....... vii Getting information about a heap ...... 34 How to use this document ......... vii Closing and destroying a heap ....... 34 How this document is organized ....... vii Changing the default heap used in a program .. 35 Conventions .............. viii Compiling and linking a program with Related information ........... xii user-created heaps ........... 35 IBM XL C/C++ information ........ xii Example of a user heap with regular memory .. 35 Standards and specifications ....... xiii Debugging memory heaps ......... 36 Other IBM information ......... xiv Functions for checking memory heaps .... 37 Other information ........... xiv Functions for debugging memory heaps .... 37 Technical support ............ xiv Using memory allocation fill patterns..... 39 How to send your comments ........ xiv Skipping heap checking ......... 39 Using stack traces ........... 40 Chapter 1. -
CM-5 C* User's Guide
The Connection Machine System CM-5 C* User's Guide ---------__------- . Version 7.1 May 1993 Thinking Machines Corporation Cambridge, Massachusetts Frst printing, May 1993 The informatiaonin this document is subject to change without notice and should not be constnued as a commitmentby ThinngMacMachines po Thk Machinesreservestheright toae changesto any product described herein Although the information inthis document has beenreviewed and is believed to bereliable, Thinldng Machines Coaporation assumes no liability for erns in this document Thinklng Machines does not assume any liability arising from the application or use of any information or product described herein Connection Machine is a registered traemark of Thinking Machines Corporation. CM and CM-5 are trademarks of Thinking Machines Corpoation. CMosr, Prism, and CMAX are trademaks of Thinking Machines Corporation. C*4is a registered trademark of Thinking Machines Corporation CM Fortran is a trademark of Thinking Machines Corporation CMMD,CMSSL, and CMXIl are tdemarks of Thinking Machines Corporation. Thinking Machines is a registered trademark of Thinking Machines Corporatin. SPARCand SPARCstationare trademarks of SPARCintematinal, Inc. Sun, Sun,4, and Sun Workstation are trademarks of Sun Microsystems, Inc. UNIX is a registered trademark of UNIX System Laboratoies, Inc. The X Window System is a trademark of the Massachusetts Institute of Technology. Copyright © 1990-1993 by Thinking Machines Corporatin. All rights reserved. Thinking Machines Corporation 245 First Street Cambridge, Massachusetts 02142-1264 (617) 234-1000 Contents About This Manual .......................................................... viU Custom Support ........................................................ ix Chapter 1 Introduction ........................................ 1 1.1 Developing a C* Program ........................................ 1 1.2 Compiling a C* Program ......................................... 1 1.3 Executing a C* Program ........................................ -
Exploring C Semantics and Pointer Provenance
Exploring C Semantics and Pointer Provenance KAYVAN MEMARIAN, University of Cambridge VICTOR B. F. GOMES, University of Cambridge BROOKS DAVIS, SRI International STEPHEN KELL, University of Cambridge ALEXANDER RICHARDSON, University of Cambridge ROBERT N. M. WATSON, University of Cambridge PETER SEWELL, University of Cambridge The semantics of pointers and memory objects in C has been a vexed question for many years. C values cannot be treated as either purely abstract or purely concrete entities: the language exposes their representations, 67 but compiler optimisations rely on analyses that reason about provenance and initialisation status, not just runtime representations. The ISO WG14 standard leaves much of this unclear, and in some respects differs with de facto standard usage — which itself is difficult to investigate. In this paper we explore the possible source-language semantics for memory objects and pointers, in ISO C and in C as it is used and implemented in practice, focussing especially on pointer provenance. We aim to, as far as possible, reconcile the ISO C standard, mainstream compiler behaviour, and the semantics relied on by the corpus of existing C code. We present two coherent proposals, tracking provenance via integers and not; both address many design questions. We highlight some pros and cons and open questions, and illustrate the discussion with a library of test cases. We make our semantics executable as a test oracle, integrating it with the Cerberus semantics for much of the rest of C, which we have made substantially more complete and robust, and equipped with a web-interface GUI. This allows us to experimentally assess our proposals on those test cases. -
Section “Common Predefined Macros” in the C Preprocessor
The C Preprocessor For gcc version 12.0.0 (pre-release) (GCC) Richard M. Stallman, Zachary Weinberg Copyright c 1987-2021 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation. A copy of the license is included in the section entitled \GNU Free Documentation License". This manual contains no Invariant Sections. The Front-Cover Texts are (a) (see below), and the Back-Cover Texts are (b) (see below). (a) The FSF's Front-Cover Text is: A GNU Manual (b) The FSF's Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. i Table of Contents 1 Overview :::::::::::::::::::::::::::::::::::::::: 1 1.1 Character sets:::::::::::::::::::::::::::::::::::::::::::::::::: 1 1.2 Initial processing ::::::::::::::::::::::::::::::::::::::::::::::: 2 1.3 Tokenization ::::::::::::::::::::::::::::::::::::::::::::::::::: 4 1.4 The preprocessing language :::::::::::::::::::::::::::::::::::: 6 2 Header Files::::::::::::::::::::::::::::::::::::: 7 2.1 Include Syntax ::::::::::::::::::::::::::::::::::::::::::::::::: 7 2.2 Include Operation :::::::::::::::::::::::::::::::::::::::::::::: 8 2.3 Search Path :::::::::::::::::::::::::::::::::::::::::::::::::::: 9 2.4 Once-Only Headers::::::::::::::::::::::::::::::::::::::::::::: 9 2.5 Alternatives to Wrapper #ifndef :::::::::::::::::::::::::::::: -
User's Manual
rBOX610 Linux Software User’s Manual Disclaimers This manual has been carefully checked and believed to contain accurate information. Axiomtek Co., Ltd. assumes no responsibility for any infringements of patents or any third party’s rights, and any liability arising from such use. Axiomtek does not warrant or assume any legal liability or responsibility for the accuracy, completeness or usefulness of any information in this document. Axiomtek does not make any commitment to update the information in this manual. Axiomtek reserves the right to change or revise this document and/or product at any time without notice. No part of this document may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of Axiomtek Co., Ltd. Trademarks Acknowledgments Axiomtek is a trademark of Axiomtek Co., Ltd. ® Windows is a trademark of Microsoft Corporation. Other brand names and trademarks are the properties and registered brands of their respective owners. Copyright 2014 Axiomtek Co., Ltd. All Rights Reserved February 2014, Version A2 Printed in Taiwan ii Table of Contents Disclaimers ..................................................................................................... ii Chapter 1 Introduction ............................................. 1 1.1 Specifications ...................................................................................... 2 Chapter 2 Getting Started ...................................... -
Remove Support for Function Definitions with Identifier Lists Lars Bjønnes, Jens Gustedt
Remove support for function definitions with identifier lists Lars Bjønnes, Jens Gustedt To cite this version: Lars Bjønnes, Jens Gustedt. Remove support for function definitions with identifier lists. [Research Report] N2432, ISO JCT1/SC22/WG14. 2019. hal-02311466 HAL Id: hal-02311466 https://hal.inria.fr/hal-02311466 Submitted on 10 Oct 2019 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Distributed under a Creative Commons Attribution| 4.0 International License ISO/IEC JTC 1/SC 22/WG14 N2432 September 25, 2019 v 1 Remove support for function definitions with identifier lists proposal for C2x Lars Gullik Bjønnes and Jens Gustedt CISCO Inc., Norway and INRIA and ICube, Universit´ede Strasbourg, France Function definitions with identifier lists (often referred to as K&R functions) are deprecated for a long time. Because they are now clearly phased out everywhere and because function declarations and definitions that provide a prototypes are clearly superior we propose to remove this feature for good. 1. INTRODUCTION The original syntax for definitions with identifier lists and a subsequent declarator list has the disadvantage that it does not provide a prototype of the defined function, and that the function needs a special convention (called default argument promotion) that leaves the verification of type correspondance between caller and callee to the programmer. -
Abkürzungs-Liste ABKLEX
Abkürzungs-Liste ABKLEX (Informatik, Telekommunikation) W. Alex 1. Juli 2021 Karlsruhe Copyright W. Alex, Karlsruhe, 1994 – 2018. Die Liste darf unentgeltlich benutzt und weitergegeben werden. The list may be used or copied free of any charge. Original Point of Distribution: http://www.abklex.de/abklex/ An authorized Czechian version is published on: http://www.sochorek.cz/archiv/slovniky/abklex.htm Author’s Email address: [email protected] 2 Kapitel 1 Abkürzungen Gehen wir von 30 Zeichen aus, aus denen Abkürzungen gebildet werden, und nehmen wir eine größte Länge von 5 Zeichen an, so lassen sich 25.137.930 verschiedene Abkür- zungen bilden (Kombinationen mit Wiederholung und Berücksichtigung der Reihenfol- ge). Es folgt eine Auswahl von rund 16000 Abkürzungen aus den Bereichen Informatik und Telekommunikation. Die Abkürzungen werden hier durchgehend groß geschrieben, Akzente, Bindestriche und dergleichen wurden weggelassen. Einige Abkürzungen sind geschützte Namen; diese sind nicht gekennzeichnet. Die Liste beschreibt nur den Ge- brauch, sie legt nicht eine Definition fest. 100GE 100 GBit/s Ethernet 16CIF 16 times Common Intermediate Format (Picture Format) 16QAM 16-state Quadrature Amplitude Modulation 1GFC 1 Gigabaud Fiber Channel (2, 4, 8, 10, 20GFC) 1GL 1st Generation Language (Maschinencode) 1TBS One True Brace Style (C) 1TR6 (ISDN-Protokoll D-Kanal, national) 247 24/7: 24 hours per day, 7 days per week 2D 2-dimensional 2FA Zwei-Faktor-Authentifizierung 2GL 2nd Generation Language (Assembler) 2L8 Too Late (Slang) 2MS Strukturierte -
Proposal for C2x WG14 N2542 Title: Defer Mechanism for C Author
Proposal for C2x WG14 n2542 Title: Defer Mechanism for C Author, affiliation: Aaron Ballman, Self Alex Gilding, Perforce Jens Gustedt, Inria, France Tom Scogland, Lawrence Livermore National Laboratory Robert C. Seacord, NCC Group Martin Uecker, University Medical Center Göttingen Freek Wiedijk, Radboud Universiteit Nijmegen Date: 2020-09-08 Proposal category: Feature Target audience: Implementers Abstract: Add a defer mechanism to C language to aid in resource management Prior art: C, Go Defer Mechanism for C Reply-to: Robert C. Seacord ([email protected]) Document No: n2542 Date: 2020-09-08 Defer Mechanism for C The defer mechanism can restore a previously known property or invariant that is altered during the processing of a code block. The defer mechanism is useful for paired operations, where one operation is performed at the start of a code block and the paired operation is performed before exiting the block. Because blocks can be exited using a variety of mechanisms, operations are frequently paired incorrectly. The defer mechanism in C is intended to help ensure the proper pairing of these operations. This pattern is common in resource management, synchronization, and outputting balanced strings (e.g., parenthesis or HTML). A separable feature of the defer mechanism is a panic/recover mechanism that allows error handling at a distance. Table of Contents Defer Mechanism for C 2 Table of Contents 2 Resource Management 4 Acquiring Resources 5 Releasing Resources 5 Synchronization Primitives 7 Security Concerns 9 Error Handling -
Improving Performance of Key “External Projects” in Android
Improving performance of key “External Projects” in Android Khasim Syed Mohammed, Linaro Objective •What these external projects are ? •Why we should be improving these ? •How to approach •What Linaro has done in this space so far ? •What's on our road map ? •Community participation request .. Android’s external folder aosp@android: $ ls abi build development frameworks Makefile prebuilts art cts device hardware ndk sdk bionic dalvik docs libcore packages external bootable developers system libnativehelper pdk tools We are here Android’s external folder •Android is, in many ways, just another Linux distribution •As such, it includes code from many FOSS projects in the “external” folder ... •… and quite frequently, isn't in sync with what upstreams are doing nor improved for performance. Current situation Android imports an external FOSS project into its git repository •(sometimes a released version, sometimes a git or svn snapshot) •Patches to make it work with Android (and sometimes to add, remove or modify some functionality) are added inside Android's git repository •There is little or no effort made to upstream those changes, some changes are a little bogus (checking in a config.h generated by autoconf to avoid the need to call configure, ...) •A newer upstream release may or may not be merged into Android – if at all, merges typically happen months after the upstream release •Android has no concept of updating an individual component (e.g. openssl) – often leading to important upstream updates being ignored by device makers Analyzing external folder Switching to another document that gives more details Overview of external folder in Linaro repositories Out of 175 components in the external folder, Team Projects Details Google 11 Updated to latest versions, might be tracking and maintaining for performance. -
PCW C Compiler Reference Manual June 2012
PCW C Compiler Reference Manual June 2012 Table of Contents Overview ........................................................................................................................................... 1 PCB, PCM and PCH Overview ..................................................................................................... 1 PCW Overview .............................................................................................................................. 1 Installation ................................................................................................................................... 10 PCB, PCM, PCH, and PCD Installation: ...................................................................................... 10 PCW, PCWH, PCWHD, and PCDIDE Installation: ..................................................................... 10 Technical Support ....................................................................................................................... 10 Directories ................................................................................................................................... 11 File Formats ................................................................................................................................ 11 Invoking the Command Line Compiler ........................................................................................ 12 Program Syntax ............................................................................................................................. -
The Bionic DBMS Is Coming, but What Will It Look Like?
The bionic DBMS is coming, but what will it look like? Ryan Johnson Ippokratis Pandis University of Toronto IBM Almaden Research Center [email protected] [email protected] ABSTRACT 10% serial Software has always ruled database engines, and commodity processors riding Moore's Law doomed database machines of 1% serial the 1980s from the start. However, today's hardware land- 10% serial scape is very different, and moving in directions that make 0.1% serial database machines increasingly attractive. Stagnant clock Over speeds, looming dark silicon, availability of reconfigurable power hardware, and the economic clout of cloud providers all align 1% serial 0.01% serial power 0.1% serial budget to make custom database hardware economically viable or budget even necessary. Dataflow workloads (business intelligence and (a) 2011 (64 cores) (b) 2018 (1024 cores) streaming) already benefit from emerging hardware support. In this paper, we argue that control flow workloads|with Figure 1: Fraction of chip (from top-left) utilized at their corresponding latencies|are another feasible target various degrees of parallelism. for hardware support. To make our point, we outline a transaction processing architecture that offloads much of its functionality to reconfigurable hardware. We predict a con- incentive and the economic clout to commission custom hard- vergence to fully \bionic" database engines that implement ware if it lowers overall hardware costs or otherwise gives nearly all key functionality directly in hardware and relegate some edge over other providers [5]. software to a largely managerial role. The community is already responding to these trends, and recent years have seen a variety of efforts, both commercial 1.