- Apr 29, 2010
-
-
Douglas Gregor authored
specializations, substitute the deduced template arguments and check the resulting substitution before concluding that template argument deduction succeeds. This marvelous little fix makes a bunch of Boost.Spirit tests start working. llvm-svn: 102601
-
Douglas Gregor authored
specializations, separate out the deduction part from the checking and substitution of the deduced arguments. llvm-svn: 102600
-
Nick Lewycky authored
llvm-svn: 102599
-
Mon P Wang authored
NAN != NAN ? 1 : 0 should return 1. Also fix the case for complex. llvm-svn: 102598
-
Evan Cheng authored
should use esp / rsp to reference frame instead. llvm-svn: 102596
-
Douglas Gregor authored
bindings when the template argument is still an expression; it happens while checking the template arguments of a class template partial specializations. Fixes PR6964. llvm-svn: 102595
-
Mon P Wang authored
llvm-svn: 102594
-
Evan Cheng authored
llvm-svn: 102590
-
Ted Kremenek authored
llvm-svn: 102588
-
Ted Kremenek authored
llvm-svn: 102587
-
Evan Cheng authored
llvm-svn: 102585
-
Dan Gohman authored
llvm-svn: 102584
-
Evan Cheng authored
llvm-svn: 102581
-
John McCall authored
llvm-svn: 102580
-
John McCall authored
template decl itself, not its context. Testcase to follow; fixes selfhost. llvm-svn: 102578
-
Evan Cheng authored
llvm-svn: 102577
-
Ted Kremenek authored
llvm-svn: 102576
-
Evan Cheng authored
llvm-svn: 102573
-
John McCall authored
template argument deduction or (more importantly) the final substitution required by such deduction. Makes access control magically work in these cases. Fixes PR6967. llvm-svn: 102572
-
Douglas Gregor authored
classes, since we only warn (not error) on offsetof() for non-POD types. We store the base path within the OffsetOfExpr itself, then evaluate the offsets within the constant evaluator. llvm-svn: 102571
-
Evan Cheng authored
- Also, update dbg_value is the value is being re-matted from a frame slot, e.g. fixed slots for arguments. llvm-svn: 102565
-
Daniel Dunbar authored
runtime library stuff, even if compiler-rt is available. llvm-svn: 102560
-
Daniel Dunbar authored
- <rdar://problem/7919678> llvm-svn: 102559
-
Devang Patel authored
llvm-svn: 102558
-
Kevin Enderby authored
Operand size override prefix to be part of their records. llvm-svn: 102556
-
Evan Cheng authored
Replace r102368 with code that's less fragile. This creates DBG_VALUE instructions for function arguments early and insert them after instruction selection is done. llvm-svn: 102554
-
Alexis Hunt authored
as well as pre- and post-inc/decrements in C (not that I think it matters for any C code). llvm-svn: 102552
-
Douglas Gregor authored
Fix template instantiation for __builtin_offfsetof expressions that refer to members of anonymous structs/unions llvm-svn: 102551
-
Nate Begeman authored
llvm-svn: 102549
-
Douglas Gregor authored
llvm-svn: 102548
-
Chris Lattner authored
llvm-svn: 102547
-
Fariborz Jahanian authored
of c++ objects (NeXt runtime). radar 7900343. llvm-svn: 102546
-
Dale Johannesen authored
llvm-svn: 102545
-
Dale Johannesen authored
llvm-svn: 102544
-
Douglas Gregor authored
Amadini. This change introduces a new expression node type, OffsetOfExpr, that describes __builtin_offsetof. Previously, __builtin_offsetof was implemented using a unary operator whose subexpression involved various synthesized array-subscript and member-reference expressions, which was ugly and made it very hard to instantiate as a template. OffsetOfExpr represents the AST more faithfully, with proper type source information and a more compact representation. OffsetOfExpr also has support for dependent __builtin_offsetof expressions; it can be value-dependent, but will never be type-dependent (like sizeof or alignof). This commit introduces template instantiation for __builtin_offsetof as well. There are two major caveats to this patch: 1) CodeGen cannot handle the case where __builtin_offsetof is not a constant expression, so it produces an error. So, to avoid regressing in C, we retain the old UnaryOperator-based __builtin_offsetof implementation in C while using the shiny new OffsetOfExpr implementation in C++. The old implementation can go away once we have proper CodeGen support for this case, which we expect won't cause much trouble in C++. 2) __builtin_offsetof doesn't work well with non-POD class types, particularly when the designated field is found within a base class. I will address this in a subsequent patch. Fixes PR5880 and a bunch of assertions when building Boost.Python tests. llvm-svn: 102542
-
- Apr 28, 2010
-
-
Fariborz Jahanian authored
ivar class objects (NeXt runtime). (radar 7900343). llvm-svn: 102533
-
Bob Wilson authored
be installed. Disable it by default. llvm-svn: 102531
-
Jim Grosbach authored
Add sizes non-floating point versions for the eh sjlj intrinsic expansions. rdar://7895451 llvm-svn: 102526
-
Devang Patel authored
Update tests. Now DBG_VALUE instruction is created only if alloca corresponding to llvm.dbg.declare is missing. llvm-svn: 102524
-
Chris Lattner authored
Patch by Lars R in PR6961. llvm-svn: 102523
-