- Nov 24, 2008
-
-
Chris Lattner authored
a new NamedDecl::getAsString() method. Change uses of Selector::getName() to just pass in a Selector where possible (e.g. to diagnostics) instead of going through an std::string. This also adds new formatters for objcinstance and objcclass as described in the dox. llvm-svn: 59933
-
Chris Lattner authored
llvm-svn: 59923
-
Chris Lattner authored
llvm-svn: 59922
-
Chris Lattner authored
"previously defined here" diagnostics all notes. llvm-svn: 59920
-
- Nov 23, 2008
-
-
Chris Lattner authored
"definitions", not declarations. Point out the location of the original definition. llvm-svn: 59919
-
Chris Lattner authored
Also, point out where the previous decl was. This unxfails two tests. llvm-svn: 59918
-
Chris Lattner authored
with implicit quotes around them. This has a bunch of follow-on effects and requires tweaking to a whole lot of code. This causes a regression in two tests (xfailed) by causing it to emit things like: Line 10: duplicate interface declaration for category 'MyClass1' ('Category1') instead of: Line 10: duplicate interface declaration for category 'MyClass1(Category1)' I will fix this in a follow-up commit. As part of this, I had to start switching stuff to use ->getDeclName() instead of Decl::getName() for consistency. This is good, but I was planning to do this as an independent patch. There will be several follow-on patches to clean up some of the mess, but this patch is already too big. llvm-svn: 59917
-
Chris Lattner authored
without calling getAsString(). This implicitly puts quotes around the name, so diagnostics need to be tweaked to accommodate this. llvm-svn: 59916
-
Chris Lattner authored
No functionality change. llvm-svn: 59908
-
Chris Lattner authored
diags over to use this. QualTypes implicitly print single quotes around them for uniformity and future extension. Doing this requires a little function pointer dance to prevent libbasic from depending on libast. llvm-svn: 59907
-
- Nov 22, 2008
-
-
Anders Carlsson authored
llvm-svn: 59884
-
Anders Carlsson authored
llvm-svn: 59881
-
Fariborz Jahanian authored
'implicit' property with no 'setter'. llvm-svn: 59878
-
Fariborz Jahanian authored
Issuing diagnostics when assigning to read-only properties. This is work in progress. llvm-svn: 59874
-
Sebastian Redl authored
Implement a %plural modifier for complex plural forms in diagnostics. Use it in the overload diagnostics. llvm-svn: 59871
-
Chris Lattner authored
clang executable (when built with gcc 4.2 on the mac) from 14519740 to 14495028 bytes. This shrinks individual object files as well: SemaChecking from 23580->22248, SemaDeclObjc from 61368->57376, SemaExpr from 115628->110516, as well as several others. llvm-svn: 59867
-
Chris Lattner authored
one for building up the diagnostic that is in flight (DiagnosticBuilder) and one for pulling structured information out of the diagnostic when formatting and presenting it. There is no functionality change with this patch. llvm-svn: 59849
-
- Nov 21, 2008
-
-
Sebastian Redl authored
This version uses VLAs to represent arrays. I'll try an alternative way next, but I want this safe first. llvm-svn: 59835
-
Chris Lattner authored
llvm-svn: 59831
-
Chris Lattner authored
llvm-svn: 59829
-
Douglas Gregor authored
llvm-svn: 59822
-
Douglas Gregor authored
llvm-svn: 59819
-
Chris Lattner authored
llvm-svn: 59805
-
Chris Lattner authored
strings. This allows us to have considerable flexibility in how these things are displayed and provides extra information that allows us to merge away diagnostics that are very similar. Diagnostic modifiers are a string of characters with the regex [-a-z]+ that occur between the % and digit. They may optionally have an argument that can parameterize them. For now, I've added two example modifiers. One is a very useful tool that allows you to factor commonality across diagnostics that need single words or phrases combined. Basically you can use %select{a|b|c}4 with with an integer argument that selects either a/b/c based on an integer value in the range [0..3). The second modifier is also an integer modifier, aimed to help English diagnostics handle plurality. "%s3" prints to 's' if integer argument #3 is not 1, otherwise it prints to nothing. I'm fully aware that 's' is an English concept and doesn't apply to all situations (mouse vs mice). However, this is very useful and we can add other crazy modifiers once we add support for polish! ;-) I converted a couple C++ diagnostics over to use this as an example, I'd appreciate it if others could merge the other likely candiates. If you have other modifiers that you want, lets talk on cfe-dev. llvm-svn: 59803
-
Chris Lattner authored
and fall through better. llvm-svn: 59799
-
Douglas Gregor authored
llvm-svn: 59791
-
Douglas Gregor authored
llvm-svn: 59789
-
- Nov 20, 2008
-
-
Fariborz Jahanian authored
llvm-svn: 59743
-
Douglas Gregor authored
expression (smart_ptr->mem). llvm-svn: 59732
-
Douglas Gregor authored
llvm-svn: 59729
-
Chris Lattner authored
llvm-svn: 59716
-
Chris Lattner authored
llvm-svn: 59714
-
Chris Lattner authored
llvm-svn: 59713
-
Chris Lattner authored
llvm-svn: 59712
-
Chris Lattner authored
of doing the lookup_decl, the hash lookup is cheap. Also, typeid doesn't happen enough in real world code to worry about it. I'd like to eventually get rid of KnownFunctionIDs from Sema also, but today is not that day. llvm-svn: 59711
-
Chris Lattner authored
looking up the "std" identifier is trivial. Just do it, particularly since this is only done if the namespace hasn't already been looked up. llvm-svn: 59710
-
Chris Lattner authored
used in one cold place. llvm-svn: 59709
-
Chris Lattner authored
just check for it when needed. It doesn't incur real cost in any hot paths. llvm-svn: 59708
-
Chris Lattner authored
from Sebastian to enforce that a literal string is passed in, and use this to avoid having to call strlen on it. llvm-svn: 59706
-
Fariborz Jahanian authored
diagnostics on use of __weak attribute on fields, Early support for read/write barriers for objc fields. llvm-svn: 59682
-