Automatic date update in version.in
[platform/upstream/binutils.git] / gold / archive.h
index e428315..e031559 100644 (file)
@@ -1,6 +1,6 @@
 // archive.h -- archive support for gold      -*- C++ -*-
 
-// Copyright 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
+// Copyright (C) 2006-2014 Free Software Foundation, Inc.
 // Written by Ian Lance Taylor <iant@google.com>.
 
 // This file is part of gold.
@@ -40,7 +40,7 @@ class Input_group;
 class Layout;
 class Symbol_table;
 class Object;
-class Read_symbols_data;
+struct Read_symbols_data;
 class Input_file_lib;
 class Incremental_archive_entry;
 
@@ -48,15 +48,17 @@ class Incremental_archive_entry;
 struct Archive_member
 {
   Archive_member()
-      : obj_(NULL), sd_(NULL)
+      : obj_(NULL), sd_(NULL), arg_serial_(0)
   { }
   Archive_member(Object* obj, Read_symbols_data* sd)
-      : obj_(obj), sd_(sd)
+      : obj_(obj), sd_(sd), arg_serial_(0)
   { }
   // The object file.
   Object* obj_;
   // The data to pass from read_symbols() to add_symbols().
   Read_symbols_data* sd_;
+  // The serial number of the file in the argument list.
+  unsigned int arg_serial_;
 };
 
 // This class serves as a base class for Archive and Lib_group objects.
@@ -403,6 +405,8 @@ class Archive : public Library_base
   unsigned int num_members_;
   // True if we exclude this library archive from automatic export.
   bool no_export_;
+  // True if this library has been included as a --whole-archive.
+  bool included_all_members_;
 };
 
 // This class is used to read an archive and pick out the desired
@@ -507,8 +511,6 @@ class Lib_group : public Library_base
   void
   do_for_all_unused_symbols(Symbol_visitor_base*) const;
 
-  // For reading the files.
-  const Input_file_lib* lib_;
   // Table of the objects in the group.
   std::vector<Archive_member> members_;
 };