AdLint 3.2.14 User's Guide


Next: , Up: (dir)

Overview

AdLint is

AdLint is an open source and free source code static analyzer.

It can point out insecure or nonportable code fragments, and can measure various quality metrics of the source code.

For a part of utilization examples, see screenshots.

It (currently) can analyze source code compliant with ANSI C89 / ISO C90 and partly ISO C99.

AdLint is written in Ruby. So, it is available for Windows, Mac OS X, GNU/Linux, FreeBSD and any other platforms supported by Ruby.

License

Copyright (C) 2010-2014, OGIS-RI Co.,Ltd.

AdLint is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

AdLint is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with AdLint. If not, see <http://www.gnu.org/licenses/>.

Index


Next: , Previous: Top, Up: Top

1 Installation


Next: , Up: Installation

1.1 Operation requirements

AdLint requires installation of Ruby version 1.9.3-p0 or later.

And it recommended to install GNU Make version 3 or later to enable to auto analyze by using the GNUmakefile which created by adlintize command.


Next: , Previous: Requirements, Up: Installation

1.2 Hardware environment

For the recommended hardware environment, it can't be completely defined because it depends on the size of software. The following is the test environment of AdLint and the analysis time.

1.2.1 MS Windows

1.2.2 GNU/Linux


Next: , Previous: Hardware Environment, Up: Installation

1.3 Installation instructions for MS Windows environment

1.3.1 Install Ruby

Get the RubyInstaller for Windows 1.9.3-p0 or later from the download page.

Execute RubyInstaller and install ruby with the instructions in the installer.

1.3.2 Install DEVELOPMENT KIT (DevKit)

Recommend to install DEVELOPMENT KIT (DevKit) including GNU Make.

Get the DEVELOPMENT KIT (DevKit) from download page distributed in RubyInstaller for Windows

When user execute the DevKit-*.exe ,DEVELOPMENT KIT will expand to the specified directory.

1.3.3 Set PATH environment variable

Append the following path to PATH environment variable : bin of Ruby directory where Install ruby, bin mingw\bin of DevKit directory where Install DEVELOPMENT KIT (DevKit)

1.3.4 Install AdLint

Start command prompt, and download and install the latest AdLint by the following command.

> gem install adlint

If you have to use HTTP proxy, set --http-proxy http://user name:password@proxy host:port number to gem command as follows.

> gem install adlint --http-proxy http://user:passwd@proxy:3128


Next: , Previous: Install on Windows, Up: Installation

1.4 Installation instructions on Unix environment

Install Ruby interpreter by following Download Ruby.

And download and install the latest version of AdLint.

% gem install adlint
or
% sudo gem install adlint

If you have to use HTTP proxy, set --http-proxy http://user name:password@proxy host:port number to gem command.


Previous: Install on Unix, Up: Installation

1.5 Evaluation test and trial use AdLint

AdLint provided with small sample C language projects. Evaluation test can be execute with intro_demo project by the following procedure.

Copy intro_demo project to user's workspace.

% cp -r `adlint --prefix`/share/demo/intro_demo .

Generate the setting file for static analysis by adlintize command

% cd intro_demo
% adlintize

The following files will be generated.

If GNU Make version 3 or later installed, it can analyze by the following commands.

% make verbose-all
adlint --verbose -t adlint_traits.yml -o . intro_demo.c
                  intro_demo.c [fin] |============================| 0.401s
                    intro_demo [fin] |============================| 0.029s
  1.125s user, 0.765s system, 00:00:01.89 total

If GNU Make doesn't installed, use adlint command directly as follows.

% adlint -v -t adlint_traits.yml -l adlint_files.txt
                  intro_demo.c [fin] |============================| 0.401s
                    intro_demo [fin] |============================| 0.029s
  1.125s user, 0.765s system, 00:00:01.89 total

When the analysis process is finished with no errors, the following file will be generated.

The body of intro_demo.c.msg.csv ,"doesn't reach the control " "divided by zero ".


Next: , Previous: Installation, Up: Top

2 Sample session


Next: , Up: Sample Session

2.1 Analyze GNU Screen

2.1.1 Preparation for project

Download ftp://ftp.gnu.org/gnu/screen/screen-4.0.3.tar.gz, unpack the appropriate directory.

% wget ftp://ftp.gnu.org/gnu/screen/screen-4.0.3.tar.gz
Length: 840602 (821K) [application/x-tar]
Saving to: `screen-4.0.3.tar.gz'

100%[======================================>] 840,602     --.-K/s   in 0.1s

2011-09-28 11:41:55 (6.18 MB/s) - `screen-4.0.3.tar.gz' saved [840602/840602]

% tar xzf screen-4.0.3.tar.gz
% ls -F
screen-4.0.3/   screen-4.0.3.tar.gz

2.1.2 Investigate project

Confirm how to build in analysis runtime environment by building GNU Screen.

% cd screen-4.0.3
% ./configure
this is screen version 4.0.3
checking for prefix by checking for screen... /usr/bin/screen
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
...snip...
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating config.h
config.status: executing default commands

Now please check the pathnames in the Makefile and in the user
configuration section in config.h.
Then type 'make' to make screen. Good luck.

% make 2>&1 | tee make.log
CPP="gcc -E " srcdir=. sh ./osdef.sh
AWK=gawk CC="gcc -g -O2" srcdir=. sh ./comm.sh
AWK=gawk srcdir=. sh ./term.sh
gcc -c -I. -I.    -g -O2 screen.c
gcc -c -I. -I.    -g -O2 ansi.c
gcc -c -I. -I.    -g -O2 fileio.c
gcc -c -I. -I.    -g -O2 mark.c
gcc -c -I. -I.    -g -O2 misc.c
gcc -c -I. -I.    -g -O2 resize.c
gcc -c -I. -I.    -g -O2 socket.c
gcc -c -I. -I.    -g -O2 search.c
sh ./tty.sh tty.c
gcc -c -I. -I.    -g -O2 tty.c
gcc -c -I. -I.    -g -O2 term.c
gcc -c -I. -I.    -g -O2 window.c
gcc -c -I. -I.    -g -O2 utmp.c
gcc -c -I. -I.    -g -O2 loadav.c
gcc -c -I. -I.    -g -O2 putenv.c
gcc -c -I. -I.    -g -O2 help.c
gcc -c -I. -I.    -g -O2 termcap.c
gcc -c -I. -I.    -g -O2 input.c
gcc -c -I. -I.    -g -O2 attacher.c
gcc -c -I. -I.    -g -O2 pty.c
gcc -c -I. -I.    -g -O2 process.c
gcc -c -I. -I.    -g -O2 display.c
gcc -c -I. -I.    -g -O2 comm.c
gcc -c -I. -I.    -g -O2 kmapdef.c
gcc -c -I. -I.    -g -O2 acls.c
gcc -c -I. -I.    -g -O2 braille.c
gcc -c -I. -I.    -g -O2 braille_tsi.c
gcc -c -I. -I.    -g -O2 logfile.c
gcc -c -I. -I.    -g -O2 layer.c
gcc -c -I. -I.    -g -O2 sched.c
gcc -c -I. -I.    -g -O2 teln.c
gcc -c -I. -I.    -g -O2 nethack.c
gcc -c -I. -I.    -g -O2 encoding.c
gcc  -o screen screen.o ansi.o fileio.o mark.o misc.o resize.o socket.o
search.o tty.o term.o window.o utmp.o loadav.o putenv.o help.o termcap.o
input.o attacher.o pty.o process.o display.o comm.o kmapdef.o acls.o braille.o
braille_tsi.o logfile.o layer.o sched.o teln.o nethack.o encoding.o -lcurses
-lcrypt

2.1.3 Preparation static analysis

Generate the file template of static analysis by using adlintize command. Edit setting file depending on the analyzed project.

Investigate computer environment, compiler environment of project build.

% uname -mo
i686 GNU/Linux
% gcc --version
gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Shows the preset build environment which supports adlintize command. Select near the build environment. In this session, GCC 4.5.1 on GNU/Linux i686 architecture is using.So select i686-linux-gcc_4.5.1 .

% adlintize -L
i686-linux-gcc_4.5.1
i686-cygwin-gcc_4.3.4
i686-mingw-gcc_4.5.2
x86_64-ubuntu_12.04-gcc_4.6.3

Generate file template which required static analysis by using adlintize command.

% adlintize -e i686-linux-gcc_4.5.1 -o adlint
% cd adlint
% ls
GNUmakefile     adlint_all.sh   adlint_files.txt  adlint_traits.yml
adlint_all.bat  adlint_cinit.h  adlint_pinit.h

Compare make.log file which generated at Project investigation and SOURCES list in GNUmakefile which generated by adlintize, edit equally.

% cp GNUmakefile GNUmakefile.orig
% vi GNUmakefile
% diff -u GNUmakefile.orig GNUmakefile
--- GNUmakefile.orig    2011-09-28 13:36:24.328078206 +0900
+++ GNUmakefile 2011-09-28 13:36:37.573902006 +0900
@@ -29,8 +29,6 @@
   putenv.c \
   fileio.c \
   kmapdef.c \
-  terminfo/checktc.c \
-  terminfo/tetris.c \
   search.c \
   input.c \
   ansi.c \

Then find project specific include path from make.log file which generated project investigation. Edit the path to adlint_traits.yml.

% cp adlint_traits.yml adlint_traits.yml.orig
% vi adlint_traits.yml
% diff -u adlint_traits.yml.orig adlint_traits.yml
--- adlint_traits.yml.orig      2011-09-28 13:40:10.748222288 +0900
+++ adlint_traits.yml   2011-09-28 13:40:24.105054386 +0900
@@ -25,6 +25,7 @@
   #     - "../include/bar"
   #     - "/opt/baz/include"
   include_path:
+    - ".."

   # Pathname of the project specific initial header file.
   # This header file is automatically included above the first line of the

2.1.4 Execute the static analysis

Execute static analysis by using GNUmakefile which generated Preparation static analysis.

% make --version
GNU Make 3.82
Built for i386-redhat-linux-gnu
Copyright (C) 2010  Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

% make verbose-all
adlint --verbose -t adlint_traits.yml -o . ../braille.c ../acls.c ../putenv.c
../fileio.c ../kmapdef.c ../search.c ../input.c ../ansi.c ../pty.c ../layer.c
../termcap.c ../loadav.c ../comm.c ../screen.c ../term.c ../teln.c ../socket.c
../encoding.c ../utmp.c ../logfile.c ../display.c ../misc.c ../attacher.c
../help.c ../tty.c ../nethack.c ../braille_tsi.c ../sched.c ../process.c
../window.c ../mark.c ../resize.c
                  ../braille.c [fin] |============================| 7.999s
                     ../acls.c [fin] |============================| 12.152s
                   ../putenv.c [fin] |============================| 0.203s
                   ../fileio.c [fin] |============================| 13.013s
...snip...
                   ../window.c [fin] |============================| 22.388s
                     ../mark.c [fin] |============================| 14.827s
                   ../resize.c [fin] |============================| 18.964s
                  screen-4.0.3 [fin] |============================| 58.346s
  771.510s user, 2.370s system, 00:12:53.87 total

% ls *.{i,msg.csv,met.csv,log}
acls.c.log             kmapdef.c.log      sched.c.log
acls.c.met.csv         kmapdef.c.met.csv  sched.c.met.csv
acls.c.msg.csv         kmapdef.c.msg.csv  sched.c.msg.csv
acls.i                 kmapdef.i          sched.i
ansi.c.log             layer.c.log        screen-4.0.3.log
ansi.c.met.csv         layer.c.met.csv    screen-4.0.3.met.csv
ansi.c.msg.csv         layer.c.msg.csv    screen-4.0.3.msg.csv
...snip...
input.c.log            resize.c.log       window.c.met.csv
input.c.met.csv        resize.c.met.csv   window.c.msg.csv
input.c.msg.csv        resize.c.msg.csv   window.i
input.i                resize.i


Previous: Analyzing Screen, Up: Sample Session

2.2 Distributed parallel analysis with distmake


Next: , Previous: Sample Session, Up: Top

3 Command specification


Next: , Up: Command

3.1 adlintize command

3.1.1 Function

Generate the following files which required static analysis by AdLint.

When it run a adlintize command, all *.c files under the directory will set to SOURCES variable in GNUmakefile.

3.1.2 How to use

When it run a adlintize command at the root directory of analyzed project, generate required files for static analysis to adlint directory.

% cd project-root
% adlintize -o adlint
% ls adlint
GNUmakefile     adlint_all.sh   adlint_files.txt  adlint_traits.yml
adlint_all.bat  adlint_cinit.h  adlint_pinit.h

adlintize command provides some preset build environment. To specify the preset build environment, more information can set automatically to the file templates.

-L option shows the list of preset build environment.

% adlintize -L
i686-linux-gcc_4.5.1
i686-cygwin-gcc_4.3.4
i686-mingw-gcc_4.5.2
x86_64-ubuntu_12.04-gcc_4.6.3

-e option can set the preset build environment.

% cd project-root
% adlintize -e i686-linux-gcc_4.5.1 -o adlint
% ls adlint
GNUmakefile     adlint_all.sh   adlint_files.txt  adlint_traits.yml
adlint_all.bat  adlint_cinit.h  adlint_pinit.h

3.1.3 Help message

Usage: adlintize [options] [project-name]
Options:
  -t FILE, --traits FILE         Write traits to FILE
                                 If omitted, `adlint_traits.yml' will be used
  -p FILE, --pinit-header FILE   Write project initial header to FILE
                                 If omitted, `adlint_pinit.h' will be used
  -c FILE, --cinit-header FILE   Write compiler initial header to FILE
                                 If omitted, `adlint_cinit.h' will be used
  -l FILE, --list-file FILE      Write list file to FILE
                                 If omitted, `adlint_files.txt' will be used
  -m FILE, --makefile FILE       Write analysis procedure GNUmakefile to FILE
                                 If omitted, `GNUmakefile' will be used
  -s FILE, --sh-script FILE      Write analysis procedure sh script to FILE
                                 If omitted, `adlint_all.sh' will be used
  -b FILE, --bat-file FILE       Write analysis procedure bat file to FILE
                                 If omitted, `adlint_all.bat' will be used
  -o DIR, --output-dir DIR       Set output directory
                                 If omitted, `.' will be used
  -e ENV, --environment ENV      Assume ENV as target build environment
  -L, --list-environment         List all preset build environments
  -f, --force                    Force to overwrite existing files
      --version                  Display version information
      --copyright                Display copyright information
      --prefix                   Display prefix directory of AdLint
  -h, --help                     Display this message


Next: , Previous: AdLintize Command, Up: Command

3.2 adlint command

3.2.1 Function

Run both single module analysis ( correspond to the compile phase ) and cross module analysis ( correspond to the link phase ) at once.

It supports the following method to specify the analyzed source code : from command line and set to the list file.

Its activity is same as the following steps. Run a single module analysis by using adlint_sma command with specify all analyzed source file. Then run a cross module analysis by using adlint_cma.

The result of single module analysis, the following files will be generated for each source files.

The result of cross module analysis, the following files will be generated.

3.2.2 How to use

When it run a adlint command as follows at the directory which generated the template of setting files by adlintize, run a single module analysis and cross module analysis at once.

% cd project-root
% adlintize -o adlint
% cd adlint
% adlint -v -t adlint_traits.yml -o . -p 1 -l adlint_files.txt
               ../intro_demo.c [fin] |============================| 0.134s
                    intro_demo [fin] |============================| 0.012s
  0.718s user, 0.500s system, 00:00:01.21 total

When it collaborate with text editor or integrated development environment, the message can output to stderr without display the progress by not specifying the -v,--verbose option.

% adlint -t adlint_traits.yml -o . -p 1 -l adlint_files.txt
../intro_demo.c:6:9:warning:c_builtin:W0492:UNC:X99:The same identifier name `i' is also used in the member of structure/union, label, tag or normal identifier.
../intro_demo.c:12:13:warning:c_builtin:W0027:UNC:X99:Comparison operation is being made by pointer variable.
../intro_demo.c:16:14:warning:c_builtin:W0422:UNC:X99:Value of the dereferencing pointer may be NULL.
../intro_demo.c:31:13:warning:c_builtin:W0613:UNC:X99:This controlling expression always makes false.
...snip...
../intro_demo.c:55:9:warning:c_builtin:W9001:UNC:X99:Control never reaches to this statement.
../intro_demo.c:2:1:warning:c_builtin:W0071:UNC:X99:Included "../useless_header.h" is not referenced in the translation unit. It can be removed.
../intro_demo.c:61:19:warning:c_builtin:W0628:UNC:X99:A function `int bar(void)' is defined, but this is not used in this project.

3.2.3 Help message

Usage: adlint [options] [source-file...]
Options:
  -t FILE, --traits FILE         Use FILE as traits file (mandatory)
  -l FILE, --list-file FILE      Use FILE as list file
  -o DIR, --output-dir DIR       Output result files to DIR
  -p NUM, --strip NUM            Use source file names from which stripped NUM
                                 leading components as the base name of output
                                 files
  -v, --verbose                  Increase verbosity but suppress message output
      --version                  Display version information
      --copyright                Display copyright information
      --prefix                   Display prefix directory of AdLint
  -h, --help                     Display this message


Next: , Previous: AdLint Command, Up: Command

3.3 adlint_sma command

3.3.1 Function

Execute only single module analysis (correspond to the compile phase) which specified by command line.
For the result of single module analysis, generate the following files for each source file.

3.3.2 How to use

When it run a adlint_sma command as follows at the directory which generated the template of setting files by adlintize, run only single module analysis.

% adlint_sma -v -t adlint_traits.yml -o . -p 1 ../intro_demo.c
               ../intro_demo.c [fin] |============================| 0.134s
  1.062s user, 0.843s system, 00:00:01.90 total

When it collaborate with text editor or integrated development environment, the message can output to stderr without display the progress by not specifying the -v,--verbose option.

% adlint_sma -t adlint_traits.yml -o . -p 1 ../intro_demo.c
../intro_demo.c:6:9:warning:c_builtin:W0492:UNC:X99:The same identifier name `i' is also used in the member of structure/union, label, tag or normal identifier.
../intro_demo.c:12:13:warning:c_builtin:W0027:UNC:X99:Comparison operation is being made by pointer variable.
../intro_demo.c:16:14:warning:c_builtin:W0422:UNC:X99:Value of the dereferencing pointer may be NULL.
../intro_demo.c:31:13:warning:c_builtin:W0613:UNC:X99:This controlling expression always makes false.
...snip...
../intro_demo.c:55:9:warning:c_builtin:W9001:UNC:X99:Control never reaches to this statement.
../intro_demo.c:2:1:warning:c_builtin:W0071:UNC:X99:Included "../useless_header.h" is not referenced in the translation unit. It can be removed.
../intro_demo.c:61:19:warning:c_builtin:W0628:UNC:X99:A function `int bar(void)' is defined, but this is not used in this project.

3.3.3 Help message

Usage: adlint_sma [options] source-file...
Options:
  -t FILE, --traits FILE         Use FILE as traits file (mandatory)
  -o DIR, --output-dir DIR       Output result files to DIR
  -p NUM, --strip NUM            Use source file names from which stripped NUM
                                 leading components as the base name of output
                                 files
  -v, --verbose                  Increase verbosity but suppress message output
      --version                  Display version information
      --copyright                Display copyright information
      --prefix                   Display prefix directory of AdLint
  -h, --help                     Display this message


Next: , Previous: AdLint SMA Command, Up: Command

3.4 adlint_cma command

3.4.1 Function

Execute only cross module analysis (correspond to the link phase) which specified by command line.
For the result of cross module analysis, generate the following files.

3.4.2 How to use

When it run a adlint_cma command as follows after finished the single module analysis by adlint_sma command at the directory which generated the template of setting files by adlintize, run only cross module analysis.

% ls *.c.met.csv
intro_demo.c.met.csv
% adlint_cma -v -t adlint_traits.yml -o . intro_demo.c.met.csv
                    intro_demo [fin] |============================| 0.011s
  1.203s user, 0.843s system, 00:00:02.04 total

When it collaborate with text editor or integrated development environment, the message can output to stderr without display the progress by not specifying the -v,--verbose option.

% adlint_cma -t adlint_traits.yml -o . intro_demo.c.met.csv
../intro_demo.c:61:19:warning:c_builtin:W0628:UNC:X99:A function `int bar(void)' is defined, but this is not used in this project.

3.4.3 Help message

Usage: adlint_cma [options] sma-metric-file...
Options:
  -t FILE, --traits FILE         Use FILE as traits file (mandatory)
  -o DIR, --output-dir DIR       Output result files to DIR
  -v, --verbose                  Increase verbosity but suppress message output
      --version                  Display version information
      --copyright                Display copyright information
      --prefix                   Display prefix directory of AdLint
  -h, --help                     Display this message


Previous: AdLint CMA Command, Up: Command

3.5 adlint_chk command

3.5.1 Function

It can validate the body of traits file by execute only preprocessing to analyzed source file which set by command line.

3.5.2 How to use

Create the template of setting file by adlintize, and edit the traits file. Then run a adlint_chk command as follows. It can validate the body of traits file by execute preprocessing.

% adlint_chk -v -t adlint_traits.yml -o . -p 1 ../intro_demo.c
               ../intro_demo.c [fin] |============================| 0.047s
  0.812s user, 0.875s system, 00:00:01.68 total

If the include path of header file doesn't set properly,the error occurs as follows. It can check which header file doesn't included by referring the *.c.msg.csv file which correspond to the source file.

% adlint_chk -v -t adlint_traits.yml -o . -p 1 ../intro_demo.c
               ../intro_demo.c [cpp] |=======                     | 0.006s!
An error was occurred while processing `../intro_demo.c'.
See `intro_demo.c.msg.csv' and `intro_demo.c.log' for more details.

% tail intro_demo.c.msg.csv
E,../intro_demo.c,1,1,E0009,A header file of <stdio.h> doesn't found.
X,../intro_demo.c,1,1,X0003,Analysis processing has been stopped due to unrecoverable error. For the details, refer to `intro_demo.c.msg.csv' and `intro_demo.c.log'.

3.5.3 Help message

Usage: adlint_chk [options] source-file...
Options:
  -t FILE, --traits FILE         Use FILE as traits file (mandatory)
  -o DIR, --output-dir DIR       Output result files to DIR
  -p NUM, --strip NUM            Use source file names from which stripped NUM
                                 leading components as the base name of output
                                 files
  -v, --verbose                  Increase verbosity but suppress message output
      --version                  Display version information
      --copyright                Display copyright information
      --prefix                   Display prefix directory of AdLint
  -h, --help                     Display this message


Next: , Previous: Command, Up: Top

4 Input specification


Next: , Up: Input

4.1 Input files

Analysis action can set the following two kind of files.

traits file
Describe how to process the analysis. Edit by YAML style.
Message definition file
Describe the message catalog.Edit by YAML style.

Traits file sets the path by the command option --traits of adlint , adlint_sma , adlint_cma.

Message definition file is installed in etc/mesg.d at AdLint install path. adlint , adlint_sma , adlint_cma command selects the appropriate the message definition file by following the language which specified in language of message traits.


Next: , Previous: Input Files, Up: Input

4.2 Traits file

Describe Project Traits , Compiler Traits , Linker Traits , Message Traits to a single YAML format setting file ( sample ).

When it run a adlintize command at the root directory of analyzed project, generate the template of traits file for the project, GNUmakefile and shell script.

% cd project
% adlintize -o adlint
% ls adlint
GNUmakefile     adlint_all.sh   adlint_files.txt  adlint_traits.yml
adlint_all.bat  adlint_cinit.h  adlint_pinit.h

You can specify environment variable as items in the traits file to be described.

For example, specify the environment variable ENV_VAR as the item item like below;

  item: $ENV_VAR

And embed environment variables in a string value like below;

  item: "prefix${ENV_VAR}suffix"

You can also specify multiple values of directory pathname list item by one environment variable like below;

% export ENV_VAR="/usr/local/include:/usr/include"
  include_path:
    - $ENV_VAR


Next: , Up: Traits

4.2.1 Global Traits

Global Traits can be configured by root items in traits file.

No. Items Styles Contents
1 version string This item represents the format version of this traits file. You should not edit this item manually.
2 exam_packages array of string This item represents list of the source code examination package names to be used by AdLint.

"c_builtin" is a builtin examination package name bundled with AdLint core. New optional source code examination packages will be released in the future.

For example, If you install adlint-exam-c_ansi optional examination package which checks whether the source code complies with ANSI C, you can edit exam_packages item as below;

In this case, only ANSI C compliance check will be run.

     exam_packages:
       - "c_ansi"

In this case, both AdLint builtin check and ANSI C compliance check will be run.

     exam_packages:
       - "c_builtin"
       - "c_ansi"



Next: , Previous: Global Traits, Up: Traits

4.2.2 Project Traits

Project Traits can set under the project_traits in traits file.

No. Items Styles Contents
1 project_name string Set project name.
2 project_root string Set pathname of the project root directory.
3 target_files:inclusion_paths array of string Specify directory paths which contain analysis target source files. An entry can have multiple pathnames with `:' (or `;' on windows) separators.
4 target_files:exclusion_paths array of string Specify directory paths to eliminate analysis target source files under the directory. If omitted, AdLint will check all the files included by the target source files such as 3rd-party library headers under target_files:inclusion_paths. An entry can have multiple pathnames with `:' (or `;' on windows) separators.
5 initial_header string Set the header files which is included at the top of specified source files. For example, project specific macro definition will be described in this file.
6 file_search_paths array of string Set project specific include-file search paths. An entry can have multiple pathnames with `:' (or `;' on windows) separators.
7 coding_style:indent_style string Indent style which is a convention governing the identation of blocks. Select from "K&R", "Allman" and "GNU".

"K&R" style is

     int foo(int i)
     {
         if (i == 0) {
             return 0;
         }
         return i;
     }

"Allman" style is

     int foo(int i)
     {
         if (i == 0)
         {
             return 0;
         }
         return i;
     }

"GNU" style is

     int
     foo(int i)
     {
       if (i == 0)
         {
           return 0;
         }
       return i;
     }


8 coding_style:tab_width integer value Set the appearance number of digits of tab character
9 coding_style:indent_width integer value Set the appearance number of digits of indent
10 file_encoding string Set the character encoding. If the value is not set, process as "ASCII-8BIT".


Next: , Previous: Project Traits, Up: Traits

4.2.3 Compiler Traits

Compiler Traits can set under the compiler_traits in traits file.

No. Items Styles Contents
1 initial_header string Set the header files which is included at the top of specified source files and automatically included before project specific initial_header. This file describes compiler specific macro, type definition and others.
2 file_search_paths array of string Set the compiler specific include-file search paths. An entry can have multiple pathnames with `:' (or `;' on windows) separators.
3 standard_types:char_size integer value Set the size of char type family by bit quantities.
4 standard_types:char_alignment integer value Set the memory alignment of char type family by bit quantities.
5 standard_types:short_size integer value Set the size of short type family by bit quantities.
6 standard_types:short_alignment integer value Set the memory alignment of short family by bit quantities.
7 standard_types:int_size integer value Set the size of int type family by bit quantities.
8 standard_types:int_alignment integer value Set the memory alignment of int type family by bit quantities.
9 standard_types:long_size integer value Set the size of long int type family by bit quantities.
10 standard_types:long_alignment integer value Set the memory alignment of long int type family by bit quantities.
11 standard_types:long_long_size integer value Set the size of long long int type family by bit quantities.
12 standard_types:long_long_alignment integer value Set the memory alignment of long long int type family by bit quantities.
13 standard_types:float_size integer value Set the size of float type family by bit quantities.
14 standard_types:float_alignment integer value Set the memory alignment of float type family by bit quantities.
15 standard_types:double_size integer value Set the size of double type family by bit quantities.
16 standard_types:double_alignment integer value Set the memory alignment of double type family by bit quantities.
17 standard_types:long_double_size integer value Set the size of long double type family by bit quantities.
18 standard_types:long_double_alignment integer value Set the memory alignment of long double type family by bit quantities.
19 standard_types:code_ptr_size integer value Set the size of function pointer by bit quantities.
20 standard_types:code_ptr_alignment integer value Set the memory alignment of function pointer by bit quantities.
21 standard_types:data_ptr_size integer value Set the size of data pointer by bit quantities.
22 standard_types:data_ptr_alignment integer value Set the memory alignment of data pointer by bit quantities.
23 standard_types:char_as_unsigned_char boolean value If `char' type treat as `unsigned char', set true.
24 arithmetic:logical_right_shift boolean value If right shift expression `>>' treat as logical shift instead of arithmetic shift, set true.
25 identifier_max integer value Set the maximum number of length which compiler can identifier.
26 extension_substitutions map of string Set the token replacement pattern to adjust compiler specific extension. AdLint puts the warning message W0061 all uses of this extension. If `__attribute__ ( arbitrary token row )' delete after pre-process and puts the warning W0061, set as follows.
     extension_substitutions:
       "__attribute__(__adlint__any)": ""

And if the token `__restrict' replaces `restrict' and put the warning W0061, set as follows.

     extension_substitutions:
       "__restrict": "restrict"


27 arbitrary_substitutions map of string Same as extension_substitutions, replace the token after pre-process, the difference is doesn't put the warning W0061.


Next: , Previous: Compiler Traits, Up: Traits

4.2.4 Linker Traits

Linker Traits sets under linker_traits items.

No. Items Styles Contents
1 identifier_max integer value Set the maximum number of length which linker can identifier.
2 identifier_ignore_case boolean value Set whether check case sensitive by linker when identifier external symbol.


Previous: Linker Traits, Up: Traits

4.2.5 Message Traits

Message Traits can set under the message_traits in traits file. .

No. Items Styles Contents
1 language string Set the language of message body.(Currently) it available "en_US" or "ja_JP".
2 individual_suppression boolean This item enables message suppression by source code annotations.

In case of true, message suppression by annotations will be enabled.

3 exclusion:categories array of string This item represents excluding code checks by its message categories.
4 exclusion:severities regexp string This item represents excluding code checks by its message severities.
5 exclusion:messages map of Message ID and string This item represents excluding code checks by its message ID.

Because a message ID is not unique in multiple examination packages, you should also specify the name of the examination package including the message.

6 inclusion:messages map of Message ID and string This item represents messages which is excluded by settings of exclusion section but will be used by AdLint.

For example, you can bring back the specified code checks which is excluded by exclusion:categories.

7 change_list map of Message ID and changed contents This item represents overriding contents of existing one in the message definition.

For example, you can change contents of W9999 message in "c_builtin" examination package as below;

     change_list:
       W9999:
         package: "c_builtin"
         classes:
           - "<name of new message category #1>:<severity of this message #1>"
           - "<name of new message category #2>:<severity of this message #2>"
         format: "new message format of this message."


Next: , Previous: Traits, Up: Input

4.3 Message Definition file.

Describe all error and warning message to setting file by format. Normally this file doesn't edit directly. If it need to change the message body, set the changes to change_list in traits file.


Previous: Message Definition, Up: Input

4.4 Source Code Annotation

You can write an annotation which controls AdLint's analysis behavior as an ordinary comment of the programming language.

4.4.1 Warning message suppression annotation

An annotation starts with ADLINT:SF in an ordinary comment specifies that messages listed in the annotation of the annotated file will be suppressed.

An annotation starts with ADLINT:SL in an ordinary comment specifies that messages listed in the annotation of the annotated line will be suppressed.

The following describes format and usage of the annotation.

• Common definitions

     message_specifier_list : qualified_message_specifier
                            | unqualified_message_specifier
                            | message_specifier_list qualified_message_specifier
                            | message_specifier_list unqualified_message_specifier
     
     qualified_message_specifier : ':' package_name unqualified_message_specifier
     
     unqualified_message_specifier : ':' '[' message_name_list ']'
     
     message_name_list : message_name
                       | message_name_list ',' message_name
     
     message_name : 'W' [0-9]{4}
     
     package_name : any string specified in exam_packages of the traits file.

• File-wise message suppressor

     file_wise_suppressor_annotation : "/*" file_wise_suppressor_head message_specifier_list "*/"
                                     | "//" file_wise_suppressor_head message_specifier_list
     
     file_wise_suppressor_head : "ADLINT:SF"

• Line-wise message suppressor

     line_wise_suppressor_annotation : "/*" line_wise_suppressor_head message_specifier_list "*/"
                                     | "//" line_wise_suppressor_head message_specifier_list
     
     line_wise_suppressor_head : "ADLINT:SL"

• Sample code

/* ADLINT:SF:[W0001,W0002] (to suppress W0001 and W0002 of all exam-packages in this file.) */
#include <stdio.h>

extern int i; /* ADLINT:SL:[W0003] (to suppress W0003 of all exam-packages only at this line.) */
extern int j; /* ADLINT:SL:c_staging:[W2001] (to suppress W2001 of `c_staging' exam-package only at this line.) */

void foo(void)
{
    printf("%d\n", i + j);
}


Next: , Previous: Input, Up: Top

5 Output specification


Next: , Up: Output

5.1 Output files

Print the result of single module analysis to the following four different files.

No. Name File name Contents
1 Preprocessed source <source file name except the extension>.i The line beginning with # is line marker.
2 metrics file <source file name>.met.csv Print the metrics and the code information by CSV format.
3 message file <source file name>.msg.csv Print the error and the warning message by CSV format.
4 Log file <source file name>.log Print the log of single module analysis.

Print the result of cross module analysis to the following three different files.

No. Name File name Contents
1 metrics file <project name>.met.csv Print the metrics information by CSV format.
2 message file <project name>.msg.csv Print the warning message by CSV format.
3 Log file <project name>.log Print the log of cross module analysis.


Next: , Previous: Output Files, Up: Output

5.2 Common definition

     version_number
       : major_version '.' minor_version '.' patch_level
     
     major_version : integer value
     
     minor_version : integer value
     
     patch_level : integer value
     
     exec_timestamp : Year '-' Month '-' Day ' ' Hour ':' Minute ':' Second ':' Time zone
     
     exec_working_directory : Full path name of run the analysis.
     
     new_line : line feed string depends on runtime environment.
     
     file_path : file path name depends on runtime environment.
     
     line_no : integer value
     
     lines : integer value
     
     column_no : integer value
     
     location : file_path ',' line_no ',' column_no
     
     function_identifier
       : function_name ',' function_signature
     
     function_name : c_identifier
     
     function_signature : c_declaration_specifiers c_declarator
     
     function_linkage_type
       : 'I'  <- Internal
       | 'X'  <- eXternal
     
     function_scope_type
       : 'F'  <- File
       | 'B'  <- Block
     
     function_declaration_type
       : 'E'  <- Explicit
       | 'I'  <- Implicit
     
     type_name : c_identifier
     
     type_rep : c_declaration
     
     variable_name : c_identifier
     
     initializer_rep : c_initializer
     
     assignment_rep : c_assignment_operator c_assignment_expression
     
     macro_name : c_identifier
     
     macro_value
       :
       | pp_tokens
     
     pp_tokens : c_pp_tokens
     
     exam_package_name : arbitrary string
     
     message_id
       : 'W' [0-9]{4}
       | 'E' [0-9]{4}
       | 'C' [0-9]{4}
     
     message_category : [A-Z]{3}
     
     message_severity : [A-Z][0-9]{2}
     
     message_text : arbitrary string


Next: , Previous: Common, Up: Output

5.3 metrics file

5.3.1 Version records

     metrics_version_record
       : metrics_version_head ',' version_number ',' exec_timestamp ',' exec_working_directory
     
     metrics_version_head : "VER"

• Output example

     VER,0.6.4,2012-02-16 14:10:59 +0900,/home/yanoh/intro_demo

5.3.2 Declaration records

     declaration_record
       : declaration_head ',' location ',' typedcl_record_body
       | declaration_head ',' location ',' gvardcl_record_body
       | declaration_head ',' location ',' funcdcl_record_body
     
     declaration_head : "DCL"

• Type definition records

     typedcl_record_body
       : 'T' ',' typedcl_type ',' type_name ',' type_rep
     
     typedcl_type
       : 'T'  <- typedef
       | 'S'  <- struct
       | 'U'  <- union
       | 'E'  <- enum

• Global variable declaration Record

     gvardcl_record_body
       : 'V' ',' variable_name ',' type_rep

• Function declaration record

     funcdcl_record_body
       : 'F' ',' function_linkage_type ',' function_scope_type ',' function_declaration_type ',' function_identifier

• Output example

 1: typedef int *int_ptr;
 2:
 3: struct Foo {
 4:     int i;
 5:     long l;
 6: };
 7:
 8: union Bar {
 9:     int i;
10:     char c;
11: };
12:
13: enum Color {
14:     RED = 1,
15:     GREEN,
16:     BLUE
17: };
18:
19: extern int global_1;
20:
21: extern int foo(long);
     DCL,test.c,1,14,T,T,int_ptr,int *
     DCL,test.c,3,8,T,S,Foo,struct Foo { int i; long l; }
     DCL,test.c,8,7,T,U,Bar,union Bar { int i; char c; }
     DCL,test.c,13,6,T,E,Color,"enum Color { RED = 1, GREEN, BLUE }"
     DCL,test.c,19,12,V,global_1,int
     DCL,test.c,21,12,F,X,F,E,foo,int foo(long)

5.3.3 Declaration records

     definition_record
       : definition_head ',' location ',' vardef_record_body
       | definition_head ',' location ',' fundef_record_body
       | definition_head ',' location ',' macrodef_record_body
       | definition_head ',' location ',' labeldef_record_body
     
     definition_head : "DEF"

• Variable declaration records

     vardef_record_body
       : 'V' ',' variable_linkage_type ',' variable_scope_type ',' storage_class_type ',' variable_name ',' type_rep
     
     variable_linkage_type
       : 'I'  <- Internal
       | 'X'  <- eXternal
       | 'N'  <- None
     
     variable_scope_type
       : 'F'  <- File
       | 'B'  <- Block
       | 'P'  <- Parameter
     
     storage_class_type
       : 'A'  <- Auto
       | 'R'  <- Register
       | 'S'  <- Static
       | 'N'  <- None

• Function definition records

     fundef_record_body
       : 'F' ',' function_linkage_type ',' function_scope_type ',' function_identifier ',' lines

• Macro definition records

     macrodef_record_body
       : 'M' ',' macro_name ',' macro_form_type
     
     macro_form_type
       : 'O'  <- Object
       | 'F'  <- Function

• Label definition record

     labeldef_record_body
       : 'L' ',' label_name
     
     label_name : c_identifier

• Output example

 1: int global_1;
 2: struct { int i; long l; } global_2;
 3:
 4: static long static_1;
 5: static enum { FOO, BAR, BAZ } static_2;
 6:
 7: int foo(int i, register short s)
 8: {
 9:     static char static_3 = 0;
10:     register int local_1 = i + s + static_3;
11:     auto int local_2 = 0;
12:     int local_3 = 0;
13:     goto end;
14: end:
15:     return local_1 + local_2 + local_3;
16: }
17:
18: static void bar(void) {}
19:
20: #define OBJ_FORM_MACRO (1 + 2)
21: #define MAX(a, b) ((a) < (b) ? (b) : (a))
     DEF,test.c,1,5,V,X,F,N,global_1,int
     DEF,test.c,2,27,V,X,F,N,global_2,struct __adlint__unnamed_1
     DEF,test.c,4,13,V,I,F,S,static_1,long
     DEF,test.c,5,31,V,I,F,S,static_2,enum __adlint__unnamed_2
     DEF,test.c,7,13,V,I,P,N,i,int
     DEF,test.c,7,31,V,I,P,R,s,short
     DEF,test.c,9,17,V,I,B,S,static_3,char
     DEF,test.c,10,18,V,I,B,R,local_1,int
     DEF,test.c,11,14,V,I,B,A,local_2,int
     DEF,test.c,12,9,V,I,B,N,local_3,int
     DEF,test.c,7,5,F,X,F,foo,"int foo(int,short)",10
     DEF,test.c,18,13,F,I,F,bar,void bar(void),1
     DEF,test.c,20,1,M,OBJ_FORM_MACRO,O
     DEF,test.c,21,1,M,MAX,F
     DEF,test.c,14,1,L,end

5.3.4 Initialization record

     initialization_record
       : initialization_head ',' location ',' variable_name ',' initializer_rep
     
     initialization_head : "INI"

• Output example

1: int global_1 = 1;
2:
3: int main(void)
4: {
5:     int local_1 = global_1;
6:     int local_2 = local_1 + 1;
7:
8:     return local_1 + local_2;
9: }
     INI,test.c,1,5,global_1,1
     INI,test.c,5,9,local_1,global_1
     INI,test.c,6,9,local_2,local_1 + 1

5.3.5 Assignment records

     assignment_record
       : assignment_head ',' location ',' variable_name ',' assignment_rep
     
     assignment_head : "ASN"

• Output example

 1: int main(void)
 2: {
 3:     int i;
 4:
 5:     for (i = 0; i < 10; i++) {
 6:         if (i % 2) {
 7:             i += 1;
 8:         }
 9:     }
10:
11:     return 0;
12: }
     ASN,test.c,5,12,i,= 0
     ASN,test.c,7,15,i,+= 1

5.3.6 Dependency records

     dependency_record
       : dependency_head ',' location ',' include_record_body
       | dependency_head ',' location ',' call_record_body
       | dependency_head ',' location ',' xref_record_body
     
     dependency_head : "DEP"

• Include records

     include_record_body
       : 'I' ',' included_fpath
     
     included_fpath : '<' file_path '>' | '"' file_path '"'

• Caller function records

     call_record_body
       : 'C' ',' caller_function ',' callee_function
     
     caller_function : function_identifier
     
     callee_function : function_identifier

• external reference records

     xref_record_body
       : 'X' ',' xref_variable_record_body
       | 'X' ',' xref_function_record_body
     
     xref_variable_record_body
       : 'V' ',' accessor_function ',' access_type ',' accessee_variable
     
     xref_function_record_body
       : 'F' ',' accessor_function ',' access_type ',' accessee_function
     
     accessor_function : function_identifier
     
     access_type : 'R' | 'W'
     
     accessee_variable : variable_name
     
     accessee_function : function_identifier

• Output example

 1: #include <stdio.h>
 2: #include "test.h"
 3:
 4: extern int global;
 5:
 6: int foo(long l)
 7: {
 8:     int i = global;
 9:
10:     return l - i;
11: }
12:
13: int main(void)
14: {
15:     int (*p)(long) = &foo;
16:
17:     global = 5;
18:
19:     return (*p)(10);
20: }
     DEP,test.c,1,1,I,</usr/include/stdio.h>
     DEP,test.c,2,1,I,"""test.h"""
     DEP,test.c,8,13,X,V,foo,int foo(long),R,global
     DEP,test.c,19,16,C,main,int main(void),foo,int foo(long)
     DEP,test.c,15,23,X,F,main,int main(void),R,foo,int foo(long)
     DEP,test.c,17,12,X,V,main,int main(void),W,global

5.3.7 Literal records

     literal_record
       : literal_head ',' location ',' literal_type ',' literal_prefix ',' literal_suffix ',' literal_value
     
     literal_head : "LIT"
     
     literal_type
       : 'DN'  <- Decimal Number
       | 'HN'  <- Hexadecimal Number
       | 'ON'  <- Octal Number
       | 'BN'  <- Binary Number
       | 'FN'  <- Floating point Number
       | 'CN'  <- Character Narrow
       | 'SN'  <- String Narrow
       | 'CW'  <- Character Wide
       | 'SW'  <- String Wide
     
     literal_prefix
       :
       | 'l'  | 'L'
       | '0'
       | '0x' | '0X'
       | '0b' | '0B'
     
     literal_suffix
       :
       | 'u'   | 'U'
       | 'l'   | 'L'
       | 'ul'  | 'Ul'  | 'uL'  | 'UL'
       | 'ull' | 'Ull' | 'uLL' | 'ULL'
       | 'll'  | 'LL'
       | 'f'   | 'F'
     
     literal_value
       : c_constant
       | c_string_literal

• Output example

1: unsigned int i = 0xFFU;
2:
3: int foo(long l)
4: {
5:     const wchar_t *s = L"foobar";
6:
7:     return 0;
8: }
     LIT,test.c,1,18,HN,0x,U,0xFFU
     LIT,test.c,5,24,SW,L,,"L""foobar"""

5.3.8 Preprocess record

     preprocess_record
       : preprocess_head ',' location ',' pp_directive ',' pp_tokens
     
     preprocess_head : "PRE"
     
     pp_directive
       : "#if"
       | "#ifdef"
       | "#ifndef"
       | "#elif"
       | "#else"
       | "#endif"
       | "#include"
       | "#define"
       | "#undef"
       | "#line"
       | "#error"
       | "#pragma"
       | "#"

• Output example

 1: #pragma once
 2:
 3: #if defined(NDEBUG)
 4: void debug(const char *msg) {}
 5: #else
 6: #include <stdio.h>
 7: void debug(const char *msg)
 8: {
 9:     puts(msg);
10: }
11: #endif
     PRE,test.c,1,1,#pragma,once
     PRE,test.c,3,1,#if,defined(NDEBUG)
     PRE,test.c,5,1,#else,
     PRE,test.c,6,1,#include,<stdio.h>
     PRE,test.c,11,1,#endif,

5.3.9 Metric value records

     metric_record
       : metric_head ',' file_metric_record_body
       | metric_head ',' func_metric_record_body
     
     metric_head : "MET"
     
     file_metric_record_body
       : file_metric_name ',' file_path ',' metric_value
     
     func_metric_record_body
       : func_metric_name ',' function_identifier ',' location ',' metric_value
     
     file_metric_name
       : "FL_STMT"  <- Number of statements
       | "FL_FUNC"  <- Number of functions
     
     func_metric_name
       : "FN_STMT"  <- Number of statements
       | "FN_UNRC"  <- Number of unreached statements
       | "FN_LINE"  <- Number of lines
       | "FN_PARA"  <- Number of parameters
       | "FN_UNUV"  <- Number of not use /not reuse variables
       | "FN_CSUB"  <- Location number of call function
       | "FN_CALL"  <- Location number of called from function
       | "FN_GOTO"  <- Number of goto statement
       | "FN_RETN"  <- Number of return point in a function
       | "FN_UELS"  <- Number of 'if' statement unless 'else'
       | "FN_NEST"  <- Maximum number of nest of control flow graph
       | "FN_PATH"  <- Presumed  number of static path
       | "FN_CYCM"  <- Cyclomatic complexity
     
     metric_value : integer value


Previous: Metrics File, Up: Output

5.4 message file

     message_file
       : message_version_record
       | message_version_record new_line message_list
     
     message_version_record
       : 'V' ',' version_number ',' exec_timestamp ',' exec_working_directory
     
     message_list
       : error_record
       | warning_record
       | message_list new_line error_record
       | message_list new_line warning_record
     
     error_record
       : error_line new_line context_line_list
     
     error_line
       : 'E' ',' file_path ',' line_no ',' column_no ',' exam_package_name ',' message_id ',' message_category ',' message_severity ',' message_text
     
     warning_record
       : warning_line new_line context_line_list
     
     warning_line
       : 'W' ',' file_path ',' line_no ',' column_no ',' exam_package_name ',' message_id ',' message_category ',' message_severity ',' message_text
     
     context_line_list
       :
       | context_line new_line context_line_list
     
     context_line
       : 'C' ',' file_path ',' line_no ',' column_no ',' exam_package_name ',' message_id ',' message_category ',' message_severity ',' message_text


Next: , Previous: Output, Up: Top

6 Message list


Next: , Up: Messages

6.1 X0001

6.1.1 Message body

An unknown exception `%s' is found.

6.1.2 Content

If you find this message, please send appropriate source file, traits file, message file and log file to AdLint development team. It will lead to improve quality of AdLint.

6.1.3 Sample code

None.

6.1.4 Related message

None.

6.1.5 Since

1.0.0


Next: , Previous: X0001, Up: Messages

6.2 X0002

6.2.1 Message body

An illegal message ID `%s' is found.

6.2.2 Content

There's a possibility that the message catalog which AdLint using in internal is broken. Please reinstall AdLint. If you still cannot solve this issue, please report it to AdLint development team.

6.2.3 Sample code

None.

6.2.4 Related message

None.

6.2.5 Since

1.0.0


Next: , Previous: X0002, Up: Messages

6.3 X0003

6.3.1 Message body

Analysis processing has been stopped due to unrecoverable error. For the details, refer to `%s' and `%s'.

6.3.2 Content

AdLint cannot process the analysis. This error occurred because it cannot find header file or it cannot parse the source file. This error can be solve by reviewing the traits file.

6.3.3 Sample code

None.

6.3.4 Related message

None.

6.3.5 Since

1.0.0


Next: , Previous: X0003, Up: Messages

6.4 X0004

6.4.1 Message body

An illegal message format `%s' is found.

6.4.2 Content

There's a possibility that the message catalog which AdLint using in internal is broken. Please reinstall AdLint. If you still cannot solve this issue, please report it to AdLint development team.

6.4.3 Sample code

None.

6.4.4 Related message

None.

6.4.5 Since

1.0.0


Next: , Previous: X0004, Up: Messages

6.5 E0004

6.5.1 Message body

Corresponding #endif doesn't found.

6.5.2 Content

This error occurred when it cannot find #endif directive correspond to #if, #ifdef, #ifndef directive.

6.5.3 Sample code

#if DEBUG
  int i = 0;
#else
  int i = 1;

6.5.4 Related message

None.

6.5.5 Since

1.0.0


Next: , Previous: E0004, Up: Messages

6.6 E0007

6.6.1 Message body

Syntax error is found in conditional expression token `%s'. Conditional expression evaluate as false.

6.6.2 Content

This message will be output when it find syntax error while evaluating the conditional expression of #if, #elif directive.

6.6.3 Sample code

None.

6.6.4 Related message

None.

6.6.5 Since

1.0.0


Next: , Previous: E0007, Up: Messages

6.7 E0008

6.7.1 Message body

Syntax error is found in token `%s'.

6.7.2 Content

This message will be output when it cannot parse preprocessed source file.

If you use compiler specific extension to build, it can be solve by deleting specific token row in traits file.

6.7.3 Sample code

None.

6.7.4 Related message

None.

6.7.5 Since

1.0.0


Next: , Previous: E0008, Up: Messages

6.8 E0009

6.8.1 Message body

A header file of <%s> doesn't found.

6.8.2 Content

It includes header file in #include <...> directive, but it doesn't exist at the include path specified at traits file.

This error can be solve by reviewing the setting of include path in traits file.

6.8.3 Sample code

None.

6.8.4 Related message

None.

6.8.5 Since

1.0.0


Next: , Previous: E0009, Up: Messages

6.9 E0010

6.9.1 Message body

A header file of \%s\ doesn't found.

6.9.2 Content

It includes header file in #include "..." directive, but it doesn't exist at the include path specified at traits file.

This error can be solve by reviewing the setting of include path in traits file.

6.9.3 Sample code

None.

6.9.4 Related message

None.

6.9.5 Since

1.0.0


Next: , Previous: E0010, Up: Messages

6.10 E0013

6.10.1 Message body

Statement cannot include in syntax.

6.10.2 Content

This message will be output when GCC extension (Statement Exprs) is using.

6.10.3 Sample code

#define maxint(a, b) ({int _a = (a), _b = (b); _a > _b ? _a : _b; })
int i = maxint(1, 2); /* E0013 */

6.10.4 Related message

None.

6.10.5 Since

1.0.0


Next: , Previous: E0013, Up: Messages

6.11 E0014

6.11.1 Message body

'&&' monadic operator to get a label address is GCC original add-on.

6.11.2 Content

This message will be output when GCC extension (Labels as Values) is using.

6.11.3 Sample code

void *label_ptr = &&foo; /* E0014 */
goto *label_ptr; /* E0015 */
foo:;

6.11.4 Related message

6.11.5 Since

1.0.0


Next: , Previous: E0014, Up: Messages

6.12 E0015

6.12.1 Message body

'goto' statement with specified label address is GCC original add-on.

6.12.2 Content

This message will be output when GCC extension (Labels as Values) is using.

6.12.3 Sample code

void *label_ptr = &&foo; /* E0014 */
goto *label_ptr; /* E0015 */
foo:;

6.12.4 Related message

6.12.5 Since

1.0.0


Next: , Previous: E0015, Up: Messages

6.13 E0016

6.13.1 Message body

Unfinished comment block is found.

6.13.2 Content

This message will be output when the block comment begging with /* is not finished by */.

6.13.3 Sample code

None.

6.13.4 Related message

None.

6.13.5 Since

1.0.0


Next: , Previous: E0016, Up: Messages

6.14 E0018

6.14.1 Message body

Extra semicolon appears in the global scope.

6.14.2 Content

This message indicates that a standalone semicolon appears in the global scope.

6.14.3 Sample code

int foo(int i)
{
    return i + 1;
}; /* E0018 */

6.14.4 Related message

None.

6.14.5 Since

3.2.6


Next: , Previous: E0018, Up: Messages

6.15 W0001

6.15.1 Message body

Nesting depth of round bracket `()' exceed 32. This program doesn't meet the strict ISO C90 standards of the term.

6.15.2 Content

Under construction.

6.15.3 Sample code

int a = 10;
int b = 20;
int c = (((((((((((((((((((((((((((((((((a + b))))))))))))))))))))))))))))))))); /* W0001 */

6.15.4 Related message

None.

6.15.5 Since

1.0.0


Next: , Previous: W0001, Up: Messages

6.16 W0002

6.16.1 Message body

Identifier and declaration of formal argument described separately in the definition of function `%s()' is old style.

6.16.2 Content

Under construction.

6.16.3 Sample code

/* function definition in K&R style */
int func(arg) /* W0002 */
char arg;
{
    return 0;
}

6.16.4 Related message

None.

6.16.5 Since

1.0.0


Next: , Previous: W0002, Up: Messages

6.17 W0003

6.17.1 Message body

This switch statement doesn't have default label.

6.17.2 Content

Under construction.

6.17.3 Sample code

int value;
int number;
switch(number) {
case 1:
    value = 1;
    break;
case 2:
    value = 2;
    break;
case 3:
    value = 3;
    break; /* W0003 */
}

6.17.4 Related message

None.

6.17.5 Since

1.0.0


Next: , Previous: W0003, Up: Messages

6.18 W0007

6.18.1 Message body

'break' or 'return' statement doesn't found in the last 'case' or 'default' section.

6.18.2 Content

Under construction.

6.18.3 Sample code

int value;
int number;
switch (number) {
case 1:
    value = 1;
    break;
case 2:
    value = 2;
case 3: /* W0007 */
    value = 3;
    break;
default:
    value = 0;
    break;
}

6.18.4 Related message

None.

6.18.5 Since

1.0.0


Next: , Previous: W0007, Up: Messages

6.19 W0010

6.19.1 Message body

There is a side-effect in this ternary operator (conditional operator).

6.19.2 Content

Under construction.

6.19.3 Sample code

x = (a > 0) ? b++ : b--; /* W0010 */

6.19.4 Related message

None.

6.19.5 Since

1.0.0


Next: , Previous: W0010, Up: Messages

6.20 W0013

6.20.1 Message body

'continue' statement is used in repetition statement.

6.20.2 Content

Under construction.

6.20.3 Sample code

static void foo(void)
{
    int i;
    int j;

    i++;
    for (i = 1, j = 0; i < 20; i++) {
        j += 2;
        if ((j % i) == 3) {
            continue;  /* W0013 */
        }
    }
}

6.20.4 Related message

None.

6.20.5 Since

1.0.0


Next: , Previous: W0013, Up: Messages

6.21 W0016

6.21.1 Message body

The field width of conversion specifier exceeds 509 characters in 'printf' function.

6.21.2 Content

Under construction.

6.21.3 Sample code

printf("%510d\n", a); /* W0016 */

6.21.4 Related message

6.21.5 Since

1.0.0


Next: , Previous: W0016, Up: Messages

6.22 W0017

6.22.1 Message body

The field width of conversion specifier exceeds 509 characters in 'scanf' function.

6.22.2 Content

Under construction.

6.22.3 Sample code

scanf("%510d", &a); /* W0017 */

6.22.4 Related message

6.22.5 Since

1.0.0


Next: , Previous: W0017, Up: Messages

6.23 W0018

6.23.1 Message body

This accuracy width of conversion specifier exceeds 509 characters.

6.23.2 Content

Under construction.

6.23.3 Sample code

printf("%.510f\n", a); /* W0018 */

6.23.4 Related message

None.

6.23.5 Since

1.0.0


Next: , Previous: W0018, Up: Messages

6.24 W0019

6.24.1 Message body

This pointer cast is danger because it delete const qualifier.

6.24.2 Content

Under construction.

6.24.3 Sample code

int *pa;
const int *pb;
pa = (int *) pb; /* W0019 */

6.24.4 Related message

None.

6.24.5 Since

1.0.0


Next: , Previous: W0019, Up: Messages

6.25 W0021

6.25.1 Message body

This pointer cast is danger because it delete volatile qualifier.

6.25.2 Content

Under construction.

6.25.3 Sample code

int *pa;
volatile int *pb;
pa = (int *) pb; /* W0021 */

6.25.4 Related message

None.

6.25.5 Since

1.0.0


Next: , Previous: W0021, Up: Messages

6.26 W0023

6.26.1 Message body

Arithmetic operation is being made by pointer variable.

6.26.2 Content

Under construction.

6.26.3 Sample code

int *p;
int *q;
long r = p + r; /* W0023 */

6.26.4 Related message

6.26.5 Since

1.0.0


Next: , Previous: W0023, Up: Messages

6.27 W0024

6.27.1 Message body

Increment or decrement is being made by pointer variable.

6.27.2 Content

Under construction.

6.27.3 Sample code

int *p;
p++; /* W0024 */

6.27.4 Related message

6.27.5 Since

1.0.0


Next: , Previous: W0024, Up: Messages

6.28 W0025

6.28.1 Message body

`%s' is already included by this file directly.

6.28.2 Content

Under construction.

6.28.3 Sample code

#include "test.h"
#include "test2.h"
#include "test.h" /* W0025 */

6.28.4 Related message

6.28.5 Since

1.0.0


Next: , Previous: W0025, Up: Messages

6.29 W0026

6.29.1 Message body

`%s' is already included by this file indirectly.

6.29.2 Content

Under construction.

6.29.3 Sample code

test.h

#include "test2.h"

test.c

#include "test.h"
#include "test2.h" /* W0026 */

6.29.4 Related message

6.29.5 Since

1.0.0


Next: , Previous: W0026, Up: Messages

6.30 W0027

6.30.1 Message body

Comparison operation is being made by pointer variable.

6.30.2 Content

Under construction.

6.30.3 Sample code

int *p;
int *q;
if (p < q) { /* W0027 */

6.30.4 Related message

None.

6.30.5 Since

1.0.0


Next: , Previous: W0027, Up: Messages

6.31 W0028

6.31.1 Message body

Dereferencing a pointer constant of NULL.

6.31.2 Content

Under construction.

6.31.3 Sample code

int i = *(int *) NULL; /* W0028 */

6.31.4 Related message

None.

6.31.5 Since

1.0.0


Next: , Previous: W0028, Up: Messages

6.32 W0030

6.32.1 Message body

Arithmetic operation is being made by NULL pointer.

6.32.2 Content

Under construction.

6.32.3 Sample code

int *p;
p = (int *) NULL + 1; /* W0030 */

6.32.4 Related message

None.

6.32.5 Since

1.0.0


Next: , Previous: W0030, Up: Messages

6.33 W0031

6.33.1 Message body

A formal argument `%s' is not used in this function.

6.33.2 Content

Under construction.

6.33.3 Sample code

int func(int num) /* W0031 */
{
    return 0;
}

6.33.4 Related message

None.

6.33.5 Since

1.0.0


Next: , Previous: W0031, Up: Messages

6.34 W0033

6.34.1 Message body

A label of `%s:' is not used in this function. It might be removed.

6.34.2 Content

Under construction.

6.34.3 Sample code

void func(void)
{
    int num = 0;
    for (int i =0; i < 10; i++) {
        num++;
    }
ERROR: /* W0033 */
    num = 0;
}

6.34.4 Related message

None.

6.34.5 Since

1.0.0


Next: , Previous: W0033, Up: Messages

6.35 W0035

6.35.1 Message body

Right operand of “&&' or `||' must arithmetic type or pointer type.

6.35.2 Content

Under construction.

6.35.3 Sample code

struct STR {
    int x;
    int y;
};

extern struct STR str;

void func(void)
{
    int x;
    int y;
    x = y && str; /* W0035 */
}

6.35.4 Related message

None.

6.35.5 Since

1.0.0


Next: , Previous: W0035, Up: Messages

6.36 W0036

6.36.1 Message body

The number of qualification operator exceeds 12.This program doesn't meet the strict ISO C90 standards of the term.

6.36.2 Content

Under construction.

6.36.3 Sample code

int num[1][2][3][4][5][6][7][8][9][10][11][12][13]; /* W0036 */

6.36.4 Related message

None.

6.36.5 Since

1.0.0


Next: , Previous: W0036, Up: Messages

6.37 W0037

6.37.1 Message body

Nest of structure or union exceeds 15. This program doesn't meet the strict ISO C90 standards of the term.

6.37.2 Content

Under construction.

6.37.3 Sample code

struct st1 {
  struct st2 {
    struct st3 {
      struct st4 {
        struct st5 {
          struct st6 {
            struct st7 {
              struct st8 {
                struct st9 {
                  struct st10 {
                    struct st11 {
                      struct st12 {
                        struct st13 {
                          struct st14 {
                            struct st15 {
                              struct st16 { /* W0037 */
                                int i;
                              } st16;
                            } st15;
                          } st14;
                        } st13;
                      } st12;
                    } st11;
                  } st10;
                } st9;
              } st8;
            } st7;
          } st6;
        } st5;
      } st5;
    } st3;
  } st2;
};

6.37.4 Related message

None.

6.37.5 Since

1.0.0


Next: , Previous: W0037, Up: Messages

6.38 W0038

6.38.1 Message body

The size of object `%s' exceeds 32767 bytes. This program doesn't meet the strict ISO C90 standards of the term.

6.38.2 Content

Under construction.

6.38.3 Sample code

int num[100][330]; /* W0038 */

6.38.4 Related message

None.

6.38.5 Since

1.0.0


Next: , Previous: W0038, Up: Messages

6.39 W0039

6.39.1 Message body

The number of local identifier in the block exceeds 127. This program doesn't meet the strict ISO C90 standards of the term.

6.39.2 Content

Under construction.

6.39.3 Sample code

void func(void)
{
    int num1,  num2,  num3,  num4,  num5,  num6,  num7,  num8,  num9,  num10;
    int num11, num12, num13, num14, num15, num16, num17, num18, num19, num20;

    ...snip...

    int num111, num112, num113, num114, num115, num116, num117, num118, num119, num120;
    int num121, num122, num123, num124, num125, num126, num127, num128; /* W0039 */
}

6.39.4 Related message

None.

6.39.5 Since

1.0.0


Next: , Previous: W0039, Up: Messages

6.40 W0040

6.40.1 Message body

A bit field is declared without 'signed' or 'unsigned'.

6.40.2 Content

Under construction.

6.40.3 Sample code

struct STR { /* W0040 */
    int a:5;
};

6.40.4 Related message

None.

6.40.5 Since

1.0.0


Next: , Previous: W0040, Up: Messages

6.41 W0041

6.41.1 Message body

The number of member of structure or union exceeds 127.This program doesn't meet the strict ISO C90 standards of the term.

6.41.2 Content

Under construction.

6.41.3 Sample code

struct STR {
    int num1;
    int num2;
    int num3;
    int num4;
    int num5;

    ...snip...

    int num125;
    int num126;
    int num127;
    int num128; /* W0041 */
};

6.41.4 Related message

None.

6.41.5 Since

1.0.0


Next: , Previous: W0041, Up: Messages

6.42 W0042

6.42.1 Message body

The number of enumeration literal exceeds 127. This program doesn't meet the strict ISO C90 standards of the term.

6.42.2 Content

Under construction.

6.42.3 Sample code

enum ENM {
    e1,  e2,  e3,  e4,  e5,  e6,  e7,  e8,  e9,  e10,
    e11, e12, e13, e14, e15, e16, e17, e18, e19, e20,

    ...snip...

    e111, e112, e113, e114, e115, e116, e117, e118, e119, e120,
    e121, e122, e123, e124, e125, e126, e127, e128 /* W0042 */
};

6.42.4 Related message

None.

6.42.5 Since

1.0.0


Next: , Previous: W0042, Up: Messages

6.43 W0043

6.43.1 Message body

The initial value of the array is short of declared array's size. The residual array will be initialized by zero.

6.43.2 Content

Under construction.

6.43.3 Sample code

int array[5] = { 1, 2, 3 }; /* W0043 */

6.43.4 Related message

None.

6.43.5 Since

1.0.0


Next: , Previous: W0043, Up: Messages

6.44 W0049

6.44.1 Message body

Nest of control structure exceeds 15. This program doesn't meet the strict ISO C90 standards of the term.

6.44.2 Content

Under construction.

6.44.3 Sample code

if(x > 0) {
  if(x > 0) {
    if(x > 0) {
      if(x > 0) {
        if(x > 0) {
          if(x > 0) {
            if(x > 0) {
              if(x > 0) {
                if(x > 0) {
                  if(x > 0) {
                    if(x > 0) {
                      if(x > 0) {
                        if(x > 0) {
                          if(x > 0) {
                            if (x > 0) {
                              if(x > 0) { /* W0049 */
                                ;
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

6.44.4 Related message

None.

6.44.5 Since

1.0.0


Next: , Previous: W0049, Up: Messages

6.45 W0050

6.45.1 Message body

The number of 'case' label exceeds 257. This program doesn't meet the strict ISO C90 standards of the term.

6.45.2 Content

Under construction.

6.45.3 Sample code

switch (num) {
case 1:
    break;
case 2:
    break;
case 3:
    break;

  ...snip...

case 257:
    break;
case 258: /* W0050 */
    break;
}

6.45.4 Related message

None.

6.45.5 Since

1.0.0


Next: , Previous: W0050, Up: Messages

6.46 W0051

6.46.1 Message body

An external identifier `%s' cannot distinguish other identifier name from the range of number of characters defined in linker property.

6.46.2 Content

Under construction.

6.46.3 Sample code

extern int very_long_long_long_ ...snip... _long_external_symbol; /* W0051 */

6.46.4 Related message

6.46.5 Since

1.0.0


Next: , Previous: W0051, Up: Messages

6.47 W0052

6.47.1 Message body

An identifier `%s' cannot distinguish other identifier name from the range of number of characters defined in compile property.

6.47.2 Content

Under construction.

6.47.3 Sample code

void func(void)
{
    int very_long_long_long_long_long_ ...snip... _long_symbol; /* W0052 */
}

6.47.4 Related message

6.47.5 Since

1.0.0


Next: , Previous: W0052, Up: Messages

6.48 W0053

6.48.1 Message body

Nest of `#include \%s\' exceeds 8.This program doesn't meet the strict ISO C90 standards of the term.

6.48.2 Content

Under construction.

6.48.3 Sample code

test.c

#include "test1.h"

test1.h

#include "test2.h"

test2.h

#include "test3.h"

test3.h

#include "test4.h"

test4.h

#include "test5.h"

test5.h

#include "test6.h"

test6.h

#include "test7.h"

test7.h

#include "test8.h"

test8.h

#include "test9.h"

test9.h

#include "test10.h" /* W0053 */

6.48.4 Related message

None.

6.48.5 Since

1.0.0


Next: , Previous: W0053, Up: Messages

6.49 W0054

6.49.1 Message body

The maximum number of `#if...' nest exceeds 8. This program doesn't meet the strict ISO C90 standards of the term.

6.49.2 Content

Under construction.

6.49.3 Sample code

#if N > 1
#if N > 2
#if N > 3
#if N > 4
#if N > 5
#if N > 6
#if N > 7
#if N > 8 /* W0054 */
#endif
#endif
#endif
#endif
#endif
#endif
#endif
#endif

6.49.4 Related message

None.

6.49.5 Since

1.0.0


Next: , Previous: W0054, Up: Messages

6.50 W0055

6.50.1 Message body

The number of macro definition exceeds 1024. This program doesn't meet the strict ISO C90 standards of the term.

6.50.2 Content

Under construction.

6.50.3 Sample code

#define MACRO_1
#define MACRO_2
#define MACRO_3

...snip...

#define MACRO_1023
#define MACRO_1024
#define MACRO_1025 /* W0055 */

6.50.4 Related message

None.

6.50.5 Since

1.0.0


Next: , Previous: W0055, Up: Messages

6.51 W0056

6.51.1 Message body

The number of formal argument of function-like macro exceeds 31.This program doesn't meet the strict ISO C90 standards of the term.

6.51.2 Content

Under construction.

6.51.3 Sample code

#define MACRO(a1, a2, a3, ...snip... a30, a31, a32) /* W0056 */

6.51.4 Related message

None.

6.51.5 Since

1.0.0


Next: , Previous: W0056, Up: Messages

6.52 W0057

6.52.1 Message body

The number of actual argument of function-like macro exceeds 31.This program doesn't meet the strict ISO C90 standards of the term.

6.52.2 Content

Under construction.

6.52.3 Sample code

int i = MACRO(1, 2, 3 ...snip... 30, 31, 32); /* W0057 */

6.52.4 Related message

None.

6.52.5 Since

1.0.0


Next: , Previous: W0057, Up: Messages

6.53 W0058

6.53.1 Message body

The number of characters of string literal exceeds 509.This program doesn't meet the strict ISO C90 standards of the term.

6.53.2 Content

Under construction.

6.53.3 Sample code

char buf[] = "very long long long ...snip... long string literal"; /* W0058 */

6.53.4 Related message

None.

6.53.5 Since

1.0.0


Next: , Previous: W0058, Up: Messages

6.54 W0059

6.54.1 Message body

Ctrl-M(^M) control character is found at the end of line.

6.54.2 Content

Under construction.

6.54.3 Sample code

None.

6.54.4 Related message

6.54.5 Since

1.0.0


Next: , Previous: W0059, Up: Messages

6.55 W0060

6.55.1 Message body

Ctrl-Z(^Z) control character is found in this file.

6.55.2 Content

Under construction.

6.55.3 Sample code

None.

6.55.4 Related message

6.55.5 Since

1.0.0


Next: , Previous: W0060, Up: Messages

6.56 W0061

6.56.1 Message body

`%s' is not actual reserved keyword. It will be considered as language extension and ignored.

6.56.2 Content

Under construction.

6.56.3 Sample code

extern int func(void) __attribute__ ((__const__)); /* W0061 */

6.56.4 Related message

6.56.5 Since

1.0.0


Next: , Previous: W0061, Up: Messages

6.57 W0062

6.57.1 Message body

`__typeof__' is not supported ISO C standards. It will be considered as language extension.

6.57.2 Content

Under construction.

6.57.3 Sample code

#define DEF_FUNPTR(func) __typeof__(func) *ptr_##func = 0
DEF_FUNPTR(main); /* W0062 */

6.57.4 Related message

6.57.5 Since

1.0.0


Next: , Previous: W0062, Up: Messages

6.58 W0063

6.58.1 Message body

`__alignof__'is not supported ISO C standards. It will be considered as language extension..

6.58.2 Content

Under construction.

6.58.3 Sample code

int a = __alignof__(struct sockaddr *) /* W0063 */

6.58.4 Related message

6.58.5 Since

1.0.0


Next: , Previous: W0063, Up: Messages

6.59 W0064

6.59.1 Message body

A binary integer literal is used. This is the language extension.

6.59.2 Content

Under construction.

6.59.3 Sample code

unsigned char c = 0b00000001; /* W0064 */

6.59.4 Related message

None.

6.59.5 Since

1.0.0


Next: , Previous: W0064, Up: Messages

6.60 W0065

6.60.1 Message body

Must not cast left operand of assignment operator.

6.60.2 Content

Under construction.

6.60.3 Sample code

void func(int num)
{
    (unsigned short) num = 100U; /* W0065 */
}

6.60.4 Related message

None.

6.60.5 Since

1.0.0


Next: , Previous: W0065, Up: Messages

6.61 W0066

6.61.1 Message body

`main()' function must `int (void)' or `int (int, char *[])'.

6.61.2 Content

Under construction.

6.61.3 Sample code

void main(void) {} /* W0066 */

6.61.4 Related message

None.

6.61.5 Since

1.0.0


Next: , Previous: W0066, Up: Messages

6.62 W0067

6.62.1 Message body

Directly access to the member of nested structure. This is the language extension.

6.62.2 Content

Under construction.

6.62.3 Sample code

struct BBB {
    int mb;
    struct AAA {
        int ma;
    };
} bbb;

bbb.ma = 1; /* W0067 */

6.62.4 Related message

6.62.5 Since

1.0.0


Next: , Previous: W0067, Up: Messages

6.63 W0068

6.63.1 Message body

`.' is used to get access to bit. This is the language extension.

6.63.2 Content

Under construction.

6.63.3 Sample code

unsigned short a;

a.2 = 0; /* W0068 */

6.63.4 Related message

6.63.5 Since

1.0.0


Next: , Previous: W0068, Up: Messages

6.64 W0069

6.64.1 Message body

`/*' is found in the beginning with `/*' comments. Nested comment doesn't allowed in ISO C standards.

6.64.2 Content

Under construction.

6.64.3 Sample code

/* /* W0069 */ */

6.64.4 Related message

None.

6.64.5 Since

1.0.0


Next: , Previous: W0069, Up: Messages

6.65 W0070

6.65.1 Message body

Included <%s> is not referenced in the translation unit. It can be removed.

6.65.2 Content

Under construction.

6.65.3 Sample code

None.

6.65.4 Related message

6.65.5 Since

1.0.0


Next: , Previous: W0070, Up: Messages

6.66 W0071

6.66.1 Message body

Included \%s\ is not referenced in the translation unit. It can be removed.

6.66.2 Content

Under construction.

6.66.3 Sample code

None.

6.66.4 Related message

6.66.5 Since

1.0.0


Next: , Previous: W0071, Up: Messages

6.67 W0072

6.67.1 Message body

A character except for basic source character is used in header file name.

6.67.2 Content

Under construction.

6.67.3 Sample code

#include <test$.h> /* W0072 */

6.67.4 Related message

None.

6.67.5 Since

1.0.0


Next: , Previous: W0072, Up: Messages

6.68 W0073

6.68.1 Message body

No include guard in this include file.

6.68.2 Content

Under construction.

6.68.3 Sample code

None.

6.68.4 Related message

None.

6.68.5 Since

1.0.0


Next: , Previous: W0073, Up: Messages

6.69 W0076

6.69.1 Message body

Hexadecimal constant without `U' or `u' suffix.

6.69.2 Content

Under construction.

6.69.3 Sample code

unsigned int num = 0x1234; /* W0076 */

6.69.4 Related message

None.

6.69.5 Since

1.0.0


Next: , Previous: W0076, Up: Messages

6.70 W0077

6.70.1 Message body

Lower case `l' is added to integer or floating-point number.

6.70.2 Content

Under construction.

6.70.3 Sample code

long a = 0x1000l; /* W0077 */
long b = 0x1000L; /* OK */

6.70.4 Related message

None.

6.70.5 Since

1.0.0


Next: , Previous: W0077, Up: Messages

6.71 W0078

6.71.1 Message body

A function is declared without list of formal argument.

6.71.2 Content

Under construction.

6.71.3 Sample code

int sample() /* W0078 */
{
    return 0;
}

6.71.4 Related message

None.

6.71.5 Since

1.0.0


Next: , Previous: W0078, Up: Messages

6.72 W0079

6.72.1 Message body

This array cannot keep final character `\0' which initial value of string literal.

6.72.2 Content

Under construction.

6.72.3 Sample code

char text[3] = "ABC"; /* W0079 */

6.72.4 Related message

None.

6.72.5 Since

1.0.0


Next: , Previous: W0079, Up: Messages

6.73 W0080

6.73.1 Message body

A global object which const qualified is defined without explicitly initialized.

6.73.2 Content

Under construction.

6.73.3 Sample code

const int num; /* W0080 */

6.73.4 Related message

None.

6.73.5 Since

1.0.0


Next: , Previous: W0080, Up: Messages

6.74 W0081

6.74.1 Message body

A monadic operator `-' becomes unsigned type if it use 'unsigned int' type, 'unsigned long' type or 'unsigned long' type operand.

6.74.2 Content

Under construction.

6.74.3 Sample code

unsigned long num = 0;
long val = -num; /* W0081 */

6.74.4 Related message

None.

6.74.5 Since

1.0.0


Next: , Previous: W0081, Up: Messages

6.75 W0082

6.75.1 Message body

Unary operator `-' is applied to an operand whose underlying type `%s' is unsigned.

6.75.2 Content

Under construction.

6.75.3 Sample code

unsigned short num = 20;
int val = -num; /* W0082 */

6.75.4 Related message

None.

6.75.5 Since

1.0.0


Next: , Previous: W0082, Up: Messages

6.76 W0084

6.76.1 Message body

Left operand of this comma operator `,' doesn't described the statement which has side-effects.

6.76.2 Content

Under construction.

6.76.3 Sample code

int a = 0;
int b = 1;

a, b++; /* W0084 */

6.76.4 Related message

6.76.5 Since

1.0.0


Next: , Previous: W0084, Up: Messages

6.77 W0085

6.77.1 Message body

This statement doesn't have side-effects. It is highly possible that it having error.

6.77.2 Content

Under construction.

6.77.3 Sample code

a; /* W0085 */

6.77.4 Related message

6.77.5 Since

1.0.0


Next: , Previous: W0085, Up: Messages

6.78 W0086

6.78.1 Message body

Second or third operand is verbose statement which doesn't have side-effects in ternary operator (conditional operator).

6.78.2 Content

Under construction.

6.78.3 Sample code

int a;
int b;

(a < 0) ? b : b++; /* W0086 */

6.78.4 Related message

6.78.5 Since

1.0.0


Next: , Previous: W0086, Up: Messages

6.79 W0087

6.79.1 Message body

The right side statement of comma operator is verbose statement which doesn't have side-effects.

6.79.2 Content

Under construction.

6.79.3 Sample code

int a = 0;
int b = 1;

a++, b; /* W0087 */

6.79.4 Related message

6.79.5 Since

1.0.0


Next: , Previous: W0087, Up: Messages

6.80 W0088

6.80.1 Message body

The right side statement of logical operator is verbose statement which doesn't have side-effects.

6.80.2 Content

Under construction.

6.80.3 Sample code

(a < 0) && func(a) && func(b) && c; /* W0088 */

6.80.4 Related message

6.80.5 Since

1.0.0


Next: , Previous: W0088, Up: Messages

6.81 W0093

6.81.1 Message body

This expression may cause division-by-zero.

6.81.2 Content

Under construction.

6.81.3 Sample code

int func(int a, int b)
{
    if (b > 0) {
        return a / b; /* OK */
    }
    return a / b; /* W0093 */
}

6.81.4 Related message

6.81.5 Since

1.0.0


Next: , Previous: W0093, Up: Messages

6.82 W0096

6.82.1 Message body

It divided by a constant expression which definitely zero.

6.82.2 Content

Under construction.

6.82.3 Sample code

#define A (0)

int b = 10 / A; /* W0096 */

6.82.4 Related message

6.82.5 Since

1.0.0


Next: , Previous: W0096, Up: Messages

6.83 W0097

6.83.1 Message body

This expression may cause division-by-zero.

6.83.2 Content

Under construction.

6.83.3 Sample code

int func(int a, int b)
{
    if (a < 0) {
        ...snip...
    }
    else {
        ...snip...
        if (a < 1) {
            return b / a; /* W0097 */
        }
    }
}

6.83.4 Related message

6.83.5 Since

1.0.0


Next: , Previous: W0097, Up: Messages

6.84 W0100

6.84.1 Message body

The variable `%s' has not been reassigned since the initial value is assigned. It may be able to be defined as `const' with an initial value.

6.84.2 Content

Under construction.

6.84.3 Sample code

int func(int a)
{
    int b = a; /* W0100 */
    return b;
}

6.84.4 Related message

None.

6.84.5 Since

1.0.0


Next: , Previous: W0100, Up: Messages

6.85 W0101

6.85.1 Message body

An address of auto variable is substituted for a pointer which has a longer life. This program is danger.

6.85.2 Content

Under construction.

6.85.3 Sample code

extern long *ptr;

void func()
{
    long value = 0;
    ptr = &value; /* W0101 */
}

6.85.4 Related message

None.

6.85.5 Since

1.0.0


Next: , Previous: W0101, Up: Messages

6.86 W0102

6.86.1 Message body

An address of auto variable is returned via formal argument to functions. This program is danger.

6.86.2 Content

Under construction.

6.86.3 Sample code

void func(int **ptr)
{
    int num;
    *ptr = &num; /* W0102 */
}

6.86.4 Related message

6.86.5 Since

1.0.0


Next: , Previous: W0102, Up: Messages

6.87 W0103

6.87.1 Message body

An address of auto variable is returned as return value from a function. This program is danger.

6.87.2 Content

Under construction.

6.87.3 Sample code

char *foo1(void)
{
    char a[3];
    return a; /* W0103 */
}

6.87.4 Related message

6.87.5 Since

1.0.0


Next: , Previous: W0103, Up: Messages

6.88 W0104

6.88.1 Message body

The value of formal argument `%s' is not change. It can be declarable with 'const'.

6.88.2 Content

Under construction.

6.88.3 Sample code

void func(int val) /* W0104 */
{
    const int num = val + 1;
}

6.88.4 Related message

6.88.5 Since

1.0.0


Next: , Previous: W0104, Up: Messages

6.89 W0105

6.89.1 Message body

The object which points the formal argument `%s' is not change. It can be declaring as pointer type which points const object.

6.89.2 Content

Under construction.

6.89.3 Sample code

void func(int *val) /* W0105 */
{
    const int num = *val;
}

6.89.4 Related message

6.89.5 Since

1.0.0


Next: , Previous: W0105, Up: Messages

6.90 W0107

6.90.1 Message body

An address of auto variable is substituted for local pointer with 'static' option. This program is danger.

6.90.2 Content

Under construction.

6.90.3 Sample code

void foo()
{
    static int *p;
    int b = 100;

    p = &b; /* W0107 */
}

6.90.4 Related message

None.

6.90.5 Since

1.0.0


Next: , Previous: W0107, Up: Messages

6.91 W0108

6.91.1 Message body

An assignment-expression appears in the logical expression.

6.91.2 Content

Under construction.

6.91.3 Sample code

int a;
int b;

if (a = b) { /* W0108 */
}

6.91.4 Related message

None.

6.91.5 Since

1.0.0


Next: , Previous: W0108, Up: Messages

6.92 W0109

6.92.1 Message body

The definition of this function doesn't found. It consider it was omitted, and insert `extern int %s()'.

6.92.2 Content

Under construction.

6.92.3 Sample code

void func()
{
    foo(); /* W0109 */
}

6.92.4 Related message

None.

6.92.5 Since

1.0.0


Next: , Previous: W0109, Up: Messages

6.93 W0110

6.93.1 Message body

A variable number with floating-point type is used by loop counter in for statement.

6.93.2 Content

Under construction.

6.93.3 Sample code

double d;

for (d = 0.0; d != 1.0; d += 0.1) { /* W0110 */
}

6.93.4 Related message

None.

6.93.5 Since

1.0.0


Next: , Previous: W0110, Up: Messages

6.94 W0112

6.94.1 Message body

The statement of floating-point compares by equivalent operator.

6.94.2 Content

Under construction.

6.94.3 Sample code

double a = 0.1;
a = (a + 0.1) * 5.0;
if (a == 1.0) { /* W0112 */
}

6.94.4 Related message

None.

6.94.5 Since

1.0.0


Next: , Previous: W0112, Up: Messages

6.95 W0114

6.95.1 Message body

This control expression is not explicit logical operation.

6.95.2 Content

Under construction.

6.95.3 Sample code

int a;

if (a != 0) { /* OK */
}

if (a) { /* W0114 */
}

6.95.4 Related message

None.

6.95.5 Since

1.0.0


Next: , Previous: W0114, Up: Messages

6.96 W0115

6.96.1 Message body

Unsigned left shift operator `<<' drop the high-order bit.

6.96.2 Content

Under construction.

6.96.3 Sample code

unsigned int func(unsigned int a)
{
    if (a > 0x40000000U) {
        return a << 2; /* W0115 */
    }
}

6.96.4 Related message

6.96.5 Since

1.0.0


Next: , Previous: W0115, Up: Messages

6.97 W0116

6.97.1 Message body

Unsigned left shift operator `<<' can be drop high-order bit.

6.97.2 Content

Under construction.

6.97.3 Sample code

unsigned int func(unsigned int a)
{
    if (a > 0x40000000U) {
        return a << 1; /* W0116 */
    }
}

6.97.4 Related message

6.97.5 Since

1.0.0


Next: , Previous: W0116, Up: Messages

6.98 W0117

6.98.1 Message body

`%s' has external-linkage without any prototype declarations.

6.98.2 Content

Under construction.

6.98.3 Sample code

void func(void) /* W0117 */
{
    ...snip...
}

6.98.4 Related message

6.98.5 Since

1.0.0


Next: , Previous: W0117, Up: Messages

6.99 W0118

6.99.1 Message body

`%s' has external-linkage, but no prototype declaration is in header files.

6.99.2 Content

Under construction.

6.99.3 Sample code

test.c

extern int val; /* W0118 */

6.99.4 Related message

6.99.5 Since

1.0.0


Next: , Previous: W0118, Up: Messages

6.100 W0119

6.100.1 Message body

An implicit type conversion from char to signed char.

6.100.2 Content

Under construction.

6.100.3 Sample code

extern void foo(signed char a);

void bar(char a)
{
    signed char b = a; /* W0119 */
    foo(a); /* W0119 */
}

6.100.4 Related message

6.100.5 Since

1.0.0


Next: , Previous: W0119, Up: Messages

6.101 W0120

6.101.1 Message body

An implicit type conversion from char to unsigned char.

6.101.2 Content

Under construction.

6.101.3 Sample code

extern void foo(unsigned char a);

void bar(char a)
{
    unsigned char b = a; /* W0120 */
    foo(a); /* W0120 */
}

6.101.4 Related message

6.101.5 Since

1.0.0


Next: , Previous: W0120, Up: Messages

6.102 W0121

6.102.1 Message body

An implicit type conversion from char to signed short.

6.102.2 Content

Under construction.

6.102.3 Sample code

extern void foo(short a);

void bar(char a)
{
    short b = a; /* W0121 */
    foo(a); /* W0121 */
}

6.102.4 Related message

6.102.5 Since

1.0.0


Next: , Previous: W0121, Up: Messages

6.103 W0122

6.103.1 Message body

An implicit type conversion from char to unsigned short.

6.103.2 Content

Under construction.

6.103.3 Sample code

extern void foo(unsigned short a);

void bar(char a)
{
    unsigned short b = a; /* W0122 */
    foo(a); /* W0122 */
}

6.103.4 Related message

6.103.5 Since

1.0.0


Next: , Previous: W0122, Up: Messages

6.104 W0123

6.104.1 Message body

An implicit type conversion from char to signed int.

6.104.2 Content

Under construction.

6.104.3 Sample code

extern void foo(int a);

void bar(char a)
{
    int b = a; /* W0123 */
    foo(a); /* W0123 */
}

6.104.4 Related message

6.104.5 Since

1.0.0


Next: , Previous: W0123, Up: Messages

6.105 W0124

6.105.1 Message body

An implicit type conversion from char to unsigned int.

6.105.2 Content

Under construction.

6.105.3 Sample code

extern void foo(unsigned int a);

void bar(char a)
{
    unsigned int b = a; /* W0124 */
    foo(a); /* W0124 */
}

6.105.4 Related message

6.105.5 Since

1.0.0


Next: , Previous: W0124, Up: Messages

6.106 W0125

6.106.1 Message body

An implicit type conversion from char to signed long.

6.106.2 Content

Under construction.

6.106.3 Sample code

extern void foo(long a);

void bar(char a)
{
    long b = a; /* W0125 */
    foo(a); /* W0125 */
}

6.106.4 Related message

6.106.5 Since

1.0.0


Next: , Previous: W0125, Up: Messages

6.107 W0126

6.107.1 Message body

An implicit type conversion from char to unsigned long.

6.107.2 Content

Under construction.

6.107.3 Sample code

extern void foo(unsigned long a);

void bar(char a)
{
    unsigned long b = a; /* W0126 */
    foo(a); /* W0126 */
}

6.107.4 Related message

6.107.5 Since

1.0.0


Next: , Previous: W0126, Up: Messages

6.108 W0127

6.108.1 Message body

An implicit type conversion from char to float.

6.108.2 Content

Under construction.

6.108.3 Sample code

extern void foo(float a);

void bar(char a)
{
    float b = a; /* W0127 */
    foo(a); /* W0127 */
}

6.108.4 Related message

6.108.5 Since

1.0.0


Next: , Previous: W0127, Up: Messages

6.109 W0128

6.109.1 Message body

An implicit type conversion from char to double.

6.109.2 Content

Under construction.

6.109.3 Sample code

extern void foo(double a);

void bar(char a)
{
    double b = a; /* W0128 */
    foo(a); /* W0128 */
}

6.109.4 Related message

6.109.5 Since

1.0.0


Next: , Previous: W0128, Up: Messages

6.110 W0129

6.110.1 Message body

An implicit type conversion from char to long double.

6.110.2 Content

Under construction.

6.110.3 Sample code

extern void foo(long double a);

void bar(char a)
{
    long double b = a; /* W0129 */
    foo(a); /* W0129 */
}

6.110.4 Related message

Under construction.

6.110.5 Since

1.0.0


Next: , Previous: W0129, Up: Messages

6.111 W0130

6.111.1 Message body

An implicit type conversion from char to signed long long.

6.111.2 Content

Under construction.

6.111.3 Sample code

extern void foo(long long a);

void bar(char a)
{
    long long b = a; /* W0130 */
    foo(a); /* W0130 */
}

6.111.4 Related message

6.111.5 Since

1.0.0


Next: , Previous: W0130, Up: Messages

6.112 W0131

6.112.1 Message body

An implicit type conversion from char to unsigned long long.

6.112.2 Content

Under construction.

6.112.3 Sample code

extern void foo(unsigned long long a);

void bar(char a)
{
    unsigned long long b = a; /* W0131 */
    foo(a); /* W0131 */
}

6.112.4 Related message

6.112.5 Since

1.0.0


Next: , Previous: W0131, Up: Messages

6.113 W0132

6.113.1 Message body

An implicit type conversion from unsigned char to char.

6.113.2 Content

Under construction.

6.113.3 Sample code

extern void foo(char a);

void bar(unsigned char a)
{
    char b = a; /* W0132 */
    foo(a); /* W0132 */
}

6.113.4 Related message

6.113.5 Since

1.0.0


Next: , Previous: W0132, Up: Messages

6.114 W0133

6.114.1 Message body

An implicit type conversion from signed char to char.

6.114.2 Content

Under construction.

6.114.3 Sample code

extern void foo(char a);

void bar(signed char a)
{
    char b = a; /* W0133 */
    foo(a); /* W0133 */
}

6.114.4 Related message

6.114.5 Since

1.0.0


Next: , Previous: W0133, Up: Messages

6.115 W0134

6.115.1 Message body

An implicit type conversion from signed short to char.

6.115.2 Content

Under construction.

6.115.3 Sample code

extern void foo(char a);

void bar(short a)
{
    char b = a; /* W0134 */
    foo(a); /* W0134 */
}

6.115.4 Related message

6.115.5 Since

1.0.0


Next: , Previous: W0134, Up: Messages

6.116 W0135

6.116.1 Message body

An implicit type conversion from unsigned short to char.

6.116.2 Content

Under construction.

6.116.3 Sample code

extern void foo(char a);

void bar(unsigned short a)
{
    char b = a; /* W0135 */
    foo(a); /* W0135 */
}

6.116.4 Related message

6.116.5 Since

1.0.0


Next: , Previous: W0135, Up: Messages

6.117 W0136

6.117.1 Message body

An implicit type conversion from signed int to char.

6.117.2 Content

Under construction.

6.117.3 Sample code

extern void foo(char a);

void bar(int a)
{
    char b = a; /* W0136 */
    foo(a); /* W0136 */
}

6.117.4 Related message

6.117.5 Since

1.0.0


Next: , Previous: W0136, Up: Messages

6.118 W0137

6.118.1 Message body

An implicit type conversion from unsigned int to char.

6.118.2 Content

Under construction.

6.118.3 Sample code

extern void foo(char a);

void bar(unsigned int a)
{
    char b = a; /* W0137 */
    foo(a); /* W0137 */
}

6.118.4 Related message

6.118.5 Since

1.0.0


Next: , Previous: W0137, Up: Messages

6.119 W0138

6.119.1 Message body

An implicit type conversion from signed long to char.

6.119.2 Content

Under construction.

6.119.3 Sample code

extern void foo(char a);

void bar(long a)
{
    char b = a; /* W0138 */
    foo(a); /* W0138 */
}

6.119.4 Related message

6.119.5 Since

1.0.0


Next: , Previous: W0138, Up: Messages

6.120 W0139

6.120.1 Message body

An implicit type conversion from unsigned long to char.

6.120.2 Content

Under construction.

6.120.3 Sample code

extern void foo(char a);

void bar(unsigned long a)
{
    char b = a; /* W0139 */
    foo(a); /* W0139 */
}

6.120.4 Related message

6.120.5 Since

1.0.0


Next: , Previous: W0139, Up: Messages

6.121 W0140

6.121.1 Message body

An implicit type conversion from signed long long to char.

6.121.2 Content

Under construction.

6.121.3 Sample code

extern void foo(char a);

void bar(long long a)
{
    char b = a; /* W0140 */
    foo(a); /* W0140 */
}

6.121.4 Related message

6.121.5 Since

1.0.0


Next: , Previous: W0140, Up: Messages

6.122 W0141

6.122.1 Message body

An implicit type conversion from unsigned long long to char.

6.122.2 Content

Under construction.

6.122.3 Sample code

extern void foo(char a);

void bar(unsigned long long a)
{
    char b = a; /* W0141 */
    foo(a); /* W0141 */
}

6.122.4 Related message

6.122.5 Since

1.0.0


Next: , Previous: W0141, Up: Messages

6.123 W0142

6.123.1 Message body

An implicit type conversion from unsigned char to signed char.

6.123.2 Content

Under construction.

6.123.3 Sample code

extern void foo(signed char a);

void bar(unsigned char a)
{
    signed char b = a; /* W0142 */
    foo(a); /* W0142 */
}

6.123.4 Related message

6.123.5 Since

1.0.0


Next: , Previous: W0142, Up: Messages

6.124 W0143

6.124.1 Message body

An implicit type conversion from unsigned short to signed char.

6.124.2 Content

Under construction.

6.124.3 Sample code

extern void foo(signed char a);

void bar(unsigned short a)
{
    signed char b = a; /* W0143 */
    foo(a); /* W0143 */
}

6.124.4 Related message

6.124.5 Since

1.0.0


Next: , Previous: W0143, Up: Messages

6.125 W0144

6.125.1 Message body

An implicit type conversion from unsigned short to signed short.

6.125.2 Content

Under construction.

6.125.3 Sample code

extern void foo(short a);

void bar(unsigned short a)
{
    short b = a; /* W0144 */
    foo(a); /* W0144 */
}

6.125.4 Related message

6.125.5 Since

1.0.0


Next: , Previous: W0144, Up: Messages

6.126 W0145

6.126.1 Message body

An implicit type conversion from unsigned int to signed char.

6.126.2 Content

Under construction.

6.126.3 Sample code

extern void foo(signed char a);

void bar(unsigned int a)
{
    signed char b = a; /* W0145 */
    foo(a); /* W0145 */
}

6.126.4 Related message

6.126.5 Since

1.0.0


Next: , Previous: W0145, Up: Messages

6.127 W0146

6.127.1 Message body

An implicit type conversion from unsigned int to signed short.

6.127.2 Content

Under construction.

6.127.3 Sample code

extern void foo(short a);

void bar(unsigned int a)
{
    short b = a; /* W0146 */
    foo(a); /* W0146 */
}

6.127.4 Related message

6.127.5 Since

1.0.0


Next: , Previous: W0146, Up: Messages

6.128 W0147

6.128.1 Message body

An implicit type conversion from unsigned int to signed int.

6.128.2 Content

Under construction.

6.128.3 Sample code

extern void foo(int a);

void bar(unsigned int a)
{
    int b = a; /* W0147 */
    foo(a); /* W0147 */
}

6.128.4 Related message

6.128.5 Since

1.0.0


Next: , Previous: W0147, Up: Messages

6.129 W0148

6.129.1 Message body

An implicit type conversion from unsigned long to signed char.

6.129.2 Content

Under construction.

6.129.3 Sample code

extern void foo(signed char a);

void bar(unsigned long a)
{
    signed char b = a; /* W0148 */
    foo(a); /* W0148 */
}

6.129.4 Related message

6.129.5 Since

1.0.0


Next: , Previous: W0148, Up: Messages

6.130 W0149

6.130.1 Message body

An implicit type conversion from unsigned long to signed short.

6.130.2 Content

Under construction.

6.130.3 Sample code

extern void foo(short a);

void bar(unsigned long a)
{
    short b = a; /* W0149 */
    foo(a); /* W0149 */
}

6.130.4 Related message

6.130.5 Since

1.0.0


Next: , Previous: W0149, Up: Messages

6.131 W0150

6.131.1 Message body

An implicit type conversion from unsigned long to signed int.

6.131.2 Content

Under construction.

6.131.3 Sample code

extern void foo(int a);

void bar(unsigned long a)
{
    int b = a; /* W0150 */
    foo(a); /* W0150 */
}

6.131.4 Related message

6.131.5 Since

1.0.0


Next: , Previous: W0150, Up: Messages

6.132 W0151

6.132.1 Message body

An implicit type conversion from unsigned long to signed long.

6.132.2 Content

Under construction.

6.132.3 Sample code

extern void foo(long a);

void bar(unsigned long a)
{
    long b = a; /* W0151 */
    foo(a); /* W0151 */
}

6.132.4 Related message

6.132.5 Since

1.0.0


Next: , Previous: W0151, Up: Messages

6.133 W0152

6.133.1 Message body

An implicit type conversion from unsigned long long to signed char.

6.133.2 Content

Under construction.

6.133.3 Sample code

extern void foo(signed char a);

void bar(unsigned long long a)
{
    signed char b = a; /* W0152 */
    foo(a); /* W0152 */
}
.

6.133.4 Related message

6.133.5 Since

1.0.0


Next: , Previous: W0152, Up: Messages

6.134 W0153

6.134.1 Message body

An implicit type conversion from unsigned long long to signed short.

6.134.2 Content

Under construction.

6.134.3 Sample code

extern void foo(short a);

void bar(unsigned long long a)
{
    short b = a; /* W0153 */
    foo(a); /* W0153 */
}

6.134.4 Related message

6.134.5 Since

1.0.0


Next: , Previous: W0153, Up: Messages

6.135 W0154

6.135.1 Message body

An implicit type conversion from unsigned long long to signed int.

6.135.2 Content

Under construction.

6.135.3 Sample code

extern void foo(int a);

void bar(unsigned long long a)
{
    int b = a; /* W0154 */
    foo(a); /* W0154 */
}

6.135.4 Related message

6.135.5 Since

1.0.0


Next: , Previous: W0154, Up: Messages

6.136 W0155

6.136.1 Message body

An implicit type conversion from unsigned long long to signed long.

6.136.2 Content

Under construction.

6.136.3 Sample code

extern void foo(long a);

void bar(unsigned long long a)
{
    long b = a; /* W0155 */
    foo(a); /* W0155 */
}

6.136.4 Related message

6.136.5 Since

1.0.0


Next: , Previous: W0155, Up: Messages

6.137 W0156

6.137.1 Message body

An implicit type conversion from unsigned long long to signed long long.

6.137.2 Content

Under construction.

6.137.3 Sample code

extern void foo(long long a);

void bar(unsigned long long a)
{
    long long b = a; /* W0156 */
    foo(a); /* W0156 */
}

6.137.4 Related message

6.137.5 Since

1.0.0


Next: , Previous: W0156, Up: Messages

6.138 W0157

6.138.1 Message body

An implicit type conversion from signed char to unsigned char.

6.138.2 Content

Under construction.

6.138.3 Sample code

extern void foo(unsigned char a);

void bar(signed char a)
{
    unsigned char b = a; /* W0157 */
    foo(a); /* W0157 */
}

6.138.4 Related message

6.138.5 Since

1.0.0


Next: , Previous: W0157, Up: Messages

6.139 W0158

6.139.1 Message body

An implicit type conversion from signed char to unsigned short.

6.139.2 Content

Under construction.

6.139.3 Sample code

extern void foo(unsigned short a);

void bar(signed char a)
{
    unsigned short b = a; /* W0158 */
    foo(a); /* W0158 */
}

6.139.4 Related message

Under construction.

6.139.5 Since

1.0.0


Next: , Previous: W0158, Up: Messages

6.140 W0159

6.140.1 Message body

An implicit type conversion from signed char to unsigned int.

6.140.2 Content

Under construction.

6.140.3 Sample code

extern void foo(unsigned int a);

void bar(signed char a)
{
    unsigned int b = a; /* W0159 */
    foo(a); /* W0159 */
}

6.140.4 Related message

6.140.5 Since

1.0.0


Next: , Previous: W0159, Up: Messages

6.141 W0160

6.141.1 Message body

An implicit type conversion from signed char to unsigned long.

6.141.2 Content

Under construction.

6.141.3 Sample code

extern void foo(unsigned long a);

void bar(signed char a)
{
    unsigned long b = a; /* W0160 */
    foo(a); /* W0160 */
}

6.141.4 Related message

6.141.5 Since

1.0.0


Next: , Previous: W0160, Up: Messages

6.142 W0161

6.142.1 Message body

An implicit type conversion from signed short to unsigned char.

6.142.2 Content

Under construction.

6.142.3 Sample code

extern void foo(unsigned char a);

void bar(short a)
{
    unsigned char b = a; /* W0161 */
    foo(a); /* W0161 */
}

6.142.4 Related message

6.142.5 Since

1.0.0


Next: , Previous: W0161, Up: Messages

6.143 W0162

6.143.1 Message body

An implicit type conversion from signed short to unsigned short.

6.143.2 Content

Under construction.

6.143.3 Sample code

extern void foo(unsigned short a);

void bar(short a)
{
    unsigned short b = a; /* W0162 */
    foo(a); /* W0162 */
}

6.143.4 Related message

6.143.5 Since

1.0.0


Next: , Previous: W0162, Up: Messages

6.144 W0163

6.144.1 Message body

An implicit type conversion from signed short to unsigned int.

6.144.2 Content

Under construction.

6.144.3 Sample code

extern void foo(unsigned int a);

void bar(short a)
{
    unsigned int b = a; /* W0163 */
    foo(a); /* W0163 */
}

6.144.4 Related message

6.144.5 Since

1.0.0


Next: , Previous: W0163, Up: Messages

6.145 W0164

6.145.1 Message body

An implicit type conversion from signed short to unsigned long.

6.145.2 Content

Under construction.

6.145.3 Sample code

extern void foo(unsigned long a);

void bar(short a)
{
    unsigned long b = a; /* W0164 */
    foo(a); /* W0164 */
}

6.145.4 Related message

6.145.5 Since

1.0.0


Next: , Previous: W0164, Up: Messages

6.146 W0165

6.146.1 Message body

Implicit conversion from `signed int' to `unsigned char'.

6.146.2 Content

Under construction.

6.146.3 Sample code

extern void foo(unsigned char a);

void bar(int a)
{
    unsigned char b = a; /* W0165 */
    foo(a); /* W0165 */
}

6.146.4 Related message

6.146.5 Since

1.0.0


Next: , Previous: W0165, Up: Messages

6.147 W0166

6.147.1 Message body

An implicit type conversion from signed int to unsigned short.

6.147.2 Content

Under construction.

6.147.3 Sample code

extern void foo(unsigned short a);

void bar(int a)
{
    unsigned short b = a; /* W0166 */
    foo(a); /* W0166 */
}

6.147.4 Related message

6.147.5 Since

1.0.0


Next: , Previous: W0166, Up: Messages

6.148 W0167

6.148.1 Message body

Implicit conversion from `signed int' to `unsigned int'.

6.148.2 Content

Under construction.

6.148.3 Sample code

extern void foo(unsigned int a);

void bar(int a)
{
    unsigned int b = a; /* W0167 */
    foo(a); /* W0167 */
}

6.148.4 Related message

6.148.5 Since

1.0.0


Next: , Previous: W0167, Up: Messages

6.149 W0168

6.149.1 Message body

An implicit type conversion from signed int to unsigned long.

6.149.2 Content

Under construction.

6.149.3 Sample code

extern void foo(unsigned long a);

void bar(int a)
{
    unsigned long b = a; /* W0168 */
    foo(a); /* W0168 */
}

6.149.4 Related message

6.149.5 Since

1.0.0


Next: , Previous: W0168, Up: Messages

6.150 W0169

6.150.1 Message body

An implicit type conversion from signed long to unsigned char.

6.150.2 Content

Under construction.

6.150.3 Sample code

extern void foo(unsigned char a);

void bar(long a)
{
    unsigned char b = a; /* W0169 */
    foo(a); /* W0169 */
}

6.150.4 Related message

6.150.5 Since

1.0.0


Next: , Previous: W0169, Up: Messages

6.151 W0170

6.151.1 Message body

An implicit type conversion from signed long to unsigned short.

6.151.2 Content

Under construction.

6.151.3 Sample code

extern void foo(unsigned short a);

void bar(long a)
{
    unsigned short b = a; /* W0170 */
    foo(a); /* W0170 */
}

6.151.4 Related message

6.151.5 Since

1.0.0


Next: , Previous: W0170, Up: Messages

6.152 W0171

6.152.1 Message body

An implicit type conversion from signed long to unsigned int.

6.152.2 Content

Under construction.

6.152.3 Sample code

extern void foo(unsigned int a);

void bar(long a)
{
    unsigned int b = a; /* W0171 */
    foo(a); /* W0171 */
}

6.152.4 Related message

6.152.5 Since

1.0.0


Next: , Previous: W0171, Up: Messages

6.153 W0172

6.153.1 Message body

An implicit type conversion from signed long to unsigned long.

6.153.2 Content

Under construction.

6.153.3 Sample code

extern void foo(unsigned long a);

void bar(long a)
{
    unsigned long b = a; /* W0172 */
    foo(a); /* W0172 */
}

6.153.4 Related message

6.153.5 Since

1.0.0


Next: , Previous: W0172, Up: Messages

6.154 W0173

6.154.1 Message body

An implicit type conversion from signed char to unsigned long long.

6.154.2 Content

Under construction.

6.154.3 Sample code

extern void foo(unsigned long long a);

void bar(signed char a)
{
    unsigned long long b = a; /* W0173 */
    foo(a); /* W0173 */
}

6.154.4 Related message

6.154.5 Since

1.0.0


Next: , Previous: W0173, Up: Messages

6.155 W0174

6.155.1 Message body

An implicit type conversion from signed short to unsigned long long.

6.155.2 Content

Under construction.

6.155.3 Sample code

extern void foo(unsigned long long a);

void bar(short a)
{
    unsigned long long b = a; /* W0174 */
    foo(a); /* W0174 */
}

6.155.4 Related message

6.155.5 Since

1.0.0


Next: , Previous: W0174, Up: Messages

6.156 W0175

6.156.1 Message body

An implicit type conversion from signed int to unsigned long long.

6.156.2 Content

Under construction.

6.156.3 Sample code

extern void foo(unsigned long long a);

void bar(int a)
{
    unsigned long long b = a; /* W0175 */
    foo(a); /* W0175 */
}

6.156.4 Related message

6.156.5 Since

1.0.0


Next: , Previous: W0175, Up: Messages

6.157 W0176

6.157.1 Message body

An implicit type conversion from signed long to unsigned long long.

6.157.2 Content

Under construction.

6.157.3 Sample code

extern void foo(unsigned long long a);

void bar(long a)
{
    unsigned long long b = a; /* W0176 */
    foo(a); /* W0176 */
}

6.157.4 Related message

6.157.5 Since

1.0.0


Next: , Previous: W0176, Up: Messages

6.158 W0177

6.158.1 Message body

An implicit type conversion from signed long long to unsigned char.

6.158.2 Content

Under construction.

6.158.3 Sample code

extern void foo(unsigned char a);

void bar(long long a)
{
    unsigned char b = a; /* W0177 */
    foo(a); /* W0177 */
}

6.158.4 Related message

6.158.5 Since

1.0.0


Next: , Previous: W0177, Up: Messages

6.159 W0178

6.159.1 Message body

An implicit type conversion from signed long long to unsigned short.

6.159.2 Content

Under construction.

6.159.3 Sample code

extern void foo(unsigned short a);

void bar(long long a)
{
    unsigned short b = a; /* W0178 */
    foo(a); /* W0178 */
}

6.159.4 Related message

6.159.5 Since

1.0.0


Next: , Previous: W0178, Up: Messages

6.160 W0179

6.160.1 Message body

An implicit type conversion from signed long long to unsigned int.

6.160.2 Content

Under construction.

6.160.3 Sample code

extern void foo(unsigned int a);

void bar(long long a)
{
    unsigned int b = a; /* W0179 */
    foo(a); /* W0179 */
}

6.160.4 Related message

6.160.5 Since

1.0.0


Next: , Previous: W0179, Up: Messages

6.161 W0180

6.161.1 Message body

An implicit type conversion from signed long long to unsigned long.

6.161.2 Content

Under construction.

6.161.3 Sample code

extern void foo(unsigned long a);

void bar(long long a)
{
    unsigned long b = a; /* W0180 */
    foo(a); /* W0180 */
}

6.161.4 Related message

6.161.5 Since

1.0.0


Next: , Previous: W0180, Up: Messages

6.162 W0181

6.162.1 Message body

An implicit type conversion from signed long long to unsigned long long.

6.162.2 Content

Under construction.

6.162.3 Sample code

extern void foo(unsigned long long a);

void bar(long long a)
{
    unsigned long long b = a; /* W0181 */
    foo(a); /* W0181 */
}

6.162.4 Related message

6.162.5 Since

1.0.0


Next: , Previous: W0181, Up: Messages

6.163 W0182

6.163.1 Message body

An implicit type conversion from unsigned char to float.

6.163.2 Content

Under construction.

6.163.3 Sample code

extern void foo(float a);

void bar(unsigned char a)
{
    float b = a; /* W0182 */
    foo(a); /* W0182 */
}

6.163.4 Related message

6.163.5 Since

1.0.0


Next: , Previous: W0182, Up: Messages

6.164 W0183

6.164.1 Message body

An implicit type conversion from unsigned char to double.

6.164.2 Content

Under construction.

6.164.3 Sample code

extern void foo(double a);

void bar(unsigned char a)
{
    double b = a; /* W0183 */
    foo(a); /* W0183 */
}

6.164.4 Related message

6.164.5 Since

1.0.0


Next: , Previous: W0183, Up: Messages

6.165 W0184

6.165.1 Message body

An implicit type conversion from unsigned char to long double.

6.165.2 Content

Under construction.

6.165.3 Sample code

extern void foo(long double a);

void bar(unsigned char a)
{
    long double b = a; /* W0184 */
    foo(a); /* W0184 */
}

6.165.4 Related message

6.165.5 Since

1.0.0


Next: , Previous: W0184, Up: Messages

6.166 W0185

6.166.1 Message body

An implicit type conversion from signed char to float.

6.166.2 Content

Under construction.

6.166.3 Sample code

extern void foo(float a);

void bar(signed char a)
{
    float b = a; /* W0185 */
    foo(a); /* W0185 */
}

6.166.4 Related message

6.166.5 Since

1.0.0


Next: , Previous: W0185, Up: Messages

6.167 W0186

6.167.1 Message body

An implicit type conversion from signed char to double.

6.167.2 Content

Under construction.

6.167.3 Sample code

extern void foo(double a);

void bar(signed char a)
{
    double b = a; /* W0186 */
    foo(a); /* W0186 */
}

6.167.4 Related message

6.167.5 Since

1.0.0


Next: , Previous: W0186, Up: Messages

6.168 W0187

6.168.1 Message body

An implicit type conversion from signed char to long double.

6.168.2 Content

Under construction.

6.168.3 Sample code

extern void foo(long double a);

void bar(signed char a)
{
    long double b = a; /* W0187 */
    foo(a); /* W0187 */
}

6.168.4 Related message

6.168.5 Since

1.0.0


Next: , Previous: W0187, Up: Messages

6.169 W0188

6.169.1 Message body

An implicit type conversion from signed short to float.

6.169.2 Content

Under construction.

6.169.3 Sample code

extern void foo(float a);

void bar(short a)
{
    float b = a; /* W0188 */
    foo(a); /* W0188 */
}

6.169.4 Related message

6.169.5 Since

1.0.0


Next: , Previous: W0188, Up: Messages

6.170 W0189

6.170.1 Message body

An implicit type conversion from signed short to double.

6.170.2 Content

Under construction.

6.170.3 Sample code

extern void foo(double a);

void bar(short a)
{
    double b = a; /* W0189 */
    foo(a); /* W0189 */
}

6.170.4 Related message

6.170.5 Since

1.0.0


Next: , Previous: W0189, Up: Messages

6.171 W0190

6.171.1 Message body

An implicit type conversion from signed short to long double.

6.171.2 Content

Under construction.

6.171.3 Sample code

extern void foo(long double a);

void bar(short a)
{
    long double b = a; /* W0190 */
    foo(a); /* W0190 */
}

6.171.4 Related message

6.171.5 Since

1.0.0


Next: , Previous: W0190, Up: Messages

6.172 W0191

6.172.1 Message body

An implicit type conversion from unsigned short to float.

6.172.2 Content

Under construction.

6.172.3 Sample code

extern void foo(float a);

void bar(unsigned short a)
{
    float b = a; /* W0191 */
    foo(a); /* W0191 */
}

6.172.4 Related message

6.172.5 Since

1.0.0


Next: , Previous: W0191, Up: Messages

6.173 W0192

6.173.1 Message body

An implicit type conversion from unsigned short to double.

6.173.2 Content

Under construction.

6.173.3 Sample code

extern void foo(double a);

void bar(unsigned short a)
{
    double b = a; /* W0192 */
    foo(a); /* W0192 */
}

6.173.4 Related message

6.173.5 Since

1.0.0


Next: , Previous: W0192, Up: Messages

6.174 W0193

6.174.1 Message body

An implicit type conversion from unsigned short to long double.

6.174.2 Content

Under construction.

6.174.3 Sample code

extern void foo(long double a);

void bar(unsigned short a)
{
    long double b = a; /* W0193 */
    foo(a); /* W0193 */
}

6.174.4 Related message

6.174.5 Since

1.0.0


Next: , Previous: W0193, Up: Messages

6.175 W0194

6.175.1 Message body

An implicit type conversion from signed int to float.

6.175.2 Content

Under construction.

6.175.3 Sample code

extern void foo(float a);

void bar(int a)
{
    float b = a; /* W0194 */
    foo(a); /* W0194 */
}

6.175.4 Related message

6.175.5 Since

1.0.0


Next: , Previous: W0194, Up: Messages

6.176 W0195

6.176.1 Message body

An implicit type conversion from signed int to double.

6.176.2 Content

Under construction.

6.176.3 Sample code

extern void foo(double a);

void bar(int a)
{
    double b = a; /* W0195 */
    foo(a); /* W0195 */
}

6.176.4 Related message

6.176.5 Since

1.0.0


Next: , Previous: W0195, Up: Messages

6.177 W0196

6.177.1 Message body

An implicit type conversion from signed int to long double.

6.177.2 Content

Under construction.

6.177.3 Sample code

extern void foo(long double a);

void bar(int a)
{
    long double b = a; /* W0196 */
    foo(a); /* W0196 */
}

6.177.4 Related message

6.177.5 Since

1.0.0


Next: , Previous: W0196, Up: Messages

6.178 W0197

6.178.1 Message body

An implicit type conversion from unsigned int to float.

6.178.2 Content

Under construction.

6.178.3 Sample code

extern void foo(float a);

void bar(unsigned int a)
{
    float b = a; /* W0197 */
    foo(a); /* W0197 */
}

6.178.4 Related message

6.178.5 Since

1.0.0


Next: , Previous: W0197, Up: Messages

6.179 W0198

6.179.1 Message body

An implicit type conversion from unsigned int to double.

6.179.2 Content

Under construction.

6.179.3 Sample code

extern void foo(double a);

void bar(unsigned int a)
{
    double b = a; /* W0198 */
    foo(a); /* W0198 */
}

6.179.4 Related message

6.179.5 Since

1.0.0


Next: , Previous: W0198, Up: Messages

6.180 W0199

6.180.1 Message body

An implicit type conversion from unsigned int to long double.

6.180.2 Content

Under construction.

6.180.3 Sample code

extern void foo(long double a);

void bar(unsigned int a)
{
    long double b = a; /* W0199 */
    foo(a); /* W0199 */
}

6.180.4 Related message

6.180.5 Since

1.0.0


Next: , Previous: W0199, Up: Messages

6.181 W0200

6.181.1 Message body

An implicit type conversion from signed long to float.

6.181.2 Content

Under construction.

6.181.3 Sample code

extern void foo(float a);

void bar(long a)
{
    float b = a; /* W0200 */
    foo(a); /* W0200 */
}

6.181.4 Related message

6.181.5 Since

1.0.0


Next: , Previous: W0200, Up: Messages

6.182 W0201

6.182.1 Message body

An implicit type conversion from signed long to double.

6.182.2 Content

Under construction.

6.182.3 Sample code

extern void foo(double a);

void bar(long a)
{
    double b = a; /* W0201 */
    foo(a); /* W0201 */
}

6.182.4 Related message

6.182.5 Since

1.0.0


Next: , Previous: W0201, Up: Messages

6.183 W0202

6.183.1 Message body

An implicit type conversion from signed long to long double.

6.183.2 Content

Under construction.

6.183.3 Sample code

extern void foo(long double a);

void bar(long a)
{
    long double b = a; /* W0202 */
    foo(a); /* W0202 */
}

6.183.4 Related message

6.183.5 Since

1.0.0


Next: , Previous: W0202, Up: Messages

6.184 W0203

6.184.1 Message body

An implicit type conversion from unsigned long to float.

6.184.2 Content

Under construction.

6.184.3 Sample code

extern void foo(float a);

void bar(unsigned long a)
{
    float b = a; /* W0203 */
    foo(a); /* W0203 */
}

6.184.4 Related message

6.184.5 Since

1.0.0


Next: , Previous: W0203, Up: Messages

6.185 W0204

6.185.1 Message body

An implicit type conversion from unsigned long to double.

6.185.2 Content

Under construction.

6.185.3 Sample code

extern void foo(double a);

void bar(unsigned long a)
{
    double b = a; /* W0204 */
    foo(a); /* W0204 */
}

6.185.4 Related message

6.185.5 Since

1.0.0


Next: , Previous: W0204, Up: Messages

6.186 W0205

6.186.1 Message body

An implicit type conversion from unsigned long to long double.

6.186.2 Content

Under construction.

6.186.3 Sample code

extern void foo(long double a);

void bar(unsigned long a)
{
    long double b = a; /* W0205 */
    foo(a); /* W0205 */
}

6.186.4 Related message

6.186.5 Since

1.0.0


Next: , Previous: W0205, Up: Messages

6.187 W0206

6.187.1 Message body

An implicit type conversion from signed long long to float.

6.187.2 Content

Under construction.

6.187.3 Sample code

extern void foo(float a);

void bar(long long a)
{
    float b = a; /* W0206 */
    foo(a); /* W0206 */
}

6.187.4 Related message

6.187.5 Since

1.0.0


Next: , Previous: W0206, Up: Messages

6.188 W0207

6.188.1 Message body

An implicit type conversion from signed long long to double.

6.188.2 Content

Under construction.

6.188.3 Sample code

extern void foo(double a);

void bar(long long a)
{
    double b = a; /* W0207 */
    foo(a); /* W0207 */
}

6.188.4 Related message

6.188.5 Since

1.0.0


Next: , Previous: W0207, Up: Messages

6.189 W0208

6.189.1 Message body

An implicit type conversion from signed long long to long double.

6.189.2 Content

Under construction.

6.189.3 Sample code

extern void foo(long double a);

void bar(long long a)
{
    long double b = a; /* W0208 */
    foo(a); /* W0208 */
}

6.189.4 Related message

6.189.5 Since

1.0.0


Next: , Previous: W0208, Up: Messages

6.190 W0209

6.190.1 Message body

An implicit type conversion from unsigned long long to float.

6.190.2 Content

Under construction.

6.190.3 Sample code

extern void foo(float a);

void bar(unsigned long long a)
{
    float b = a; /* W0209 */
    foo(a); /* W0209 */
}

6.190.4 Related message

6.190.5 Since

1.0.0


Next: , Previous: W0209, Up: Messages

6.191 W0210

6.191.1 Message body

An implicit type conversion from unsigned long long to double.

6.191.2 Content

Under construction.

6.191.3 Sample code

extern void foo(double a);

void bar(unsigned long long a)
{
    double b = a; /* W0210 */
    foo(a); /* W0210 */
}

6.191.4 Related message

6.191.5 Since

1.0.0


Next: , Previous: W0210, Up: Messages

6.192 W0211

6.192.1 Message body

An implicit type conversion from unsigned long long to long double.

6.192.2 Content

Under construction.

6.192.3 Sample code

extern void foo(long double a);

void bar(unsigned long long a)
{
    long double b = a; /* W0211 */
    foo(a); /* W0211 */
}

6.192.4 Related message

6.192.5 Since

1.0.0


Next: , Previous: W0211, Up: Messages

6.193 W0212

6.193.1 Message body

An implicit type conversion from unsigned long long to long double.

6.193.2 Content

Under construction.

6.193.3 Sample code

extern void foo(char a);

void bar(float a)
{
    char b = a; /* W0212 */
    foo(a); /* W0212 */
}

6.193.4 Related message

6.193.5 Since

1.0.0


Next: , Previous: W0212, Up: Messages

6.194 W0213

6.194.1 Message body

An implicit type conversion from float to signed char.

6.194.2 Content

Under construction.

6.194.3 Sample code

extern void foo(signed char a);

void bar(float a)
{
    signed char b = a; /* W0213 */
    foo(a); /* W0213 */
}

6.194.4 Related message

6.194.5 Since

1.0.0


Next: , Previous: W0213, Up: Messages

6.195 W0214

6.195.1 Message body

An implicit type conversion from float to unsigned char.

6.195.2 Content

Under construction.

6.195.3 Sample code

extern void foo(unsigned char a);

void bar(float a)
{
    unsigned char b = a; /* W0214 */
    foo(a); /* W0214 */
}

6.195.4 Related message

6.195.5 Since

1.0.0


Next: , Previous: W0214, Up: Messages

6.196 W0215

6.196.1 Message body

An implicit type conversion from float to signed short.

6.196.2 Content

Under construction.

6.196.3 Sample code

extern void foo(short a);

void bar(float a)
{
    short b = a; /* W0215 */
    foo(a); /* W0215 */
}

6.196.4 Related message

6.196.5 Since

1.0.0


Next: , Previous: W0215, Up: Messages

6.197 W0216

6.197.1 Message body

An implicit type conversion from float to unsigned short.

6.197.2 Content

Under construction.

6.197.3 Sample code

extern void foo(unsigned short a);

void bar(float a)
{
    unsigned short b = a; /* W0216 */
    foo(a); /* W0216 */
}

6.197.4 Related message

6.197.5 Since

1.0.0


Next: , Previous: W0216, Up: Messages

6.198 W0217

6.198.1 Message body

An implicit type conversion from float to signed int.

6.198.2 Content

Under construction.

6.198.3 Sample code

extern void foo(int a);

void bar(float a)
{
    int b = a; /* W0217 */
    foo(a); /* W0217 */
}

6.198.4 Related message

6.198.5 Since

1.0.0


Next: , Previous: W0217, Up: Messages

6.199 W0218

6.199.1 Message body

An implicit type conversion from float to unsigned int.

6.199.2 Content

Under construction.

6.199.3 Sample code

extern void foo(unsigned int a);

void bar(float a)
{
    unsigned int b = a; /* W0218 */
    foo(a); /* W0218 */
}

6.199.4 Related message

6.199.5 Since

1.0.0


Next: , Previous: W0218, Up: Messages

6.200 W0219

6.200.1 Message body

An implicit type conversion from float to signed long.

6.200.2 Content

Under construction.

6.200.3 Sample code

extern void foo(long a);

void bar(float a)
{
    long b = a; /* W0219 */
    foo(a); /* W0219 */
}

6.200.4 Related message

6.200.5 Since

1.0.0


Next: , Previous: W0219, Up: Messages

6.201 W0220

6.201.1 Message body

An implicit type conversion from float to unsigned long.

6.201.2 Content

Under construction.

6.201.3 Sample code

extern void foo(unsigned long a);

void bar(float a)
{
    unsigned long b = a; /* W0220 */
    foo(a); /* W0220 */
}

6.201.4 Related message

6.201.5 Since

1.0.0


Next: , Previous: W0220, Up: Messages

6.202 W0221

6.202.1 Message body

An implicit type conversion from double to char.

6.202.2 Content

Under construction.

6.202.3 Sample code

extern void foo(char a);

void bar(double a)
{
    char b = a; /* W0221 */
    foo(a); /* W0221 */
}

6.202.4 Related message

6.202.5 Since

1.0.0


Next: , Previous: W0221, Up: Messages

6.203 W0222

6.203.1 Message body

An implicit type conversion from double to signed char.

6.203.2 Content

Under construction.

6.203.3 Sample code

extern void foo(signed char a);

void bar(double a)
{
    signed char b = a; /* W0222 */
    foo(a); /* W0222 */
}

6.203.4 Related message

6.203.5 Since

1.0.0


Next: , Previous: W0222, Up: Messages

6.204 W0223

6.204.1 Message body

An implicit type conversion from double to unsigned char.

6.204.2 Content

Under construction.

6.204.3 Sample code

extern void foo(unsigned char a);

void bar(double a)
{
    unsigned char b = a; /* W0223 */
    foo(a); /* W0223 */
}

6.204.4 Related message

6.204.5 Since

1.0.0


Next: , Previous: W0223, Up: Messages

6.205 W0224

6.205.1 Message body

An implicit type conversion from double to signed short.

6.205.2 Content

Under construction.

6.205.3 Sample code

extern void foo(short a);

void bar(double a)
{
    short b = a; /* W0224 */
    foo(a); /* W0224 */
}

6.205.4 Related message

6.205.5 Since

1.0.0


Next: , Previous: W0224, Up: Messages

6.206 W0225

6.206.1 Message body

An implicit type conversion from double to unsigned short.

6.206.2 Content

Under construction.

6.206.3 Sample code

extern void foo(unsigned short a);

void bar(double a)
{
    unsigned short b = a; /* W0225 */
    foo(a); /* W0225 */
}

6.206.4 Related message

6.206.5 Since

1.0.0


Next: , Previous: W0225, Up: Messages

6.207 W0226

6.207.1 Message body

An implicit type conversion from double to signed int.

6.207.2 Content

Under construction.

6.207.3 Sample code

extern void foo(int a);

void bar(double a)
{
    int b = a; /* W0226 */
    foo(a); /* W0226 */
}

6.207.4 Related message

6.207.5 Since

1.0.0


Next: , Previous: W0226, Up: Messages

6.208 W0227

6.208.1 Message body

An implicit type conversion from double to unsigned int.

6.208.2 Content

Under construction.

6.208.3 Sample code

extern void foo(unsigned int a);

void bar(double a)
{
    unsigned int b = a; /* W0227 */
    foo(a); /* W0227 */
}

6.208.4 Related message

6.208.5 Since

1.0.0


Next: , Previous: W0227, Up: Messages

6.209 W0228

6.209.1 Message body

An implicit type conversion from double to signed long.

6.209.2 Content

Under construction.

6.209.3 Sample code

extern void foo(long a);

void bar(double a)
{
    long b = a; /* W0228 */
    foo(a); /* W0228 */
}

6.209.4 Related message

6.209.5 Since

1.0.0


Next: , Previous: W0228, Up: Messages

6.210 W0229

6.210.1 Message body

An implicit type conversion from double to unsigned long.

6.210.2 Content

Under construction.

6.210.3 Sample code

extern void foo(unsigned long a);

void bar(double a)
{
    unsigned long b = a; /* W0229 */
    foo(a); /* W0229 */
}

6.210.4 Related message

6.210.5 Since

1.0.0


Next: , Previous: W0229, Up: Messages

6.211 W0230

6.211.1 Message body

An implicit type conversion from long double to char.

6.211.2 Content

Under construction.

6.211.3 Sample code

extern void foo(char a);

void bar(long double a)
{
    char b = a; /* W0230 */
    foo(a); /* W0230 */
}

6.211.4 Related message

6.211.5 Since

1.0.0


Next: , Previous: W0230, Up: Messages

6.212 W0231

6.212.1 Message body

An implicit type conversion from long double to signed char.

6.212.2 Content

Under construction.

6.212.3 Sample code

extern void foo(signed char a);

void bar(long double a)
{
    signed char b = a; /* W0231 */
    foo(a); /* W0231 */
}

6.212.4 Related message

6.212.5 Since

1.0.0


Next: , Previous: W0231, Up: Messages

6.213 W0232

6.213.1 Message body

An implicit type conversion from long double to unsigned char.

6.213.2 Content

Under construction.

6.213.3 Sample code

extern void foo(unsigned char a);

void bar(long double a)
{
    unsigned char b = a; /* W0232 */
    foo(a); /* W0232 */
}

6.213.4 Related message

6.213.5 Since

1.0.0


Next: , Previous: W0232, Up: Messages

6.214 W0233

6.214.1 Message body

An implicit type conversion from long double to signed short.

6.214.2 Content

Under construction.

6.214.3 Sample code

extern void foo(short a);

void bar(long double a)
{
    short b = a; /* W0233 */
    foo(a); /* W0233 */
}

6.214.4 Related message

6.214.5 Since

1.0.0


Next: , Previous: W0233, Up: Messages

6.215 W0234

6.215.1 Message body

An implicit type conversion from long double to unsigned short.

6.215.2 Content

Under construction.

6.215.3 Sample code

extern void foo(unsigned short a);

void bar(long double a)
{
    unsigned short b = a; /* W0234 */
    foo(a); /* W0234 */
}

6.215.4 Related message

6.215.5 Since

1.0.0


Next: , Previous: W0234, Up: Messages

6.216 W0235

6.216.1 Message body

An implicit type conversion from long double to signed int.

6.216.2 Content

Under construction.

6.216.3 Sample code

extern void foo(int a);

void bar(long double a)
{
    int b = a; /* W0235 */
    foo(a); /* W0235 */
}

6.216.4 Related message

6.216.5 Since

1.0.0


Next: , Previous: W0235, Up: Messages

6.217 W0236

6.217.1 Message body

An implicit type conversion from long double to unsigned int.

6.217.2 Content

Under construction.

6.217.3 Sample code

extern void foo(unsigned int a);

void bar(long double a)
{
    unsigned int b = a; /* W0236 */
    foo(a); /* W0236 */
}

6.217.4 Related message

6.217.5 Since

1.0.0


Next: , Previous: W0236, Up: Messages

6.218 W0237

6.218.1 Message body

An implicit type conversion from long double to signed long.

6.218.2 Content

Under construction.

6.218.3 Sample code

extern void foo(long a);

void bar(long double a)
{
    long b = a; /* W0237 */
    foo(a); /* W0237 */
}

6.218.4 Related message

6.218.5 Since

1.0.0


Next: , Previous: W0237, Up: Messages

6.219 W0238

6.219.1 Message body

An implicit type conversion from long double to unsigned long.

6.219.2 Content

Under construction.

6.219.3 Sample code

extern void foo(unsigned long a);

void bar(long double a)
{
    unsigned long b = a; /* W0238 */
    foo(a); /* W0238 */
}

6.219.4 Related message

6.219.5 Since

1.0.0


Next: , Previous: W0238, Up: Messages

6.220 W0239

6.220.1 Message body

An implicit type conversion from float to signed long long.

6.220.2 Content

Under construction.

6.220.3 Sample code

extern void foo(long long a);

void bar(float a)
{
    long long b = a; /* W0239 */
    foo(a); /* W0239 */
}

6.220.4 Related message

6.220.5 Since

1.0.0


Next: , Previous: W0239, Up: Messages

6.221 W0240

6.221.1 Message body

An implicit type conversion from float to unsigned long long.

6.221.2 Content

Under construction.

6.221.3 Sample code

extern void foo(unsigned long long a);

void bar(float a)
{
    unsigned long long b = a; /* W0240 */
    foo(a); /* W0240 */
}

6.221.4 Related message

6.221.5 Since

1.0.0


Next: , Previous: W0240, Up: Messages

6.222 W0241

6.222.1 Message body

An implicit type conversion from double to signed long long.

6.222.2 Content

Under construction.

6.222.3 Sample code

extern void foo(long long a);

void bar(double a)
{
    long long b = a; /* W0241 */
    foo(a); /* W0241 */
}

6.222.4 Related message

6.222.5 Since

1.0.0


Next: , Previous: W0241, Up: Messages

6.223 W0242

6.223.1 Message body

An implicit type conversion from double to unsigned long long.

6.223.2 Content

Under construction.

6.223.3 Sample code

extern void foo(unsigned long long a);

void bar(double a)
{
    unsigned long long b = a; /* W0242 */
    foo(a); /* W0242 */
}

6.223.4 Related message

6.223.5 Since

1.0.0


Next: , Previous: W0242, Up: Messages

6.224 W0243

6.224.1 Message body

An implicit type conversion from long double to signed long long.

6.224.2 Content

Under construction.

6.224.3 Sample code

extern void foo(long long a);

void bar(long double a)
{
    long long b = a; /* W0243 */
    foo(a); /* W0243 */
}

6.224.4 Related message

6.224.5 Since

1.0.0


Next: , Previous: W0243, Up: Messages

6.225 W0244

6.225.1 Message body

An implicit type conversion from long double to unsigned long long.

6.225.2 Content

Under construction.

6.225.3 Sample code

extern void foo(unsigned long long a);

void bar(long double a)
{
    unsigned long long b = a; /* W0244 */
    foo(a); /* W0244 */
}

6.225.4 Related message

6.225.5 Since

1.0.0


Next: , Previous: W0244, Up: Messages

6.226 W0245

6.226.1 Message body

An implicit type conversion from unsigned char to signed short.

6.226.2 Content

Under construction.

6.226.3 Sample code

extern void foo(short a);

void bar(unsigned char a)
{
    short b = a; /* W0245 */
    foo(a); /* W0245 */
}

6.226.4 Related message

6.226.5 Since

1.0.0


Next: , Previous: W0245, Up: Messages

6.227 W0246

6.227.1 Message body

Implicit conversion from `unsigned char' to `signed int'.

6.227.2 Content

Under construction.

6.227.3 Sample code

extern void foo(int a);

void bar(unsigned char a)
{
    int b = a; /* W0246 */
    foo(a); /* W0246 */
}

6.227.4 Related message

6.227.5 Since

1.0.0


Next: , Previous: W0246, Up: Messages

6.228 W0247

6.228.1 Message body

An implicit type conversion from unsigned char to signed long.

6.228.2 Content

Under construction.

6.228.3 Sample code

extern void foo(long a);

void bar(unsigned char a)
{
    long b = a; /* W0247 */
    foo(a); /* W0247 */
}

6.228.4 Related message

6.228.5 Since

1.0.0


Next: , Previous: W0247, Up: Messages

6.229 W0248

6.229.1 Message body

An implicit type conversion from unsigned short to signed int.

6.229.2 Content

Under construction.

6.229.3 Sample code

extern void foo(int a);

void bar(unsigned short a)
{
    int b = a; /* W0248 */
    foo(a); /* W0248 */
}

6.229.4 Related message

6.229.5 Since

1.0.0


Next: , Previous: W0248, Up: Messages

6.230 W0249

6.230.1 Message body

An implicit type conversion from unsigned short to signed long.

6.230.2 Content

Under construction.

6.230.3 Sample code

extern void foo(long a);

void bar(unsigned short a)
{
    long b = a; /* W0249 */
    foo(a); /* W0249 */
}

6.230.4 Related message

6.230.5 Since

1.0.0


Next: , Previous: W0249, Up: Messages

6.231 W0250

6.231.1 Message body

An implicit type conversion from unsigned int to signed long.

6.231.2 Content

Under construction.

6.231.3 Sample code

extern void foo(long a);

void bar(unsigned int a)
{
    long b = a; /* W0250 */
    foo(a); /* W0250 */
}

6.231.4 Related message

6.231.5 Since

1.0.0


Next: , Previous: W0250, Up: Messages

6.232 W0251

6.232.1 Message body

An implicit type conversion from unsigned char to signed long long.

6.232.2 Content

Under construction.

6.232.3 Sample code

extern void foo(long long a);

void bar(unsigned char a)
{
    long long b = a; /* W0251 */
    foo(a); /* W0251 */
}

6.232.4 Related message

6.232.5 Since

1.0.0


Next: , Previous: W0251, Up: Messages

6.233 W0252

6.233.1 Message body

An implicit type conversion from unsigned short to signed long long.

6.233.2 Content

Under construction.

6.233.3 Sample code

extern void foo(long long a);

void bar(unsigned short a)
{
    long long b = a; /* W0252 */
    foo(a); /* W0252 */
}

6.233.4 Related message

6.233.5 Since

1.0.0


Next: , Previous: W0252, Up: Messages

6.234 W0253

6.234.1 Message body

An implicit type conversion from unsigned int to signed long long.

6.234.2 Content

Under construction.

6.234.3 Sample code

extern void foo(long long a);

void bar(unsigned int a)
{
    long long b = a; /* W0253 */
    foo(a); /* W0253 */
}

6.234.4 Related message

6.234.5 Since

1.0.0


Next: , Previous: W0253, Up: Messages

6.235 W0254

6.235.1 Message body

An implicit type conversion from unsigned long to signed long long.

6.235.2 Content

Under construction.

6.235.3 Sample code

extern void foo(long long a);

void bar(unsigned long a)
{
    long long b = a; /* W0254 */
    foo(a); /* W0254 */
}

6.235.4 Related message

6.235.5 Since

1.0.0


Next: , Previous: W0254, Up: Messages

6.236 W0255

6.236.1 Message body

A value of char type is returned from `signed char %s()' function.

6.236.2 Content

Under construction.

6.236.3 Sample code

signed char func(void)
{
    char a = 0;
    return a; /* W0255 */
}

6.236.4 Related message

6.236.5 Since

1.0.0


Next: , Previous: W0255, Up: Messages

6.237 W0256

6.237.1 Message body

A value of char type is returned from `unsigned char %s()' function.

6.237.2 Content

Under construction.

6.237.3 Sample code

unsigned char func(void)
{
    char a = 0;
    return a; /* W0256 */
}

6.237.4 Related message

6.237.5 Since

1.0.0


Next: , Previous: W0256, Up: Messages

6.238 W0257

6.238.1 Message body

A value of char type is returned from `signed short %s()' function.

6.238.2 Content

Under construction.

6.238.3 Sample code

short func(void)
{
    char a = 0;
    return a; /* W0257 */
}

6.238.4 Related message

6.238.5 Since

1.0.0


Next: , Previous: W0257, Up: Messages

6.239 W0258

6.239.1 Message body

A value of char type is returned from `unsigned short %s()' function.

6.239.2 Content

Under construction.

6.239.3 Sample code

unsigned short func(void)
{
    char a = 0;
    return a; /* W0258 */
}

6.239.4 Related message

6.239.5 Since

1.0.0


Next: , Previous: W0258, Up: Messages

6.240 W0259

6.240.1 Message body

A value of char type is returned from `signed int %s()' function.

6.240.2 Content

Under construction.

6.240.3 Sample code

int func(void)
{
    char a = 0;
    return a; /* W0259 */
}

6.240.4 Related message

6.240.5 Since

1.0.0


Next: , Previous: W0259, Up: Messages

6.241 W0260

6.241.1 Message body

A value of char type is returned from `unsigned int %s()' function.

6.241.2 Content

Under construction.

6.241.3 Sample code

unsigned int func(void)
{
    char a = 0;
    return a; /* W0260 */
}

6.241.4 Related message

6.241.5 Since

1.0.0


Next: , Previous: W0260, Up: Messages

6.242 W0261

6.242.1 Message body

A value of char type is returned from `signed long %s()' function.

6.242.2 Content

Under construction.

6.242.3 Sample code

long func(void)
{
    char a = 0;
    return a; /* W0261 */
}

6.242.4 Related message

6.242.5 Since

1.0.0


Next: , Previous: W0261, Up: Messages

6.243 W0262

6.243.1 Message body

A value of char type is returned from `unsigned long %s()' function.

6.243.2 Content

Under construction.

6.243.3 Sample code

unsigned long func(void)
{
    char a = 0;
    return a; /* W0262 */
}

6.243.4 Related message

6.243.5 Since

1.0.0


Next: , Previous: W0262, Up: Messages

6.244 W0263

6.244.1 Message body

A value of char type is returned from `float %s()' function.

6.244.2 Content

Under construction.

6.244.3 Sample code

float func(void)
{
    char a = 0;
    return a; /* W0263 */
}

6.244.4 Related message

6.244.5 Since

1.0.0


Next: , Previous: W0263, Up: Messages

6.245 W0264

6.245.1 Message body

A value of char type is returned from `double %s()' function.

6.245.2 Content

Under construction.

6.245.3 Sample code

double func(void)
{
    char a = 0;
    return a; /* W0264 */
}

6.245.4 Related message

6.245.5 Since

1.0.0


Next: , Previous: W0264, Up: Messages

6.246 W0265

6.246.1 Message body

A value of char type is returned from `long double %s()' function.

6.246.2 Content

Under construction.

6.246.3 Sample code

long double func(void)
{
    char a = 0;
    return a; /* W0265 */
}

6.246.4 Related message

6.246.5 Since

1.0.0


Next: , Previous: W0265, Up: Messages

6.247 W0266

6.247.1 Message body

A value of char type is returned from `signed long long %s()' function.

6.247.2 Content

Under construction.

6.247.3 Sample code

long long func(void)
{
    char a = 0;
    return a; /* W0266 */
}

6.247.4 Related message

6.247.5 Since

1.0.0


Next: , Previous: W0266, Up: Messages

6.248 W0267

6.248.1 Message body

A value of char type is returned from `unsigned long long %s()' function.

6.248.2 Content

Under construction.

6.248.3 Sample code

unsigned long long func(void)
{
    char a = 0;
    return a; /* W0267 */
}

6.248.4 Related message

6.248.5 Since

1.0.0


Next: , Previous: W0267, Up: Messages

6.249 W0268

6.249.1 Message body

A value of unsigned char type is returned from `char %s()' function.

6.249.2 Content

Under construction.

6.249.3 Sample code

char func(void)
{
    unsigned char a = 0;
    return a; /* W0268 */
}

6.249.4 Related message

6.249.5 Since

1.0.0


Next: , Previous: W0268, Up: Messages

6.250 W0269

6.250.1 Message body

A value of signed char type is returned from `char %s()' function.

6.250.2 Content

Under construction.

6.250.3 Sample code

char func(void)
{
    signed char a = 0;
    return a; /* W0269 */
}

6.250.4 Related message

6.250.5 Since

1.0.0


Next: , Previous: W0269, Up: Messages

6.251 W0270

6.251.1 Message body

A value of signed short type is returned from `char %s()' function.

6.251.2 Content

Under construction.

6.251.3 Sample code

char func(void)
{
    short a = 0;
    return a; /* W0270 */
}

6.251.4 Related message

6.251.5 Since

1.0.0


Next: , Previous: W0270, Up: Messages

6.252 W0271

6.252.1 Message body

A value of unsigned short type is returned from `char %s()' function.

6.252.2 Content

Under construction.

6.252.3 Sample code

char func(void)
{
    unsigned short a = 0;
    return a; /* W0271 */
}

6.252.4 Related message

6.252.5 Since

1.0.0


Next: , Previous: W0271, Up: Messages

6.253 W0272

6.253.1 Message body

A value of signed int type is returned from `char %s()' function.

6.253.2 Content

Under construction.

6.253.3 Sample code

char func(void)
{
    int a = 0;
    return a; /* W0272 */
}

6.253.4 Related message

6.253.5 Since

1.0.0


Next: , Previous: W0272, Up: Messages

6.254 W0273

6.254.1 Message body

A value of unsigned int type is returned from `char %s()' function.

6.254.2 Content

Under construction.

6.254.3 Sample code

char func(void)
{
    unsigned int a = 0;
    return a; /* W0273 */
}

6.254.4 Related message

6.254.5 Since

1.0.0


Next: , Previous: W0273, Up: Messages

6.255 W0274

6.255.1 Message body

A value of signed long type is returned from `char %s()' function.

6.255.2 Content

6.255.3 Sample code

char func(void)
{
    long a = 0;
    return a; /* W0274 */
}

6.255.4 Related message

6.255.5 Since

1.0.0


Next: , Previous: W0274, Up: Messages

6.256 W0275

6.256.1 Message body

A value of unsigned long type is returned from `char %s()' function.

6.256.2 Content

Under construction.

6.256.3 Sample code

char func(void)
{
    unsigned long a = 0;
    return a; /* W0275 */
}

6.256.4 Related message

6.256.5 Since

1.0.0


Next: , Previous: W0275, Up: Messages

6.257 W0276

6.257.1 Message body

A value of signed long long type is returned from `char %s()' function.

6.257.2 Content

Under construction.

6.257.3 Sample code

char func(void)
{
    long long a = 0;
    return a; /* W0276 */
}

6.257.4 Related message

6.257.5 Since

1.0.0


Next: , Previous: W0276, Up: Messages

6.258 W0277

6.258.1 Message body

A value of unsigned long long type is returned from `char %s()' function.

6.258.2 Content

Under construction.

6.258.3 Sample code

char func(void)
{
    unsigned long long a = 0;
    return a; /* W0277 */
}

6.258.4 Related message

6.258.5 Since

1.0.0


Next: , Previous: W0277, Up: Messages

6.259 W0278

6.259.1 Message body

A value of unsigned char type is returned from `signed char %s()' function.

6.259.2 Content

Under construction.

6.259.3 Sample code

signed char func(void)
{
    unsigned char a = 0;
    return a; /* W0278 */
}

6.259.4 Related message

6.259.5 Since

1.0.0


Next: , Previous: W0278, Up: Messages

6.260 W0279

6.260.1 Message body

A value of unsigned short type is returned from `signed char %s()' function.

6.260.2 Content

Under construction.

6.260.3 Sample code

signed char func(void)
{
    unsigned short a = 0;
    return a; /* W0279 */
}

6.260.4 Related message

6.260.5 Since

1.0.0


Next: , Previous: W0279, Up: Messages

6.261 W0280

6.261.1 Message body

A value of unsigned short type is returned from `signed short %s()' function.

6.261.2 Content

Under construction.

6.261.3 Sample code

short func(void)
{
    unsigned short a = 0;
    return a; /* W0280 */
}

6.261.4 Related message

6.261.5 Since

1.0.0


Next: , Previous: W0280, Up: Messages

6.262 W0281

6.262.1 Message body

A value of unsigned int type is returned from `signed char %s()' function.

6.262.2 Content

Under construction.

6.262.3 Sample code

signed char func(void)
{
    unsigned int a = 0;
    return a; /* W0281 */
}

6.262.4 Related message

6.262.5 Since

1.0.0


Next: , Previous: W0281, Up: Messages

6.263 W0282

6.263.1 Message body

A value of unsigned int type is returned from `signed short %s()' function.

6.263.2 Content

Under construction.

6.263.3 Sample code

short func(void)
{
    unsigned int a = 0;
    return a; /* W0282 */
}

6.263.4 Related message

6.263.5 Since

1.0.0


Next: , Previous: W0282, Up: Messages

6.264 W0283

6.264.1 Message body

A value of unsigned int type is returned from `signed int %s()' function.

6.264.2 Content

Under construction.

6.264.3 Sample code

int func(void)
{
    unsigned int a = 0;
    return a; /* W0283 */
}

6.264.4 Related message

6.264.5 Since

1.0.0


Next: , Previous: W0283, Up: Messages

6.265 W0284

6.265.1 Message body

A value of unsigned long type is returned from `signed char %s()' function.

6.265.2 Content

Under construction.

6.265.3 Sample code

signed char func(void)
{
    unsigned long a = 0;
    return a; /* W0284 */
}

6.265.4 Related message

6.265.5 Since

1.0.0


Next: , Previous: W0284, Up: Messages

6.266 W0285

6.266.1 Message body

A value of unsigned long type is returned from `signed short %s()' function.

6.266.2 Content

Under construction.

6.266.3 Sample code

short func(void)
{
    unsigned long a = 0;
    return a; /* W0285 */
}

6.266.4 Related message

6.266.5 Since

1.0.0


Next: , Previous: W0285, Up: Messages

6.267 W0286

6.267.1 Message body

A value of unsigned long type is returned from `signed int %s()' function.

6.267.2 Content

Under construction.

6.267.3 Sample code

int func(void)
{
    unsigned long a = 0;
    return a; /* W0286 */
}

6.267.4 Related message

6.267.5 Since

1.0.0


Next: , Previous: W0286, Up: Messages

6.268 W0287

6.268.1 Message body

A value of unsigned long type is returned from `signed long %s()' function.

6.268.2 Content

Under construction.

6.268.3 Sample code

long func(void)
{
    unsigned long a = 0;
    return a; /* W0287 */
}

6.268.4 Related message

6.268.5 Since

1.0.0


Next: , Previous: W0287, Up: Messages

6.269 W0288

6.269.1 Message body

A value of unsigned long long type is returned from `signed char %s()' function.

6.269.2 Content

Under construction.

6.269.3 Sample code

signed char func(void)
{
    unsigned long long a = 0;
    return a; /* W0288 */
}

6.269.4 Related message

6.269.5 Since

1.0.0


Next: , Previous: W0288, Up: Messages

6.270 W0289

6.270.1 Message body

A value of unsigned long long type is returned from `short %s()' function.

6.270.2 Content

Under construction.

6.270.3 Sample code

short func(void)
{
    unsigned long long a = 0;
    return a; /* W0289 */
}

6.270.4 Related message

6.270.5 Since

1.0.0


Next: , Previous: W0289, Up: Messages

6.271 W0290

6.271.1 Message body

A value of unsigned long long type is returned from `signed int %s()' function.

6.271.2 Content

Under construction.

6.271.3 Sample code

int func(void)
{
    unsigned long long a = 0;
    return a; /* W0290 */
}

6.271.4 Related message

6.271.5 Since

1.0.0


Next: , Previous: W0290, Up: Messages

6.272 W0291

6.272.1 Message body

A value of unsigned long long type is returned from `signed long %s()' function.

6.272.2 Content

Under construction.

6.272.3 Sample code

long func(void)
{
    unsigned long long a = 0;
    return a; /* W0291 */
}

6.272.4 Related message

6.272.5 Since

1.0.0


Next: , Previous: W0291, Up: Messages

6.273 W0292

6.273.1 Message body

A value of unsigned long long type is returned from `signed long long %s()' function.

6.273.2 Content

Under construction.

6.273.3 Sample code

long long func(void)
{
    unsigned long long a = 0;
    return a; /* W0292 */
}

6.273.4 Related message

6.273.5 Since

1.0.0


Next: , Previous: W0292, Up: Messages

6.274 W0293

6.274.1 Message body

A value of signed char type is returned from `unsigned char %s()' function.

6.274.2 Content

Under construction.

6.274.3 Sample code

unsigned char func(void)
{
    signed char a = 0;
    return a; /* W0293 */
}

6.274.4 Related message

6.274.5 Since

1.0.0


Next: , Previous: W0293, Up: Messages

6.275 W0294

6.275.1 Message body

A value of signed char type is returned from `unsigned short %s()' function.

6.275.2 Content

Under construction.

6.275.3 Sample code

unsigned short func(void)
{
    signed char a = 0;
    return a; /* W0294 */
}

6.275.4 Related message

6.275.5 Since

1.0.0


Next: , Previous: W0294, Up: Messages

6.276 W0295

6.276.1 Message body

A value of signed char type is returned from `unsigned int %s()' function.

6.276.2 Content

Under construction.

6.276.3 Sample code

unsigned int func(void)
{
    signed char a = 0;
    return a; /* W0295 */
}

6.276.4 Related message

6.276.5 Since

1.0.0


Next: , Previous: W0295, Up: Messages

6.277 W0296

6.277.1 Message body

A value of signed char type is returned from `unsigned long %s()' function.

6.277.2 Content

Under construction.

6.277.3 Sample code

unsigned long func(void)
{
    signed char a = 0;
    return a; /* W0296 */
}

6.277.4 Related message

6.277.5 Since

1.0.0


Next: , Previous: W0296, Up: Messages

6.278 W0297

6.278.1 Message body

A value of signed short type is returned from `unsigned char %s()' function.

6.278.2 Content

Under construction.

6.278.3 Sample code

unsigned char func(void)
{
    short a = 0;
    return a; /* W0297 */
}

6.278.4 Related message

6.278.5 Since

1.0.0


Next: , Previous: W0297, Up: Messages

6.279 W0298

6.279.1 Message body

A value of short type is returned from `unsigned short %s()' function.

6.279.2 Content

Under construction.

6.279.3 Sample code

unsigned short func(void)
{
    short a = 0;
    return a; /* W0298 */
}

6.279.4 Related message

6.279.5 Since

1.0.0


Next: , Previous: W0298, Up: Messages

6.280 W0299

6.280.1 Message body

A value of signed short type is returned from `unsigned int %s()' function.

6.280.2 Content

Under construction.

6.280.3 Sample code

unsigned int func(void)
{
    short a = 0;
    return a; /* W0299 */
}

6.280.4 Related message

6.280.5 Since

1.0.0


Next: , Previous: W0299, Up: Messages

6.281 W0300

6.281.1 Message body

A value of signed short type is returned from `unsigned long %s()' function.

6.281.2 Content

Under construction.

6.281.3 Sample code

unsigned long func(void)
{
    short a = 0;
    return a; /* W0300 */
}

6.281.4 Related message

6.281.5 Since

1.0.0


Next: , Previous: W0300, Up: Messages

6.282 W0301

6.282.1 Message body

A value of signed int type is returned from `unsigned char %s()' function.

6.282.2 Content

Under construction.

6.282.3 Sample code

unsigned char func(void)
{
    int a = 0;
    return a; /* W0301 */
}

6.282.4 Related message

6.282.5 Since

1.0.0


Next: , Previous: W0301, Up: Messages

6.283 W0302

6.283.1 Message body

A value of signed int type is returned from `unsigned short %s()' function.

6.283.2 Content

Under construction.

6.283.3 Sample code

unsigned short func(void)
{
    int a = 0;
    return a; /* W0302 */
}

6.283.4 Related message

6.283.5 Since

1.0.0


Next: , Previous: W0302, Up: Messages

6.284 W0303

6.284.1 Message body

A value of signed int type is returned from `unsigned int %s()' function.

6.284.2 Content

Under construction.

6.284.3 Sample code

unsigned int func(void)
{
    int a = 0;
    return a; /* W0303 */
}

6.284.4 Related message

6.284.5 Since

1.0.0


Next: , Previous: W0303, Up: Messages

6.285 W0304

6.285.1 Message body

A value of signed int type is returned from `unsigned long %s()' function.

6.285.2 Content

Under construction.

6.285.3 Sample code

unsigned long func(void)
{
    int a = 0;
    return a; /* W0304 */
}

6.285.4 Related message

6.285.5 Since

1.0.0


Next: , Previous: W0304, Up: Messages

6.286 W0305

6.286.1 Message body

A value of signed long type is returned from `unsigned char %s()' function.

6.286.2 Content

Under construction.

6.286.3 Sample code

unsigned char func(void)
{
    long a = 0;
    return a; /* W0305 */
}

6.286.4 Related message

6.286.5 Since

1.0.0


Next: , Previous: W0305, Up: Messages

6.287 W0306

6.287.1 Message body

A value of signed long type is returned from `unsigned short %s()' function.

6.287.2 Content

Under construction.

6.287.3 Sample code

unsigned short func(void)
{
    long a = 0;
    return a; /* W0306 */
}

6.287.4 Related message

6.287.5 Since

1.0.0


Next: , Previous: W0306, Up: Messages

6.288 W0307

6.288.1 Message body

A value of signed long type is returned from `unsigned int %s()' function.

6.288.2 Content

Under construction.

6.288.3 Sample code

unsigned int func(void)
{
    long a = 0;
    return a; /* W0307 */
}

6.288.4 Related message

6.288.5 Since

1.0.0


Next: , Previous: W0307, Up: Messages

6.289 W0308

6.289.1 Message body

A value of signed long type is returned from `unsigned long %s()' function.

6.289.2 Content

Under construction.

6.289.3 Sample code

unsigned long func(void)
{
    long a = 0;
    return a; /* W0308 */
}

6.289.4 Related message

6.289.5 Since

1.0.0


Next: , Previous: W0308, Up: Messages

6.290 W0309

6.290.1 Message body

A value of signed char type is returned from `unsigned long long %s()' function.

6.290.2 Content

Under construction.

6.290.3 Sample code

unsigned long long func(void)
{
    signed char a = 0;
    return a; /* W0309 */
}

6.290.4 Related message

6.290.5 Since

1.0.0


Next: , Previous: W0309, Up: Messages

6.291 W0310

6.291.1 Message body

A value of signed short type is returned from `unsigned long long %s()' function.

6.291.2 Content

Under construction.

6.291.3 Sample code

unsigned long long func(void)
{
    short a = 0;
    return a; /* W0310 */
}

6.291.4 Related message

6.291.5 Since

1.0.0


Next: , Previous: W0310, Up: Messages

6.292 W0311

6.292.1 Message body

A value of signed int type is returned from `unsigned long long %s()' function.

6.292.2 Content

Under construction.

6.292.3 Sample code

unsigned long long func(void)
{
    int a = 0;
    return a; /* W0311 */
}

6.292.4 Related message

6.292.5 Since

1.0.0


Next: , Previous: W0311, Up: Messages

6.293 W0312

6.293.1 Message body

A value of signed long type is returned from `unsigned long long %s()' function.

6.293.2 Content

Under construction.

6.293.3 Sample code

unsigned long long func(void)
{
    long a = 0;
    return a; /* W0312 */
}

6.293.4 Related message

6.293.5 Since

1.0.0


Next: , Previous: W0312, Up: Messages

6.294 W0313

6.294.1 Message body

A value of signed long long type is returned from `unsigned char %s()' function.

6.294.2 Content

Under construction.

6.294.3 Sample code

unsigned char func(void)
{
    long long a = 0;
    return a; /* W0313 */
}

6.294.4 Related message

6.294.5 Since

1.0.0


Next: , Previous: W0313, Up: Messages

6.295 W0314

6.295.1 Message body

A value of signed long long type is returned from `unsigned short %s()' function.

6.295.2 Content

Under construction.

6.295.3 Sample code

unsigned short func(void)
{
    long long a = 0;
    return a; /* W0314 */
}

6.295.4 Related message

6.295.5 Since

1.0.0


Next: , Previous: W0314, Up: Messages

6.296 W0315

6.296.1 Message body

A value of signed long long type is returned from `unsigned int %s()' function.

6.296.2 Content

Under construction.

6.296.3 Sample code

unsigned int func(void)
{
    long long a = 0;
    return a; /* W0315 */
}

6.296.4 Related message

6.296.5 Since

1.0.0


Next: , Previous: W0315, Up: Messages

6.297 W0316

6.297.1 Message body

A value of signed long long type is returned from `unsigned long %s()' function.

6.297.2 Content

Under construction.

6.297.3 Sample code

unsigned long func(void)
{
    long long a = 0;
    return a; /* W0316 */
}

6.297.4 Related message

6.297.5 Since

1.0.0


Next: , Previous: W0316, Up: Messages

6.298 W0317

6.298.1 Message body

A value of signed long long type is returned from `unsigned long long %s()' function.

6.298.2 Content

Under construction.

6.298.3 Sample code

unsigned long long func(void)
{
    long long a = 0;
    return a; /* W0317 */
}

6.298.4 Related message

6.298.5 Since

1.0.0


Next: , Previous: W0317, Up: Messages

6.299 W0318

6.299.1 Message body

A value of unsigned char type is returned from `float %s()' function.

6.299.2 Content

Under construction.

6.299.3 Sample code

float func(void)
{
    unsigned char a = 0;
    return a; /* W0318 */
}

6.299.4 Related message

6.299.5 Since

1.0.0


Next: , Previous: W0318, Up: Messages

6.300 W0319

6.300.1 Message body

A value of unsigned char type is returned from `double %s()' function.

6.300.2 Content

Under construction.

6.300.3 Sample code

double func(void)
{
    unsigned char a = 0;
    return a; /* W0319 */
}

6.300.4 Related message

6.300.5 Since

1.0.0


Next: , Previous: W0319, Up: Messages

6.301 W0320

6.301.1 Message body

A value of unsigned char type is returned from `long double %s()' function.

6.301.2 Content

Under construction.

6.301.3 Sample code

long double func(void)
{
    unsigned char a = 0;
    return a; /* W0320 */
}

6.301.4 Related message

6.301.5 Since

1.0.0


Next: , Previous: W0320, Up: Messages

6.302 W0321

6.302.1 Message body

A value of signed char type is returned from `float %s()' function.

6.302.2 Content

Under construction.

6.302.3 Sample code

float func(void)
{
    unsigned char a = 0;
    return a; /* W0321 */
}

6.302.4 Related message

6.302.5 Since

1.0.0


Next: , Previous: W0321, Up: Messages

6.303 W0322

6.303.1 Message body

A value of signed char type is returned from `double %s()' function.

6.303.2 Content

Under construction.

6.303.3 Sample code

double func(void)
{
    unsigned char a = 0;
    return a; /* W0322 */
}

6.303.4 Related message

6.303.5 Since

1.0.0


Next: , Previous: W0322, Up: Messages

6.304 W0323

6.304.1 Message body

A value of signed char type is returned from `long double %s()' function.

6.304.2 Content

Under construction.

6.304.3 Sample code

long double func(void)
{
    unsigned char a = 0;
    return a; /* W0323 */
}

6.304.4 Related message

6.304.5 Since

1.0.0


Next: , Previous: W0323, Up: Messages

6.305 W0324

6.305.1 Message body

A value of signed short type is returned from `float %s()' function.

6.305.2 Content

Under construction.

6.305.3 Sample code

float func(void)
{
    short a = 0;
    return a; /* W0324 */
}

6.305.4 Related message

6.305.5 Since

1.0.0


Next: , Previous: W0324, Up: Messages

6.306 W0325

6.306.1 Message body

A value of signed short type is returned from `double %s()' function.

6.306.2 Content

Under construction.

6.306.3 Sample code

double func(void)
{
    short a = 0;
    return a; /* W0325 */
}

6.306.4 Related message

6.306.5 Since

1.0.0


Next: , Previous: W0325, Up: Messages

6.307 W0326

6.307.1 Message body

A value of signed short type is returned from `long double %s()' function.

6.307.2 Content

Under construction.

6.307.3 Sample code

long double func(void)
{
    short a = 0;
    return a; /* W0326 */
}

6.307.4 Related message

6.307.5 Since

1.0.0


Next: , Previous: W0326, Up: Messages

6.308 W0327

6.308.1 Message body

A value of unsigned short type is returned from `float %s()' function.

6.308.2 Content

Under construction.

6.308.3 Sample code

float func(void)
{
    unsigned short a = 0;
    return a; /* W0327 */
}

6.308.4 Related message

6.308.5 Since

1.0.0


Next: , Previous: W0327, Up: Messages

6.309 W0328

6.309.1 Message body

A value of unsigned short type is returned from `double %s()' function.

6.309.2 Content

Under construction.

6.309.3 Sample code

double func(void)
{
    unsigned short a = 0;
    return a; /* W0328 */
}

6.309.4 Related message

6.309.5 Since

1.0.0


Next: , Previous: W0328, Up: Messages

6.310 W0329

6.310.1 Message body

A value of unsigned short type is returned from `long double %s()' function.

6.310.2 Content

Under construction.

6.310.3 Sample code

long double func(void)
{
    unsigned short a = 0;
    return a; /* W0329 */
}

6.310.4 Related message

6.310.5 Since

1.0.0


Next: , Previous: W0329, Up: Messages

6.311 W0330

6.311.1 Message body

A value of signed int type is returned from `float %s()' function.

6.311.2 Content

Under construction.

6.311.3 Sample code

float func(void)
{
    int a = 0;
    return a; /* W0330 */
}

6.311.4 Related message

6.311.5 Since

1.0.0


Next: , Previous: W0330, Up: Messages

6.312 W0331

6.312.1 Message body

A value of signed int type is returned from `double %s()' function.

6.312.2 Content

Under construction.

6.312.3 Sample code

double func(void)
{
    int a = 0;
    return a; /* W0331 */
}

6.312.4 Related message

6.312.5 Since

1.0.0


Next: , Previous: W0331, Up: Messages

6.313 W0332

6.313.1 Message body

A value of signed int type is returned from `long double %s()' function.

6.313.2 Content

Under construction.

6.313.3 Sample code

long double func(void)
{
    int a = 0;
    return a; /* W0332 */
}

6.313.4 Related message

6.313.5 Since

1.0.0


Next: , Previous: W0332, Up: Messages

6.314 W0333

6.314.1 Message body

A value of unsigned int type is returned from `float %s()' function.

6.314.2 Content

Under construction.

6.314.3 Sample code

float func(void)
{
    unsigned int a = 0;
    return a; /* W0333 */
}

6.314.4 Related message

6.314.5 Since

1.0.0


Next: , Previous: W0333, Up: Messages

6.315 W0334

6.315.1 Message body

A value of unsigned int type is returned from `double %s()' function.

6.315.2 Content

Under construction.

6.315.3 Sample code

double func(void)
{
    unsigned int a = 0;
    return a; /* W0334 */
}

6.315.4 Related message

6.315.5 Since

1.0.0


Next: , Previous: W0334, Up: Messages

6.316 W0335

6.316.1 Message body

A value of unsigned int type is returned from `long double %s()' function.

6.316.2 Content

Under construction.

6.316.3 Sample code

long double func(void)
{
    unsigned int a = 0;
    return a; /* W0335 */
}

6.316.4 Related message

6.316.5 Since

1.0.0


Next: , Previous: W0335, Up: Messages

6.317 W0336

6.317.1 Message body

A value of signed long type is returned from `float %s()' function.

6.317.2 Content

Under construction.

6.317.3 Sample code

float func(void)
{
    long a = 0;
    return a; /* W0336 */
}

6.317.4 Related message

6.317.5 Since

1.0.0


Next: , Previous: W0336, Up: Messages

6.318 W0337

6.318.1 Message body

A value of signed long type is returned from `double %s()' function.

6.318.2 Content

Under construction.

6.318.3 Sample code

double func(void)
{
    long a = 0;
    return a; /* W0337 */
}

6.318.4 Related message

6.318.5 Since

1.0.0


Next: , Previous: W0337, Up: Messages

6.319 W0338

6.319.1 Message body

A value of signed long type is returned from `long double %s()' function.

6.319.2 Content

Under construction.

6.319.3 Sample code

long double func(void)
{
    long a = 0;
    return a; /* W0338 */
}

6.319.4 Related message

6.319.5 Since

1.0.0


Next: , Previous: W0338, Up: Messages

6.320 W0339

6.320.1 Message body

A value of unsigned long type is returned from `float %s()' function.

6.320.2 Content

Under construction.

6.320.3 Sample code

float func(void)
{
    unsigned long a = 0;
    return a; /* W0339 */
}

6.320.4 Related message

6.320.5 Since

1.0.0


Next: , Previous: W0339, Up: Messages

6.321 W0340

6.321.1 Message body

A value of unsigned long type is returned from `double %s()' function.

6.321.2 Content

Under construction.

6.321.3 Sample code

double func(void)
{
    unsigned long a = 0;
    return a; /* W0340 */
}

6.321.4 Related message

6.321.5 Since

1.0.0


Next: , Previous: W0340, Up: Messages

6.322 W0341

6.322.1 Message body

A value of unsigned long type is returned from `long double %s()' function.

6.322.2 Content

Under construction.

6.322.3 Sample code

long double func(void)
{
    unsigned long a = 0;
    return a; /* W0341 */
}

6.322.4 Related message

6.322.5 Since

1.0.0


Next: , Previous: W0341, Up: Messages

6.323 W0342

6.323.1 Message body

A value of signed long long type is returned from `float %s()' function.

6.323.2 Content

Under construction.

6.323.3 Sample code

float func(void)
{
    long long a = 0;
    return a; /* W0342 */
}

6.323.4 Related message

6.323.5 Since

1.0.0


Next: , Previous: W0342, Up: Messages

6.324 W0343

6.324.1 Message body

A value of signed long long type is returned from `double %s()' function.

6.324.2 Content

Under construction.

6.324.3 Sample code

double func(void)
{
    long long a = 0;
    return a; /* W0343 */
}

6.324.4 Related message

6.324.5 Since

1.0.0


Next: , Previous: W0343, Up: Messages

6.325 W0344

6.325.1 Message body

A value of signed long long type is returned from `long double %s()' function.

6.325.2 Content

Under construction.

6.325.3 Sample code

long double func(void)
{
    long long a = 0;
    return a; /* W0344 */
}

6.325.4 Related message

6.325.5 Since

1.0.0


Next: , Previous: W0344, Up: Messages

6.326 W0345

6.326.1 Message body

A value of unsigned long long type is returned from `float %s()' function.

6.326.2 Content

Under construction.

6.326.3 Sample code

float func(void)
{
    unsigned long long a = 0;
    return a; /* W0345 */
}

6.326.4 Related message

6.326.5 Since

1.0.0


Next: , Previous: W0345, Up: Messages

6.327 W0346

6.327.1 Message body

A value of unsigned long long type is returned from `double %s()' function.

6.327.2 Content

Under construction.

6.327.3 Sample code

double func(void)
{
    unsigned long long a = 0;
    return a; /* W0346 */
}

6.327.4 Related message

6.327.5 Since

1.0.0


Next: , Previous: W0346, Up: Messages

6.328 W0347

6.328.1 Message body

A value of unsigned long long type is returned from `long double %s()' function.

6.328.2 Content

Under construction.

6.328.3 Sample code

long double func(void)
{
    unsigned long long a = 0;
    return a; /* W0347 */
}

6.328.4 Related message

6.328.5 Since

1.0.0


Next: , Previous: W0347, Up: Messages

6.329 W0348

6.329.1 Message body

A value of float type is returned from `char %s()' function.

6.329.2 Content

Under construction.

6.329.3 Sample code

char func(void)
{
    float a = 0;
    return a; /* W0348 */
}

6.329.4 Related message

6.329.5 Since

1.0.0


Next: , Previous: W0348, Up: Messages

6.330 W0349

6.330.1 Message body

A value of float type is returned from `signed char %s()' function.

6.330.2 Content

Under construction.

6.330.3 Sample code

signed char func(void)
{
    float a = 0;
    return a; /* W0349 */
}

6.330.4 Related message

6.330.5 Since

1.0.0


Next: , Previous: W0349, Up: Messages

6.331 W0350

6.331.1 Message body

A value of float type is returned from `unsigned char %s()' function.

6.331.2 Content

Under construction.

6.331.3 Sample code

unsigned char func(void)
{
    float a = 0;
    return a; /* W0350 */
}

6.331.4 Related message

6.331.5 Since

1.0.0


Next: , Previous: W0350, Up: Messages

6.332 W0351

6.332.1 Message body

A value of float type is returned from `signed short %s()' function.

6.332.2 Content

Under construction.

6.332.3 Sample code

short func(void)
{
    float a = 0;
    return a; /* W0351 */
}

6.332.4 Related message

6.332.5 Since

1.0.0


Next: , Previous: W0351, Up: Messages

6.333 W0352

6.333.1 Message body

A value of float type is returned from `unsigned short %s()' function.

6.333.2 Content

Under construction.

6.333.3 Sample code

unsigned short func(void)
{
    float a = 0;
    return a; /* W0352 */
}

6.333.4 Related message

6.333.5 Since

1.0.0


Next: , Previous: W0352, Up: Messages

6.334 W0353

6.334.1 Message body

A value of float type is returned from `signed int %s()' function.

6.334.2 Content

Under construction.

6.334.3 Sample code

int func(void)
{
    float a = 0;
    return a; /* W0353 */
}

6.334.4 Related message

6.334.5 Since

1.0.0


Next: , Previous: W0353, Up: Messages

6.335 W0354

6.335.1 Message body

A value of float type is returned from `unsigned int %s()' function.

6.335.2 Content

Under construction.

6.335.3 Sample code

unsigned int func(void)
{
    float a = 0;
    return a; /* W0354 */
}

6.335.4 Related message

6.335.5 Since

1.0.0


Next: , Previous: W0354, Up: Messages

6.336 W0355

6.336.1 Message body

A value of float type is returned from `signed long %s()' function.

6.336.2 Content

Under construction.

6.336.3 Sample code

long func(void)
{
    float a = 0;
    return a; /* W0355 */
}

6.336.4 Related message

6.336.5 Since

1.0.0


Next: , Previous: W0355, Up: Messages

6.337 W0356

6.337.1 Message body

A value of float type is returned from `unsigned long %s()' function.

6.337.2 Content

Under construction.

6.337.3 Sample code

unsigned long func(void)
{
    float a = 0;
    return a; /* W0356 */
}

6.337.4 Related message

6.337.5 Since

1.0.0


Next: , Previous: W0356, Up: Messages

6.338 W0357

6.338.1 Message body

A value of double type is returned from `char %s()' function.

6.338.2 Content

Under construction.

6.338.3 Sample code

char func(void)
{
    double a = 0;
    return a; /* W0357 */
}

6.338.4 Related message

6.338.5 Since

1.0.0


Next: , Previous: W0357, Up: Messages

6.339 W0358

6.339.1 Message body

A value of double type is returned from `signed char %s()' function.

6.339.2 Content

Under construction.

6.339.3 Sample code

signed char func(void)
{
    double a = 0;
    return a; /* W0358 */
}

6.339.4 Related message

6.339.5 Since

1.0.0


Next: , Previous: W0358, Up: Messages

6.340 W0359

6.340.1 Message body

A value of double type is returned from `unsigned char %s()' function.

6.340.2 Content

Under construction.

6.340.3 Sample code

unsigned char func(void)
{
    double a = 0;
    return a; /* W0359 */
}

6.340.4 Related message

6.340.5 Since

1.0.0


Next: , Previous: W0359, Up: Messages

6.341 W0360

6.341.1 Message body

A value of double type is returned from `short %s()' function.

6.341.2 Content

Under construction.

6.341.3 Sample code

short func(void)
{
    double a = 0;
    return a; /* W0360 */
}

6.341.4 Related message

6.341.5 Since

1.0.0


Next: , Previous: W0360, Up: Messages

6.342 W0361

6.342.1 Message body

A value of double type is returned from `unsigned short %s()' function.

6.342.2 Content

Under construction.

6.342.3 Sample code

unsigned short func(void)
{
    double a = 0;
    return a; /* W0361 */
}

6.342.4 Related message

6.342.5 Since

1.0.0


Next: , Previous: W0361, Up: Messages

6.343 W0362

6.343.1 Message body

A value of double type is returned from `signed int %s()' function.

6.343.2 Content

Under construction.

6.343.3 Sample code

int func(void)
{
    double a = 0;
    return a; /* W0362 */
}

6.343.4 Related message

6.343.5 Since

1.0.0


Next: , Previous: W0362, Up: Messages

6.344 W0363

6.344.1 Message body

A value of double type is returned from `unsigned int %s()' function.

6.344.2 Content

Under construction.

6.344.3 Sample code

unsigned int func(void)
{
    double a = 0;
    return a; /* W0363 */
}

6.344.4 Related message

6.344.5 Since

1.0.0


Next: , Previous: W0363, Up: Messages

6.345 W0364

6.345.1 Message body

A value of double type is returned from `signed long %s()' function.

6.345.2 Content

Under construction.

6.345.3 Sample code

long func(void)
{
    double a = 0;
    return a; /* W0364 */
}

6.345.4 Related message

6.345.5 Since

1.0.0


Next: , Previous: W0364, Up: Messages

6.346 W0365

6.346.1 Message body

A value of double type is returned from `unsigned long %s()' function.

6.346.2 Content

Under construction.

6.346.3 Sample code

unsigned long func(void)
{
    double a = 0;
    return a; /* W0365 */
}

6.346.4 Related message

6.346.5 Since

1.0.0


Next: , Previous: W0365, Up: Messages

6.347 W0366

6.347.1 Message body

A value of long double type is returned from `char %s()' function.

6.347.2 Content

Under construction.

6.347.3 Sample code

char func(void)
{
    long double a = 0;
    return a; /* W0366 */
}

6.347.4 Related message

6.347.5 Since

1.0.0


Next: , Previous: W0366, Up: Messages

6.348 W0367

6.348.1 Message body

A value of long double type is returned from `signed char %s()' function.

6.348.2 Content

Under construction.

6.348.3 Sample code

signed char func(void)
{
    long double a = 0;
    return a; /* W0367 */
}

6.348.4 Related message

6.348.5 Since

1.0.0


Next: , Previous: W0367, Up: Messages

6.349 W0368

6.349.1 Message body

A value of long double type is returned from `signed char %s()' function.

6.349.2 Content

Under construction.

6.349.3 Sample code

unsigned char func(void)
{
    long double a = 0;
    return a; /* W0368 */
}

6.349.4 Related message

6.349.5 Since

1.0.0


Next: , Previous: W0368, Up: Messages

6.350 W0369

6.350.1 Message body

A value of long double type is returned from `signed short %s()' function.

6.350.2 Content

Under construction.

6.350.3 Sample code

short func(void)
{
    long double a = 0;
    return a; /* W0369 */
}

6.350.4 Related message

6.350.5 Since

1.0.0


Next: , Previous: W0369, Up: Messages

6.351 W0370

6.351.1 Message body

A value of long double type is returned from `unsigned short %s()' function.

6.351.2 Content

Under construction.

6.351.3 Sample code

unsigned short func(void)
{
    long double a = 0;
    return a; /* W0370 */
}

6.351.4 Related message