- Feb 18, 2009
-
-
Ted Kremenek authored
retain/releases performed via [... release] and CFRetain(). The former are no-ops in GC. The checker already handled this, but now we emit nice diagnostics to the user telling them that these are no-ops. llvm-svn: 64937
-
Chris Lattner authored
We now emit: t.m:6:15: warning: field width should have type 'int', but argument has type 'unsigned int' printf(STR, (unsigned) 1, 1); ^ ~~~~~~~~~~~~ t.m:3:18: note: instantiated from: #define STR "abc%*ddef" ^ which has the correct location in the string literal in the note line. llvm-svn: 64936
-
Fariborz Jahanian authored
objc gc type attributes. llvm-svn: 64935
-
Chris Lattner authored
llvm-svn: 64934
-
Chris Lattner authored
it needs cleaning. llvm-svn: 64932
-
Chris Lattner authored
and escaped newlines don't throw off the offset computation. On this testcase: printf("abc\ def" "%*d", (unsigned) 1, 1); Before: t.m:5:5: warning: field width should have type 'int', but argument has type 'unsigned int' def" ^ after: t.m:6:12: warning: field width should have type 'int', but argument has type 'unsigned int' "%*d", (unsigned) 1, 1); ^ ~~~~~~~~~~~~ llvm-svn: 64930
-
Chris Lattner authored
llvm-svn: 64929
-
Chris Lattner authored
llvm-svn: 64928
-
Fariborz Jahanian authored
llvm-svn: 64927
-
Duncan Sands authored
here. Since we only do the transform if there is one use, strip off any such users in the hope of making the transform fire more often. llvm-svn: 64926
-
Fariborz Jahanian authored
This make warn-weak-field.m to fail (subject of a followup patch). attr-objc-gc.m no passes. llvm-svn: 64925
-
Chris Lattner authored
First step, handle diagnostics in StringLiteral's that are due to token pasting. For example, we now handle: id str2 = @"foo" "bar" @"baz" " b\0larg"; // expected-warning {{literal contains NUL character}} Correctly: test/SemaObjC/exprs.m:17:15: warning: CFString literal contains NUL character " b\0larg"; // expected-warning {{literal contains NUL character}} ~~~^~~~~~~ There are several other related issues still to be done. llvm-svn: 64924
-
Rafael Espindola authored
llvm-svn: 64923
-
Douglas Gregor authored
us whether there was an error in trying to parse a type-name (type-id in C++). This allows propagation of errors further in the compiler, suppressing more bogus error messages. llvm-svn: 64922
-
Ted Kremenek authored
Revise comment. Comparing pointer values in 'Range' wasn't the performance issue I thought it was, but it is still worth ordering Range objects by their APSInt values. llvm-svn: 64921
-
Devang Patel authored
llvm-svn: 64920
-
Douglas Gregor authored
Add an unavailable __tg_promote function to attract incorrect uses of type-generic macros, rom Howard Hinnant. llvm-svn: 64919
-
Dan Gohman authored
trip count value when the original loop iteration condition is signed and the canonical induction variable won't undergo signed overflow. This isn't required for correctness; it just preserves more information about original loop iteration values. Add a getTruncateOrSignExtend method to ScalarEvolution, following getTruncateOrZeroExtend. llvm-svn: 64918
-
Dan Gohman authored
llvm-svn: 64917
-
Dan Gohman authored
llvm-svn: 64916
-
Dan Gohman authored
llvm-svn: 64915
-
Nate Begeman authored
that has not been JIT'd yet, the callee is put on a list of pending functions to JIT. The call is directed through a stub, which is updated with the address of the function after it has been JIT'd. A new interface for allocating and updating empty stubs is provided. Add support for removing the ModuleProvider the JIT was created with, which would otherwise invalidate the JIT's PassManager, which is initialized with the ModuleProvider's Module. Add support under a new ExecutionEngine flag for emitting the infomration necessary to update Function and GlobalVariable stubs after JITing them, by recording the address of the stub and the name of the GlobalValue. This allows code to be copied from one address space to another, where libraries may live at different virtual addresses, and have the stubs updated with their new correct target addresses. llvm-svn: 64906
-
Rafael Espindola authored
llvm-svn: 64905
-
Owen Anderson authored
llvm-svn: 64904
-
Chris Lattner authored
llvm-svn: 64903
-
Douglas Gregor authored
any named parameters, e.g., this is accepted in C: void f(...) __attribute__((overloadable)); although this would be rejected: void f(...); To do this, moved the checking of the "ellipsis without any named arguments" condition from the parser into Sema (where it belongs anyway). llvm-svn: 64902
-
Chris Lattner authored
so it shows up in -ast-dump. llvm-svn: 64901
-
Chris Lattner authored
Sema::ParseObjCStringLiteral. llvm-svn: 64900
-
Chris Lattner authored
llvm-svn: 64899
-
Chris Lattner authored
stuff behind a private static function. llvm-svn: 64898
-
Douglas Gregor authored
to do in this area, since there are other places that reference FunctionDecls. Don't allow "overloadable" functions (in C) to be declared without a prototype. llvm-svn: 64897
-
Chris Lattner authored
llvm-svn: 64896
-
Chris Lattner authored
it faster in the common case when NSConstantString is around. llvm-svn: 64895
-
Chris Lattner authored
llvm-svn: 64894
-
Chris Lattner authored
llvm-svn: 64893
-
Chris Lattner authored
the various PPTokens that are pasted together to make it. In the course of working on this, I discovered ParseObjCStringLiteral which needs some work. I'll tackle it next. llvm-svn: 64892
-
Dan Gohman authored
llvm-svn: 64891
-
Ted Kremenek authored
When comparing if one Range is "less" than another, compare the actual APSInt numeric values instead of their pointer addresses. This ensures that the ImmutableSet in RangeSet always has a consistent ordering between Ranges. This is critical for generating the same digest/hash for the contents of the sets. This was a serious performance bug because it would often cause state caching to be disabled along complicated paths. Along the way: - Put Range and RangeSet in the "anonymous namespace" and mark them hidden llvm-svn: 64890
-
Fariborz Jahanian authored
Note that one test attr-objc-gc.m fails. I will fix this after removing these attributes from the Decl nodes. llvm-svn: 64889
-
Dan Gohman authored
llvm-svn: 64888
-