public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/61836] New: Incorrect template argument deduction/substitution failure?
@ 2014-07-17 20:15 ilja.j.honkonen at nasa dot gov
  0 siblings, 0 replies; only message in thread
From: ilja.j.honkonen at nasa dot gov @ 2014-07-17 20:15 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61836

            Bug ID: 61836
           Summary: Incorrect template argument deduction/substitution
                    failure?
           Product: gcc
           Version: 4.9.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ilja.j.honkonen at nasa dot gov

Created attachment 33137
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33137&action=edit
Preprocessed source

Trying to enable_if a particular implementation of a class member function
based on its template argument:

template<
    class Out_T
> typename std::enable_if<
    std::is_same<Out_T, bool>::value,
    Out_T
>::type get_parsed_value(...)

template<
    class Out_T
> typename std::enable_if<
    std::is_same<Out_T, double>::value,
    Out_T
>::type get_parsed_value(...)


including std::array and Eigen::Matrix:

template<class T> struct is_std_array_double : std::false_type {};
template<size_t N> struct is_std_array_double<
    std::array<double, N>
> : std::true_type {};


template<class T> struct is_eigen_vector_double : std::false_type {};
template<size_t N> struct is_eigen_vector_double<
    Eigen::Matrix<double, N, 1>
> : std::true_type {};


template<
    class Out_T
> typename std::enable_if<
    detail::is_std_array_double<Out_T>::value,
    Out_T
>::type get_parsed_value(...)

template<
    class Out_T
> typename std::enable_if<
    detail::is_eigen_vector_double<Out_T>::value,
    Out_T
>::type get_parsed_value(...)


fails because apparently is_eigen_vector_double returns false for
Eigen::Matrix<double, N, 1> even though it shouldn't. The same code compiles
with clangs 3.3-5.


Compile command:
/opt/local/gcc-4.9.1/bin/g++ -I source -std=c++11 -W -Wall -Wextra -pedantic
-O3  -I /opt/local/include/eigen3 -I /opt/local/include -L /opt/local/lib
-lboost_coroutine-mt -lboost_system-mt -lboost_random-mt
-lboost_program_options-mt -I /Users/iljah/include -L /Users/iljah/lib
-lmuparserx -I /Users/iljah/include
tests/program_options/variable_to_option.cpp -o
tests/program_options/variable_to_option.exe -Wno-unused-local-typedefs
-save-temps -v


Output:
Using built-in specs.
COLLECT_GCC=/opt/local/gcc-4.9.1/bin/g++
COLLECT_LTO_WRAPPER=/opt/local/gcc-4.9.1/libexec/gcc/x86_64-apple-darwin13.3.0/4.9.1/lto-wrapper
Target: x86_64-apple-darwin13.3.0
Configured with: ../gcc-4.9.1/configure --prefix=/opt/local/gcc-4.9.1
--enable-shared --enable-threads=posix --enable-__cxa_atexit --disable-multilib
--with-system-zlib --enable-languages=c,c++ --with-gmp=/opt/local
--with-mpfr=/opt/local --with-mpc=/opt/local --disable-bootstrap
Thread model: posix
gcc version 4.9.1 (GCC) 
COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.9.3' '-I' 'source' '-std=c++11'
'-Wall' '-Wextra' '-Wpedantic' '-O3' '-I' '/opt/local/include/eigen3' '-I'
'/opt/local/include' '-L/opt/local/lib' '-I' '/Users/iljah/include'
'-L/Users/iljah/lib' '-I' '/Users/iljah/include' '-o'
'tests/program_options/variable_to_option.exe' '-Wno-unused-local-typedefs'
'-save-temps' '-v' '-shared-libgcc' '-mtune=core2'
 /opt/local/gcc-4.9.1/libexec/gcc/x86_64-apple-darwin13.3.0/4.9.1/cc1plus -E
-quiet -v -I source -I /opt/local/include/eigen3 -I /opt/local/include -I
/Users/iljah/include -I /Users/iljah/include -D__DYNAMIC__
tests/program_options/variable_to_option.cpp -fPIC -mmacosx-version-min=10.9.3
-mtune=core2 -std=c++11 -Wall -Wextra -Wpedantic -Wno-unused-local-typedefs -O3
-fpch-preprocess -o variable_to_option.ii
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory
"/opt/local/gcc-4.9.1/lib/gcc/x86_64-apple-darwin13.3.0/4.9.1/../../../../x86_64-apple-darwin13.3.0/include"
ignoring duplicate directory "/Users/iljah/include"
#include "..." search starts here:
#include <...> search starts here:
 source
 /opt/local/include/eigen3
 /opt/local/include
 /Users/iljah/include

/opt/local/gcc-4.9.1/lib/gcc/x86_64-apple-darwin13.3.0/4.9.1/../../../../include/c++/4.9.1

/opt/local/gcc-4.9.1/lib/gcc/x86_64-apple-darwin13.3.0/4.9.1/../../../../include/c++/4.9.1/x86_64-apple-darwin13.3.0

/opt/local/gcc-4.9.1/lib/gcc/x86_64-apple-darwin13.3.0/4.9.1/../../../../include/c++/4.9.1/backward
 /opt/local/gcc-4.9.1/lib/gcc/x86_64-apple-darwin13.3.0/4.9.1/include
 /opt/local/gcc-4.9.1/include
 /opt/local/gcc-4.9.1/lib/gcc/x86_64-apple-darwin13.3.0/4.9.1/include-fixed
 /usr/include
 /System/Library/Frameworks
 /Library/Frameworks
End of search list.
COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.9.3' '-I' 'source' '-std=c++11'
'-Wall' '-Wextra' '-Wpedantic' '-O3' '-I' '/opt/local/include/eigen3' '-I'
'/opt/local/include' '-L/opt/local/lib' '-I' '/Users/iljah/include'
'-L/Users/iljah/lib' '-I' '/Users/iljah/include' '-o'
'tests/program_options/variable_to_option.exe' '-Wno-unused-local-typedefs'
'-save-temps' '-v' '-shared-libgcc' '-mtune=core2'
 /opt/local/gcc-4.9.1/libexec/gcc/x86_64-apple-darwin13.3.0/4.9.1/cc1plus
-fpreprocessed variable_to_option.ii -fPIC -quiet -dumpbase
variable_to_option.cpp -mmacosx-version-min=10.9.3 -mtune=core2 -auxbase
variable_to_option -O3 -Wall -Wextra -Wpedantic -Wno-unused-local-typedefs
-std=c++11 -version -o variable_to_option.s
GNU C++ (GCC) version 4.9.1 (x86_64-apple-darwin13.3.0)
    compiled by GNU C version 4.8.2, GMP version 6.0.0, MPFR version 3.1.1-p2,
MPC version 1.0.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C++ (GCC) version 4.9.1 (x86_64-apple-darwin13.3.0)
    compiled by GNU C version 4.8.2, GMP version 6.0.0, MPFR version 3.1.1-p2,
MPC version 1.0.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: bd2008a6eb882424f30fe6b02f71d084
In file included from tests/program_options/variable_to_option.cpp:41:0:
source/boundaries/variable_to_option.hpp: In instantiation of ‘typename
Last_Variable::data_type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_data(const
Last_Variable&, const std::array<double, 3ul>&) [with Last_Variable =
Momentum_Density; typename Last_Variable::data_type = Eigen::Matrix<double, 3,
1>]’:
tests/program_options/variable_to_option.cpp:135:57:   required from here
source/boundaries/variable_to_option.hpp:366:13: error: no matching function
for call to
‘pamhd::boundaries::Variable_To_Option<Momentum_Density>::get_parsed_value(const
std::array<double, 3ul>&)’
   >(position);
             ^
source/boundaries/variable_to_option.hpp:366:13: note: candidates are:
source/boundaries/variable_to_option.hpp:408:10: note: template<class Out_T>
typename std::enable_if<std::is_same<Out_T, bool>::value, Out_T>::type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_parsed_value(const
std::array<double, 3ul>&) [with Out_T = Out_T; Last_Variable =
Momentum_Density]
  >::type get_parsed_value(const std::array<double, 3>& position)
          ^
source/boundaries/variable_to_option.hpp:408:10: note:   template argument
deduction/substitution failed:
source/boundaries/variable_to_option.hpp: In substitution of ‘template<class
Out_T> typename std::enable_if<std::is_same<Out_T, bool>::value, Out_T>::type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_parsed_value(const
std::array<double, 3ul>&) [with Out_T = Eigen::Matrix<double, 3, 1>]’:
source/boundaries/variable_to_option.hpp:366:13:   required from ‘typename
Last_Variable::data_type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_data(const
Last_Variable&, const std::array<double, 3ul>&) [with Last_Variable =
Momentum_Density; typename Last_Variable::data_type = Eigen::Matrix<double, 3,
1>]’
tests/program_options/variable_to_option.cpp:135:57:   required from here
source/boundaries/variable_to_option.hpp:408:10: error: no type named ‘type’ in
‘struct std::enable_if<false, Eigen::Matrix<double, 3, 1> >’
source/boundaries/variable_to_option.hpp: In instantiation of ‘typename
Last_Variable::data_type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_data(const
Last_Variable&, const std::array<double, 3ul>&) [with Last_Variable =
Momentum_Density; typename Last_Variable::data_type = Eigen::Matrix<double, 3,
1>]’:
tests/program_options/variable_to_option.cpp:135:57:   required from here
source/boundaries/variable_to_option.hpp:430:10: note: template<class Out_T>
typename std::enable_if<std::is_same<Out_T, int>::value, Out_T>::type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_parsed_value(const
std::array<double, 3ul>&) [with Out_T = Out_T; Last_Variable =
Momentum_Density]
  >::type get_parsed_value(const std::array<double, 3>& position)
          ^
source/boundaries/variable_to_option.hpp:430:10: note:   template argument
deduction/substitution failed:
source/boundaries/variable_to_option.hpp: In substitution of ‘template<class
Out_T> typename std::enable_if<std::is_same<Out_T, int>::value, Out_T>::type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_parsed_value(const
std::array<double, 3ul>&) [with Out_T = Eigen::Matrix<double, 3, 1>]’:
source/boundaries/variable_to_option.hpp:366:13:   required from ‘typename
Last_Variable::data_type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_data(const
Last_Variable&, const std::array<double, 3ul>&) [with Last_Variable =
Momentum_Density; typename Last_Variable::data_type = Eigen::Matrix<double, 3,
1>]’
tests/program_options/variable_to_option.cpp:135:57:   required from here
source/boundaries/variable_to_option.hpp:430:10: error: no type named ‘type’ in
‘struct std::enable_if<false, Eigen::Matrix<double, 3, 1> >’
source/boundaries/variable_to_option.hpp: In instantiation of ‘typename
Last_Variable::data_type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_data(const
Last_Variable&, const std::array<double, 3ul>&) [with Last_Variable =
Momentum_Density; typename Last_Variable::data_type = Eigen::Matrix<double, 3,
1>]’:
tests/program_options/variable_to_option.cpp:135:57:   required from here
source/boundaries/variable_to_option.hpp:452:10: note: template<class Out_T>
typename std::enable_if<std::is_same<Out_T, double>::value, Out_T>::type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_parsed_value(const
std::array<double, 3ul>&) [with Out_T = Out_T; Last_Variable =
Momentum_Density]
  >::type get_parsed_value(const std::array<double, 3>& position)
          ^
source/boundaries/variable_to_option.hpp:452:10: note:   template argument
deduction/substitution failed:
source/boundaries/variable_to_option.hpp: In substitution of ‘template<class
Out_T> typename std::enable_if<std::is_same<Out_T, double>::value, Out_T>::type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_parsed_value(const
std::array<double, 3ul>&) [with Out_T = Eigen::Matrix<double, 3, 1>]’:
source/boundaries/variable_to_option.hpp:366:13:   required from ‘typename
Last_Variable::data_type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_data(const
Last_Variable&, const std::array<double, 3ul>&) [with Last_Variable =
Momentum_Density; typename Last_Variable::data_type = Eigen::Matrix<double, 3,
1>]’
tests/program_options/variable_to_option.cpp:135:57:   required from here
source/boundaries/variable_to_option.hpp:452:10: error: no type named ‘type’ in
‘struct std::enable_if<false, Eigen::Matrix<double, 3, 1> >’
source/boundaries/variable_to_option.hpp: In instantiation of ‘typename
Last_Variable::data_type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_data(const
Last_Variable&, const std::array<double, 3ul>&) [with Last_Variable =
Momentum_Density; typename Last_Variable::data_type = Eigen::Matrix<double, 3,
1>]’:
tests/program_options/variable_to_option.cpp:135:57:   required from here
source/boundaries/variable_to_option.hpp:474:10: note: template<class Out_T>
typename
std::enable_if<pamhd::boundaries::detail::is_std_array_double<Out_T>::value,
Out_T>::type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_parsed_value(const
std::array<double, 3ul>&) [with Out_T = Out_T; Last_Variable =
Momentum_Density]
  >::type get_parsed_value(const std::array<double, 3>& position)
          ^
source/boundaries/variable_to_option.hpp:474:10: note:   template argument
deduction/substitution failed:
source/boundaries/variable_to_option.hpp: In substitution of ‘template<class
Out_T> typename
std::enable_if<pamhd::boundaries::detail::is_std_array_double<Out_T>::value,
Out_T>::type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_parsed_value(const
std::array<double, 3ul>&) [with Out_T = Eigen::Matrix<double, 3, 1>]’:
source/boundaries/variable_to_option.hpp:366:13:   required from ‘typename
Last_Variable::data_type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_data(const
Last_Variable&, const std::array<double, 3ul>&) [with Last_Variable =
Momentum_Density; typename Last_Variable::data_type = Eigen::Matrix<double, 3,
1>]’
tests/program_options/variable_to_option.cpp:135:57:   required from here
source/boundaries/variable_to_option.hpp:474:10: error: no type named ‘type’ in
‘struct std::enable_if<false, Eigen::Matrix<double, 3, 1> >’
source/boundaries/variable_to_option.hpp: In instantiation of ‘typename
Last_Variable::data_type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_data(const
Last_Variable&, const std::array<double, 3ul>&) [with Last_Variable =
Momentum_Density; typename Last_Variable::data_type = Eigen::Matrix<double, 3,
1>]’:
tests/program_options/variable_to_option.cpp:135:57:   required from here
source/boundaries/variable_to_option.hpp:529:10: note: template<class Out_T>
typename
std::enable_if<pamhd::boundaries::detail::is_eigen_vector_double<Out_T>::value,
Out_T>::type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_parsed_value(const
std::array<double, 3ul>&) [with Out_T = Out_T; Last_Variable =
Momentum_Density]
  >::type get_parsed_value(const std::array<double, 3>& position)
          ^
source/boundaries/variable_to_option.hpp:529:10: note:   template argument
deduction/substitution failed:
source/boundaries/variable_to_option.hpp: In substitution of ‘template<class
Out_T> typename
std::enable_if<pamhd::boundaries::detail::is_eigen_vector_double<Out_T>::value,
Out_T>::type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_parsed_value(const
std::array<double, 3ul>&) [with Out_T = Eigen::Matrix<double, 3, 1>]’:
source/boundaries/variable_to_option.hpp:366:13:   required from ‘typename
Last_Variable::data_type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_data(const
Last_Variable&, const std::array<double, 3ul>&) [with Last_Variable =
Momentum_Density; typename Last_Variable::data_type = Eigen::Matrix<double, 3,
1>]’
tests/program_options/variable_to_option.cpp:135:57:   required from here
source/boundaries/variable_to_option.hpp:529:10: error: no type named ‘type’ in
‘struct std::enable_if<false, Eigen::Matrix<double, 3, 1> >’
source/boundaries/variable_to_option.hpp: In member function ‘typename
Last_Variable::data_type
pamhd::boundaries::Variable_To_Option<Last_Variable>::get_data(const
Last_Variable&, const std::array<double, 3ul>&) [with Last_Variable =
Momentum_Density; typename Last_Variable::data_type = Eigen::Matrix<double, 3,
1>]’:
source/boundaries/variable_to_option.hpp:367:2: warning: control reaches end of
non-void function [-Wreturn-type]
  }
  ^
>From gcc-bugs-return-456672-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jul 17 20:41:43 2014
Return-Path: <gcc-bugs-return-456672-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 20076 invoked by alias); 17 Jul 2014 20:41:42 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 19852 invoked by uid 48); 17 Jul 2014 20:41:33 -0000
From: "dominiq at lps dot ens.fr" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/61831] [4.9.1 regression] runtime error: pointer being freed was not allocated
Date: Thu, 17 Jul 2014 20:41:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: fortran
X-Bugzilla-Version: unknown
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: dominiq at lps dot ens.fr
X-Bugzilla-Status: NEW
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-61831-4-kVmNAE5NKU@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-61831-4@http.gcc.gnu.org/bugzilla/>
References: <bug-61831-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-07/txt/msg01263.txt.bz2
Content-length: 3543

https://gcc.gnu.org/bugzilla/show_bug.cgi?ida831

--- Comment #5 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
> Confirmed with 4.9.1 revision r212339. AFAICT revision r210749 is OK.
> I suspect r211405 for 4.10 and r212329 for 4.9. Can you revert r212329
> and see if the error disappear?

I am afraid that I am the culprit, i.e., r212329: I get the error with r209838
+ the patch in r212329. However the failures are not exactly the same:
with 4.9.1 revision r212339, it is

| Creating decay process library for particle W+
| Process library 'default_lib_dp24': initialized
| decay_p24_1: W+ => dbar u
| Process library 'default_lib_dp24': recorded process 'decay_p24_1'
| decay_p24_2: ?O => sbar c
| Process library 'default_lib_dp24': recorded process 'decay_p24_2'
| decay_p24_3:  => e+ nue
whizard(32872,0x7fff7738d310) malloc: *** error for object 0x7f805874ea60:
pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug

while with r209838 + patch, it is

| Creating decay process library for particle W+
| Process library 'default_lib_dp24': initialized
| decay_p24_1: W+ => dbar u
| Process library 'default_lib_dp24': recorded process 'decay_p24_1'
| decay_p24_2:  => sbar c
| Process library 'default_lib_dp24': recorded process 'decay_p24_2'
whizard(36947,0x7fff7738d310) malloc: *** error for object 0x7fb8c3755810:
pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug

For 4.9.0, I get

| Creating decay process library for particle W+
| Process library 'default_lib_dp24': initialized
| decay_p24_1: W+ => dbar u
| Process library 'default_lib_dp24': recorded process 'decay_p24_1'
| decay_p24_2: W+ => sbar c
| Process library 'default_lib_dp24': recorded process 'decay_p24_2'
| decay_p24_3: W+ => e+ nue
| Process library 'default_lib_dp24': recorded process 'decay_p24_3'
| decay_p24_4: W+ => mu+ numu
| Process library 'default_lib_dp24': recorded process 'decay_p24_4'
| decay_p24_5: W+ => tau+ nutau
| Process library 'default_lib_dp24': recorded process 'decay_p24_5'
| Integrate: current process library needs compilation
| Process library 'default_lib_dp24': compiling ...
| Process library 'default_lib_dp24': writing makefile
| Process library 'default_lib_dp24': writing driver
| Process library 'default_lib_dp24': creating source code
rm -f decay_p24_1_i1.f90
rm -f opr_decay_p24_1_i1.mod
rm -f decay_p24_1_i1.lo
rm -f decay_p24_2_i1.f90
rm -f opr_decay_p24_2_i1.mod
rm -f decay_p24_2_i1.lo
rm -f decay_p24_3_i1.f90
rm -f opr_decay_p24_3_i1.mod
rm -f decay_p24_3_i1.lo
rm -f decay_p24_4_i1.f90
rm -f opr_decay_p24_4_i1.mod
rm -f decay_p24_4_i1.lo
rm -f decay_p24_5_i1.f90
rm -f opr_decay_p24_5_i1.mod
rm -f decay_p24_5_i1.lo
/usr/local/bin/omega_SM.opt -o decay_p24_1_i1.f90 -target:whizard
-target:parameter_module parameters_SM -target:module opr_decay_p24_1_i1
-target:md5sum 'B42EAF21C73773800B93C9AE1495DD00' -fusion:progress -decay 'W+
-> dbar u'
make: /usr/local/bin/omega_SM.opt: Command not found
make: *** [decay_p24_1_i1.f90] Error 127
| command: make source -j1 -f default_lib_dp24.makefile
| Return code = 512
******************************************************************************
******************************************************************************
*** FATAL ERROR: System command returned with nonzero status code
******************************************************************************
******************************************************************************
WHIZARD run aborted.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-07-17 20:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-17 20:15 [Bug c++/61836] New: Incorrect template argument deduction/substitution failure? ilja.j.honkonen at nasa dot gov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).