Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						15c435a367 
					 
					
						
						
							
							Retire llvm::array_endof in favor of non-member std::end.  
						
						... 
						
						
						
						While there make array_lengthof constexpr if we have support for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206112  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2014-04-12 16:15:53 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Kledzik 
							
						 
					 
					
						
						
							
						
						8147752976 
					 
					
						
						
							
							Fix layering StringRef copy using BumpPtrAllocator.  
						
						... 
						
						
						
						Now to copy a string into a BumpPtrAllocator and get a StringRef to the copy:
   StringRef myCopy = myStr.copy(myAllocator);
   
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200885  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2014-02-05 22:22:56 +00:00 
						 
				 
			
				
					
						
							
							
								Alp Toker 
							
						 
					 
					
						
						
							
						
						650e286dcf 
					 
					
						
						
							
							Roll back the ConstStringRef change for now  
						
						... 
						
						
						
						There are a couple of interesting things here that we want to check over
(particularly the expecting asserts in StringRef) and get right for general use
in ADT so hold back on this one. For clang we have a workable templated
solution to use in the meanwhile.
This reverts commit r200187.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200194  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2014-01-27 05:24:39 +00:00 
						 
				 
			
				
					
						
							
							
								Alp Toker 
							
						 
					 
					
						
						
							
						
						bad91954cf 
					 
					
						
						
							
							StringRef: Extend constexpr capabilities and introduce ConstStringRef  
						
						... 
						
						
						
						(1) Add llvm_expect(), an asserting macro that can be evaluated as a constexpr
    expression as well as a runtime assert or compiler hint in release builds. This
    technique can be used to construct functions that are both unevaluated and
    compiled depending on usage.
(2) Update StringRef using llvm_expect() to preserve runtime assertions while
    extending the same checks to static asserts in C++11 builds that support the
    feature.
(3) Introduce ConstStringRef, a strong subclass of StringRef that references
    compile-time constant strings. It's convertible to, but not from, ordinary
    StringRef and thus can be used to add compile-time safety to various interfaces
    in LLVM and clang that only accept fixed inputs such as diagnostic format
    strings that tend to get misused.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200187  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2014-01-27 04:07:17 +00:00 
						 
				 
			
				
					
						
							
							
								Chandler Carruth 
							
						 
					 
					
						
						
							
						
						974a445bd9 
					 
					
						
						
							
							Re-sort all of the includes with ./utils/sort_includes.py so that  
						
						... 
						
						
						
						subsequent changes are easier to review. About to fix some layering
issues, and wanted to separate out the necessary churn.
Also comment and sink the include of "Windows.h" in three .inc files to
match the usage in Memory.inc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198685  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2014-01-07 11:48:04 +00:00 
						 
				 
			
				
					
						
							
							
								Rui Ueyama 
							
						 
					 
					
						
						
							
						
						f34c3ca304 
					 
					
						
						
							
							Add {start,end}with_lower methods to StringRef.  
						
						... 
						
						
						
						startswith_lower is ocassionally useful and I think worth adding.
endwith_lower is added for completeness.
Differential Revision: http://llvm-reviews.chandlerc.com/D2041 
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193706  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-10-30 18:32:26 +00:00 
						 
				 
			
				
					
						
							
							
								Rui Ueyama 
							
						 
					 
					
						
						
							
						
						bc850d0c6c 
					 
					
						
						
							
							Add a few tests for StringRef::{start,end}with.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193550  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-10-28 22:42:54 +00:00 
						 
				 
			
				
					
						
							
							
								Joerg Sonnenberger 
							
						 
					 
					
						
						
							
						
						f57a80f494 
					 
					
						
						
							
							Add a Python-like join function to merge a list of strings with a  
						
						... 
						
						
						
						separator between each two elements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189846  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-09-03 20:43:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chandler Carruth 
							
						 
					 
					
						
						
							
						
						5a88dda4be 
					 
					
						
						
							
							Sort the #include lines for unittest/...  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169250  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-12-04 10:23:08 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Kledzik 
							
						 
					 
					
						
						
							
						
						436eaa88fd 
					 
					
						
						
							
							Use unsigned long long instead of uin64_t for OS where that matters.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165147  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-10-03 19:27:25 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						e25de4ae04 
					 
					
						
						
							
							Don't call getAsUnsignedInteger directly, it fails to compile if uint64_t is not "unsigned long long".  
						
						... 
						
						
						
						while there add more test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165140  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-10-03 18:54:36 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Kledzik 
							
						 
					 
					
						
						
							
						
						7a0f86fa78 
					 
					
						
						
							
							Add getAsUnsignedInteger test case that checks that known bad values are rejected  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165136  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-10-03 18:15:27 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						b0940b46ed 
					 
					
						
						
							
							[Support/StringRef] Add find_last_not_of and {r,l,}trim.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156652  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-11 22:08:50 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						dbb4b2fb5e 
					 
					
						
						
							
							Fix warnings.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152522  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-11 00:51:01 +00:00 
						 
				 
			
				
					
						
							
							
								Michael J. Spencer 
							
						 
					 
					
						
						
							
						
						9130b42a85 
					 
					
						
						
							
							Make StringRef::getAsInteger work with all integer types. Before this change  
						
						... 
						
						
						
						it would fail with {,u}int64_t on x86-64 Linux.
This also removes code duplication.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152517  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-10 23:02:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chandler Carruth 
							
						 
					 
					
						
						
							
						
						528f0bbe19 
					 
					
						
						
							
							Add generic support for hashing StringRef objects using the new hashing library.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152003  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-04 10:55:27 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						6e6a558ebc 
					 
					
						
						
							
							Add a bad char heuristic to StringRef::find.  
						
						... 
						
						
						
						Based on Horspool's simplified version of Boyer-Moore. We use a constant-sized table of
uint8_ts to keep cache thrashing low, needles bigger than 255 bytes are uncommon anyways.
The worst case is still O(n*m) but we do a lot better on the average case now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142061  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-15 10:08:31 +00:00 
						 
				 
			
				
					
						
							
							
								Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						7850dd0f25 
					 
					
						
						
							
							Fix a bug in compare_numeric().  
						
						... 
						
						
						
						Thanks to Alexandru Dura and Jonas Paulsson for finding it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140859  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-09-30 17:03:55 +00:00 
						 
				 
			
				
					
						
							
							
								Lenny Maiorani 
							
						 
					 
					
						
						
							
						
						6cf081cbe5 
					 
					
						
						
							
							Remove bounded StringRef::compare() since nothing but Clang SA was using it and it is just as easy to use StringRef::substr() preceding StringRef::compare() to achieve the same thing.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130430  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-28 20:20:12 +00:00 
						 
				 
			
				
					
						
							
							
								Lenny Maiorani 
							
						 
					 
					
						
						
							
						
						437ef0cfb7 
					 
					
						
						
							
							Implements StringRef::compare with bounds. It is behaves similarly to strncmp(). Unit tests also included.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129582  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-15 17:56:50 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b3371cdf5e 
					 
					
						
						
							
							Don't infinitely recurse!  Patch by Marius Wachtler!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124366  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-27 07:35:27 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						837bccd052 
					 
					
						
						
							
							StringRef::compare_numeric also differed from StringRef::compare for characters > 127.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112189  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-26 15:25:35 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						0043e35b82 
					 
					
						
						
							
							Do unsigned char comparisons in StringRef::compare_lower to be more consistent with compare in corner cases.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112185  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-26 14:21:08 +00:00 
						 
				 
			
				
					
						
							
							
								Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						160a3bf74d 
					 
					
						
						
							
							Add StringRef::compare_numeric and use it to sort TableGen register records.  
						
						... 
						
						
						
						This means that our Registers are now ordered R7, R8, R9, R10, R12, ...
Not R1, R10, R11, R12, R2, R3, ...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104745  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-26 21:47:28 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						4760467ff2 
					 
					
						
						
							
							Silence compiler warning.  
						
						... 
						
						
						
						warning: comparison between signed and unsigned integer expressions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92359  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-31 16:27:13 +00:00 
						 
				 
			
				
					
						
							
							
								Douglas Gregor 
							
						 
					 
					
						
						
							
						
						7e54d5b156 
					 
					
						
						
							
							Document the edit-distance algorithm used in StringRef, switch it over  
						
						... 
						
						
						
						to SmallVector, and add a unit test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92340  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-31 04:24:34 +00:00 
						 
				 
			
				
					
						
							
							
								Douglas Gregor 
							
						 
					 
					
						
						
							
						
						c883ad2dd8 
					 
					
						
						
							
							Move the two definitions of operator<< into namespace llvm, so they  
						
						... 
						
						
						
						will be found by argument-dependent lookup. As with the previous
commit, GCC is allowing ill-formed code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92146  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-24 21:15:37 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						d5b1f8a842 
					 
					
						
						
							
							Change StringRef::startswith and StringRef::endswith to versions which are a  
						
						... 
						
						
						
						bit more verbose, but optimize to much shorter code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91817  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-21 06:49:24 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						49123250ae 
					 
					
						
						
							
							Reenable Split2 StringRef test with Apple gcc.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89357  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-19 16:04:41 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						0d753ec30e 
					 
					
						
						
							
							"XFAIL" the Split2 StringReft test with Apple gcc, which miscompiles it.  
						
						... 
						
						
						
						- I plan on fixing/workarounding this, but until then I'd like the bots to stay
   green.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89077  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-17 09:29:59 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						20fd4ec8c5 
					 
					
						
						
							
							Distinguish "a," from "a". The first one splits into "a" + "" and the second one into  
						
						... 
						
						
						
						"a" + 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87084  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-13 04:55:09 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						c78c0c99a0 
					 
					
						
						
							
							Switch to smallvector. Also fix issue with using unsigend for MaxSplit.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87068  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-13 02:18:25 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						5ccac24726 
					 
					
						
						
							
							Add a new split method to StringRef that puts the substrings in a vector.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87058  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-13 01:24:40 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						64066bd8b5 
					 
					
						
						
							
							Add From arguments to StringRef search functions, and tweak doxyments.  
						
						... 
						
						
						
						Also, add unittests for find_first_of and find_first_not_of.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86770  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-11 00:28:53 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						e65512809a 
					 
					
						
						
							
							Add StringRef::{rfind, rsplit}  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82087  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-16 22:38:48 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						323a3e6533 
					 
					
						
						
							
							Fix pasto in StringRef::count(char)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79356  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-18 18:34:22 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						5caba3bcb1 
					 
					
						
						
							
							Add StringRef::count({char,StringRef})  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79354  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-18 18:26:35 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						0ad7f9bb2f 
					 
					
						
						
							
							StringRef: Add find(char) and find(StringRef).  
						
						... 
						
						
						
						Also, regroup functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78712  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-11 20:47:15 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						d61918fc68 
					 
					
						
						
							
							Add StringRef::{slice, split}, two convenient string operations which are simple  
						
						... 
						
						
						
						and efficient on a StringRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77117  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-26 03:18:15 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						dbe77cfa0b 
					 
					
						
						
							
							Support writing a StringRef to a raw_ostream directly.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76754  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-22 17:13:20 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						f5fdf73238 
					 
					
						
						
							
							Add StringRef::{substr, startswith}.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76559  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-21 09:18:49 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						4cf95d75c6 
					 
					
						
						
							
							Add StringRef class, with fixes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76543  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-21 07:28:51 +00:00