Francois Pichet
							
						 
						
							 
							
							
							
							
								
							
							
								c2fac71c75 
								
							 
						 
						
							
							
								
								Revert 131347. It asserts if the specialization in within a class template:  
							
							 
							
							... 
							
							
							
							template<class U> 
struct X1 {
  template<class T> void f(T*);
  template<> void f(int*) { } 
};
Won't be so simple. I need to think more about it.
llvm-svn: 131362 
							
						 
						
							2011-05-14 19:17:07 +00:00  
						
					 
				
					
						
							
							
								 
								Francois Pichet
							
						 
						
							 
							
							
							
							
								
							
							
								6744e14d9c 
								
							 
						 
						
							
							
								
								In Microsoft mode, allow template function explicit specialization at class scope.  
							
							 
							
							... 
							
							
							
							Necessary to parse MFC and MSVC standard lib code.
Example:
struct X {
  template<class T> void f(T) { }
  template<> void f(int) { } 
}
llvm-svn: 131347 
							
						 
						
							2011-05-14 17:46:46 +00:00  
						
					 
				
					
						
							
							
								 
								Francois Pichet
							
						 
						
							 
							
							
							
							
								
							
							
								b796b632a8 
								
							 
						 
						
							
							
								
								In Microsoft mode, allow conversion from pointer to integral type no matter what size the integral type is. Necessary to parse MFC code.  
							
							 
							
							... 
							
							
							
							Example:
void f(char *ptr) {
  char var = (char)ptr;
}
llvm-svn: 131201 
							
						 
						
							2011-05-11 22:13:54 +00:00  
						
					 
				
					
						
							
							
								 
								Francois Pichet
							
						 
						
							 
							
							
							
							
								
							
							
								a7c8da40a8 
								
							 
						 
						
							
							
								
								Fix test.  
							
							 
							
							... 
							
							
							
							llvm-svn: 131077 
							
						 
						
							2011-05-08 23:15:10 +00:00  
						
					 
				
					
						
							
							
								 
								Francois Pichet
							
						 
						
							 
							
							
							
							
								
							
							
								bc6ebb5b76 
								
							 
						 
						
							
							
								
								Allow implicit conversion from function pointer to void* in Microsoft mode.  
							
							 
							
							... 
							
							
							
							Necessary to parse MFC code.
llvm-svn: 131076 
							
						 
						
							2011-05-08 22:52:41 +00:00  
						
					 
				
					
						
							
							
								 
								Francois Pichet
							
						 
						
							 
							
							
							
							
								
							
							
								e900b10a29 
								
							 
						 
						
							
							
								
								Downgrade error "static declaration of 'foo' follows non-static declaration" to a warning in Microsoft mode.  
							
							 
							
							... 
							
							
							
							llvm-svn: 129985 
							
						 
						
							2011-04-22 08:14:00 +00:00  
						
					 
				
					
						
							
							
								 
								Francois Pichet
							
						 
						
							 
							
							
							
							
								
							
							
								48c946e5ef 
								
							 
						 
						
							
							
								
								In Microsoft mode, within class scope, if a CXXScopeSpec's type is equal to the type of one of the base classes then downgrade the missing typename error to a warning. Up to now this is the only case I found where MSVC doesn't require "typename" at class scope. Really strange!  
							
							 
							
							... 
							
							
							
							This fixes 1 error when parsing the MSVC 2008 header files.
Example:
template<class T> class A {
public:
  typedef int TYPE;
};
template<class T> class B : public A<T> {
public:
  A<T>::TYPE a; // no typename required because A<T> is a base class.
};
llvm-svn: 129425 
							
						 
						
							2011-04-13 02:38:49 +00:00  
						
					 
				
					
						
							
							
								 
								Francois Pichet
							
						 
						
							 
							
							
							
							
								
							
							
								53fe2bb29e 
								
							 
						 
						
							
							
								
								MSVC accepts that default parameters be redefined for member functions  
							
							 
							
							... 
							
							
							
							of template class. The new value is ignored.
This fixes 1 error when parsing MSVC 2010 header files with clang.
llvm-svn: 129240 
							
						 
						
							2011-04-10 03:03:52 +00:00  
						
					 
				
					
						
							
							
								 
								Francois Pichet
							
						 
						
							 
							
							
							
							
								
							
							
								117d23c5bc 
								
							 
						 
						
							
							
								
								Add a triple to make the test friendly on no windows platform.  
							
							 
							
							... 
							
							
							
							llvm-svn: 128459 
							
						 
						
							2011-03-29 11:38:04 +00:00  
						
					 
				
					
						
							
							
								 
								Francois Pichet
							
						 
						
							 
							
							
							
							
								
							
							
								3096d209bf 
								
							 
						 
						
							
							
								
								Accept __declspec(dllimport) for function defined at class scope in Microsoft mode.  
							
							 
							
							... 
							
							
							
							This fixes a bunch of errors when compiling MSVC header files with the -DDLL flag.
llvm-svn: 128457 
							
						 
						
							2011-03-29 10:39:17 +00:00  
						
					 
				
					
						
							
							
								 
								Francois Pichet
							
						 
						
							 
							
							
							
							
								
							
							
								13b4e68642 
								
							 
						 
						
							
							
								
								Downgrade err_mismatched_exception_spec to a ExtWarning in Microsoft mode. MSVC doesn't do any validation on exception specifications.  
							
							 
							
							... 
							
							
							
							This remove 1 error when parsing MSVC stl lib with clang.
llvm-svn: 127961 
							
						 
						
							2011-03-19 23:05:18 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								8feeb49662 
								
							 
						 
						
							
							
								
								Semantic checking for exception specifications should be triggered by  
							
							 
							
							... 
							
							
							
							whether C++ exceptions are enabled, not exceptions in general.  PR9358.
llvm-svn: 126820 
							
						 
						
							2011-03-02 02:04:40 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								996a735b88 
								
							 
						 
						
							
							
								
								We need a longer long when testing this pathe Microsoft fixed-underlying-type extension for enumeration types  
							
							 
							
							... 
							
							
							
							llvm-svn: 126250 
							
						 
						
							2011-02-22 21:42:31 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								a1aec29a2d 
								
							 
						 
						
							
							
								
								Enable enumeration types with a fixed underlying type, e.g.,  
							
							 
							
							... 
							
							
							
							enum X : long { Value = 0x100000000 };
when in Microsoft-extension mode (-fms-extensions). This (now C++0x)
feature has been supported since Microsoft Visual Studio .NET 2003.
llvm-svn: 126243 
							
						 
						
							2011-02-22 20:32:04 +00:00  
						
					 
				
					
						
							
							
								 
								Francois Pichet
							
						 
						
							 
							
							
							
							
								
							
							
								7d92ee3852 
								
							 
						 
						
							
							
								
								Remove a c++ file test I inadvertently added in Sema last week.  
							
							 
							
							... 
							
							
							
							llvm-svn: 123608 
							
						 
						
							2011-01-17 01:08:01 +00:00  
						
					 
				
					
						
							
							
								 
								Francois Pichet
							
						 
						
							 
							
							
							
							
								
							
							
								a310806ae5 
								
							 
						 
						
							
							
								
								Microsoft enum extensions. 2 things will change on -fms-extensions:  
							
							 
							
							... 
							
							
							
							1. enum underlying type is int by default.
2. Error "enumerator value is not representable in the underlying type"is a ExtWarning
llvm-svn: 116704 
							
						 
						
							2010-10-18 15:01:13 +00:00  
						
					 
				
					
						
							
							
								 
								Francois Pichet
							
						 
						
							 
							
							
							
							
								
							
							
								488b4a7d94 
								
							 
						 
						
							
							
								
								Add basic support for Microsoft enum forward declaration.  
							
							 
							
							... 
							
							
							
							Assigning an underlying integral type to an enum forward declaration will come in a next patch.
llvm-svn: 113716 
							
						 
						
							2010-09-12 05:06:55 +00:00  
						
					 
				
					
						
							
							
								 
								Francois Pichet
							
						 
						
							 
							
							
							
							
								
							
							
								4ad4b58639 
								
							 
						 
						
							
							
								
								Allow type definitions inside anonymous struct/union in Microsoft mode.  
							
							 
							
							... 
							
							
							
							llvm-svn: 113354 
							
						 
						
							2010-09-08 11:32:25 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								eece0eaa85 
								
							 
						 
						
							
							
								
								Transfer calling-convention attributes down to member function pointers.  
							
							 
							
							... 
							
							
							
							llvm-svn: 112715 
							
						 
						
							2010-09-01 16:29:03 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								f62c5294c1 
								
							 
						 
						
							
							
								
								Emulate (some of) Microsoft's looser semantic checking of exception  
							
							 
							
							... 
							
							
							
							specifications, from Martin Vejnar!
llvm-svn: 112482 
							
						 
						
							2010-08-30 15:04:51 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								2b1bbecb6b 
								
							 
						 
						
							
							
								
								Predeclare class type_info in Microsoft mode, from Francois Pichet!  
							
							 
							
							... 
							
							
							
							llvm-svn: 112478 
							
						 
						
							2010-08-30 14:44:26 +00:00