- Jun 14, 2009
-
-
Fariborz Jahanian authored
Patch by Jean-Daniel Dupas llvm-svn: 73343
-
Torok Edwin authored
llvm-svn: 73342
-
Nuno Lopes authored
llvm-svn: 73341
-
Owen Anderson authored
is that, for functions whose bodies are entirely guarded by an if-statement, it can be profitable to pull the test out of the callee and into the caller. This code has had some cursory testing, but still has a number of known issues on the LLVM test suite. llvm-svn: 73338
-
Douglas Gregor authored
that were suppressed due to SFINAE. By checking whether any errors occur at the end of template argument deduction, we avoid the possibility of suppressing an error (due to SFINAE) and then recovering so well that template argument deduction never detects that there was a problem. Thanks to Eli for the push in this direction. llvm-svn: 73336
-
Bruno Cardoso Lopes authored
Introduce new BinaryObject (blob) class, ELF Writer modified to use it. BinaryObject.h by Aaron Gray llvm-svn: 73333
-
Douglas Gregor authored
Implement support for C++ Substitution Failure Is Not An Error (SFINAE), which says that errors that occur during template argument deduction do *not* produce diagnostics and do not necessarily make a program ill-formed. Instead, template argument deduction silently fails. This is currently implemented for template argument deduction during matching of class template partial specializations, although the mechanism will also apply to template argument deduction for function templates. The scheme is simple: - If we are in a template argument deduction context, any diagnostic that is considered a SFINAE error (or warning) will be suppressed. The error will be propagated up the call stack via the normal means. - By default, all warnings and errors are SFINAE errors. Add the NoSFINAE class to a diagnostic in the .td file to make it a hard error (e.g., for access-control violations). Note that, to make this fully work, every place in Sema that emits an error *and then immediately recovers* will need to check Sema::isSFINAEContext() to determine whether it must immediately return an error rather than recovering. llvm-svn: 73332
-
Douglas Gregor authored
llvm-svn: 73331
-
Nick Lewycky authored
llvm-svn: 73323
-
Eli Friedman authored
foo has a constant address. llvm-svn: 73321
-
Shantonu Sen authored
llvm-svn: 73320
-
Chris Lattner authored
preprocessor and initialize it early in clang-cc. This ensures that __has_builtin works in all modes, not just when ASTContext is around. llvm-svn: 73319
-
Chris Lattner authored
fixes a layering violation in lib/Basic/Targets.cpp. llvm-svn: 73318
-
Chris Lattner authored
llvm-svn: 73317
-
Chris Lattner authored
llvm-svn: 73316
-
Chris Lattner authored
ExpectAndConsume instead of custom diag logic. This gets us an insertion hint and positions the ; at the end of the line instead of on the next token. Before: t.c:5:1: error: expected ';' after return statement } ^ after: t.c:4:11: error: expected ';' after return statement return 4 ^ ; llvm-svn: 73315
-
Chris Lattner authored
diagnostics in some cases. llvm-svn: 73314
-
Chris Lattner authored
the check for extern "c" system headers, which should prevent functiondecls from being mangled. llvm-svn: 73311
-
Chris Lattner authored
llvm-svn: 73310
-
- Jun 13, 2009
-
-
Eli Friedman authored
x86-32. This is slightly messy, but I think it's consistent with gcc. llvm-svn: 73306
-
Chris Lattner authored
warnings when building with VC++, patch by AlisdairM! llvm-svn: 73305
-
Chris Lattner authored
llvm-svn: 73304
-
Daniel Dunbar authored
llvm-svn: 73301
-
Daniel Dunbar authored
llvm-svn: 73300
-
Nick Lewycky authored
pointer. This fixes kimwitu++. Pointed out by Frits van Bommel on review! llvm-svn: 73299
-
Daniel Dunbar authored
- TestRunner.sh still needs to be moved over. - Please let me know if you find problems / missing features. llvm-svn: 73298
-
Anders Carlsson authored
Have CheckClassTemplatePartialSpecializationArgs take a TemplateArgumentListBuilder. No functionality change. llvm-svn: 73297
-
Chris Lattner authored
llvm-svn: 73296
-
Sanjiv Gupta authored
The subprogram descriptor for a function may be missing (llvm-ld linking two static functions with same name), so pick up the compilation unit for the function from the first valid debug loc of its instructions. This patch also emits debug info for structure (aggregate types in general) types. llvm-svn: 73295
-
Dan Gohman authored
induction variable when the addrec to be expanded does not require a wider type. This eliminates the need for IndVarSimplify to micro-manage SCEV expansions, because SCEVExpander now automatically expands them in the form that IndVarSimplify considers to be canonical. (LSR still micro-manages its SCEV expansions, because it's optimizing for the target, rather than for other optimizations.) Also, this uses the new getAnyExtendExpr, which has more clever expression simplification logic than the IndVarSimplify code it replaces, and this cleans up some ugly expansions in code such as the included masked-iv.ll testcase. llvm-svn: 73294
-
Dan Gohman authored
extension with unspecified bits. llvm-svn: 73293
-
Eli Friedman authored
of the elements. Issue reported on cfe-dev by Mattias Holm. llvm-svn: 73292
-
Evan Cheng authored
consecutive addresses togther. This makes it easier for the post-allocation pass to form ldm / stm. This is step 1. We are still missing a lot of ldm / stm opportunities because of register allocation are not done in the desired order. More enhancements coming. llvm-svn: 73291
-
Chris Lattner authored
builtin preprocessor macro. This appears to work with two caveats: 1) builtins are registered in -E mode, and 2) target-specific builtins are unconditionally registered even if they aren't supported by the target (e.g. SSE4 builtin when only SSE1 is enabled). llvm-svn: 73289
-
Douglas Gregor authored
Move a bunch of tests into temp.param, and write a few tests for paragraphs that hadn't been touched before llvm-svn: 73288
-
Daniel Dunbar authored
llvm-svn: 73287
-
Douglas Gregor authored
llvm-svn: 73286
-
Eli Friedman authored
I'm not completely sure this is the right way to fix this issue, but it seems reasonable, and it's consistent with the non-template code for this construct. llvm-svn: 73285
-
Anders Carlsson authored
If a CXXRecordDecl is a class template, the 'this' type should be the injected class name type. Fixes pr4383. llvm-svn: 73284
-
Devang Patel authored
llvm.dbg.region.end() intrinsic is not required to be in _last_ basic block in a function. If that happens then any basic block that follows (lexically) the block with regin.end will not have scope info available. LexicalScopeStack relies on processing basic block in CFG order, but this processing order is not guaranteed. Things get complicated when the optimizer gets a chance to optimizer IR with dbg intrinsics. Apply defensive patch to preserve at least one lexical scope till the end of function. llvm-svn: 73282
-