Bug#1056341: g++-12: rejects valid C++ with templates/auto

2023-11-21 Thread David Turner
Package: g++-12
Version: 12.2.0-14
Severity: normal
Tags: upstream
X-Debbugs-Cc: david.turner+...@raspberrypi.com

Dear Maintainer,

The attached C++ file fails to compile in GCC 12.2 using the command
`g++ --std=c++17 -c 1862683_reproducer.cpp`, but works correctly with 12.3 and
with clang (godbolt link: https://godbolt.org/z/q4dGbTcvb).

I came across this while building Firefox for Raspberry Pi OS using the Debian
packaging scripts - this bug prevents Firefox from being built on Debian stable
using GCC (the reproducer is simplified down from Firefox 119).

Given this works in 12.3 it's almost certainly known and fixed upstream, but
I'm not sure which upstream problem report would apply (possibly 106893 or
105623?).  Please could the fix for this be backported to stable?

Kind regards,
David

-- System Information:
Debian Release: 12.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-13-amd64 (SMP w/20 CPU threads; PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages g++-12 depends on:
ii  gcc-1212.2.0-14
ii  gcc-12-base   12.2.0-14
ii  libc6 2.36-9+deb12u3
ii  libgmp10  2:6.2.1+dfsg1-1.1
ii  libisl23  0.25-1
ii  libmpc3   1.3.1-1
ii  libmpfr6  4.2.0-1
ii  libstdc++-12-dev  12.2.0-14
ii  libzstd1  1.5.4+dfsg2-5
ii  zlib1g1:1.2.13.dfsg-1

g++-12 recommends no packages.

Versions of packages g++-12 suggests:
pn  g++-12-multilib  
ii  gcc-12-doc   12.2.0-1

-- no debconf information
#include  // std::forward
#include   // {,u}int8_t, {,u}int16_t, {,u}int32_t

enum Type {
Int8,
Uint8,
};

namespace JS {

template  struct ExternalTypeOf {};
template <> struct ExternalTypeOf { using Type = int8_t; };
template <> struct ExternalTypeOf { using Type = uint8_t; };

template 
using ExternalTypeOf_t = typename ExternalTypeOf::Type;

struct ArrayBuffer { using DataType = uint8_t; };
struct ArrayBufferView { using DataType = uint8_t; };

template 
struct TypedArray {
  using DataType = ExternalTypeOf_t;
};

using Int8Array = TypedArray;
using Uint8Array = TypedArray;

}  // namespace JS

template 
struct Span {
  element_type *mData;
  int mLength;

  Span(element_type *aData, int aLength) : mData(aData), mLength(aLength) {}
};

template 
struct TypedArray_base {
  using element_type = typename ArrayT::DataType;

 public:
  template  void ProcessData(
  Processor&& aProcessor) const {
aProcessor(GetCurrentData());
  }

 private:
  Span GetCurrentData() const {
element_type* mData = nullptr;
uint32_t mLength = 0;
return Span(mData, mLength);
  }
};

template 
struct TypedArray : public TypedArray_base {
  using Base = TypedArray_base;
  using element_type = typename Base::element_type;

  TypedArray() = default;
};

struct ArrayBufferView_base : public TypedArray_base {
 private:
  using Base = TypedArray_base;
};

using Int8Array = TypedArray;
using Uint8Array = TypedArray;
using ArrayBufferView = ArrayBufferView_base;
using ArrayBuffer = TypedArray;

template 
struct ApplyToTypedArray;

#define APPLY_IMPL(type)
\
  template  
\
  struct ApplyToTypedArray {  
\
/* Return type of calling the lambda with a TypedArray 'type'. */   
\
template
\
using FunReturnType = decltype(std::declval()(std::declval()));
\

\
template
\
using ApplyReturnType = 
\
std::conditional_t, FunReturnType>;   \

\
   public:  
\
template
\
static ApplyReturnType Apply(const Union& aUnion, F&& aFun) {
\
  if (!aUnion.Is##type()) { 
\
return ApplyReturnType(); /* false or Nothing() */   
\
  } 
\
  if constexpr (true) {\
std::forward(aFun)(aUnion.GetAs##type());
\
return;\
  } else {  
\
return Some(std::forward(aFun)(aUnion.GetAs##type()));   
\
  } 

Bug#1055750: Bug#1055228: plplot: FTBFS on armhf (test segfault)

2023-11-21 Thread Rafael Laboissière

Control: reassign -1 plplot
Control: forwarded 1055228 https://sourceforge.net/p/plplot/bugs/206/
Control: merge -1 1055228

* Emanuele Rocca  [2023-11-16 09:30]:

To be honest I think it's safe to close 1055750 (gfortran) and mark 
1055228 (plplot) as forwarded upstream though, I don't think we have 
any reasons to believe the compiler is at fault really.


Thanks for the suggestion, Emanuele.

I am hereby merging both bugs, which are now both assigned to plplot.

Best,

Rafael Laboissière



Processed (with 1 error): Re: Bug#1055750: Bug#1055228: plplot: FTBFS on armhf (test segfault)

2023-11-21 Thread Debian Bug Tracking System
Processing control commands:

> reassign -1 plplot
Bug #1055750 [gfortran] gfortran: [armhf] Yield SIGBUS when compiling with 
-fstack-clash-protection
Bug reassigned from package 'gfortran' to 'plplot'.
No longer marked as found in versions 13.2.0-1.
Ignoring request to alter fixed versions of bug #1055750 to the same values 
previously set
> forwarded 1055228 https://sourceforge.net/p/plplot/bugs/206/
Bug #1055228 [plplot] plplot: FTBFS on armhf (test segfault)
Ignoring request to change the forwarded-to-address of bug#1055228 to the same 
value
> merge -1 1055228
Bug #1055750 [plplot] gfortran: [armhf] Yield SIGBUS when compiling with 
-fstack-clash-protection
Unable to merge bugs because:
severity of #1055228 is 'serious' not 'normal'
Failed to merge 1055750: Did not alter merged bugs.


-- 
1055228: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1055228
1055750: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1055750
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#1056368: gcc-12: There is no man page fr gcc

2023-11-21 Thread Worik Stanton
Package: gcc-12
Version: 12.2.0-14
Severity: important
X-Debbugs-Cc: worik.stan...@tirotech.co.nz

Dear Maintainer,

*** Reporter, please consider answering these questions, where appropriate ***

   * What led up to the situation?

`man gcc`

   * What exactly did you do (or not do) that was effective (or
 ineffective)?

`man gcc`
   * What was the outcome of this action?
> ~$ man gcc
> No manual entry for gcc

   * What outcome did you expect instead?
A man page
*** End of the template - remove these template lines ***


-- System Information:
Debian Release: 12.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-13-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=en_NZ.UTF-8, LC_CTYPE=en_NZ.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_NZ:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages gcc-12 depends on:
ii  binutils   2.40-2
ii  cpp-12 12.2.0-14
ii  gcc-12-base12.2.0-14
ii  libc6  2.36-9+deb12u3
ii  libcc1-0   12.2.0-14
ii  libgcc-12-dev  12.2.0-14
ii  libgcc-s1  12.2.0-14
ii  libgmp10   2:6.2.1+dfsg1-1.1
ii  libisl23   0.25-1
ii  libmpc31.3.1-1
ii  libmpfr6   4.2.0-1
ii  libstdc++6 12.2.0-14
ii  libzstd1   1.5.4+dfsg2-5
ii  zlib1g 1:1.2.13.dfsg-1

Versions of packages gcc-12 recommends:
ii  libc6-dev  2.36-9+deb12u3

Versions of packages gcc-12 suggests:
pn  gcc-12-doc   
pn  gcc-12-locales   
pn  gcc-12-multilib  

-- no debconf information



Bug#1056368: gcc-12: There is no man page fr gcc

2023-11-21 Thread Worik Stanton
More information:

There is no `gcc-12-doc` package, that I can install




On Wed, 22 Nov 2023 at 10:15, Worik Stanton 
wrote:

> Package: gcc-12
> Version: 12.2.0-14
> Severity: important
> X-Debbugs-Cc: worik.stan...@tirotech.co.nz
>
> Dear Maintainer,
>
> *** Reporter, please consider answering these questions, where appropriate
> ***
>
>* What led up to the situation?
>
> `man gcc`
>
>* What exactly did you do (or not do) that was effective (or
>  ineffective)?
>
> `man gcc`
>* What was the outcome of this action?
> > ~$ man gcc
> > No manual entry for gcc
>
>* What outcome did you expect instead?
> A man page
> *** End of the template - remove these template lines ***
>
>
> -- System Information:
> Debian Release: 12.2
>   APT prefers stable-updates
>   APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500,
> 'stable')
> Architecture: amd64 (x86_64)
>
> Kernel: Linux 6.1.0-13-amd64 (SMP w/8 CPU threads; PREEMPT)
> Locale: LANG=en_NZ.UTF-8, LC_CTYPE=en_NZ.UTF-8 (charmap=UTF-8),
> LANGUAGE=en_NZ:en
> Shell: /bin/sh linked to /usr/bin/dash
> Init: systemd (via /run/systemd/system)
> LSM: AppArmor: enabled
>
> Versions of packages gcc-12 depends on:
> ii  binutils   2.40-2
> ii  cpp-12 12.2.0-14
> ii  gcc-12-base12.2.0-14
> ii  libc6  2.36-9+deb12u3
> ii  libcc1-0   12.2.0-14
> ii  libgcc-12-dev  12.2.0-14
> ii  libgcc-s1  12.2.0-14
> ii  libgmp10   2:6.2.1+dfsg1-1.1
> ii  libisl23   0.25-1
> ii  libmpc31.3.1-1
> ii  libmpfr6   4.2.0-1
> ii  libstdc++6 12.2.0-14
> ii  libzstd1   1.5.4+dfsg2-5
> ii  zlib1g 1:1.2.13.dfsg-1
>
> Versions of packages gcc-12 recommends:
> ii  libc6-dev  2.36-9+deb12u3
>
> Versions of packages gcc-12 suggests:
> pn  gcc-12-doc   
> pn  gcc-12-locales   
> pn  gcc-12-multilib  
>
> -- no debconf information
>