- Mar 10, 2009
-
-
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
-
Chris Lattner authored
format strings with the standard ${:foo} syntax. llvm-svn: 66527
-
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
-
Dan Gohman authored
llvm-svn: 66515
-
Stuart Hastings authored
Darwin-specific; marked XFAIL for others. llvm-svn: 66514
-
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
-
Dan Gohman authored
llvm-svn: 66508
-
Ted Kremenek authored
llvm-svn: 66507
-
Daniel Dunbar authored
llvm-svn: 66506
-
Ted Kremenek authored
llvm-svn: 66491
-
Devang Patel authored
llvm-svn: 66490
-
- Mar 09, 2009
-
-
Ted Kremenek authored
llvm-svn: 66487
-
Ted Kremenek authored
llvm-svn: 66486
-
-
Daniel Dunbar authored
llvm-svn: 66481
-
Chris Lattner authored
llvm-svn: 66480
-
Dan Gohman authored
if needed. This simplifies the code a little, and is needed for an upcoming refactoring. llvm-svn: 66479
-
Chris Lattner authored
llvm-svn: 66478
-
Chris Lattner authored
llvm-svn: 66477
-
Chris Lattner authored
llvm-svn: 66474
-
Daniel Dunbar authored
- No intended functionality change. llvm-svn: 66473
-
Chris Lattner authored
allocating memory in the JIT. This is insanely inefficient, but hey, most people implement their own memory managers anyway. Patch by Eric Yew! llvm-svn: 66472
-
Devang Patel authored
llvm-svn: 66471
-
Dan Gohman authored
where memory access types are needed. llvm-svn: 66470
-
Dan Gohman authored
llvm-svn: 66469
-
Chris Lattner authored
a warning and then threw away the AST. While I'm in there, tighten up the code to actually reject completely bogus cases (sending a message to a struct). We still allow sending a message to an int, which doesn't make sense but GCC allows it and is easy to support. llvm-svn: 66468
-
Dan Gohman authored
llvm-svn: 66467
-
Steve Naroff authored
This fixes <rdar://problem/6496506> Implement class setter/getter for properties. llvm-svn: 66465
-
Dan Gohman authored
Use VoidTy instead, to be properly conservative. llvm-svn: 66463
-
Dan Gohman authored
of an instruction into a helper function. llvm-svn: 66460
-