1 // 2 // CDDL HEADER START 3 // 4 // The contents of this file are subject to the terms of the 5 // Common Development and Distribution License (the License). 6 // You may not use this file except in compliance with the License. 7 // 8 // You can obtain a copy of the license at usr/src/CDDL.txt 9 // or http://www.opensolaris.org/os/licensing. 10 // See the License for the specific language governing permissions 11 // and limitations under the License. 12 // 13 // When distributing Covered Code, include this CDDL HEADER in each 14 // file and include the License file at usr/src/CDDL.txt. 15 // If applicable, add the following below this CDDL HEADER, with the 16 // fields enclosed by brackets [] replaced with your own identifying 17 // information: Portions Copyright [yyyy] [name of copyright owner] 18 // 19 // CDDL HEADER END 20 // 21 22 // Copyright 2006 Sun Microsystems, Inc. All rights reserved. 23 // Use is subject to license terms. 24 25 //#ident "@(#)gal.lnt 1.6 07/06/06 SMI" 26 27 // FlexeLint (Gimpel Lint) options for the Galileo project. 28 29 // ILP32 is assumed data model. 30 31 // General options 32 33 +fdi // Use the directory of the including file 34 // +ffn // Full file names 35 36 // General defines 37 38 -dsun=1 39 -dsparc=1 40 -dunix=1 41 -d__svr4__=1 42 -d__SVR4 43 -d__sun__=1 44 -d__sparc__=1 45 -d__unix__=1 46 -d__sun=1 47 -d__sparc=1 48 -d__unix=1 49 -d__STDC__=0 50 // -d__sparcv9=1 51 -a#system(unix) 52 -a#system(svr4) 53 -a#cpu(sparc) 54 -a#machine(sparc) 55 56 // Check real code - ignore _lint hacks 57 -u_lint 58 // Enable lint-specific code in standard headers 59 -d__lint 60 61 -dDEBUG 62 -d_SOLARIS_MC 63 -dSOLARIS_MC 64 65 // return 0 so makefiles will continue 66 -zero 67 68 // C++ uses *.cc extension 69 +cpp(cc) 70 71 //+fdl // pointer difference is long 72 +fie // Integer model for enum 73 +fis // Integral constants are signed 74 +ful // Unsigned long is a valid type 75 +fll // long long is valid 76 //+fzl // sizeof is long 77 //+fzu // sizeof is unsigned 78 79 // Message presentation - choose the most compact form. 80 -hFrmn1 // Message heigth is 1 81 -width(0,4) // Message width - no wrapping 82 // -"format=%(\q%f\q, line %l: %)%t(%n) [c:%c]: %m" 83 -"format=%(%f:%l: %)%t(%n) [c:%c]: %m" 84 85 // Define special-property functions 86 -function(free, freeb, freemsg) 87 -function(memcmp, bcmp) 88 -function(memcpy, bcopy) 89 -function(strcpy, bcopy) 90 -function(memset(r), bzero(r)) 91 -function(exit, assfail) 92 -function(exit, assertfail) 93 -function(exit, mi_panic) 94 95 // Define printf-like functions 96 -printf(1, mi_panic) 97 -printf(1, uprintf) 98 -printf(1, prom_printf) 99 -printf(2, prom_sprintf) 100 -printf(2, cmn_err) 101 -printf(2, mi_mpprintf, mi_mpprintf_nr, mi_sprintf) 102 -printf(3, sprintf_len) 103 -printf(4, mi_strlog) 104 105 // This is needed to reduce noise from standard include files. 106 -wlib(0) 107 108 // Don't check inter-module errors 109 -u 110 111 // Specific errors/warnings we are overriding project-wide 112 -e537 // repeated include files 113 -e740 // Incompatible indirect types for pointer cast 114 -e730 // boolean argument to function 115 -e613 // possible use of null pointer in left arg to -> 116 -e429 // custodial pointer not freed or returned 117 -e506 // constant value boolean 118 -e1704 // Constructor has private access specification 119 -e716 // while(1) ... 120 -e774 // Boolean within 'while' always evaluates to True 121 -e620 // Suspicious constant (L or one?) 122 123 // Specific errors/warnings we are overriding project-wide due to bugs 124 // When the bugs are fixed they should be removed from here 125 -e1536 // Exposing private member through accessor function. 4243605 126 -e516 // arg. type conflict. 4243693 127 -e1058 // Initializing a non-const reference with non-lvalue. 4225060 128