- Nov 29, 2009
-
-
Daniel Dunbar authored
llvm-svn: 90091
-
- Sep 09, 2009
-
-
Mike Stump authored
llvm-svn: 81346
-
- Mar 02, 2009
-
-
Daniel Dunbar authored
driver taking lib/Driver. llvm-svn: 65811
-
- Feb 17, 2009
-
-
Ben Laurie authored
llvm-svn: 64770
-
- Jan 17, 2009
-
-
Chris Lattner authored
*is* the location. This eliminates some weird X.getLocation().getLocation()'s. llvm-svn: 62376
-
- Nov 19, 2008
-
-
Chris Lattner authored
This also makes it illegal to have bare '%'s in diagnostics. If you want a % in a diagnostic, use %%. llvm-svn: 59596
-
- Nov 18, 2008
-
-
Chris Lattner authored
are formed. In particular, a diagnostic with all its strings and ranges is now packaged up and sent to DiagnosticClients as a DiagnosticInfo instead of as a ton of random stuff. This has the benefit of simplifying the interface, making it more extensible, and allowing us to do more checking for things like access past the end of the various arrays passed in. In addition to introducing DiagnosticInfo, this also substantially changes how Diagnostic::Report works. Instead of being passed in all of the info required to issue a diagnostic, Report now takes only the required info (a location and ID) and returns a fresh DiagnosticInfo *by value*. The caller is then free to stuff strings and ranges into the DiagnosticInfo with the << operator. When the dtor runs on the DiagnosticInfo object (which should happen at the end of the statement), the diagnostic is actually emitted with all of the accumulated information. This is a somewhat tricky dance, but it means that the accumulated DiagnosticInfo is allowed to keep pointers to other expression temporaries without those pointers getting invalidated. This is just the minimal change to get this stuff working, but this will allow us to eliminate the zillions of variant "Diag" methods scattered throughout (e.g.) sema. For example, instead of calling: Diag(BuiltinLoc, diag::err_overload_no_match, typeNames, SourceRange(BuiltinLoc, RParenLoc)); We will soon be able to just do: Diag(BuiltinLoc, diag::err_overload_no_match) << typeNames << SourceRange(BuiltinLoc, RParenLoc)); This scales better to support arbitrary types being passed in (not just strings) in a type-safe way. Go operator overloading?! llvm-svn: 59502
-
Chris Lattner authored
strings instead of array of strings. This reduces string copying in some not-very-important cases, but paves the way for future improvements. llvm-svn: 59494
-
- Oct 24, 2008
-
-
Douglas Gregor authored
conversions. Added PerformImplicitConversion, which follows an implicit conversion sequence computed by TryCopyInitialization and actually performs the implicit conversions, including the extra check for ambiguity mentioned above. llvm-svn: 58071
-
- Sep 11, 2008
-
-
Douglas Gregor authored
llvm-svn: 56089
-
- Aug 11, 2008
-
-
Daniel Dunbar authored
- Kill unnecessary #includes in .cpp files. This is an automatic sweep so some things removed are actually used, but happen to be included by a previous header. I tried to get rid of the obvious examples and this was the easiest way to trim the #includes in one fell swoop. - We now return to regularly scheduled development. llvm-svn: 54632
-
- Aug 06, 2008
-
-
Nico Weber authored
llvm-svn: 54383
-
- Dec 29, 2007
-
-
Chris Lattner authored
discussion of this change. llvm-svn: 45410
-
- Dec 12, 2007
-
-
Ted Kremenek authored
Moved all clients of Diagnostics to use FullSourceLoc instead of SourceLocation. Added many utility methods to FullSourceLoc to provide shorthand for: FullLoc.getManager().someMethod(FullLoc.getLocation()); instead we have: FullLoc.someMethod(); Modified TextDiagnostics (and related classes) to use this short-hand. llvm-svn: 44957
-
- Dec 11, 2007
-
-
Ted Kremenek authored
SourceManager*'s instead of SourceManager&'s. This allows the client specify a NULL SourceManager when using a default constructed SourceLocation. Thus the SourceManager can be NULL when the SourceLocation's isValid() == false. The interface to most clients of Diagnostic remains the same. Diagnostic::Report() is overload to either accept a SourceLocation and a SourceManager&, or neither. Thus clients that do not have a SourceManager cannot specify a SourceLocation. Modified TextDiagnostics* to use this new interface. Modified the driver to not passed in SourceManager when warning about "-I-". llvm-svn: 44887
-
Ted Kremenek authored
SourceManager is passed by reference, allowing the SourceManager to be associated with a specific translation unit, and not the entire execution of the driver. Modified all users of Diagnostics to comply with this new interface. Integrated SourceManager as a member variable of TargetInfo. TargetInfo will eventually be associated with a single translation unit (just like SourceManager). Made the SourceManager reference in ASTContext private. Provided accessor getSourceManager() for clients to use instead. Modified clients to comply with new interface. llvm-svn: 44878
-
- Nov 30, 2007
-
-
Chris Lattner authored
that are builtin and those that are aren't. This is a bunch of API refactoring that will make this possible, but there is no functionality change yet. llvm-svn: 44473
-
- Jun 27, 2007
-
-
Bill Wendling authored
Reviewed by: Chris Lattner - Added a new diagnostic client, TextDiagnosticBuffer. It buffers all reported diagnostics. - Use the new diagnostic client to check that expected diagnostics are actually emitted. The way this is done is to put the expected diagnostic in a comment on the line you expect it to be emitted for. Like this: int X = A; // expected-warning {{blah}} - Use -parse-ast-check to use this feature. llvm-svn: 39678
-