- Apr 13, 2009
-
-
Nick Lewycky authored
llvm-svn: 68938
-
Nick Lewycky authored
interpreter mode" when it's not. llvm-svn: 68937
-
Devang Patel authored
llvm-svn: 68936
-
Chris Lattner authored
llvm-svn: 68935
-
Nick Lewycky authored
llvm-svn: 68934
-
-
Chris Lattner authored
PR3972: Poor diagnostic with missing ')' llvm-svn: 68932
-
Chris Lattner authored
by making ASTContext::isObjCObjectPointerType accept typedefs of id. llvm-svn: 68931
-
Chris Lattner authored
llvm-svn: 68930
-
Chris Lattner authored
patch by Alexei Svitkine! llvm-svn: 68929
-
Chris Lattner authored
llvm-svn: 68928
-
Chris Lattner authored
llvm-svn: 68927
-
Chris Lattner authored
llvm-svn: 68926
-
Chris Lattner authored
llvm-svn: 68925
-
Rafael Espindola authored
only if symbolic addresses are RIP relatives. llvm-svn: 68924
-
Chris Lattner authored
llvm-svn: 68923
-
Owen Anderson authored
llvm-svn: 68922
-
Chris Lattner authored
llvm-svn: 68921
-
Chris Lattner authored
to isValidAfterIdentifierInDeclarator, as suggested by Sebastian. llvm-svn: 68920
-
Chris Lattner authored
that I noticed working on other things. Instead of emitting: t2.cc:1:8: error: use of undeclared identifier 'g' int x(*g); ^ t2.cc:1:10: error: expected ')' int x(*g); ^ t2.cc:1:6: note: to match this '(' int x(*g); ^ We now only emit: t2.cc:1:7: warning: type specifier missing, defaults to 'int' int x(*g); ^ Note that the example in SemaCXX/nested-name-spec.cpp:f4 is still not great, we now produce both of: void f4(undef::C); // expected-error {{use of undeclared identifier 'undef'}} \ expected-error {{variable has incomplete type 'void'}} The second diagnostic should be silenced by something getting marked invalid. I don't plan to fix this though. llvm-svn: 68919
-
Chris Lattner authored
llvm-svn: 68918
-
Chris Lattner authored
this allows downstream diags to be properly silenced. llvm-svn: 68917
-
Chris Lattner authored
return null. llvm-svn: 68916
-
- Apr 12, 2009
-
-
Rafael Espindola authored
llvm-svn: 68915
-
Chris Lattner authored
struct xyz { int y; }; enum abc { ZZZ }; static xyz b; abc c; we used to produce: t2.c:4:8: error: unknown type name 'xyz' static xyz b; ^ t2.c:5:1: error: unknown type name 'abc' abc c; ^ we now produce: t2.c:4:8: error: use of tagged type 'xyz' without 'struct' tag static xyz b; ^ struct t2.c:5:1: error: use of tagged type 'abc' without 'enum' tag abc c; ^ enum GCC produces the normal: t2.c:4: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘b’ t2.c:5: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘c’ rdar://6783347 llvm-svn: 68914
-
Chris Lattner authored
if a decl is invalid, it isn't added to the Decls array, so we need to pass in Decls.size() to avoid reading uninit memory. llvm-svn: 68913
-
Nick Lewycky authored
if an API change causes it to be out of date. The code is copied out of LangImpl7.html. llvm-svn: 68912
-
rdar://6759604Chris Lattner authored
which tries to do better error recovery when it is "obvious" that an identifier is a mis-typed typename. In this case, we try to parse it as a typename instead of as the identifier in a declarator, which gives us several options for better error recovery and immediately makes diagnostics more useful. For example, we now produce: t.c:4:8: error: unknown type name 'foo_t' static foo_t a = 4; ^ instead of: t.c:4:14: error: invalid token after top level declarator static foo_t a = 4; ^ Also, since we now parse "a" correctly, we make a decl for it, preventing later uses of 'a' from emitting things like: t.c:12:20: error: use of undeclared identifier 'a' int bar() { return a + b; } ^ I'd really appreciate any scrutiny possible on this, it is a tricky area. llvm-svn: 68911
-
Nick Lewycky authored
llvm-svn: 68910
-
Chris Lattner authored
llvm-svn: 68909
-
Chris Lattner authored
exit at the first decl found that creates a scope, don't evaluate decl_end() every iteration. llvm-svn: 68908
-
Chris Lattner authored
llvm-svn: 68907
-
Chris Lattner authored
strncat :( strncat(foo, "bar", 99) would be optimized to memcpy(foo+strlen(foo), "bar", 100, 1) instead of memcpy(foo+strlen(foo), "bar", 4, 1)" Patch by Benjamin Kramer! llvm-svn: 68905
-
Fariborz Jahanian authored
llvm-svn: 68904
-
Sebastian Redl authored
llvm-svn: 68903
-
Sebastian Redl authored
Parse deleted member functions. Parsing member declarations goes through a different code path that I forgot previously. Implement the rvalue reference overload dance for returning local objects. Returning a local object first tries to find a move constructor now. The error message when no move constructor is defined (or is not applicable) and the copy constructor is deleted is quite ugly, though. llvm-svn: 68902
-
Rafael Espindola authored
llvm-svn: 68901
-
Chris Lattner authored
llvm-svn: 68900
-
-
Chris Lattner authored
llvm-svn: 68898
-