From 3172511b4be653cb4e0320697be5b02a534ae458 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Sch=C3=B6pflin?= Date: Thu, 16 Jun 2005 14:48:45 +0000 Subject: [PATCH] Changed the compilation mode from ansi to strict ansi. This fixes the problem with function template overload resolution but might introduce others where the compiler now is too strict. [SVN r29624] --- v1/tru64cxx65-tools.jam | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/v1/tru64cxx65-tools.jam b/v1/tru64cxx65-tools.jam index 5ddc27a67..8581c908e 100644 --- a/v1/tru64cxx65-tools.jam +++ b/v1/tru64cxx65-tools.jam @@ -9,11 +9,10 @@ # # Notes on this toolset: # -# - The default language mode "-std ansi" has been found to work better than -# "-std strict_ansi" so we keep to the default. -# -# - C++ standard iostreams are enabled with __USE_STD_IOSTREAM as the compiler -# defaults to the pre-standard iostreams in ansi language mode. +# - Because of very subtle issues with the default ansi mode, strict_ansi mode +# is used for compilation. One example of things that don't work correctly in +# the default ansi mode is overload resolution of function templates when +# mixed with non-template functions. # # - For template instantiation "-timplicit_local" is used. Previously, # "-tlocal" has been tried to avoid the need for a template repository @@ -133,7 +132,7 @@ rule C++-action # really can't ignore this one! actions tru64cxx65-C++-action { - cxx -c -timplicit_local -ptr "$(<[1]:D)/cxx_repository" -noimplicit_include -D__USE_STD_IOSTREAM -nousing_std -msg_display_number -msg_disable 186,450,1115 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -I"$(SYSHDRS)" -o "$(<)" "$(>)" + cxx -c -std strict_ansi -nopure_cname -noimplicit_include -timplicit_local -ptr "$(<[1]:D)/cxx_repository" -msg_display_number -msg_disable 186,450,1115 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -I"$(SYSHDRS)" -o "$(<)" "$(>)" } #### Archive ####