GAS LISTING /tmp/ccIlNqbG.s 			page 1


   1              		.file	"constexpr.cpp"
   2              		.text
   3              	.Ltext0:
   5              	_Z41__static_initialization_and_destruction_0ii:
   6              	.LFB1401:
   7              		.file 1 "constexpr.cpp"
   1:constexpr.cpp **** #include <iostream>
   2:constexpr.cpp **** 
   3:constexpr.cpp **** constexpr int myexpr(int arg) {
   4:constexpr.cpp ****   return arg * 3;
   5:constexpr.cpp **** }
   6:constexpr.cpp **** 
   7:constexpr.cpp **** void dirtyArray(int *x) {
   8:constexpr.cpp ****   x[1] = 11;
   9:constexpr.cpp **** }
  10:constexpr.cpp **** 
  11:constexpr.cpp **** void constExpr() {
  12:constexpr.cpp ****   int x[myexpr(11)];
  13:constexpr.cpp ****   x[3] = 17;
  14:constexpr.cpp **** 
  15:constexpr.cpp ****   dirtyArray(x);
  16:constexpr.cpp **** 
  17:constexpr.cpp ****   std::cout << "constExpr " << x[3] << "size=" << sizeof(x) << std::endl;
  18:constexpr.cpp **** }
   8              		.loc 1 18 0
   9              		.cfi_startproc
  10              	.LVL0:
  11 0000 83FF01   		cmpl	$1, %edi
  12 0003 752E     		jne	.L5
  13              		.loc 1 18 0 discriminator 1
  14 0005 81FEFFFF 		cmpl	$65535, %esi
  14      0000
  15 000b 7526     		jne	.L5
  16              		.loc 1 18 0 is_stmt 0
  17 000d 4883EC08 		subq	$8, %rsp
  18              		.cfi_def_cfa_offset 16
  19              		.file 2 "/usr/include/c++/4.8/iostream"
   1:/usr/include/c++/4.8/iostream **** // Standard iostream objects -*- C++ -*-
   2:/usr/include/c++/4.8/iostream **** 
   3:/usr/include/c++/4.8/iostream **** // Copyright (C) 1997-2013 Free Software Foundation, Inc.
   4:/usr/include/c++/4.8/iostream **** //
   5:/usr/include/c++/4.8/iostream **** // This file is part of the GNU ISO C++ Library.  This library is free
   6:/usr/include/c++/4.8/iostream **** // software; you can redistribute it and/or modify it under the
   7:/usr/include/c++/4.8/iostream **** // terms of the GNU General Public License as published by the
   8:/usr/include/c++/4.8/iostream **** // Free Software Foundation; either version 3, or (at your option)
   9:/usr/include/c++/4.8/iostream **** // any later version.
  10:/usr/include/c++/4.8/iostream **** 
  11:/usr/include/c++/4.8/iostream **** // This library is distributed in the hope that it will be useful,
  12:/usr/include/c++/4.8/iostream **** // but WITHOUT ANY WARRANTY; without even the implied warranty of
  13:/usr/include/c++/4.8/iostream **** // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14:/usr/include/c++/4.8/iostream **** // GNU General Public License for more details.
  15:/usr/include/c++/4.8/iostream **** 
  16:/usr/include/c++/4.8/iostream **** // Under Section 7 of GPL version 3, you are granted additional
  17:/usr/include/c++/4.8/iostream **** // permissions described in the GCC Runtime Library Exception, version
  18:/usr/include/c++/4.8/iostream **** // 3.1, as published by the Free Software Foundation.
  19:/usr/include/c++/4.8/iostream **** 
  20:/usr/include/c++/4.8/iostream **** // You should have received a copy of the GNU General Public License and
GAS LISTING /tmp/ccIlNqbG.s 			page 2


  21:/usr/include/c++/4.8/iostream **** // a copy of the GCC Runtime Library Exception along with this program;
  22:/usr/include/c++/4.8/iostream **** // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  23:/usr/include/c++/4.8/iostream **** // <http://www.gnu.org/licenses/>.
  24:/usr/include/c++/4.8/iostream **** 
  25:/usr/include/c++/4.8/iostream **** /** @file include/iostream
  26:/usr/include/c++/4.8/iostream ****  *  This is a Standard C++ Library header.
  27:/usr/include/c++/4.8/iostream ****  */
  28:/usr/include/c++/4.8/iostream **** 
  29:/usr/include/c++/4.8/iostream **** //
  30:/usr/include/c++/4.8/iostream **** // ISO C++ 14882: 27.3  Standard iostream objects
  31:/usr/include/c++/4.8/iostream **** //
  32:/usr/include/c++/4.8/iostream **** 
  33:/usr/include/c++/4.8/iostream **** #ifndef _GLIBCXX_IOSTREAM
  34:/usr/include/c++/4.8/iostream **** #define _GLIBCXX_IOSTREAM 1
  35:/usr/include/c++/4.8/iostream **** 
  36:/usr/include/c++/4.8/iostream **** #pragma GCC system_header
  37:/usr/include/c++/4.8/iostream **** 
  38:/usr/include/c++/4.8/iostream **** #include <bits/c++config.h>
  39:/usr/include/c++/4.8/iostream **** #include <ostream>
  40:/usr/include/c++/4.8/iostream **** #include <istream>
  41:/usr/include/c++/4.8/iostream **** 
  42:/usr/include/c++/4.8/iostream **** namespace std _GLIBCXX_VISIBILITY(default)
  43:/usr/include/c++/4.8/iostream **** {
  44:/usr/include/c++/4.8/iostream **** _GLIBCXX_BEGIN_NAMESPACE_VERSION
  45:/usr/include/c++/4.8/iostream **** 
  46:/usr/include/c++/4.8/iostream ****   /**
  47:/usr/include/c++/4.8/iostream ****    *  @name Standard Stream Objects
  48:/usr/include/c++/4.8/iostream ****    *
  49:/usr/include/c++/4.8/iostream ****    *  The &lt;iostream&gt; header declares the eight <em>standard stream
  50:/usr/include/c++/4.8/iostream ****    *  objects</em>.  For other declarations, see
  51:/usr/include/c++/4.8/iostream ****    *  http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt11ch24.html
  52:/usr/include/c++/4.8/iostream ****    *  and the @link iosfwd I/O forward declarations @endlink
  53:/usr/include/c++/4.8/iostream ****    *
  54:/usr/include/c++/4.8/iostream ****    *  They are required by default to cooperate with the global C
  55:/usr/include/c++/4.8/iostream ****    *  library's @c FILE streams, and to be available during program
  56:/usr/include/c++/4.8/iostream ****    *  startup and termination. For more information, see the HOWTO
  57:/usr/include/c++/4.8/iostream ****    *  linked to above.
  58:/usr/include/c++/4.8/iostream ****   */
  59:/usr/include/c++/4.8/iostream ****   //@{
  60:/usr/include/c++/4.8/iostream ****   extern istream cin;		/// Linked to standard input
  61:/usr/include/c++/4.8/iostream ****   extern ostream cout;		/// Linked to standard output
  62:/usr/include/c++/4.8/iostream ****   extern ostream cerr;		/// Linked to standard error (unbuffered)
  63:/usr/include/c++/4.8/iostream ****   extern ostream clog;		/// Linked to standard error (buffered)
  64:/usr/include/c++/4.8/iostream **** 
  65:/usr/include/c++/4.8/iostream **** #ifdef _GLIBCXX_USE_WCHAR_T
  66:/usr/include/c++/4.8/iostream ****   extern wistream wcin;		/// Linked to standard input
  67:/usr/include/c++/4.8/iostream ****   extern wostream wcout;	/// Linked to standard output
  68:/usr/include/c++/4.8/iostream ****   extern wostream wcerr;	/// Linked to standard error (unbuffered)
  69:/usr/include/c++/4.8/iostream ****   extern wostream wclog;	/// Linked to standard error (buffered)
  70:/usr/include/c++/4.8/iostream **** #endif
  71:/usr/include/c++/4.8/iostream ****   //@}
  72:/usr/include/c++/4.8/iostream **** 
  73:/usr/include/c++/4.8/iostream ****   // For construction of filebuffers for cout, cin, cerr, clog et. al.
  74:/usr/include/c++/4.8/iostream ****   static ios_base::Init __ioinit;
  20              		.loc 2 74 0 is_stmt 1
  21 0011 BF000000 		movl	$_ZStL8__ioinit, %edi
  21      00
GAS LISTING /tmp/ccIlNqbG.s 			page 3


  22              	.LVL1:
  23 0016 E8000000 		call	_ZNSt8ios_base4InitC1Ev
  23      00
  24              	.LVL2:
  25 001b BA000000 		movl	$__dso_handle, %edx
  25      00
  26 0020 BE000000 		movl	$_ZStL8__ioinit, %esi
  26      00
  27 0025 BF000000 		movl	$_ZNSt8ios_base4InitD1Ev, %edi
  27      00
  28 002a E8000000 		call	__cxa_atexit
  28      00
  29              	.LVL3:
  30              		.loc 1 18 0
  31 002f 4883C408 		addq	$8, %rsp
  32              		.cfi_def_cfa_offset 8
  33              	.L5:
  34 0033 C3       		ret
  35              		.cfi_endproc
  36              	.LFE1401:
  38              		.globl	_Z10dirtyArrayPi
  40              	_Z10dirtyArrayPi:
  41              	.LFB1244:
   7:constexpr.cpp ****   x[1] = 11;
  42              		.loc 1 7 0
  43              		.cfi_startproc
  44              	.LVL4:
   8:constexpr.cpp **** }
  45              		.loc 1 8 0
  46 0034 C747040B 		movl	$11, 4(%rdi)
  46      000000
  47 003b C3       		ret
  48              		.cfi_endproc
  49              	.LFE1244:
  51              		.section	.rodata.str1.1,"aMS",@progbits,1
  52              	.LC0:
  53 0000 636F6E73 		.string	"constExpr "
  53      74457870 
  53      722000
  54              	.LC1:
  55 000b 73697A65 		.string	"size="
  55      3D00
  56              		.text
  57              		.globl	_Z9constExprv
  59              	_Z9constExprv:
  60              	.LFB1245:
  11:constexpr.cpp ****   int x[myexpr(11)];
  61              		.loc 1 11 0
  62              		.cfi_startproc
  63 003c 53       		pushq	%rbx
  64              		.cfi_def_cfa_offset 16
  65              		.cfi_offset 3, -16
  66 003d 4881EC90 		subq	$144, %rsp
  66      000000
  67              		.cfi_def_cfa_offset 160
  68              	.LBB2:
  13:constexpr.cpp **** 
GAS LISTING /tmp/ccIlNqbG.s 			page 4


  69              		.loc 1 13 0
  70 0044 C744240C 		movl	$17, 12(%rsp)
  70      11000000 
  15:constexpr.cpp **** 
  71              		.loc 1 15 0
  72 004c 4889E7   		movq	%rsp, %rdi
  73 004f E8000000 		call	_Z10dirtyArrayPi
  73      00
  74              	.LVL5:
  17:constexpr.cpp **** }
  75              		.loc 1 17 0
  76 0054 8B5C240C 		movl	12(%rsp), %ebx
  77 0058 BE000000 		movl	$.LC0, %esi
  77      00
  78 005d BF000000 		movl	$_ZSt4cout, %edi
  78      00
  79 0062 E8000000 		call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
  79      00
  80              	.LVL6:
  81 0067 89DE     		movl	%ebx, %esi
  82 0069 4889C7   		movq	%rax, %rdi
  83 006c E8000000 		call	_ZNSolsEi
  83      00
  84              	.LVL7:
  85 0071 BE000000 		movl	$.LC1, %esi
  85      00
  86 0076 4889C7   		movq	%rax, %rdi
  87 0079 E8000000 		call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
  87      00
  88              	.LVL8:
  89 007e BE840000 		movl	$132, %esi
  89      00
  90 0083 4889C7   		movq	%rax, %rdi
  91 0086 E8000000 		call	_ZNSolsEm
  91      00
  92              	.LVL9:
  93 008b BE000000 		movl	$_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, %esi
  93      00
  94 0090 4889C7   		movq	%rax, %rdi
  95 0093 E8000000 		call	_ZNSolsEPFRSoS_E
  95      00
  96              	.LVL10:
  97              	.LBE2:
  98              		.loc 1 18 0
  99 0098 4881C490 		addq	$144, %rsp
  99      000000
 100              		.cfi_def_cfa_offset 16
 101 009f 5B       		popq	%rbx
 102              		.cfi_def_cfa_offset 8
 103 00a0 C3       		ret
 104              		.cfi_endproc
 105              	.LFE1245:
 108              	_GLOBAL__sub_I__Z10dirtyArrayPi:
 109              	.LFB1402:
 110              		.loc 1 18 0
 111              		.cfi_startproc
 112 00a1 4883EC08 		subq	$8, %rsp
GAS LISTING /tmp/ccIlNqbG.s 			page 5


 113              		.cfi_def_cfa_offset 16
 114              		.loc 1 18 0
 115 00a5 BEFFFF00 		movl	$65535, %esi
 115      00
 116 00aa BF010000 		movl	$1, %edi
 116      00
 117 00af E84CFFFF 		call	_Z41__static_initialization_and_destruction_0ii
 117      FF
 118              	.LVL11:
 119 00b4 4883C408 		addq	$8, %rsp
 120              		.cfi_def_cfa_offset 8
 121 00b8 C3       		ret
 122              		.cfi_endproc
 123              	.LFE1402:
 125              		.section	.init_array,"aw"
 126              		.align 8
 127 0000 00000000 		.quad	_GLOBAL__sub_I__Z10dirtyArrayPi
 127      00000000 
 128              		.local	_ZStL8__ioinit
 129              		.comm	_ZStL8__ioinit,1,1
 130              		.text
 131              	.Letext0:
 132              		.file 3 "/usr/include/libio.h"
 133              		.file 4 "/usr/include/stdio.h"
 134              		.file 5 "<built-in>"
 135              		.file 6 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h"
 136              		.file 7 "/usr/include/wchar.h"
 137              		.file 8 "/usr/include/c++/4.8/cwchar"
 138              		.file 9 "/usr/include/c++/4.8/bits/exception_ptr.h"
 139              		.file 10 "/usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h"
 140              		.file 11 "/usr/include/c++/4.8/bits/char_traits.h"
 141              		.file 12 "/usr/include/c++/4.8/cstdint"
 142              		.file 13 "/usr/include/c++/4.8/clocale"
 143              		.file 14 "/usr/include/c++/4.8/cstdlib"
 144              		.file 15 "/usr/include/c++/4.8/cstdio"
 145              		.file 16 "/usr/include/c++/4.8/bits/ios_base.h"
 146              		.file 17 "/usr/include/c++/4.8/cwctype"
 147              		.file 18 "/usr/include/c++/4.8/bits/ostream.tcc"
 148              		.file 19 "/usr/include/c++/4.8/ostream"
 149              		.file 20 "/usr/include/c++/4.8/iosfwd"
 150              		.file 21 "/usr/include/x86_64-linux-gnu/bits/wchar2.h"
 151              		.file 22 "/usr/include/time.h"
 152              		.file 23 "/usr/include/c++/4.8/ext/new_allocator.h"
 153              		.file 24 "/usr/include/c++/4.8/ext/numeric_traits.h"
 154              		.file 25 "/usr/include/c++/4.8/debug/debug.h"
 155              		.file 26 "/usr/include/stdint.h"
 156              		.file 27 "/usr/include/locale.h"
 157              		.file 28 "/usr/include/x86_64-linux-gnu/bits/types.h"
 158              		.file 29 "/usr/include/x86_64-linux-gnu/c++/4.8/bits/atomic_word.h"
 159              		.file 30 "/usr/include/stdlib.h"
 160              		.file 31 "/usr/include/x86_64-linux-gnu/bits/stdlib.h"
 161              		.file 32 "/usr/include/_G_config.h"
 162              		.file 33 "/usr/include/x86_64-linux-gnu/bits/stdio2.h"
 163              		.file 34 "/usr/include/wctype.h"
 164              		.file 35 "/usr/include/c++/4.8/bits/stl_pair.h"
GAS LISTING /tmp/ccIlNqbG.s 			page 6


DEFINED SYMBOLS
                            *ABS*:0000000000000000 constexpr.cpp
     /tmp/ccIlNqbG.s:5      .text:0000000000000000 _Z41__static_initialization_and_destruction_0ii
                             .bss:0000000000000000 _ZStL8__ioinit
     /tmp/ccIlNqbG.s:40     .text:0000000000000034 _Z10dirtyArrayPi
     /tmp/ccIlNqbG.s:59     .text:000000000000003c _Z9constExprv
     /tmp/ccIlNqbG.s:108    .text:00000000000000a1 _GLOBAL__sub_I__Z10dirtyArrayPi

UNDEFINED SYMBOLS
_ZNSt8ios_base4InitC1Ev
__dso_handle
_ZNSt8ios_base4InitD1Ev
__cxa_atexit
_ZSt4cout
_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
_ZNSolsEi
_ZNSolsEm
_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_
_ZNSolsEPFRSoS_E