Add -fno-assume-sane-operator-new when building with MSan.
A workaroudn for PR16386. MSan's operator new aften has side-effects that are miscompiled without this flag. llvm-svn: 184410
This commit is contained in:
		
							parent
							
								
									673cf23d06
								
							
						
					
					
						commit
						edc91428a2
					
				| 
						 | 
				
			
			@ -94,8 +94,12 @@ class SanitizerArgs {
 | 
			
		|||
      CmdArgs.push_back(Args.MakeArgString("-fsanitize-memory-track-origins"));
 | 
			
		||||
 | 
			
		||||
    if (AsanZeroBaseShadow)
 | 
			
		||||
      CmdArgs.push_back(Args.MakeArgString(
 | 
			
		||||
          "-fsanitize-address-zero-base-shadow"));
 | 
			
		||||
      CmdArgs.push_back(
 | 
			
		||||
          Args.MakeArgString("-fsanitize-address-zero-base-shadow"));
 | 
			
		||||
 | 
			
		||||
    // Workaround for PR16386.
 | 
			
		||||
    if (needsMsanRt())
 | 
			
		||||
      CmdArgs.push_back(Args.MakeArgString("-fno-assume-sane-operator-new"));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 private:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -139,3 +139,6 @@
 | 
			
		|||
 | 
			
		||||
// RUN: %clang -target x86_64-linux-gnu -fsanitize=address,leak -fno-sanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANA-SANL-NO-SANA
 | 
			
		||||
// CHECK-SANA-SANL-NO-SANA: "-fsanitize=leak"
 | 
			
		||||
 | 
			
		||||
// RUN: %clang -target x86_64-linux-gnu -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-MSAN
 | 
			
		||||
// CHECK-MSAN: "-fno-assume-sane-operator-new"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue