| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 64991
|
| |
|
|
| |
llvm-svn: 64990
|
| |
|
|
|
|
| |
No change in functionality.
llvm-svn: 64989
|
| |
|
|
| |
llvm-svn: 64984
|
| |
|
|
|
|
| |
references the tracked object.
llvm-svn: 64980
|
| |
|
|
| |
llvm-svn: 64975
|
| |
|
|
| |
llvm-svn: 64974
|
| |
|
|
| |
llvm-svn: 64973
|
| |
|
|
| |
llvm-svn: 64972
|
| |
|
|
|
|
|
|
| |
- Fix some grammar.
- Fix a bug where a "reference count incremented" diagnostic would not be shown
if the previous typestate was "Released" (only happens in GC mode).
llvm-svn: 64971
|
| |
|
|
|
|
|
| |
and gc attrs. Add an assert to check that we never
get ExtQualType(ExtQualType(T)).
llvm-svn: 64970
|
| |
|
|
| |
llvm-svn: 64969
|
| |
|
|
|
|
| |
We are down to only failing gcc.dg/compat/vector-[12] (8 tests total).
llvm-svn: 64967
|
| |
|
|
| |
llvm-svn: 64965
|
| |
|
|
|
|
| |
C*. They're required errors in C++.
llvm-svn: 64964
|
| |
|
|
|
|
| |
Two more gcc/x86_64 failures down.
llvm-svn: 64963
|
| |
|
|
| |
llvm-svn: 64962
|
| |
|
|
| |
llvm-svn: 64961
|
| |
|
|
| |
llvm-svn: 64959
|
| |
|
|
|
|
|
|
| |
things passed in mixed registers.
This knocks out 8 x86_64 failures.
llvm-svn: 64958
|
| |
|
|
| |
llvm-svn: 64957
|
| |
|
|
|
|
| |
semantics of CFMakeCollectable and friends.
llvm-svn: 64956
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(as GCC does), except when we've performed overload resolution and
found an unavailable function: in this case, we actually error.
Merge the checking of unavailable functions with the checking for
deprecated functions. This unifies a bit of code, and makes sure that
we're checking for unavailable functions in the right places. Also,
this check can cause an error. We may, eventually, want an option to
make "unavailable" warnings into errors.
Implement much of the logic needed for C++0x deleted functions, which
are effectively the same as "unavailable" functions (but always cause
an error when referenced). However, we don't have the syntax to
specify deleted functions yet :)
llvm-svn: 64955
|
| |
|
|
|
|
| |
ir gen.
llvm-svn: 64954
|
| |
|
|
| |
llvm-svn: 64951
|
| |
|
|
|
|
| |
This knocks out another 8 gcc/compat/i386 & x86_64 failures.
llvm-svn: 64947
|
| |
|
|
| |
llvm-svn: 64946
|
| |
|
|
| |
llvm-svn: 64944
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
we used to not account for escapes in strings with
string concat. Before:
t.m:5:20: warning: field width should have type 'int', but argument has type 'unsigned int'
printf("\n\n" "\n\n%*d", (unsigned) 1, 1);
^ ~~~~~~~~~~~~
after:
t.m:5:23: warning: field width should have type 'int', but argument has type 'unsigned int'
printf("\n\n" "\n\n%*d", (unsigned) 1, 1);
^ ~~~~~~~~~~~~
llvm-svn: 64941
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
escapes in the string for subtoken positioning. This gives
us working examples like:
t.m:5:16: warning: field width should have type 'int', but argument has type 'unsigned int'
printf("\n\n%*d", (unsigned) 1, 1);
^ ~~~~~~~~~~~~
where before the caret pointed two spaces to the left.
llvm-svn: 64940
|
| |
|
|
| |
llvm-svn: 64939
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
objc gc type attributes.
llvm-svn: 64935
|
| |
|
|
| |
llvm-svn: 64934
|
| |
|
|
|
|
| |
it needs cleaning.
llvm-svn: 64932
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 64927
|
| |
|
|
|
|
|
|
| |
This make warn-weak-field.m to fail (subject of
a followup patch).
attr-objc-gc.m no passes.
llvm-svn: 64925
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
issue I thought it was, but it is still worth ordering Range objects by their APSInt values.
llvm-svn: 64921
|
| |
|
|
|
|
| |
type-generic macros, rom Howard Hinnant.
llvm-svn: 64919
|
| |
|
|
| |
llvm-svn: 64903
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
so it shows up in -ast-dump.
llvm-svn: 64901
|
| |
|
|
|
|
| |
Sema::ParseObjCStringLiteral.
llvm-svn: 64900
|
| |
|
|
|
|
| |
stuff behind a private static function.
llvm-svn: 64898
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 64896
|