adlint 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. data/AUTHORS +3 -2
  2. data/ChangeLog +208 -63
  3. data/MANIFEST +4 -0
  4. data/NEWS +24 -5
  5. data/etc/conf.d/fallback/traits.erb +1 -1
  6. data/etc/conf.d/i686-cygwin/traits-gcc_4.3.4.erb +1 -1
  7. data/etc/conf.d/i686-devkit/traits-gcc_4.5.2.erb +1 -1
  8. data/etc/conf.d/i686-linux/traits-gcc_4.5.1.erb +1 -1
  9. data/etc/conf.d/i686-mingw/traits-gcc_4.6.1.erb +1 -1
  10. data/etc/mesg.d/en_US/messages.yml +3 -3
  11. data/etc/mesg.d/ja_JP/messages.yml +4 -4
  12. data/lib/adlint/c/builtin.rb +3 -3
  13. data/lib/adlint/c/ctrlexpr.rb +7 -11
  14. data/lib/adlint/c/expr.rb +548 -363
  15. data/lib/adlint/c/interp.rb +233 -525
  16. data/lib/adlint/c/mediator.rb +1 -0
  17. data/lib/adlint/c/message.rb +144 -1
  18. data/lib/adlint/c/object.rb +15 -6
  19. data/lib/adlint/c/parser.rb +170 -128
  20. data/lib/adlint/c/parser.y +36 -0
  21. data/lib/adlint/c/phase.rb +4 -0
  22. data/lib/adlint/c/seqp.rb +72 -0
  23. data/lib/adlint/c/syntax.rb +254 -3
  24. data/lib/adlint/c.rb +1 -0
  25. data/lib/adlint/cpp/code.rb +2 -2
  26. data/lib/adlint/cpp/eval.rb +29 -13
  27. data/lib/adlint/cpp/message.rb +71 -70
  28. data/lib/adlint/cpp/message_shima.rb +100 -0
  29. data/lib/adlint/cpp/phase.rb +4 -0
  30. data/lib/adlint/cpp/syntax.rb +5 -1
  31. data/lib/adlint/cpp.rb +1 -0
  32. data/lib/adlint/message.rb +6 -3
  33. data/lib/adlint/traits.rb +1 -1
  34. data/lib/adlint/version.rb +5 -5
  35. data/share/demo/Makefile +3 -1
  36. data/share/demo/bad_line/bad_line.c +27 -0
  37. data/share/demo/sequence_point/sequence_point.c +31 -0
  38. data/share/doc/adlint_on_vim_en.png +0 -0
  39. data/share/doc/adlint_on_vim_ja.png +0 -0
  40. data/share/doc/developers_guide_ja.html +3 -3
  41. data/share/doc/developers_guide_ja.texi +1 -1
  42. data/share/doc/users_guide_en.html +3118 -41
  43. data/share/doc/users_guide_en.texi +3090 -37
  44. data/share/doc/users_guide_ja.html +3120 -47
  45. data/share/doc/users_guide_ja.texi +3106 -65
  46. data/share/sample/ctags-5.8/adlint/GNUmakefile +13 -1
  47. data/share/sample/ctags-5.8/adlint/adlint_cinit.h +14 -2
  48. data/share/sample/ctags-5.8/adlint/adlint_pinit.h +14 -4
  49. data/share/sample/ctags-5.8/adlint/adlint_traits.yml +14 -1
  50. data/share/sample/flex-2.5.35/adlint/GNUmakefile +13 -1
  51. data/share/sample/flex-2.5.35/adlint/adlint_cinit.h +14 -2
  52. data/share/sample/flex-2.5.35/adlint/adlint_pinit.h +14 -4
  53. data/share/sample/flex-2.5.35/adlint/adlint_traits.yml +14 -1
  54. metadata +6 -2
@@ -4,7 +4,19 @@
4
4
  # / __ |/ /_/ / /___/ / /| / / /
5
5
  # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
6
6
  #
7
- # GNUmakefile generated by adlintize 0.6.5 at 2012-02-20 11:27:29 +0900.
7
+ # This file is part of AdLint.
8
+ #
9
+ # AdLint is free software: you can redistribute it and/or modify it under the
10
+ # terms of the GNU General Public License as published by the Free Software
11
+ # Foundation, either version 3 of the License, or (at your option) any later
12
+ # version.
13
+ #
14
+ # AdLint is distributed in the hope that it will be useful, but WITHOUT ANY
15
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
16
+ # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
17
+ #
18
+ # You should have received a copy of the GNU General Public License along with
19
+ # AdLint. If not, see <http://www.gnu.org/licenses/>.
8
20
  #
9
21
  # How...
10
22
  # - to validate configuration files
@@ -4,8 +4,20 @@
4
4
  * / __ |/ /_/ / /___/ / /| / / /
5
5
  * /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
6
6
  *
7
- * Initial header for GCC 4.5.1 on Linux generated by adlintize 0.6.5
8
- * at 2012-02-20 11:27:29 +0900.
7
+ * This file is part of AdLint.
8
+ *
9
+ * AdLint is free software: you can redistribute it and/or modify it under the
10
+ * terms of the GNU General Public License as published by the Free Software
11
+ * Foundation, either version 3 of the License, or (at your option) any later
12
+ * version.
13
+ *
14
+ * AdLint is distributed in the hope that it will be useful, but WITHOUT ANY
15
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
17
+ * details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License along with
20
+ * AdLint. If not, see <http://www.gnu.org/licenses/>.
9
21
  */
10
22
 
11
23
  #define __DBL_MIN_EXP__ (-1021)
@@ -4,10 +4,20 @@
4
4
  * / __ |/ /_/ / /___/ / /| / / /
5
5
  * /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
6
6
  *
7
- * Project specific initial header file generated by adlintize 0.6.5
8
- * at 2012-02-20 11:27:29 +0900.
7
+ * This file is part of AdLint.
8
+ *
9
+ * AdLint is free software: you can redistribute it and/or modify it under the
10
+ * terms of the GNU General Public License as published by the Free Software
11
+ * Foundation, either version 3 of the License, or (at your option) any later
12
+ * version.
13
+ *
14
+ * AdLint is distributed in the hope that it will be useful, but WITHOUT ANY
15
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
17
+ * details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License along with
20
+ * AdLint. If not, see <http://www.gnu.org/licenses/>.
9
21
  */
10
22
 
11
- /* Put project specific predefined macros and types here. */
12
-
13
23
  #define HAVE_CONFIG_H
@@ -4,7 +4,20 @@
4
4
  # / __ |/ /_/ / /___/ / /| / / /
5
5
  # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
6
6
  #
7
- # Traits file generated by adlintize 0.6.5 at 2012-02-20 11:27:29 +0900.
7
+ # This file is part of AdLint.
8
+ #
9
+ # AdLint is free software: you can redistribute it and/or modify it under the
10
+ # terms of the GNU General Public License as published by the Free Software
11
+ # Foundation, either version 3 of the License, or (at your option) any later
12
+ # version.
13
+ #
14
+ # AdLint is distributed in the hope that it will be useful, but WITHOUT ANY
15
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
16
+ # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
17
+ #
18
+ # You should have received a copy of the GNU General Public License along with
19
+ # AdLint. If not, see <http://www.gnu.org/licenses/>.
20
+ #
8
21
 
9
22
  # Schema version of the traits file.
10
23
  # DO NOT EDIT MANUALLY!
@@ -4,7 +4,19 @@
4
4
  # / __ |/ /_/ / /___/ / /| / / /
5
5
  # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
6
6
  #
7
- # GNUmakefile generated by adlintize 0.6.5 at 2012-02-20 10:24:44 +0900.
7
+ # This file is part of AdLint.
8
+ #
9
+ # AdLint is free software: you can redistribute it and/or modify it under the
10
+ # terms of the GNU General Public License as published by the Free Software
11
+ # Foundation, either version 3 of the License, or (at your option) any later
12
+ # version.
13
+ #
14
+ # AdLint is distributed in the hope that it will be useful, but WITHOUT ANY
15
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
16
+ # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
17
+ #
18
+ # You should have received a copy of the GNU General Public License along with
19
+ # AdLint. If not, see <http://www.gnu.org/licenses/>.
8
20
  #
9
21
  # How...
10
22
  # - to validate configuration files
@@ -4,8 +4,20 @@
4
4
  * / __ |/ /_/ / /___/ / /| / / /
5
5
  * /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
6
6
  *
7
- * Initial header for GCC 4.5.1 on Linux generated by adlintize 0.6.5
8
- * at 2012-02-20 10:24:44 +0900.
7
+ * This file is part of AdLint.
8
+ *
9
+ * AdLint is free software: you can redistribute it and/or modify it under the
10
+ * terms of the GNU General Public License as published by the Free Software
11
+ * Foundation, either version 3 of the License, or (at your option) any later
12
+ * version.
13
+ *
14
+ * AdLint is distributed in the hope that it will be useful, but WITHOUT ANY
15
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
17
+ * details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License along with
20
+ * AdLint. If not, see <http://www.gnu.org/licenses/>.
9
21
  */
10
22
 
11
23
  #define __DBL_MIN_EXP__ (-1021)
@@ -4,11 +4,21 @@
4
4
  * / __ |/ /_/ / /___/ / /| / / /
5
5
  * /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
6
6
  *
7
- * Project specific initial header file generated by adlintize 0.6.5
8
- * at 2012-02-20 10:24:44 +0900.
7
+ * This file is part of AdLint.
8
+ *
9
+ * AdLint is free software: you can redistribute it and/or modify it under the
10
+ * terms of the GNU General Public License as published by the Free Software
11
+ * Foundation, either version 3 of the License, or (at your option) any later
12
+ * version.
13
+ *
14
+ * AdLint is distributed in the hope that it will be useful, but WITHOUT ANY
15
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
17
+ * details.
18
+ *
19
+ * You should have received a copy of the GNU General Public License along with
20
+ * AdLint. If not, see <http://www.gnu.org/licenses/>.
9
21
  */
10
22
 
11
- /* Put project specific predefined macros and types here. */
12
-
13
23
  #define HAVE_CONFIG_H
14
24
  #define LOCALEDIR "/usr/local/share/locale"
@@ -4,7 +4,20 @@
4
4
  # / __ |/ /_/ / /___/ / /| / / /
5
5
  # /_/ |_|_____/_____/_/_/ |_/ /_/ Copyright (C) 2010-2012, OGIS-RI Co.,Ltd.
6
6
  #
7
- # Traits file generated by adlintize 0.6.5 at 2012-02-20 10:24:44 +0900.
7
+ # This file is part of AdLint.
8
+ #
9
+ # AdLint is free software: you can redistribute it and/or modify it under the
10
+ # terms of the GNU General Public License as published by the Free Software
11
+ # Foundation, either version 3 of the License, or (at your option) any later
12
+ # version.
13
+ #
14
+ # AdLint is distributed in the hope that it will be useful, but WITHOUT ANY
15
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
16
+ # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
17
+ #
18
+ # You should have received a copy of the GNU General Public License along with
19
+ # AdLint. If not, see <http://www.gnu.org/licenses/>.
20
+ #
8
21
 
9
22
  # Schema version of the traits file.
10
23
  # DO NOT EDIT MANUALLY!
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adlint
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-28 00:00:00.000000000 Z
12
+ date: 2012-03-21 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: ! 'AdLint is a source code static analyzer.
15
15
 
@@ -86,6 +86,7 @@ files:
86
86
  - lib/adlint/c/resolver.rb
87
87
  - lib/adlint/c/scanner.rb
88
88
  - lib/adlint/c/scope.rb
89
+ - lib/adlint/c/seqp.rb
89
90
  - lib/adlint/c/syntax.rb
90
91
  - lib/adlint/c/type.rb
91
92
  - lib/adlint/c/util.rb
@@ -99,6 +100,7 @@ files:
99
100
  - lib/adlint/cpp/lexer.rb
100
101
  - lib/adlint/cpp/macro.rb
101
102
  - lib/adlint/cpp/message.rb
103
+ - lib/adlint/cpp/message_shima.rb
102
104
  - lib/adlint/cpp/phase.rb
103
105
  - lib/adlint/cpp/scanner.rb
104
106
  - lib/adlint/cpp/source.rb
@@ -142,6 +144,7 @@ files:
142
144
  - share/demo/bad_conv/bad_conv.c
143
145
  - share/demo/bad_indent/bad_indent.c
144
146
  - share/demo/bad_init/bad_init.c
147
+ - share/demo/bad_line/bad_line.c
145
148
  - share/demo/bad_macro/bad_macro.c
146
149
  - share/demo/bitwise_expr/bitwise_expr.c
147
150
  - share/demo/call_by_value/call_by_value.c
@@ -208,6 +211,7 @@ files:
208
211
  - share/demo/overflow/overflow.c
209
212
  - share/demo/press_release/press_release.c
210
213
  - share/demo/retn_lvar_addr/retn_lvar_addr.c
214
+ - share/demo/sequence_point/sequence_point.c
211
215
  - share/demo/shift_expr/shift_expr.c
212
216
  - share/demo/should_be_typedef/should_be_typedef.c
213
217
  - share/demo/static_paths/static_paths.c