mirror of
https://git.freebsd.org/ports.git
synced 2025-06-30 17:10:33 -04:00
- 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/
39 lines
1 KiB
C++
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': {
|