- Mar 04, 2011
-
-
Eric Christopher authored
llvm-svn: 127043
-
Douglas Gregor authored
llvm-svn: 127042
-
Douglas Gregor authored
too. Fixes PR7900. While I'm in this area, improve the diagnostic when the type being destroyed doesn't match either of the types we found. llvm-svn: 127041
-
Jakob Stoklund Olesen authored
llvm-svn: 127040
-
Bill Wendling authored
llvm-svn: 127039
-
Bill Wendling authored
llvm-svn: 127038
-
Douglas Gregor authored
to cope with non-type templates by providing appropriate errors. Previously, we would either assert, crash, or silently build a dependent type when we shouldn't. Fixes PR9226. llvm-svn: 127037
-
Jakob Stoklund Olesen authored
It gives better results. Sometimes, a live range can be large and still have high spill weight. Such a range should not be spilled. llvm-svn: 127036
-
Bruno Cardoso Lopes authored
llvm-svn: 127034
-
Bruno Cardoso Lopes authored
llvm-svn: 127033
-
Bruno Cardoso Lopes authored
Expands register/immediate pairs when the immediate is too large to fit in 16-bit field. Patch by Akira Hatanaka llvm-svn: 127032
-
Dan Gohman authored
bitcasts, which are really no-ops here. This fixes slowdowns on MultiSource/Applications/aha and others. llvm-svn: 127031
-
Douglas Gregor authored
to find the instantiated declaration within a template instantiation fails to do so. It's likely that the original instantiation got dropped due to instantiation failures, which doesn't actually break the invariants of the AST. This eliminates a number of crash-on-invalid failures, e.g., PR9300. llvm-svn: 127030
-
Bruno Cardoso Lopes authored
llvm-svn: 127029
-
Joerg Sonnenberger authored
that contain only letters, digits and the characters "_" and ".". llvm-svn: 127028
-
Bruno Cardoso Lopes authored
llvm-svn: 127027
-
Benjamin Kramer authored
inefficient file system buffering if the writes are not a multiple of the desired buffer size. Avoid this by limiting the large write to a multiple of the buffer size and copying the remainder into the buffer. Thanks to Dan for pointing this out. llvm-svn: 127026
-
Johnny Chen authored
llvm-svn: 127025
-
Douglas Gregor authored
properly cope with NULL return values. llvm-svn: 127024
-
Jakob Stoklund Olesen authored
Initially, slot indexes are quad-spaced. There is room for inserting up to 3 new instructions between the original instructions. When we run out of indexes between two instructions, renumber locally using double-spaced indexes. The original quad-spacing means that we catch up quickly, and we only have to renumber a handful of instructions to get a monotonic sequence. This is much faster than renumbering the whole function as we did before. llvm-svn: 127023
-
Devang Patel authored
llvm-svn: 127022
-
Nick Lewycky authored
llvm-svn: 127021
-
Bruno Cardoso Lopes authored
llvm-svn: 127020
-
Devang Patel authored
Disable ARMGlobalMerge on darwin. The debugger is not yet able to extract individual variable's info from merged global. llvm-svn: 127019
-
Devang Patel authored
Emit a stop point before a call expression so that debugger has some chance of getting some footing when user wants to stop at 2nd bar() in following expression when all function calls are inlined. = bar() + ... + bar() + ... clang keeps track of column numbers, so we could put location entries for all subexpressions but that will significantly bloat debug info in general, but a location for call expression is helpful here. llvm-svn: 127018
-
Bruno Cardoso Lopes authored
llvm-svn: 127017
-
Douglas Gregor authored
DependentTemplateSpecializationType during tree transformation, retain the NestedNameSpecifierLoc as it was used to translate the template name, rather than reconstructing it from the template name. Fixes PR9401. llvm-svn: 127015
-
Jakob Stoklund Olesen authored
You can't really predict how many indexes will be needed from the number of defs, so let's keep it simple. Also remove an extra empty index that was inserted after each basic block. It was intended for live-out ranges, but it was never used that way. llvm-svn: 127014
-
Jakob Stoklund Olesen authored
llvm-svn: 127013
-
Douglas Gregor authored
capture the template parameters of template template parameters. llvm-svn: 127012
-
Johnny Chen authored
This allows us to override CFLAGS on the command line: $ CFLAGS='-arch $(ARCH) -gdwarf-2 -O0' ./dotest.py -C clang -A i386 -v objc-optimized Session logs for test failures/errors will go into directory '2011-03-04-10_33_57' Command invoked: python ./dotest.py -C clang -A i386 -v objc-optimized ---------------------------------------------------------------------- Collected 2 tests 1: test_break_with_dsym (TestObjcOptimized.ObjcOptimizedTestCase) Test 'expr member' continues to work for optimized build. ... ok 2: test_break_with_dwarf (TestObjcOptimized.ObjcOptimizedTestCase) Test 'expr member' continues to work for optimized build. ... ok ---------------------------------------------------------------------- Ran 2 tests in 1.902s OK $ llvm-svn: 127011
-
Benjamin Kramer authored
raw_ostream: If writing a string that is larger than the buffer, write it directly instead of doing many buffer-sized writes. This caps the number of write(2) calls per string to a maximum of 2. llvm-svn: 127010
-
Johnny Chen authored
test that objective-c expression parser continues to work for optimized build. Radar filed: # rdar://problem/9087739 # test failure: objc_optimized does not work for "-C clang -A i386" llvm-svn: 127009
-
Jakob Stoklund Olesen authored
llvm-svn: 127008
-
Jakob Stoklund Olesen authored
llvm-svn: 127007
-
Jakob Stoklund Olesen authored
llvm-svn: 127006
-
Bruno Cardoso Lopes authored
llvm-svn: 127005
-
Douglas Gregor authored
DeclContext once we've created it. This mirrors what we do for function parameters, where the parameters start out with translation-unit context and then are adopted by the appropriate DeclContext when it is created. Also give template parameters public access and make sure that they don't show up for the purposes of name lookup. Fixes PR9400, a regression introduced by r126920, which implemented substitution of default template arguments provided in template template parameters (C++ core issue 150). How on earth could the DeclContext of a template parameter affect the handling of default template arguments? I'm so glad you asked! The link is Sema::getTemplateInstantiationArgs(), which determines the outer template argument lists that correspond to a given declaration. When we're instantiating a default template argument for a template template parameter within the body of a template definition (not it's instantiation, per core issue 150), we weren't getting any outer template arguments because the context of the template template parameter was the translation unit. Now that the context of the template template parameter is its owning template, we get the template arguments from the injected-class-name of the owning template, so substitution works as it should. llvm-svn: 127004
-
Bruno Cardoso Lopes authored
llvm-svn: 127003
-
Abramo Bagnara authored
template <class T> void foo(); template <> void foo<int>(); /* Spec 1 */ template <> void foo<int>(); /* Spec 2 */ If we look at the main location of the first explicit specialization (Spec 1) it can be seen that it points to the name of the *second* explicit specialization (Spec 2), which is a redeclaration of Spec1. Hence, the source range obtained for Spec1 is not only inaccurate, but also invalid (the end location comes before the start location). llvm-svn: 127002
-