ports/devel/llvm-etoile/files/patch-tools_clang_lib_Sema_SemaChecking.cpp
Dirk Meyer d7ef559551 Low Level Virtual Machine (LLVM) is:
- A compilation strategy designed to enable effective program
  optimization across the entire lifetime of a program.
- A virtual instruction set.
- A compiler infrastructure.
- LLVM does not imply things that you would expect from a high-level
  virtual machine. It does not require garbage collection or run-time
  code generation.

This port is only to build the Etoile project.

WWW:	http://llvm.cs.uiuc.edu/
2011-04-07 18:45:00 +00:00

39 lines
1 KiB
C++

$FreeBSD: /tmp/pcvs/ports/devel/llvm-etoile/files/patch-tools_clang_lib_Sema_SemaChecking.cpp,v 1.1 2011-04-07 18:45:00 dinoex Exp $
--- tools/clang/lib/Sema/SemaChecking.cpp.orig
+++ tools/clang/lib/Sema/SemaChecking.cpp
@@ -142,7 +142,7 @@
// Printf checking.
if (const FormatAttr *Format = FDecl->getAttr<FormatAttr>()) {
- if (Format->getType() == "printf") {
+ if (Format->getType() == "printf" || Format->getType() == "printf0") {
bool HasVAListArg = Format->getFirstArg() == 0;
if (!HasVAListArg) {
if (const FunctionProtoType *Proto
@@ -701,7 +701,6 @@
case 'u':
case 'x':
case 'X':
- case 'D':
case 'O':
case 'U':
case 'e':
@@ -717,9 +716,16 @@
case 'S':
case 's':
case 'p':
+ case 'r':
+ case 'y':
++numConversions;
CurrentState = state_OrdChr;
break;
+ case 'b':
+ case 'D':
+ numConversions += 2;
+ CurrentState = state_OrdChr;
+ break;
// CHECK: Are we using "%n"? Issue a warning.
case 'n': {