Home | History | Annotate | Download | only in etc
      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