diff --git a/compiler/cpp/src/main.cc b/compiler/cpp/src/main.cc
index 4d00306..ed38b07 100644
--- a/compiler/cpp/src/main.cc
+++ b/compiler/cpp/src/main.cc
@@ -433,9 +433,13 @@
 
 /**
  * Dumps docstrings to stdout
- * Only works for typedefs
+ * Only works for typedefs and whole program
  */
 void dump_docstrings(t_program* program) {
+  string progdoc = g_program->get_doc();
+  if (!progdoc.empty()) {
+    printf("Whole program doc:\n%s\n", progdoc.c_str());
+  }
   const vector<t_typedef*>& typedefs = program->get_typedefs();
   vector<t_typedef*>::const_iterator t_iter;
   for (t_iter = typedefs.begin(); t_iter != typedefs.end(); ++t_iter) {
diff --git a/compiler/cpp/src/parse/t_doc.h b/compiler/cpp/src/parse/t_doc.h
index 9e3795a..bfa66ef 100644
--- a/compiler/cpp/src/parse/t_doc.h
+++ b/compiler/cpp/src/parse/t_doc.h
@@ -15,6 +15,8 @@
 class t_doc {
 
  public:
+  t_doc() : has_doc_(false) {}
+
   void set_doc(const std::string& doc) {
     doc_ = doc;
     has_doc_ = true;
diff --git a/compiler/cpp/src/parse/t_program.h b/compiler/cpp/src/parse/t_program.h
index 8b4f59c..f54ed71 100644
--- a/compiler/cpp/src/parse/t_program.h
+++ b/compiler/cpp/src/parse/t_program.h
@@ -14,6 +14,7 @@
 // For program_name()
 #include "main.h"
 
+#include "t_doc.h"
 #include "t_scope.h"
 #include "t_base_type.h"
 #include "t_typedef.h"
@@ -41,7 +42,7 @@
  *
  * @author Mark Slee <mcslee@facebook.com>
  */
-class t_program {
+class t_program : public t_doc {
  public:
   t_program(std::string path, std::string name) :
     path_(path),
diff --git a/compiler/cpp/src/thrifty.yy b/compiler/cpp/src/thrifty.yy
index 68384be..1ad0c35 100644
--- a/compiler/cpp/src/thrifty.yy
+++ b/compiler/cpp/src/thrifty.yy
@@ -186,9 +186,12 @@
  */
 
 Program:
-  HeaderList DefinitionList
+  DocTextOptional HeaderList DefinitionList
     {
       pdebug("Program -> Headers DefinitionList");
+      if ($1 != NULL) {
+        g_program->set_doc($1);
+      }
     }
 
 HeaderList:
diff --git a/test/DocTest.thrift b/test/DocTest.thrift
index c06bd21..361bdde 100755
--- a/test/DocTest.thrift
+++ b/test/DocTest.thrift
@@ -1,3 +1,9 @@
+/**
+ * Program doctext.
+ *
+ * Seriously, this is the documentation for this whole program.
+ */
+
 java_package thrift.test
 cpp_namespace thrift.test
 
@@ -67,6 +73,10 @@
   2: Xtruct struct_thing
 }
  
+/* C1 */
+/** Doc */
+/* C2 */
+/* C3 */
 struct EmptyStruct {}
 
 struct OneField {
@@ -211,3 +221,11 @@
  * }
  */
 typedef i32 BigDog
+
+/**
+*
+*
+*/
+typedef i32 TotallyDegenerate
+
+/* THE END */
