- Mar 11, 2009
-
-
Daniel Dunbar authored
- Replace assorted -ccc-host-* options by -ccc-host-triple which is more sane. llvm-svn: 66600
-
Chris Lattner authored
llvm-svn: 66598
-
Chris Lattner authored
code where Sema can get to it. No functionality change. llvm-svn: 66596
-
- Mar 10, 2009
-
-
Douglas Gregor authored
definitions. We were rejecting tentative definitions of incomplete (which is bad), and now we don't. This fix is partial because we don't do the end-of-translation-unit initialization for tentative definitions that don't ever have any initializers specified. llvm-svn: 66584
-
Devang Patel authored
llvm-svn: 66580
-
Daniel Dunbar authored
- Follows ccc currently, but this functionality should eventually be outside the Driver lib. llvm-svn: 66575
-
Douglas Gregor authored
context of a template-id for which we need to instantiate default template arguments. In the TextDiagnosticPrinter, don't suppress the caret diagnostic if we are producing a non-note diagnostic that follows a note diagnostic with the same location, because notes are (conceptually) a part of the warning or error that comes before them. llvm-svn: 66572
-
Douglas Gregor authored
only print the template instantiation backtrace for the first error. Also, if a base class has failed to type-check during instantiation, just drop that base class and continue on to check other base classes. llvm-svn: 66563
-
Douglas Gregor authored
'struct A<double, int>' In the "template instantiation depth exceeded" message, print "-ftemplate-depth-N" rather than "-ftemplate-depth=N". An unnamed tag type that is declared with a typedef, e.g., typedef struct { int x, y; } Point; can be used as a template argument. Allow this, and check that we get sensible pretty-printing for such things. llvm-svn: 66560
-
Douglas Gregor authored
When pretty-printing an anonymous tag type that is associated with a typedef, use the name of the typedef rather than <anonymous> llvm-svn: 66559
-
Douglas Gregor authored
to a diagnostic that will be invoked after the diagnostic (if it is not suppressed). The hooks are allowed to produce additional diagnostics (typically notes) that provide more information. We should be able to use this to help diagnostic clients link notes back to the diagnostic they clarify. Comments welcome; I'll write up documentation and convert other clients (e.g., overload resolution failures) if there are no screams of protest. As the first client of post-diagnostic hooks, we now produce a template instantiation backtrace when a failure occurs during template instantiation. There's still more work to do to make this output pretty, if that's even possible. llvm-svn: 66557
-
Fariborz Jahanian authored
using property dot-syntax. llvm-svn: 66556
-
Daniel Dunbar authored
llvm-svn: 66555
-
Steve Naroff authored
llvm-svn: 66551
-
Anders Carlsson authored
llvm-svn: 66549
-
Fariborz Jahanian authored
Work in progress. llvm-svn: 66546
-
Chris Lattner authored
llvm-svn: 66544
-
Ted Kremenek authored
llvm-svn: 66538
-
Chris Lattner authored
done in sema, and is reflected by the existing PR3258. In the meantime, fix PR3682 by disabling a bogus assertion (which doesn't account for + operands). llvm-svn: 66533
-
Chris Lattner authored
add support for modifiers on named references, like %c[foo]. llvm-svn: 66532
-
Chris Lattner authored
time handle + operands in operand counting, fixing asm.c:t7 to expand into $2 instead of $1. llvm-svn: 66531
-
Chris Lattner authored
temporary std::string to fix a fixme. llvm-svn: 66530
-
Chris Lattner authored
asm. This allows us to properly handle the case when an optimizer duplicates the asm, such as here: void bar() { int i; for (i = 0; i < 3; ++i) asm("foo %=" : : "r"(0)); } we now produce: _bar: xorl %eax, %eax ## InlineAsm Start foo 0 ## InlineAsm End ## InlineAsm Start foo 1 ## InlineAsm End ## InlineAsm Start foo 2 ## InlineAsm End ret instead of: _bar: xorl %eax, %eax ## InlineAsm Start foo 1 ## InlineAsm End ## InlineAsm Start foo 1 ## InlineAsm End ## InlineAsm Start foo 1 ## InlineAsm End ret This also fixes a fixme by eliminating a static. llvm-svn: 66528
-
Ted Kremenek authored
- Group control flow and event PathDiagnosticPieces into PathDiagnosticMacroPieces. - Afterwards, eliminate any PathDiagnosticMacroPieces from a PathDiagnostic that contain no informative events. HTMLDiagnostics: - Use new information about PathDiagnosticMacroPieces to specially format message bubbles for macro expansions containing interesting events. llvm-svn: 66524
-
Ted Kremenek authored
specific point sizes. llvm-svn: 66523
-
Ted Kremenek authored
llvm-svn: 66522
-
Chris Lattner authored
llvm-svn: 66521
-
Chris Lattner authored
ConvertAsmString and shrink it a bit. No functionality change. llvm-svn: 66520
-
Ted Kremenek authored
- Correctly set "ControlFlow" kind (fix regression) PathDiagnosticMacroPiece: - add method "containsEvent" to determine if a PathDiagnosticMacroPiece transitively contains a PathDiagnosticEvent llvm-svn: 66519
-
Ted Kremenek authored
llvm-svn: 66518
-
Daniel Dunbar authored
llvm-svn: 66516
-
Douglas Gregor authored
(default: 99). Beyond this limit, produce an error and consider the current template instantiation a failure. The stack we're building to track the instantiations will, eventually, be used to produce instantiation backtraces from diagnostics within template instantiation. However, we're not quite there yet. This adds a new Clang driver option -ftemplate-depth=NNN, which should eventually be generated from the GCC command-line operation -ftemplate-depth-NNN (note the '-' rather than the '='!). I did not make the driver changes to do this mapping. llvm-svn: 66513
-
Daniel Dunbar authored
module symbol table. The root problem inspiring this was fixed in r66316 (and again in r66506). llvm-svn: 66512
-
Douglas Gregor authored
llvm-svn: 66510
-
Douglas Gregor authored
such as replacing 'T' in vector<T>. There are a few aspects to this: - Extend TemplateArgument to allow arbitrary expressions (an Expr*), and switch ClassTemplateSpecializationType to store TemplateArguments rather than it's own type-or-expression representation. - ClassTemplateSpecializationType can now store dependent types. In that case, the canonical type is another ClassTemplateSpecializationType (with default template arguments expanded) rather than a declaration (we don't build Decls for dependent types). - Split ActOnClassTemplateId into ActOnClassTemplateId (called from the parser) and CheckClassTemplateId (called from ActOnClassTemplateId and InstantiateType). They're smart enough to handle dependent types, now. llvm-svn: 66509
-
Ted Kremenek authored
llvm-svn: 66507
-
Daniel Dunbar authored
llvm-svn: 66506
-
Ted Kremenek authored
llvm-svn: 66491
-
- Mar 09, 2009
-
-
Ted Kremenek authored
llvm-svn: 66487
-
Ted Kremenek authored
llvm-svn: 66486
-