packages feed

llvm-hs 8.0.0 → 9.0.0

raw patch · 26 files changed

+197/−99 lines, 26 filesdep ~basedep ~llvm-hs-puresetup-changedPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base, llvm-hs-pure

API changes (from Hackage documentation)

- LLVM.Internal.FFI.LLVMCTypes: mcTargetOptionFlagSanitizeAddress :: MCTargetOptionFlag
- LLVM.Internal.Target: instance (GHC.Base.Monad d, LLVM.Internal.Coding.DecodeM d Data.ByteString.Internal.ByteString es) => LLVM.Internal.Coding.DecodeM d (Data.Map.Internal.Map LLVM.Internal.Target.CPUFeature GHC.Types.Bool) es
- LLVM.Target.Options: [sanitizeAddresses] :: MachineCodeOptions -> Bool
+ LLVM.Internal.FFI.LLVMCTypes: functionAttributeKindNoFree :: FunctionAttributeKind
+ LLVM.Internal.FFI.LLVMCTypes: functionAttributeKindNoSync :: FunctionAttributeKind
+ LLVM.Internal.FFI.LLVMCTypes: functionAttributeKindSanitizeMemTag :: FunctionAttributeKind
+ LLVM.Internal.FFI.LLVMCTypes: functionAttributeKindWillReturn :: FunctionAttributeKind
+ LLVM.Internal.FFI.LLVMCTypes: parameterAttributeKindImmArg :: ParameterAttributeKind
+ LLVM.Internal.Target: instance (Control.Monad.Fail.MonadFail d, LLVM.Internal.Coding.DecodeM d Data.ByteString.Internal.ByteString es) => LLVM.Internal.Coding.DecodeM d (Data.Map.Internal.Map LLVM.Internal.Target.CPUFeature GHC.Types.Bool) es
+ LLVM.Internal.Target: withHostTargetMachineDefault :: (TargetMachine -> IO a) -> IO a
+ LLVM.Target: withHostTargetMachineDefault :: (TargetMachine -> IO a) -> IO a
+ LLVM.Transforms: [kernel] :: Pass -> Bool
+ LLVM.Transforms: [recover] :: Pass -> Bool
- LLVM.Internal.FFI.PassManager: addMemorySanitizerPass :: Ptr PassManager -> LLVMBool -> IO ()
+ LLVM.Internal.FFI.PassManager: addMemorySanitizerPass :: Ptr PassManager -> LLVMBool -> LLVMBool -> LLVMBool -> IO ()
- LLVM.Internal.FFI.PassManager: addMemorySanitizerPass' :: Ptr PassManager -> LLVMBool -> IO ()
+ LLVM.Internal.FFI.PassManager: addMemorySanitizerPass' :: Ptr PassManager -> LLVMBool -> LLVMBool -> LLVMBool -> IO ()
- LLVM.Internal.Target: withHostTargetMachine :: (TargetMachine -> IO a) -> IO a
+ LLVM.Internal.Target: withHostTargetMachine :: Model -> Model -> Level -> (TargetMachine -> IO a) -> IO a
- LLVM.Target: withHostTargetMachine :: (TargetMachine -> IO a) -> IO a
+ LLVM.Target: withHostTargetMachine :: Model -> Model -> Level -> (TargetMachine -> IO a) -> IO a
- LLVM.Target.Options: MachineCodeOptions :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> MachineCodeOptions
+ LLVM.Target.Options: MachineCodeOptions :: Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> MachineCodeOptions
- LLVM.Transforms: MemorySanitizer :: Bool -> Pass
+ LLVM.Transforms: MemorySanitizer :: Bool -> Bool -> Bool -> Pass

Files

CHANGELOG.md view
@@ -1,3 +1,24 @@+## 9.0.0 (2019-09-06)++* Support GHC 8.8+* Update to LLVM 9.0+  * Note that this is the last LLVM release that supports the current+    OrcJIT APIs and `llvm-hs` does not yet have bindings for OrcJIT+    V2. If you are interested in working on that please get in+    touch. See https://github.com/llvm-hs/llvm-hs/issues/276 for more+    details.+  * The `sanitizeAddresses` field from `MachineCodeOptions` has been+    removed following a change in LLVM.+  * The `MemorySanitizer` now has two new options `kernel` and+    `recover` matching the options in LLVM.+++## 8.1.0++* Change `withHostTargetMachine` to accept the code model, relocation model,+  and optimization level as arguments. The old behaviour is available+  under the name `withHostTargetMachineDefault`.+ ## 8.0.0 (2019-03-10)  * Upgrade to LLVM 8
Setup.hs view
@@ -41,10 +41,10 @@ #endif  llvmVersion :: Version-llvmVersion = mkVersion [8,0]+llvmVersion = mkVersion [9,0] --- Ordered by decreasing specificty so we will prefer llvm-config-8.0--- over llvm-config-8 over llvm-config.+-- Ordered by decreasing specificty so we will prefer llvm-config-9.0+-- over llvm-config-9 over llvm-config. llvmConfigNames :: [String] llvmConfigNames = reverse versionedConfigs ++ ["llvm-config"]   where
llvm-hs.cabal view
@@ -1,5 +1,5 @@ name: llvm-hs-version: 8.0.0+version: 9.0.0 license: BSD3 license-file: LICENSE author: Anthony Cowley, Stephen Diehl, Moritz Kiefer <moritz.kiefer@purelyfunctional.org>, Benjamin S. Scarlet@@ -42,13 +42,13 @@   test/debug_metadata_4.ll   test/debug_metadata_5.ll   test/main_return_38.c-tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.4+tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5 extra-source-files: CHANGELOG.md  source-repository head   type: git   location: git://github.com/llvm-hs/llvm-hs.git-  branch: llvm-8+  branch: llvm-9  flag shared-llvm   description: link against llvm shared rather than static library@@ -79,7 +79,7 @@     template-haskell >= 2.5.0.0,     containers >= 0.4.2.1,     array >= 0.4.0.0,-    llvm-hs-pure == 8.0.*+    llvm-hs-pure == 9.0.*   hs-source-dirs: src   default-extensions:     NoImplicitPrelude
src/Control/Monad/Trans/AnyCont.hs view
@@ -1,5 +1,5 @@ {-# LANGUAGE-  RankNTypes+  CPP, RankNTypes   #-} module Control.Monad.Trans.AnyCont where @@ -21,7 +21,9 @@ instance Monad m => Monad (AnyContT m) where   AnyContT f >>= k = AnyContT $ f >>= unAnyContT . k   return a = AnyContT $ return a+#if !(MIN_VERSION_base(4,13,0))   fail s = AnyContT (ContT (\_ -> Cont.fail s))+#endif  instance MonadFail m => MonadFail (AnyContT m) where   fail s = AnyContT (ContT (\_ -> Fail.fail s))
src/LLVM/CodeModel.hs view
@@ -1,4 +1,4 @@--- | Relocations, used in specifying TargetMachine+-- | Code model, used in specifying TargetMachine module LLVM.CodeModel where  import LLVM.Prelude
src/LLVM/Internal/Attribute.hs view
@@ -55,6 +55,7 @@       A.PA.Nest -> FFI.parameterAttributeKindNest       A.PA.ReadOnly -> FFI.parameterAttributeKindReadOnly       A.PA.ReadNone -> FFI.parameterAttributeKindReadNone+      A.PA.ImmArg -> FFI.parameterAttributeKindImmArg       A.PA.InAlloca -> FFI.parameterAttributeKindInAlloca       A.PA.NonNull -> FFI.parameterAttributeKindNonNull       A.PA.Returned -> FFI.parameterAttributeKindReturned@@ -149,6 +150,7 @@           [parameterAttributeKindP|Returned|] -> return A.PA.Returned           [parameterAttributeKindP|SwiftSelf|] -> return A.PA.SwiftSelf           [parameterAttributeKindP|SwiftError|] -> return A.PA.SwiftError+          [parameterAttributeKindP|ImmArg|] -> return A.PA.ImmArg           _ -> error $ "unhandled parameter attribute enum value: " ++ show enum  instance DecodeM DecodeAST A.FA.FunctionAttribute FFI.FunctionAttribute where
src/LLVM/Internal/FFI/Attribute.h view
@@ -16,6 +16,7 @@ 	macro(Convergent,F,F,T)                           \ 	macro(Dereferenceable,T,T,F)                      \ 	macro(DereferenceableOrNull,T,T,F)                \+    macro(ImmArg,T,F,F)                               \ 	macro(InAlloca,T,F,F)                             \ 	macro(InReg,T,T,F)                                \ 	macro(InaccessibleMemOnly,F,F,T) \@@ -30,11 +31,13 @@ 	macro(NoCapture,T,F,F)                            \     macro(NoCfCheck,F,F,T)                            \ 	macro(NoDuplicate,F,F,T)                          \+	macro(NoFree,F,F,T)                               \ 	macro(NoImplicitFloat,F,F,T)                      \ 	macro(NoInline,F,F,T)                             \ 	macro(NoRecurse,F,F,T)                            \ 	macro(NoRedZone,F,F,T)                            \ 	macro(NoReturn,F,F,T)                             \+	macro(NoSync,F,F,T)                               \ 	macro(NoUnwind,F,F,T)                             \ 	macro(NonLazyBind,F,F,T)                          \ 	macro(NonNull,T,T,F)                              \@@ -49,6 +52,7 @@ 	macro(SafeStack,F,F,T)                            \ 	macro(SanitizeAddress,F,F,T)                      \     macro(SanitizeHWAddress,F,F,T)                    \+    macro(SanitizeMemTag,F,F,T)                       \ 	macro(SanitizeMemory,F,F,T)                       \ 	macro(SanitizeThread,F,F,T)                       \     macro(ShadowCallStack,F,F,T)                      \@@ -63,6 +67,7 @@ 	macro(SwiftError,T,F,F)                           \ 	macro(SwiftSelf,T,F,F)                            \ 	macro(UWTable,F,F,T)                              \+	macro(WillReturn,F,F,T)                           \ 	macro(WriteOnly,T,F,T)                            \ 	macro(ZExt,T,T,F)                                 \ 	macro(EndAttrKinds,F,F,F)
src/LLVM/Internal/FFI/MetadataC.cpp view
@@ -340,15 +340,15 @@     return cast_or_null<MDTuple>(dt->getRawElements()); } -DITypeRef LLVM_Hs_DICompositeTypeGetVTableHolder(DICompositeType *dt) {+DIType* LLVM_Hs_DICompositeTypeGetVTableHolder(DICompositeType *dt) {     return dt->getVTableHolder(); } -DITypeRef LLVM_Hs_DICompositeTypeGetBaseType(DICompositeType *dt) {+DIType* LLVM_Hs_DICompositeTypeGetBaseType(DICompositeType *dt) {     return dt->getBaseType(); } -DITypeRef LLVM_Hs_DIDerivedTypeGetBaseType(DIDerivedType *dt) {+DIType* LLVM_Hs_DIDerivedTypeGetBaseType(DIDerivedType *dt) {     return dt->getBaseType(); } @@ -507,7 +507,7 @@ }  DIType* LLVM_Hs_DISubprogram_GetContainingType(DISubprogram* p) {-    return p->getContainingType().resolve();+    return p->getContainingType(); }  DICompileUnit* LLVM_Hs_DISubprogram_GetUnit(DISubprogram* p) {@@ -588,7 +588,7 @@ }  DIType* LLVM_Hs_DIVariable_GetType(DIVariable* v) {-    return v->getType().resolve();+    return v->getType(); }  uint32_t LLVM_Hs_DIVariable_GetAlignInBits(DIVariable* v) {@@ -745,7 +745,7 @@ }  DIType* LLVM_Hs_DITemplateParameter_GetType(DITemplateParameter* p) {-    return p->getType().resolve();+    return p->getType(); }  // DITemplateTypeParameter@@ -821,7 +821,7 @@ }  DINode* LLVM_Hs_DIImportedEntity_GetEntity(DIImportedEntity* e) {-    return e->getEntity().resolve();+    return e->getEntity(); }  MDString* LLVM_Hs_DIImportedEntity_GetName(DIImportedEntity* e) {@@ -877,7 +877,7 @@ }  DIType* LLVM_Hs_DIObjCProperty_GetType(DIObjCProperty* o) {-    return o->getType().resolve();+    return o->getType(); }  // DIModule
src/LLVM/Internal/FFI/OrcJITC.cpp view
@@ -1,3 +1,7 @@+// We ignore deprecations until we get around to updating to the new OrcJIT API+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"+#pragma clang diagnostic ignored "-Wdeprecated-declarations"+ #include "llvm/Support/Error.h"  #include "LLVM/Internal/FFI/ErrorHandling.hpp"
src/LLVM/Internal/FFI/PassManagerC.cpp view
@@ -9,6 +9,7 @@ #include "llvm/Transforms/IPO/PassManagerBuilder.h" #include "llvm/Transforms/Vectorize.h" #include "llvm/Transforms/Instrumentation.h"+#include "llvm/Transforms/Instrumentation/AddressSanitizer.h" #include "llvm/Transforms/Instrumentation/BoundsChecking.h" #include "llvm/Transforms/Instrumentation/MemorySanitizer.h" #include "llvm/Transforms/Instrumentation/ThreadSanitizer.h"@@ -146,14 +147,16 @@ void LLVM_Hs_AddAddressSanitizerModulePass( 	LLVMPassManagerRef PM ) {-	unwrap(PM)->add(createAddressSanitizerModulePass());+	unwrap(PM)->add(createModuleAddressSanitizerLegacyPassPass()); }  void LLVM_Hs_AddMemorySanitizerPass( 	LLVMPassManagerRef PM,-	LLVMBool trackOrigins+	LLVMBool trackOrigins,+    LLVMBool recover,+    LLVMBool kernel ) {-	unwrap(PM)->add(createMemorySanitizerLegacyPassPass(trackOrigins));+	unwrap(PM)->add(createMemorySanitizerLegacyPassPass({trackOrigins, recover, kernel})); }  void LLVM_Hs_AddThreadSanitizerPass(
src/LLVM/Internal/FFI/ShortByteString.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} module LLVM.Internal.FFI.ShortByteString   ( packCString   , packCStringLen@@ -5,8 +6,12 @@   , useAsCStringLen   ) where -import LLVM.Prelude ++#if MIN_VERSION_bytestring(0,10,9)+import Data.ByteString.Short+#else+import LLVM.Prelude import Data.ByteString.Internal (c_strlen) import Data.ByteString.Short.Internal import qualified Data.ByteString.Short as ByteString@@ -14,6 +19,7 @@ import Foreign.Marshal.Alloc import Foreign.Storable + {-# INLINABLE packCString #-} packCString :: CString -> IO ShortByteString packCString cstr = do@@ -42,3 +48,4 @@      copyToPtr bs 0 buf (fromIntegral l)      action (buf, l)  where l = ByteString.length bs+#endif
src/LLVM/Internal/FFI/Target.h view
@@ -54,7 +54,6 @@ } LLVM_Hs_TargetOptionFlag;  #define LLVM_HS_FOR_EACH_MC_TARGET_OPTION_FLAG(macro)  \-  macro(SanitizeAddress)                                \   macro(MCRelaxAll)                                     \   macro(MCNoExecStack)                                  \   macro(MCFatalWarnings)                                \
src/LLVM/Internal/Operand.hs view
@@ -78,7 +78,15 @@           A.IntroducedVirtual -> 1 `shiftL` 18           A.BitField -> 1 `shiftL` 19           A.NoReturn -> 1 `shiftL` 20-          A.MainSubprogram -> 1 `shiftL` 21+          A.ArgumentNotModified -> 1 `shiftL` 21+          A.TypePassByValue -> 1 `shiftL` 22+          A.TypePassByReference -> 1 `shiftL` 23+          A.EnumClass -> 1 `shiftL` 24+          A.Thunk -> 1 `shiftL` 25+          A.NonTrivial -> 1 `shiftL` 26+          A.BigEndian -> 1 `shiftL` 27+          A.LittleEndian -> 1 `shiftL` 28+          A.AllCallsDescribed -> 1 `shiftL` 29  instance Applicative m => DecodeM m [A.DIFlag] FFI.DIFlags where   decodeM (FFI.DIFlags f) =@@ -119,7 +127,15 @@         , A.IntroducedVirtual         , A.BitField         , A.NoReturn-        , A.MainSubprogram+        , A.ArgumentNotModified+        , A.TypePassByValue+        , A.TypePassByReference+        , A.EnumClass+        , A.Thunk+        , A.NonTrivial+        , A.BigEndian+        , A.LittleEndian+        , A.AllCallsDescribed         ]  instance DecodeM DecodeAST A.Operand (Ptr FFI.Value) where
src/LLVM/Internal/Target.hs view
@@ -11,6 +11,7 @@  import Control.Monad.AnyCont import Control.Monad.Catch+import Control.Monad.Fail (MonadFail) import Control.Monad.IO.Class import Control.Monad.Trans.Except @@ -124,7 +125,7 @@ instance EncodeM e ByteString es => EncodeM e (Map CPUFeature Bool) es where   encodeM = encodeM . ByteString.intercalate "," . map (\(CPUFeature f, enabled) -> (if enabled then "+" else "-") <> f) . Map.toList -instance (Monad d, DecodeM d ByteString es) => DecodeM d (Map CPUFeature Bool) es where+instance (MonadFail d, DecodeM d ByteString es) => DecodeM d (Map CPUFeature Bool) es where   decodeM es = do     s <- decodeM es     let flag = do@@ -203,7 +204,6 @@ pokeMachineCodeOptions :: TO.MachineCodeOptions -> MCTargetOptions -> IO () pokeMachineCodeOptions hOpts (MCTargetOptions cOpts) =   mapM_ (\(c, ha) -> FFI.setMCTargetOptionFlag cOpts c =<< encodeM (ha hOpts)) [-    (FFI.mcTargetOptionFlagSanitizeAddress, TO.sanitizeAddresses),     (FFI.mcTargetOptionFlagMCRelaxAll, TO.relaxAll),     (FFI.mcTargetOptionFlagMCNoExecStack, TO.noExecutableStack),     (FFI.mcTargetOptionFlagMCFatalWarnings, TO.fatalWarnings),@@ -279,8 +279,6 @@ peekMachineCodeOptions :: MCTargetOptions -> IO TO.MachineCodeOptions peekMachineCodeOptions (MCTargetOptions tOpts) = do   let gof = decodeM <=< FFI.getMCTargetOptionsFlag tOpts-  sanitizeAddresses-    <- gof FFI.mcTargetOptionFlagSanitizeAddress   relaxAll     <- gof FFI.mcTargetOptionFlagMCRelaxAll   noExecutableStack@@ -406,16 +404,37 @@ initializeAllTargets :: IO () initializeAllTargets = FFI.initializeAllTargets --- | Bracket creation and destruction of a 'TargetMachine' configured for the host-withHostTargetMachine :: (TargetMachine -> IO a) -> IO a-withHostTargetMachine f = do+-- | Bracket creation and destruction of a 'TargetMachine' configured for the host.+--+-- This function infers and fills the properties of the host machine+-- (architecture, CPU type, operating system etc.) to construct+-- a 'TargetMachine' value, but other parameters of 'TargetMachine' (the+-- code model, relocation model, and optimization level) have to be+-- provided by the user. For instance, for the JIT-compiled code that you+-- want to dynamically load you probably want to use the 'Reloc.PIC'+-- relocation model.+withHostTargetMachine+  :: Reloc.Model+  -> CodeModel.Model+  -> CodeGenOpt.Level+  -> (TargetMachine -> IO a) -> IO a+withHostTargetMachine relocModel codeModel codeGenOpt f = do   initializeAllTargets   triple <- getProcessTargetTriple   cpu <- getHostCPUName   features <- getHostCPUFeatures   (target, _) <- lookupTarget Nothing triple   withTargetOptions $ \options ->-    withTargetMachine target triple cpu features options Reloc.Default CodeModel.Default CodeGenOpt.Default f+    withTargetMachine target triple cpu features options relocModel codeModel codeGenOpt f++-- | Like 'withHostTargetMachine', but assumes the default values for the+-- relocation model, code model, and optimization level ('Reloc.Default',+-- 'CodeModel.Default', 'CodeGenOpt.Default' respectively).+--+-- Note that the 'Reloc.Default' relocation model __is not__ suitable for+-- JIT compilation; use 'withHostTargetMachine' and 'Reloc.PIC' instead.+withHostTargetMachineDefault :: (TargetMachine -> IO a) -> IO a+withHostTargetMachineDefault f = withHostTargetMachine Reloc.Default CodeModel.Default CodeGenOpt.Default f  -- | <http://llvm.org/docs/doxygen/html/classllvm_1_1TargetLibraryInfo.html> newtype TargetLibraryInfo = TargetLibraryInfo (Ptr FFI.TargetLibraryInfo)
src/LLVM/Target.hs view
@@ -7,7 +7,7 @@    Target, TargetMachine, TargetLowering,    CPUFeature(..),    withTargetOptions, peekTargetOptions, pokeTargetOptions,-   withTargetMachine, withHostTargetMachine, targetMachineOptions,+   withTargetMachine, withHostTargetMachine, withHostTargetMachineDefault, targetMachineOptions,    getTargetLowering,    getTargetMachineTriple, getDefaultTargetTriple, getProcessTargetTriple, getHostCPUName, getHostCPUFeatures,    getTargetMachineDataLayout, initializeNativeTarget, initializeAllTargets,
src/LLVM/Target/Options.hs view
@@ -101,7 +101,6 @@  -- | <http://llvm.org/doxygen/classllvm_1_1MCTargetOptions.html> data MachineCodeOptions = MachineCodeOptions {-  sanitizeAddresses :: Bool,   relaxAll :: Bool,   noExecutableStack :: Bool,   fatalWarnings :: Bool,
src/LLVM/Transforms.hs view
@@ -97,7 +97,9 @@   | AddressSanitizer   | AddressSanitizerModule   | MemorySanitizer {-      trackOrigins :: Bool+      trackOrigins :: Bool,+      recover :: Bool,+      kernel :: Bool     }   | ThreadSanitizer   | BoundsChecking@@ -136,7 +138,9 @@ -- | Defaults for 'MemorySanitizer'. defaultMemorySanitizer :: Pass defaultMemorySanitizer = MemorySanitizer {-  trackOrigins = False+  trackOrigins = False,+  recover = False,+  kernel = False }  -- | Defaults for 'ThreadSanitizer'.
test/LLVM/Test/Instructions.hs view
@@ -737,7 +737,6 @@        \source_filename = \"<string>\"\n\        \\n\        \define void @0() {\n\-       \; <label>:0:\n\        \  switch i16 2, label %foo [\n\        \    i16 0, label %0\n\        \    i16 2, label %foo\n\@@ -790,7 +789,7 @@        \  %1 = load i8*, i8** @0\n\        \  indirectbr i8* %1, [label %2]\n\        \\n\-       \; <label>:2:                                      ; preds = %0\n\+       \2:                                                ; preds = %0\n\        \  ret void\n\        \}\n"      ), (
test/LLVM/Test/Instrumentation.hs view
@@ -39,7 +39,7 @@   moduleAST mIn'  ast = do- dl <- withHostTargetMachine getTargetMachineDataLayout+ dl <- withHostTargetMachineDefault getTargetMachineDataLayout  triple <- liftIO getDefaultTargetTriple  return $ Module "<string>" "<string>" (Just dl) (Just triple) [   -- This function is needed for AddressSanitizerModule@@ -149,7 +149,7 @@     testCase n $ do       triple <- getProcessTargetTriple        withTargetLibraryInfo triple $ \tli -> do-        dl <- withHostTargetMachine getTargetMachineDataLayout+        dl <- withHostTargetMachineDefault getTargetMachineDataLayout         ast <- ast         ast' <- instrument (defaultPassSetSpec { transforms = [p], dataLayout = Just dl, targetLibraryInfo = Just tli }) ast         let names ast = [ n | GlobalDefinition d <- moduleDefinitions ast, Name n <- return (G.name d) ]
test/LLVM/Test/Metadata.hs view
@@ -479,7 +479,15 @@           , A.IntroducedVirtual           , A.BitField           , A.NoReturn-          , A.MainSubprogram+          , A.ArgumentNotModified+          , A.TypePassByValue+          , A.TypePassByReference+          , A.EnumClass+          , A.Thunk+          , A.NonTrivial+          , A.BigEndian+          , A.LittleEndian+          , A.AllCallsDescribed           ]       ] @@ -525,7 +533,15 @@       , A.IntroducedVirtual       , A.BitField       , A.NoReturn-      , A.MainSubprogram+      , A.ArgumentNotModified+      , A.TypePassByValue+      , A.TypePassByReference+      , A.EnumClass+      , A.Thunk+      , A.NonTrivial+      , A.BigEndian+      , A.LittleEndian+      , A.AllCallsDescribed       ]  roundtripDISubprogram :: TestTree
test/LLVM/Test/ObjectCode.hs view
@@ -24,7 +24,7 @@         withContext $ \ctx ->           withSystemTempFile "foo" $ \objFile handle -> do             hClose handle-            withHostTargetMachine $ \machine ->+            withHostTargetMachineDefault $ \machine ->               withModuleFromLLVMAssembly ctx ll $ \mdl -> do                 obj <- moduleObject machine mdl                 _ <- writeObjectToFile machine (File objFile) mdl
test/LLVM/Test/OrcJIT.hs view
@@ -27,6 +27,9 @@ import qualified LLVM.Internal.OrcJIT.CompileLayer as CL import qualified LLVM.Internal.OrcJIT.LinkingLayer as LL import LLVM.Target+import qualified LLVM.Relocation as Reloc+import qualified LLVM.CodeModel as CodeModel+import qualified LLVM.CodeGenOpt as CodeGenOpt  testModule :: ByteString testModule =@@ -76,7 +79,7 @@     testCase "eager compilation" $ do       resolvers <- newIORef Map.empty       withTestModule $ \mod ->-        withHostTargetMachine $ \tm ->+        withHostTargetMachine Reloc.PIC CodeModel.Default CodeGenOpt.Default $ \tm ->         withExecutionSession $ \es ->         withObjectLinkingLayer es (\k -> fmap (\rs -> rs Map.! k) (readIORef resolvers)) $ \linkingLayer ->         withIRCompileLayer linkingLayer tm $ \compileLayer -> do@@ -100,7 +103,7 @@       passmanagerSuccessful <- newIORef False       resolvers <- newIORef Map.empty       withTestModule $ \mod ->-        withHostTargetMachine $ \tm ->+        withHostTargetMachine Reloc.PIC CodeModel.Default CodeGenOpt.Default $ \tm ->         withExecutionSession $ \es ->         withObjectLinkingLayer es (\k -> fmap (\rs -> rs Map.! k) (readIORef resolvers)) $ \linkingLayer ->         withIRCompileLayer linkingLayer tm $ \compileLayer ->@@ -121,7 +124,7 @@       let getResolver k = fmap (Map.! k) (readIORef resolvers)           setResolver k r = modifyIORef' resolvers (Map.insert k r)       withTestModule $ \mod ->-        withHostTargetMachine $ \tm -> do+        withHostTargetMachine Reloc.PIC CodeModel.Default CodeGenOpt.Default $ \tm -> do           triple <- getTargetMachineTriple tm           withExecutionSession $ \es ->             withObjectLinkingLayer es getResolver $ \linkingLayer ->
test/LLVM/Test/Target.hs view
@@ -88,7 +88,6 @@  instance Arbitrary MachineCodeOptions where   arbitrary = do-    sanitizeAddresses <- arbitrary     relaxAll <- arbitrary     noExecutableStack <- arbitrary     fatalWarnings <- arbitrary
test/debug_metadata_3.ll view
@@ -797,7 +797,7 @@   %27 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %20, i64 1, !dbg !4580   %28 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %21, i64 1, !dbg !4581   call void @llvm.dbg.value(metadata %"struct.std::pair"* %28, metadata !4531, metadata !DIExpression()), !dbg !4534-  br label %19, !dbg !4582, !llvm.loop !4583+  br label %19, !dbg !4582  ; <label>:29:                                     ; preds = %19   %30 = lshr i64 %12, 3, !dbg !4535@@ -848,7 +848,7 @@   %41 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %34, i64 1, !dbg !4621   %42 = getelementptr inbounds %"struct.std::pair", %"struct.std::pair"* %35, i64 1, !dbg !4622   call void @llvm.dbg.value(metadata %"struct.std::pair"* %42, metadata !4531, metadata !DIExpression()), !dbg !4602-  br label %33, !dbg !4623, !llvm.loop !4583+  br label %33, !dbg !4623  ; <label>:43:                                     ; preds = %33   %44 = ptrtoint %"struct.std::pair"* %10 to i64, !dbg !4603@@ -1065,10 +1065,10 @@ !57 = !DIDerivedType(tag: DW_TAG_typedef, name: "pointer", scope: !50, file: !49, line: 86, baseType: !58) !58 = !DIDerivedType(tag: DW_TAG_typedef, name: "pointer", scope: !60, file: !59, line: 59, baseType: !69) !59 = !DIFile(filename: "/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/8.2.1/ext/alloc_traits.h", directory: "/home/firefox/firefox/mozilla-unified/obj-opt-x86_64-pc-linux-gnu/widget")-!60 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >", scope: !5, file: !59, line: 50, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !61, templateParams: !231, identifier: "_ZTSN9__gnu_cxx14__alloc_traitsISaISt4pairIiiEES2_EE")+!60 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >", scope: !5, file: !59, line: 50, size: 8, flags: DIFlagTypePassByValue, elements: !61, templateParams: !231, identifier: "_ZTSN9__gnu_cxx14__alloc_traitsISaISt4pairIiiEES2_EE") !61 = !{!62, !217, !220, !224, !227, !228, !229, !230} !62 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !60, baseType: !63, extraData: i32 0)-!63 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "allocator_traits<std::allocator<std::pair<int, int> > >", scope: !13, file: !64, line: 384, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !65, templateParams: !215, identifier: "_ZTSSt16allocator_traitsISaISt4pairIiiEEE")+!63 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "allocator_traits<std::allocator<std::pair<int, int> > >", scope: !13, file: !64, line: 384, size: 8, flags: DIFlagTypePassByValue, elements: !65, templateParams: !215, identifier: "_ZTSSt16allocator_traitsISaISt4pairIiiEEE") !64 = !DIFile(filename: "/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/8.2.1/bits/alloc_traits.h", directory: "/home/firefox/firefox/mozilla-unified/obj-opt-x86_64-pc-linux-gnu/widget") !65 = !{!66, !199, !203, !206, !212} !66 = !DISubprogram(name: "allocate", linkageName: "_ZNSt16allocator_traitsISaISt4pairIiiEEE8allocateERS2_m", scope: !63, file: !64, line: 435, type: !67, isLocal: false, isDefinition: false, scopeLine: 435, flags: DIFlagPrototyped | DIFlagStaticMember, isOptimized: true)@@ -1080,7 +1080,7 @@ !72 = !DIFile(filename: "/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/8.2.1/bits/stl_pair.h", directory: "/home/firefox/firefox/mozilla-unified/obj-opt-x86_64-pc-linux-gnu/widget") !73 = !{!74, !95, !96, !97, !103, !107, !123, !132} !74 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !71, baseType: !75, flags: DIFlagPrivate, extraData: i32 0)-!75 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "__pair_base<int, int>", scope: !13, file: !72, line: 190, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !76, templateParams: !91, identifier: "_ZTSSt11__pair_baseIiiE")+!75 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "__pair_base<int, int>", scope: !13, file: !72, line: 190, size: 8, flags: DIFlagTypePassByValue, elements: !76, templateParams: !91, identifier: "_ZTSSt11__pair_baseIiiE") !76 = !{!77, !81, !82, !87} !77 = !DISubprogram(name: "__pair_base", scope: !75, file: !72, line: 194, type: !78, isLocal: false, isDefinition: false, scopeLine: 194, flags: DIFlagPrototyped, isOptimized: true) !78 = !DISubroutineType(types: !79)@@ -1118,7 +1118,7 @@ !110 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !71, size: 64) !111 = !DIDerivedType(tag: DW_TAG_typedef, name: "type", scope: !113, file: !112, line: 1970, baseType: !101) !112 = !DIFile(filename: "/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/8.2.1/type_traits", directory: "/home/firefox/firefox/mozilla-unified/obj-opt-x86_64-pc-linux-gnu/widget")-!113 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "conditional<true, const std::pair<int, int> &, const std::__nonesuch_no_braces &>", scope: !13, file: !112, line: 1969, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !115, identifier: "_ZTSSt11conditionalILb1ERKSt4pairIiiERKSt20__nonesuch_no_bracesE")+!113 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "conditional<true, const std::pair<int, int> &, const std::__nonesuch_no_braces &>", scope: !13, file: !112, line: 1969, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !115, identifier: "_ZTSSt11conditionalILb1ERKSt4pairIiiERKSt20__nonesuch_no_bracesE") !114 = !{} !115 = !{!116, !118, !119} !116 = !DITemplateValueParameter(name: "_Cond", type: !117, value: i8 1)@@ -1132,7 +1132,7 @@ !124 = !DISubroutineType(types: !125) !125 = !{!110, !100, !126} !126 = !DIDerivedType(tag: DW_TAG_typedef, name: "type", scope: !127, file: !112, line: 1970, baseType: !106)-!127 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "conditional<true, std::pair<int, int> &&, std::__nonesuch_no_braces &&>", scope: !13, file: !112, line: 1969, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !128, identifier: "_ZTSSt11conditionalILb1EOSt4pairIiiEOSt20__nonesuch_no_bracesE")+!127 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "conditional<true, std::pair<int, int> &&, std::__nonesuch_no_braces &&>", scope: !13, file: !112, line: 1969, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !128, identifier: "_ZTSSt11conditionalILb1EOSt4pairIiiEOSt20__nonesuch_no_bracesE") !128 = !{!116, !129, !130} !129 = !DITemplateTypeParameter(name: "_Iftrue", type: !106) !130 = !DITemplateTypeParameter(name: "_Iffalse", type: !131)@@ -1305,7 +1305,7 @@ !297 = !DISubprogram(name: "_M_create_storage", linkageName: "_ZNSt12_Vector_baseISt4pairIiiESaIS1_EE17_M_create_storageEm", scope: !50, file: !49, line: 309, type: !275, isLocal: false, isDefinition: false, scopeLine: 309, flags: DIFlagPrivate | DIFlagPrototyped, isOptimized: true) !298 = !{!187, !216} !299 = !DIDerivedType(tag: DW_TAG_typedef, name: "other", scope: !300, file: !59, line: 117, baseType: !301)-!300 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "rebind<std::pair<int, int> >", scope: !60, file: !59, line: 116, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !186, identifier: "_ZTSN9__gnu_cxx14__alloc_traitsISaISt4pairIiiEES2_E6rebindIS2_EE")+!300 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "rebind<std::pair<int, int> >", scope: !60, file: !59, line: 116, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !186, identifier: "_ZTSN9__gnu_cxx14__alloc_traitsISaISt4pairIiiEES2_E6rebindIS2_EE") !301 = !DIDerivedType(tag: DW_TAG_typedef, name: "rebind_alloc<std::pair<int, int> >", scope: !63, file: !64, line: 422, baseType: !140) !302 = !DIDerivedType(tag: DW_TAG_typedef, name: "_Link_type", scope: !303, file: !12, line: 465, baseType: !550) !303 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > > >", scope: !13, file: !12, line: 444, size: 384, flags: DIFlagTypePassByReference, elements: !304, templateParams: !983, identifier: "_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE")@@ -1316,11 +1316,11 @@ !308 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !306, baseType: !309, extraData: i32 0) !309 = !DIDerivedType(tag: DW_TAG_typedef, name: "_Node_allocator", scope: !303, file: !12, line: 447, baseType: !310) !310 = !DIDerivedType(tag: DW_TAG_typedef, name: "other", scope: !311, file: !59, line: 117, baseType: !529)-!311 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "rebind<std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > > >", scope: !312, file: !59, line: 116, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !461, identifier: "_ZTSN9__gnu_cxx14__alloc_traitsISaISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EES9_E6rebindISt13_Rb_tree_nodeIS9_EEE")-!312 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__alloc_traits<std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >", scope: !5, file: !59, line: 50, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !313, templateParams: !459, identifier: "_ZTSN9__gnu_cxx14__alloc_traitsISaISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EES9_EE")+!311 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "rebind<std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > > >", scope: !312, file: !59, line: 116, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !461, identifier: "_ZTSN9__gnu_cxx14__alloc_traitsISaISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EES9_E6rebindISt13_Rb_tree_nodeIS9_EEE")+!312 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__alloc_traits<std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >", scope: !5, file: !59, line: 50, size: 8, flags: DIFlagTypePassByValue, elements: !313, templateParams: !459, identifier: "_ZTSN9__gnu_cxx14__alloc_traitsISaISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EES9_EE") !313 = !{!314, !447, !450, !454, !455, !456, !457, !458} !314 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !312, baseType: !315, extraData: i32 0)-!315 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "allocator_traits<std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > > >", scope: !13, file: !64, line: 384, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !316, templateParams: !445, identifier: "_ZTSSt16allocator_traitsISaISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEE")+!315 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "allocator_traits<std::allocator<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > > >", scope: !13, file: !64, line: 384, size: 8, flags: DIFlagTypePassByValue, elements: !316, templateParams: !445, identifier: "_ZTSSt16allocator_traitsISaISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEE") !316 = !{!317, !430, !433, !436, !442} !317 = !DISubprogram(name: "allocate", linkageName: "_ZNSt16allocator_traitsISaISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEE8allocateERS9_m", scope: !315, file: !64, line: 435, type: !318, isLocal: false, isDefinition: false, scopeLine: 435, flags: DIFlagPrototyped | DIFlagStaticMember, isOptimized: true) !318 = !DISubroutineType(types: !319)@@ -1330,7 +1330,7 @@ !322 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >", scope: !13, file: !72, line: 208, size: 512, flags: DIFlagTypePassByReference, elements: !323, templateParams: !376, identifier: "_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_E") !323 = !{!324, !345, !346, !347, !353, !357, !366, !373} !324 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !322, baseType: !325, flags: DIFlagPrivate, extraData: i32 0)-!325 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "__pair_base<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >", scope: !13, file: !72, line: 190, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !326, templateParams: !341, identifier: "_ZTSSt11__pair_baseIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_E")+!325 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "__pair_base<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >", scope: !13, file: !72, line: 190, size: 8, flags: DIFlagTypePassByValue, elements: !326, templateParams: !341, identifier: "_ZTSSt11__pair_baseIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_E") !326 = !{!327, !331, !332, !337} !327 = !DISubprogram(name: "__pair_base", scope: !325, file: !72, line: 194, type: !328, isLocal: false, isDefinition: false, scopeLine: 194, flags: DIFlagPrototyped, isOptimized: true) !328 = !DISubroutineType(types: !329)@@ -1367,7 +1367,7 @@ !359 = !{!360, !350, !361} !360 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !322, size: 64) !361 = !DIDerivedType(tag: DW_TAG_typedef, name: "type", scope: !362, file: !112, line: 1975, baseType: !120)-!362 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "conditional<false, const std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > &, const std::__nonesuch_no_braces &>", scope: !13, file: !112, line: 1974, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !363, identifier: "_ZTSSt11conditionalILb0ERKSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ERKSt20__nonesuch_no_bracesE")+!362 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "conditional<false, const std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > &, const std::__nonesuch_no_braces &>", scope: !13, file: !112, line: 1974, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !363, identifier: "_ZTSSt11conditionalILb0ERKSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ERKSt20__nonesuch_no_bracesE") !363 = !{!364, !365, !119} !364 = !DITemplateValueParameter(name: "_Cond", type: !117, value: i8 0) !365 = !DITemplateTypeParameter(name: "_Iftrue", type: !351)@@ -1375,7 +1375,7 @@ !367 = !DISubroutineType(types: !368) !368 = !{!360, !350, !369} !369 = !DIDerivedType(tag: DW_TAG_typedef, name: "type", scope: !370, file: !112, line: 1975, baseType: !131)-!370 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "conditional<false, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > &&, std::__nonesuch_no_braces &&>", scope: !13, file: !112, line: 1974, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !371, identifier: "_ZTSSt11conditionalILb0EOSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EOSt20__nonesuch_no_bracesE")+!370 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "conditional<false, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > &&, std::__nonesuch_no_braces &&>", scope: !13, file: !112, line: 1974, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !371, identifier: "_ZTSSt11conditionalILb0EOSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EOSt20__nonesuch_no_bracesE") !371 = !{!364, !372, !130} !372 = !DITemplateTypeParameter(name: "_Iftrue", type: !356) !373 = !DISubprogram(name: "swap", linkageName: "_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_E4swapERS7_", scope: !322, file: !72, line: 424, type: !374, isLocal: false, isDefinition: false, scopeLine: 424, flags: DIFlagPrototyped, isOptimized: true)@@ -1468,10 +1468,10 @@ !460 = !DITemplateTypeParameter(type: !322) !461 = !{!462} !462 = !DITemplateTypeParameter(name: "_Tp", type: !463)-!463 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >", scope: !13, file: !12, line: 216, size: 768, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !464, templateParams: !527, identifier: "_ZTSSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EE")+!463 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >", scope: !13, file: !12, line: 216, size: 768, flags: DIFlagTypePassByValue, elements: !464, templateParams: !527, identifier: "_ZTSSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EE") !464 = !{!465, !485, !518, !522} !465 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !463, baseType: !466, extraData: i32 0)-!466 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_Rb_tree_node_base", scope: !13, file: !12, line: 101, size: 256, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !467, identifier: "_ZTSSt18_Rb_tree_node_base")+!466 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_Rb_tree_node_base", scope: !13, file: !12, line: 101, size: 256, flags: DIFlagTypePassByValue, elements: !467, identifier: "_ZTSSt18_Rb_tree_node_base") !467 = !{!468, !469, !472, !473, !474, !477, !483, !484} !468 = !DIDerivedType(tag: DW_TAG_member, name: "_M_color", scope: !466, file: !12, line: 106, baseType: !11, size: 32) !469 = !DIDerivedType(tag: DW_TAG_member, name: "_M_parent", scope: !466, file: !12, line: 107, baseType: !470, size: 64, offset: 64)@@ -1491,7 +1491,7 @@ !483 = !DISubprogram(name: "_S_maximum", linkageName: "_ZNSt18_Rb_tree_node_base10_S_maximumEPS_", scope: !466, file: !12, line: 126, type: !475, isLocal: false, isDefinition: false, scopeLine: 126, flags: DIFlagPrototyped | DIFlagStaticMember, isOptimized: true) !484 = !DISubprogram(name: "_S_maximum", linkageName: "_ZNSt18_Rb_tree_node_base10_S_maximumEPKS_", scope: !466, file: !12, line: 133, type: !478, isLocal: false, isDefinition: false, scopeLine: 133, flags: DIFlagPrototyped | DIFlagStaticMember, isOptimized: true) !485 = !DIDerivedType(tag: DW_TAG_member, name: "_M_storage", scope: !463, file: !12, line: 231, baseType: !486, size: 512, offset: 256)-!486 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__aligned_membuf<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >", scope: !5, file: !487, line: 47, size: 512, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !488, templateParams: !418, identifier: "_ZTSN9__gnu_cxx16__aligned_membufISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEE")+!486 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__aligned_membuf<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >", scope: !5, file: !487, line: 47, size: 512, flags: DIFlagTypePassByValue, elements: !488, templateParams: !418, identifier: "_ZTSN9__gnu_cxx16__aligned_membufISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEE") !487 = !DIFile(filename: "/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/8.2.1/ext/aligned_buffer.h", directory: "/home/firefox/firefox/mozilla-unified/obj-opt-x86_64-pc-linux-gnu/widget") !488 = !{!489, !494, !498, !503, !507, !512, !515} !489 = !DIDerivedType(tag: DW_TAG_member, name: "_M_storage", scope: !486, file: !487, line: 54, baseType: !490, size: 512, align: 64)@@ -1591,11 +1591,11 @@ !583 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_Rb_tree_key_compare<std::less<std::__cxx11::basic_string<char> > >", scope: !13, file: !12, line: 142, size: 8, flags: DIFlagTypePassByReference, elements: !584, templateParams: !620, identifier: "_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE") !584 = !{!585, !603, !607, !611, !616} !585 = !DIDerivedType(tag: DW_TAG_member, name: "_M_key_compare", scope: !583, file: !12, line: 144, baseType: !586, size: 8)-!586 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "less<std::__cxx11::basic_string<char> >", scope: !13, file: !587, line: 381, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !588, templateParams: !601, identifier: "_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE")+!586 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "less<std::__cxx11::basic_string<char> >", scope: !13, file: !587, line: 381, size: 8, flags: DIFlagTypePassByValue, elements: !588, templateParams: !601, identifier: "_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE") !587 = !DIFile(filename: "/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/8.2.1/bits/stl_function.h", directory: "/home/firefox/firefox/mozilla-unified/obj-opt-x86_64-pc-linux-gnu/widget") !588 = !{!589, !595} !589 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !586, baseType: !590, extraData: i32 0)-!590 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "binary_function<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, bool>", scope: !13, file: !587, line: 118, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !591, identifier: "_ZTSSt15binary_functionINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_bE")+!590 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "binary_function<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, bool>", scope: !13, file: !587, line: 118, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !591, identifier: "_ZTSSt15binary_functionINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_bE") !591 = !{!592, !593, !594} !592 = !DITemplateTypeParameter(name: "_Arg1", type: !31) !593 = !DITemplateTypeParameter(name: "_Arg2", type: !31)@@ -1750,7 +1750,7 @@ !742 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "pair<std::_Rb_tree_node_base *, std::_Rb_tree_node_base *>", scope: !13, file: !72, line: 208, size: 128, flags: DIFlagTypePassByValue, elements: !743, templateParams: !794, identifier: "_ZTSSt4pairIPSt18_Rb_tree_node_baseS1_E") !743 = !{!744, !764, !765, !766, !772, !776, !784, !791} !744 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !742, baseType: !745, flags: DIFlagPrivate, extraData: i32 0)-!745 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "__pair_base<std::_Rb_tree_node_base *, std::_Rb_tree_node_base *>", scope: !13, file: !72, line: 190, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !746, templateParams: !761, identifier: "_ZTSSt11__pair_baseIPSt18_Rb_tree_node_baseS1_E")+!745 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "__pair_base<std::_Rb_tree_node_base *, std::_Rb_tree_node_base *>", scope: !13, file: !72, line: 190, size: 8, flags: DIFlagTypePassByValue, elements: !746, templateParams: !761, identifier: "_ZTSSt11__pair_baseIPSt18_Rb_tree_node_baseS1_E") !746 = !{!747, !751, !752, !757} !747 = !DISubprogram(name: "__pair_base", scope: !745, file: !72, line: 194, type: !748, isLocal: false, isDefinition: false, scopeLine: 194, flags: DIFlagPrototyped, isOptimized: true) !748 = !DISubroutineType(types: !749)@@ -1786,14 +1786,14 @@ !778 = !{!779, !769, !780} !779 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !742, size: 64) !780 = !DIDerivedType(tag: DW_TAG_typedef, name: "type", scope: !781, file: !112, line: 1970, baseType: !770)-!781 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "conditional<true, const std::pair<std::_Rb_tree_node_base *, std::_Rb_tree_node_base *> &, const std::__nonesuch_no_braces &>", scope: !13, file: !112, line: 1969, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !782, identifier: "_ZTSSt11conditionalILb1ERKSt4pairIPSt18_Rb_tree_node_baseS2_ERKSt20__nonesuch_no_bracesE")+!781 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "conditional<true, const std::pair<std::_Rb_tree_node_base *, std::_Rb_tree_node_base *> &, const std::__nonesuch_no_braces &>", scope: !13, file: !112, line: 1969, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !782, identifier: "_ZTSSt11conditionalILb1ERKSt4pairIPSt18_Rb_tree_node_baseS2_ERKSt20__nonesuch_no_bracesE") !782 = !{!116, !783, !119} !783 = !DITemplateTypeParameter(name: "_Iftrue", type: !770) !784 = !DISubprogram(name: "operator=", linkageName: "_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EaSEOS2_", scope: !742, file: !72, line: 389, type: !785, isLocal: false, isDefinition: false, scopeLine: 389, flags: DIFlagPrototyped, isOptimized: true) !785 = !DISubroutineType(types: !786) !786 = !{!779, !769, !787} !787 = !DIDerivedType(tag: DW_TAG_typedef, name: "type", scope: !788, file: !112, line: 1970, baseType: !775)-!788 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "conditional<true, std::pair<std::_Rb_tree_node_base *, std::_Rb_tree_node_base *> &&, std::__nonesuch_no_braces &&>", scope: !13, file: !112, line: 1969, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !789, identifier: "_ZTSSt11conditionalILb1EOSt4pairIPSt18_Rb_tree_node_baseS2_EOSt20__nonesuch_no_bracesE")+!788 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "conditional<true, std::pair<std::_Rb_tree_node_base *, std::_Rb_tree_node_base *> &&, std::__nonesuch_no_braces &&>", scope: !13, file: !112, line: 1969, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !789, identifier: "_ZTSSt11conditionalILb1EOSt4pairIPSt18_Rb_tree_node_baseS2_EOSt20__nonesuch_no_bracesE") !789 = !{!116, !790, !130} !790 = !DITemplateTypeParameter(name: "_Iftrue", type: !775) !791 = !DISubprogram(name: "swap", linkageName: "_ZNSt4pairIPSt18_Rb_tree_node_baseS1_E4swapERS2_", scope: !742, file: !72, line: 424, type: !792, isLocal: false, isDefinition: false, scopeLine: 424, flags: DIFlagPrototyped, isOptimized: true)@@ -1956,7 +1956,7 @@ !948 = !DISubroutineType(types: !949) !949 = !{null, !663, !862, !950} !950 = !DIDerivedType(tag: DW_TAG_typedef, name: "true_type", scope: !13, file: !112, line: 75, baseType: !951)-!951 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "integral_constant<bool, true>", scope: !13, file: !112, line: 57, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !952, templateParams: !962, identifier: "_ZTSSt17integral_constantIbLb1EE")+!951 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "integral_constant<bool, true>", scope: !13, file: !112, line: 57, size: 8, flags: DIFlagTypePassByValue, elements: !952, templateParams: !962, identifier: "_ZTSSt17integral_constantIbLb1EE") !952 = !{!953, !955, !961} !953 = !DIDerivedType(tag: DW_TAG_member, name: "value", scope: !951, file: !112, line: 59, baseType: !954, flags: DIFlagStaticMember, extraData: i1 true) !954 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !117)@@ -1974,7 +1974,7 @@ !966 = !DISubroutineType(types: !967) !967 = !{null, !663, !862, !968} !968 = !DIDerivedType(tag: DW_TAG_typedef, name: "false_type", scope: !13, file: !112, line: 78, baseType: !969)-!969 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "integral_constant<bool, false>", scope: !13, file: !112, line: 57, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !970, templateParams: !979, identifier: "_ZTSSt17integral_constantIbLb0EE")+!969 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "integral_constant<bool, false>", scope: !13, file: !112, line: 57, size: 8, flags: DIFlagTypePassByValue, elements: !970, templateParams: !979, identifier: "_ZTSSt17integral_constantIbLb0EE") !970 = !{!971, !972, !978} !971 = !DIDerivedType(tag: DW_TAG_member, name: "value", scope: !969, file: !112, line: 59, baseType: !954, flags: DIFlagStaticMember, extraData: i1 false) !972 = !DISubprogram(name: "operator bool", linkageName: "_ZNKSt17integral_constantIbLb0EEcvbEv", scope: !969, file: !112, line: 62, type: !973, isLocal: false, isDefinition: false, scopeLine: 62, flags: DIFlagPrototyped, isOptimized: true)@@ -2004,10 +2004,10 @@ !996 = !DIDerivedType(tag: DW_TAG_member, name: "_M_start", scope: !993, file: !49, line: 91, baseType: !997, size: 64) !997 = !DIDerivedType(tag: DW_TAG_typedef, name: "pointer", scope: !990, file: !49, line: 86, baseType: !998) !998 = !DIDerivedType(tag: DW_TAG_typedef, name: "pointer", scope: !999, file: !59, line: 59, baseType: !1007)-!999 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__alloc_traits<std::allocator<std::__cxx11::basic_string<char> >, std::__cxx11::basic_string<char> >", scope: !5, file: !59, line: 50, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !1000, templateParams: !1088, identifier: "_ZTSN9__gnu_cxx14__alloc_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEES6_EE")+!999 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__alloc_traits<std::allocator<std::__cxx11::basic_string<char> >, std::__cxx11::basic_string<char> >", scope: !5, file: !59, line: 50, size: 8, flags: DIFlagTypePassByValue, elements: !1000, templateParams: !1088, identifier: "_ZTSN9__gnu_cxx14__alloc_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEES6_EE") !1000 = !{!1001, !1076, !1079, !1083, !1084, !1085, !1086, !1087} !1001 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !999, baseType: !1002, extraData: i32 0)-!1002 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "allocator_traits<std::allocator<std::__cxx11::basic_string<char> > >", scope: !13, file: !64, line: 384, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !1003, templateParams: !1074, identifier: "_ZTSSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE")+!1002 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "allocator_traits<std::allocator<std::__cxx11::basic_string<char> > >", scope: !13, file: !64, line: 384, size: 8, flags: DIFlagTypePassByValue, elements: !1003, templateParams: !1074, identifier: "_ZTSSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE") !1003 = !{!1004, !1059, !1062, !1065, !1071} !1004 = !DISubprogram(name: "allocate", linkageName: "_ZNSt16allocator_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8allocateERS6_m", scope: !1002, file: !64, line: 435, type: !1005, isLocal: false, isDefinition: false, scopeLine: 435, flags: DIFlagPrototyped | DIFlagStaticMember, isOptimized: true) !1005 = !DISubroutineType(types: !1006)@@ -2162,14 +2162,14 @@ !1154 = !DISubprogram(name: "_M_create_storage", linkageName: "_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_create_storageEm", scope: !990, file: !49, line: 309, type: !1132, isLocal: false, isDefinition: false, scopeLine: 309, flags: DIFlagPrivate | DIFlagPrototyped, isOptimized: true) !1155 = !{!602, !1075} !1156 = !DIDerivedType(tag: DW_TAG_typedef, name: "other", scope: !1157, file: !59, line: 117, baseType: !1158)-!1157 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "rebind<std::__cxx11::basic_string<char> >", scope: !999, file: !59, line: 116, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !601, identifier: "_ZTSN9__gnu_cxx14__alloc_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEES6_E6rebindIS6_EE")+!1157 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "rebind<std::__cxx11::basic_string<char> >", scope: !999, file: !59, line: 116, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !601, identifier: "_ZTSN9__gnu_cxx14__alloc_traitsISaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEES6_E6rebindIS6_EE") !1158 = !DIDerivedType(tag: DW_TAG_typedef, name: "rebind_alloc<std::__cxx11::basic_string<char> >", scope: !1002, file: !64, line: 422, baseType: !1011) !1159 = !DIDerivedType(tag: DW_TAG_typedef, name: "size_type", scope: !31, file: !30, line: 88, baseType: !1160) !1160 = !DIDerivedType(tag: DW_TAG_typedef, name: "size_type", scope: !1161, file: !59, line: 61, baseType: !1184)-!1161 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__alloc_traits<std::allocator<char>, char>", scope: !5, file: !59, line: 50, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !1162, templateParams: !1206, identifier: "_ZTSN9__gnu_cxx14__alloc_traitsISaIcEcEE")+!1161 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__alloc_traits<std::allocator<char>, char>", scope: !5, file: !59, line: 50, size: 8, flags: DIFlagTypePassByValue, elements: !1162, templateParams: !1206, identifier: "_ZTSN9__gnu_cxx14__alloc_traitsISaIcEcEE") !1162 = !{!1163, !1192, !1197, !1201, !1202, !1203, !1204, !1205} !1163 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !1161, baseType: !1164, extraData: i32 0)-!1164 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "allocator_traits<std::allocator<char> >", scope: !13, file: !64, line: 384, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !1165, templateParams: !1190, identifier: "_ZTSSt16allocator_traitsISaIcEE")+!1164 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "allocator_traits<std::allocator<char> >", scope: !13, file: !64, line: 384, size: 8, flags: DIFlagTypePassByValue, elements: !1165, templateParams: !1190, identifier: "_ZTSSt16allocator_traitsISaIcEE") !1165 = !{!1166, !1175, !1178, !1181, !1187} !1166 = !DISubprogram(name: "allocate", linkageName: "_ZNSt16allocator_traitsISaIcEE8allocateERS0_m", scope: !1164, file: !64, line: 435, type: !1167, isLocal: false, isDefinition: false, scopeLine: 435, flags: DIFlagPrototyped | DIFlagStaticMember, isOptimized: true) !1167 = !DISubroutineType(types: !1168)@@ -2216,7 +2216,7 @@ !1208 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !1209, size: 64) !1209 = !DIDerivedType(tag: DW_TAG_typedef, name: "char_type", scope: !1211, file: !1210, line: 277, baseType: !1171) !1210 = !DIFile(filename: "/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/8.2.1/bits/char_traits.h", directory: "/home/firefox/firefox/mozilla-unified/obj-opt-x86_64-pc-linux-gnu/widget")-!1211 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "char_traits<char>", scope: !13, file: !1210, line: 275, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !1212, templateParams: !1258, identifier: "_ZTSSt11char_traitsIcE")+!1211 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "char_traits<char>", scope: !13, file: !1210, line: 275, size: 8, flags: DIFlagTypePassByValue, elements: !1212, templateParams: !1258, identifier: "_ZTSSt11char_traitsIcE") !1212 = !{!1213, !1219, !1222, !1223, !1227, !1230, !1233, !1236, !1237, !1240, !1246, !1249, !1252, !1255} !1213 = !DISubprogram(name: "assign", linkageName: "_ZNSt11char_traitsIcE6assignERcRKc", scope: !1211, file: !1210, line: 284, type: !1214, isLocal: false, isDefinition: false, scopeLine: 284, flags: DIFlagPrototyped | DIFlagStaticMember, isOptimized: true) !1214 = !DISubroutineType(types: !1215)@@ -2484,7 +2484,7 @@ !1476 = !DIDerivedType(tag: DW_TAG_typedef, name: "reference", scope: !1461, file: !879, line: 776, baseType: !1477) !1477 = !DIDerivedType(tag: DW_TAG_typedef, name: "reference", scope: !1479, file: !1478, line: 184, baseType: !110) !1478 = !DIFile(filename: "/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/8.2.1/bits/stl_iterator_base_types.h", directory: "/home/firefox/firefox/mozilla-unified/obj-opt-x86_64-pc-linux-gnu/widget")-!1479 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "iterator_traits<std::pair<int, int> *>", scope: !13, file: !1478, line: 178, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !1480, identifier: "_ZTSSt15iterator_traitsIPSt4pairIiiEE")+!1479 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "iterator_traits<std::pair<int, int> *>", scope: !13, file: !1478, line: 178, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !1480, identifier: "_ZTSSt15iterator_traitsIPSt4pairIiiEE") !1480 = !{!1481} !1481 = !DITemplateTypeParameter(name: "_Iterator", type: !70) !1482 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !1483, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)@@ -2544,7 +2544,7 @@ !1536 = !{!1537, !1532} !1537 = !DIDerivedType(tag: DW_TAG_typedef, name: "reference", scope: !1518, file: !879, line: 1026, baseType: !1538) !1538 = !DIDerivedType(tag: DW_TAG_typedef, name: "type", scope: !1539, file: !112, line: 1970, baseType: !106)-!1539 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "conditional<true, std::pair<int, int> &&, std::pair<int, int> &>", scope: !13, file: !112, line: 1969, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !1540, identifier: "_ZTSSt11conditionalILb1EOSt4pairIiiERS1_E")+!1539 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "conditional<true, std::pair<int, int> &&, std::pair<int, int> &>", scope: !13, file: !112, line: 1969, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !1540, identifier: "_ZTSSt11conditionalILb1EOSt4pairIiiERS1_E") !1540 = !{!116, !129, !1541} !1541 = !DITemplateTypeParameter(name: "_Iffalse", type: !110) !1542 = !DISubprogram(name: "operator->", linkageName: "_ZNKSt13move_iteratorIPSt4pairIiiEEptEv", scope: !1518, file: !879, line: 1050, type: !1543, isLocal: false, isDefinition: false, scopeLine: 1050, flags: DIFlagPublic | DIFlagPrototyped, isOptimized: true)@@ -2651,7 +2651,7 @@ !1643 = !DIFile(filename: "/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/8.2.1/cstdlib", directory: "/home/firefox/firefox/mozilla-unified/obj-opt-x86_64-pc-linux-gnu/widget") !1644 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !13, entity: !1645, file: !1643, line: 128) !1645 = !DIDerivedType(tag: DW_TAG_typedef, name: "ldiv_t", file: !1636, line: 70, baseType: !1646)-!1646 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !1636, line: 66, size: 128, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !1647, identifier: "_ZTS6ldiv_t")+!1646 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !1636, line: 66, size: 128, flags: DIFlagTypePassByValue, elements: !1647, identifier: "_ZTS6ldiv_t") !1647 = !{!1648, !1649} !1648 = !DIDerivedType(tag: DW_TAG_member, name: "quot", scope: !1646, file: !1636, line: 68, baseType: !1504, size: 64) !1649 = !DIDerivedType(tag: DW_TAG_member, name: "rem", scope: !1646, file: !1636, line: 69, baseType: !1504, size: 64, offset: 64)@@ -2786,7 +2786,7 @@ !1778 = !{!93, !1170, !1727} !1779 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !5, entity: !1780, file: !1643, line: 200) !1780 = !DIDerivedType(tag: DW_TAG_typedef, name: "lldiv_t", file: !1636, line: 80, baseType: !1781)-!1781 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !1636, line: 76, size: 128, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !1782, identifier: "_ZTS7lldiv_t")+!1781 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !1636, line: 76, size: 128, flags: DIFlagTypePassByValue, elements: !1782, identifier: "_ZTS7lldiv_t") !1782 = !{!1783, !1785} !1783 = !DIDerivedType(tag: DW_TAG_member, name: "quot", scope: !1781, file: !1636, line: 78, baseType: !1784, size: 64) !1784 = !DIBasicType(name: "long long int", size: 64, encoding: DW_ATE_signed)@@ -2960,11 +2960,11 @@ !1952 = !DIFile(filename: "/usr/include/bits/types/mbstate_t.h", directory: "/home/firefox/firefox/mozilla-unified/obj-opt-x86_64-pc-linux-gnu/widget") !1953 = !DIDerivedType(tag: DW_TAG_typedef, name: "__mbstate_t", file: !1954, line: 21, baseType: !1955) !1954 = !DIFile(filename: "/usr/include/bits/types/__mbstate_t.h", directory: "/home/firefox/firefox/mozilla-unified/obj-opt-x86_64-pc-linux-gnu/widget")-!1955 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !1954, line: 13, size: 64, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !1956, identifier: "_ZTS11__mbstate_t")+!1955 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !1954, line: 13, size: 64, flags: DIFlagTypePassByValue, elements: !1956, identifier: "_ZTS11__mbstate_t") !1956 = !{!1957, !1958} !1957 = !DIDerivedType(tag: DW_TAG_member, name: "__count", scope: !1955, file: !1954, line: 15, baseType: !93, size: 32) !1958 = !DIDerivedType(tag: DW_TAG_member, name: "__value", scope: !1955, file: !1954, line: 20, baseType: !1959, size: 32, offset: 32)-!1959 = distinct !DICompositeType(tag: DW_TAG_union_type, scope: !1955, file: !1954, line: 16, size: 32, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !1960, identifier: "_ZTSN11__mbstate_tUt_E")+!1959 = distinct !DICompositeType(tag: DW_TAG_union_type, scope: !1955, file: !1954, line: 16, size: 32, flags: DIFlagTypePassByValue, elements: !1960, identifier: "_ZTSN11__mbstate_tUt_E") !1960 = !{!1961, !1962} !1961 = !DIDerivedType(tag: DW_TAG_member, name: "__wch", scope: !1959, file: !1954, line: 18, baseType: !6, size: 32) !1962 = !DIDerivedType(tag: DW_TAG_member, name: "__wchb", scope: !1959, file: !1954, line: 19, baseType: !1963, size: 32)@@ -3064,7 +3064,7 @@ !2056 = !DISubroutineType(types: !2057) !2057 = !{!93, !1989, !1772, !2058} !2058 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !2059, size: 64)-!2059 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__va_list_tag", file: !1, size: 192, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !2060, identifier: "_ZTS13__va_list_tag")+!2059 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__va_list_tag", file: !1, size: 192, flags: DIFlagTypePassByValue, elements: !2060, identifier: "_ZTS13__va_list_tag") !2060 = !{!2061, !2062, !2063, !2064} !2061 = !DIDerivedType(tag: DW_TAG_member, name: "gp_offset", scope: !2059, file: !1, baseType: !6, size: 32) !2062 = !DIDerivedType(tag: DW_TAG_member, name: "fp_offset", scope: !2059, file: !1, baseType: !6, size: 32, offset: 32)@@ -3905,7 +3905,7 @@ !2897 = !DISubprogram(name: "truncl", scope: !2571, file: !2571, line: 302, type: !2640, isLocal: false, isDefinition: false, flags: DIFlagPrototyped, isOptimized: true) !2898 = !DIImportedEntity(tag: DW_TAG_imported_declaration, scope: !2899, entity: !2900, file: !2902, line: 178) !2899 = !DINamespace(name: "JS", scope: null)-!2900 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "Ok", scope: !20, file: !2901, line: 26, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, identifier: "_ZTSN7mozilla2OkE")+!2900 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "Ok", scope: !20, file: !2901, line: 26, size: 8, flags: DIFlagTypePassByValue, elements: !114, identifier: "_ZTSN7mozilla2OkE") !2901 = !DIFile(filename: "/home/firefox/firefox/mozilla-unified/obj-opt-x86_64-pc-linux-gnu/dist/include/mozilla/Result.h", directory: "/home/firefox/firefox/mozilla-unified/obj-opt-x86_64-pc-linux-gnu/widget") !2902 = !DIFile(filename: "/home/firefox/firefox/mozilla-unified/obj-opt-x86_64-pc-linux-gnu/dist/include/js/Result.h", directory: "/home/firefox/firefox/mozilla-unified/obj-opt-x86_64-pc-linux-gnu/widget") !2903 = !{i32 2, !"Dwarf Version", i32 4}@@ -4412,11 +4412,11 @@ !3404 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !3405, size: 64) !3405 = !DIDerivedType(tag: DW_TAG_typedef, name: "Pointer", scope: !3325, file: !3326, line: 193, baseType: !3406) !3406 = !DIDerivedType(tag: DW_TAG_typedef, name: "Type", scope: !3407, file: !3326, line: 57, baseType: !3410)-!3407 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "PointerType<base::LaunchOptions::ForkDelegate, mozilla::DefaultDelete<base::LaunchOptions::ForkDelegate> >", scope: !19, file: !3326, line: 55, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !3408, identifier: "_ZTSN7mozilla6detail11PointerTypeIN4base13LaunchOptions12ForkDelegateENS_13DefaultDeleteIS4_EEEE")+!3407 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "PointerType<base::LaunchOptions::ForkDelegate, mozilla::DefaultDelete<base::LaunchOptions::ForkDelegate> >", scope: !19, file: !3326, line: 55, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !3408, identifier: "_ZTSN7mozilla6detail11PointerTypeIN4base13LaunchOptions12ForkDelegateENS_13DefaultDeleteIS4_EEEE") !3408 = !{!3349, !3409} !3409 = !DITemplateTypeParameter(name: "D", type: !3335) !3410 = !DIDerivedType(tag: DW_TAG_typedef, name: "Type", scope: !3411, file: !3326, line: 51, baseType: !3346)-!3411 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "PointerTypeImpl<base::LaunchOptions::ForkDelegate, mozilla::DefaultDelete<base::LaunchOptions::ForkDelegate>, false>", scope: !19, file: !3326, line: 50, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !3412, identifier: "_ZTSN7mozilla6detail15PointerTypeImplIN4base13LaunchOptions12ForkDelegateENS_13DefaultDeleteIS4_EELb0EEE")+!3411 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "PointerTypeImpl<base::LaunchOptions::ForkDelegate, mozilla::DefaultDelete<base::LaunchOptions::ForkDelegate>, false>", scope: !19, file: !3326, line: 50, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !3412, identifier: "_ZTSN7mozilla6detail15PointerTypeImplIN4base13LaunchOptions12ForkDelegateENS_13DefaultDeleteIS4_EELb0EEE") !3412 = !{!3349, !3409, !3413} !3413 = !DITemplateValueParameter(type: !117, value: i8 0) !3414 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !3325, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)@@ -4447,7 +4447,7 @@ !3439 = !DISubroutineType(types: !3440) !3440 = !{null, !3414, !3405, !3441} !3441 = !DIDerivedType(tag: DW_TAG_typedef, name: "Type", scope: !3442, file: !25, line: 1232, baseType: !3370)-!3442 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "Conditional<false, mozilla::DefaultDelete<base::LaunchOptions::ForkDelegate>, const mozilla::DefaultDelete<base::LaunchOptions::ForkDelegate> &>", scope: !20, file: !25, line: 1231, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !3443, identifier: "_ZTSN7mozilla11ConditionalILb0ENS_13DefaultDeleteIN4base13LaunchOptions12ForkDelegateEEERKS5_EE")+!3442 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "Conditional<false, mozilla::DefaultDelete<base::LaunchOptions::ForkDelegate>, const mozilla::DefaultDelete<base::LaunchOptions::ForkDelegate> &>", scope: !20, file: !25, line: 1231, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !3443, identifier: "_ZTSN7mozilla11ConditionalILb0ENS_13DefaultDeleteIN4base13LaunchOptions12ForkDelegateEEERKS5_EE") !3443 = !{!3444, !3445, !3446} !3444 = !DITemplateValueParameter(name: "Condition", type: !117, value: i8 0) !3445 = !DITemplateTypeParameter(name: "A", type: !3335)@@ -4457,7 +4457,7 @@ !3449 = !{null, !3414, !3405, !3450} !3450 = !DIDerivedType(tag: DW_TAG_rvalue_reference_type, baseType: !3451, size: 64) !3451 = !DIDerivedType(tag: DW_TAG_typedef, name: "Type", scope: !3452, file: !25, line: 864, baseType: !3335)-!3452 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "RemoveReference<mozilla::DefaultDelete<base::LaunchOptions::ForkDelegate> >", scope: !20, file: !25, line: 863, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !3453, identifier: "_ZTSN7mozilla15RemoveReferenceINS_13DefaultDeleteIN4base13LaunchOptions12ForkDelegateEEEEE")+!3452 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "RemoveReference<mozilla::DefaultDelete<base::LaunchOptions::ForkDelegate> >", scope: !20, file: !25, line: 863, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !3453, identifier: "_ZTSN7mozilla15RemoveReferenceINS_13DefaultDeleteIN4base13LaunchOptions12ForkDelegateEEEEE") !3453 = !{!3454} !3454 = !DITemplateTypeParameter(name: "T", type: !3335) !3455 = !DISubprogram(name: "UniquePtr", scope: !3325, file: !3326, line: 253, type: !3456, isLocal: false, isDefinition: false, scopeLine: 253, flags: DIFlagPublic | DIFlagPrototyped, isOptimized: true)@@ -4479,7 +4479,7 @@ !3471 = !DISubroutineType(types: !3472) !3472 = !{!3473, !3420} !3473 = !DIDerivedType(tag: DW_TAG_typedef, name: "Type", scope: !3474, file: !25, line: 894, baseType: !3477)-!3474 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "AddLvalueReferenceHelper<base::LaunchOptions::ForkDelegate, mozilla::detail::TIsNotVoid>", scope: !19, file: !25, line: 893, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !3475, identifier: "_ZTSN7mozilla6detail24AddLvalueReferenceHelperIN4base13LaunchOptions12ForkDelegateELNS0_8VoidnessE1EEE")+!3474 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "AddLvalueReferenceHelper<base::LaunchOptions::ForkDelegate, mozilla::detail::TIsNotVoid>", scope: !19, file: !25, line: 893, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !3475, identifier: "_ZTSN7mozilla6detail24AddLvalueReferenceHelperIN4base13LaunchOptions12ForkDelegateELNS0_8VoidnessE1EEE") !3475 = !{!3349, !3476} !3476 = !DITemplateValueParameter(name: "V", type: !24, value: i32 1) !3477 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !3347, size: 64)@@ -4520,7 +4520,7 @@ !3512 = !DIDerivedType(tag: DW_TAG_member, name: "mValue", scope: !3509, file: !3510, line: 154, baseType: !3513, size: 64) !3513 = !DIDerivedType(tag: DW_TAG_typedef, name: "Resource", scope: !3509, file: !3510, line: 70, baseType: !3514) !3514 = !DIDerivedType(tag: DW_TAG_typedef, name: "type", scope: !3515, file: !3508, line: 72, baseType: !2354)-!3515 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "ScopedCloseFileTraits", scope: !20, file: !3508, line: 71, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !3516, identifier: "_ZTSN7mozilla21ScopedCloseFileTraitsE")+!3515 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "ScopedCloseFileTraits", scope: !20, file: !3508, line: 71, size: 8, flags: DIFlagTypePassByValue, elements: !3516, identifier: "_ZTSN7mozilla21ScopedCloseFileTraitsE") !3516 = !{!3517, !3520} !3517 = !DISubprogram(name: "empty", linkageName: "_ZN7mozilla21ScopedCloseFileTraits5emptyEv", scope: !3515, file: !3508, line: 73, type: !3518, isLocal: false, isDefinition: false, scopeLine: 73, flags: DIFlagPrototyped | DIFlagStaticMember, isOptimized: true) !3518 = !DISubroutineType(types: !3519)@@ -5041,7 +5041,7 @@ !4033 = !DILocation(line: 71, column: 16, scope: !4028, inlinedAt: !4032) !4034 = !DILocalVariable(name: "__a", arg: 1, scope: !4035, file: !64, line: 486, type: !4042) !4035 = distinct !DISubprogram(name: "destroy<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >", linkageName: "_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEEE7destroyIS9_EEvRSB_PT_", scope: !4036, file: !64, line: 486, type: !4061, isLocal: false, isDefinition: true, scopeLine: 487, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !4064, declaration: !4063, retainedNodes: !4066)-!4036 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > > > >", scope: !13, file: !64, line: 384, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !4037, templateParams: !4059, identifier: "_ZTSSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEEE")+!4036 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > > > >", scope: !13, file: !64, line: 384, size: 8, flags: DIFlagTypePassByValue, elements: !4037, templateParams: !4059, identifier: "_ZTSSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEEE") !4037 = !{!4038, !4044, !4047, !4050, !4056} !4038 = !DISubprogram(name: "allocate", linkageName: "_ZNSt16allocator_traitsISaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEEE8allocateERSB_m", scope: !4036, file: !64, line: 435, type: !4039, isLocal: false, isDefinition: false, scopeLine: 435, flags: DIFlagPrototyped | DIFlagStaticMember, isOptimized: true) !4039 = !DISubroutineType(types: !4040)@@ -5175,7 +5175,7 @@ !4167 = !DILocation(line: 304, column: 4, scope: !4144, inlinedAt: !4141) !4168 = !DILocation(line: 287, column: 7, scope: !4129) !4169 = distinct !DISubprogram(name: "__destroy<std::__cxx11::basic_string<char> *>", linkageName: "_ZNSt12_Destroy_auxILb0EE9__destroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvT_S9_", scope: !4170, file: !3851, line: 105, type: !3865, isLocal: false, isDefinition: true, scopeLine: 106, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !3869, declaration: !4172, retainedNodes: !4173)-!4170 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_Destroy_aux<false>", scope: !13, file: !3851, line: 101, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !4171, identifier: "_ZTSSt12_Destroy_auxILb0EE")+!4170 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_Destroy_aux<false>", scope: !13, file: !3851, line: 101, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !4171, identifier: "_ZTSSt12_Destroy_auxILb0EE") !4171 = !{!3413} !4172 = !DISubprogram(name: "__destroy<std::__cxx11::basic_string<char> *>", linkageName: "_ZNSt12_Destroy_auxILb0EE9__destroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvT_S9_", scope: !4170, file: !3851, line: 105, type: !3865, isLocal: false, isDefinition: false, scopeLine: 105, flags: DIFlagPrototyped | DIFlagStaticMember, isOptimized: true, templateParams: !3869) !4173 = !{!4174, !4175}@@ -5206,10 +5206,10 @@ !4198 = distinct !DISubprogram(name: "_M_range_initialize<const std::__cxx11::basic_string<char> *>", linkageName: "_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_range_initializeIPKS5_EEvT_SB_St20forward_iterator_tag", scope: !2924, file: !49, line: 1462, type: !4199, isLocal: false, isDefinition: true, scopeLine: 1464, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !4206, declaration: !4205, retainedNodes: !4208) !4199 = !DISubroutineType(types: !4200) !4200 = !{null, !2930, !1038, !1038, !4201}-!4201 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "forward_iterator_tag", scope: !13, file: !1478, line: 95, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !4202, identifier: "_ZTSSt20forward_iterator_tag")+!4201 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "forward_iterator_tag", scope: !13, file: !1478, line: 95, size: 8, flags: DIFlagTypePassByValue, elements: !4202, identifier: "_ZTSSt20forward_iterator_tag") !4202 = !{!4203} !4203 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !4201, baseType: !4204, extraData: i32 0)-!4204 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "input_iterator_tag", scope: !13, file: !1478, line: 89, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, identifier: "_ZTSSt18input_iterator_tag")+!4204 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "input_iterator_tag", scope: !13, file: !1478, line: 89, size: 8, flags: DIFlagTypePassByValue, elements: !114, identifier: "_ZTSSt18input_iterator_tag") !4205 = !DISubprogram(name: "_M_range_initialize<const std::__cxx11::basic_string<char> *>", linkageName: "_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_range_initializeIPKS5_EEvT_SB_St20forward_iterator_tag", scope: !2924, file: !49, line: 1462, type: !4199, isLocal: false, isDefinition: false, scopeLine: 1462, flags: DIFlagProtected | DIFlagPrototyped, isOptimized: true, templateParams: !4206) !4206 = !{!4207} !4207 = !DITemplateTypeParameter(name: "_ForwardIterator", type: !1038)@@ -5229,7 +5229,7 @@ !4221 = !DISubroutineType(types: !4222) !4222 = !{!4223, !1038, !1038} !4223 = !DIDerivedType(tag: DW_TAG_typedef, name: "difference_type", scope: !4224, file: !1478, line: 193, baseType: !1503)-!4224 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "iterator_traits<const std::__cxx11::basic_string<char> *>", scope: !13, file: !1478, line: 189, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !4225, identifier: "_ZTSSt15iterator_traitsIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE")+!4224 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "iterator_traits<const std::__cxx11::basic_string<char> *>", scope: !13, file: !1478, line: 189, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !4225, identifier: "_ZTSSt15iterator_traitsIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE") !4225 = !{!4226} !4226 = !DITemplateTypeParameter(name: "_Iterator", type: !1038) !4227 = !{!4218, !4228}@@ -5243,10 +5243,10 @@ !4235 = distinct !DISubprogram(name: "__distance<const std::__cxx11::basic_string<char> *>", linkageName: "_ZSt10__distanceIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEENSt15iterator_traitsIT_E15difference_typeES9_S9_St26random_access_iterator_tag", scope: !13, file: !4220, line: 98, type: !4236, isLocal: false, isDefinition: true, scopeLine: 100, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !4247, retainedNodes: !4244) !4236 = !DISubroutineType(types: !4237) !4237 = !{!4223, !1038, !1038, !4238}-!4238 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "random_access_iterator_tag", scope: !13, file: !1478, line: 103, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !4239, identifier: "_ZTSSt26random_access_iterator_tag")+!4238 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "random_access_iterator_tag", scope: !13, file: !1478, line: 103, size: 8, flags: DIFlagTypePassByValue, elements: !4239, identifier: "_ZTSSt26random_access_iterator_tag") !4239 = !{!4240} !4240 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !4238, baseType: !4241, extraData: i32 0)-!4241 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "bidirectional_iterator_tag", scope: !13, file: !1478, line: 99, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !4242, identifier: "_ZTSSt26bidirectional_iterator_tag")+!4241 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "bidirectional_iterator_tag", scope: !13, file: !1478, line: 99, size: 8, flags: DIFlagTypePassByValue, elements: !4242, identifier: "_ZTSSt26bidirectional_iterator_tag") !4242 = !{!4243} !4243 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !4241, baseType: !4201, extraData: i32 0) !4244 = !{!4234, !4245, !4246}@@ -5342,7 +5342,7 @@ !4334 = !DILocation(line: 111, column: 9, scope: !4312) !4335 = !DILocation(line: 111, column: 2, scope: !4312) !4336 = distinct !DISubprogram(name: "__uninit_copy<const std::__cxx11::basic_string<char> *, std::__cxx11::basic_string<char> *>", linkageName: "_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPS7_EET0_T_SC_SB_", scope: !4337, file: !4262, line: 76, type: !4276, isLocal: false, isDefinition: true, scopeLine: 78, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !4282, declaration: !4340, retainedNodes: !4341)-!4337 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__uninitialized_copy<false>", scope: !13, file: !4262, line: 72, size: 8, flags: DIFlagTypePassByValue | DIFlagTrivial, elements: !114, templateParams: !4338, identifier: "_ZTSSt20__uninitialized_copyILb0EE")+!4337 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__uninitialized_copy<false>", scope: !13, file: !4262, line: 72, size: 8, flags: DIFlagTypePassByValue, elements: !114, templateParams: !4338, identifier: "_ZTSSt20__uninitialized_copyILb0EE") !4338 = !{!4339} !4339 = !DITemplateValueParameter(name: "_TrivialValueTypes", type: !117, value: i8 0) !4340 = !DISubprogram(name: "__uninit_copy<const std::__cxx11::basic_string<char> *, std::__cxx11::basic_string<char> *>", linkageName: "_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPS7_EET0_T_SC_SB_", scope: !4337, file: !4262, line: 76, type: !4276, isLocal: false, isDefinition: false, scopeLine: 76, flags: DIFlagPrototyped | DIFlagStaticMember, isOptimized: true, templateParams: !4282)
test/debug_metadata_4.ll view

file too large to diff

test/debug_metadata_5.ll view

file too large to diff