evaluate: check variadic argument types against format string

The variadic argument code did not check any of the variadic arguments
as it did not previously know the possible type. Now we have the possible
formatting information stored in the ctype, we can do some checks on the
printf formatting types.

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
13 files changed
tree: 04803b041d535bde1eecd7aab2be20be38290721
  1. compat/
  2. Documentation/
  3. gvpr/
  4. validation/
  5. .gitignore
  6. allocate.c
  7. allocate.h
  8. ast-inspect.c
  9. ast-inspect.h
  10. ast-model.c
  11. ast-model.h
  12. ast-view.c
  13. ast-view.h
  14. bitmap.h
  15. bits.h
  16. builtin.c
  17. builtin.h
  18. c2xml.c
  19. cgcc
  20. cgcc.1
  21. char.c
  22. char.h
  23. compat-bsd.c
  24. compat-cygwin.c
  25. compat-linux.c
  26. compat-mingw.c
  27. compat-solaris.c
  28. compat.h
  29. compile-i386.c
  30. compile.c
  31. compile.h
  32. cse.c
  33. cse.h
  34. ctags.c
  35. dissect.c
  36. dissect.h
  37. dominate.c
  38. dominate.h
  39. evaluate.c
  40. evaluate.h
  41. example.c
  42. expand.c
  43. expand.h
  44. expression.c
  45. expression.h
  46. FAQ
  47. flow.c
  48. flow.h
  49. flowgraph.c
  50. flowgraph.h
  51. gcc-attr-list.h
  52. gdbhelpers
  53. graph.c
  54. ident-list.h
  55. inline.c
  56. ir.c
  57. ir.h
  58. lib.c
  59. lib.h
  60. LICENSE
  61. linearize.c
  62. linearize.h
  63. liveness.c
  64. liveness.h
  65. machine.h
  66. Makefile
  67. memops.c
  68. obfuscate.c
  69. opcode.c
  70. opcode.def
  71. opcode.h
  72. optimize.c
  73. optimize.h
  74. options.c
  75. options.h
  76. parse.c
  77. parse.dtd
  78. parse.h
  79. pre-process.c
  80. predefine.c
  81. ptrlist.c
  82. ptrlist.h
  83. ptrmap.c
  84. ptrmap.h
  85. README
  86. scope.c
  87. scope.h
  88. semind.1
  89. semind.c
  90. show-parse.c
  91. simplify.c
  92. sort.c
  93. sparse-llvm-dis
  94. sparse-llvm.c
  95. sparse.1
  96. sparse.c
  97. sparsec
  98. sparsei
  99. ssa.c
  100. ssa.h
  101. sset.c
  102. sset.h
  103. stats.c
  104. storage.c
  105. storage.h
  106. symbol.c
  107. symbol.h
  108. target-alpha.c
  109. target-arm.c
  110. target-arm64.c
  111. target-bfin.c
  112. target-default.c
  113. target-h8300.c
  114. target-m68k.c
  115. target-microblaze.c
  116. target-mips.c
  117. target-nds32.c
  118. target-nios2.c
  119. target-openrisc.c
  120. target-ppc.c
  121. target-riscv.c
  122. target-s390.c
  123. target-sh.c
  124. target-sparc.c
  125. target-x86.c
  126. target-xtensa.c
  127. target.c
  128. target.h
  129. test-dissect.c
  130. test-inspect.c
  131. test-lexing.c
  132. test-linearize.c
  133. test-parsing.c
  134. test-show-type.c
  135. test-sort.c
  136. test-unssa.c
  137. token.h
  138. tokenize.c
  139. unssa.c
  140. utils.c
  141. utils.h
  142. verify-format.c
  143. verify-format.h