47972afd10 
								
							 
						 
						
							
							
								
								[modules] Simplify -cc1 interface for enabling implicit module maps.  
							
							... 
							
							
							
							We used to have a flag to enable module maps, and two more flags to enable
implicit module maps. This is all redundant; we don't need any flag for
enabling module maps in the abstract, and we don't usually have -fno- flags for
-cc1. We now have just a single flag, -fimplicit-module-maps, that enables
implicitly searching the file system for module map files and loading them.
The driver interface is unchanged for now. We should probably rename
-fmodule-maps to -fimplicit-module-maps at some point.
llvm-svn: 239789 
							
						 
						
							2015-06-16 00:08:24 +00:00  
				
					
						
							
							
								 
						
							
								f81c2cc6ca 
								
							 
						 
						
							
							
								
								[modules] For an inheriting constructor, the inherited constructor is stored in  
							
							... 
							
							
							
							a map keyed off the canonical declaration. Don't try to set it if we're loading
some non-canonical merged declaration.
llvm-svn: 230716 
							
						 
						
							2015-02-27 01:57:00 +00:00  
				
					
						
							
							
								 
						
							
								f463436d9c 
								
							 
						 
						
							
							
								
								[modules] Make NamespaceAliasDecl redeclarable, as it should be. This fixes  
							
							... 
							
							
							
							merging of namespace aliases across modules and improves source fidelity.
Incidentally also fixes PR20816.
llvm-svn: 217103 
							
						 
						
							2014-09-03 23:11:22 +00:00  
				
					
						
							
							
								 
						
							
								70d5850955 
								
							 
						 
						
							
							
								
								[modules] Fix deserialization cycle when loading a tag declaration with a typedef name for linkage purposes. When loading the type, delay loading its typedef until we've finished loading and merging the type. In its place, save out the name of the typedef, which we need for merging purposes.  
							
							... 
							
							
							
							llvm-svn: 216806 
							
						 
						
							2014-08-30 00:04:23 +00:00  
				
					
						
							
							
								 
						
							
								b602c7f843 
								
							 
						 
						
							
							
								
								Add some missing test coverage for merging 'extern "C"' functions with modules.  
							
							... 
							
							
							
							llvm-svn: 216796 
							
						 
						
							2014-08-29 22:33:38 +00:00  
				
					
						
							
							
								 
						
							
								b1108739e4 
								
							 
						 
						
							
							
								
								[modules] Don't assert when merging virtual functions that override other  
							
							... 
							
							
							
							functions. Also don't needlessly pull in non-canonical declarations of the
overridden virtual functions.
llvm-svn: 216503 
							
						 
						
							2014-08-26 23:29:11 +00:00  
				
					
						
							
							
								 
						
							
								88ebade8d9 
								
							 
						 
						
							
							
								
								[modules] When merging a tag declaration that has a typedef name for linkage  
							
							... 
							
							
							
							purposes, look for other typedefs with that same name and merge into their
named tag declaration if there is one.
llvm-svn: 216312 
							
						 
						
							2014-08-23 01:45:27 +00:00  
				
					
						
							
							
								 
						
							
								675d279af4 
								
							 
						 
						
							
							
								
								[modules] When we merge redecl chains or mark a decl used with an update  
							
							... 
							
							
							
							record, mark all subsequent decls as 'used' too, to maintain the AST invariant
that getPreviousDecl()->Used implies this->Used.
llvm-svn: 211050 
							
						 
						
							2014-06-16 20:26:19 +00:00  
				
					
						
							
							
								 
						
							
								debcd500a0 
								
							 
						 
						
							
							
								
								Push implicitly-declared allocation functions into the IdResolver. Otherwise,  
							
							... 
							
							
							
							declaration merging in modules is unable to find them and we get bogus errors
and even crashes.
llvm-svn: 208944 
							
						 
						
							2014-05-16 02:14:42 +00:00  
				
					
						
							
							
								 
						
							
								b45a6f72b6 
								
							 
						 
						
							
							
								
								Add missing serialization code for one of the CXXRecordDecl definition flags.  
							
							... 
							
							
							
							llvm-svn: 206493 
							
						 
						
							2014-04-17 20:33:01 +00:00  
				
					
						
							
							
								 
						
							
								9dd9f036c6 
								
							 
						 
						
							
							
								
								Map from local decl IDs to global decl IDs when lazily deserializing friend decl chains.  
							
							... 
							
							
							
							llvm-svn: 189629 
							
						 
						
							2013-08-30 00:23:29 +00:00  
				
					
						
							
							
								 
						
							
								42713d763f 
								
							 
						 
						
							
							
								
								If an unimported submodule of an imported module contains a declaration of a  
							
							... 
							
							
							
							global allocation or deallocation function, that should not cause that global
allocation or deallocation function to become unavailable.
llvm-svn: 186270 
							
						 
						
							2013-07-14 02:01:48 +00:00