C Declare Function Without Arguments
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
A Study on Undefined Behavior in C
A Study on Undefined Behavior in C Vasileios Gemistos [email protected] July 15, 2019, 72 pages Research supervisor: Dr. Clemens Grelck, [email protected] Host supervisor: Dr. Marcel Beemster, [email protected] Host organisation: Solid Sands, www.solidsands.com Universiteit van Amsterdam Faculteit der Natuurwetenschappen, Wiskunde en Informatica Master Software Engineering http://www.software-engineering-amsterdam.nl Abstract In C programming language, executing an erroneous operation invokes undefined behavior, and anything can happen. The execution of a program that contains code with undefined behavior, will be meaningless. Undefined behavior can cause security vulnerabilities. For example, a signed integer overflow cancause a program to shut down unexpectedly. Undefined behavior may also cause buffer overflow attack, if for example an array out of bounds is not checked. The advantage of undefined behavior in C is that the program avoids the unnecessary checking (such as arrays out of bounds), that results into better performance. C99 international standard presents a list of 191 undefined behavior cases. In this thesis we select 50 of these cases and we create 62 tests. We classify these 50 test cases into 5 categories: source files, pointers and memory, types, syntax and arithmetic. We write tests for each one of these cases, with increasing complexity and we report the behavior of compilers GCC, Clang, Intel C++, Tiny C and run-time tool UndefinedBehaviorSanitizer and static analysis tool Frama-C. We present the results for every case, and we document the cases that every compiler, run-time tool and static analysis tool detects. In addition, we present the undefined behavior cases that have been removed or modified from C99 to C11 standard. -
C Language Reference Manual
VSI OpenVMS C Language Reference Manual Document Number: xx-xxxxxx-xxx Publication Date: month 2018 This document is the language reference manual for the C language. Revision Update Information: This is a new manual. Operating system and Version: VSI OpenVMS Version X.X Software Version: VSI C Version X.X VMS Software, Inc., (VSI) Bolton, Massachusetts, USA VSI OpenVMS C Language Reference Manual: Copyright © 2018 VMS Software, Inc., (VSI), Bolton Massachusetts, USA Legal Notice Confidential computer software. Valid license from VSI required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. The information contained herein is subject to change without notice. The only warranties for VSI products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. VSI shall not be liable for technical or editorial errors or omissions contained herein. HPE, HPE Integrity, HPE Alpha, and HPE Proliant are trademarks or registered trademarks of Hewlett Packard Enterprise. Intel, Itanium and IA64 are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. Java, the coffee cup logo, and all Java based marks are trademarks or registered trademarks of Oracle Corporation in the United States or other countries. Kerberos is a trademark of the Massachusetts Institute of Technology. Microsoft, Windows, Windows-NT and Microsoft XP are U.S. registered trademarks of Microsoft Corporation. -
C Language Reference Manual
C Language Reference Manual Document Number 007-0701-100 CONTRIBUTORS Written by C J Silverio, Wendy Ferguson, and Renate Kempf Edited by Gail Larrick, Loraine McCormick, and Christina Cary Production by Laura Cooper and Linda Rae Sande Engineering contributions by Greg Boyd, Dave Anderson, Dave Ciemiewicz, Rune Dahl, T.K. Lakshman, Michey Mehta, C. Murthy, and John Wilkinson St Peter’s Basilica image courtesy of ENEL SpA and InfoByte SpA. Disk Thrower image courtesy of Xavier Berenguer, Animatica. © Copyright 1995, 1996 Silicon Graphics, Inc.— All Rights Reserved The contents of this document may not be copied or duplicated in any form, in whole or in part, without the prior written permission of Silicon Graphics, Inc. RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure of the technical data contained in this document by the Government is subject to restrictions as set forth in subdivision (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at DFARS 52.227-7013 and/or in similar or successor clauses in the FAR, or in the DOD or NASA FAR Supplement. Unpublished rights reserved under the Copyright Laws of the United States. Contractor/manufacturer is Silicon Graphics, Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311. Silicon Graphics, the Silicon Graphics logo, and IRIS are registered trademarks and IRIX, IRIS 4D, IRIS InSight, IRIS Power C, and Origin2000 are trademarks of Silicon Graphics, Inc. MIPSpro is a trademark of MIPS Technologies, Inc., a wholly-owned subsidiary of Silicon Graphics, Inc. NFS is a registered trademark of Sun Microsystems, Inc. UNIX is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company, Ltd. -
Z/OS Version 2 Release 3
z/OS Version 2 Release 3 XL C/C++ Language Reference IBM SC14-7308-30 Note Before using this information and the product it supports, read the information in “Notices” on page 553. This edition applies to Version 2 Release 3 of z/OS (5650-ZOS) and to all subsequent releases and modifications until otherwise indicated in new editions. Last updated: 2019-02-15 © Copyright International Business Machines Corporation 1998, 2017. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents About this document...........................................................................................xiii Who should read this document............................................................................................................... xiii How to use this document.........................................................................................................................xiii How this document is organized............................................................................................................... xiii Conventions............................................................................................................................................... xiv z/OS XL C/C++ and related documents................................................................ xix Summary of changes for z/OS Version 2 Release 3............................................... xxi Chapter 1. Scope and linkage.................................................................................1 -
C Language Reference Manual 007–0701–130 St
C Language Reference Manual 007–0701–130 St. Peter’s Basilica image courtesy of ENEL SpA and InfoByte SpA. Disk Thrower image courtesy of Xavier Berenguer, Animatica. Copyright © 1999 Silicon Graphics, Inc. All Rights Reserved. This document or parts thereof may not be reproduced in any form unless permitted by contract or by written permission of Silicon Graphics, Inc. LIMITED AND RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by the Government is subject to restrictions as set forth in the Rights in Data clause at FAR 52.227-14 and/or in similar or successor clauses in the FAR, or in the DOD, DOE or NASA FAR Supplements. Unpublished rights reserved under the Copyright Laws of the United States. Contractor/manufacturer is Silicon Graphics, Inc., 1600 Amphitheatre Pkwy., Mountain View, CA 94043-1351. Autotasking, CF77, CRAY, Cray Ada, CraySoft, CRAY Y-MP, CRAY-1, CRInform, CRI/TurboKiva, HSX, LibSci, MPP Apprentice, SSD, SUPERCLUSTER, UNICOS, X-MP EA, and UNICOS/mk are federally registered trademarks and Because no workstation is an island, CCI, CCMT, CF90, CFT, CFT2, CFT77, ConCurrent Maintenance Tools, COS, Cray Animation Theater, CRAY APP, CRAY C90, CRAY C90D, Cray C++ Compiling System, CrayDoc, CRAY EL, CRAY J90, CRAY J90se, CrayLink, Cray NQS, Cray/REELlibrarian, CRAY S-MP, CRAY SSD-T90, CRAY SV1, CRAY T90, CRAY T3D, CRAY T3E, CrayTutor, CRAY X-MP, CRAY XMS, CRAY-2, CSIM, CVT, Delivering the power . ., DGauss, Docview, EMDS, GigaRing, HEXAR, IOS, ND Series Network Disk Array, Network Queuing Environment, Network Queuing Tools, OLNET, RQS, SEGLDR, SMARTE, SUPERLINK, System Maintenance and Remote Testing Environment, Trusted UNICOS, and UNICOS MAX are trademarks of Cray Research, Inc., a wholly owned subsidiary of Silicon Graphics, Inc. -
Arithmetic and Logical Operations Chapter Nine
Arithmetic and Logical Operations Chapter Nine There is a lot more to assembly language than knowing the operations of a handful of machine instructions. You’ve got to know how to use them and what they can do. Many instructions are useful for operations that have little to do with their mathematical or obvious functions. This chapter discusses how to convert expressions from a high level language into assembly language. It also discusses advanced arithmetic and logical opera- tions including multiprecision operations and tricks you can play with various instruc- tions. 9.0 Chapter Overview This chapter discusses six main subjects: converting HLL arithmetic expressions into assembly language, logical expressions, extended precision arithmetic and logical opera- tions, operating on different sized operands, machine and arithmetic idioms, and masking operations. Like the preceding chapters, this chapter contains considerable material that you may need to learn immediately if you’re a beginning assembly language programmer. The sections below that have a “•” prefix are essential. Those sections with a “❏” discuss advanced topics that you may want to put off for a while. • Arithmetic expressions • Simple assignments • Simple expressions • Complex expressions • Commutative operators • Logical expressions • Multiprecision operations • Multiprecision addition operations • Multiprecision subtraction operations • Extended precision comparisons ❏ Extended precision multiplication ❏ Extended precision division ❏ Extended precision negation • Extended -
C Language Reference Manual
C Language Reference Manual 007–0701–150 COPYRIGHT Copyright © 1999, 2002–2003 Silicon Graphics, Inc. All rights reserved; provided portions may be copyright in third parties, as indicated elsewhere herein. No permission is granted to copy, distribute, or create derivative works from the contents of this electronic documentation in any manner, in whole or in part, without the prior written permission of Silicon Graphics, Inc. LIMITED RIGHTS LEGEND The electronic (software) version of this document was developed at private expense; if acquired under an agreement with the USA government or any contractor thereto, it is acquired as "commercial computer software" subject to the provisions of its applicable license agreement, as specified in (a) 48 CFR 12.212 of the FAR; or, if acquired for Department of Defense units, (b) 48 CFR 227-7202 of the DoD FAR Supplement; or sections succeeding thereto. Contractor/manufacturer is Silicon Graphics, Inc., 1600 Amphitheatre Pkwy 2E, Mountain View, CA 94043-1351. TRADEMARKS AND ATTRIBUTIONS Silicon Graphics, SGI, the SGI logo, and IRIX are registered trademarks of Silicon Graphics, Inc. in the United States and/or other countries worldwide. Gaussian is a trademark of Gaussian, Inc. MIPSpro is a trademark of MIPS Technologies, Inc., and is used under license to Silicon Graphics, Inc. UNIX and the X device are trademarks of The Open Group in the United States and other countries. Cover Design By Sarah Bolles, Sarah Bolles Design, and Dany Galgani, SGI Technical Publications. New Features in This Manual Information regarding the use of lint-style comments in macros has been added to Appendix B, "lint-style Comments", page 167.