[ELF] Fix compilation with GCC 5
authorMartin Storsjo <martin@martin.st>
Thu, 15 Nov 2018 08:20:18 +0000 (08:20 +0000)
committerMartin Storsjo <martin@martin.st>
Thu, 15 Nov 2018 08:20:18 +0000 (08:20 +0000)
Remove the default initializer for TrapInstr; all subclasses overwrite
the defaults in their constructors anyway.

This fixes compilation errors like these, with GCC 5.4 on Ubuntu 16.04,
present since SVN r346893:

 In file included from ../tools/lld/ELF/Arch/AArch64.cpp:12:0:
 ../tools/lld/ELF/Target.h:125:49: error: array must be initialized with a brace-enclosed initializer
    std::array<uint8_t, 4> TrapInstr = {0, 0, 0, 0};
                                                  ^
 ../tools/lld/ELF/Target.h:125:49: error: too many initializers for ‘std::array<unsigned char, 4ul>’

Differential Revision: https://reviews.llvm.org/D54569

llvm-svn: 346934

lld/ELF/Target.h

index 6f2b747..b975223 100644 (file)
@@ -122,7 +122,7 @@ public:
 
   // A 4-byte field corresponding to one or more trap instructions, used to pad
   // executable OutputSections.
-  std::array<uint8_t, 4> TrapInstr = {0, 0, 0, 0};
+  std::array<uint8_t, 4> TrapInstr;
 
   // If a target needs to rewrite calls to __morestack to instead call
   // __morestack_non_split when a split-stack enabled caller calls a